static function check($authorized) { global $_zp_authority, $_zp_current_admin_obj; if (!$authorized) { // not logged in via normal zenphoto handling // PHP-CGI auth fixd if (isset($_SERVER['HTTP_AUTHORIZATION'])) { $auth_params = explode(":", base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6))); $_SERVER['PHP_AUTH_USER'] = $auth_params[0]; unset($auth_params[0]); $_SERVER['PHP_AUTH_PW'] = implode('', $auth_params); } if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { $auth_params = explode(":", base64_decode(substr($_SERVER['REDIRECT_HTTP_AUTHORIZATION'], 6))); $_SERVER['PHP_AUTH_USER'] = $auth_params[0]; unset($auth_params[0]); $_SERVER['PHP_AUTH_PW'] = implode('', $auth_params); } if (array_key_exists('PHP_AUTH_USER', $_SERVER) && array_key_exists('PHP_AUTH_PW', $_SERVER)) { $user = $_SERVER['PHP_AUTH_USER']; $pass = $_SERVER['PHP_AUTH_PW']; if (getOption('http_auth_trust')) { $userobj = $_zp_authority->getAnAdmin(array('`user`=' => $user, '`valid`=' => 1)); } else { $userobj = Zenphoto_Authority::checkLogon($user, $pass); } if ($userobj) { $_zp_current_admin_obj = $userobj; $_zp_current_admin_obj->logout_link = false; $authorized = $_zp_current_admin_obj->getRights(); } } } return $authorized; }