From 7684585f49df8d83f3b1677279b5a13f61282a1f Mon Sep 17 00:00:00 2001 From: Robin Appelman <icewind1991@gmail.com> Date: Mon, 18 Apr 2011 13:16:32 +0200 Subject: [PATCH] 404 error page --- files/download.php | 8 ++++++++ img/weather-clear.png | Bin 0 -> 21917 bytes lib/files.php | 5 ++++- plugins/publiclink/get.php | 3 ++- templates/404.php | 9 +++++++++ 5 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 img/weather-clear.png create mode 100644 templates/404.php diff --git a/files/download.php b/files/download.php index f890036a32..63209eaccb 100644 --- a/files/download.php +++ b/files/download.php @@ -33,6 +33,14 @@ if( !OC_USER::isLoggedIn()){ $filename = $_GET["file"]; +if(!OC_FILESYSTEM::file_exists($filename)){ + header("HTTP/1.0 404 Not Found"); + $tmpl = new OC_TEMPLATE( '', '404', 'guest' ); + $tmpl->assign('file',$filename); + $tmpl->printPage(); + exit; +} + $ftype=OC_FILESYSTEM::getMimeType( $filename ); header('Content-Type:'.$ftype); diff --git a/img/weather-clear.png b/img/weather-clear.png new file mode 100644 index 0000000000000000000000000000000000000000..0acf7a9b2afd4ba9b8492f51d5204721f9e4559a GIT binary patch literal 21917 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 Z8~>ltzw<YX3j+fKgQu&X%Q~loCIAX;nNR=# literal 0 HcmV?d00001 diff --git a/lib/files.php b/lib/files.php index 642a7e7204..58bb04ec34 100644 --- a/lib/files.php +++ b/lib/files.php @@ -146,7 +146,10 @@ class OC_FILES { } }elseif($zip or !OC_FILESYSTEM::file_exists($filename)){ header("HTTP/1.0 404 Not Found"); - die('404 Not Found'); + $tmpl = new OC_TEMPLATE( '', '404', 'guest' ); + $tmpl->assign('file',$filename); + $tmpl->printPage(); +// die('404 Not Found'); }else{ header("HTTP/1.0 403 Forbidden"); die('403 Forbidden'); diff --git a/plugins/publiclink/get.php b/plugins/publiclink/get.php index cdfe42ef26..fb8a13b541 100644 --- a/plugins/publiclink/get.php +++ b/plugins/publiclink/get.php @@ -70,7 +70,8 @@ if($path!==false){ } }else{ header("HTTP/1.0 404 Not Found"); - echo '404 Not Found'; + $tmpl = new OC_TEMPLATE( '', '404', 'guest' ); + $tmpl->printPage(); die(); } ?> \ No newline at end of file diff --git a/templates/404.php b/templates/404.php new file mode 100644 index 0000000000..7696d16f8e --- /dev/null +++ b/templates/404.php @@ -0,0 +1,9 @@ +<div id="login"> + <img src="<?php echo image_path("", "weather-clear.png"); ?>" alt="ownCloud" /> + <ul> + <li class='error'> + Error 404, Cloud not found<br/> + <p class='hint'><?php if(isset($_['file'])) echo $_['file']?></p> + </li> + </ul> +</div> \ No newline at end of file -- GitLab