Hi Michael, thank you! I'll add a note next time :) Best regards, Leo Am 29.03.2021 um 12:35 schrieb Michael Tremer: > Hello, > >> On 28 Mar 2021, at 13:23, Leo Hofmann wrote: >> >> Hello Peter, >> >> thank you for reviewing my work! >> >> Unfortunately I don't know how to remove files during an update. Can you take over for me? > Done. You normally do not have to worry about these things. A note in the commit message will help me to remember. > > Best, > -Michael > >> Best regards >> Leo >> >> Am 27.03.2021 um 21:27 schrieb Peter Müller: >>> Hello Leo, >>> >>> indeed, this is orphaned. Thank you for catching it. :-) >>> >>> We probably need to remove it during the upgrading procedure of the Core Update this patch will >>> be included in, for good measures. >>> >>> Acked-by: Peter Müller >>> >>> Thanks, and best regards, >>> Peter Müller >>> >>>> This script doesn't seem to be maintained or used anywhere anymore. >>>> The last reference to it was removed in commit 1772664. >>>> >>>> Signed-off-by: Leo-Andres Hofmann >>>> --- >>>> config/rootfiles/common/web-user-interface | 1 - >>>> html/html/include/snortupdateutility.js | 744 --------------------- >>>> 2 files changed, 745 deletions(-) >>>> delete mode 100644 html/html/include/snortupdateutility.js >>>> >>>> diff --git a/config/rootfiles/common/web-user-interface b/config/rootfiles/common/web-user-interface >>>> index 9b2667676..540bf1e4b 100644 >>>> --- a/config/rootfiles/common/web-user-interface >>>> +++ b/config/rootfiles/common/web-user-interface >>>> @@ -300,7 +300,6 @@ srv/web/ipfire/html/images/view-refresh.png >>>> srv/web/ipfire/html/images/wakeup.gif >>>> srv/web/ipfire/html/images/window-new.png >>>> srv/web/ipfire/html/include >>>> -srv/web/ipfire/html/include/snortupdateutility.js >>>> srv/web/ipfire/html/include/zoneconf.js >>>> srv/web/ipfire/html/index.cgi >>>> srv/web/ipfire/html/redirect-templates >>>> diff --git a/html/html/include/snortupdateutility.js b/html/html/include/snortupdateutility.js >>>> deleted file mode 100644 >>>> index 10750519c..000000000 >>>> --- a/html/html/include/snortupdateutility.js >>>> +++ /dev/null >>>> @@ -1,744 +0,0 @@ >>>> -/* >>>> -File Info: utility.js - JavaScript library >>>> - >>>> -Author: Drew S. Dupont >>>> - >>>> -Date: 2/26/2003 - 8/12/2004 (or present day) >>>> - >>>> -Description: Utility functions in JavaScript >>>> - Drew S. Dupont >>>> -*/ >>>> -// Show/Hide HTML Span >>>> -function showHideHTML(id, content) { >>>> - // Browser variables >>>> - var ie45, ns6, ns4, dom = false; >>>> - >>>> - // Basic browser parse >>>> - if (navigator.appName == "Microsoft Internet Explorer") { >>>> - ie45 = parseInt(navigator.appVersion) >= 4; >>>> - } else if (navigator.appName == "Netscape") { >>>> - ns6 = parseInt(navigator.appVersion) >= 5; >>>> - ns4 = parseInt(navigator.appVersion) < 5; >>>> - } >>>> - dom = ie45 || ns6; >>>> - >>>> - // Return if using an old Netscape browser >>>> - if(ns4) return; >>>> - >>>> - // Check for type of call supported >>>> - el = document.all ? document.all[id] : dom ? document.getElementById(id) : document.layers[id]; >>>> - >>>> - // Check if content to be "switched" is "" >>>> - if (content == "") { >>>> - // Return old content and replace with "" >>>> - content = el.innerHTML; >>>> - el.innerHTML = ""; >>>> - } else { >>>> - // Replace current content with new content and return "" >>>> - el.innerHTML = content; >>>> - content = ""; >>>> - } >>>> - >>>> - // Return content (either old or "") >>>> - return content; >>>> -} >>>> - >>>> -// Check for special chars >>>> -function checkForSpecialChars(field, alphaStart, specialCheckChars) { >>>> - // Local vars >>>> - var alphaStartChars = /^[a-zA-Z]/; >>>> - var noSpecialChars = /([^a-zA-Z0-9 _,?!':;\r\t\n\/\\\-\.#@]+)/; >>>> - >>>> - // Check if should start with an alpha char >>>> - if (alphaStart) { >>>> - // Make sure starts with a alpha char >>>> - if (alphaStartChars.test(field.value)) { >>>> - // Check for special chars >>>> - if (noSpecialChars.test(field.value)) { >>>> - // Return true >>>> - return true; >>>> - } else { >>>> - // Check for specialCheckChars >>>> - if (specialCheckChars && (specialCheckChars.test(field.value))) { >>>> - // Return true >>>> - return true; >>>> - } else { >>>> - // Return false >>>> - return false; >>>> - } >>>> - } >>>> - } else { >>>> - // Return true >>>> - return true; >>>> - } >>>> - } else { >>>> - // Check if contains any special chars >>>> - if (noSpecialChars.test(field.value)) { >>>> - // Return true >>>> - return true; >>>> - } else { >>>> - // Check for specialCheckChars >>>> - if (specialCheckChars && (specialCheckChars.test(field.value))) { >>>> - // Return true >>>> - return true; >>>> - } else { >>>> - // Return false >>>> - return false; >>>> - } >>>> - } >>>> - } >>>> -} // End checkForSpecialChars >>>> - >>>> -// Launch help >>>> -function launchHelp(helpSrc) { >>>> - helpWindow = window.open(helpSrc, "helpWindow", "resizable=yes,menubar=no,statusbar=no,titlebar=no,scrollbars=yes,width=400,height=400") >>>> - helpWindow.moveTo(25, 25); >>>> - helpWindow.focus(); >>>> -} >>>> - >>>> -// Image On >>>> -function imageOn(imageName) { >>>> - document[imageName].src = eval(imageName + "_over.src"); >>>> -} >>>> - >>>> -// Image Off >>>> -function imageOff(imageName) { >>>> - document[imageName].src = eval(imageName + ".src"); >>>> -} >>>> - >>>> -// Image Down >>>> -function imageDown(imageName) { >>>> - document[imageName].src = eval(imageName + "_down.src"); >>>> -} >>>> - >>>> -// Image button On >>>> -function imageButtonOn(item, imageName) { >>>> - item.src = eval(imageName + "_over.src"); >>>> -} >>>> - >>>> -// Image button Off >>>> -function imageButtonOff(item, imageName) { >>>> - item.src = eval(imageName + ".src"); >>>> -} >>>> - >>>> -// Image button Down >>>> -function imageButtonDown(item, imageName) { >>>> - item.src = eval(imageName + "_down.src"); >>>> -} >>>> - >>>> -// changeStatus >>>> -function changeStatus(message) { >>>> - // Set window status >>>> - window.status = message; >>>> - >>>> - // Return true >>>> - return true; >>>> -} // End changeStatus >>>> - >>>> -// isNumeric function >>>> -function isNumeric(num) { >>>> - // Boolean var >>>> - var bolValidNum = true; >>>> - var digits = "1234567890"; >>>> - var len = num.length; >>>> - >>>> - // Loop over num >>>> - for (i = 0; i < len; ++i) { >>>> - numSub = num.substring(i, i + 1); >>>> - >>>> - // Test for numeric match >>>> - if (digits.indexOf(numSub) == -1) { >>>> - bolValidNum = false; >>>> - } >>>> - } >>>> - >>>> - // Return boolean var >>>> - return bolValidNum; >>>> -} // End isNumeric >>>> - >>>> -// Check for numeric and display nice error >>>> -function checkNumeric(field, message) { >>>> - // Is it valid >>>> - if (!isNumeric(field.value)) { >>>> - alert(message); >>>> - field.focus(); >>>> - } >>>> -} // End checkNumeric >>>> - >>>> -// Function getInt which return numeric value of passed in string >>>> -function getInt(str, i, minlength, maxlength) { >>>> - for (x = maxlength; x >= minlength; --x) { >>>> - var token = str.substring(i, i + x); >>>> - >>>> - // Check for numeric >>>> - if (isNumeric(token)) { >>>> - return token; >>>> - } >>>> - } >>>> - >>>> - // Return null >>>> - return null; >>>> -} >>>> - >>>> -// Function dateCheck, requires global err variable for passing error messages >>>> -// and requires the isNumeric function >>>> -function dateCheck(date, humanname, dateFormat) { >>>> - // Date validation >>>> - var date_s = date; >>>> - >>>> - // If no dateFormat, then set one >>>> - if (dateFormat == null) { >>>> - format = "mm/dd/yyyy"; >>>> - } else { >>>> - format = dateFormat; >>>> - } >>>> - >>>> - var date_err = 0; // Possible values are 0, 1 >>>> - var date_year_err = 0; // Possible values are 0, 1 >>>> - var date_month_err = 0; // Possible values are 1-12 >>>> - var date_day_err = 0; // Possible values are 0, 1, 2, 3, 4 >>>> - var i_date_s = 0; >>>> - var i_format = 0; >>>> - var err = ""; >>>> - var c = ""; >>>> - var token = ""; >>>> - var token2 = ""; >>>> - var x, y; >>>> - var year = 0; >>>> - var month = 0; >>>> - var date = 0; >>>> - var bYearProvided = false; >>>> - var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); >>>> - >>>> - // Trim the leading spaces from the string >>>> - while (date_s.charAt(0) == ' ') { >>>> - date_s = date_s.slice(1); >>>> - } >>>> - >>>> - while (i_format < format.length) { >>>> - // Get next token from format string >>>> - c = format.charAt(i_format); >>>> - token = ""; >>>> - >>>> - while ((format.charAt(i_format) == c) && (i_format < format.length)) { >>>> - token += format.charAt(i_format); >>>> - ++i_format; >>>> - } >>>> - >>>> - // Extract contents of value based on format token >>>> - if ((token == "yyyy") || (token == "yy") || (token == "y")) { >>>> - if (token == "yyyy") { x = 4; y = 4; } // 4-digit year >>>> - if (token == "yy") { x = 2; y = 2; } // 2-digit year >>>> - if (token == "y") { x = 2; y = 4; } // 2-or-4-digit year >>>> - >>>> - year = getInt(date_s, i_date_s, x, y); >>>> - bYearProvided = true; >>>> - >>>> - if ((year == null) || (year.length != token.length)) { >>>> - date_year_err = 1; >>>> - } >>>> - >>>> - i_date_s += year.length; >>>> - } else { >>>> - if (token == "mmm") { // Month name >>>> - month = 0; >>>> - >>>> - for (var i = 0; i < MONTH_NAMES.length; ++i) { >>>> - var month_name = MONTH_NAMES[i]; >>>> - >>>> - if (date_s.substring(i_date_s, (i_date_s + month_name.length)).toLowerCase() == month_name.toLowerCase()) { >>>> - month = i + 1; >>>> - >>>> - if (month > 12) { >>>> - month -= 12; >>>> - } >>>> - >>>> - i_date_s += month_name.length; >>>> - break; >>>> - } >>>> - } >>>> - >>>> - if ((month == 0) || (month < 1) || (month > 12)) { >>>> - date_month_err = 1; >>>> - } >>>> - } else { >>>> - if ((token == "mm") || (token == "m")) { >>>> - x = token.length; y = 2; >>>> - month = getInt(date_s, i_date_s, x, y); >>>> - >>>> - if ((month == null) || (month < 1) || (month > 12)) { >>>> - date_month_err = 1; >>>> - } >>>> - >>>> - i_date_s += month.length; >>>> - } else { >>>> - if (token=="dd" || token=="d") { >>>> - x = token.length; y = 2; >>>> - date = getInt(date_s, i_date_s, x, y); >>>> - >>>> - if ((date == null) || (date < 1) || (date > 31)) { >>>> - date_day_err = 1; >>>> - } >>>> - >>>> - i_date_s += date.length; >>>> - } else { >>>> - if (date_s.substring(i_date_s, (i_date_s + token.length)) != token) { >>>> - date_err = 1; >>>> - } else { >>>> - i_date_s += token.length; >>>> - } >>>> - } >>>> - } >>>> - } >>>> - } >>>> - } >>>> - >>>> - // If there are any trailing characters left in the date_s, it doesn't match >>>> - if (i_date_s != date_s.length) { >>>> - date_err = 1; >>>> - } >>>> - >>>> - // Is date valid for month? >>>> - if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) { >>>> - if (date > 30) { >>>> - date_day_err = 2; >>>> - } >>>> - } else { >>>> - if (month == 2) { >>>> - // Check for leap year >>>> - if ((((year % 4) == 0) && ((year % 100) != 0)) || ((year % 400) == 0)) { >>>> - // Leap year >>>> - if (date > 29) { >>>> - date_day_err = 3 >>>> - } >>>> - } else { >>>> - if (date > 28) { >>>> - date_day_err = 4; >>>> - } >>>> - } >>>> - } else { >>>> - if (date > 31) { >>>> - date_day_err = 1; >>>> - } >>>> - } >>>> - } >>>> - >>>> - // Add to the error message, if needed >>>> - if (date_err != 0) { >>>> - err += "\n - The " + humanname + " must be a valid date in the format " + format + "."; >>>> - } >>>> - >>>> - // Add to the error message, if needed >>>> - if (date_month_err != 0) { >>>> - err += "\n - The month must be between 1-12."; >>>> - } >>>> - >>>> - // Add to the error message, if needed >>>> - if (date_year_err != 0) { >>>> - err += "\n - The " + humanname + " must have a valid year."; >>>> - } >>>> - >>>> - // Add to the error message, if needed >>>> - if (date_day_err != 0) { >>>> - switch (date_day_err) { >>>> - case 1: >>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 31 days."; >>>> - break; >>>> - case 2: >>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 30 days."; >>>> - break; >>>> - case 3: >>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 29 days in a Leap Year."; >>>> - break; >>>> - default: >>>> - err += "\n - The month you entered in the " + humanname + " can only have between 1 and 28 days in a non-Leap Year."; >>>> - break; >>>> - } >>>> - } >>>> - >>>> - return err; >>>> -} // End dateCheck >>>> - >>>> -// Compares two MM/DD/YYY dates for less than (-1), equal to (0), or >>>> -// greater than (1) >>>> -function dateCompare(date1, date2) { >>>> - var localDate1 = new Date(date1.substring(6,10), date1.substring(0,2), date1.substring(3,5)); >>>> - var localDate2 = new Date(date2.substring(6,10), date2.substring(0,2), date2.substring(3,5)); >>>> - >>>> - // Greater than >>>> - if (localDate1.getTime() > localDate2.getTime()) { >>>> - return 1; >>>> - } else { >>>> - // Less than >>>> - if (localDate1.getTime() < localDate2.getTime()) { >>>> - return -1; >>>> - } else { >>>> - // Equal >>>> - return 0; >>>> - } >>>> - } >>>> -} // End dateCompare >>>> - >>>> -// All-purpose form validation script >>>> -function checkForm(dataForm) { >>>> - var msg = ""; >>>> - var stripBlanksStart = /^\s+/g; >>>> - var stripBlanksEnd = /\s+$/g; >>>> - var squeezeBlanks = /\s+/g; >>>> - var stripNonNumbers = /\D+/g; >>>> - var stripNotDollars = /[^0-9\.]/g; >>>> - var noSpaces = /\s+/g; >>>> - var allNumbers = /^\d+$/; >>>> - var zipCodeCheck = /^(\d{5})$|^(\d{5}-\d{4})$/; >>>> - var passwordNumbers = /\d{1,}/; >>>> - var passwordLetters = /\D{1,}/; >>>> - var emailPattern = /^[a-zA-Z0-9]([a-zA-Z0-9_\-\.]*)@([a-zA-Z0-9_\-\.]*)(\.[a-zA-Z]{2,3}(\.[a-zA-Z]{2}){0,2})$/i; >>>> - var replaceSeps = /[-,\.\/]/g; >>>> - var time24Format = /^(([0-1]?\d)|(2[0-3])):[0-5]\d(:([0-5]\d))?/; >>>> - var time12Format = /^(\d|0\d|1[0-2]):[0-5]\d(:[0-5]\d)?( (A|P)\.?M\.?)?/; >>>> - var ipNetworkAddress = /^((\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])(\.(\d{1,2}|[1]\d{2}|2[0-4]\d|25[0-5])){3}){1}((\/(0\.0\.0\.0|128\.0\.0\.0|192\.0\.0\.0|224\.0\.0\.0|240\.0\.0\.0|248\.0\.0\.0|252\.0\.0\.0|254\.0\.0\.0|(255\.(0\.0\.0|128\.0\.0|192\.0\.0|224\.0\.0|240\.0\.0|248\.0\.0|252\.0\.0|254\.0\.0|(255\.(0\.0|128\.0|192\.0|224\.0|240\.0|248\.0|252\.0|254\.0|(255\.(0|128|192|224|240|248|252|254|255))))))))|(\/(\d|[1-2]\d|3[0-2]))){0,1}$/; >>>> - var ipNetworkPort = /^(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5]){1}((\:|\-)(\d{1,4}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])){0,1}$/; >>>> - var passwordLength = 6; >>>> - var error_fields = ""; >>>> - var errors = ""; >>>> - >>>> - // Loop over form elements >>>> - for (var i = 0; i < dataForm.length; ++i) { >>>> - var element = dataForm.elements[i]; >>>> - >>>> - // Check for select box >>>> - if (element.selectbox) { >>>> - // Check for required >>>> - if (element.required) { >>>> - // Check for value >>>> - if (element.options[element.selectedIndex].value == "") { >>>> - error_fields += "\n - " + element.humanname + " requires a selection."; >>>> - } >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Strip the leading and trailing blanks >>>> - element.value = element.value.replace(stripBlanksStart, ''); >>>> - element.value = element.value.replace(stripBlanksEnd, ''); >>>> - >>>> - // If it is required and is empty, alert >>>> - if (element.required && (!element.value.length)) { >>>> - error_fields += "\n - " + element.humanname + " is required."; >>>> - continue; >>>> - } else { >>>> - // If it isn't required and doesn't have any length, skip it >>>> - if ((! element.required) && (! element.value.length)) { >>>> - continue; >>>> - } >>>> - } >>>> - >>>> - // Check for special characters >>>> - if (element.checkspecialchars) { >>>> - if (checkForSpecialChars(element, element.alphaStart, element.specialChars)) { >>>> - error_fields += "\n - " + element.humanname + " contains invalid characters."; >>>> - continue; >>>> - } >>>> - } >>>> - >>>> - // Convert to uppercase if necessary >>>> - if (element.uppercase) { >>>> - element.value = element.value.toUpperCase(); >>>> - } >>>> - >>>> - // Convert to uppercase if necessary >>>> - if (element.lowercase) { >>>> - element.value = element.value.toLowerCase(); >>>> - } >>>> - >>>> - // UCFirst if necessary >>>> - if (element.ucfirst) { >>>> - // Squeeze the blanks >>>> - rs = element.value.replace(squeezeBlanks, ' '); >>>> - dsegs = rs.split(' '); >>>> - element.value = ""; >>>> - >>>> - // Loop over chars >>>> - for (j = 0; j < dsegs.length; ++j) { >>>> - if (dsegs[j].length > 1) { >>>> - fl = dsegs[j].substr(0, 1); >>>> - fl = fl.toUpperCase(); >>>> - rn = dsegs[j].substr(1); >>>> - rn = rn.toLowerCase(); >>>> - dsegs[j] = fl + rn; >>>> - } >>>> - >>>> - // Check for first value >>>> - element.value = j ? element.value + ' ' + dsegs[j] : dsegs[j]; >>>> - } >>>> - } >>>> - >>>> - // Check for equality test >>>> - if (element.equalto) { >>>> - // Check for truevalue and use if found, otherwise use value >>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value; >>>> - var elementValue2 = element.equaltovalue.truevalue ? element.equaltovalue.truevalue : element.equaltovalue.value; >>>> - >>>> - // Check for value equality >>>> - if (elementValue1 != elementValue2) { >>>> - error_fields +="\n - " + element.humanname + " is not the same as " + element.equaltovalue.humanname; >>>> - continue; >>>> - } >>>> - } >>>> - >>>> - // Check for less than >>>> - if (element.lessthan) { >>>> - // Check for truevalue and use if found, otherwise use value >>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value; >>>> - var elementValue2 = element.lessthanvalue.truevalue ? element.lessthanvalue.truevalue : element.lessthanvalue.value; >>>> - >>>> - // Check for values >>>> - if ((elementValue1 != '') && (elementValue2 != '')) { >>>> - // Check for value less than >>>> - if (elementValue1 >= elementValue2) { >>>> - error_fields +="\n - " + element.humanname + " must be less than " + element.lessthanvalue.humanname; >>>> - continue; >>>> - } >>>> - } >>>> - } >>>> - >>>> - // Check for less than equalto >>>> - if (element.lessthanequalto) { >>>> - // Check for truevalue and use if found, otherwise use value >>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value; >>>> - var elementValue2 = element.lessthanequaltovalue.truevalue ? element.lessthanequaltovalue.truevalue : element.lessthanequaltovalue.value; >>>> - >>>> - // Check for values >>>> - if ((elementValue1 != '') && (elementValue2 != '')) { >>>> - // Check for value less than equalto >>>> - if (elementValue1 > elementValue2) { >>>> - error_fields +="\n - " + element.humanname + " must be less than or equal to " + element.lessthanequaltovalue.humanname; >>>> - continue; >>>> - } >>>> - } >>>> - } >>>> - >>>> - // Check for greater than >>>> - if (element.greaterthan) { >>>> - // Check for truevalue and use if found, otherwise use value >>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value; >>>> - var elementValue2 = element.greaterthanvalue.truevalue ? element.greaterthanvalue.truevalue : element.greaterthanvalue.value; >>>> - >>>> - // Check for values >>>> - if ((elementValue1 != '') && (elementValue2 != '')) { >>>> - // Check for value greater than >>>> - if (elementValue1 <= elementValue2) { >>>> - error_fields +="\n - " + element.humanname + " must be greater than " + element.greaterthanvalue.humanname; >>>> - continue; >>>> - } >>>> - } >>>> - } >>>> - >>>> - // Check for greater than equalto >>>> - if (element.greaterthanequalto) { >>>> - // Check for truevalue and use if found, otherwise use value >>>> - var elementValue1 = element.truevalue ? element.truevalue : element.value; >>>> - var elementValue2 = element.greaterthanequaltovalue.truevalue ? element.greaterthanequaltovalue.truevalue : element.greaterthanequaltovalue.value; >>>> - >>>> - // Check for values >>>> - if ((elementValue1 != '') && (elementValue2 != '')) { >>>> - // Check for value greater than equalto >>>> - if (elementValue1 < elementValue2) { >>>> - error_fields +="\n - " + element.humanname + " must be greater than or equal to " + element.greaterthanequaltovalue.humanname; >>>> - continue; >>>> - } >>>> - } >>>> - } >>>> - >>>> - // Check a price (sort of) >>>> - if (element.price) { >>>> - // Strip out currency stuff >>>> - element.value = element.value.replace(stripNotDollars, ''); >>>> - continue; >>>> - } >>>> - >>>> - // Check a telephone number >>>> - if (element.telephone) { >>>> - // Strip out parens and spaces >>>> - rs = element.value.replace(stripNonNumbers, ''); >>>> - >>>> - if (rs.length == 7) { >>>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 4); >>>> - } else { >>>> - if (rs.length == 10) { >>>> - element.value = rs.substr(0, 3) + "-" + rs.substr(3, 3) + "-" + rs.substr(6, 4); >>>> - } else { >>>> - error_fields += "\n - " + element.humanname + " is an invalid telephone number."; >>>> - } >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Check a zip code >>>> - if (element.zipcode) { >>>> - if (!zipCodeCheck.test(element.value)) { >>>> - error_fields +="\n - " + element.humanname + " is an invalid zipcode."; >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Check a password (sort of) >>>> - if (element.password) { >>>> - if (element.value.length < passwordLength) { >>>> - error_fields += "\n - " + element.humanname + " is too short"; >>>> - error_fields += "\n Minimum length is " + passwordLength + " characters."; >>>> - continue; >>>> - } >>>> - >>>> - if (!passwordNumbers.test(element.value)) { >>>> - error_fields += "\n - " + element.humanname + " must contain at least one number."; >>>> - continue; >>>> - } >>>> - >>>> - if (!passwordLetters.test(element.value)) { >>>> - error_fields += "\n - " + element.humanname + " must contain at least one letter."; >>>> - continue; >>>> - } >>>> - } >>>> - >>>> - // Check for all numbers >>>> - if (element.numeric) { >>>> - if (!allNumbers.test(element.value)) { >>>> - error_fields += "\n - " + element.humanname + " is not numeric."; >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Check an email address for validity >>>> - if (element.email) { >>>> - element.value = element.value.replace(noSpaces, ''); >>>> - >>>> - if (!emailPattern.test(element.value)) { >>>> - error_fields += "\n - " + element.humanname + " is not a valid email address."; >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Check a date >>>> - if (element.date) { >>>> - error_fields += dateCheck(element.value, element.humanname, element.format); >>>> - continue; >>>> - } >>>> - >>>> - // Check a time >>>> - if (element.time) { >>>> - // Check for 24 hour time >>>> - if (element.time24) { >>>> - // Check for valid >>>> - if (!time24Format.test(element.value)) { >>>> - error_fields += "\n - " + element.humanname + " is not a valid 24 hour time."; >>>> - } >>>> - } else { >>>> - // Check for valid >>>> - if (!time12Format.test(element.value)) { >>>> - error_fields += "\n - " + element.humanname + " is not a valid 12 hour time."; >>>> - } >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Check the lengths >>>> - if (element.minlen && (element.value.length < element.minlen)) { >>>> - error_fields += "\n - " + element.humanname + " is too short"; >>>> - error_fields += "\n Minimum length is " + element.minlen + " characters."; >>>> - continue; >>>> - } >>>> - >>>> - if (element.maxlen && (element.value.length > element.maxlen)) { >>>> - error_fields +="\n - " + element.humanname + " is too long"; >>>> - error_fields +="\n Maximum length is " + element.maxlen + " characters."; >>>> - continue; >>>> - } >>>> - >>>> - // Check for ip/network address >>>> - if (element.ipnetworkaddress) { >>>> - if (!ipNetworkAddress.test(element.value)) { >>>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network address"; >>>> - } >>>> - continue; >>>> - } >>>> - >>>> - // Check for ip/network port >>>> - if (element.ipnetworkport) { >>>> - if (!ipNetworkPort.test(element.value)) { >>>> - error_fields +="\n - " + element.humanname + " is not a valid ip/network port"; >>>> - } else { >>>> - var searchChar = ""; >>>> - var portArray = ""; >>>> - >>>> - if (element.value.indexOf(":") > -1) { >>>> - searchChar = ":"; >>>> - } else if (element.value.indexOf("-") > -1) { >>>> - searchChar = "-"; >>>> - } >>>> - >>>> - if (searchChar != '') { >>>> - portArray = element.value.split(searchChar); >>>> - >>>> - if (portArray.length == 2) { >>>> - if (parseInt(portArray[0]) > parseInt(portArray[1])) { >>>> - error_fields +="\n - " + element.humanname + " can not have a start port greater than an end port"; >>>> - } >>>> - } >>>> - } >>>> - } >>>> - continue; >>>> - } >>>> - } >>>> - >>>> - // Check for any errors >>>> - if (error_fields == "") { >>>> - return true; >>>> - } else { >>>> - msg = "The following fields have errors:\n"; >>>> - msg += error_fields; >>>> - alert(msg); >>>> - return false; >>>> - } >>>> -} >>>> - >>>> -// Clear data >>>> -function clearData(field, data) { >>>> - // Check if they equal >>>> - if (field.value == data) { >>>> - // Clear data >>>> - field.value = ''; >>>> - } >>>> -} >>>> - >>>> -// Set empty data >>>> -function setEmptyData(field, data) { >>>> - // Check if they equal >>>> - if (! field.value.length) { >>>> - // Clear data >>>> - field.value = data; >>>> - } >>>> -} >>>> - >>>> -// Trim whitespace from beginning and end >>>> -function trim(data) { >>>> - var objRegExp = /^(\s*)$/; >>>> - >>>> - // Check for all spaces >>>> - if (objRegExp.test(data)) { >>>> - data = data.replace(objRegExp, ''); >>>> - >>>> - if (data.length == 0) >>>> - return data; >>>> - } >>>> - >>>> - // Check for leading & trailing spaces >>>> - objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/; >>>> - >>>> - if (objRegExp.test(data)) { >>>> - // Remove leading and trailing whitespace characters >>>> - data = data.replace(objRegExp, '$2'); >>>> - } >>>> - >>>> - return data; >>>> -} >>>>