| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\Actions\Columns; |
|
|
| use Piwik\Columns\DimensionMetricFactory; |
| use Piwik\Columns\Discriminator; |
| use Piwik\Columns\Join; |
| use Piwik\Columns\MetricsList; |
| use Piwik\Plugin\Dimension\VisitDimension; |
| use Piwik\Tracker\Action; |
| use Piwik\Tracker\Request; |
| use Piwik\Tracker\TableLogAction; |
| use Piwik\Tracker\Visitor; |
|
|
| class ExitPageUrl extends VisitDimension |
| { |
| protected $columnName = 'visit_exit_idaction_url'; |
| protected $columnType = 'INTEGER(10) UNSIGNED NULL DEFAULT 0'; |
| protected $type = self::TYPE_URL; |
| protected $segmentName = 'exitPageUrl'; |
| protected $nameSingular = 'Actions_ColumnExitPageURL'; |
| protected $namePlural = 'Actions_ColumnExitPageURLs'; |
| protected $category = 'General_Actions'; |
| protected $suggestedValuesApi = 'Actions.getExitPageUrls'; |
| protected $sqlFilter = [TableLogAction::class, 'getOptimizedIdActionSqlMatch']; |
|
|
| public function configureMetrics(MetricsList $metricsList, DimensionMetricFactory $dimensionMetricFactory) |
| { |
| parent::configureMetrics($metricsList, $dimensionMetricFactory); |
| } |
|
|
| public function getDbColumnJoin() |
| { |
| return new Join\ActionNameJoin(); |
| } |
|
|
| public function getDbDiscriminator() |
| { |
| return new Discriminator('log_action', 'type', Action::TYPE_PAGE_URL); |
| } |
|
|
| |
| |
| |
| |
| public function onNewVisit(Request $request, Visitor $visitor, $action) |
| { |
| $idActionUrl = false; |
|
|
| if (!empty($action)) { |
| $idActionUrl = $action->getIdActionUrlForEntryAndExitIds(); |
| } |
|
|
| return (int) $idActionUrl; |
| } |
|
|
| |
| |
| |
| |
| public function onExistingVisit(Request $request, Visitor $visitor, $action) |
| { |
| if (empty($action)) { |
| return false; |
| } |
|
|
| $id = $action->getIdActionUrlForEntryAndExitIds(); |
|
|
| if (!empty($id)) { |
| $id = (int) $id; |
| } |
|
|
| return $id; |
| } |
| } |
|
|