| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\CoreHome\Columns; |
|
|
| use Piwik\Config; |
| use Piwik\Plugin\Dimension\VisitDimension; |
| use Piwik\Tracker\Action; |
| use Piwik\Tracker\Request; |
| use Piwik\Tracker\Visitor; |
|
|
| class VisitTotalTime extends VisitDimension |
| { |
| protected $columnName = 'visit_total_time'; |
| protected $columnType = 'INT(11) UNSIGNED NOT NULL'; |
| protected $segmentName = 'visitDuration'; |
| protected $nameSingular = 'General_ColumnVisitDuration'; |
| protected $type = self::TYPE_DURATION_S; |
|
|
| |
| |
| |
| |
| public function onNewVisit(Request $request, Visitor $visitor, $action) |
| { |
| $totalTime = Config::getInstance()->Tracker['default_time_one_page_visit']; |
| $totalTime = $this->cleanupVisitTotalTime($totalTime); |
|
|
| return $totalTime; |
| } |
|
|
| |
| |
| |
| |
| public function onExistingVisit(Request $request, Visitor $visitor, $action) |
| { |
| $firstActionTime = $visitor->getVisitorColumn('visit_first_action_time'); |
|
|
| $totalTime = 1 + $request->getCurrentTimestamp() - $firstActionTime; |
| $totalTime = $this->cleanupVisitTotalTime($totalTime); |
|
|
| return $totalTime; |
| } |
|
|
| |
| |
| |
| |
| public function onConvertedVisit(Request $request, Visitor $visitor, $action) |
| { |
| if (!$visitor->isVisitorKnown()) { |
| return false; |
| } |
|
|
| $totalTime = $visitor->getVisitorColumn('visit_total_time'); |
|
|
| |
| |
| |
| $totalTime = $totalTime + $request->getParam('idgoal'); |
| |
| $totalTime = $totalTime + 2; |
|
|
| return $this->cleanupVisitTotalTime($totalTime); |
| } |
|
|
| public function getRequiredVisitFields() |
| { |
| return array('visit_first_action_time'); |
| } |
|
|
| private function cleanupVisitTotalTime($t) |
| { |
| $t = (int)$t; |
|
|
| if ($t < 0) { |
| $t = 0; |
| } |
|
|
| return $t; |
| } |
| } |
|
|