From e717cba19c1badb97b87e7654e7535d57fa9c9f3 Mon Sep 17 00:00:00 2001 From: Christopher Vollick Date: Thu, 18 Feb 2010 13:44:16 -0500 Subject: [PATCH] Add Script To Update Group Avatar URLs Similar to scripts/updateavatarurl.php. Works for groups. Again, I had to do some weird thing because using clone screwed up the find() iteration. --- scripts/updateavatarurl_group.php | 99 +++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 scripts/updateavatarurl_group.php diff --git a/scripts/updateavatarurl_group.php b/scripts/updateavatarurl_group.php new file mode 100644 index 0000000000..ada42de202 --- /dev/null +++ b/scripts/updateavatarurl_group.php @@ -0,0 +1,99 @@ +#!/usr/bin/env php +. + */ + +define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); + +$shortoptions = 'i:n:a'; +$longoptions = array('id=', 'nickname=', 'all'); + +$helptext = <<find()) { + while ($group->fetch()) { + updateGroupAvatars($group); + } + } + } else { + show_help(); + exit(1); + } +} catch (Exception $e) { + print $e->getMessage()."\n"; + exit(1); +} + +function updateGroupAvatars($group) +{ + if (!have_option('q', 'quiet')) { + print "Updating avatars for group '".$group->nickname."' (".$group->id.")..."; + } + + if (empty($group->original_logo)) { + print "(none found)..."; + } else { + // Using clone here was screwing up the group->find() iteration + $orig = User_group::staticGet('id', $group->id); + + $group->original_logo = Avatar::url(basename($group->original_logo)); + $group->homepage_logo = Avatar::url(basename($group->homepage_logo)); + $group->stream_logo = Avatar::url(basename($group->stream_logo)); + $group->mini_logo = Avatar::url(basename($group->mini_logo)); + + if (!$group->update($orig)) { + throw new Exception("Can't update avatars for group " . $group->nickname . "."); + } + } + + if (have_option('v', 'verbose')) { + print "DONE."; + } + if (!have_option('q', 'quiet') || have_option('v', 'verbose')) { + print "\n"; + } +}