diff options
author | patdenice <patdenice@piwigo.org> | 2008-11-06 14:46:41 +0000 |
---|---|---|
committer | patdenice <patdenice@piwigo.org> | 2008-11-06 14:46:41 +0000 |
commit | 5f1fe1d4f9b67b44b7166444de6034a4e6dadfdf (patch) | |
tree | a727e946f81f0b8815c86c17f9faf6ba246bc443 /admin/include/functions_upgrade.php | |
parent | 894a38a9bf7c30662a75af78f3674dfa82414674 (diff) |
merge -c2836 from trunk to branch 2.0
- Webmaster or administrator can login to run upgrade.
- Inserting upgrade line in mysql.inc.php still work.
- Convert espagnol upgrade file to utf8.
- Minor changes in upgrade processus.
- Remove all comments in pclzip.lib.php.
git-svn-id: http://piwigo.org/svn/branches/2.0@2837 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/include/functions_upgrade.php')
-rw-r--r-- | admin/include/functions_upgrade.php | 55 |
1 files changed, 46 insertions, 9 deletions
diff --git a/admin/include/functions_upgrade.php b/admin/include/functions_upgrade.php index e29eb15c3..afa6596e8 100644 --- a/admin/include/functions_upgrade.php +++ b/admin/include/functions_upgrade.php @@ -23,17 +23,11 @@ function check_upgrade() { - // Is Piwigo already installed ? - if (!defined('PHPWG_IN_UPGRADE') or !PHPWG_IN_UPGRADE) + if (defined('PHPWG_IN_UPGRADE')) { - $message = 'Piwigo is not in upgrade mode. In include/mysql.inc.php, -insert line -<pre style="background-color:lightgray"> -define(\'PHPWG_IN_UPGRADE\', true); -</pre> -if you want to upgrade'; - die($message); + return PHPWG_IN_UPGRADE; } + return false; } // concerning upgrade, we use the default tables @@ -137,4 +131,47 @@ WHERE id IN ("' . implode('","', $plugins) . '") } } +// Check access rights +function check_upgrade_access_rights($current_release, $username, $password) +{ + global $conf, $page; + + if (version_compare($current_release, '1.5.0', '<')) + { + $query = ' +SELECT password, status +FROM '.PREFIX_TABLE.'users +WHERE username = "'.$username.'" +;'; + } + else + { + $query = ' +SELECT u.password, ui.status +FROM '.$conf['users_table'].' AS u +INNER JOIN '.PREFIX_TABLE.'user_infos AS ui +ON u.id = ui.user_id +WHERE '.$conf['user_fields']['username'].'="'.$username.'" +;'; + } + $row = mysql_fetch_assoc(mysql_query($query)); + + if (!isset($conf['pass_convert'])) + { + $conf['pass_convert'] = create_function('$s', 'return md5($s);'); + } + + if ($row['password'] != $conf['pass_convert']($_POST['password'])) + { + array_push($page['errors'], l10n('invalid_pwd')); + } + elseif ($row['status'] != 'admin' and $row['status'] != 'webmaster') + { + array_push($page['errors'], l10n('You do not have access rights to run upgrade')); + } + else + { + define('PHPWG_IN_UPGRADE', true); + } +} ?> |