Navigation Menu

Skip to content

Commit

Permalink
Feature 1255 :
Browse files Browse the repository at this point in the history
only one function
use exceptions to deal with differents possible errors

git-svn-id: http://piwigo.org/svn/trunk@5236 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
nikrou committed Mar 21, 2010
1 parent 4158d32 commit 4773d7a
Show file tree
Hide file tree
Showing 8 changed files with 70 additions and 60 deletions.
12 changes: 9 additions & 3 deletions include/common.inc.php
Expand Up @@ -104,9 +104,15 @@ function sanitize_mysql_kv(&$v, $k)
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']);
pwg_select_db($conf['db_base'], $pwg_db_link);
try
{
$pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'],
$conf['db_password'], $conf['db_base']);
}
catch (Exception $e)
{
my_error(l10n($e->getMessage(), true);
}

pwg_db_check_charset();

Expand Down
23 changes: 14 additions & 9 deletions include/dblayer/functions_mysql.inc.php
Expand Up @@ -32,16 +32,21 @@
*
*/

function pwg_db_connect($host, $user, $password, $database=null, $die=true)
function pwg_db_connect($host, $user, $password, $database)
{
$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);
$link = @mysql_connect($host, $user, $password);
if (!$link)
{
throw new Exception("Can't connect to server");
}
if (mysql_select_db($database, $link))
{
return $link;
}
else
{
throw new Exception('Connection to server succeed, but it was impossible to connect to database');
}
}

function pwg_db_check_charset()
Expand Down
15 changes: 5 additions & 10 deletions include/dblayer/functions_pdo-sqlite.inc.php
Expand Up @@ -33,16 +33,16 @@
*
*/

function pwg_db_connect($host, $user, $password, $database, $die=true)
function pwg_db_connect($host, $user, $password, $database)
{
global $conf;

$db_file = sprintf('sqlite:%s/%s.db', $conf['local_data_dir'], $database);

try {
$link = new PDO($db_file);
} catch (Exception $e) {
my_error('sqlite::open', $die);
$link = new PDO($db_file);
if (!$link)
{
throw new Exception('Connection to server succeed, but it was impossible to connect to database');
}

$link->sqliteCreateFunction('now', 'pwg_now', 0);
Expand All @@ -56,11 +56,6 @@ function pwg_db_connect($host, $user, $password, $database, $die=true)
return $link;
}

function pwg_select_db($database=null, $link=null, $die=null)
{
return true;
}

function pwg_db_check_charset()
{
return true;
Expand Down
14 changes: 10 additions & 4 deletions include/dblayer/functions_pgsql.inc.php
Expand Up @@ -33,7 +33,7 @@
*
*/

function pwg_db_connect($host, $user, $password, $database, $die=true)
function pwg_db_connect($host, $user, $password, $database)
{
$connection_string = '';
if (strpos($host,':') !== false)
Expand All @@ -49,9 +49,15 @@ function pwg_db_connect($host, $user, $password, $database, $die=true)
$user,
$password,
$database);
$link = pg_connect($connection_string) or my_error('pg_connect', $die);

return $link;
$link = pg_connect($connection_string);
if (!$link)
{
throw new Exception("Can't connect to server");
}
else
{
return $link;
}
}

function pwg_select_db($database=null, $link=null, $die=null)
Expand Down
16 changes: 6 additions & 10 deletions include/dblayer/functions_sqlite.inc.php
Expand Up @@ -33,7 +33,7 @@
*
*/

function pwg_db_connect($host, $user, $password, $database, $die=true)
function pwg_db_connect($host, $user, $password, $database)
{
global $conf;

Expand All @@ -47,10 +47,11 @@ function pwg_db_connect($host, $user, $password, $database, $die=true)
{
$sqlite_open_mode = SQLITE3_OPEN_READWRITE;
}
try {
$link = new SQLite3($db_file, $sqlite_open_mode);
} catch (Exception $e) {
my_error('sqlite::open', $die);

$link = new SQLite3($db_file, $sqlite_open_mode);
if (!$link)
{
throw new Exception('Connection to server succeed, but it was impossible to connect to database');
}

$link->createFunction('now', 'pwg_now', 0);
Expand All @@ -64,11 +65,6 @@ function pwg_db_connect($host, $user, $password, $database, $die=true)
return $link;
}

function pwg_select_db($database=null, $link=null, $die=null)
{
return true;
}

function pwg_db_check_charset()
{
return true;
Expand Down
25 changes: 8 additions & 17 deletions install.php
Expand Up @@ -236,21 +236,13 @@
//---------------------------------------------------------------- form analyze
if ( isset( $_POST['install'] ))
{
ob_start();
if (($pwg_db_link = pwg_db_connect($_POST['dbhost'], $_POST['dbuser'],
$_POST['dbpasswd'], $_POST['dbname'], false))!==false)
try
{
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();

$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, '>=') )
{
Expand All @@ -276,10 +268,9 @@
}
}
}
else
catch (Exception $e)
{
array_push( $errors, l10n('Can\'t connect to server') );
ob_end_clean();
array_push( $errors, l10n($e->getMessage()));
}
$webmaster = trim(preg_replace( '/\s{2,}/', ' ', $admin_name ));
if ( empty($webmaster))
Expand Down
12 changes: 9 additions & 3 deletions upgrade.php
Expand Up @@ -51,9 +51,15 @@
define('PREFIX_TABLE', $prefixeTable);

// Database connection
$pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'],
$conf['db_password'], $conf['db_base']);
pwg_select_db($conf['db_base'], $pwg_db_link);
try
{
$pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'],
$conf['db_password'], $conf['db_base']);
}
catch (Exception $e)
{
my_error(l10n($e->getMessage(), true);
}

pwg_db_check_charset();

Expand Down
13 changes: 9 additions & 4 deletions upgrade_feed.php
Expand Up @@ -54,10 +54,15 @@
// +-----------------------------------------------------------------------+
// | Database connection |
// +-----------------------------------------------------------------------+

$pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'],
$conf['db_password'], $conf['db_base']);
pwg_select_db($conf['db_base'], $pwg_db_link);
try
{
$pwg_db_link = pwg_db_connect($conf['db_host'], $conf['db_user'],
$conf['db_password'], $conf['db_base']);
}
catch (Exception $e)
{
my_error(l10n($e->getMessage(), true);
}

pwg_db_check_charset();

Expand Down

0 comments on commit 4773d7a

Please sign in to comment.