aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/upgrades
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/upgrades')
-rw-r--r--engine/lib/upgrades/2010062301.php15
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);