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.4.0-b4.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.4.0-b4.php
59 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\Common;
12 use Piwik\Updater;
13 use Piwik\Updater\Migration;
14 use Piwik\Updater\Migration\Factory as MigrationFactory;
15 use Piwik\Updates as PiwikUpdates;
16 /**
17 * Update for version 5.4.0-b4
18 */
19 class Updates_5_4_0_b4 extends PiwikUpdates
20 {
21 /**
22 * @var MigrationFactory
23 */
24 private $migration;
25 /**
26 * @var string
27 */
28 private $userTable;
29 /**
30 * @var string
31 */
32 private $optionTable;
33 public function __construct(MigrationFactory $factory)
34 {
35 $this->migration = $factory;
36 $this->userTable = Common::prefixTable('user');
37 $this->optionTable = Common::prefixTable('option');
38 }
39 /**
40 * @return Migration[]
41 */
42 public function getMigrations(Updater $updater)
43 {
44 return [$this->migration->db->addColumns('user', ['ts_last_seen' => 'TIMESTAMP null DEFAULT null']), $this->migration->db->addColumns('user', ['ts_inactivity_notified' => 'TIMESTAMP null DEFAULT null']), $this->migration->db->sql($this->migrateLastLoginFromOptionsTableSql()), $this->migration->db->sql($this->removeLegacyValuesFromOptionsTableSql())];
45 }
46 private function migrateLastLoginFromOptionsTableSql() : string
47 {
48 return sprintf("UPDATE `%s` u JOIN (\n SELECT \n SUBSTRING_INDEX(o.option_name, 'UsersManager.lastSeen.', -1) AS login,\n o.option_value AS last_seen\n FROM `%s` o\n WHERE o.option_name LIKE 'UsersManager.lastSeen.%%'\n ) AS userData\n ON u.login = userData.login\n SET u.ts_last_seen = CONVERT_TZ(FROM_UNIXTIME(userData.last_seen), 'SYSTEM', '+00:00')", $this->userTable, $this->optionTable);
49 }
50 private function removeLegacyValuesFromOptionsTableSql() : string
51 {
52 return sprintf("DELETE FROM `%s` WHERE option_name LIKE 'UsersManager.lastSeen.%%'", $this->optionTable);
53 }
54 public function doUpdate(Updater $updater)
55 {
56 $updater->executeMigrations(__FILE__, $this->getMigrations($updater));
57 }
58 }
59