database->getUserGroupToObjectTable(); $alterQuery = "ALTER TABLE {$dbAccessGroupToObject} ADD general_object_type VARCHAR(64) NOT NULL AFTER object_id"; $success = $this->database->query($alterQuery) !== false; $generalTermType = ObjectHandler::GENERAL_TERM_OBJECT_TYPE; $objectTypeConditions = [ ObjectHandler::GENERAL_POST_OBJECT_TYPE => "object_type IN ('post', 'page', 'attachment')", ObjectHandler::GENERAL_ROLE_OBJECT_TYPE => "object_type = 'role'", ObjectHandler::GENERAL_USER_OBJECT_TYPE => "object_type = 'user'", $generalTermType => "object_type = 'term'" ]; foreach ($objectTypeConditions as $generalObjectType => $condition) { $query = "UPDATE {$dbAccessGroupToObject} SET general_object_type = '$generalObjectType' WHERE $condition"; $success = $success && $this->database->query($query) !== false; } $query = "UPDATE $dbAccessGroupToObject AS gto LEFT JOIN {$this->database->getTermTaxonomyTable()} AS tt ON gto.object_id = tt.term_id SET gto.object_type = tt.taxonomy WHERE gto.general_object_type = '$generalTermType'"; return $success && $this->database->query($query) !== false; } }