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>2020-05-22 01:05:12 +0300
committerGitHub <noreply@github.com>2020-05-22 01:05:12 +0300
commit3aa66a20ff73f0e3f559c074846fef6763ea0d2c (patch)
tree54f325b1fd03b5fbabbe8caa93a4d0e2b7d9c0a6 /plugins/SitesManager/SitesManager.php
parent723e92f382f2078d2495662f785ac9cf3e6fe29b (diff)
Limit the fingerprint (#15886)
Diffstat (limited to 'plugins/SitesManager/SitesManager.php')
-rw-r--r--plugins/SitesManager/SitesManager.php12
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/SitesManager/SitesManager.php b/plugins/SitesManager/SitesManager.php
index 1320c0f6f2..2b8e767b26 100644
--- a/plugins/SitesManager/SitesManager.php
+++ b/plugins/SitesManager/SitesManager.php
@@ -13,12 +13,14 @@ use Piwik\API\Request;
use Piwik\Common;
use Piwik\Config;
use Piwik\Container\StaticContainer;
+use Piwik\Date;
use Piwik\Exception\UnexpectedWebsiteFoundException;
use Piwik\Option;
use Piwik\Piwik;
use Piwik\Plugins\CoreHome\SystemSummary;
use Piwik\Settings\Storage\Backend\MeasurableSettingsTable;
use Piwik\Tracker\Cache;
+use Piwik\Tracker\FingerprintSalt;
use Piwik\Tracker\Model as TrackerModel;
use Piwik\Session\SessionNamespace;
@@ -197,6 +199,16 @@ class SitesManager extends \Piwik\Plugin
$array['timezone'] = $this->getTimezoneFromWebsite($website);
$array['ts_created'] = $website['ts_created'];
$array['type'] = $website['type'];
+
+ // we make sure to have the fingerprint salts for the last 3 days incl tmrw in the cache so we don't need to
+ // query the DB directly for these days
+ $datesToGenerateSalt = array(Date::now()->addDay(1), Date::now(), Date::now()->subDay(1), Date::now()->subDay(2));
+
+ $fingerprintSaltKey = new FingerprintSalt();
+ foreach ($datesToGenerateSalt as $date) {
+ $dateString = $fingerprintSaltKey->getDateString($date, $array['timezone']);
+ $array[FingerprintSalt::OPTION_PREFIX . $dateString] = $fingerprintSaltKey->getSalt($dateString, $idSite);
+ }
}
public function setTrackerCacheGeneral(&$cache)