diff --git a/inc/shaarli.css b/inc/shaarli.css index d6bbdbc1..96e2cae1 100644 --- a/inc/shaarli.css +++ b/inc/shaarli.css @@ -1101,4 +1101,17 @@ div.dailyNoEntry { ul.errors { color: red; float: left; -} \ No newline at end of file +} + +/* 404 page */ +.error-container { + + margin: 50px; + margin-top: 20px; +} + +.error-container h1 { + text-decoration: none; + font-style: normal; + color: #80AD48; +} diff --git a/index.php b/index.php index 553f65e4..beba9c32 100644 --- a/index.php +++ b/index.php @@ -472,7 +472,7 @@ function ban_canLogin() session_set_cookie_params(0,$cookiedir,$_SERVER['SERVER_NAME']); // 0 means "When browser closes" session_regenerate_id(true); } - + // Optional redirect after login: if (isset($_GET['post'])) { $uri = '?post='. urlencode($_GET['post']); @@ -681,6 +681,18 @@ public function renderPage($page) if ($this->tpl===false) $this->initialize(); // Lazy initialization $this->tpl->draw($page); } + + /** + * Render a 404 page (uses the template : tpl/404.tpl) + * + * usage : $PAGE->render404('The link was deleted') + * @param string $message A messate to display what is not found + */ + public function render404($message='The page you are trying to reach does not exist or has been deleted.') { + header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); + $this->tpl->assign('error_message', $message); + $this->renderPage('404'); + } } // ------------------------------------------------------------------------------------------ @@ -1883,10 +1895,7 @@ function buildLinkList($PAGE,$LINKSDB) $linksToDisplay = $LINKSDB->filter($search_type, $search_crits); if (count($linksToDisplay) == 0) { - header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); - echo '