PluginProbe
User Access Manager / 2.1.9
User Access Manager v2.1.9
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
user-access-manager / src / Setup / Update / DatabaseUpdate4.php

DatabaseUpdate4.php in User Access Manager 2.1.9, at src/Setup/Update/DatabaseUpdate4.php

97 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * DatabaseUpdate4.php
4 *
5 * The DatabaseUpdate4 class file.
6 *
7 * PHP versions 5
8 *
9 * @author Alexander Schneider <alexanderschneider85@gmail.com>
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 */
15 namespace UserAccessManager\Setup\Update;
16
17 use UserAccessManager\Object\ObjectHandler;
18 use UserAccessManager\Setup\Database\DatabaseUpdate;
19
20 /**
21 * Class DatabaseUpdate4
22 *
23 * @package UserAccessManager\Setup\Update
24 */
25 class DatabaseUpdate4 extends DatabaseUpdate
26 {
27 /**
28 * Returns the version.
29 *
30 * @return string
31 */
32 public function getVersion()
33 {
34 return '1.4';
35 }
36
37 /**
38 * Executes the update.
39 *
40 * @return bool
41 */
42 public function update()
43 {
44 $success = true;
45
46 $dbAccessGroupToObject = $this->database->getUserGroupToObjectTable();
47 $alterQuery = "ALTER TABLE {$dbAccessGroupToObject}
48 ADD general_object_type VARCHAR(64) NOT NULL AFTER object_id";
49
50 $success = $success && $this->database->query($alterQuery) !== false;
51
52 // Update post entries
53 $generalPostType = ObjectHandler::GENERAL_POST_OBJECT_TYPE;
54
55 $query = "UPDATE {$dbAccessGroupToObject}
56 SET general_object_type = '{$generalPostType}'
57 WHERE object_type IN ('post', 'page', 'attachment')";
58
59 $success = $success && $this->database->query($query) !== false;
60
61 // Update role entries
62 $generalRoleType = ObjectHandler::GENERAL_ROLE_OBJECT_TYPE;
63
64 $query = "UPDATE {$dbAccessGroupToObject}
65 SET general_object_type = '{$generalRoleType}'
66 WHERE object_type = 'role'";
67
68 $success = $success && $this->database->query($query) !== false;
69
70 // Update user entries
71 $generalUserType = ObjectHandler::GENERAL_USER_OBJECT_TYPE;
72
73 $query = "UPDATE {$dbAccessGroupToObject}
74 SET general_object_type = '{$generalUserType}'
75 WHERE object_type = 'user'";
76
77 $success = $success && $this->database->query($query) !== false;
78
79 // Update term entries
80 $generalTermType = ObjectHandler::GENERAL_TERM_OBJECT_TYPE;
81
82 $query = "UPDATE {$dbAccessGroupToObject}
83 SET general_object_type = '{$generalTermType}'
84 WHERE object_type = 'term'";
85
86 $success = $success && $this->database->query($query) !== false;
87
88 $query = "UPDATE {$dbAccessGroupToObject} AS gto
89 LEFT JOIN {$this->database->getTermTaxonomyTable()} AS tt
90 ON gto.object_id = tt.term_id
91 SET gto.object_type = tt.taxonomy
92 WHERE gto.general_object_type = '{$generalTermType}'";
93
94 return $success && $this->database->query($query) !== false;
95 }
96 }
97