]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - scripts/checkschema.php
CSS to align the notice footer (thanks fnadde42)
[quix0rs-gnu-social.git] / scripts / checkschema.php
index 73fd74302c6ad1230794f5b4ba12e897cb608298..cec5773683ef8ef52d7c7b13ab615fe896a2163c 100755 (executable)
@@ -2,7 +2,7 @@
 <?php
 /*
  * StatusNet - a distributed open-source microblogging tool
- * Copyright (C) 2008, 2009, StatusNet, Inc.
+ * Copyright (C) 2008-2011 StatusNet, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
 
 define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
 
+$shortoptions = 'x::';
+$longoptions = array('extensions=');
+
 $helptext = <<<END_OF_CHECKSCHEMA_HELP
+php checkschema.php [options]
 Gives plugins a chance to update the database schema.
 
+    -x --extensions=     Comma-separated list of plugins to load before checking
+
+
 END_OF_CHECKSCHEMA_HELP;
 
 require_once INSTALLDIR.'/scripts/commandline.inc';
@@ -41,4 +48,17 @@ foreach (tableDefs() as $table => $def) {
 }
 $schemaUpdater->checkSchema();
 
+if (have_option('x', 'extensions')) {
+    $ext = trim(get_option_value('x', 'extensions'));
+    $exts = explode(',', $ext);
+    foreach ($exts as $plugin) {
+        try {
+            addPlugin($plugin);
+        } catch (Exception $e) {
+            print $e->getMessage()."\n";
+            exit(1);
+        }
+    }
+}
+
 Event::handle('CheckSchema');