Skip to content

Commit

Permalink
Refs #3510, #3416. Merged update for making sure users have relations…
Browse files Browse the repository at this point in the history
…hip member_of on site object.

git-svn-id: http://code.elgg.org/elgg/trunk@9144 36083f99-b078-4883-b0ff-0f9b5a30f544
  • Loading branch information
brettp committed Jun 8, 2011
1 parent 0254a2d commit 740d6a5
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 1 deletion.
45 changes: 45 additions & 0 deletions engine/lib/upgrades/2011052801.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php
/**
* Make sure all users have the relationship member_of_site
*/
global $DB_QUERY_CACHE, $DB_PROFILE, $ENTITY_CACHE, $CONFIG;
$db_prefix = get_config('dbprefix');

$limit = 100;

$q = "SELECT e.* FROM {$db_prefix}entities e
WHERE e.type = 'user' AND e.guid NOT IN (
SELECT guid_one FROM {$db_prefix}entity_relationships
WHERE guid_two = 1 AND relationship = 'member_of_site'
)
LIMIT $limit";

$users = get_data($q);

while ($users) {
$DB_QUERY_CACHE = $DB_PROFILE = $ENTITY_CACHE = array();

// do manually to not trigger any events because these aren't new users.
foreach ($users as $user) {
$rel_q = "INSERT INTO {$db_prefix}entity_relationships VALUES (
'',
'$user->guid',
'member_of_site',
'$user->site_guid',
'$user->time_created'
)";

insert_data($rel_q);
}

// every time we run this query we've just reduced the rows it returns by $limit
// so don't pass an offset.
$q = "SELECT e.* FROM {$db_prefix}entities e
WHERE e.type = 'user' AND e.guid NOT IN (
SELECT guid_one FROM {$db_prefix}entity_relationships
WHERE guid_two = 1 AND relationship = 'member_of_site'
)
LIMIT $limit";

$users = get_data($q);
}
2 changes: 1 addition & 1 deletion version.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

// YYYYMMDD = Elgg Date
// XX = Interim incrementer
$version = 2011032200;
$version = 2011052801;

// Human-friendly version name
$release = '1.8b1';

0 comments on commit 740d6a5

Please sign in to comment.