diff options
Diffstat (limited to 'plugins/Actions/Columns/ExitPageUrl.php')
-rw-r--r-- | plugins/Actions/Columns/ExitPageUrl.php | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/plugins/Actions/Columns/ExitPageUrl.php b/plugins/Actions/Columns/ExitPageUrl.php new file mode 100644 index 0000000000..e8267dd537 --- /dev/null +++ b/plugins/Actions/Columns/ExitPageUrl.php @@ -0,0 +1,60 @@ +<?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\Piwik; +use Piwik\Plugins\Actions\Segment; +use Piwik\Plugin\VisitDimension; +use Piwik\Tracker\Action; +use Piwik\Tracker\Request; + +class ExitPageUrl extends VisitDimension +{ + protected $fieldName = 'visit_exit_idaction_url'; + protected $fieldType = 'INTEGER(11) UNSIGNED NULL DEFAULT 0'; + + protected function init() + { + $segment = new Segment(); + $segment->setSegment('exitPageUrl'); + $segment->setName('Actions_ColumnExitPageURL'); + $this->addSegment($segment); + } + + /** + * @param Request $request + * @param $visit + * @param Action|null $action + * @return bool + */ + public function onNewVisit(Request $request, $visit, $action) + { + $idActionUrl = false; + + if (!empty($action)) { + $idActionUrl = $action->getIdActionUrlForEntryAndExitIds(); + } + + return (int) $idActionUrl; + } + + public function onExistingVisit(Request $request, $visit, $action) + { + if (!empty($action)) { + return (int) $action->getIdActionUrlForEntryAndExitIds(); + } + + return false; + } + + public function getName() + { + return Piwik::translate('Actions_ColumnExitPageURL'); + } +} |