Skip to content

Commit 5d9ae35

Browse files
rafaelweingartnerDaanHoogland
authored andcommitted
Remove 'todb' in favor of 'encodeURIComponent'. (#2572)
While executing the find/replace, I found some blocks of duplicated code. Therefore, I extracted the duplicated part to an utils file, and then removed the duplicated blocks.
1 parent 106a9a3 commit 5d9ae35

10 files changed

Lines changed: 218 additions & 239 deletions

File tree

ui/scripts/accountsWizard.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -209,9 +209,7 @@
209209
array1.push("&firstname=" + args.data.firstname);
210210
array1.push("&lastname=" + args.data.lastname);
211211

212-
var password = args.data.password;
213-
password = todb(password);
214-
array1.push("&password=" + password);
212+
cloudStack.addPasswordToCommandUrlParameterArray(array1, args.data.password);
215213
}
216214

217215
array1.push("&domainid=" + args.data.domainid);

ui/scripts/cloudStack.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,7 @@
223223
var array1 = [];
224224
array1.push("&username=" + encodeURIComponent(args.data.username));
225225

226-
var password = todb(args.data.password);
227-
array1.push("&password=" + password);
228-
226+
cloudStack.addPasswordToCommandUrlParameterArray(array1, args.data.password);
229227
var domain;
230228
if (args.data.domain != null && args.data.domain.length > 0) {
231229
if (args.data.domain.charAt(0) != "/")

ui/scripts/globalSettings.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,8 @@
214214
},
215215
action: function(args) {
216216
var array = [];
217-
array.push("&hostname=" + todb(args.data.hostname));
218-
array.push("&port=" + todb(args.data.port));;
217+
array.push("&hostname=" + encodeURIComponent(args.data.hostname));
218+
array.push("&port=" + encodeURIComponent(args.data.port));
219219
$.ajax({
220220
url: createURL("addLdapConfiguration" + array.join("")),
221221
dataType: "json",

ui/scripts/instanceWizard.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1091,7 +1091,7 @@
10911091
var userdata = args.data.userdata;
10921092
if (userdata != null && userdata.length > 0) {
10931093
$.extend(deployVmData, {
1094-
userdata : todb(btoa(userdata))
1094+
userdata : encodeURIComponent(btoa(userdata))
10951095
});
10961096
}
10971097

ui/scripts/instances.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -228,14 +228,7 @@
228228
var array1 = [];
229229
array1.push("&snapshotmemory=" + (args.data.snapshotMemory == "on"));
230230
array1.push("&quiescevm=" + (args.data.quiescevm == "on"));
231-
var displayname = args.data.name;
232-
if (displayname != null && displayname.length > 0) {
233-
array1.push("&name=" + todb(displayname));
234-
}
235-
var description = args.data.description;
236-
if (description != null && description.length > 0) {
237-
array1.push("&description=" + todb(description));
238-
}
231+
cloudStack.addNameAndDescriptionToCommandUrlParameterArray(array1, args.data);
239232
$.ajax({
240233
url: createURL("createVMSnapshot&virtualmachineid=" + instance.id + array1.join("")),
241234
dataType: "json",

ui/scripts/sharedFunctions.js

Lines changed: 67 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -180,11 +180,8 @@ var pollAsyncJobResult = function(args) {
180180
return urlString;
181181
}
182182

183-
function todb(val) {
184-
return encodeURIComponent(val);
185-
}
186183

187-
//LB provider map
184+
//LB provider map
188185
var lbProviderMap = {
189186
"publicLb": {
190187
"non-vpc": ["VirtualRouter", "Netscaler", "F5"],
@@ -735,16 +732,16 @@ var addGuestNetworkDialog = {
735732

736733
if (selectedNetworkOfferingObj.guestiptype == "Shared")
737734
array1.push("&physicalnetworkid=" + args.data.physicalNetworkId);
735+
736+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array1, "name", args.data.name);
737+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array1, "displayText", args.data.description);
738738

739-
array1.push("&name=" + todb(args.data.name));
740-
array1.push("&displayText=" + todb(args.data.description));
741-
742-
if (($form.find('.form-item[rel=vlanId]').css("display") != "none") && (args.data.vlanId != null && args.data.vlanId.length > 0))
743-
array1.push("&vlan=" + todb(args.data.vlanId));
744-
745-
if (($form.find('.form-item[rel=isolatedpvlanId]').css("display") != "none") && (args.data.isolatedpvlanId != null && args.data.isolatedpvlanId.length > 0))
746-
array1.push("&isolatedpvlan=" + todb(args.data.isolatedpvlanId));
747-
739+
if ($form.find('.form-item[rel=vlanId]').css("display") != "none"){
740+
cloudStack.addVlanToCommandUrlParameterArrayIfItIsNotNullAndNotEmpty(array1, args.data.vlanId)
741+
}
742+
if (($form.find('.form-item[rel=isolatedpvlanId]').css("display") != "none") && (args.data.isolatedpvlanId != null && args.data.isolatedpvlanId.length > 0)){
743+
array1.push("&isolatedpvlan=" + encodeURIComponent(args.data.isolatedpvlanId));
744+
}
748745
if ($form.find('.form-item[rel=domainId]').css("display") != "none") {
749746
array1.push("&domainId=" + args.data.domainId);
750747

@@ -788,9 +785,9 @@ var addGuestNetworkDialog = {
788785
array1.push("&endipv6=" + args.data.endipv6);
789786
//IPv6 (end)
790787

791-
if (args.data.networkdomain != null && args.data.networkdomain.length > 0)
792-
array1.push("&networkdomain=" + todb(args.data.networkdomain));
793-
788+
if (args.data.networkdomain != null && args.data.networkdomain.length > 0){
789+
array1.push("&networkdomain=" + encodeURIComponent(args.data.networkdomain));
790+
}
794791
$.ajax({
795792
url: createURL("createNetwork" + array1.join("")),
796793
dataType: "json",
@@ -2800,4 +2797,57 @@ cloudStack.createTemplateMethod = function (isSnapshot){
28002797
poll: pollAsyncJobResult
28012798
}
28022799
};
2803-
};
2800+
};
2801+
2802+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty = function(array, parameterName, value){
2803+
if (value != null && value.length > 0) {
2804+
array.push("&" + parameterName + "=" + encodeURIComponent(value));
2805+
}
2806+
}
2807+
2808+
cloudStack.addUsernameAndPasswordToCommandUrlParameterArrayIfItIsNotNullAndNotEmpty = function(array, username, password){
2809+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "username", username);
2810+
cloudStack.addPasswordToCommandUrlParameterArray(array, password);
2811+
};
2812+
2813+
cloudStack.addPasswordToCommandUrlParameterArray = function(array, password){
2814+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "password", password);
2815+
};
2816+
2817+
/**
2818+
* We will only add the name and description data to the array of parameters if they are not null.
2819+
* Moreover, we expect the name parameter to be a property ('name') of data object.
2820+
* The description must be a property called 'description' in the data object.
2821+
*/
2822+
cloudStack.addNameAndDescriptionToCommandUrlParameterArray = function (array, data){
2823+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "name", data.name);
2824+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "description", data.description);
2825+
};
2826+
2827+
cloudStack.addNewSizeToCommandUrlParameterArrayIfItIsNotNullAndHigherThanZero = function(array, newSize){
2828+
if(newSize == undefined || newSize == null){
2829+
return;
2830+
}
2831+
var newSizeAsNumber = new Number(newSize);
2832+
if(isNaN(newSizeAsNumber)){
2833+
return;
2834+
}
2835+
if (newSizeAsNumber > 0) {
2836+
array.push("&size=" + encodeURIComponent(newSize));
2837+
}
2838+
};
2839+
2840+
cloudStack.addVlanToCommandUrlParameterArrayIfItIsNotNullAndNotEmpty = function(array, vlan){
2841+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "vlan", vlan);
2842+
};
2843+
2844+
cloudStack.createArrayOfParametersForCreatePodCommand = function (zoneId, data){
2845+
var array =[];
2846+
array.push("&zoneId=" + zoneId);
2847+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "name", data.podName);
2848+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "gateway", data.podGateway);
2849+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "netmask", data.podNetmask);
2850+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "startIp", data.podStartIp);
2851+
cloudStack.addParameterToCommandUrlParameterArrayIfValueIsNotEmpty(array, "endIp", data.podEndIp);
2852+
return array;
2853+
}

ui/scripts/storage.js

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1528,45 +1528,31 @@
15281528
},
15291529
action: function(args) {
15301530
var array1 = [];
1531-
var newSize;
1532-
if (selectedDiskOfferingObj == null || selectedDiskOfferingObj.iscustomized == true) {
1533-
newSize = args.data.newsize;
1534-
if (newSize != null && newSize.length > 0) {
1535-
array1.push("&size=" + todb(newSize));
1536-
}
1537-
} else {
1538-
1539-
if(args.$form.find('.form-item[rel=shrinkok]').css("display") != "none") {
1540-
array1.push("&shrinkok=" + (args.data.shrinkok == "on"));
1541-
}
1542-
1543-
var newDiskOffering = args.data.newdiskoffering;
1544-
1545-
if (selectedDiskOfferingObj.iscustomized == true) {
1546-
newSize = args.data.newsize;
1547-
}
1548-
if (newDiskOffering != null && newDiskOffering.length > 0) {
1549-
array1.push("&diskofferingid=" + todb(newDiskOffering));
1550-
}
1551-
if (newSize != null && newSize.length > 0) {
1552-
array1.push("&size=" + todb(newSize));
1553-
}
1531+
if(args.$form.find('.form-item[rel=shrinkok]').css("display") != "none") {
1532+
array1.push("&shrinkok=" + (args.data.shrinkok == "on"));
1533+
}
15541534

1555-
var minIops;
1556-
var maxIops
1535+
var newDiskOffering = args.data.newdiskoffering;
1536+
if (newDiskOffering != null && newDiskOffering.length > 0) {
1537+
array1.push("&diskofferingid=" + encodeURIComponent(newDiskOffering));
1538+
}
1539+
if (selectedDiskOfferingObj.iscustomized == true) {
1540+
cloudStack.addNewSizeToCommandUrlParameterArrayIfItIsNotNullAndHigherThanZero(array1, args.data.newsize);
1541+
}
15571542

1558-
if (selectedDiskOfferingObj.iscustomizediops == true) {
1559-
minIops = args.data.minIops;
1560-
maxIops = args.data.maxIops;
1561-
}
1543+
var minIops;
1544+
var maxIops
1545+
if (selectedDiskOfferingObj.iscustomizediops == true) {
1546+
minIops = args.data.minIops;
1547+
maxIops = args.data.maxIops;
1548+
}
15621549

1563-
if (minIops != null && minIops.length > 0) {
1564-
array1.push("&miniops=" + todb(minIops));
1565-
}
1550+
if (minIops != null && minIops.length > 0) {
1551+
array1.push("&miniops=" + encodeURIComponent(minIops));
1552+
}
15661553

1567-
if (maxIops != null && maxIops.length > 0) {
1568-
array1.push("&maxiops=" + todb(maxIops));
1569-
}
1554+
if (maxIops != null && maxIops.length > 0) {
1555+
array1.push("&maxiops=" + encodeURIComponent(maxIops));
15701556
}
15711557
//if original disk size > new disk size
15721558
if ((args.context.volumes[0].type == "ROOT")

0 commit comments

Comments
 (0)