X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fxnet.php;h=f3da66f9c24e49675bfaf79b6fcc869255a137ab;hb=4c64e1e7926e82b917c4bc7bf47e51475d44d04a;hp=c88a8c72f2612e92deee46b7a468cf40d807fcbf;hpb=6b8d257bc035e92668216da0a4b300945ac61d0f;p=platal.git diff --git a/classes/xnet.php b/classes/xnet.php index c88a8c7..f3da66f 100644 --- a/classes/xnet.php +++ b/classes/xnet.php @@ -1,6 +1,6 @@ asso()) { @@ -38,27 +38,26 @@ class Xnet extends Platal } } - function find_nearest_key($key, &$array) + protected function find_nearest_key($key, array &$array) { global $globals; - $k = parent::find_nearest_key($key, $array); - if (is_null($k) && in_array('%grp', array_keys($array)) && $globals->asso()) { + if (in_array('%grp', array_keys($array)) && $key == $globals->asso('diminutif')) { return '%grp'; } - return $k; + return parent::find_nearest_key($key, $array); } - function near_hook() + public function near_hook() { - $link = parent::near_hook(); - if (strpos($link, '%grp') !== false) { - global $globals; - return str_replace('%grp', $globals->asso('diminutif'), $link); - } - return $link; + global $globals; + $link = str_replace('%grp', $globals->asso('diminutif'), parent::near_hook()); + if ($link != $this->path) { + return $link; + } + return null; } - function find_hook() + protected function find_hook() { $ans = parent::find_hook(); if ($ans && $this->ns) { @@ -68,10 +67,11 @@ class Xnet extends Platal return $ans; } - function force_login(&$page) + public function force_login(&$page) { http_redirect(S::v('loginX')); } } +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>