diff options
Diffstat (limited to 'installer/helpers')
-rw-r--r-- | installer/helpers/installer.php | 88 |
1 files changed, 47 insertions, 41 deletions
diff --git a/installer/helpers/installer.php b/installer/helpers/installer.php index 2c7e39ff..4ab1d94e 100644 --- a/installer/helpers/installer.php +++ b/installer/helpers/installer.php @@ -21,130 +21,139 @@ class installer { private static $messages = array(); private static $config = array(); - public function failed() { + public function environment_check() { $failed = false; + $section = array("header" => "Environment Test", + "description" => "The following tests have been run to determine if " . + "Gallery3 will work in your environment. If any of the tests have " . + "failed, consult the documention on http://gallery.menalto.com for " . + "more information on how to correct the problem.", + "msgs" => array()); + if (version_compare(PHP_VERSION, "5.2", "<")) { - self::$messages["PHP Version"] = array("error" => true, + $section["msgs"]["PHP Version"] = array("error" => true, "text" => sprintf("Gallery3 requires PHP 5.2 or newer, current version: %s.", PHP_VERSION)); $failed = true; } else { - self::$messages["PHP Version"] = array("error" => false, + $section["msgs"]["PHP Version"] = array("error" => false, "text" => PHP_VERSION); } if (!(is_dir(SYSPATH) AND is_file(SYSPATH.'core/Bootstrap'.EXT))) { - self::$messages["Kohana Directory"] = array("error" => true, + $section["msgs"]["Kohana Directory"] = array("error" => true, "text" => "The configured Kohana directory does not exist or does not contain the required files."); } else { - self::$messages["Kohana Directory"] = array("error" => false, + $section["msgs"]["Kohana Directory"] = array("error" => false, "text" => SYSPATH); } if (!(is_dir(APPPATH) AND is_file(APPPATH.'config/config'.EXT))) { - self::$messages["Application Directory"] = array("error" => true, + $section["msgs"]["Application Directory"] = array("error" => true, "text" => "The configured Gallery3 application directory does not exist or does not contain the required files."); $failed = true; } else { - self::$messages["Application Directory"] = array("error" => false, + $section["msgs"]["Application Directory"] = array("error" => false, "text" => APPPATH); } if (!(is_dir(MODPATH))) { - self::$messages["Modules Directory"] = array("error" => true, + $section["msgs"]["Modules Directory"] = array("error" => true, "text" => "The configured Gallery3 modules directory does not exist or does not contain the required files."); $failed = true; } else { - self::$messages["Modules Directory"] = array("error" => false, + $section["msgs"]["Modules Directory"] = array("error" => false, "text" => MODPATH); } if (!(is_dir(THEMEPATH))) { - self::$messages["Theme Directory"] = array("error" => true, + $section["msgs"]["Theme Directory"] = array("error" => true, "text" => "The configured Gallery3 themes directory does not exist or does not contain the required files."); $failed = true; } else { - self::$messages["Themes Directory"] = array("error" => false, + $section["msgs"]["Themes Directory"] = array("error" => false, "text" => THEMEPATH); } if (!@preg_match("/^.$/u", utf8_encode("\xF1"))) { - self::$messages["PCRE UTF-8"] = array("error" => true, + $section["msgs"]["PCRE UTF-8"] = array("error" => true, "text" => "Perl-Compatible Regular Expressions has not been compiled with UTF-8 support.", "html" => "<a href=\"http://php.net/pcre\">PCRE</a> has not been compiled with UTF-8 support."); $failed = true; } else if (!@preg_match("/^\pL$/u", utf8_encode("\xF1"))) { - self::$messages["PCRE UTF-8"] = array("error" => true, + $section["msgs"]["PCRE UTF-8"] = array("error" => true, "text" => "Perl-Compatible Regular Expressions has not been compiled with Unicode support.", "html" => "<a href=\"http://php.net/pcre\">PCRE</a> has not been compiled with Unicode property support."); $failed = true; } else { - self::$messages["PCRE UTF-8"] = array("error" => false, + $section["msgs"]["PCRE UTF-8"] = array("error" => false, "text" => "Pass"); } if (!(class_exists("ReflectionClass"))) { - self::$messages["Reflection Enabled"] = array("error" => true, + $section["msgs"]["Reflection Enabled"] = array("error" => true, "text" => "PHP relection is either not loaded or not compiled in.", "html" => "PHP <a href=\"http://php.net/reflection\">relection<a> is either not loaded or not compiled in."); $failed = true; } else { - self::$messages["Reflection Enabled"] = array("error" => false, + $section["msgs"]["Reflection Enabled"] = array("error" => false, "text" => "Pass"); } if (!(function_exists("filter_list"))) { - self::$messages["Filters Enabled"] = array("error" => true, + $section["msgs"]["Filters Enabled"] = array("error" => true, "text" => "The filter extension is either not loaded or not compiled in.", "html" => "The <a href=\"http://php.net/filter\">filter</a> extension is either not loaded or not compiled in."); $failed = true; } else { - self::$messages["Filters Enabled"] = array("error" => false, + $section["msgs"]["Filters Enabled"] = array("error" => false, "text" => "Pass"); } if (!(extension_loaded("iconv"))) { - self::$messages["Iconv Loaded"] = array("error" => true, + $section["msgs"]["Iconv Loaded"] = array("error" => true, "text" => "The iconv extension is not loaded.", "html" => "The <a href=\"http://php.net/iconv\">iconv</a> extension is not loaded."); $failed = true; } else { - self::$messages["Iconv Enabled"] = array("error" => false, + $section["msgs"]["Iconv Enabled"] = array("error" => false, "text" => "Pass"); } if (extension_loaded("mbstring") && (ini_get("mbstring.func_overload") & MB_OVERLOAD_STRING)) { - self::$messages["Mbstring Overloaded"] = array("error" => true, + $section["msgs"]["Mbstring Overloaded"] = array("error" => true, "text" => "The mbstring extension is overloading PHP's native string functions.", "html" => "The <a href=\"http://php.net/mbstring\">mbstring</a> extension is overloading PHP's native string functions."); $failed = true; } else { - self::$messages["MbString Overloaded"] = array("error" => false, + $section["msgs"]["MbString Overloaded"] = array("error" => false, "text" => "Pass"); } if (!(isset($_SERVER["REQUEST_URI"]) || isset($_SERVER["PHP_SELF"]))) { - self::$messages["URI Determination"] = array("error" => true, + $section["msgs"]["URI Determination"] = array("error" => true, "text" => "Neither \$_SERVER['REQUEST_URI'] or \$_SERVER['PHP_SELF'] is available.", "html" => "Neither <code>\$_SERVER['REQUEST_URI']</code> or <code>\$_SERVER['PHP_SELF']<code> is available."); $failed = true; } else { - self::$messages["URI Determination"] = array("error" => false, + $section["msgs"]["URI Determination"] = array("error" => false, "text" => "Pass"); } $short_tags = ini_get("short_open_tag"); if (empty($short_tags)) { - self::$messages["Short Tags"] = array("error" => true, + $section["msgs"]["Short Tags"] = array("error" => true, "text" => "Gallery3 requires that PHP short tags be enabled.", "html" => "Gallery3 requires that PHP <a href=\"http://ca2.php.net/manual/en/ini.core.php\">short tags</a> be enabled"); $failed = true; } else { - self::$messages["Short Tags"] = array("error" => false, + $section["msgs"]["Short Tags"] = array("error" => false, "text" => "Pass"); } - return $failed; + self::$messages[] = $section; + + return !$failed; } public static function display_requirements() { @@ -155,18 +164,11 @@ class installer { } } -/* -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) { + public static function parse_cli_parms($argv) { + $section = array("header" => "Installation Parameters", + "description" => "The following parameters will be used to install and " . + "configure your Gallery3 installation.", + "msgs" => array()); for ($i=0; $i < count($argv); $i++) { switch (strtolower($argv[$i])) { case "-d": @@ -200,8 +202,12 @@ class installer { unset($arguments["file"]); } self::$config = array_merge($config, $arguments); - - var_dump(self::$config); + + foreach (self::$config as $key => $value) { + $section["msgs"][$key] = array("text" => $value, "error" => false); + } + self::$messages[] = $section; + } private static function _render($view) { |