From 00045af9c092b5d7cf8effc841a30b4703d01c26 Mon Sep 17 00:00:00 2001 From: dongsheng Date: Thu, 18 Sep 2008 07:08:45 +0000 Subject: [PATCH] "MDL-13766, 1) improve javascript error handle 2) add language string 3) change parameter type" --- lang/en_utf8/repository.php | 2 ++ repository/javascript.php | 41 +++++++++++++++++-------------------- repository/ws.php | 2 +- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/lang/en_utf8/repository.php b/lang/en_utf8/repository.php index 082eabd0d4b..c6b8ddf2d66 100644 --- a/lang/en_utf8/repository.php +++ b/lang/en_utf8/repository.php @@ -40,6 +40,7 @@ $string['filenotnull'] = 'You must select a file to upload.'; $string['filesaved'] = 'The file has been saved'; $string['getfile'] = 'Select this file'; $string['hiddenshow'] = 'Hide/Show'; +$string['keyword'] = 'Keyword'; $string['instance'] = 'instance'; $string['instancedeleted'] = 'Instance deleted'; $string['instances'] = 'Repository instances'; @@ -55,6 +56,7 @@ $string['manageuserrepository'] = 'Manage individual repository'; $string['nopermissiontoaccess'] = 'No permission to access this repository'; $string['noenter'] = 'Nothing entered'; $string['notyourinstances'] = 'You can not view/edit repository instances of another user'; +$string['noresult'] = 'No search result'; $string['operation'] = 'Operation'; $string['openpicker'] = 'Choose a file...'; $string['personalrepositories'] = 'Personal repositories'; diff --git a/repository/javascript.php b/repository/javascript.php index 88f16bb5b60..c591d8d2e5f 100644 --- a/repository/javascript.php +++ b/repository/javascript.php @@ -34,6 +34,7 @@ function repository_get_client($context) { $strloading = get_string('loading', 'repository'); $strthumbview = get_string('thumbview', 'repository'); $strtitle = get_string('title', 'repository'); + $strnoresult = get_string('noresult', 'repository'); $strmgr = get_string('manageurl', 'repository'); $strnoenter = get_string('noenter', 'repository'); $strsave = get_string('save', 'repository'); @@ -209,22 +210,23 @@ this.create_picker = function() { var searchbar = new YAHOO.util.Element('search-div-$suffix'); searchbar.get('element').innerHTML = ''; var searchbtn = new YAHOO.util.Element('search-btn-$suffix'); - searchbtn.callback = { + searchbtn.callback={ success: function(o) { var panel = new YAHOO.util.Element('panel-$suffix'); - try { if(!o.responseText) { - panel.get('element').innerHTML = 'no'; - return; + panel.get('element').innerHTML = '$strnoresult'; + return; } - var json = YAHOO.lang.JSON.parse(o.responseText); + try { + var json = YAHOO.lang.JSON.parse(o.responseText); } catch(e) { - alert('$strinvalidjson - '+o.responseText); + alert('$strinvalidjson - |search_cb| -'+o.responseText); + return; } - _client.ds = {}; - if(!json.list || json.list.length<1) { - panel.get('element').innerHTML = 'no'; - return; + _client.ds={}; + if(!json.list || json.list.length<1){ + panel.get('element').innerHTML = '$strnoresult'; + return; } _client.ds.list = json.list; if(_client.ds.list) { @@ -517,7 +519,7 @@ _client.buildtree = function(node, level) { var info = {label:node.title, title:"$strdate"+node.date+' '+'$strsize'+node.size}; var tmpNode = new YAHOO.widget.TextNode(info, level, false); var tooltip = new YAHOO.widget.Tooltip(tmpNode.labelElId, { -context:tmpNode.labelElId, text:info.title}); + context:tmpNode.labelElId, text:info.title}); if(node.repo_id) { tmpNode.repo_id=node.repo_id; }else{ @@ -553,7 +555,7 @@ _client.dynload = function (node, fnLoadComplete) { try { var json = YAHOO.lang.JSON.parse(o.responseText); } catch(e) { - alert('$strinvalidjson - '+o.responseText); + alert('$strinvalidjson - |dynload| -'+o.responseText); } for(k in json.list) { _client.buildtree(json.list[k], node); @@ -561,11 +563,10 @@ _client.dynload = function (node, fnLoadComplete) { o.argument.fnLoadComplete(); }, failure:function(oResponse) { - alert('$strerror'); + alert('$strerror - |dynload| -'); oResponse.argument.fnLoadComplete(); }, - argument:{"node":node, "fnLoadComplete": fnLoadComplete}, - timeout:600 + argument:{"node":node, "fnLoadComplete": fnLoadComplete} } var params = []; params['p']=node.path; @@ -624,7 +625,7 @@ upload: function(o) { try { var ret = YAHOO.lang.JSON.parse(o.responseText); } catch(e) { - alert('$strinvalidjson - '+o.responseText); + alert('$strinvalidjson - |upload| -'+o.responseText); } if(ret && ret.e) { var panel = new YAHOO.util.Element('panel-$suffix'); @@ -634,8 +635,6 @@ upload: function(o) { if(ret) { alert('$strsaved'); repository_client_$suffix.end(ret); - }else{ - alert('$strinvalidjson'); } } } @@ -828,7 +827,7 @@ success: function(o) { try { var ret = YAHOO.lang.JSON.parse(o.responseText); } catch(e) { - alert('$strinvalidjson - '+o.responseText); + alert('$strinvalidjson - |req_cb| -'+o.responseText); }; if(ret && ret.e) { panel.get('element').innerHTML = ret.e; @@ -854,7 +853,7 @@ success: function(o) { try { var ret = YAHOO.lang.JSON.parse(o.responseText); } catch(e) { - alert('$strinvalidjson - '+o.responseText); + alert('$strinvalidjson - |download_cb| -'+o.responseText); } if(ret && ret.e) { panel.get('element').innerHTML = ret.e; @@ -862,8 +861,6 @@ success: function(o) { } if(ret) { repository_client_$suffix.end(ret); - }else{ - alert('$strinvalidjson'); } } } diff --git a/repository/ws.php b/repository/ws.php index eb501f6513d..bf097c54b10 100644 --- a/repository/ws.php +++ b/repository/ws.php @@ -8,7 +8,7 @@ require_once('lib.php'); /// Parameters - $p = optional_param('p', '', PARAM_INT); // page or path + $p = optional_param('p', '', PARAM_RAW); // page or path $env = optional_param('env', 'form', PARAM_ALPHA); // opened in editor or moodleform $file = optional_param('file', '', PARAM_RAW); // file to download $title = optional_param('title', '', PARAM_FILE); // new file name