PluginProbe
User Access Manager / 2.1.11
User Access Manager v2.1.11
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
← All changes | src/Setup/Update/DatabaseUpdate6.php +45 -19 trunk → 2.1.11 View file →
@@ -1,44 +1,70 @@
1 1 <?php
2 -
3 -declare(strict_types=1);
4 -
2 +/**
3 + * DatabaseUpdate6.php
4 + *
5 + * The DatabaseUpdate6 class file.
6 + *
7 + * PHP versions 5
8 + *
9 + * @author Alexander Schneider <[email protected]>
10 + * @copyright 2008-2017 Alexander Schneider
11 + * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2
12 + * @version SVN: $id$
13 + * @link http://wordpress.org/extend/plugins/user-access-manager/
14 + */
5 15 namespace UserAccessManager\Setup\Update;
6 16
17 +use UserAccessManager\Setup\Database\DatabaseUpdate;
7 18 use UserAccessManager\UserGroup\UserGroup;
8 19
20 +/**
21 + * Class DatabaseUpdate6
22 + *
23 + * @package UserAccessManager\Setup\Update
24 + */
9 25 class DatabaseUpdate6 extends DatabaseUpdate
10 26 {
11 - public function getVersion(): string
27 + /**
28 + * Returns the version.
29 + *
30 + * @return string
31 + */
32 + public function getVersion()
12 33 {
13 34 return '1.6.1';
14 35 }
15 36
16 - public function update(): bool
37 + /**
38 + * Executes the update.
39 + *
40 + * @return bool
41 + */
42 + public function update()
17 43 {
18 44 $dbAccessGroupToObject = $this->database->getUserGroupToObjectTable();
19 45
20 46 $dbGroupTypeColumn = $this->database->getVariable(
21 - "SHOW COLUMNS FROM `{$dbAccessGroupToObject}`
47 + "SHOW COLUMNS FROM {$dbAccessGroupToObject}
22 48 LIKE 'group_type'"
23 49 );
24 50
25 51 if ($dbGroupTypeColumn !== 'group_type') {
26 - $alterQuery = "ALTER TABLE `{$dbAccessGroupToObject}`
27 - ADD `group_type` VARCHAR(32) NOT NULL AFTER `group_id`,
28 - ADD `from_date` DATETIME NULL DEFAULT NULL,
29 - ADD `to_date` DATETIME NULL DEFAULT NULL,
30 - MODIFY `group_id` VARCHAR(32) NOT NULL,
31 - MODIFY `object_id` VARCHAR(32) NOT NULL,
32 - MODIFY `object_type` VARCHAR(32) NOT NULL,
52 + $alterQuery = "ALTER TABLE {$dbAccessGroupToObject}
53 + ADD group_type VARCHAR(32) NOT NULL AFTER group_id,
54 + ADD from_date DATETIME NULL DEFAULT NULL,
55 + ADD to_date DATETIME NULL DEFAULT NULL,
56 + MODIFY group_id VARCHAR(32) NOT NULL,
57 + MODIFY object_id VARCHAR(32) NOT NULL,
58 + MODIFY object_type VARCHAR(32) NOT NULL,
33 59 DROP PRIMARY KEY,
34 - ADD PRIMARY KEY (`object_id`, `object_type`, `group_id`, `group_type`)";
60 + ADD PRIMARY KEY (object_id, object_type, group_id, group_type)";
35 61 } else {
36 - $alterQuery = "ALTER TABLE `{$dbAccessGroupToObject}`
37 - MODIFY `group_type` VARCHAR(32) NOT NULL,
38 - MODIFY `group_id` VARCHAR(32) NOT NULL,
39 - MODIFY `object_id` VARCHAR(32) NOT NULL,
40 - MODIFY `object_type` VARCHAR(32) NOT NULL";
62 + $alterQuery = "ALTER TABLE {$dbAccessGroupToObject}
63 + MODIFY group_type VARCHAR(32) NOT NULL,
64 + MODIFY group_id VARCHAR(32) NOT NULL,
65 + MODIFY object_id VARCHAR(32) NOT NULL,
66 + MODIFY object_type VARCHAR(32) NOT NULL";
41 67 }
42 68
43 69 $success = $this->database->query($alterQuery) !== false;
44 70