From: x2003bruneau Date: Wed, 6 Dec 2006 17:18:21 +0000 (+0000) Subject: Improvements X-Git-Tag: xorg/0.9.13~214 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=6b8d257bc035e92668216da0a4b300945ac61d0f;p=platal.git Improvements git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1249 839d8a87-29fc-0310-9880-83ba4fa771e5 --- diff --git a/ChangeLog b/ChangeLog index 86ec30f..3b08849 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,9 @@ New: Bug/Wish: + * Core: + - #558: Propose a valid URL when getting a 404 error -FRU + * Emails: - #512: Can attach a file -FRU diff --git a/classes/platal.php b/classes/platal.php index 4f8a69a..42e743d 100644 --- a/classes/platal.php +++ b/classes/platal.php @@ -104,7 +104,7 @@ class Platal return null; } - function list_hooks() + function near_hook() { $hooks = array(); foreach ($this->__hooks as $hook=>$handler) { @@ -126,10 +126,15 @@ class Platal foreach ($p as $k) { if (!$ended) { $key = $this->find_nearest_key($k, $place); + } else { + $key = $k; } - if ($ended || $key == "#final#") { + if ($key == "#final#") { $key = $k; $ended = true; + if (!array_key_exists($link, $this->__hooks)) { + return null; + } } if (!is_null($key)) { if (!empty($link)) { @@ -202,7 +207,6 @@ class Platal break; case PL_NOT_FOUND: - $page->assign('near', $this->list_hooks()); $this->__mods['core']->handler_404($page); break; } diff --git a/classes/platalpage.php b/classes/platalpage.php index d96d415..01ec3b5 100644 --- a/classes/platalpage.php +++ b/classes/platalpage.php @@ -279,7 +279,9 @@ function form_force_encodings($source, &$smarty) function _hide_email($source) { $source = str_replace("\n", '', $source); - return ''; + return ''; } function hide_emails($source, &$smarty) diff --git a/classes/xnet.php b/classes/xnet.php index c221c45..c88a8c7 100644 --- a/classes/xnet.php +++ b/classes/xnet.php @@ -48,9 +48,9 @@ class Xnet extends Platal return $k; } - function list_hooks() + function near_hook() { - $link = parent::list_hooks(); + $link = parent::near_hook(); if (strpos($link, '%grp') !== false) { global $globals; return str_replace('%grp', $globals->asso('diminutif'), $link); diff --git a/modules/core.php b/modules/core.php index 60d52c5..84aaccb 100644 --- a/modules/core.php +++ b/modules/core.php @@ -47,7 +47,9 @@ class CoreModule extends PLModule function handler_404(&$page) { + global $platal; header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); + $page->assign('near', $platal->near_hook()); $page->changeTpl('404.tpl'); }