accept file for initializeinbox.php

This commit is contained in:
Evan Prodromou 2010-01-13 18:28:08 -08:00
parent 085406ea88
commit aa23698553
1 changed files with 22 additions and 6 deletions

View File

@ -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)) {
throw new Exception("Can't find user with id '$id'.");
}
initializeInbox($user);
}
} else {
show_help();
exit(1);