aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/upgrades/2010062301.php
blob: f679fa46d70ded8ef917b9e90f33a2aed83a81d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

/**
 * Change ownership of group ACLs to group entity
 */

elgg_set_ignore_access(TRUE);

$params = array('type' => 'group',
				'limit' => 0);
$groups = elgg_get_entities($params);
if ($groups) {
	foreach ($groups as $group) {
		$acl = $group->group_acl;

		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);