diff options
author | Robin Appelman <icewind1991@gmail.com> | 2011-01-22 02:56:16 +0100 |
---|---|---|
committer | Robin Appelman <icewind1991@gmail.com> | 2011-01-22 02:56:16 +0100 |
commit | 066ca70890c80a858fb744d0acb457588ed2e7b0 (patch) | |
tree | c5f6f13941892689f7d745b719e6577ccf0b3c91 | |
parent | 15d15104d4abaf0021e8a9b15656ca9568360061 (diff) | |
download | nextcloud-server-066ca70890c80a858fb744d0acb457588ed2e7b0.tar.gz nextcloud-server-066ca70890c80a858fb744d0acb457588ed2e7b0.zip |
only show files in the filebrowser that we can actually read.
in the (rare) case that there are unreadable files show an error since it's probably a case of incorrect premissions set by someone.
-rw-r--r-- | files/api.php | 2 | ||||
-rw-r--r-- | js/filebrowser.js | 22 | ||||
-rw-r--r-- | js/lib_files.js | 2 |
3 files changed, 22 insertions, 4 deletions
diff --git a/files/api.php b/files/api.php index 3cb796d432c..7de2c31fc7f 100644 --- a/files/api.php +++ b/files/api.php @@ -54,7 +54,7 @@ if($arguments['action']){ break; case 'getfiles': $max_upload=min(return_bytes(ini_get('post_max_size')),return_bytes(ini_get('upload_max_filesize'))); - $files=OC_FILES::getdirectorycontent($arguments['dir']); + $files=OC_FILES::getDirectoryContent($arguments['dir']); $files['__max_upload']=$max_upload; echo json_encode($files); break; diff --git a/js/filebrowser.js b/js/filebrowser.js index d0232fa741f..f78ae595e97 100644 --- a/js/filebrowser.js +++ b/js/filebrowser.js @@ -130,12 +130,30 @@ OC_FILES.browser.files.show=function(parent,fileList){ } } //add the files that arent in the list yet + var unreadableFiles=[]; for(name in fileList){ file=fileList[name]; - if(!OC_FILES.browser.files.fileNodes[file.name]){ - OC_FILES.browser.files.add(file.name,file.type,file.size,file.date,file.mime); + if(file.readable){ + if(!OC_FILES.browser.files.fileNodes[file.name]){ + OC_FILES.browser.files.add(file.name,file.type,file.size,file.date,file.mime); + } + }else if(file.name){ + unreadableFiles.push(file); } } + if(unreadableFiles.length>0){ + var message=unreadableFiles.length+" unreadable files detected:\n"; + var first=true; + unreadableFiles.foreach(function(item){ + if(!first){ + message+=', '; + } + first=false; + message+=item.name; + }); + message+="\nPlease check the file premissions"; + alert(message); + } } } OC_FILES.browser.files.add=function(name,type,size,date,mime){ diff --git a/js/lib_files.js b/js/lib_files.js index 54af643272a..fc24b1b487c 100644 --- a/js/lib_files.js +++ b/js/lib_files.js @@ -47,7 +47,7 @@ OC_FILES.getdirectorycontent_parse=function(req){ for(var name in json){ if(name!='__max_upload'){ var file=new Array(); - var attributes=Array('size','name','type','directory','date','mime'); + var attributes=Array('size','name','type','directory','date','mime','writable','readable'); for(var i in attributes){ var attributeName=attributes[i]; file[attributeName]=json[name][attributeName]; |