| @@ -4,8 +4,9 @@ | ||
| 4 | 4 | |
| 5 | 5 | namespace UserAccessManager\Setup\Update; |
| 6 | 6 | |
| 7 | 7 | use UserAccessManager\Object\ObjectHandler; |
| 8 | +use UserAccessManager\Setup\Database\DatabaseUpdate; | |
| 8 | 9 | |
| 9 | 10 | class DatabaseUpdate4 extends DatabaseUpdate |
| 10 | 11 | { |
| 11 | 12 | public function getVersion(): string |
| @@ -20,23 +21,43 @@ | ||
| 20 | 21 | ADD general_object_type VARCHAR(64) NOT NULL AFTER object_id"; |
| 21 | 22 | |
| 22 | 23 | $success = $this->database->query($alterQuery) !== false; |
| 23 | 24 | |
| 25 | + // Update post entries | |
| 26 | + $generalPostType = ObjectHandler::GENERAL_POST_OBJECT_TYPE; | |
| 27 | + | |
| 28 | + $query = "UPDATE {$dbAccessGroupToObject} | |
| 29 | + SET general_object_type = '$generalPostType' | |
| 30 | + WHERE object_type IN ('post', 'page', 'attachment')"; | |
| 31 | + | |
| 32 | + $success = $success && $this->database->query($query) !== false; | |
| 33 | + | |
| 34 | + // Update role entries | |
| 35 | + $generalRoleType = ObjectHandler::GENERAL_ROLE_OBJECT_TYPE; | |
| 36 | + | |
| 37 | + $query = "UPDATE {$dbAccessGroupToObject} | |
| 38 | + SET general_object_type = '$generalRoleType' | |
| 39 | + WHERE object_type = 'role'"; | |
| 40 | + | |
| 41 | + $success = $success && $this->database->query($query) !== false; | |
| 42 | + | |
| 43 | + // Update user entries | |
| 44 | + $generalUserType = ObjectHandler::GENERAL_USER_OBJECT_TYPE; | |
| 45 | + | |
| 46 | + $query = "UPDATE {$dbAccessGroupToObject} | |
| 47 | + SET general_object_type = '$generalUserType' | |
| 48 | + WHERE object_type = 'user'"; | |
| 49 | + | |
| 50 | + $success = $success && $this->database->query($query) !== false; | |
| 51 | + | |
| 52 | + // Update term entries | |
| 24 | 53 | $generalTermType = ObjectHandler::GENERAL_TERM_OBJECT_TYPE; |
| 25 | - $objectTypeConditions = [ | |
| 26 | - ObjectHandler::GENERAL_POST_OBJECT_TYPE => "object_type IN ('post', 'page', 'attachment')", | |
| 27 | - ObjectHandler::GENERAL_ROLE_OBJECT_TYPE => "object_type = 'role'", | |
| 28 | - ObjectHandler::GENERAL_USER_OBJECT_TYPE => "object_type = 'user'", | |
| 29 | - $generalTermType => "object_type = 'term'" | |
| 30 | - ]; | |
| 31 | 54 | |
| 32 | - foreach ($objectTypeConditions as $generalObjectType => $condition) { | |
| 33 | - $query = "UPDATE {$dbAccessGroupToObject} | |
| 34 | - SET general_object_type = '$generalObjectType' | |
| 35 | - WHERE $condition"; | |
| 55 | + $query = "UPDATE {$dbAccessGroupToObject} | |
| 56 | + SET general_object_type = '$generalTermType' | |
| 57 | + WHERE object_type = 'term'"; | |
| 36 | 58 | |
| 37 | - $success = $success && $this->database->query($query) !== false; | |
| 38 | - } | |
| 59 | + $success = $success && $this->database->query($query) !== false; | |
| 39 | 60 | |
| 40 | 61 | $query = "UPDATE $dbAccessGroupToObject AS gto |
| 41 | 62 | LEFT JOIN {$this->database->getTermTaxonomyTable()} AS tt |
| 42 | 63 | ON gto.object_id = tt.term_id |