summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2008-01-18 21:55:11 +0100
committerAndreas Gohr <andi@splitbrain.org>2008-01-18 21:55:11 +0100
commit64807c842ccad35656e9abb857246a511d56d29a (patch)
tree64aa6cfae9492bc986f9100da7764fe94b302834
parent66212d97547e586a83979f0c75d539f1e3a8839c (diff)
downloadrpg-64807c842ccad35656e9abb857246a511d56d29a.tar.gz
rpg-64807c842ccad35656e9abb857246a511d56d29a.tar.bz2
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
-rw-r--r--inc/media.php2
-rw-r--r--inc/search.php5
2 files changed, 6 insertions, 1 deletions
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 '<div class="nothing">'.$lang['nothingfound'].'</div>'.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){