summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2010-09-06 23:09:14 +0200
committerRobin Appelman <icewind1991@gmail.com>2010-09-06 23:09:14 +0200
commit5da12fcfa13f2c3497470edc97315363aa89e47c (patch)
tree5e988c4f2f88b86493e21be03c69440052290855 /js
parentb0dbb2ac9d5f5899ea6b9cad808413aeac7292d1 (diff)
downloadnextcloud-server-5da12fcfa13f2c3497470edc97315363aa89e47c.tar.gz
nextcloud-server-5da12fcfa13f2c3497470edc97315363aa89e47c.zip
use json to encode the file list, should work better with filenames containing non-ascii characters
Diffstat (limited to 'js')
-rw-r--r--js/lib_files.js21
1 files changed, 10 insertions, 11 deletions
diff --git a/js/lib_files.js b/js/lib_files.js
index 94af0b896a4..f28a46d3a0a 100644
--- a/js/lib_files.js
+++ b/js/lib_files.js
@@ -41,18 +41,16 @@ OC_FILES.xmlloader=new OCXMLLoader();
OC_FILES.getdirectorycontent_parse=function(req){
var files=new Array();
- var response=req.responseXML;
+ var json=eval('('+req.responseText+')');
OC_FILES.cache.files=Array();
- if(response){
- var dir=response.getElementsByTagName('dir').item(0);
- var fileElements=response.getElementsByTagName('file');
- if(fileElements.length>0){
- for(index=0;index<fileElements.length;index++){
+ if(json){
+ for(var name in json){
+ if(name!='__max_upload'){
var file=new Array();
var attributes=Array('size','name','type','directory','date','mime');
- for(i in attributes){
- var name=attributes[i];
- file[name]=fileElements.item(index).getAttribute(name);
+ for(var i in attributes){
+ var attributeName=attributes[i];
+ file[attributeName]=json[name][attributeName];
}
files[file.name]=file;
}
@@ -61,7 +59,7 @@ OC_FILES.getdirectorycontent_parse=function(req){
if(OC_FILES.cache.incomplete[OC_FILES.dir]){
files=arrayMerge(files,OC_FILES.cache.incomplete[OC_FILES.dir]);
}
- files['max_upload']=dir.getAttribute('max_upload');
+ files['max_upload']=json['__max_upload'];
if(OC_FILES.getdirectorycontent_callback){
OC_FILES.getdirectorycontent_callback(files);
}
@@ -75,7 +73,8 @@ OC_FILES.getdirectorycontent=function(dir,callback,refresh){
OC_FILES.getdirectorycontent_callback=callback;
}
OC_FILES.xmlloader.setCallBack(OC_FILES.getdirectorycontent_parse);
- OC_FILES.xmlloader.load('files/get_files.php?dir='+encodeURIComponent(dir));
+// OC_FILES.xmlloader.load('files/get_files.php?dir='+encodeURIComponent(dir));
+ OC_FILES.xmlloader.load('files/api.php?action=getfiles&dir='+encodeURIComponent(dir));
}else{
var files=OC_FILES.cache.files
if(OC_FILES.cache.incomplete[OC_FILES.dir]){