From 41b08fcf40adfde5574888326f97607f80a24470 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Tue, 10 Jul 2018 18:17:34 -0700 Subject: [PATCH 1/4] Validate user-supplied avatar height range before accepting --- domain-server/resources/web/settings/js/settings.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index e67ea43158..3dd8fc99f8 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -1091,4 +1091,17 @@ $(document).ready(function(){ $('#settings_backup .panel-body').html(html); } + + function checkAvatarHeights() { + var minHeight = Settings.avatars.min_avatar_height; + var maxHeight = Settings.avatars.max_avatar_height; + if (maxHeight < minHeight) { + swal({ + type: 'error', + title: '', + text: "Maximum avatar height must not be less than minimum avatar height", + html: true + }, function(){swal.close();}); + } + } }); From 7455f9fc18ef9196e44d29fe4ac4f4a0ba3620ea Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Tue, 10 Jul 2018 18:25:43 -0700 Subject: [PATCH 2/4] Update the correct file this time --- .../resources/web/settings/js/settings.js | 46 ++++++++++++++----- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 3dd8fc99f8..55ce21e956 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -58,7 +58,11 @@ $(document).ready(function(){ } Settings.handlePostSettings = function(formJSON) { - + + if (!checkAvatarHeights()) { + return false; + } + // check if we've set the basic http password if (formJSON["security"]) { @@ -1093,15 +1097,35 @@ $(document).ready(function(){ } function checkAvatarHeights() { - var minHeight = Settings.avatars.min_avatar_height; - var maxHeight = Settings.avatars.max_avatar_height; - if (maxHeight < minHeight) { - swal({ - type: 'error', - title: '', - text: "Maximum avatar height must not be less than minimum avatar height", - html: true - }, function(){swal.close();}); - } + var errorString = ''; + var minAllowedHeight = 0.009; + var maxAllowedHeight = 1755; + var currentForm = form2js('settings-form'); + var minHeight = currentForm.avatars.min_avatar_height; + var maxHeight = currentForm.avatars.max_avatar_height; + //var minHeight = Number($('input[name="avatars.min_avatar_height"]').attr('value')); + //var maxHeight = Number($('input[name="avatars.max_avatar_height"]').attr('value')); + + if (maxHeight < minHeight) { + errorString = 'Maximum avatar height must not be less than minimum avatar height
'; + }; + if (minHeight < minAllowedHeight) { + errorString += 'Minimum avatar height must not be less than ' + minAllowedHeight + '
'; + } + if (maxHeight > maxAllowedHeight) { + errorString += 'Maximum avatar height must not be greater than ' + maxAllowedHeight + '
'; + } + if (errorString.length > 0) { + swal({ + type: 'error', + title: '', + text: errorString, + html: true + }); + return false; + } else { + return true; + } + } }); From 09b7787bc9b2f9e3dae9e8f792045e6d93f84e28 Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Wed, 11 Jul 2018 10:27:17 -0700 Subject: [PATCH 3/4] Use jQuery correctly, other clean-up --- .../resources/web/settings/js/settings.js | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index 55ce21e956..3888277c00 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -59,7 +59,7 @@ $(document).ready(function(){ Settings.handlePostSettings = function(formJSON) { - if (!checkAvatarHeights()) { + if (!verifyAvatarHeights()) { return false; } @@ -211,7 +211,7 @@ $(document).ready(function(){ swal({ title: '', type: 'error', - text: "There was a problem retreiving domain information from High Fidelity API.", + text: "There was a problem retrieving domain information from High Fidelity API.", confirmButtonText: 'Try again', showCancelButton: true, closeOnConfirm: false @@ -292,7 +292,7 @@ $(document).ready(function(){ swal({ title: 'Create new domain ID', type: 'input', - text: 'Enter a label this machine.

This will help you identify which domain ID belongs to which machine.

', + text: 'Enter a label for this machine.

This will help you identify which domain ID belongs to which machine.

', showCancelButton: true, confirmButtonText: "Create", closeOnConfirm: false, @@ -673,7 +673,7 @@ $(document).ready(function(){ var spinner = createDomainSpinner(); $('#' + Settings.PLACES_TABLE_ID).after($(spinner)); - var errorEl = createDomainLoadingError("There was an error retreiving your places."); + var errorEl = createDomainLoadingError("There was an error retrieving your places."); $("#" + Settings.PLACES_TABLE_ID).after(errorEl); // do we have a domain ID? @@ -1096,25 +1096,31 @@ $(document).ready(function(){ $('#settings_backup .panel-body').html(html); } - function checkAvatarHeights() { + function verifyAvatarHeights() { var errorString = ''; var minAllowedHeight = 0.009; var maxAllowedHeight = 1755; - var currentForm = form2js('settings-form'); - var minHeight = currentForm.avatars.min_avatar_height; - var maxHeight = currentForm.avatars.max_avatar_height; - //var minHeight = Number($('input[name="avatars.min_avatar_height"]').attr('value')); - //var maxHeight = Number($('input[name="avatars.max_avatar_height"]').attr('value')); - + var alertCss = { backgroundColor: '#ffa0a0' }; + var minHeightElement = $('input[name="avatars.min_avatar_height"]'); + var maxHeightElement = $('input[name="avatars.max_avatar_height"]'); + + var minHeight = Number(minHeightElement.val()); + var maxHeight = Number(maxHeightElement.val()); + if (maxHeight < minHeight) { - errorString = 'Maximum avatar height must not be less than minimum avatar height
'; + errorString = 'Maximum avatar height must not be less than minimum avatar height
'; + minHeightElement.css(alertCss); + maxHeightElement.css(alertCss); }; if (minHeight < minAllowedHeight) { - errorString += 'Minimum avatar height must not be less than ' + minAllowedHeight + '
'; + errorString += 'Minimum avatar height must not be less than ' + minAllowedHeight + '
'; + minHeightElement.css(alertCss); } if (maxHeight > maxAllowedHeight) { - errorString += 'Maximum avatar height must not be greater than ' + maxAllowedHeight + '
'; + errorString += 'Maximum avatar height must not be greater than ' + maxAllowedHeight + '
'; + maxHeightElement.css(alertCss); } + if (errorString.length > 0) { swal({ type: 'error', @@ -1124,7 +1130,7 @@ $(document).ready(function(){ }); return false; } else { - return true; + return true; } } From beb878f10ef519d64f0534a417bd1fc0c324384a Mon Sep 17 00:00:00 2001 From: Simon Walton Date: Wed, 11 Jul 2018 10:33:42 -0700 Subject: [PATCH 4/4] Update avatar field description --- domain-server/resources/describe-settings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index 83dd633d22..07f1eb7e5e 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -1223,7 +1223,7 @@ "name": "max_avatar_height", "type": "double", "label": "Maximum Avatar Height (meters)", - "help": "Limits the scale of avatars in your domain. Cannot be greater than 1755.", + "help": "Limits the height of avatars in your domain. Cannot be greater than 1755.", "placeholder": 5.2, "default": 5.2 },