From 973d15f33862c986b3cf8a8598898ca80d5df4da Mon Sep 17 00:00:00 2001 From: patdenice Date: Fri, 7 May 2010 23:08:51 +0000 Subject: Upgrade can be launched automaticaly if user is already connected as webmaster. git-svn-id: http://piwigo.org/svn/trunk@6110 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/include/functions_upgrade.php | 64 ++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'admin/include/functions_upgrade.php') diff --git a/admin/include/functions_upgrade.php b/admin/include/functions_upgrade.php index 91110e4ff..46d3837fe 100644 --- a/admin/include/functions_upgrade.php +++ b/admin/include/functions_upgrade.php @@ -112,9 +112,39 @@ WHERE id IN ("' . implode('","', $plugins) . '") } // Check access rights -function check_upgrade_access_rights($current_release, $username, $password) +function check_upgrade_access_rights() { - global $conf, $page; + global $conf, $page, $current_release; + + if (version_compare($current_release, '2.0', '>=') and isset($_COOKIE[session_name()])) + { + // Check if user is already connected as webmaster + session_start(); + if (!empty($_SESSION['pwg_uid'])) + { + $query = ' +SELECT status + FROM '.USER_INFOS_TABLE.' + WHERE user_id = '.$_SESSION['pwg_uid'].' +;'; + pwg_query($query); + + $row = pwg_db_fetch_assoc(pwg_query($query)); + if (isset($row['status']) and $row['status'] == 'webmaster') + { + define('PHPWG_IN_UPGRADE', true); + return; + } + } + } + + if (!isset($_POST['username']) or !isset($_POST['password'])) + { + return; + } + + $username = $_POST['password']; + $password = $_POST['password']; if(!@get_magic_quotes_gpc()) { @@ -230,34 +260,4 @@ function upgrade_db_connect() my_error(l10n($e->getMessage()), true); } } - -/** - * Get languages defined in the language directory - */ -function get_fs_languages($target_charset = null) -{ - if ( empty($target_charset) ) - { - $target_charset = get_pwg_charset(); - } - $target_charset = strtolower($target_charset); - - $dir = opendir(PHPWG_ROOT_PATH.'language'); - - while ($file = readdir($dir)) - { - $path = PHPWG_ROOT_PATH.'language/'.$file; - if (!is_link($path) and is_dir($path) and file_exists($path.'/iso.txt')) - { - list($language_name) = @file($path.'/iso.txt'); - - $languages[$file] = convert_charset($language_name, $target_charset); - } - } - closedir($dir); - @asort($languages); - - return $languages; -} - ?> \ No newline at end of file -- cgit v1.2.3