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:
authorThomas Steur <tsteur@users.noreply.github.com>2016-04-19 05:45:48 +0300
committerThomas Steur <tsteur@users.noreply.github.com>2016-04-19 05:45:48 +0300
commit08090f2cbab6af3b9b99ba08a1bdfd831288c0d5 (patch)
tree75e3c1ac1cd58e692e4bb2f950c399504ec46edb /plugins
parenteac5a58130665b5689ef7d2bb4ddc4367368b47f (diff)
minor UserId tweaks, enable row evolution for userId etc (#10072)
Diffstat (limited to 'plugins')
-rw-r--r--plugins/UserId/API.php13
-rw-r--r--plugins/UserId/Archiver.php7
-rw-r--r--plugins/UserId/Columns/UserId.php29
-rw-r--r--plugins/UserId/Reports/GetUsers.php34
-rw-r--r--plugins/UserId/javascripts/rowaction.js1
-rw-r--r--plugins/UserId/lang/en.json6
6 files changed, 65 insertions, 25 deletions
diff --git a/plugins/UserId/API.php b/plugins/UserId/API.php
index 6e29c3afc9..932e19b113 100644
--- a/plugins/UserId/API.php
+++ b/plugins/UserId/API.php
@@ -22,20 +22,17 @@ use Piwik\DataTable\Row;
class API extends \Piwik\Plugin\API
{
/**
- * Get DataTable with User Ids and some aggregated data. Supports pagination, sorting
- * and filtering by user_id
+ * Get a report of all User Ids.
*
* @param int $idSite
*
- * @param $period
- * @param $date
- * @param $segment
- * @param $expanded
- * @param $flat
+ * @param string $period
+ * @param int $date
+ * @param string|bool $segment
*
* @return DataTable
*/
- public function getUsers($idSite, $period, $date, $segment = false, $expanded = false, $flat = false)
+ public function getUsers($idSite, $period, $date, $segment = false)
{
Piwik::checkUserHasViewAccess($idSite);
$archive = Archive::build($idSite, $period, $date, $segment);
diff --git a/plugins/UserId/Archiver.php b/plugins/UserId/Archiver.php
index 3e20dcf141..28c32bf3c6 100644
--- a/plugins/UserId/Archiver.php
+++ b/plugins/UserId/Archiver.php
@@ -77,12 +77,13 @@ class Archiver extends \Piwik\Plugin\Archiver
$userIdFieldName = self::USER_ID_FIELD;
$visitorIdFieldName = self::VISITOR_ID_FIELD;
- /** @var Zend_Db_Statement $query */
+ /** @var \Zend_Db_Statement $query */
$query = $this->getLogAggregator()->queryVisitsByDimension(
array(self::USER_ID_FIELD),
"$userIdFieldName IS NOT NULL AND $userIdFieldName != ''",
array("LOWER(HEX($visitorIdFieldName)) as $visitorIdFieldName")
);
+
if ($query === false) {
return;
}
@@ -114,7 +115,7 @@ class Archiver extends \Piwik\Plugin\Archiver
*
* @param array $row
*/
- protected function rememberVisitorId($row)
+ private function rememberVisitorId($row)
{
if (!empty($row[self::USER_ID_FIELD]) && !empty($row[self::VISITOR_ID_FIELD])) {
$this->visitorIdsUserIdsMap[$row[self::USER_ID_FIELD]] = $row[self::VISITOR_ID_FIELD];
@@ -126,7 +127,7 @@ class Archiver extends \Piwik\Plugin\Archiver
*
* @param DataTable $dataTable
*/
- protected function setVisitorIds(DataTable $dataTable)
+ private function setVisitorIds(DataTable $dataTable)
{
foreach ($dataTable->getRows() as $row) {
$userId = $row->getColumn('label');
diff --git a/plugins/UserId/Columns/UserId.php b/plugins/UserId/Columns/UserId.php
new file mode 100644
index 0000000000..7ac474cf73
--- /dev/null
+++ b/plugins/UserId/Columns/UserId.php
@@ -0,0 +1,29 @@
+<?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\UserId\Columns;
+
+use Piwik\Piwik;
+use Piwik\Plugin\Dimension\VisitDimension;
+
+/**
+ * UserId dimension
+ */
+class UserId extends VisitDimension
+{
+
+ /**
+ * The name of the dimension which will be visible for instance in the UI of a related report and in the mobile app.
+ * @return string
+ */
+ public function getName()
+ {
+ return Piwik::translate('UserId_UserId');
+ }
+
+} \ No newline at end of file
diff --git a/plugins/UserId/Reports/GetUsers.php b/plugins/UserId/Reports/GetUsers.php
index c5914776c5..aff063541c 100644
--- a/plugins/UserId/Reports/GetUsers.php
+++ b/plugins/UserId/Reports/GetUsers.php
@@ -11,6 +11,8 @@ namespace Piwik\Plugins\UserId\Reports;
use Piwik\Piwik;
use Piwik\Plugin\Report;
use Piwik\Plugin\ViewDataTable;
+use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
+use Piwik\Plugins\UserId\Columns\UserId;
use Piwik\View;
/**
@@ -19,26 +21,27 @@ use Piwik\View;
*/
class GetUsers extends Base
{
- /**
- * @return array
- */
- public static function getColumnsToDisplay()
- {
- return array(
- 'label', 'nb_visits', 'nb_actions', 'nb_visits_converted'
- );
- }
-
protected function init()
{
parent::init();
- $this->name = Piwik::translate('UsersManager_MenuUsers');
+ $this->name = Piwik::translate('UserId_UserReportTitle');
$this->menuTitle = $this->name;
+ $this->widgetTitle = $this->menuTitle;
$this->documentation = '';
+ $this->dimension = new UserId();
+ $this->metrics = array('label', 'nb_visits', 'nb_actions', 'nb_visits_converted');
// This defines in which order your report appears in the mobile app, in the menu and in the list of widgets
- $this->order = 1;
+ $this->order = 9;
+ }
+
+ /**
+ * @return array
+ */
+ public static function getColumnsToDisplay()
+ {
+ return ;
}
/**
@@ -52,14 +55,17 @@ class GetUsers extends Base
/*
* Hide most of the table footer actions, leaving only export icons and pagination
*/
- $view->config->columns_to_display = $this->getColumnsToDisplay();
+ $view->config->columns_to_display = $this->metrics;
$view->config->show_all_views_icons = false;
$view->config->show_active_view_icon = false;
$view->config->show_related_reports = false;
$view->config->show_insights = false;
$view->config->show_pivot_by_subtable = false;
$view->config->show_flatten_table = false;
- $view->config->disable_row_evolution = true;
+
+ if ($view->isViewDataTableId(HtmlTable::ID)) {
+ $view->config->disable_row_evolution = false;
+ }
// exclude users with less then 2 visits, when low population filter is active
$view->requestConfig->filter_excludelowpop_value = 2;
diff --git a/plugins/UserId/javascripts/rowaction.js b/plugins/UserId/javascripts/rowaction.js
index 5fba72dbe4..d100c1f3f5 100644
--- a/plugins/UserId/javascripts/rowaction.js
+++ b/plugins/UserId/javascripts/rowaction.js
@@ -22,6 +22,7 @@
DataTable_RowActions_VisitorDetails.prototype.performAction = function (label, tr, e) {
var visitorId = this.getRowMetadata($(tr)).idvisitor || '';
+ visitorId = encodeURIComponent(visitorId);
if (visitorId.length > 0) {
DataTable_RowAction.prototype.openPopover.apply(this, ['module=Live&action=getVisitorProfilePopup&visitorId=' + visitorId]);
}
diff --git a/plugins/UserId/lang/en.json b/plugins/UserId/lang/en.json
new file mode 100644
index 0000000000..ec320c4079
--- /dev/null
+++ b/plugins/UserId/lang/en.json
@@ -0,0 +1,6 @@
+{
+ "UserId": {
+ "UserId": "UserId",
+ "UserReportTitle": "Users"
+ }
+} \ No newline at end of file