diff options
author | plegall <plg@piwigo.org> | 2010-05-07 00:34:56 +0000 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2010-05-07 00:34:56 +0000 |
commit | 48ab33321212614bb37e180f17c84139665de7d1 (patch) | |
tree | c550ae73be0cd1a75187fb7f9d0d4dbef298c8f9 | |
parent | a56af865c572bd1f9853b2d858df648e154e764e (diff) |
bug 1648 fixed: add the pwg_db_check_version functions for pdo-sqlite, sqlite
and pgsql, also make the $pwg_db_link global in the install_db_connect function
so that it can be used in SQLite functions.
bug fixed: with pdo-sqlite, pwg_db_num_rows always returns 0, so when
initializing user data, it tries to insert the same row twice.
git-svn-id: http://piwigo.org/svn/trunk@6090 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | admin/include/functions_install.inc.php | 2 | ||||
-rw-r--r-- | include/dblayer/functions_pdo-sqlite.inc.php | 17 | ||||
-rw-r--r-- | include/dblayer/functions_pgsql.inc.php | 15 | ||||
-rw-r--r-- | include/dblayer/functions_sqlite.inc.php | 15 | ||||
-rw-r--r-- | include/functions_user.inc.php | 2 |
5 files changed, 49 insertions, 2 deletions
diff --git a/admin/include/functions_install.inc.php b/admin/include/functions_install.inc.php index 9e02490ca..4c2888a3c 100644 --- a/admin/include/functions_install.inc.php +++ b/admin/include/functions_install.inc.php @@ -143,6 +143,8 @@ function activate_core_themes() function install_db_connect(&$infos, &$errors) { + global $pwg_db_link; + try { $pwg_db_link = pwg_db_connect($_POST['dbhost'], $_POST['dbuser'], $_POST['dbpasswd'], $_POST['dbname']); diff --git a/include/dblayer/functions_pdo-sqlite.inc.php b/include/dblayer/functions_pdo-sqlite.inc.php index bc782074a..d59e3b510 100644 --- a/include/dblayer/functions_pdo-sqlite.inc.php +++ b/include/dblayer/functions_pdo-sqlite.inc.php @@ -21,7 +21,7 @@ // | USA. | // +-----------------------------------------------------------------------+ -define('REQUIRED_PDO-SQLITE_VERSION', '3.0.0'); +define('REQUIRED_PDO_SQLITE_VERSION', '3.0.0'); define('DB_ENGINE', 'SQLite'); define('DB_REGEX_OPERATOR', 'REGEXP'); @@ -55,6 +55,21 @@ function pwg_db_connect($host, $user, $password, $database) return $link; } +function pwg_db_check_version() +{ + $current_version = pwg_get_db_version(); + if (version_compare($current_version, REQUIRED_PDO_SQLITE_VERSION, '<')) + { + fatal_error( + sprintf( + 'your database version is too old, you have "%s" and you need at least "%s"', + $current_version, + REQUIRED_PDO_SQLITE_VERSION + ) + ); + } +} + function pwg_db_check_charset() { return true; diff --git a/include/dblayer/functions_pgsql.inc.php b/include/dblayer/functions_pgsql.inc.php index df1ce2649..5e05fb16a 100644 --- a/include/dblayer/functions_pgsql.inc.php +++ b/include/dblayer/functions_pgsql.inc.php @@ -60,6 +60,21 @@ function pwg_db_connect($host, $user, $password, $database) } } +function pwg_db_check_version() +{ + $current_version = pwg_get_db_version(); + if (version_compare($current_version, REQUIRED_PGSQL_VERSION, '<')) + { + fatal_error( + sprintf( + 'your database version is too old, you have "%s" and you need at least "%s"', + $current_version, + REQUIRED_PGSQL_VERSION + ) + ); + } +} + function pwg_db_check_charset() { return true; diff --git a/include/dblayer/functions_sqlite.inc.php b/include/dblayer/functions_sqlite.inc.php index 48bb5fd89..5c8f76a9c 100644 --- a/include/dblayer/functions_sqlite.inc.php +++ b/include/dblayer/functions_sqlite.inc.php @@ -64,6 +64,21 @@ function pwg_db_connect($host, $user, $password, $database) return $link; } +function pwg_db_check_version() +{ + $current_version = pwg_get_db_version(); + if (version_compare($current_version, REQUIRED_SQLITE_VERSION, '<')) + { + fatal_error( + sprintf( + 'your database version is too old, you have "%s" and you need at least "%s"', + $current_version, + REQUIRED_SQLITE_VERSION + ) + ); + } +} + function pwg_db_check_charset() { return true; diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 41c97d0bb..4d755c445 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -298,7 +298,7 @@ SELECT ui.*, uc.*, t.name AS theme_name LEFT JOIN '.THEMES_TABLE.' AS t ON t.id = ui.theme WHERE ui.user_id = \''.$user_id.'\''; $result = pwg_query($query); - if (pwg_db_num_rows($result) > 0) + if ($result) { break; } |