PluginProbe ʕ •ᴥ•ʔ
Independent Analytics – WordPress Analytics Plugin / 1.18
Independent Analytics – WordPress Analytics Plugin v1.18
2.15.0 2.14.10 trunk 1.1 1.10 1.10.1 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.17.1 1.17.2 1.17.3 1.17.4 1.18 1.18.1 1.19.0 1.19.1 1.2 1.20.0 1.21.0 1.22.0 1.22.1 1.23.0 1.23.1 1.24.0 1.24.1 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.28.1 1.28.2 1.28.3 1.29.0 1.3 1.30.0 1.30.1 1.4 1.5 1.6 1.7 1.8 1.9 2.0.0 2.0.1 2.1.4 2.1.5 2.1.6 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.10 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.12.0 2.12.1 2.12.2 2.13.1 2.13.2 2.13.5 2.13.6 2.14.0 2.14.1 2.14.2 2.14.4 2.14.6 2.14.7 2.14.8 2.14.9 2.2.0 2.2.1 2.3.1 2.3.2 2.4.2 2.4.3 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.6.3 2.6.4 2.7.0 2.7.1 2.7.2 2.7.3 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7
independent-analytics / IAWP / Migrations / Migration_9.php
independent-analytics / IAWP / Migrations Last commit date
Migration.php 3 years ago Migration_1_0.php 3 years ago Migration_1_6.php 3 years ago Migration_1_8.php 3 years ago Migration_1_9.php 3 years ago Migration_2.php 3 years ago Migration_3.php 3 years ago Migration_4.php 3 years ago Migration_5.php 3 years ago Migration_6.php 3 years ago Migration_7.php 3 years ago Migration_8.php 3 years ago Migration_9.php 3 years ago Migration_Job.php 3 years ago
Migration_9.php
73 lines
1 <?php
2
3 namespace IAWP\Migrations;
4
5 use IAWP\Query;
6
7 class Migration_9 extends Migration
8 {
9 /**
10 * @var string
11 */
12 protected $database_version = '9';
13
14 /**
15 * @return void
16 */
17 protected function handle(): void
18 {
19 global $wpdb;
20
21 $sessions_table = Query::get_table_name(Query::SESSIONS);
22 $visitors_table = Query::get_table_name(Query::VISITORS);
23
24 if ($this->sessions_fix_required()) {
25 $wpdb->query("
26 ALTER TABLE $sessions_table MODIFY COLUMN visitor_id VARCHAR(32);
27 ");
28 }
29
30 if ($this->visitors_fix_required()) {
31 $wpdb->query("
32 ALTER TABLE $visitors_table MODIFY COLUMN visitor_id VARCHAR(32);
33 ");
34 }
35 }
36
37 private function sessions_fix_required(): bool
38 {
39 $sessions_table = Query::get_table_name(Query::SESSIONS);
40
41 return $this->fix_required($sessions_table);
42 }
43
44 private function visitors_fix_required(): bool
45 {
46 $visitors_table = Query::get_table_name(Query::VISITORS);
47
48 return $this->fix_required($visitors_table);
49 }
50
51 private function fix_required(string $table): bool
52 {
53 global $wpdb;
54
55 $big_field = $wpdb->get_row("
56 SELECT
57 CHARACTER_MAXIMUM_LENGTH
58 FROM
59 information_schema.columns
60 WHERE
61 TABLE_NAME = '" . $table . "'
62 AND COLUMN_NAME = 'visitor_id'
63 AND CHARACTER_MAXIMUM_LENGTH > 32;
64 ");
65
66 if (is_null($big_field) || $wpdb->last_error !== '') {
67 return false;
68 }
69
70 return true;
71 }
72 }
73