PluginProbe
User Access Manager / 2.1.3
User Access Manager v2.1.3
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 / Update4.php

Update4.php in User Access Manager 2.1.3, at src/Setup/Update/Update4.php

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