X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=class.xorg.auth.php;h=c1e9b8241f1c5708f5dec7d2d1b9ebb46be55b5d;hb=9d447124206bcdb0651df836ee89e4a073bf7d17;hp=8045f23f3ae325bc96e44f3470debeef1930fe3d;hpb=abb4dd4232fb8e62acab92e554af000eea8c6e6f;p=dotclear.git diff --git a/class.xorg.auth.php b/class.xorg.auth.php index 8045f23..c1e9b82 100644 --- a/class.xorg.auth.php +++ b/class.xorg.auth.php @@ -24,22 +24,10 @@ class xorgAuth extends dcAuth { $this->xorg_infos[$key] = $_SESSION['auth-xorg-' . $key]; } $this->user_id = $_SESSION['auth-xorg']; + parent::checkUser($this->user_id); } } - public function checkUser($user_id, $pwd = null, $user_key = null) { - return $this->callXorg() && $user_id == $this->user_id; -// echo "checking auth for " . $user_id; -// return parent::checkUser($user_id, $pwd, $user_key); - } - - public function check($permissions, $blog_id) { - $this->buildFromSession(); - return true; -// echo "Checking right to view $permissions on $blog_id"; -// return parent::check($permissions, $blog_id); - } - public function callXorg($path = null) { if (is_null($path)) { $path = $_SERVER['REQUEST_URI']; @@ -48,12 +36,13 @@ class xorgAuth extends dcAuth { if (@$_SESSION['auth-xorg']) { return true; } + global $core; $_SESSION["auth-x-challenge"] = md5(uniqid(rand(), 1)); $url = "https://www.polytechnique.org/auth-groupex/utf8"; $url .= "?session=" . session_id(); $url .= "&challenge=" . $_SESSION["auth-x-challenge"]; $url .= "&pass=" . md5($_SESSION["auth-x-challenge"] . XORG_AUTH_KEY); - $url .= "&url=http://murphy.m4x.org/~x2003bruneau/dotclear/auth/XorgReturn" . urlencode("?path=" . $path); + $url .= "&url=" . urlencode($core->blog->url . "auth/XorgReturn?path=" . $path); session_write_close(); header("Location: $url"); exit; @@ -77,6 +66,7 @@ class xorgAuth extends dcAuth { $cur->user_lang = 'fr'; $cur->user_name = $_SESSION['auth-xorg-nom']; $cur->user_firstname = $_SESSION['auth-xorg-prenom']; + $cur->user_displayname = $cur->user_firstname . ' ' . $cur->user_name; $cur->user_email = $_SESSION['auth-xorg'] . '@polytechnique.org'; $cur->user_options = $core->userDefaults(); $cur->user_default_blog = 'default'; // FIXME @@ -122,59 +112,41 @@ class xorgAuth extends dcAuth { global $core; $core->session->start(); $core->session->destroy(); - header('Location: http://murphy.m4x.org/~x2003bruneau/dotclear/'); + header('Location: ' . $core->blog->url); exit; } + public function checkUser($user_id, $pwd = null, $user_key = null) { + return $this->callXorg(); + } + + public function check($permissions, $blog_id) { + $this->buildFromSession(); + return parent::check($permissions, $blog_id); + } + public function allowPassChange() { return false; } public function userID() { $this->buildFromSession(); - return $this->user_id; + return parent::userID(); } public function getPermissions() { - return array('default' => array('name' => 'My first blog', - 'url' => 'http://murphy.m4x.org/~x2003bruneau/dotclear/', - 'permissions' => array('usage' => true, - 'contentadmin' => true, - 'admin' => true))); + $this->buildFromSession(); + return parent::getPermissions(); } public function getInfo($n) { - switch ($n) { - case 'user_lang': - return "fr"; - case 'user_default_blog': - return 'default'; - case 'user_post_status': - return 1; - case 'user_tz': - return 'UTC'; - case 'user_name': - return $this->xorg_infos['nom']; - case 'user_firstname': - return $this->xorg_infos['prenom']; - case 'user_displayname': - return $this->xorg_infos['prenom'] . ' ' . $this->xorg_infos['nom']; - case 'user_email': - return $this->user_id . '@polytechnique.org'; - case 'user_url': - return null; - } - echo "info $n "; - return null; + $this->buildFromSession(); + return parent::getInfo($n); } public function getOption($n) { - $options = $this->getOptions(); - if (isset($options[$n])) { - return $options[$n]; - } - echo "option $n "; - return null; + $this->buildFromSession(); + return parent::getOption($n); } public function isSuperAdmin() { @@ -182,9 +154,8 @@ class xorgAuth extends dcAuth { } public function getOptions() { - return array('edit_size' => 24, - 'enable_wysiwyg' => true, - 'post_format' => 'wiki'); + $this->buildFromSession(); + return parent::getOptions(); } }