We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit 841c71f3 authored by Evan Prodromou's avatar Evan Prodromou

Add profile lists for all tags on upgrade

parent 5eddfd1e
......@@ -52,6 +52,8 @@ function main()
initSubscriptionURI();
initGroupMemberURI();
initProfileLists();
Event::handle('EndUpgrade');
}
}
......@@ -374,4 +376,47 @@ function initGroupMemberURI()
printfnq("DONE.\n");
}
function initProfileLists()
{
printfnq("Ensuring all profile tags have a corresponding list...");
$ptag = new Profile_tag();
$ptag->selectAdd();
$ptag->selectAdd('tagger, tag, count(*) as tagged_count');
$ptag->whereAdd('NOT EXISTS (SELECT tagger, tagged from profile_list '.
'where profile_tag.tagger = profile_list.tagger '.
'and profile_tag.tag = profile_list.tag)');
$ptag->groupBy('tagger, tag');
$ptag->orderBy('tagger, tag');
if ($ptag->find()) {
while ($ptag->fetch()) {
$plist = new Profile_list();
$plist->tagger = $ptag->tagger;
$plist->tag = $ptag->tag;
$plist->private = 0;
$plist->created = common_sql_now();
$plist->modified = $plist->created;
$plist->mainpage = common_local_url('showprofiletag',
array('tagger' => $plist->getTagger()->nickname,
'tag' => $plist->tag));;
$plist->tagged_count = $ptag->tagged_count;
$plist->subscriber_count = 0;
$plist->insert();
$orig = clone($plist);
// After insert since it uses auto-generated ID
$plist->uri = common_local_url('profiletagbyid',
array('id' => $plist->id, 'tagger_id' => $plist->tagger));
$plist->update($orig);
}
}
printfnq("DONE.\n");
}
main();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment