PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / 4.13.3
Matomo Analytics – Powerful, Privacy-First Insights for WordPress v4.13.3
5.12.0 5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Updates / 4.1.2-b1.php
matomo / app / core / Updates Last commit date
3.12.0-b1.php 5 years ago 3.12.0-b7.php 5 years ago 4.0.0-b1.php 4 years ago 4.0.0-b3.php 4 years ago 4.0.0-rc3.php 4 years ago 4.0.0-rc4.php 4 years ago 4.0.1-b1.php 4 years ago 4.0.4-b1.php 4 years ago 4.1.2-b1.php 5 years ago 4.1.2-b2.php 4 years ago 4.10.0-b1.php 3 years ago 4.11.0-b1.php 3 years ago 4.11.0-rc2.php 3 years ago 4.12.0-b1.php 3 years ago 4.12.0-b2.php 3 years ago 4.12.0-b3.php 3 years ago 4.12.0-b4.php 3 years ago 4.3.0-b3.php 4 years ago 4.3.0-b4.php 4 years ago 4.3.0-rc2.php 4 years ago 4.4.0-b1.php 4 years ago 4.5.0-b1.php 4 years ago 4.6.0-b1.php 4 years ago 4.6.0-b4.php 4 years ago 4.6.2-rc2.php 4 years ago 4.7.0-b2.php 4 years ago 4.7.1-b1.php 4 years ago 5.0.0-b1.php 4 years ago
4.1.2-b1.php
84 lines
1 <?php
2 /**
3 * Matomo - free/libre analytics platform
4 *
5 * @link https://matomo.org
6 * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
7 *
8 */
9
10 namespace Piwik\Updates;
11
12 use Piwik\Container\StaticContainer;
13 use Piwik\CronArchive;
14 use Piwik\Date;
15 use Piwik\Plugins\SegmentEditor\API;
16 use Piwik\Archive\ArchiveInvalidator;
17 use Piwik\ArchiveProcessor\Rules;
18 use Piwik\Updater;
19 use Piwik\Updates as PiwikUpdates;
20 use Piwik\Updater\Migration\Factory as MigrationFactory;
21
22 class Updates_4_1_2_b1 extends PiwikUpdates
23 {
24 /**
25 * @var MigrationFactory
26 */
27 private $migration;
28
29 public function __construct(MigrationFactory $factory)
30 {
31 $this->migration = $factory;
32 }
33
34 public function doUpdate(Updater $updater)
35 {
36 $updater->executeMigrations(__FILE__, $this->getMigrations($updater));
37 }
38
39 public function getMigrations(Updater $updater)
40 {
41 $migrations = [];
42
43 if (!Rules::isBrowserTriggerEnabled()) {
44 $dateOfMatomo4Release = Date::factory('2020-11-23');
45
46 $cmdStr = $this->getInvalidateCommand($dateOfMatomo4Release);
47
48 $migrations[] = new Updater\Migration\Custom(function () use ($dateOfMatomo4Release) {
49 $invalidator = StaticContainer::get(ArchiveInvalidator::class);
50 $invalidator->scheduleReArchiving('all', 'VisitFrequency', null, $dateOfMatomo4Release);
51 }, $cmdStr);
52 }
53
54 $migrations[] = new Updater\Migration\Custom(function () {
55 $segmentArchiving = StaticContainer::get(CronArchive\SegmentArchiving::class);
56 $timeOfLastInvalidateTime = CronArchive::getLastInvalidationTime();
57
58 $segments = API::getInstance()->getAll();
59 foreach ($segments as $segment) {
60 try {
61 $tsCreated = !empty($segment['ts_created']) ? Date::factory($segment['ts_created'])->getTimestamp() : 0;
62 $tsLastEdit = !empty($segment['ts_last_edit']) ? Date::factory($segment['ts_last_edit'])->getTimestamp() : null;
63 $timeToUse = max($tsCreated, $tsLastEdit);
64
65 if ($timeToUse > $timeOfLastInvalidateTime) {
66 $segmentArchiving->reArchiveSegment($segment);
67 }
68 } catch (\Exception $ex) {
69 // ignore
70 }
71 }
72 }, '');
73
74 return $migrations;
75 }
76
77 private function getInvalidateCommand(Date $dateOfMatomo4Release)
78 {
79 $command = "php " . PIWIK_INCLUDE_PATH . '/console core:invalidate-report-data --sites=all';
80 $command .= ' --dates=' . $dateOfMatomo4Release->toString() . ',' . Date::factory('today')->toString();
81 $command .= ' --plugin=VisitFrequency';
82 return $command;
83 }
84 }