summaryrefslogtreecommitdiff
path: root/installer/helpers
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-01-10 20:47:38 +0000
committerTim Almdal <tnalmdal@shaw.ca>2009-01-10 20:47:38 +0000
commit4c330e5a99567e7ce44353a9bba111c915752f1e (patch)
treed4bf0c07091d22e2dd2cdd9b6e6c302b5dd7c048 /installer/helpers
parente45bbf57e88b06bf9783ffc47a952a3dee5052ec (diff)
Continuing baby steps to a batch installer. At this point you can run the installer and it will parse the command line arguments.
currently the following arguments are accepted -h(database host) -u(database user) -p(database password) -d(database name) -t(table prefex) or -f(a response file). The order of processing, defaults are set. if the response file is provided, the contained values are merged and finally any command line parameters are merged.
Diffstat (limited to 'installer/helpers')
-rw-r--r--installer/helpers/installer.php (renamed from installer/helpers/system_check.php)54
1 files changed, 52 insertions, 2 deletions
diff --git a/installer/helpers/system_check.php b/installer/helpers/installer.php
index b0bd7e12..2c7e39ff 100644
--- a/installer/helpers/system_check.php
+++ b/installer/helpers/installer.php
@@ -17,9 +17,10 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
-class system_check {
+class installer {
private static $messages = array();
-
+ private static $config = array();
+
public function failed() {
$failed = false;
if (version_compare(PHP_VERSION, "5.2", "<")) {
@@ -154,6 +155,55 @@ class system_check {
}
}
+/* -h Database host (default: localhost)
+ * -u Database user (default: root)
+ * -p Database user password (default: )
+ * -d Database name (default: gallery3)
+ * -t Table prefix (default: )
+ * -f Response file (default: not used)
+ * The response file is a php file that contains the following syntax;
+ * $config[key] = value;
+ * Where key is one of "host", "user", "password", "dbname", "prefix". Values specified
+ * on the command line will override values contained in this file
+ */
+ public function parse_cli_parms($argv) {
+ for ($i=0; $i < count($argv); $i++) {
+ switch (strtolower($argv[$i])) {
+ case "-d":
+ $arguments["dbname"] = $argv[++$i];
+ break;
+ case "-h":
+ $arguments["host"] = $argv[++$i];
+ break;
+ case "-u":
+ $arguments["user"] = $argv[++$i];
+ break;
+ case "-p":
+ $arguments["password"] = $argv[++$i];
+ break;
+ case "-t":
+ $arguments["prefix"] = $argv[++$i];
+ break;
+ case "-f":
+ $arguments["file"] = $argv[++$i];
+ break;
+ }
+ }
+
+ $config = array("host" => "localhost", "user" => "root", "password" => "",
+ "dbname" => "gallery3", "prefix" => "");
+
+ if (!empty($arguments["file"])) {
+ if (file_exists($arguments["file"])) {
+ include $arguments["file"];
+ }
+ unset($arguments["file"]);
+ }
+ self::$config = array_merge($config, $arguments);
+
+ var_dump(self::$config);
+ }
+
private static function _render($view) {
if ($view == '')
return;