issue 675: display line feeds in ajax alert messages.

plus, make unknown error message more detail.


git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9921 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
taggon 2011-12-08 08:25:22 +00:00
parent 77d1efccba
commit 27a62f1a36
3 changed files with 10 additions and 8 deletions

View file

@ -1533,7 +1533,8 @@ $.exec_xml = window.exec_xml = function(module, act, params, callback_func, resp
return $.exec_xml.onerror(module, act, ret, callback_func, response_tags, callback_func_arg, fo_obj);
}
alert(ret['message'] || 'error!');
alert( (ret['message']||'An unknown error occured while loading ['+module+'.'+act+']').replace(/\\n/g, '\n') );
return null;
}

12
common/js/xe.min.js vendored
View file

@ -54,12 +54,12 @@ a.nodeValue:4==a.nodeType&&(b+="<![CDATA["+a.nodeValue+"]]\>");return b},a=a.fir
a.documentElement;var e=c.toObj(c.removeWhite(a));"object"==typeof JSON&&jQuery.isFunction(JSON.stringify);a=c.toJson(e,a.nodeName,"");return"{"+(b?a.replace(/\t/g,b):a.replace(/\t|\n/g,""))+"}"}
(function(a){function b(b,c){a("#xeTmpIframe").length||a('<iframe name="%id%" id="%id%" style="position:absolute;left:-1px;top:1px;width:1px;height:1px"></iframe>'.replace(/%id%/g,"xeTmpIframe")).appendTo(document.body);a("#xeVirtualForm").remove();var d=a('<form id="%id%"></form>'.replace(/%id%/g,"xeVirtualForm")).attr({id:"xeVirtualForm",method:"post",action:b,target:"xeTmpIframe"});c.xeVirtualRequestMethod="xml";c.xeRequestURI=location.href.replace(/#(.*)$/i,"");c.xeVirtualRequestUrl=request_uri;
a.each(c,function(b,c){a('<input type="hidden">').attr("name",b).attr("value",c).appendTo(d)});d.appendTo(document.body).submit()}function d(a){var b={},c;for(c in a)a.hasOwnProperty(c)&&(b[c]=a[c]);return b}function c(){return""}a.exec_xml=window.exec_xml=function(c,g,j,l,m,k,h){function w(b){var b=a(b).find("response")[0],d,w="",o=[],j={};d="";s.css("display","none").trigger("cancel_confirm");if(!b)return alert(u.responseText),null;d=xml2json(b,!1,!1);d="object"==typeof JSON&&a.isFunction(JSON.parse)?
JSON.parse(d):eval("("+d+")");d=d.response;if("undefined"==typeof d){o.error=-1;o.message="Unexpected error occured.";try{if("undefined"!=typeof(w=b.childNodes[0].firstChild.data))o.message+="\r\n"+w}catch(n){}return o}a.each(m,function(a,b){j[b]=!0});j.redirect_url=!0;j.act=!0;a.each(d,function(a,b){j[a]&&(o[a]=b)});if(0!=o.error){if(a.isFunction(a.exec_xml.onerror))return a.exec_xml.onerror(c,g,o,l,m,k,h);alert(o.message||"error!");return null}if(o.redirect_url)return location.href=o.redirect_url.replace(/&amp;/g,
"&"),null;a.isFunction(l)&&l(o,m,k,h)}var o=request_uri+"index.php";j||(j={});a.isArray(j)&&(j=d(j));j.module=c;j.act=g;"undefined"!=typeof xeVid&&(j.vid=xeVid);"undefined"==typeof m||1>m.length?m=["error","message"]:m.push("error","message");if(a.isArray(ssl_actions)&&j.act&&0<=a.inArray(j.act,ssl_actions)){var o=window.https_port||443,n=a("<a>").attr("href",default_url||request_uri)[0],v="https://"+n.hostname.replace(/:\d+$/,"");443!=o&&(v+=":"+o);"/"!=n.pathname[0]&&(v+="/");v+=n.pathname;o=v.replace(/\/$/,
"")+"/index.php"}n=a("<a>").attr("href",location.href)[0];v=a("<a>").attr("href",o)[0];if(n.protocol!=v.protocol||n.port!=v.port)return b(o,j);var x=[],p=0;x[p++]='<?xml version="1.0" encoding="utf-8" ?>';x[p++]="<methodCall>";x[p++]="<params>";a.each(j,function(a,b){x[p++]="<"+a+"><![CDATA["+b+"]]\></"+a+">"});x[p++]="</params>";x[p++]="</methodCall>";var u=null;u&&0!=u.readyState&&u.abort();try{a.ajax({url:o,type:"POST",dataType:"xml",data:x.join("\n"),contentType:"text/plain",beforeSend:function(a){u=
a},success:w,error:function(a,b){s.css("display","none");var c="";if("parsererror"==b){if(""==a.responseText)return;c="The result is not valid XML :\n-------------------------------------\n"+a.responseText.replace(/<[^>]+>/g,"")}else c=b;try{console.log(c)}catch(d){}}})}catch(A){alert(A);return}var s=a(".wfsr");show_waiting_message&&s.length&&s.html(waiting_message).show()};a.exec_json=function(b,c,d){"undefined"==typeof c&&(c={});b=b.split(".");2==b.length&&(show_waiting_message&&a(".wfsr").html(waiting_message).show(),
a.extend(c,{module:b[0],act:b[1]}),"undefined"!=typeof xeVid&&a.extend(c,{vid:xeVid}),a.ajax({type:"POST",dataType:"json",url:request_uri,contentType:"application/json",data:a.param(c),success:function(b){a(".wfsr").hide().trigger("cancel_confirm");0<b.error&&alert(b.message);a.isFunction(d)&&d(b)}}))};a.fn.exec_html=function(b,c,d,l,m){"undefined"==typeof c&&(c={});a.inArray(d,["html","append","prepend"])||(d="html");var k=a(this),b=b.split(".");2==b.length&&(show_waiting_message&&a(".wfsr").html(waiting_message).show(),
a.extend(c,{module:b[0],act:b[1]}),a.ajax({type:"POST",dataType:"html",url:request_uri,data:a.param(c),success:function(b){a(".wfsr").hide().trigger("cancel_confirm");k[d](b);a.isFunction(l)&&l(m)}}))};a(function(a){a(".wfsr").ajaxStart(function(){a(window).bind("beforeunload",c)}).bind("ajaxStop cancel_confirm",function(){a(window).unbind("beforeunload",c)})})})(jQuery);
JSON.parse(d):eval("("+d+")");d=d.response;if("undefined"==typeof d){o.error=-1;o.message="Unexpected error occured.";try{if("undefined"!=typeof(w=b.childNodes[0].firstChild.data))o.message+="\r\n"+w}catch(n){}return o}a.each(m,function(a,b){j[b]=!0});j.redirect_url=!0;j.act=!0;a.each(d,function(a,b){j[a]&&(o[a]=b)});if(0!=o.error){if(a.isFunction(a.exec_xml.onerror))return a.exec_xml.onerror(c,g,o,l,m,k,h);alert((o.message||"An unknown error occured while loading ["+c+"."+g+"]").replace(/\\n/g,"\n"));
return null}if(o.redirect_url)return location.href=o.redirect_url.replace(/&amp;/g,"&"),null;a.isFunction(l)&&l(o,m,k,h)}var o=request_uri+"index.php";j||(j={});a.isArray(j)&&(j=d(j));j.module=c;j.act=g;"undefined"!=typeof xeVid&&(j.vid=xeVid);"undefined"==typeof m||1>m.length?m=["error","message"]:m.push("error","message");if(a.isArray(ssl_actions)&&j.act&&0<=a.inArray(j.act,ssl_actions)){var o=window.https_port||443,n=a("<a>").attr("href",default_url||request_uri)[0],v="https://"+n.hostname.replace(/:\d+$/,
"");443!=o&&(v+=":"+o);"/"!=n.pathname[0]&&(v+="/");v+=n.pathname;o=v.replace(/\/$/,"")+"/index.php"}n=a("<a>").attr("href",location.href)[0];v=a("<a>").attr("href",o)[0];if(n.protocol!=v.protocol||n.port!=v.port)return b(o,j);var x=[],p=0;x[p++]='<?xml version="1.0" encoding="utf-8" ?>';x[p++]="<methodCall>";x[p++]="<params>";a.each(j,function(a,b){x[p++]="<"+a+"><![CDATA["+b+"]]\></"+a+">"});x[p++]="</params>";x[p++]="</methodCall>";var u=null;u&&0!=u.readyState&&u.abort();try{a.ajax({url:o,type:"POST",
dataType:"xml",data:x.join("\n"),contentType:"text/plain",beforeSend:function(a){u=a},success:w,error:function(a,b){s.css("display","none");var c="";if("parsererror"==b){if(""==a.responseText)return;c="The result is not valid XML :\n-------------------------------------\n"+a.responseText.replace(/<[^>]+>/g,"")}else c=b;try{console.log(c)}catch(d){}}})}catch(A){alert(A);return}var s=a(".wfsr");show_waiting_message&&s.length&&s.html(waiting_message).show()};a.exec_json=function(b,c,d){"undefined"==
typeof c&&(c={});b=b.split(".");2==b.length&&(show_waiting_message&&a(".wfsr").html(waiting_message).show(),a.extend(c,{module:b[0],act:b[1]}),"undefined"!=typeof xeVid&&a.extend(c,{vid:xeVid}),a.ajax({type:"POST",dataType:"json",url:request_uri,contentType:"application/json",data:a.param(c),success:function(b){a(".wfsr").hide().trigger("cancel_confirm");0<b.error&&alert(b.message);a.isFunction(d)&&d(b)}}))};a.fn.exec_html=function(b,c,d,l,m){"undefined"==typeof c&&(c={});a.inArray(d,["html","append",
"prepend"])||(d="html");var k=a(this),b=b.split(".");2==b.length&&(show_waiting_message&&a(".wfsr").html(waiting_message).show(),a.extend(c,{module:b[0],act:b[1]}),a.ajax({type:"POST",dataType:"html",url:request_uri,data:a.param(c),success:function(b){a(".wfsr").hide().trigger("cancel_confirm");k[d](b);a.isFunction(l)&&l(m)}}))};a(function(a){a(".wfsr").ajaxStart(function(){a(window).bind("beforeunload",c)}).bind("ajaxStop cancel_confirm",function(){a(window).unbind("beforeunload",c)})})})(jQuery);
(function(a){function b(a){var b=[];if(a.is(":radio"))return a.filter(":checked").val();return a.is(":checkbox")?(a.filter(":checked").each(function(){b.push(this.value)}),b.join("|@|")):a.val()}function d(a){a+="";if(!a.length)return 0;var a=encodeURI(a),b=a.split("%").length-1;return a.length-2*b}var c=[],e=[],g={},j=[],l={},m=new (xe.createApp("Validator",{init:function(){var a=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/;this.cast("ADD_RULE",["email",a]);this.cast("ADD_RULE",["email_address",a]);a=
/^[a-z]+[\w-]*[a-z0-9_]+$/i;this.cast("ADD_RULE",["userid",a]);this.cast("ADD_RULE",["user_id",a]);a=/^(https?|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-]+)+(:\d+)?/;this.cast("ADD_RULE",["url",a]);this.cast("ADD_RULE",["homepage",a]);this.cast("ADD_RULE",["korean",RegExp("^[\uac00-\ud7a3]*$")]);this.cast("ADD_RULE",["korean_number",RegExp("^[\uac00-\ud7a30-9]*$")]);this.cast("ADD_RULE",["alpha",/^[a-z]*$/i]);this.cast("ADD_RULE",["alpha_number",/^[a-z][a-z0-9_]*$/i]);this.cast("ADD_RULE",["number",/^[0-9]*$/])},
run:function(a){var b="";if(a._filter)b=a._filter.value;a=this.cast("VALIDATE",[a,b]);"undefined"==typeof a&&(a=!1);return a},API_ONREADY:function(){var b=this;a("form").each(function(){if(this.onsubmit)this["xe:onsubmit"]=this.onsubmit,this.onsubmit=null}).submit(function(){var c=this["xe:onsubmit"];return a.isFunction(c)?c.apply(this):b.run(this)})},API_VALIDATE:function(c,e){function o(a){return a.replace(/([\.\+\-\[\]\{\}\(\)\\])/g,"\\$1")}var n=!0,m=e[0],k=m.elements,p,u,A,s,r,q,B,t,y,z;if(k.ruleset)p=

View file

@ -265,7 +265,8 @@ $.exec_xml = window.exec_xml = function(module, act, params, callback_func, resp
return $.exec_xml.onerror(module, act, ret, callback_func, response_tags, callback_func_arg, fo_obj);
}
alert(ret['message'] || 'error!');
alert( (ret['message']||'An unknown error occured while loading ['+module+'.'+act+']').replace(/\\n/g, '\n') );
return null;
}