/** * * This file is part of HESK - PHP Help Desk Software. * * (c) Copyright Klemen Stirn. All rights reserved. * https://www.hesk.com * * For the full copyright and license agreement information visit * https://www.hesk.com/eula.php * */ function hesk_insertTag(tag) { var text_to_insert = '%%'+tag+'%%'; hesk_insertAtCursor(document.form1.msg, text_to_insert); document.form1.msg.focus(); } function hesk_insertAtCursor(myField, myValue) { if (document.selection) { myField.focus(); sel = document.selection.createRange(); sel.text = myValue; } else if (myField.selectionStart || myField.selectionStart == '0') { var startPos = myField.selectionStart; var endPos = myField.selectionEnd; myField.value = myField.value.substring(0, startPos) + myValue + myField.value.substring(endPos, myField.value.length); myField.selectionStart = startPos + myValue.length; myField.selectionEnd = startPos + myValue.length; } else { myField.value += myValue; } } function hesk_changeAll(myID) { var d = document.form1; var setTo = myID.checked ? true : false; for (var i = 0; i < d.elements.length; i++) { if(d.elements[i].type == 'checkbox' && d.elements[i].name != 'checkall') { d.elements[i].checked = setTo; } } } function hesk_attach_disable(ids) { for($i=0;$i' + '
{1}
' + '
' + '' + '{4}' + ' | ' + '' + '{5}' + '' + '
' + ''; var response = JSON.parse(xmlHttp.responseText); for (var i = 0; i < response.length; i++) { var suggestion = response[i]; element.innerHTML += suggestFormat.replace(/\{0}/g, suggestion.id) .replace(/\{1}/g, suggestion.suggestText) .replace(/\{2}/g, suggestion.originalAddress) .replace(/\{3}/g, suggestion.formattedSuggestedEmail) .replace(/\{4}/g, suggestion.yesResponseText) .replace(/\{5}/g, suggestion.noResponseText); console.log(response[i]); } element.style.display = 'block'; } } xmlHttp.send(params); } } function hesk_applyEmailSuggestion(emailTypoId, emailField, originalEmail, formattedSuggestedEmail) { var eml = document.getElementById(emailField).value; var regex = new RegExp(originalEmail, "gi"); document.getElementById(emailField).value = eml.replace(regex, formattedSuggestedEmail); document.getElementById(emailTypoId).style.display = 'none'; } function hesk_btn(Elem, myClass) { Elem.className = myClass; } function hesk_checkPassword(password) { var numbers = "0123456789"; var lowercase = "abcdefghijklmnopqrstuvwxyz"; var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var punctuation = "!.@$#*()%~<>{}[]"; var combinations = 0; if (hesk_contains(password, numbers) > 0) { combinations += 10; } if (hesk_contains(password, lowercase) > 0) { combinations += 26; } if (hesk_contains(password, uppercase) > 0) { combinations += 26; } if (hesk_contains(password, punctuation) > 0) { combinations += punctuation.length; } var totalCombinations = Math.pow(combinations, password.length); var timeInSeconds = (totalCombinations / 200) / 2; var timeInDays = timeInSeconds / 86400 var lifetime = 365000; var percentage = timeInDays / lifetime; var friendlyPercentage = hesk_cap(Math.round(percentage * 100), 98); if (friendlyPercentage < (password.length * 5)) { friendlyPercentage += password.length * 5; } var friendlyPercentage = hesk_cap(friendlyPercentage, 98); var progressBar = document.getElementById("progressBar"); progressBar.style.width = friendlyPercentage + "%"; if (percentage > 1) { // strong password progressBar.style.backgroundColor = "#3bce08"; return; } if (percentage > 0.5) { // reasonable password progressBar.style.backgroundColor = "#ffd801"; return; } if (percentage > 0.10) { // weak password progressBar.style.backgroundColor = "orange"; return; } if (percentage <= 0.10) { // very weak password progressBar.style.backgroundColor = "red"; return; } } function hesk_cap(number, max) { if (number > max) { return max; } else { return number; } } function hesk_contains(password, validChars) { count = 0; for (i = 0; i < password.length; i++) { var char = password.charAt(i); if (validChars.indexOf(char) > -1) { count++; } } return count; } function setCookie(name, value, expires, path, domain, secure) { document.cookie= name + "=" + escape(value) + ((expires) ? "; expires=" + expires.toGMTString() : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } function getCookie(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) return null; } else { begin += 2; } var end = document.cookie.indexOf(";", begin); if (end == -1) { end = dc.length; } return unescape(dc.substring(begin + prefix.length, end)); } function deleteCookie(name, path, domain) { if (getCookie(name)) { document.cookie = name + "=" + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } }