summaryrefslogtreecommitdiff
path: root/installer/install.php
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/install.php
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/install.php')
-rw-r--r--installer/install.php69
1 files changed, 69 insertions, 0 deletions
diff --git a/installer/install.php b/installer/install.php
new file mode 100644
index 00000000..edb571a5
--- /dev/null
+++ b/installer/install.php
@@ -0,0 +1,69 @@
+<?php
+/**
+ * Gallery - a web based photo album viewer and editor
+ * Copyright (C) 2000-2008 Bharat Mediratta
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * Batch Install program this is to only be run from the command line. The web interface uses
+ * a different approach to invoking the installer
+ * Command line parameters:
+ * -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
+ */
+
+if (PHP_SAPI != 'cli') {
+ $redirect = str_replace("install.php", "index.php", $_SERVER["REQUEST_URI"]);
+
+ header("Location: $redirect");
+ return;
+}
+
+if (file_exists('var')) {
+ dir("Gallery3 is already installed... exiting");
+}
+
+array_shift($argv); // remove the script name from the arguments
+
+define("DOCROOT", dirname(dirname(__FILE__)));
+chdir(DOCROOT);
+define('APPPATH', strtr(realpath('core') . '/', DIRECTORY_SEPARATOR, '/'));
+define('MODPATH', strtr(realpath('modules') . '/', DIRECTORY_SEPARATOR, '/'));
+define('THEMEPATH', strtr(realpath('themes') . '/', DIRECTORY_SEPARATOR, '/'));
+define('SYSPATH', strtr(realpath('kohana') . '/', DIRECTORY_SEPARATOR, '/'));
+define('EXT', ".php");
+
+include DOCROOT . "/installer/helpers/installer.php";
+
+// @todo Log the results of failed call
+if (installer::failed()) {
+ installer::display_requirements();
+ die;
+}
+installer::display_requirements();
+
+$install_config = installer::parse_cli_parms($argv);
+
+