diff options
Diffstat (limited to 'scripts/initializeinbox.php')
-rw-r--r-- | scripts/initializeinbox.php | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/scripts/initializeinbox.php b/scripts/initializeinbox.php index 43afc48eb..44508fe22 100644 --- a/scripts/initializeinbox.php +++ b/scripts/initializeinbox.php @@ -20,17 +20,18 @@ define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); -$shortoptions = 'i:n:af'; -$longoptions = array('id=', 'nickname=', 'all', 'force'); +$shortoptions = 'i:n:af:'; +$longoptions = array('id=', 'nickname=', 'all', 'file='); $helptext = <<<END_OF_INITIALIZEINBOX_HELP initializeinbox.php [options] initialize the inbox for a user - -i --id ID of user to update - -n --nickname nickname of the user to update - -f --force force update even if user already has a location - -a --all update all + -i --id ID of user to update + -n --nickname nickname of the user to update + -f FILENAME read list of IDs from FILENAME (1 per line) + --file=FILENAME ditto + -a --all update all END_OF_INITIALIZEINBOX_HELP; @@ -60,6 +61,21 @@ try { initializeInbox($user); } } + } else if (have_option('f', 'file')) { + $filename = get_option_value('f', 'file'); + if (!file_exists($filename)) { + throw new Exception("No such file '$filename'."); + } else if (!is_readable($filename)) { + throw new Exception("Can't read '$filename'."); + } + $ids = file($filename); + foreach ($ids as $id) { + $user = User::staticGet('id', $id); + if (empty($user)) { + print "Can't find user with id '$id'.\n"; + } + initializeInbox($user); + } } else { show_help(); exit(1); @@ -75,14 +91,20 @@ function initializeInbox($user) print "Initializing inbox for $user->nickname..."; } - $inbox = Inbox::staticGet('user_id', $user_id); + $inbox = Inbox::staticGet('user_id', $user->id); + if ($inbox && !empty($inbox->fake)) { + if (!have_option('q', 'quiet')) { + echo "(replacing faux cached inbox)"; + } + $inbox = false; + } if (!empty($inbox)) { if (!have_option('q', 'quiet')) { print "SKIP\n"; } } else { - $inbox = Inbox::initialize($user_id); + $inbox = Inbox::initialize($user->id); if (!have_option('q', 'quiet')) { if (empty($inbox)) { print "ERR\n"; |