Fix for UTF8 URLs in static JS files. Next, all templated/snippet based JS has to be reviewed. Partial fix for bug#12065

This commit is contained in:
Colin Kuskie 2011-03-28 12:39:31 -07:00
parent 0c1486c8d4
commit 25fe87db19
16 changed files with 65 additions and 57 deletions

View file

@ -1,5 +1,6 @@
7.10.13 7.10.13
- added #12079: Carousel Auto Play - added #12079: Carousel Auto Play
- fixed #12065: "Data error" in AssetManager if URL is Cyrillic
7.10.12 7.10.12
- fixed #12072: Product, related and accessory assets - fixed #12072: Product, related and accessory assets

View file

@ -7,6 +7,7 @@
ns.poll = function(args) { ns.poll = function(args) {
function fetch() { function fetch() {
var first = true; var first = true;
var url = encodeURI(args.url),
YAHOO.util.Connect.asyncRequest('GET', args.url, { YAHOO.util.Connect.asyncRequest('GET', args.url, {
success: function (o) { success: function (o) {
var data, e; var data, e;

View file

@ -77,7 +77,8 @@ WebGUI.VendorPayout.prototype.initialize = function (aaa, bbb,ccc,ddd) {
// Submit button // Submit button
this.submitPayoutsButton = new YAHOO.widget.Button({ label: this.i18n( 'submit scheduled payouts button' ), container: this.buttonDiv }); this.submitPayoutsButton = new YAHOO.widget.Button({ label: this.i18n( 'submit scheduled payouts button' ), container: this.buttonDiv });
this.submitPayoutsButton.on( 'click', function () { this.submitPayoutsButton.on( 'click', function () {
YAHOO.util.Connect.asyncRequest( 'GET', '?shop=vendor;method=submitScheduledPayouts', { var buttonUrl = encodeURI(location.pathname) + '?shop=vendor;method=submitScheduledPayouts';
YAHOO.util.Connect.asyncRequest( 'GET', buttonUrl, {
success: obj.initialize, success: obj.initialize,
scope: obj scope: obj
} ); } );
@ -87,7 +88,7 @@ WebGUI.VendorPayout.prototype.initialize = function (aaa, bbb,ccc,ddd) {
this.payoutDetails = document.createElement('div'); this.payoutDetails = document.createElement('div');
this.container.appendChild( this.payoutDetails ); this.container.appendChild( this.payoutDetails );
this.itemBaseUrl = '?shop=vendor;method=payoutDataAsJSON;'; this.itemBaseUrl = encodeURI(location.pathname) + '?shop=vendor;method=payoutDataAsJSON;';
this.initVendorList(); this.initVendorList();
this.initPayoutDetails(); this.initPayoutDetails();
@ -105,7 +106,7 @@ WebGUI.VendorPayout.prototype.initVendorList = function () {
]; ];
// setup data source // setup data source
var url = '?shop=vendor;method=vendorTotalsAsJSON;'; var url = encodeURI(location.pathname) + '?shop=vendor;method=vendorTotalsAsJSON;';
this.vendorDataSource = new YAHOO.util.DataSource( url ); this.vendorDataSource = new YAHOO.util.DataSource( url );
this.vendorDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; this.vendorDataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
this.vendorDataSource.responseSchema = { this.vendorDataSource.responseSchema = {
@ -246,7 +247,7 @@ WebGUI.VendorPayout.prototype.initPayoutDetails = function () {
}; };
var status = record.getData( 'vendorPayoutStatus' ) === 'NotPaid' ? 'Scheduled' : 'NotPaid'; var status = record.getData( 'vendorPayoutStatus' ) === 'NotPaid' ? 'Scheduled' : 'NotPaid';
var url = '?shop=vendor;method=setPayoutStatus' + ';itemId=' + record.getData( 'itemId' ) + ';status=' + status; var url = encodeURI(location.pathname) + '?shop=vendor;method=setPayoutStatus' + ';itemId=' + record.getData( 'itemId' ) + ';status=' + status;
YAHOO.util.Connect.asyncRequest( 'post', url, callback ); YAHOO.util.Connect.asyncRequest( 'post', url, callback );
} ); } );
} }

View file

@ -72,7 +72,8 @@ WebGUI.FieldCheck.AjaxEvent.prototype = {
return false; return false;
} else { } else {
this.sUri = (!sUri) ? this.sUri : sUri; this.sUri = (!sUri) ? this.sUri : sUri;
YAHOO.util.Connect.asyncRequest('GET', this.sUri, { var url = encodeURI(this.sUri);
YAHOO.util.Connect.asyncRequest('GET', url, {
success: function (o) { success: function (o) {
var oJSON = eval("(" + o.responseText + ")"); var oJSON = eval("(" + o.responseText + ")");
var imgEltId=fieldId+"_Img"; var imgEltId=fieldId+"_Img";

View file

@ -412,7 +412,7 @@
// This is a very thin layer on top of YAHOO.util.Connect.asyncRequest. // This is a very thin layer on top of YAHOO.util.Connect.asyncRequest.
request: function (method, params, success) { request: function (method, params, success) {
var url = this.baseUrl, var url = encodeURI(this.baseUrl),
cb = { success: success }, cb = { success: success },
query = _(params).map(function (v, k) { query = _(params).map(function (v, k) {
return [k, escape(v)].join('='); return [k, escape(v)].join('=');

View file

@ -55,7 +55,7 @@
} }
function fetch(k) { function fetch(k) {
var url = document.getElementById('previewFetchUrl').value, var url = encodeURI(document.getElementById('previewFetchUrl').value),
abs, b; abs, b;
if (!url) { if (!url) {

View file

@ -317,7 +317,7 @@ function dragable_dragStop(e) {
} }
} }
var url = replUrl + "?func=ajaxInlineView"; var url = encodeURI(replUrl) + "?func=ajaxInlineView";
var status = YAHOO.util.Connect.asyncRequest('GET',url,callback); var status = YAHOO.util.Connect.asyncRequest('GET',url,callback);
} }
startTD=null; startTD=null;
@ -365,7 +365,7 @@ function dragable_postNewContentMap() {
} }
} }
var url = pageURL; var url = encodeURI(pageURL);
var dataParts = "func=setContentPositions&map=" + dragable_getContentMap(); var dataParts = "func=setContentPositions&map=" + dragable_getContentMap();
var status = YAHOO.util.Connect.asyncRequest('POST',url,callback,dataParts); var status = YAHOO.util.Connect.asyncRequest('POST',url,callback,dataParts);
@ -528,6 +528,7 @@ function dashboard_toggleEditForm(event,shortcutId,editFormUrl) {
} }
} }
editFormUrl = encodeURI(editFormUrl);
var status = YAHOO.util.Connect.asyncRequest('GET',editFormUrl,callback); var status = YAHOO.util.Connect.asyncRequest('GET',editFormUrl,callback);
} }
@ -571,7 +572,7 @@ function dashboard_toggleEditDashletForm(event,assetId,dashboardUrl) {
} }
} }
var url = dashboardUrl + "?func=editDashlet;dashletAssetId="+assetId; var url = encodeURI(dashboardUrl) + "?func=editDashlet;dashletAssetId="+assetId;
var status = YAHOO.util.Connect.asyncRequest('GET',url,callback); var status = YAHOO.util.Connect.asyncRequest('GET',url,callback);
} }
@ -595,7 +596,7 @@ function dashboard_reloadDashlet(event,shortcutId,shortcutUrl) {
} }
} }
var url = shortcutUrl + "?func=ajaxInlineView"; var url = encodeURI(shortcutUrl) + "?func=ajaxInlineView";
var status = YAHOO.util.Connect.asyncRequest('GET',url,callback); var status = YAHOO.util.Connect.asyncRequest('GET',url,callback);
} }
@ -922,7 +923,7 @@ function dragable_dragStop(e) {
} }
} }
var url = replUrl + "?func=ajaxInlineView"; var url = encodeURI(replUrl) + "?func=ajaxInlineView";
var status = YAHOO.util.Connect.asyncRequest('GET',url,callback); var status = YAHOO.util.Connect.asyncRequest('GET',url,callback);
} }
startTD=null; startTD=null;
@ -970,7 +971,7 @@ function dragable_postNewContentMap() {
} }
} }
var url = pageURL; var url = encodeURI(pageURL);
var dataParts = "func=setContentPositions&map=" + dragable_getContentMap(); var dataParts = "func=setContentPositions&map=" + dragable_getContentMap();
var status = YAHOO.util.Connect.asyncRequest('POST',url,callback,dataParts); var status = YAHOO.util.Connect.asyncRequest('POST',url,callback,dataParts);
@ -1133,6 +1134,7 @@ function dashboard_toggleEditForm(event,shortcutId,editFormUrl) {
} }
} }
editFormUrl = encodeURI(editFormUrl);
var status = YAHOO.util.Connect.asyncRequest('GET',editFormUrl,callback); var status = YAHOO.util.Connect.asyncRequest('GET',editFormUrl,callback);
} }
@ -1176,7 +1178,7 @@ function dashboard_toggleEditDashletForm(event,assetId,dashboardUrl) {
} }
} }
var url = dashboardUrl + "?func=editDashlet;dashletAssetId="+assetId; var url = encodeURI(dashboardUrl) + "?func=editDashlet;dashletAssetId="+assetId;
var status = YAHOO.util.Connect.asyncRequest('GET',url,callback); var status = YAHOO.util.Connect.asyncRequest('GET',url,callback);
} }
@ -1200,7 +1202,7 @@ function dashboard_reloadDashlet(event,shortcutId,shortcutUrl) {
} }
} }
var url = shortcutUrl + "?func=ajaxInlineView"; var url = encodeURI(shortcutUrl) + "?func=ajaxInlineView";
var status = YAHOO.util.Connect.asyncRequest('GET',url,callback); var status = YAHOO.util.Connect.asyncRequest('GET',url,callback);
} }

View file

@ -69,7 +69,7 @@ function showPopWin( e ) {
} }
var status = YAHOO.util.Connect.asyncRequest('POST',url,callback,dataPart); var status = YAHOO.util.Connect.asyncRequest('POST',encodeURI(url),callback,dataPart);
} }

View file

@ -6,7 +6,7 @@ if (typeof Survey === "undefined") {
(function(){ (function(){
var callMade = 0; var callMade = 0;
var request = function(sUrl, callback, postData, form, hasFile){ var request = function(sQuery, callback, postData, form, hasFile){
if (form) { if (form) {
if (hasFile) { if (hasFile) {
YAHOO.util.Connect.setForm(form, true); YAHOO.util.Connect.setForm(form, true);
@ -23,8 +23,9 @@ if (typeof Survey === "undefined") {
} }
else { else {
callMade = 1; callMade = 1;
YAHOO.log(sUrl); YAHOO.log(sQuery);
YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData); var url = encodeURI(location.pathname) + sQuery;
YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
} }
}; };
@ -79,13 +80,13 @@ if (typeof Survey === "undefined") {
} }
}, },
submitSummary: function(data,functionName){ submitSummary: function(data,functionName){
var sUrl = "?func=loadQuestions;shownSummary=1"; var sQuery = "?func=loadQuestions;shownSummary=1";
var revision = Survey.Comm.getRevision(); var revision = Survey.Comm.getRevision();
if (revision) { if (revision) {
sUrl += ";revision=" + revision; sQuery += ";revision=" + revision;
} }
request(sUrl, this.callback, null, null, null); request(sQuery, this.callback, null, null, null);
}, },
getRevision: function() { getRevision: function() {
@ -104,15 +105,15 @@ if (typeof Survey === "undefined") {
postData = "data=" + YAHOO.lang.JSON.stringify(data, data); postData = "data=" + YAHOO.lang.JSON.stringify(data, data);
} }
//var sUrl = this.url + "?func="+functionName; //var sQuery = this.url + "?func="+functionName;
var sUrl = "?func=" + functionName; var sQuery = "?func=" + functionName;
var revision = Survey.Comm.getRevision(); var revision = Survey.Comm.getRevision();
if (revision) { if (revision) {
sUrl += ";revision=" + revision; sQuery += ";revision=" + revision;
} }
request(sUrl, this.callback, postData, form, hasFile); request(sQuery, this.callback, postData, form, hasFile);
} }
}; };
})(); })();

View file

@ -6,13 +6,14 @@ if (typeof Survey == "undefined") {
Survey.Comm = new function(){ Survey.Comm = new function(){
var callMade = 0; var callMade = 0;
var request = function(sUrl,callback,postData){ var request = function(sQuery,callback,postData){
YAHOO.util.Dom.setStyle('mask-all','display','block'); YAHOO.util.Dom.setStyle('mask-all','display','block');
if(callMade == 1){ if(callMade == 1){
alert("Waiting on previous request"); alert("Waiting on previous request");
}else{ }else{
callMade = 1; callMade = 1;
YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData); var url = encodeURI(location.pathname) + sQuery;
YAHOO.util.Connect.asyncRequest('POST', url, callback, postData);
} }
}; };
this.callback = { this.callback = {
@ -31,49 +32,49 @@ Survey.Comm = new function(){
}; };
this.loadSurvey = function(p){ this.loadSurvey = function(p){
var postData = "data="+p; var postData = "data="+p;
var sUrl = "?func=loadSurvey"; var sQuery = "?func=loadSurvey";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.dragDrop = function(target,before){ this.dragDrop = function(target,before){
var p = {}; var p = {};
p.target = target; p.target = target;
p.before = before; p.before = before;
var postData = "data="+YAHOO.lang.JSON.stringify(p); var postData = "data="+YAHOO.lang.JSON.stringify(p);
var sUrl = "?func=dragDrop"; var sQuery = "?func=dragDrop";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.submitEdit = function(p){ this.submitEdit = function(p){
var postData = "data="+YAHOO.lang.JSON.stringify(p); var postData = "data="+YAHOO.lang.JSON.stringify(p);
var sUrl = "?func=submitEdit"; var sQuery = "?func=submitEdit";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.newSection = function(){ this.newSection = function(){
var sUrl = "?func=newObject"; var sQuery = "?func=newObject";
request(sUrl,this.callback); request(sQuery,this.callback);
}; };
this.newQuestion = function(id){ this.newQuestion = function(id){
var postData = "data="+id; var postData = "data="+id;
var sUrl = "?func=newObject"; var sQuery = "?func=newObject";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.newAnswer = function(id){ this.newAnswer = function(id){
var postData = "data="+id; var postData = "data="+id;
var sUrl = "?func=newObject"; var sQuery = "?func=newObject";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.deleteAnswer = function(id){ this.deleteAnswer = function(id){
var postData = "data="+id; var postData = "data="+id;
var sUrl = "?func=deleteAnswer"; var sQuery = "?func=deleteAnswer";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.deleteQuestion = function(id){ this.deleteQuestion = function(id){
var postData = "data="+id; var postData = "data="+id;
var sUrl = "?func=deleteQuestion"; var sQuery = "?func=deleteQuestion";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
this.deleteSection = function(id){ this.deleteSection = function(id){
var postData = "data="+id; var postData = "data="+id;
var sUrl = "?func=deleteSection"; var sQuery = "?func=deleteSection";
request(sUrl,this.callback,postData); request(sQuery,this.callback,postData);
}; };
}(); }();

View file

@ -75,7 +75,7 @@ function initOptionalFields(prefix,fieldId) {
var getFieldValues = function() { var getFieldValues = function() {
var fieldInOtherThingId = this.value; var fieldInOtherThingId = this.value;
var url = location.pathname + "?func=selectDefaultFieldValue;thingId=" + thingId + ";fieldInOtherThingId=" + fieldInOtherThingId + ";fieldId=" + fieldId; var url = encodeURI(location.pathname) + "?func=selectDefaultFieldValue;thingId=" + thingId + ";fieldInOtherThingId=" + fieldInOtherThingId + ";fieldId=" + fieldId;
var handleSuccess = function(o){ var handleSuccess = function(o){
defaultFieldInThing_module.setBody(o.responseText); defaultFieldInThing_module.setBody(o.responseText);
@ -100,7 +100,7 @@ function initOptionalFields(prefix,fieldId) {
fieldInThing_module.show(); fieldInThing_module.show();
defaultFieldInThing_module.show(); defaultFieldInThing_module.show();
}else{ }else{
var url = location.pathname + "?func=selectFieldInThing;thingId=" + thingId + ";prefix=" +prefix + ";fieldId=" + fieldId; var url = encodeURI(location.pathname) + "?func=selectFieldInThing;thingId=" + thingId + ";prefix=" +prefix + ";fieldId=" + fieldId;
var handleSuccess = function(o){ var handleSuccess = function(o){
fieldInThing_module.setBody(o.responseText); fieldInThing_module.setBody(o.responseText);
fieldInThing_module.show(); fieldInThing_module.show();
@ -202,7 +202,7 @@ function editListItem(url,fieldId,copy) {
cache:false cache:false
}; };
var request = YAHOO.util.Connect.asyncRequest('GET', url, callbackGetForm); var request = YAHOO.util.Connect.asyncRequest('GET', encodeURI(url), callbackGetForm);
} }
function addListItemHTML(listItemId, newInnerHTML,label){ function addListItemHTML(listItemId, newInnerHTML,label){
@ -355,7 +355,7 @@ if (confirm("Are you sure you want to delete this field?")){
}; };
var postData = "func=deleteFieldConfirm;fieldId=" + listItemId + ";thingId=" + thingId; var postData = "func=deleteFieldConfirm;fieldId=" + listItemId + ";thingId=" + thingId;
var request = YAHOO.util.Connect.asyncRequest('POST', url, callback, postData); var request = YAHOO.util.Connect.asyncRequest('POST', encodeURI(url), callback, postData);
} }
} }
@ -482,7 +482,7 @@ YAHOO.extend(YAHOO.draglist.DDList, YAHOO.util.DDProxy, {
success:handleSuccess, success:handleSuccess,
failure:handleFailure failure:handleFailure
}; };
var url = location.pathname; var url = encodeURI(location.pathname);
//curRank = curRank +1; //curRank = curRank +1;
//origRank = origRank +1; //origRank = origRank +1;
var postData = "func=moveFieldConfirm;fieldId=" + srcEl.id + ";targetFieldId=" + destination+";direction="+direction;//currentRank="+curRank+";originalRank="+origRank+"; var postData = "func=moveFieldConfirm;fieldId=" + srcEl.id + ";targetFieldId=" + destination+";direction="+direction;//currentRank="+curRank+";originalRank="+origRank+";

View file

@ -78,7 +78,7 @@ WebGUI.AssetHistory.initDataTable = function (o) {
// initialize the data source // initialize the data source
WebGUI.AssetHistory.DataSource WebGUI.AssetHistory.DataSource
= new YAHOO.util.DataSource( '?op=assetHistory;method=getHistoryAsJson;',{connTimeout:30000} ); = new YAHOO.util.DataSource( encodeURI(location.pathname) + '?op=assetHistory;method=getHistoryAsJson;', {connTimeout:30000} );
WebGUI.AssetHistory.DataSource.responseType WebGUI.AssetHistory.DataSource.responseType
= YAHOO.util.DataSource.TYPE_JSON; = YAHOO.util.DataSource.TYPE_JSON;
WebGUI.AssetHistory.DataSource.responseSchema WebGUI.AssetHistory.DataSource.responseSchema

View file

@ -263,7 +263,7 @@ WebGUI.AssetManager.initDataTable = function (o) {
// initialize the data source // initialize the data source
WebGUI.AssetManager.DataSource WebGUI.AssetManager.DataSource
= new YAHOO.util.DataSource( '?op=assetManager;method=ajaxGetManagerPage;',{connTimeout:30000} ); = new YAHOO.util.DataSource( encodeURI(location.pathname) + '?op=assetManager;method=ajaxGetManagerPage;', {connTimeout:30000} );
WebGUI.AssetManager.DataSource.responseType WebGUI.AssetManager.DataSource.responseType
= YAHOO.util.DataSource.TYPE_JSON; = YAHOO.util.DataSource.TYPE_JSON;
WebGUI.AssetManager.DataSource.responseSchema WebGUI.AssetManager.DataSource.responseSchema

View file

@ -104,7 +104,7 @@ WebGUI.FriendManager.MakeTable = function (groupId, containerId) {
}); });
that.DataSource that.DataSource
= new YAHOO.util.DataSource('?op=account;module=friendManager;do=getFriendsAsJson;groupId='+groupId+';',{connTimeout:30000} ); = new YAHOO.util.DataSource(encodeURI(location.pathname) + '?op=account;module=friendManager;do=getFriendsAsJson;groupId='+groupId+';',{connTimeout:30000} );
that.DataSource.responseType = YAHOO.util.DataSource.TYPE_JSON; that.DataSource.responseType = YAHOO.util.DataSource.TYPE_JSON;
that.DataSource.responseSchema = WebGUI.FriendManager.responseSchema; that.DataSource.responseSchema = WebGUI.FriendManager.responseSchema;
that.DataTable = new YAHOO.widget.DataTable( that.DataTable = new YAHOO.widget.DataTable(

View file

@ -20,7 +20,7 @@ if (typeof WebGUI == "undefined") {
*/ */
WebGUI.i18n WebGUI.i18n
= function ( opt ) { = function ( opt ) {
this.url = opt.url || ""; this.url = opt.url || location.pathname;
this.namespaces = {}; this.namespaces = {};
this.evPreload = this.createEvent( "preload" ); this.evPreload = this.createEvent( "preload" );
@ -59,7 +59,7 @@ WebGUI.i18n.prototype.get
*/ */
WebGUI.i18n.prototype.load WebGUI.i18n.prototype.load
= function ( obj, preload ) { = function ( obj, preload ) {
var requestUrl = this.url + "?op=ajaxGetI18N" var requestUrl = encodeURI(this.url) + "?op=ajaxGetI18N"
var callback = { var callback = {
failure : function ( o, preload ) { failure : function ( o, preload ) {
// TODO: YUI logger for this // TODO: YUI logger for this

View file

@ -29,7 +29,7 @@ WebGUI.ThingyRecord.getThingFields
} }
}; };
var url = '?op=formHelper;class=ThingFieldsList;sub=getThingFields;thingId=' var url = encodeURI(location.pathname) + '?op=formHelper;class=ThingFieldsList;sub=getThingFields;thingId='
+ thingId + thingId
; ;
YAHOO.util.Connect.asyncRequest( 'GET', url, callback ); YAHOO.util.Connect.asyncRequest( 'GET', url, callback );