diff options
author | Thomas Steur <thomas.steur@googlemail.com> | 2014-06-11 07:04:53 +0400 |
---|---|---|
committer | Thomas Steur <thomas.steur@googlemail.com> | 2014-06-11 07:04:53 +0400 |
commit | 4f2e01d20a8027cf545613d883e4ef22267c1cc1 (patch) | |
tree | f065435c1eed3716d834f30886ceb95140214116 /plugins/Actions/Columns | |
parent | fca3bf825184cf0ddc3b9edcac0d90c95802afbf (diff) |
starting to refactor reports into classes, also refactored some more dimensions which is still not 100% working and needs more work
Diffstat (limited to 'plugins/Actions/Columns')
-rw-r--r-- | plugins/Actions/Columns/ClickedUrl.php | 48 | ||||
-rw-r--r-- | plugins/Actions/Columns/DownloadUrl.php | 48 | ||||
-rw-r--r-- | plugins/Actions/Columns/EntryPageTitle.php | 51 | ||||
-rw-r--r-- | plugins/Actions/Columns/EntryPageUrl.php | 52 | ||||
-rw-r--r-- | plugins/Actions/Columns/ExitPageTitle.php | 60 | ||||
-rw-r--r-- | plugins/Actions/Columns/ExitPageUrl.php | 60 | ||||
-rw-r--r-- | plugins/Actions/Columns/PageTitle.php | 43 | ||||
-rw-r--r-- | plugins/Actions/Columns/PageUrl.php | 44 | ||||
-rw-r--r-- | plugins/Actions/Columns/SearchCategory.php | 20 | ||||
-rw-r--r-- | plugins/Actions/Columns/SearchDestinationPage.php | 20 | ||||
-rw-r--r-- | plugins/Actions/Columns/SearchKeyword.php | 30 | ||||
-rw-r--r-- | plugins/Actions/Columns/SearchNoResultKeyword.php | 20 |
12 files changed, 496 insertions, 0 deletions
diff --git a/plugins/Actions/Columns/ClickedUrl.php b/plugins/Actions/Columns/ClickedUrl.php new file mode 100644 index 0000000000..f5d14fb5df --- /dev/null +++ b/plugins/Actions/Columns/ClickedUrl.php @@ -0,0 +1,48 @@ +<?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\Plugin\ActionDimension; +use Piwik\Plugin\VisitDimension; +use Piwik\Tracker\Request; +use Piwik\Tracker\TableLogAction; + +class ClickedUrl extends ActionDimension +{ + public function getName() + { + return Piwik::translate('Actions_ColumnClickedURL'); + } +/* + public function shouldHandleAction(Request $request) + { + $link = $request->getParam('link'); + + return !empty($link); + } + + public function getValue(Request $request) + { + $url = $request->getParam('link'); + + $ids = TableLogAction::loadIdsAction(array('idaction_url' => array($url, $this->getActionId()))); + + if (empty($ids['idaction_url'])) { + return false; + } + + return (int) $ids['idaction_url']; + } + + public function getActionId() + { + return 2; + }*/ +} diff --git a/plugins/Actions/Columns/DownloadUrl.php b/plugins/Actions/Columns/DownloadUrl.php new file mode 100644 index 0000000000..bfccd19d44 --- /dev/null +++ b/plugins/Actions/Columns/DownloadUrl.php @@ -0,0 +1,48 @@ +<?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\Plugin\ActionDimension; +use Piwik\Plugin\VisitDimension; +use Piwik\Tracker\Request; +use Piwik\Tracker\TableLogAction; + +class DownloadUrl extends ActionDimension +{ + public function getName() + { + return Piwik::translate('Actions_ColumnDownloadURL'); + } +/* + public function shouldHandleAction(Request $request) + { + $download = $request->getParam('download'); + + return !empty($download); + } + + public function getValue(Request $request) + { + $url = $request->getParam('download'); + + $ids = TableLogAction::loadIdsAction(array('idaction_url' => array($url, $this->getActionId()))); + + if (empty($ids['idaction_url'])) { + return false; + } + + return (int) $ids['idaction_url']; + } + + public function getActionId() + { + return 3; + }*/ +} diff --git a/plugins/Actions/Columns/EntryPageTitle.php b/plugins/Actions/Columns/EntryPageTitle.php new file mode 100644 index 0000000000..5df614f9e1 --- /dev/null +++ b/plugins/Actions/Columns/EntryPageTitle.php @@ -0,0 +1,51 @@ +<?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 EntryPageTitle extends VisitDimension +{ + protected $fieldName = 'visit_entry_idaction_name'; + protected $fieldType = 'INTEGER(11) UNSIGNED NOT NULL'; + + protected function init() + { + $segment = new Segment(); + $segment->setSegment('entryPageTitle'); + $segment->setName('Actions_ColumnEntryPageTitle'); + $this->addSegment($segment); + } + + /** + * @param Request $request + * @param $visit + * @param Action|null $action + * @return bool + */ + public function onNewVisit(Request $request, $visit, $action) + { + $idActionName = false; + + if (!empty($action)) { + $idActionName = $action->getIdActionNameForEntryAndExitIds(); + } + + return (int) $idActionName; + } + + public function getName() + { + return Piwik::translate('Actions_ColumnEntryPageTitle'); + } +} diff --git a/plugins/Actions/Columns/EntryPageUrl.php b/plugins/Actions/Columns/EntryPageUrl.php new file mode 100644 index 0000000000..b2b9ea0c5c --- /dev/null +++ b/plugins/Actions/Columns/EntryPageUrl.php @@ -0,0 +1,52 @@ +<?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 EntryPageUrl extends VisitDimension +{ + protected $fieldName = 'visit_entry_idaction_url'; + protected $fieldType = 'INTEGER(11) UNSIGNED NOT NULL'; + + protected function init() + { + $segment = new Segment(); + $segment->setSegment('entryPageUrl'); + $segment->setName('Actions_ColumnEntryPageURL'); + $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 getName() + { + return Piwik::translate('Actions_ColumnEntryPageURL'); + } + +} diff --git a/plugins/Actions/Columns/ExitPageTitle.php b/plugins/Actions/Columns/ExitPageTitle.php new file mode 100644 index 0000000000..7890c49a09 --- /dev/null +++ b/plugins/Actions/Columns/ExitPageTitle.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 ExitPageTitle extends VisitDimension +{ + protected $fieldName = 'visit_exit_idaction_name'; + protected $fieldType = 'INTEGER(11) UNSIGNED NOT NULL'; + + protected function init() + { + $segment = new Segment(); + $segment->setSegment('exitPageTitle'); + $segment->setName('Actions_ColumnExitPageTitle'); + $this->addSegment($segment); + } + + /** + * @param Request $request + * @param $visit + * @param Action|null $action + * @return bool + */ + public function onNewVisit(Request $request, $visit, $action) + { + $idActionName = false; + + if (!empty($action)) { + $idActionName = $action->getIdActionNameForEntryAndExitIds(); + } + + return (int) $idActionName; + } + + public function onExistingVisit(Request $request, $visit, $action) + { + if (!empty($action)) { + return (int) $action->getIdActionNameForEntryAndExitIds(); + } + + return false; + } + + public function getName() + { + return Piwik::translate('Actions_ColumnExitPageTitle'); + } +} 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'); + } +} diff --git a/plugins/Actions/Columns/PageTitle.php b/plugins/Actions/Columns/PageTitle.php new file mode 100644 index 0000000000..2b0385717b --- /dev/null +++ b/plugins/Actions/Columns/PageTitle.php @@ -0,0 +1,43 @@ +<?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\Plugin\ActionDimension; +use Piwik\Plugins\Actions\Segment; +use Piwik\Tracker\Request; + +class PageTitle extends ActionDimension +{ + protected $fieldName = 'idaction_name'; + protected $fieldType = 'INTEGER(10) UNSIGNED'; + + protected function init() + { + $segment = new Segment(); + $segment->setSegment('pageTitle'); + $segment->setName('Actions_ColumnPageName'); + $this->addSegment($segment); + } + + public function getName() + { + return Piwik::translate('Actions_ColumnPageName'); + } +/* + public function shouldHandleAction(Request $request) + { + return true; + } + + public function getActionId() + { + return 4; + }*/ +} diff --git a/plugins/Actions/Columns/PageUrl.php b/plugins/Actions/Columns/PageUrl.php new file mode 100644 index 0000000000..0d0d5504f4 --- /dev/null +++ b/plugins/Actions/Columns/PageUrl.php @@ -0,0 +1,44 @@ +<?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\Plugin\ActionDimension; +use Piwik\Plugins\Actions\Segment; + +class PageUrl extends ActionDimension +{ + protected $fieldName = 'idaction_url'; + protected $fieldType = 'INTEGER(10) UNSIGNED DEFAULT NULL'; + + protected function init() + { + $segment = new Segment(); + $segment->setSegment('pageUrl'); + $segment->setName('Actions_ColumnPageURL'); + $segment->setAcceptValues('All these segments must be URL encoded, for example: ' . urlencode('http://example.com/path/page?query')); + $this->addSegment($segment); + } + + public function getName() + { + return Piwik::translate('Actions_ColumnPageURL'); + } + + /* + public function shouldHandleAction(Request $request) + { + return true; + } + + public function getActionId() + { + return 1; + }*/ +} diff --git a/plugins/Actions/Columns/SearchCategory.php b/plugins/Actions/Columns/SearchCategory.php new file mode 100644 index 0000000000..6879d3b2a8 --- /dev/null +++ b/plugins/Actions/Columns/SearchCategory.php @@ -0,0 +1,20 @@ +<?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\Plugin\VisitDimension; + +class SearchCategory extends VisitDimension +{ + public function getName() + { + return Piwik::translate('Actions_ColumnSearchCategory'); + } +} diff --git a/plugins/Actions/Columns/SearchDestinationPage.php b/plugins/Actions/Columns/SearchDestinationPage.php new file mode 100644 index 0000000000..efb3b104b5 --- /dev/null +++ b/plugins/Actions/Columns/SearchDestinationPage.php @@ -0,0 +1,20 @@ +<?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\Plugin\VisitDimension; + +class SearchDestinationPage extends VisitDimension +{ + public function getName() + { + return Piwik::translate('General_ColumnDestinationPage'); + } +} diff --git a/plugins/Actions/Columns/SearchKeyword.php b/plugins/Actions/Columns/SearchKeyword.php new file mode 100644 index 0000000000..ab80e0c765 --- /dev/null +++ b/plugins/Actions/Columns/SearchKeyword.php @@ -0,0 +1,30 @@ +<?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\Plugin\ActionDimension; +use Piwik\Plugins\Actions\Segment; + +class SearchKeyword extends ActionDimension +{ + protected function init() + { + $segment = new Segment(); + $segment->setSegment('siteSearchKeyword'); + $segment->setName('Actions_SiteSearchKeyword'); + $segment->setSqlSegment('log_link_visit_action.idaction_name'); + $this->addSegment($segment); + } + + public function getName() + { + return Piwik::translate('General_ColumnKeyword'); + } +} diff --git a/plugins/Actions/Columns/SearchNoResultKeyword.php b/plugins/Actions/Columns/SearchNoResultKeyword.php new file mode 100644 index 0000000000..1f067fcec6 --- /dev/null +++ b/plugins/Actions/Columns/SearchNoResultKeyword.php @@ -0,0 +1,20 @@ +<?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\Plugin\VisitDimension; + +class SearchNoResultKeyword extends VisitDimension +{ + public function getName() + { + return Piwik::translate('Actions_ColumnNoResultKeyword'); + } +} |