diff options
Diffstat (limited to 'plugins/Actions/Columns/InteractionPosition.php')
-rw-r--r-- | plugins/Actions/Columns/InteractionPosition.php | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/plugins/Actions/Columns/InteractionPosition.php b/plugins/Actions/Columns/InteractionPosition.php new file mode 100644 index 0000000000..34bd9064f2 --- /dev/null +++ b/plugins/Actions/Columns/InteractionPosition.php @@ -0,0 +1,47 @@ +<?php +/** + * Piwik - free/libre analytics platform + * + * @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\Tracker\Action; +use Piwik\Tracker\Request; +use Piwik\Tracker\Visitor; +use Piwik\Piwik; +use Piwik\Plugin\Dimension\ActionDimension; + +class InteractionPosition extends ActionDimension +{ + protected $columnName = 'interaction_position'; + protected $columnType = 'SMALLINT UNSIGNED DEFAULT NULL'; + + /** + * @param Request $request + * @param Visitor $visitor + * @param Action $action + * + * @return mixed|false + */ + public function onNewAction(Request $request, Visitor $visitor, Action $action) + { + $shouldCount = VisitTotalInteractions::shouldCountInteraction($action); + + if ($shouldCount && $visitor->isNewVisit()) { + return 1; + } else if ($shouldCount) { + return VisitTotalInteractions::getCurrentInteractionPosition($request); + } + + return false; + } + + public function getName() + { + return Piwik::translate('Actions_ColumnInteractionPosition'); + } + +}
\ No newline at end of file |