PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
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 / 5.8.0-b1.php
matomo / app / core / Updates Last commit date
3.12.0-b1.php 2 years ago 3.12.0-b7.php 2 years ago 4.0.0-b1.php 7 months ago 4.0.0-b3.php 2 years ago 4.0.0-rc3.php 2 years ago 4.0.0-rc4.php 2 months ago 4.0.1-b1.php 2 years ago 4.0.4-b1.php 2 years ago 4.1.2-b1.php 2 years ago 4.1.2-b2.php 2 years ago 4.10.0-b1.php 2 months ago 4.11.0-b1.php 2 months ago 4.11.0-rc2.php 2 months ago 4.12.0-b1.php 2 months ago 4.12.0-b2.php 2 months ago 4.12.0-b3.php 2 months ago 4.12.0-b4.php 2 months ago 4.3.0-b3.php 2 years ago 4.3.0-b4.php 7 months ago 4.3.0-rc2.php 2 years ago 4.4.0-b1.php 2 years ago 4.5.0-b1.php 2 years ago 4.6.0-b1.php 2 years ago 4.6.0-b4.php 3 months ago 4.6.2-rc2.php 3 months ago 4.7.0-b2.php 2 months ago 4.7.1-b1.php 2 months ago 5.0.0-b1.php 1 year ago 5.0.0-rc2.php 2 years ago 5.0.0-rc5.php 2 months ago 5.11.0-b1.php 2 weeks ago 5.2.0-b2.php 1 year ago 5.2.0-b6.php 1 year ago 5.3.0-b1.php 1 year ago 5.3.0-rc1.php 1 year ago 5.4.0-b1.php 7 months ago 5.4.0-b3.php 7 months ago 5.4.0-b4.php 2 months ago 5.5.0-b2.php 2 months ago 5.6.0-b1.php 2 months ago 5.7.0-b1.php 4 months ago 5.7.0-b2.php 3 months ago 5.7.0-b3.php 4 months ago 5.8.0-b1.php 3 months ago 5.8.0-b2.php 3 months ago 5.9.0-b1.php 2 months ago 5.9.0-b2.php 2 months ago
5.8.0-b1.php
60 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Updates;
10
11 use Piwik\Archive\ArchiveInvalidator;
12 use Piwik\Container\StaticContainer;
13 use Piwik\Date;
14 use Piwik\Db;
15 use Piwik\DbHelper;
16 use Piwik\Plugins\BotTracking\BotDetector;
17 use Piwik\Plugins\BotTracking\Dao\BotRequestsDao;
18 use Piwik\Segment;
19 use Piwik\Updater;
20 use Piwik\Updater\Migration\Custom as CustomMigration;
21 use Piwik\Updates;
22 use Piwik\Updater\Migration\Factory as MigrationFactory;
23 class Updates_5_8_0_b1 extends Updates
24 {
25 /**
26 * @var MigrationFactory
27 */
28 private $migration;
29 public function __construct(MigrationFactory $factory)
30 {
31 $this->migration = $factory;
32 }
33 public function getMigrations(Updater $updater) : array
34 {
35 $migrations = [];
36 $tableName = BotRequestsDao::getPrefixedTableName();
37 if (DbHelper::tableExists($tableName)) {
38 $migrations[] = $this->migration->db->boundSql(sprintf('UPDATE `%s` SET bot_type = ? WHERE bot_type = ?', $tableName), [BotDetector::BOT_TYPE_AI_CHATBOT, 'ai_assistant']);
39 $earliestDatesBySite = Db::fetchAll(sprintf('SELECT idsite, DATE(MIN(server_time)) as earliest_date FROM `%s` GROUP BY idsite', $tableName));
40 foreach ($earliestDatesBySite as $siteData) {
41 if (empty($siteData['idsite']) || empty($siteData['earliest_date'])) {
42 continue;
43 }
44 $siteId = (int) $siteData['idsite'];
45 $startDate = Date::factory($siteData['earliest_date'])->subDay(1)->toString('Y-m-d');
46 $migrationHint = sprintf('./console core:invalidate-report-data --plugin=BotTracking --sites=%d --dates=%s,today --segment=', $siteId, $startDate);
47 $migrations[] = new CustomMigration(function () use($siteId, $startDate) {
48 $invalidator = StaticContainer::get(ArchiveInvalidator::class);
49 $invalidator->scheduleReArchiving([$siteId], 'BotTracking', null, Date::factory($startDate), new Segment('', [$siteId]));
50 }, $migrationHint);
51 }
52 }
53 return $migrations;
54 }
55 public function doUpdate(Updater $updater) : void
56 {
57 $updater->executeMigrations(__FILE__, $this->getMigrations($updater));
58 }
59 }
60