]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
accept file for initializeinbox.php
authorEvan Prodromou <evan@status.net>
Thu, 14 Jan 2010 02:28:08 +0000 (18:28 -0800)
committerEvan Prodromou <evan@status.net>
Thu, 14 Jan 2010 02:28:08 +0000 (18:28 -0800)
scripts/initializeinbox.php

index 43afc48eb2b2822ed057d441d03ccd5ea943ebd1..bc31cba1539091222db0e980536d2ce9567db81c 100644 (file)
 
 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);