summaryrefslogtreecommitdiff
path: root/scripts/initializeinbox.php
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/initializeinbox.php')
-rw-r--r--scripts/initializeinbox.php38
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";