| <?php |
|
|
| |
| |
| |
| |
| |
| |
|
|
| namespace Piwik\Plugins\Actions\Columns; |
|
|
| use Piwik\Columns\Discriminator; |
| use Piwik\Columns\Join\ActionNameJoin; |
| use Piwik\Plugin\Dimension\VisitDimension; |
| use Piwik\Tracker\Action; |
| use Piwik\Tracker\Request; |
| use Piwik\Tracker\TableLogAction; |
| use Piwik\Tracker\Visitor; |
|
|
| class EntryPageUrl extends VisitDimension |
| { |
| protected $columnName = 'visit_entry_idaction_url'; |
| protected $columnType = 'INTEGER(11) UNSIGNED NULL DEFAULT NULL'; |
| protected $segmentName = 'entryPageUrl'; |
| protected $nameSingular = 'Actions_ColumnEntryPageURL'; |
| protected $namePlural = 'Actions_ColumnEntryPageURLs'; |
| protected $suggestedValuesApi = 'Actions.getEntryPageUrls'; |
| protected $category = 'General_Actions'; |
| protected $type = self::TYPE_URL; |
| protected $sqlFilter = [TableLogAction::class, 'getOptimizedIdActionSqlMatch']; |
|
|
| public function getDbColumnJoin() |
| { |
| return new 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(); |
| } |
|
|
| if ($idActionUrl === false) { |
| return false; |
| } |
|
|
| return (int) $idActionUrl; |
| } |
|
|
| |
| |
| |
| |
| |
| |
| public function onExistingVisit(Request $request, Visitor $visitor, $action) |
| { |
| $idAction = $visitor->getVisitorColumn('visit_entry_idaction_url'); |
|
|
| if (is_null($idAction) && !empty($action)) { |
| $idAction = $action->getIdActionUrlForEntryAndExitIds(); |
| if (!empty($idAction)) { |
| return $idAction; |
| } |
| } |
|
|
| return false; |
| } |
| } |
|
|