Exemple #1
0
 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;
 }