summaryrefslogtreecommitdiff
path: root/installer
diff options
context:
space:
mode:
Diffstat (limited to 'installer')
-rw-r--r--installer/cli.php5
-rw-r--r--installer/installer.php41
-rw-r--r--installer/web.php42
3 files changed, 47 insertions, 41 deletions
diff --git a/installer/cli.php b/installer/cli.php
index 50845ea4..182c3d26 100644
--- a/installer/cli.php
+++ b/installer/cli.php
@@ -30,6 +30,11 @@ if (installer::already_installed()) {
return;
}
+$errors = installer::check_environment();
+if ($errors) {
+ oops(implode("errors", "\n"));
+}
+
$config = parse_cli_params();
if (!installer::connect($config)) {
oops("Unable to connect to the database.\n" . mysql_error() . "\n");
diff --git a/installer/installer.php b/installer/installer.php
index 7a417634..70afc440 100644
--- a/installer/installer.php
+++ b/installer/installer.php
@@ -178,4 +178,45 @@ class installer {
static function prepend_prefix($prefix, $sql) {
return preg_replace("#{([a-zA-Z0-9_]+)}#", "{$prefix}$1", $sql);
}
+
+ static function check_environment() {
+ if (!function_exists("mysql_query") && !function_exists("mysqli_set_charset")) {
+ $errors[] = "Gallery 3 requires a MySQL database, but PHP doesn't have either the <a href=\"http://php.net/mysql\">MySQL</a> or the <a href=\"http://php.net/mysqli\">MySQLi</a> extension.";
+ }
+
+ if (!@preg_match("/^.$/u", utf8_encode("\xF1"))) {
+ $errors[] = "PHP is missing <a href=\"http://php.net/pcre\">Perl-Compatible Regular Expression</a> support.";
+ }
+
+ if (!(function_exists("spl_autoload_register"))) {
+ $errors[] = "PHP is missing <a href=\"http://php.net/spl\">Standard PHP Library (SPL)</a> support";
+ }
+
+ if (!(class_exists("ReflectionClass"))) {
+ $errors[] = "PHP is missing <a href=\"http://php.net/reflection\">reflection</a> support";
+ }
+
+ if (!(function_exists("filter_list"))) {
+ $errors[] = "PHP is missing the <a href=\"http://php.net/filter\">filter extension</a>";
+ }
+
+ if (!(extension_loaded("iconv"))) {
+ $errors[] = "PHP is missing the <a href=\"http://php.net/iconv\">iconv extension</a>";
+ }
+
+ if (!(extension_loaded("simplexml"))) {
+ $errors[] = "PHP is missing the <a href=\"http://php.net/simplexml\">SimpleXML extension</a>";
+ }
+
+ if (extension_loaded("mbstring") && (ini_get("mbstring.func_overload") & MB_OVERLOAD_STRING)) {
+ $errors[] = "The <a href=\"http://php.net/mbstring\">mbstring extension</a> is overloading PHP's native string functions. Please disable it.";
+ }
+
+ if (!function_exists("json_encode")) {
+ $errors[] = "PHP is missing the <a href=\"http://php.net/manual/en/book.json.php\">JavaScript Object Notation (JSON) extension</a>. Please install it.";
+ }
+
+ return @$errors;
+}
+
}
diff --git a/installer/web.php b/installer/web.php
index eb0211a6..c46f072a 100644
--- a/installer/web.php
+++ b/installer/web.php
@@ -23,7 +23,7 @@ if (installer::already_installed()) {
switch (@$_GET["step"]) {
default:
case "welcome":
- $errors = check_environment();
+ $errors = installer::check_environment();
if ($errors) {
$content = render("environment_errors.html.php", array("errors" => $errors));
} else {
@@ -80,43 +80,3 @@ function render($view, $args=array()) {
function oops($error) {
return render("oops.html.php", array("error" => $error));
}
-
-function check_environment() {
- if (!function_exists("mysql_query") && !function_exists("mysqli_set_charset")) {
- $errors[] = "Gallery 3 requires a MySQL database, but PHP doesn't have either the <a href=\"http://php.net/mysql\">MySQL</a> or the <a href=\"http://php.net/mysqli\">MySQLi</a> extension.";
- }
-
- if (!@preg_match("/^.$/u", utf8_encode("\xF1"))) {
- $errors[] = "PHP is missing <a href=\"http://php.net/pcre\">Perl-Compatible Regular Expression</a> support.";
- }
-
- if (!(function_exists("spl_autoload_register"))) {
- $errors[] = "PHP is missing <a href=\"http://php.net/spl\">Standard PHP Library (SPL)</a> support";
- }
-
- if (!(class_exists("ReflectionClass"))) {
- $errors[] = "PHP is missing <a href=\"http://php.net/reflection\">reflection</a> support";
- }
-
- if (!(function_exists("filter_list"))) {
- $errors[] = "PHP is missing the <a href=\"http://php.net/filter\">filter extension</a>";
- }
-
- if (!(extension_loaded("iconv"))) {
- $errors[] = "PHP is missing the <a href=\"http://php.net/iconv\">iconv extension</a>";
- }
-
- if (!(extension_loaded("simplexml"))) {
- $errors[] = "PHP is missing the <a href=\"http://php.net/simplexml\">SimpleXML extension</a>";
- }
-
- if (extension_loaded("mbstring") && (ini_get("mbstring.func_overload") & MB_OVERLOAD_STRING)) {
- $errors[] = "The <a href=\"http://php.net/mbstring\">mbstring extension</a> is overloading PHP's native string functions. Please disable it.";
- }
-
- if (!function_exists("json_encode")) {
- $errors[] = "PHP is missing the <a href=\"http://php.net/manual/en/book.json.php\">JavaScript Object Notation (JSON) extension</a>. Please install it.";
- }
-
- return @$errors;
-}