Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-06-13 11:59:45 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-06-13 11:59:45 +0400
commitfccdcc0c2c9416a283d35feb89fa689f9a32fcae (patch)
tree8157e7430be6d69c002aaee6ed65aff28360ed81 /plugins
parent83ee5a47ebf6227d7e0b898d506f230f07d9d815 (diff)
moved more logic from core to plugins
Diffstat (limited to 'plugins')
-rw-r--r--plugins/API/API.php30
-rw-r--r--plugins/Actions/Columns/EntryPageTitle.php4
-rw-r--r--plugins/Actions/Columns/EntryPageUrl.php4
-rw-r--r--plugins/Actions/Columns/ExitPageTitle.php18
-rw-r--r--plugins/Actions/Columns/ExitPageUrl.php4
-rw-r--r--plugins/Actions/Columns/VisitTotalActions.php94
-rw-r--r--plugins/Actions/Columns/VisitTotalSearches.php76
-rw-r--r--plugins/CoreHome/Columns/VisitFirstActionTime.php36
-rw-r--r--plugins/CoreHome/Columns/VisitLastActionTime.php53
-rw-r--r--plugins/CoreHome/Columns/VisitorDaysSinceFirst.php45
-rw-r--r--plugins/CoreHome/Columns/VisitorDaysSinceOrder.php41
-rw-r--r--plugins/CoreHome/Columns/VisitsCount.php45
-rw-r--r--plugins/CoreHome/Segment.php21
-rw-r--r--plugins/Events/Columns/TotalEvents.php44
-rw-r--r--plugins/UserSettings/Columns/Language.php18
-rw-r--r--plugins/UserSettings/Columns/Resolution.php20
-rw-r--r--plugins/VisitTime/Columns/Localtime.php14
-rw-r--r--plugins/VisitorInterest/Columns/Visitsbydayssincelastvisit.php19
18 files changed, 538 insertions, 48 deletions
diff --git a/plugins/API/API.php b/plugins/API/API.php
index 61818abf69..8af6471353 100644
--- a/plugins/API/API.php
+++ b/plugins/API/API.php
@@ -183,21 +183,6 @@ class API extends \Piwik\Plugin\API
$segments[] = array(
'type' => 'metric',
'category' => Piwik::translate('General_Visit'),
- 'name' => 'General_NbActions',
- 'segment' => 'actions',
- 'sqlSegment' => 'log_visit.visit_total_actions',
- );
- $segments[] = array(
- 'type' => 'metric',
- 'category' => Piwik::translate('General_Visit'),
- 'name' => 'General_NbSearches',
- 'segment' => 'searches',
- 'sqlSegment' => 'log_visit.visit_total_searches',
- 'acceptedValues' => 'To select all visits who used internal Site Search, use: &segment=searches>0',
- );
- $segments[] = array(
- 'type' => 'metric',
- 'category' => Piwik::translate('General_Visit'),
'name' => 'General_ColumnVisitDuration',
'segment' => 'visitDuration',
'sqlSegment' => 'log_visit.visit_total_time',
@@ -221,21 +206,6 @@ class API extends \Piwik\Plugin\API
'sqlSegment' => 'log_visit.visitor_days_since_last',
);
$segments[] = array(
- 'type' => 'metric',
- 'category' => Piwik::translate('General_Visit'),
- 'name' => 'General_DaysSinceFirstVisit',
- 'segment' => 'daysSinceFirstVisit',
- 'sqlSegment' => 'log_visit.visitor_days_since_first',
- );
- $segments[] = array(
- 'type' => 'metric',
- 'category' => Piwik::translate('General_Visit'),
- 'name' => 'General_NumberOfVisits',
- 'segment' => 'visitCount',
- 'sqlSegment' => 'log_visit.visitor_count_visits',
- );
-
- $segments[] = array(
'type' => 'dimension',
'category' => Piwik::translate('General_Visit'),
'name' => 'General_VisitConvertedGoal',
diff --git a/plugins/Actions/Columns/EntryPageTitle.php b/plugins/Actions/Columns/EntryPageTitle.php
index 5df614f9e1..5664ea7c21 100644
--- a/plugins/Actions/Columns/EntryPageTitle.php
+++ b/plugins/Actions/Columns/EntryPageTitle.php
@@ -29,9 +29,9 @@ class EntryPageTitle extends VisitDimension
/**
* @param Request $request
- * @param $visit
+ * @param array $visit
* @param Action|null $action
- * @return bool
+ * @return int
*/
public function onNewVisit(Request $request, $visit, $action)
{
diff --git a/plugins/Actions/Columns/EntryPageUrl.php b/plugins/Actions/Columns/EntryPageUrl.php
index b2b9ea0c5c..760f4b635a 100644
--- a/plugins/Actions/Columns/EntryPageUrl.php
+++ b/plugins/Actions/Columns/EntryPageUrl.php
@@ -29,9 +29,9 @@ class EntryPageUrl extends VisitDimension
/**
* @param Request $request
- * @param $visit
+ * @param array $visit
* @param Action|null $action
- * @return bool
+ * @return int
*/
public function onNewVisit(Request $request, $visit, $action)
{
diff --git a/plugins/Actions/Columns/ExitPageTitle.php b/plugins/Actions/Columns/ExitPageTitle.php
index ed2d7821dd..2f2054ac60 100644
--- a/plugins/Actions/Columns/ExitPageTitle.php
+++ b/plugins/Actions/Columns/ExitPageTitle.php
@@ -29,9 +29,9 @@ class ExitPageTitle extends VisitDimension
/**
* @param Request $request
- * @param $visit
+ * @param array $visit
* @param Action|null $action
- * @return bool
+ * @return int|bool
*/
public function onNewVisit(Request $request, $visit, $action)
{
@@ -44,19 +44,19 @@ class ExitPageTitle extends VisitDimension
return (int) $idActionName;
}
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int|bool
+ */
public function onExistingVisit(Request $request, $visit, $action)
{
if (empty($action)) {
return false;
}
- $id = $action->getIdActionNameForEntryAndExitIds();
-
- if (!empty($id)) {
- $id = (int) $id;
- }
-
- return $id;
+ return $action->getIdActionNameForEntryAndExitIds();
}
public function getName()
diff --git a/plugins/Actions/Columns/ExitPageUrl.php b/plugins/Actions/Columns/ExitPageUrl.php
index ad3c21ec42..82ad5c598a 100644
--- a/plugins/Actions/Columns/ExitPageUrl.php
+++ b/plugins/Actions/Columns/ExitPageUrl.php
@@ -29,9 +29,9 @@ class ExitPageUrl extends VisitDimension
/**
* @param Request $request
- * @param $visit
+ * @param array $visit
* @param Action|null $action
- * @return bool
+ * @return int|bool
*/
public function onNewVisit(Request $request, $visit, $action)
{
diff --git a/plugins/Actions/Columns/VisitTotalActions.php b/plugins/Actions/Columns/VisitTotalActions.php
new file mode 100644
index 0000000000..49177a3143
--- /dev/null
+++ b/plugins/Actions/Columns/VisitTotalActions.php
@@ -0,0 +1,94 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Actions\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Plugins\CoreHome\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+use Piwik\Tracker;
+
+class VisitTotalActions extends VisitDimension
+{
+ protected $fieldName = 'visit_total_actions';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
+
+ protected function init()
+ {
+ $segment = new Segment();
+ $segment->setType(Segment::TYPE_METRIC);
+ $segment->setSegment('actions');
+ $segment->setName('General_NbActions');
+ $this->addSegment($segment);
+ }
+
+ public function getName()
+ {
+ return '';
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ $actionType = false;
+ if ($action) {
+ $actionType = $action->getActionType();
+ }
+
+ $actions = array(
+ Action::TYPE_PAGE_URL,
+ Action::TYPE_DOWNLOAD,
+ Action::TYPE_OUTLINK,
+ Action::TYPE_SITE_SEARCH,
+ Action::TYPE_EVENT
+ );
+
+ // if visit starts with something else (e.g. ecommerce order), don't record as an action
+ if (in_array($actionType, $actions)) {
+ return 1;
+ }
+
+ return 0;
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onExistingVisit(Request $request, $visit, $action)
+ {
+ if (!$action) {
+ return false;
+ }
+
+ $increment = 'visit_total_actions + 1';
+
+ $idActionUrl = $action->getIdActionUrlForEntryAndExitIds();
+
+ if ($idActionUrl !== false) {
+ return $increment;
+ }
+
+ $actionType = $action->getActionType();
+
+ if (in_array($actionType, array(Action::TYPE_SITE_SEARCH, Action::TYPE_EVENT))) {
+ return $increment;
+ }
+
+ return false;
+ }
+
+} \ No newline at end of file
diff --git a/plugins/Actions/Columns/VisitTotalSearches.php b/plugins/Actions/Columns/VisitTotalSearches.php
new file mode 100644
index 0000000000..42a9ac8b14
--- /dev/null
+++ b/plugins/Actions/Columns/VisitTotalSearches.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\Actions\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Plugins\CoreHome\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+use Piwik\Tracker;
+
+class VisitTotalSearches extends VisitDimension
+{
+ protected $fieldName = 'visit_total_searches';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
+
+ protected function init()
+ {
+ $segment = new Segment();
+ $segment->setType(Segment::TYPE_METRIC);
+ $segment->setSegment('searches');
+ $segment->setName('General_NbSearches');
+ $segment->setAcceptValues('To select all visits who used internal Site Search, use: &segment=searches>0');
+ $this->addSegment($segment);
+ }
+
+ public function getName()
+ {
+ return '';
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ if ($this->isSiteSearchAction($action)) {
+ return 1;
+ }
+
+ return 0;
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onExistingVisit(Request $request, $visit, $action)
+ {
+ if ($this->isSiteSearchAction($action)) {
+ return 'visit_total_searches + 1';
+ }
+
+ return false;
+ }
+
+ /**
+ * @param Action|null $action
+ * @return bool
+ */
+ private function isSiteSearchAction($action)
+ {
+ return ($action && $action->getActionType() == Action::TYPE_SITE_SEARCH);
+ }
+
+} \ No newline at end of file
diff --git a/plugins/CoreHome/Columns/VisitFirstActionTime.php b/plugins/CoreHome/Columns/VisitFirstActionTime.php
new file mode 100644
index 0000000000..e0b7078fb8
--- /dev/null
+++ b/plugins/CoreHome/Columns/VisitFirstActionTime.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CoreHome\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+use Piwik\Tracker;
+
+class VisitFirstActionTime extends VisitDimension
+{
+ protected $fieldName = 'visit_first_action_time';
+ protected $fieldType = 'DATETIME NOT NULL';
+
+ public function getName()
+ {
+ return '';
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return Tracker::getDatetimeFromTimestamp($request->getCurrentTimestamp());
+ }
+} \ No newline at end of file
diff --git a/plugins/CoreHome/Columns/VisitLastActionTime.php b/plugins/CoreHome/Columns/VisitLastActionTime.php
new file mode 100644
index 0000000000..5c45cb31a5
--- /dev/null
+++ b/plugins/CoreHome/Columns/VisitLastActionTime.php
@@ -0,0 +1,53 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CoreHome\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+use Piwik\Tracker;
+
+class VisitLastActionTime extends VisitDimension
+{
+ protected $fieldName = 'visit_last_action_time';
+ // we do not install or define column definition here as we need to create this column when installing as there is
+ // an index on it. Currently we do not define the index here... although we could overwrite the install() method
+ // and add column 'visit_last_action_time' and add index. Problem is there is also an index
+ // INDEX(idsite, config_id, visit_last_action_time) and we maybe not be sure whether config_id already exists at
+ // installing point (in case config_id is installed via dimension as well we do not know which column will be added
+ // first).
+
+ public function getName()
+ {
+ return '';
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return Tracker::getDatetimeFromTimestamp($request->getCurrentTimestamp());
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onExistingVisit(Request $request, $visit, $action)
+ {
+ return $this->onNewVisit($request, $visit, $action);
+ }
+
+} \ No newline at end of file
diff --git a/plugins/CoreHome/Columns/VisitorDaysSinceFirst.php b/plugins/CoreHome/Columns/VisitorDaysSinceFirst.php
new file mode 100644
index 0000000000..c418e6e764
--- /dev/null
+++ b/plugins/CoreHome/Columns/VisitorDaysSinceFirst.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CoreHome\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Plugins\CoreHome\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+
+class VisitorDaysSinceFirst extends VisitDimension
+{
+ protected $fieldName = 'visitor_days_since_first';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
+
+ protected function init()
+ {
+ $segment = new Segment();
+ $segment->setType(Segment::TYPE_METRIC);
+ $segment->setSegment('daysSinceFirstVisit');
+ $segment->setName('General_DaysSinceFirstVisit');
+ $this->addSegment($segment);
+ }
+
+ public function getName()
+ {
+ return '';
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return $request->getDaysSinceFirstVisit();
+ }
+} \ No newline at end of file
diff --git a/plugins/CoreHome/Columns/VisitorDaysSinceOrder.php b/plugins/CoreHome/Columns/VisitorDaysSinceOrder.php
new file mode 100644
index 0000000000..5597a426f7
--- /dev/null
+++ b/plugins/CoreHome/Columns/VisitorDaysSinceOrder.php
@@ -0,0 +1,41 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CoreHome\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+
+class VisitorDaysSinceOrder extends VisitDimension
+{
+ protected $fieldName = 'visitor_days_since_order';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
+
+ public function getName()
+ {
+ return '';
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ $daysSinceLastOrder = $request->getDaysSinceLastOrder();
+
+ if ($daysSinceLastOrder === false) {
+ $daysSinceLastOrder = 0;
+ }
+
+ return $daysSinceLastOrder;
+ }
+} \ No newline at end of file
diff --git a/plugins/CoreHome/Columns/VisitsCount.php b/plugins/CoreHome/Columns/VisitsCount.php
new file mode 100644
index 0000000000..6b900eefef
--- /dev/null
+++ b/plugins/CoreHome/Columns/VisitsCount.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CoreHome\Columns;
+
+use Piwik\Plugin\VisitDimension;
+use Piwik\Plugins\CoreHome\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
+
+class VisitsCount extends VisitDimension
+{
+ protected $fieldName = 'visitor_count_visits';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
+
+ public function getName()
+ {
+ return '';
+ }
+
+ protected function init()
+ {
+ $segment = new Segment();
+ $segment->setType(Segment::TYPE_METRIC);
+ $segment->setSegment('visitCount');
+ $segment->setName('General_NumberOfVisits');
+ $this->addSegment($segment);
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return $request->getVisitCount();
+ }
+} \ No newline at end of file
diff --git a/plugins/CoreHome/Segment.php b/plugins/CoreHome/Segment.php
new file mode 100644
index 0000000000..7b6f2fbf57
--- /dev/null
+++ b/plugins/CoreHome/Segment.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Piwik - Open source web analytics
+ *
+ * @link http://piwik.org
+ * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
+ *
+ */
+namespace Piwik\Plugins\CoreHome;
+
+/**
+ * CoreHome segment base class
+ */
+class Segment extends \Piwik\Plugin\Segment
+{
+ protected function init()
+ {
+ $this->setCategory('General_Visit');
+ }
+}
+
diff --git a/plugins/Events/Columns/TotalEvents.php b/plugins/Events/Columns/TotalEvents.php
index 67ed9d7ae6..3d6ac9f33b 100644
--- a/plugins/Events/Columns/TotalEvents.php
+++ b/plugins/Events/Columns/TotalEvents.php
@@ -11,10 +11,13 @@ namespace Piwik\Plugins\Events\Columns;
use Piwik\Piwik;
use Piwik\Plugin\VisitDimension;
use Piwik\Plugin\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
class TotalEvents extends VisitDimension
-{
+{
protected $fieldName = 'visit_total_events';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
protected function init()
{
@@ -31,4 +34,43 @@ class TotalEvents extends VisitDimension
{
return Piwik::translate('Events_EventName');
}
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ if ($this->isEventAction($action)) {
+ return 1;
+ }
+
+ return 0;
+ }
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onExistingVisit(Request $request, $visit, $action)
+ {
+ if ($this->isEventAction($action)) {
+ return 'visit_total_events + 1';
+ }
+
+ return false;
+ }
+
+ /**
+ * @param Action|null $action
+ * @return bool
+ */
+ private function isEventAction($action)
+ {
+ return ($action && $action->getActionType() == Action::TYPE_EVENT);
+ }
} \ No newline at end of file
diff --git a/plugins/UserSettings/Columns/Language.php b/plugins/UserSettings/Columns/Language.php
index 120178ffb5..0345975639 100644
--- a/plugins/UserSettings/Columns/Language.php
+++ b/plugins/UserSettings/Columns/Language.php
@@ -10,11 +10,27 @@ namespace Piwik\Plugins\UserSettings\Columns;
use Piwik\Piwik;
use Piwik\Plugin\VisitDimension;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
class Language extends VisitDimension
-{
+{
+ protected $fieldName = 'location_browser_lang';
+ protected $fieldType = 'VARCHAR(20) NOT NULL';
+
public function getName()
{
return Piwik::translate('General_Language');
}
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return substr($request->getBrowserLanguage(), 0, 20);
+ }
} \ No newline at end of file
diff --git a/plugins/UserSettings/Columns/Resolution.php b/plugins/UserSettings/Columns/Resolution.php
index f9a5e1ee62..407daf7db4 100644
--- a/plugins/UserSettings/Columns/Resolution.php
+++ b/plugins/UserSettings/Columns/Resolution.php
@@ -11,10 +11,13 @@ namespace Piwik\Plugins\UserSettings\Columns;
use Piwik\Piwik;
use Piwik\Plugin\VisitDimension;
use Piwik\Plugins\UserSettings\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
class Resolution extends VisitDimension
{
protected $fieldName = 'config_resolution';
+ protected $fieldType = 'VARCHAR(9) NOT NULL';
protected function init()
{
@@ -25,6 +28,23 @@ class Resolution extends VisitDimension
$this->addSegment($segment);
}
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ $resolution = $request->getParam('res');
+
+ if (!empty($resolution)) {
+ return substr($resolution, 0, 9);
+ }
+
+ return $resolution;
+ }
+
public function getName()
{
return Piwik::translate('UserSettings_ColumnResolution');
diff --git a/plugins/VisitTime/Columns/Localtime.php b/plugins/VisitTime/Columns/Localtime.php
index f20dde3fed..6f0cc5f727 100644
--- a/plugins/VisitTime/Columns/Localtime.php
+++ b/plugins/VisitTime/Columns/Localtime.php
@@ -11,10 +11,13 @@ namespace Piwik\Plugins\VisitTime\Columns;
use Piwik\Piwik;
use Piwik\Plugin\VisitDimension;
use Piwik\Plugins\VisitTime\Segment;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
class Localtime extends VisitDimension
{
protected $fieldName = 'visitor_localtime';
+ protected $fieldType = 'TIME NOT NULL';
protected function init()
{
@@ -30,4 +33,15 @@ class Localtime extends VisitDimension
{
return Piwik::translate('VisitTime_ColumnLocalTime');
}
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return $request->getLocalTime();
+ }
} \ No newline at end of file
diff --git a/plugins/VisitorInterest/Columns/Visitsbydayssincelastvisit.php b/plugins/VisitorInterest/Columns/Visitsbydayssincelastvisit.php
index a114bf5476..075c6e7aae 100644
--- a/plugins/VisitorInterest/Columns/Visitsbydayssincelastvisit.php
+++ b/plugins/VisitorInterest/Columns/Visitsbydayssincelastvisit.php
@@ -10,11 +10,28 @@ namespace Piwik\Plugins\VisitorInterest\Columns;
use Piwik\Piwik;
use Piwik\Plugin\VisitDimension;
+use Piwik\Tracker\Action;
+use Piwik\Tracker\Request;
class Visitsbydayssincelastvisit extends VisitDimension
-{
+{
+ protected $fieldName = 'visitor_days_since_last';
+ protected $fieldType = 'SMALLINT(5) UNSIGNED NOT NULL';
+
public function getName()
{
return Piwik::translate('VisitorInterest_VisitsByDaysSinceLast');
}
+
+ /**
+ * @param Request $request
+ * @param array $visit
+ * @param Action|null $action
+ * @return int
+ */
+ public function onNewVisit(Request $request, $visit, $action)
+ {
+ return $request->getDaysSinceLastVisit();
+ }
+
} \ No newline at end of file