From 64807c842ccad35656e9abb857246a511d56d29a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 18 Jan 2008 21:55:11 +0100 Subject: skip invalid filenames in media directory list (related to FS#1312 FS#1306) Invalid media files (like uppercase names) are no longer listed in the media manager. Instead a warning is shown. darcs-hash:20080118205511-7ad00-01625475e055be71628fd68aaaad786959420dce.gz --- inc/media.php | 2 +- inc/search.php | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/inc/media.php b/inc/media.php index 0ea10b0df..1d7726170 100644 --- a/inc/media.php +++ b/inc/media.php @@ -400,7 +400,7 @@ function media_filelist($ns,$auth=null,$jump=''){ $dir = utf8_encodeFN(str_replace(':','/',$ns)); $data = array(); - search($data,$conf['mediadir'],'search_media',array(),$dir); + search($data,$conf['mediadir'],'search_media',array('showmsg'=>true),$dir); if(!count($data)){ echo '
'.$lang['nothingfound'].'
'.NL; diff --git a/inc/search.php b/inc/search.php index 584e684ff..b4d5f1274 100644 --- a/inc/search.php +++ b/inc/search.php @@ -205,6 +205,11 @@ function search_media(&$data,$base,$file,$type,$lvl,$opts){ $info = array(); $info['id'] = pathID($file,true); + if($info['id'] != cleanID($info['id'])){ + if($opts['showmsg']) + msg(hsc($info['id']).' is not a valid file name for DokuWiki - skipped',-1); + return false; // skip non-valid files + } //check ACL for namespace (we have no ACL for mediafiles) if(auth_quickaclcheck(getNS($info['id']).':*') < AUTH_READ){ -- cgit v1.2.3