diff options
author | sgiehl <stefan@piwik.org> | 2015-01-13 01:13:14 +0300 |
---|---|---|
committer | sgiehl <stefan@piwik.org> | 2015-01-13 01:13:14 +0300 |
commit | a0ce768662bea281f88fb64b90a9fca4d668fd41 (patch) | |
tree | 17fd24f16111dc61fd04d4f4d63b950d97b7e4c3 /plugins/UserLanguage/API.php | |
parent | e2b9956e4bd92ca9e234d10d527be9e8caf2b68f (diff) |
refs #3962 - moved language reports to their own plugin
Diffstat (limited to 'plugins/UserLanguage/API.php')
-rw-r--r-- | plugins/UserLanguage/API.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/plugins/UserLanguage/API.php b/plugins/UserLanguage/API.php new file mode 100644 index 0000000000..30d6ffd8ce --- /dev/null +++ b/plugins/UserLanguage/API.php @@ -0,0 +1,55 @@ +<?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\UserLanguage; + +use Piwik\Archive; +use Piwik\DataTable; +use Piwik\Metrics; +use Piwik\Piwik; + +/** + * @see plugins/UserLanguage/functions.php + */ +require_once PIWIK_INCLUDE_PATH . '/plugins/UserLanguage/functions.php'; + +/** + * The UserLanguage API lets you access reports about your Visitors language setting + * + * @method static \Piwik\Plugins\UserLanguage\API getInstance() + */ +class API extends \Piwik\Plugin\API +{ + protected function getDataTable($name, $idSite, $period, $date, $segment) + { + Piwik::checkUserHasViewAccess($idSite); + $archive = Archive::build($idSite, $period, $date, $segment); + $dataTable = $archive->getDataTable($name); + $dataTable->filter('Sort', array(Metrics::INDEX_NB_VISITS)); + $dataTable->queueFilter('ReplaceColumnNames'); + $dataTable->queueFilter('ReplaceSummaryRowLabel'); + return $dataTable; + } + + public function getLanguage($idSite, $period, $date, $segment = false) + { + $dataTable = $this->getDataTable(Archiver::LANGUAGE_RECORD_NAME, $idSite, $period, $date, $segment); + $dataTable->filter('GroupBy', array('label', __NAMESPACE__ . '\groupByLangCallback')); + $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\languageTranslate')); + + return $dataTable; + } + + public function getLanguageCode($idSite, $period, $date, $segment = false) + { + $dataTable = $this->getDataTable(Archiver::LANGUAGE_RECORD_NAME, $idSite, $period, $date, $segment); + $dataTable->filter('ColumnCallbackReplace', array('label', __NAMESPACE__ . '\languageTranslateWithCode')); + + return $dataTable; + } +} |