decode text before it displays on UI.

This commit is contained in:
Jessica Wang 2010-10-04 14:56:14 -07:00
parent d370ae6a32
commit 7ab6a24876
10 changed files with 64 additions and 64 deletions

View File

@ -498,7 +498,7 @@ $(document).ready(function() {
var zoneSelect = $("#capacity_zone_select").empty();
if (zones != null && zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
zoneSelect.append("<option value='" + zones[i].id + "'>" + sanitizeXSS(zones[i].name) + "</option>");
zoneSelect.append("<option value='" + zones[i].id + "'>" + fromdb(zones[i].name) + "</option>");
if(noPods) {
$.ajax({
data: createURL("command=listPods&zoneId="+zones[i].id+"&response=json"),
@ -683,7 +683,7 @@ $(document).ready(function() {
if (pods != null && pods.length > 0) {
podSelect.append("<option value='All'>All</option>");
for (var i = 0; i < pods.length; i++) {
podSelect.append("<option value='" + pods[i].name + "'>" + sanitizeXSS(pods[i].name) + "</option>");
podSelect.append("<option value='" + pods[i].name + "'>" + fromdb(pods[i].name) + "</option>");
}
}
$("#capacity_pod_select").change();
@ -704,7 +704,7 @@ $(document).ready(function() {
for (var i = 0; i < length; i++) {
var errorTemplate = $("#recent_error_template").clone(true);
errorTemplate.find("#db_error_type").text(toAlertType(alerts[i].type));
errorTemplate.find("#db_error_msg").append(sanitizeXSS(alerts[i].description));
errorTemplate.find("#db_error_msg").append(fromdb(alerts[i].description));
setDateField(alerts[i].sent, errorTemplate.find("#db_error_date"));
alertGrid.append(errorTemplate.show());
}
@ -724,7 +724,7 @@ $(document).ready(function() {
for (var i = 0; i < length; i++) {
var errorTemplate = $("#recent_error_template").clone(true);
errorTemplate.find("#db_error_type").text("Host - Alert State");
errorTemplate.find("#db_error_msg").append("Host - <b>" + sanitizeXSS(alerts[i].name) + "</b> has been detected in Alert state.");
errorTemplate.find("#db_error_msg").append("Host - <b>" + fromdb(alerts[i].name) + "</b> has been detected in Alert state.");
setDateField(alerts[i].disconnected, errorTemplate.find("#db_error_date"));
alertGrid.append(errorTemplate.show());
}
@ -802,7 +802,7 @@ $(document).ready(function() {
for (var i = 0; i < length; i++) {
var errorTemplate = $("#recent_error_template").clone(true);
errorTemplate.find("#db_error_type").text(events[i].type);
errorTemplate.find("#db_error_msg").text(sanitizeXSS(events[i].description));
errorTemplate.find("#db_error_msg").text(fromdb(events[i].description));
setDateField(events[i].created, errorTemplate.find("#db_error_date"));
errorGrid.append(errorTemplate.show());
}
@ -862,7 +862,7 @@ $(document).ready(function() {
for (var i = 0; i < length; i++) {
var errorTemplate = $("#recent_error_template").clone(true);
errorTemplate.find("#db_error_type").text(events[i].type);
errorTemplate.find("#db_error_msg").text(sanitizeXSS(events[i].description));
errorTemplate.find("#db_error_msg").text(fromdb(events[i].description));
setDateField(events[i].created, errorTemplate.find("#db_error_date"));
errorGrid.append(errorTemplate.show());
}

View File

@ -167,7 +167,7 @@ function clickInstanceGroupHeader($arrowIcon) {
for (var i = 0; i < offerings.length; i++) {
var $t = $existingDiskOfferingTemplate.clone();
$t.find("input:radio").attr("name","data_disk_offering_radio").val(offerings[i].id).removeAttr("checked");
$t.find("#name").text(fromdb(noNull(offerings[i].name)));
$t.find("#name").text(fromdb(offerings[i].name));
$t.find("#description").text(fromdb(offerings[i].displaytext));
$dataDiskOfferingContainer.append($t.show());
}

View File

@ -360,7 +360,7 @@ function populateZoneFieldExcludeSourceZone(zoneField, excludeZoneId) {
if (g_zoneIds != null && g_zoneIds.length > 0) {
for (var i = 0; i < g_zoneIds.length; i++) {
if(g_zoneIds[i] != excludeZoneId)
zoneField.append("<option value='" + g_zoneIds[i] + "'>" + sanitizeXSS(g_zoneNames[i]) + "</option>");
zoneField.append("<option value='" + g_zoneIds[i] + "'>" + fromdb(g_zoneNames[i]) + "</option>");
}
}
}

View File

@ -284,7 +284,7 @@ function doActionForMidMenu(id, $actionLink, apiCommand, listAPIMap) {
} else if (result.jobstatus == 2) { // Failed
$midmenuItem.find("#info_icon").addClass("error").show();
$midmenuItem.data("afterActionInfo", (label + " action failed. Reason: " + sanitizeXSS(result.jobresult)));
$midmenuItem.data("afterActionInfo", (label + " action failed. Reason: " + fromdb(result.jobresult)));
}
}
},
@ -1136,7 +1136,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
zoneSelect.append("<option value=''></option>");
if (zones != null && zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
zoneSelect.append("<option value='" + zones[i].id + "'>" + sanitizeXSS(zones[i].name) + "</option>");
zoneSelect.append("<option value='" + zones[i].id + "'>" + fromdb(zones[i].name) + "</option>");
}
}
}
@ -1163,7 +1163,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
podSelect.empty();
if (pods != null && pods.length > 0) {
for (var i = 0; i < pods.length; i++) {
podSelect.append("<option value='" + pods[i].id + "'>" + sanitizeXSS(pods[i].name) + "</option>");
podSelect.append("<option value='" + pods[i].id + "'>" + fromdb(pods[i].name) + "</option>");
}
}
}
@ -1186,7 +1186,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
var domains = json.listdomainsresponse.domain;
if (domains != null && domains.length > 0) {
for (var i = 0; i < domains.length; i++) {
domainSelect.append("<option value='" + domains[i].id + "'>" + sanitizeXSS(domains[i].name) + "</option>");
domainSelect.append("<option value='" + domains[i].id + "'>" + fromdb(domains[i].name) + "</option>");
}
}
}
@ -1204,7 +1204,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
var items = json.listvirtualmachinesresponse.virtualmachine;
if (items != null && items.length > 0) {
for (var i = 0; i < items.length; i++) {
vmSelect.append("<option value='" + items[i].id + "'>" + sanitizeXSS(items[i].name) + "</option>");
vmSelect.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
}
}
}
@ -1395,7 +1395,7 @@ function noNull(val) {
}
// Prevent cross-site-script(XSS) attack.
// used right before adding user input to the DOM tree. e.g. DOM_element.html(sanitizeXSS(user_input));
// used right before adding user input to the DOM tree. e.g. DOM_element.html(fromdb(user_input));
function sanitizeXSS(val) {
if(val == null || typeof(val) != "string")
return val;
@ -1406,16 +1406,16 @@ function sanitizeXSS(val) {
function getVmName(p_vmName, p_vmDisplayname) {
if(p_vmDisplayname == null)
return sanitizeXSS(unescape(p_vmName));
return fromdb(p_vmName);
var vmName = null;
if (isAdmin()) {
if (p_vmDisplayname != p_vmName) {
vmName = p_vmName + "(" + sanitizeXSS(unescape(p_vmDisplayname)) + ")";
vmName = p_vmName + "(" + fromdb(p_vmDisplayname) + ")";
} else {
vmName = p_vmName;
}
} else {
vmName = sanitizeXSS(unescape(p_vmDisplayname));
vmName = fromdb(p_vmDisplayname);
}
return vmName;
}

View File

@ -96,7 +96,7 @@ function afterLoadTemplateJSP() {
var zones = json.listzonesresponse.zone;
if (zones != null && zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
addTemplateZoneField.append("<option value='" + zones[i].id + "'>" + sanitizeXSS(zones[i].name) + "</option>");
addTemplateZoneField.append("<option value='" + zones[i].id + "'>" + fromdb(zones[i].name) + "</option>");
g_zoneIds.push(zones[i].id);
g_zoneNames.push(zones[i].name);
}
@ -131,7 +131,7 @@ function afterLoadTemplateJSP() {
if(items != null && items.length > 0 ) {
var serviceOfferingField = $("#dialog_create_vm_from_template #service_offering").empty();
for(var i = 0; i < items.length; i++)
serviceOfferingField.append("<option value='" + items[i].id + "'>" + sanitizeXSS(items[i].name) + "</option>");
serviceOfferingField.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
}
}
});
@ -145,7 +145,7 @@ function afterLoadTemplateJSP() {
var diskOfferingField = $("#dialog_create_vm_from_template #disk_offering").empty();
diskOfferingField.append("<option value=''>No disk offering</option>");
for(var i = 0; i < items.length; i++)
diskOfferingField.append("<option value='" + items[i].id + "'>" + sanitizeXSS(items[i].name) + "</option>");
diskOfferingField.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
}
}
@ -465,7 +465,7 @@ function populateZoneFieldExcludeSourceZone(zoneField, excludeZoneId) {
if (g_zoneIds != null && g_zoneIds.length > 0) {
for (var i = 0; i < g_zoneIds.length; i++) {
if(g_zoneIds[i] != excludeZoneId)
zoneField.append("<option value='" + g_zoneIds[i] + "'>" + sanitizeXSS(g_zoneNames[i]) + "</option>");
zoneField.append("<option value='" + g_zoneIds[i] + "'>" + fromdb(g_zoneNames[i]) + "</option>");
}
}
}

View File

@ -62,7 +62,7 @@ function afterLoadVolumeJSP() {
var volumeZoneSelect = $("#dialog_add_volume").find("#volume_zone").empty();
if (zones != null && zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
volumeZoneSelect.append("<option value='" + zones[i].id + "'>" + sanitizeXSS(zones[i].name) + "</option>");
volumeZoneSelect.append("<option value='" + zones[i].id + "'>" + fromdb(zones[i].name) + "</option>");
}
}
}
@ -77,7 +77,7 @@ function afterLoadVolumeJSP() {
if (offerings != null && offerings.length > 0) {
if (offerings != null && offerings.length > 0) {
for (var i = 0; i < offerings.length; i++)
volumeDiskOfferingSelect.append("<option value='" + offerings[i].id + "'>" + sanitizeXSS(offerings[i].displaytext) + "</option>");
volumeDiskOfferingSelect.append("<option value='" + offerings[i].id + "'>" + fromdb(offerings[i].displaytext) + "</option>");
}
}
}

View File

@ -69,11 +69,11 @@ function showConfigurationTab() {
});
function globalJSONToTemplate(json, template) {
template.data("name", fromdb(json.name)).attr("id", "global_"+noNull(json.name));
template.data("name", fromdb(json.name)).attr("id", "global_"+fromdb(json.name));
(index++ % 2 == 0)? template.addClass("smallrow_even"): template.addClass("smallrow_odd");
template.find("#global_name").text(noNull(json.name));
template.find("#global_value").text(noNull(json.value));
template.find("#global_desc").text(noNull(json.description));
template.find("#global_name").text(fromdb(json.name));
template.find("#global_value").text(fromdb(json.value));
template.find("#global_desc").text(fromdb(json.description));
}
$("#submenu_content_global .grid_container .grid_header .grid_genheader_cell").bind("click", function(event) {

View File

@ -2351,15 +2351,15 @@ function showInstancesTab(p_domainId, p_account) {
template.addClass("row_odd");
else
template.addClass("row_even");
template.data("routerId", json.id).data("routerName", noNull(json.name)).attr("id", "router"+json.id);
template.find("#router_zonename").text(noNull(json.zonename));
template.find("#router_name").text(noNull(json.name));
template.find("#router_public_ip").text(noNull(json.publicip));
template.find("#router_private_ip").text(noNull(json.privateip));
template.find("#router_guest_ip").text(noNull(json.guestipaddress));
template.find("#router_host").text(noNull(json.hostname));
template.find("#router_domain").text(noNull(json.networkdomain));
template.find("#router_owner").text(noNull(json.account));
template.data("routerId", json.id).data("routerName", fromdb(json.name)).attr("id", "router"+json.id);
template.find("#router_zonename").text(fromdb(json.zonename));
template.find("#router_name").text(fromdb(json.name));
template.find("#router_public_ip").text(fromdb(json.publicip));
template.find("#router_private_ip").text(fromdb(json.privateip));
template.find("#router_guest_ip").text(fromdb(json.guestipaddress));
template.find("#router_host").text(fromdb(json.hostname));
template.find("#router_domain").text(fromdb(json.networkdomain));
template.find("#router_owner").text(fromdb(json.account));
setDateField(json.created, template.find("#router_created"));
// State
@ -2447,15 +2447,15 @@ function showInstancesTab(p_domainId, p_account) {
template.addClass("row_odd");
else
template.addClass("row_even");
template.data("consoleId", json.id).data("consoleName", noNull(json.name)).attr("id", "console"+json.id);
template.find("#console_type").text(noNull(json.systemvmtype));
template.find("#console_name").text(noNull(json.name));
template.find("#console_zone").text(noNull(json.zonename));
template.find("#console_active_session").text(noNull(json.activeviewersessions));
template.find("#console_public_ip").text(noNull(json.publicip));
template.find("#console_private_ip").text(noNull(json.privateip));
template.find("#console_host").text(noNull(json.hostname));
template.find("#console_gateway").text(noNull(json.gateway));
template.data("consoleId", json.id).data("consoleName", fromdb(json.name)).attr("id", "console"+json.id);
template.find("#console_type").text(fromdb(json.systemvmtype));
template.find("#console_name").text(fromdb(json.name));
template.find("#console_zone").text(fromdb(json.zonename));
template.find("#console_active_session").text(fromdb(json.activeviewersessions));
template.find("#console_public_ip").text(fromdb(json.publicip));
template.find("#console_private_ip").text(fromdb(json.privateip));
template.find("#console_host").text(fromdb(json.hostname));
template.find("#console_gateway").text(fromdb(json.gateway));
setDateField(json.created, template.find("#console_created"));
// State

View File

@ -373,7 +373,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
zoneSelect.append("<option value=''></option>");
if (zones != null && zones.length > 0) {
for (var i = 0; i < zones.length; i++) {
zoneSelect.append("<option value='" + zones[i].id + "'>" + sanitizeXSS(zones[i].name) + "</option>");
zoneSelect.append("<option value='" + zones[i].id + "'>" + fromdb(zones[i].name) + "</option>");
}
}
}
@ -400,7 +400,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
podSelect.empty();
if (pods != null && pods.length > 0) {
for (var i = 0; i < pods.length; i++) {
podSelect.append("<option value='" + pods[i].id + "'>" + sanitizeXSS(pods[i].name) + "</option>");
podSelect.append("<option value='" + pods[i].id + "'>" + fromdb(pods[i].name) + "</option>");
}
}
}
@ -423,7 +423,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
var domains = json.listdomainsresponse.domain;
if (domains != null && domains.length > 0) {
for (var i = 0; i < domains.length; i++) {
domainSelect.append("<option value='" + domains[i].id + "'>" + sanitizeXSS(domains[i].name) + "</option>");
domainSelect.append("<option value='" + domains[i].id + "'>" + fromdb(domains[i].name) + "</option>");
}
}
}
@ -441,7 +441,7 @@ function submenuContentEventBinder(submenuContent, listFunction) {
var items = json.listvirtualmachinesresponse.virtualmachine;
if (items != null && items.length > 0) {
for (var i = 0; i < items.length; i++) {
vmSelect.append("<option value='" + items[i].id + "'>" + sanitizeXSS(items[i].name) + "</option>");
vmSelect.append("<option value='" + items[i].id + "'>" + fromdb(items[i].name) + "</option>");
}
}
}
@ -632,7 +632,7 @@ function noNull(val) {
}
// Prevent cross-site-script(XSS) attack.
// used right before adding user input to the DOM tree. e.g. DOM_element.html(sanitizeXSS(user_input));
// used right before adding user input to the DOM tree. e.g. DOM_element.html(fromdb(user_input));
function sanitizeXSS(val) {
if(val == null || typeof(val) != "string")
return val;
@ -643,16 +643,16 @@ function sanitizeXSS(val) {
function getVmName(p_vmName, p_vmDisplayname) {
if(p_vmDisplayname == null)
return sanitizeXSS(p_vmName);
return fromdb(p_vmName);
var vmName = null;
if (isAdmin()) {
if (p_vmDisplayname != p_vmName) {
vmName = p_vmName + "(" + sanitizeXSS(p_vmDisplayname) + ")";
vmName = p_vmName + "(" + fromdb(p_vmDisplayname) + ")";
} else {
vmName = p_vmName;
}
} else {
vmName = sanitizeXSS(p_vmDisplayname);
vmName = fromdb(p_vmDisplayname);
}
return vmName;
}
@ -680,7 +680,7 @@ function handleError(xmlHttp, handleErrorCallback) {
var start = xmlHttp.responseText.indexOf("h1") + 3;
var end = xmlHttp.responseText.indexOf("</h1");
var errorMsg = xmlHttp.responseText.substring(start, end);
$("#dialog_error").html("<p><b>Encountered an error:</b></p><br/><p>"+sanitizeXSS(errorMsg)+"</p>").dialog("open");
$("#dialog_error").html("<p><b>Encountered an error:</b></p><br/><p>"+fromdb(errorMsg)+"</p>").dialog("open");
}
}

View File

@ -254,17 +254,17 @@ function showStorageTab(domainId, targetTab) {
template.data("vmid", json.virtualmachineid);
template.data("zoneId", json.zoneid);
template.find("#volume_id").text(noNull(json.id));
template.find("#volume_name").text(noNull(json.name));
template.find("#volume_zone").text(noNull(json.zonename));
template.find("#volume_account").text(noNull(json.account));
template.find("#volume_deviceid").text(noNull(json.deviceid));
template.find("#volume_domain").text(noNull(json.domain));
template.find("#volume_hostname").text(noNull(json.storage));
template.find("#volume_path").text(noNull(json.path));
template.find("#volume_state").text(noNull(json.state));
template.find("#volume_id").text(fromdb(json.id));
template.find("#volume_name").text(fromdb(json.name));
template.find("#volume_zone").text(fromdb(json.zonename));
template.find("#volume_account").text(fromdb(json.account));
template.find("#volume_deviceid").text(fromdb(json.deviceid));
template.find("#volume_domain").text(fromdb(json.domain));
template.find("#volume_hostname").text(fromdb(json.storage));
template.find("#volume_path").text(fromdb(json.path));
template.find("#volume_state").text(fromdb(json.state));
template.find("#volume_size").text((json.size == "0") ? "" : convertBytes(json.size));
template.find("#volume_type").text(noNull(json.type) + " (" + noNull(json.storagetype) + " storage)");
template.find("#volume_type").text(fromdb(json.type) + " (" + fromdb(json.storagetype) + " storage)");
if (json.virtualmachineid == null) {
template.find("#volume_vmname").text("detached");
} else {