diff options
Diffstat (limited to 'inc/parser')
-rw-r--r-- | inc/parser/code.php | 3 | ||||
-rw-r--r-- | inc/parser/handler.php | 2 | ||||
-rw-r--r-- | inc/parser/metadata.php | 2 | ||||
-rw-r--r-- | inc/parser/xhtml.php | 4 |
4 files changed, 6 insertions, 5 deletions
diff --git a/inc/parser/code.php b/inc/parser/code.php index 21fb0dc3c..6e159b041 100644 --- a/inc/parser/code.php +++ b/inc/parser/code.php @@ -20,6 +20,7 @@ class Doku_Renderer_code extends Doku_Renderer { if(!$language) $language = 'txt'; if(!$filename) $filename = 'snippet.'.$language; $filename = utf8_basename($filename); + $filename = utf8_stripspecials($filename, '_'); if($this->_codeblock == $INPUT->str('codeblock')){ header("Content-Type: text/plain; charset=utf-8"); @@ -43,7 +44,7 @@ class Doku_Renderer_code extends Doku_Renderer { * This should never be reached, if it is send a 404 */ function document_end() { - header("HTTP/1.0 404 Not Found"); + http_status(404); echo '404 - Not found'; exit; } diff --git a/inc/parser/handler.php b/inc/parser/handler.php index 55b715ad9..1cf32aaed 100644 --- a/inc/parser/handler.php +++ b/inc/parser/handler.php @@ -680,7 +680,7 @@ function Doku_Handler_Parse_Media($match) { } // Check whether this is a local or remote image - if ( preg_match('#^(https?|ftp)#i',$src) ) { + if ( media_isexternal($src) ) { $call = 'externalmedia'; } else { $call = 'internalmedia'; diff --git a/inc/parser/metadata.php b/inc/parser/metadata.php index 8638ffa6a..e17b82f8b 100644 --- a/inc/parser/metadata.php +++ b/inc/parser/metadata.php @@ -432,7 +432,7 @@ class Doku_Renderer_metadata extends Doku_Renderer { global $ID; list($src,$hash) = explode('#',$src,2); - if(!preg_match('/^https?:\/\//i',$src)){ + if(!media_isexternal($src)){ resolve_mediaid(getNS($ID),$src, $exists); } if(preg_match('/.(jpe?g|gif|png)$/i',$src)){ diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 71f3aa4bf..84a999e56 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -803,7 +803,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext); $link['class'] .= ' mediafile mf_'.$class; $link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache),true); - $link['title'] .= ' (' . filesize_h(filesize(mediaFN($src))).')'; + if ($exists) $link['title'] .= ' (' . filesize_h(filesize(mediaFN($src))).')'; } if($hash) $link['url'] .= '#'.$hash; @@ -889,7 +889,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { // title is escaped by SimplePie, we unescape here because it // is escaped again in externallink() FS#1705 $this->externallink($item->get_permalink(), - htmlspecialchars_decode($item->get_title())); + html_entity_decode($item->get_title(), ENT_QUOTES, 'UTF-8')); }else{ $this->doc .= ' '.$item->get_title(); } |