Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsgiehl <stefan@piwik.org>2015-01-13 01:13:14 +0300
committersgiehl <stefan@piwik.org>2015-01-13 01:13:14 +0300
commita0ce768662bea281f88fb64b90a9fca4d668fd41 (patch)
tree17fd24f16111dc61fd04d4f4d63b950d97b7e4c3 /plugins/UserLanguage/API.php
parente2b9956e4bd92ca9e234d10d527be9e8caf2b68f (diff)
refs #3962 - moved language reports to their own plugin
Diffstat (limited to 'plugins/UserLanguage/API.php')
-rw-r--r--plugins/UserLanguage/API.php55
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;
+ }
+}