Skip to content

Commit

Permalink
bug 1648 fixed: add the pwg_db_check_version functions for pdo-sqlite…
Browse files Browse the repository at this point in the history
…, 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
  • Loading branch information
plegall committed May 7, 2010
1 parent a56af86 commit 48ab333
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 2 deletions.
2 changes: 2 additions & 0 deletions admin/include/functions_install.inc.php
Expand Up @@ -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']);
Expand Down
17 changes: 16 additions & 1 deletion include/dblayer/functions_pdo-sqlite.inc.php
Expand Up @@ -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');
Expand Down Expand Up @@ -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;
Expand Down
15 changes: 15 additions & 0 deletions include/dblayer/functions_pgsql.inc.php
Expand Up @@ -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;
Expand Down
15 changes: 15 additions & 0 deletions include/dblayer/functions_sqlite.inc.php
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion include/functions_user.inc.php
Expand Up @@ -298,7 +298,7 @@ function getuserdata($user_id, $use_cache)
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;
}
Expand Down

0 comments on commit 48ab333

Please sign in to comment.