/** * * 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.message.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); } 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 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"; } }