diff options
-rw-r--r-- | include/common.inc.php | 4 | ||||
-rw-r--r-- | include/dblayer/functions_mysql.inc.php | 10 | ||||
-rw-r--r-- | include/dblayer/functions_pdo-sqlite.inc.php | 9 | ||||
-rw-r--r-- | include/dblayer/functions_pgsql.inc.php | 9 | ||||
-rw-r--r-- | include/dblayer/functions_sqlite.inc.php | 9 | ||||
-rw-r--r-- | install.php | 17 | ||||
-rw-r--r-- | upgrade.php | 4 | ||||
-rw-r--r-- | upgrade_feed.php | 4 |
8 files changed, 47 insertions, 19 deletions
diff --git a/include/common.inc.php b/include/common.inc.php index 88354b5fe..720dc32e7 100644 --- a/include/common.inc.php +++ b/include/common.inc.php @@ -105,8 +105,8 @@ include( PHPWG_ROOT_PATH .'include/template.class.php'); // Database connection $pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'], - $conf['db_password'], $conf['db_base']) - or my_error('pwg_db_connect', true); + $conf['db_password'], $conf['db_base']); +pwg_select_db($conf['db_base'], $pwg_db_link); pwg_db_check_charset(); diff --git a/include/dblayer/functions_mysql.inc.php b/include/dblayer/functions_mysql.inc.php index 6c8248f92..6ada73a59 100644 --- a/include/dblayer/functions_mysql.inc.php +++ b/include/dblayer/functions_mysql.inc.php @@ -32,14 +32,18 @@ define('DB_RANDOM_FUNCTION', 'RAND'); * */ -function pwg_db_connect($host, $user, $password, $database) +function pwg_db_connect($host, $user, $password, $database=null, $die=true) { - $link = mysql_connect($host, $user, $password) or my_error('mysql_connect', false); - mysql_select_db($database, $link) or my_error('mysql_select_db', false); + $link = @mysql_connect($host, $user, $password) or my_error('mysql_connect', $die); return $link; } +function pwg_select_db($database, $link, $die=true) +{ + return @mysql_select_db($database, $link) or my_error('mysql_select_db', $die); +} + function pwg_db_check_charset() { defined('PWG_CHARSET') and defined('DB_CHARSET') diff --git a/include/dblayer/functions_pdo-sqlite.inc.php b/include/dblayer/functions_pdo-sqlite.inc.php index dc326c220..aba554341 100644 --- a/include/dblayer/functions_pdo-sqlite.inc.php +++ b/include/dblayer/functions_pdo-sqlite.inc.php @@ -33,7 +33,7 @@ define('DB_RANDOM_FUNCTION', 'RANDOM'); * */ -function pwg_db_connect($host, $user, $password, $database) +function pwg_db_connect($host, $user, $password, $database, $die=true) { global $conf; @@ -42,7 +42,7 @@ function pwg_db_connect($host, $user, $password, $database) try { $link = new PDO($db_file); } catch (Exception $e) { - my_error('sqlite::open', true); + my_error('sqlite::open', $die); } $link->sqliteCreateFunction('now', 'pwg_now', 0); @@ -56,6 +56,11 @@ function pwg_db_connect($host, $user, $password, $database) return $link; } +function pwg_select_db($database=null, $link=null, $die=null) +{ + return true; +} + function pwg_db_check_charset() { return true; diff --git a/include/dblayer/functions_pgsql.inc.php b/include/dblayer/functions_pgsql.inc.php index 64e59544e..fe350d090 100644 --- a/include/dblayer/functions_pgsql.inc.php +++ b/include/dblayer/functions_pgsql.inc.php @@ -33,7 +33,7 @@ define('DB_RANDOM_FUNCTION', 'RANDOM'); * */ -function pwg_db_connect($host, $user, $password, $database) +function pwg_db_connect($host, $user, $password, $database, $die=true) { $connection_string = ''; if (strpos($host,':') !== false) @@ -49,11 +49,16 @@ function pwg_db_connect($host, $user, $password, $database) $user, $password, $database); - $link = pg_connect($connection_string) or my_error('pg_connect', false); + $link = pg_connect($connection_string) or my_error('pg_connect', $die); return $link; } +function pwg_select_db($database=null, $link=null, $die=null) +{ + return true; +} + function pwg_db_check_charset() { return true; diff --git a/include/dblayer/functions_sqlite.inc.php b/include/dblayer/functions_sqlite.inc.php index 17ef6d576..ce426b9e0 100644 --- a/include/dblayer/functions_sqlite.inc.php +++ b/include/dblayer/functions_sqlite.inc.php @@ -33,7 +33,7 @@ define('DB_RANDOM_FUNCTION', 'RANDOM'); * */ -function pwg_db_connect($host, $user, $password, $database) +function pwg_db_connect($host, $user, $password, $database, $die=true) { global $conf; @@ -50,7 +50,7 @@ function pwg_db_connect($host, $user, $password, $database) try { $link = new SQLite3($db_file, $sqlite_open_mode); } catch (Exception $e) { - my_error('sqlite::open', true); + my_error('sqlite::open', $die); } $link->createFunction('now', 'pwg_now', 0); @@ -64,6 +64,11 @@ function pwg_db_connect($host, $user, $password, $database) return $link; } +function pwg_select_db($database=null, $link=null, $die=null) +{ + return true; +} + function pwg_db_check_charset() { return true; diff --git a/install.php b/install.php index 6a2e4038b..8450c379d 100644 --- a/install.php +++ b/install.php @@ -227,11 +227,20 @@ if (!isset($step)) //---------------------------------------------------------------- form analyze if ( isset( $_POST['install'] )) { + ob_start(); if (($pwg_db_link = pwg_db_connect($_POST['dbhost'], $_POST['dbuser'], - $_POST['dbpasswd'], $_POST['dbname']))!==false) + $_POST['dbpasswd'], $_POST['dbname'], false))!==false) { - - array_push( $infos, l10n('Parameters are correct') ); + if (pwg_select_db($_POST['dbname'], $pwg_db_link, false)!==false) + { + array_push( $infos, l10n('Parameters are correct') ); + } + else + { + array_push( $errors, + l10n('Connection to server succeed, but it was impossible to connect to database') ); + } + ob_end_clean(); $required_version = constant('REQUIRED_'.strtoupper($dblayer).'_VERSION'); if ( version_compare(pwg_get_db_version(), $required_version, '>=') ) @@ -261,8 +270,8 @@ if ( isset( $_POST['install'] )) else { array_push( $errors, l10n('Can\'t connect to server') ); + ob_end_clean(); } - $webmaster = trim(preg_replace( '/\s{2,}/', ' ', $admin_name )); if ( empty($webmaster)) array_push( $errors, l10n('enter a login for webmaster') ); diff --git a/upgrade.php b/upgrade.php index 42c9dc587..761eb4147 100644 --- a/upgrade.php +++ b/upgrade.php @@ -52,8 +52,8 @@ define('PREFIX_TABLE', $prefixeTable); // Database connection $pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'], - $conf['db_password'], $conf['db_base']) - or my_error('pwg_db_connect', true); + $conf['db_password'], $conf['db_base']); +pwg_select_db($conf['db_base'], $pwg_db_link); pwg_db_check_charset(); diff --git a/upgrade_feed.php b/upgrade_feed.php index 6695da5d8..52f0cfb9f 100644 --- a/upgrade_feed.php +++ b/upgrade_feed.php @@ -56,8 +56,8 @@ define('UPGRADES_PATH', PHPWG_ROOT_PATH.'install/db'); // +-----------------------------------------------------------------------+ $pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'], - $conf['db_password'], $conf['db_base']) - or my_error('pwg_db_connect', true); + $conf['db_password'], $conf['db_base']); +pwg_select_db($conf['db_base'], $pwg_db_link); pwg_db_check_charset(); |