diff options
Diffstat (limited to 'engine/lib')
-rw-r--r-- | engine/lib/upgrades/2010062301.php | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/engine/lib/upgrades/2010062301.php b/engine/lib/upgrades/2010062301.php index 96fd6c810..049a93440 100644 --- a/engine/lib/upgrades/2010062301.php +++ b/engine/lib/upgrades/2010062301.php @@ -13,8 +13,19 @@ if ($groups) { foreach ($groups as $group) { $acl = $group->group_acl; - $query = "UPDATE {$CONFIG->dbprefix}access_collections SET owner_guid = $group->guid WHERE id = $acl"; - update_data($query); + try { + $query = "UPDATE {$CONFIG->dbprefix}access_collections SET owner_guid = $group->guid WHERE id = $acl"; + update_data($query); + } catch (Exception $e) { + // no acl so create one + $ac_name = elgg_echo('groups:group') . ": " . $group->name; + $group_acl = create_access_collection($ac_name, $group->guid); + if ($group_acl) { + create_metadata($group->guid, 'group_acl', $group_acl, 'integer', $group->owner_guid); + $object->group_acl = $group_id; + } + } + } } elgg_set_ignore_access(FALSE); |