summaryrefslogtreecommitdiff
path: root/scripts/commandline.inc
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2009-06-23 14:29:46 -0700
committerZach Copley <zach@controlyourself.ca>2009-06-23 14:29:46 -0700
commitf04a54ed2f70686d67ed50da21bde61c55b07696 (patch)
treed4dbfac2a98e35b6f47696f787a3c2aa551f51ab /scripts/commandline.inc
parent31325f0995bb61413b07f166d253b13fb27d085d (diff)
parent2d3e990ed47ee1c7130e1febabe7133884a85c80 (diff)
Merge branch '0.8.x' of git@gitorious.org:laconica/dev into 0.8.x
* '0.8.x' of git@gitorious.org:laconica/dev: (61 commits) Using default theme design values (it was previously set to identica Updated default colour theme and IE6 colours for transparent values chmod +x delete_status_network.sh rm -Rf, not rmdir script to delete a status network chmod allsites.php script to show all sites on a network use different name for connection and database use /etc/laconica/setup.cfg instead of local file other base directories On XHR notice post, calls NoticeAttachment to trigger thumbnail and oembed and thumbnail don't need sequences add innodb by default to status networks pwgen not pwdgen make pwgen command configurable a little sql script to drop full-text index and use innodb for profile and notice remove common_debug from newnotice append uploads to content rather than showing them double use a subclass for single notice items to show attachments make file command configurable ...
Diffstat (limited to 'scripts/commandline.inc')
-rw-r--r--scripts/commandline.inc138
1 files changed, 138 insertions, 0 deletions
diff --git a/scripts/commandline.inc b/scripts/commandline.inc
new file mode 100644
index 000000000..4a7757fb9
--- /dev/null
+++ b/scripts/commandline.inc
@@ -0,0 +1,138 @@
+<?php
+/*
+ * Laconica - a distributed open-source microblogging tool
+ * Copyright (C) 2008, 2009, Control Yourself, 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+// -*- mode: php -*-
+
+# Abort if called from a web server
+
+if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
+ print "This script must be run from the command line\n";
+ exit();
+}
+
+define('LACONICA', true);
+
+// Set various flags so we don't time out on long-running processes
+
+ini_set("max_execution_time", "0");
+ini_set("max_input_time", "0");
+set_time_limit(0);
+mb_internal_encoding('UTF-8');
+
+// Add extlib to our path so we can get Console_Getopt
+
+$_extra_path = array(INSTALLDIR.'/extlib/');
+
+set_include_path(implode(PATH_SEPARATOR, $_extra_path) . PATH_SEPARATOR . get_include_path());
+
+require_once 'Console/Getopt.php';
+
+// Note: $shortoptions and $longoptions should be pre-defined!
+
+$_default_shortoptions = 'qvhc:s:p:';
+
+$_default_longoptions = array('quiet', 'verbose', 'help', 'conf=', 'server=', 'path=');
+
+if (isset($shortoptions)) {
+ $shortoptions .= $_default_shortoptions;
+} else {
+ $shortoptions = $_default_shortoptions;
+}
+
+if (isset($longoptions)) {
+ $longoptions = array_merge($longoptions, $_default_longoptions);
+} else {
+ $longoptions = $_default_longoptions;
+}
+
+$parser = new Console_Getopt();
+
+list($options, $args) = $parser->getopt($argv, $shortoptions, $longoptions);
+
+function show_help()
+{
+ global $helptext;
+
+ $_default_help_text = <<<END_OF_DEFAULT
+General options:
+
+ -q --quiet Quiet (little output)
+ -v --verbose Verbose (lots of output)
+ -c --conf=<filename> Use <filename> as config file
+ -s --server=<name> Use <name> as server name
+ -p --path=<path> Use <path> as path name
+ -h --help Show this message and quit.
+
+END_OF_DEFAULT;
+ if (isset($helptext)) {
+ print $helptext;
+ }
+ print $_default_help_text;
+ exit(0);
+}
+
+foreach ($options as $option) {
+
+ switch ($option[0]) {
+ case '--server':
+ case 's':
+ $server = $option[1];
+ break;
+
+ case '--path':
+ case 'p':
+ $path = $option[1];
+ break;
+
+ case '--conf':
+ case 'c':
+ $conffile = $option[1];
+ break;
+
+ case '--help':
+ case 'h':
+ show_help();
+ }
+}
+
+require_once INSTALLDIR . '/lib/common.php';
+
+set_error_handler('common_error_handler');
+
+function have_option($str)
+{
+ global $options;
+ foreach ($options as $option) {
+ if ($option[0] == $str) {
+ return true;
+ }
+ }
+ return false;
+}
+
+function get_option_value($str)
+{
+ global $options;
+ foreach ($options as $option) {
+ if ($option[0] == $str) {
+ return $option[1];
+ }
+ }
+ return null;
+} \ No newline at end of file