diff --git a/admin/include/functions_install.inc.php b/admin/include/functions_install.inc.php
index 8d00a4d36..d55f4e057 100644
--- a/admin/include/functions_install.inc.php
+++ b/admin/include/functions_install.inc.php
@@ -138,4 +138,21 @@ function activate_all_themes()
$themes->perform_action('activate', $theme_id);
}
}
+
+function try_db_connection(&$infos, &$errors)
+{
+ try
+ {
+ $pwg_db_link = pwg_db_connect($_POST['dbhost'], $_POST['dbuser'],
+ $_POST['dbpasswd'], $_POST['dbname']);
+
+ array_push( $infos, l10n('Parameters are correct') );
+ return true;
+ }
+ catch (Exception $e)
+ {
+ array_push( $errors, l10n($e->getMessage()));
+ }
+ return false;
+}
?>
\ No newline at end of file
diff --git a/install.php b/install.php
index 926dddc67..9314253ef 100644
--- a/install.php
+++ b/install.php
@@ -24,8 +24,6 @@
//----------------------------------------------------------- include
define('PHPWG_ROOT_PATH','./');
-include(PHPWG_ROOT_PATH . 'admin/include/functions_install.inc.php');
-
@set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
//
// addslashes to vars if magic_quotes_gpc is off this is a security
@@ -182,7 +180,6 @@ elseif (@file_exists($config_file))
}
}
-include(PHPWG_ROOT_PATH .'include/dblayer/functions_'.$dblayer.'.inc.php');
include(PHPWG_ROOT_PATH . 'include/constants.php');
include(PHPWG_ROOT_PATH . 'include/functions.inc.php');
include(PHPWG_ROOT_PATH . 'admin/include/functions.php');
@@ -260,15 +257,13 @@ if (!isset($step))
$step = 1;
}
//---------------------------------------------------------------- form analyze
+include(PHPWG_ROOT_PATH .'include/dblayer/functions_'.$dblayer.'.inc.php');
+include(PHPWG_ROOT_PATH . 'admin/include/functions_install.inc.php');
+
if ( isset( $_POST['install'] ))
{
- try
+ if (try_db_connection($infos, $errors))
{
- $pwg_db_link = pwg_db_connect($_POST['dbhost'], $_POST['dbuser'],
- $_POST['dbpasswd'], $_POST['dbname']);
-
- array_push( $infos, l10n('Parameters are correct') );
-
$required_version = constant('REQUIRED_'.strtoupper($dblayer).'_VERSION');
if ( version_compare(pwg_get_db_version(), $required_version, '>=') )
{
@@ -295,10 +290,7 @@ if ( isset( $_POST['install'] ))
}
}
}
- catch (Exception $e)
- {
- array_push( $errors, l10n($e->getMessage()));
- }
+
$webmaster = trim(preg_replace( '/\s{2,}/', ' ', $admin_name ));
if ( empty($webmaster))
array_push( $errors, l10n('enter a login for webmaster') );
diff --git a/install/php5_apache_configuration.php b/install/php5_apache_configuration.php
index 6e8e284e6..3c117b0c6 100644
--- a/install/php5_apache_configuration.php
+++ b/install/php5_apache_configuration.php
@@ -79,12 +79,44 @@ function openPage()