PluginProbe
User Access Manager / 2.2.12
User Access Manager v2.2.12
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 / DatabaseUpdate5.php

DatabaseUpdate5.php in User Access Manager 2.2.12, at src/Setup/Update/DatabaseUpdate5.php

70 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * DatabaseUpdate5.php
4 *
5 * The DatabaseUpdate5 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
16 declare(strict_types=1);
17
18 namespace UserAccessManager\Setup\Update;
19
20 use Exception;
21 use UserAccessManager\Setup\Database\DatabaseUpdate;
22
23 /**
24 * Class DatabaseUpdate5
25 *
26 * @package UserAccessManager\Setup\Update
27 */
28 class DatabaseUpdate5 extends DatabaseUpdate
29 {
30 /**
31 * Returns the version.
32 * @return string
33 */
34 public function getVersion(): string
35 {
36 return '1.5.1';
37 }
38
39 /**
40 * Executes the update.
41 * @return bool
42 * @throws Exception
43 */
44 public function update(): bool
45 {
46 $dbAccessGroupToObject = $this->database->getUserGroupToObjectTable();
47 $query = "SELECT object_id AS objectId, object_type AS objectType, group_id AS groupId
48 FROM {$dbAccessGroupToObject}
49 WHERE general_object_type = ''";
50
51 $dbObjects = (array) $this->database->getResults($query);
52 $success = true;
53
54 foreach ($dbObjects as $dbObject) {
55 $update = $this->database->update(
56 $dbAccessGroupToObject,
57 ['general_object_type' => $this->objectHandler->getGeneralObjectType($dbObject->objectType)],
58 [
59 'object_id' => $dbObject->objectId,
60 'group_id' => $dbObject->groupId,
61 'object_type' => $dbObject->objectType
62 ]
63 );
64 $success = $success && ($update !== false);
65 }
66
67 return $success;
68 }
69 }
70