Skip to content
Extraits de code Groupes Projets
Valider 0d95d2b9 rédigé par Thomas Steur's avatar Thomas Steur
Parcourir les fichiers

refs #6705 one way to detect whether user feature is enabled for a given site....

refs #6705 one way to detect whether user feature is enabled for a given site. looking for other solutions as well
parent 175421ec
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
namespace Piwik\Plugins\CoreHome\Columns; namespace Piwik\Plugins\CoreHome\Columns;
use Piwik\Plugin\Dimension\VisitDimension; use Piwik\Plugin\Dimension\VisitDimension;
use Piwik\Plugins\VisitsSummary\API as VisitsSummaryApi;
use Piwik\Tracker\Request; use Piwik\Tracker\Request;
use Piwik\Tracker\Visitor; use Piwik\Tracker\Visitor;
use Piwik\Tracker\Action; use Piwik\Tracker\Action;
...@@ -51,4 +52,27 @@ class UserId extends VisitDimension ...@@ -51,4 +52,27 @@ class UserId extends VisitDimension
return $request->getForcedUserId(); return $request->getForcedUserId();
} }
public function isUsedInAtLeastOneSite($idSites, $period, $date)
{
if ($period === 'day' || $period === 'week') {
$period = 'month';
}
foreach ($idSites as $idSite) {
$result = VisitsSummaryApi::getInstance()->get($idSite, $period, $date, false, 'nb_users');
if (!$result->getRowsCount()) {
continue;
}
$numUsers = $result->getFirstRow()->getColumn('nb_users');
if (!empty($numUsers)) {
return true;
}
}
return false;
}
} }
\ No newline at end of file
...@@ -12,6 +12,7 @@ use Piwik\Piwik; ...@@ -12,6 +12,7 @@ use Piwik\Piwik;
use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit; use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit;
use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite; use Piwik\Plugins\CoreHome\Columns\Metrics\AverageTimeOnSite;
use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate; use Piwik\Plugins\CoreHome\Columns\Metrics\BounceRate;
use Piwik\Plugins\CoreHome\Columns\UserId;
class Get extends \Piwik\Plugin\Report class Get extends \Piwik\Plugin\Report
{ {
...@@ -39,6 +40,28 @@ class Get extends \Piwik\Plugin\Report ...@@ -39,6 +40,28 @@ class Get extends \Piwik\Plugin\Report
$this->order = 1; $this->order = 1;
} }
public function configureReportMetadata(&$availableReports, $infos)
{
if (!$this->isEnabled()) {
return;
}
if (!empty($infos['idSites']) && !empty($infos['period']) && !empty($infos['date'])) {
$userId = new UserId();
$isUserIdUsed = $userId->isUsedInAtLeastOneSite($infos['idSites'], $infos['period'], $infos['date']);
if (!$isUserIdUsed) {
$key = array_search('nb_users', $this->metrics);
if (false !== $key) {
unset($this->metrics[$key]);
$this->metrics = array_values($this->metrics);
}
};
}
parent::configureReportMetadata($availableReports, $infos);
}
public function getMetrics() public function getMetrics()
{ {
$metrics = parent::getMetrics(); $metrics = parent::getMetrics();
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter