+
+
+ /** Dotclear dcAuth API */
+
+ 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 checkPassword($pwd) {
+ $this->buildFromSession();
+ return !empty($this->user_id);
+ }
+
+ public function allowPassChange() {
+ return false;
+ }
+
+ public function userID() {
+ $this->buildFromSession();
+ $isadmin = preg_match('@/admin/[^/]+\.php$@i', $_SERVER['SCRIPT_FILENAME']);
+ if (!$isadmin) {
+ return null;
+ }
+ return parent::userID();
+ }
+
+ public function getPermissions($blog_id) {
+ $this->buildFromSession();
+ return parent::getPermissions($blog_id);
+ }
+
+ public function getInfo($n) {
+ $this->buildFromSession();
+ if ($n == 'xorg_group_member') {
+ global $core;
+ if ($core->blog->settings->xorgauth->get('xorg_blog_owner') != $_SESSION['xorg-group']) {
+ return false;
+ }
+ $perm = $this->xorg_infos['grpauth'];
+ return $this->isSuperAdmin() || $perm == 'admin' || $perm == 'membre';
+ }
+ return parent::getInfo($n);
+ }
+
+ public function getOption($n) {
+ $this->buildFromSession();
+ return parent::getOption($n);
+ }
+
+ public function getOptions() {
+ $this->buildFromSession();
+ return parent::getOptions();
+ }
+
+ public function authForm() {
+ global $core;
+ if (!isset($core->blog)) {
+ $blog = @$core->getBlog(DC_BLOG_ID);
+ } else {
+ $blog = $core->blog;
+ }
+ $path = @$blog->url;
+ if (!$path) {
+ $path = $blog->f('blog_url');
+ }
+
+ return '<fieldset>'.
+ '<p><a href="' . $path . 'auth/Xorg?path=/admin/index.php">Via Polytechnique.org</a></p>' .
+ '</fieldset>'.
+ '<p>'.__('You must accept cookies in order to use the private area.').'</p>';
+ }