Newer
Older
session_start();
include '../../lib/config.inc.php';
header('Content-Type: text/javascript; charset=utf-8'); // the config file sets the content type header so we have to override it here!
require_once '../../lib/app.inc.php';
$lang = (isset($_SESSION['s']['language']) && $_SESSION['s']['language'] != '')?$_SESSION['s']['language']:'en';
include_once ISPC_ROOT_PATH.'/web/strengthmeter/lib/lang/'.$lang.'_strengthmeter.lng';
$app->uses('ini_parser,getconf');
$server_config_array = $app->getconf->get_global_config();
var pageFormChanged = false;
var tabChangeWarningTxt = '';
var tabChangeDiscardTxt = '';
var tabChangeWarning = false;
var tabChangeDiscard = false;
var requestsRunning = 0;
var indicatorPaddingH = -1;
var indicatorPaddingW = -1;
var indicatorCompleted = false;
tbrehm
committed
function reportError(request) {
/* Error reporting is disabled by default as some browsers like safari
sometimes throw errors when a ajax request is delayed even if the
tbrehm
committed
ajax request worked. */
tbrehm
committed
/*alert(request);*/
}
function resetFormChanged() {
pageFormChanged = false;
}
function showLoadIndicator() {
document.body.style.cursor = 'wait';
<?php
if($server_config_array['misc']['use_loadindicator'] == 'y'){
?>
if(requestsRunning < 2) {
var indicator = jQuery('#ajaxloader');
if(indicator.length < 1) {
indicator = jQuery('<div id="ajaxloader" style="display: none;"></div>');
indicator.appendTo('body');
}
var parent = jQuery('#content');
if(parent.length < 1) return;
indicatorCompleted = false;
var atx = parent.offset().left + 150; //((parent.outerWidth(true) - indicator.outerWidth(true)) / 2);
var aty = parent.offset().top + 150;
indicator.css( {'left': atx, 'top': aty } ).fadeIn('fast', function() {
// check if loader should be hidden immediately
indicatorCompleted = true;
if(requestsRunning < 1) $(this).fadeOut('fast', function() { $(this).hide();});
});
}
}
function hideLoadIndicator() {
document.body.style.cursor = '';
requestsRunning -= 1;
if(requestsRunning < 1) {
requestsRunning = 0; // just for the case...
if(indicatorCompleted == true) jQuery('#ajaxloader').fadeOut('fast', function() { jQuery('#ajaxloader').hide(); } );
}
}
function onAfterContentLoad() {
<?php
if($server_config_array['misc']['use_combobox'] == 'y'){
?>
$('#pageContent').find("select").combobox();
function loadContentRefresh(pagename) {
if(document.getElementById('refreshinterval').value > 0) {
var pageContentObject2 = jQuery.ajax({ type: "GET",
Falko Timme
committed
url: pagename,
data: "refresh="+document.getElementById('refreshinterval').value,
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
Falko Timme
committed
jQuery('#pageContent').html(jqXHR.responseText);
},
error: function() {
reportError('Ajax Request was not successful.'+pagename);
setTimeout( "loadContentRefresh('"+pagename+"&refresh="+document.getElementById('refreshinterval').value+"')", document.getElementById('refreshinterval').value*1000*60 );
function capp(module, redirect) {
var submitFormObj = jQuery.ajax({ type: "GET",
url: "capp.php",
data: "mod="+module+((redirect != undefined) ? '&redirect='+redirect : ''),
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
if(jqXHR.responseText != '') {
if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
var parts = jqXHR.responseText.split(':');
loadContent(parts[1]);
} else if (jqXHR.responseText.indexOf('URL_REDIRECT:') > -1) {
var newUrl= jqXHR.responseText.substr(jqXHR.responseText.indexOf('URL_REDIRECT:') + "URL_REDIRECT:".length);
document.location.href = newUrl;
},
error: function() {
reportError('Ajax Request was not successful.'+module);
}
function submitLoginForm(formname) {
//* Validate form. TODO: username and password with strip();
var frm = document.getElementById(formname);
var userNameObj = frm.username;
if(userNameObj.value == ''){
userNameObj.focus();
return;
}
var passwordObj = frm.passwort;
if(passwordObj.value == ''){
passwordObj.focus();
return;
$('#dummy_username').val(userNameObj.value);
$('#dummy_passwort').val(passwordObj.value);
$('#dummy_login_form').submit();
var submitFormObj = jQuery.ajax({ type: "POST",
url: "content.php",
data: jQuery('#'+formname).serialize(),
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
var parts = jqXHR.responseText.split(':');
//alert(parts[1]);
loadContent(parts[1]);
//redirect = parts[1];
//window.setTimeout('loadContent(redirect)', 1000);
} else if (jqXHR.responseText.indexOf('LOGIN_REDIRECT:') > -1) {
// Go to the login page
document.location.href = 'index.php';
} else {
Falko Timme
committed
jQuery('#pageContent').html(jqXHR.responseText);
},
error: function() {
reportError('Ajax Request was not successful.110');
/*
if(redirect != '') {
loadContent(redirect);
redirect = '';
}
document.getElementById('footer').innerHTML = 'Powered by <a href="http://www.ispconfig.org" target="_blank">ISPConfig</a>';
function submitForm(formname,target) {
var submitFormObj = jQuery.ajax({ type: "POST",
url: target,
data: jQuery('#'+formname).serialize(),
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
var parts = jqXHR.responseText.split(':');
//alert(parts[1]);
loadContent(parts[1]);
//redirect = parts[1];
//window.setTimeout('loadContent(redirect)', 1000);
} else {
Falko Timme
committed
jQuery('#pageContent').html(jqXHR.responseText);
},
error: function(jqXHR, textStatus, errorThrown) {
var parts = jqXHR.responseText.split(':');
reportError('Ajax Request was not successful. 111');
/*
if(redirect != '') {
loadContent(redirect);
redirect = '';
}
*/
}
function submitFormConfirm(formname,target,confirmation) {
var successMessage = arguments[3];
if(window.confirm(confirmation)) {
var submitFormObj = jQuery.ajax({ type: "POST",
url: target,
data: jQuery('#'+formname).serialize(),
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
if(successMessage) alert(successMessage);
if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
var parts = jqXHR.responseText.split(':');
//alert(parts[1]);
loadContent(parts[1]);
//redirect = parts[1];
//window.setTimeout('loadContent(redirect)', 1000);
} else {
jQuery('#pageContent').html(jqXHR.responseText);
},
error: function(jqXHR, textStatus, errorThrown) {
var parts = jqXHR.responseText.split(':');
reportError('Ajax Request was not successful. 111');
function submitUploadForm(formname,target) {
var handleResponse = function(loadedFrame) {
var response, responseStr = loadedFrame.contentWindow.document.body.innerHTML;
try {
response = JSON.parse(responseStr);
} catch(e) {
response = responseStr;
}
var msg = '';
var okmsg = jQuery('#OKMsg',response).html();
if(okmsg){
msg = '<div id="OKMsg">'+okmsg+'</div>';
}
var errormsg = jQuery('#errorMsg',response).html();
if(errormsg){
msg = msg+'<div id="errorMsg">'+errormsg+'</div>';
}
return msg;
var frame_id = 'ajaxUploader-iframe-' + Math.round(new Date().getTime() / 1000);
jQuery('body').after('<iframe width="0" height="0" style="display:none;" name="'+frame_id+'" id="'+frame_id+'"/>');
jQuery('input[type="file"]').closest("form").attr({target: frame_id, action: target}).submit();
jQuery('#'+frame_id).load(function() {
var msg = handleResponse(this);
jQuery('#errorMsg').remove();
jQuery('#OKMsg').remove();
jQuery('input[name="id"]').before(msg);
/*
if(redirect != '') {
loadContent(redirect);
redirect = '';
}
*/
}
function loadContent(pagename) {
var pageContentObject2 = jQuery.ajax({ type: "GET",
Falko Timme
committed
dataType: "html",
beforeSend: function() {
success: function(data, textStatus, jqXHR) {
if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
var parts = jqXHR.responseText.split(':');
loadContent(parts[1]);
} else if (jqXHR.responseText.indexOf('URL_REDIRECT:') > -1) {
var newUrl= jqXHR.responseText.substr(jqXHR.responseText.indexOf('URL_REDIRECT:') + "URL_REDIRECT:".length);
document.location.href = newUrl;
} else {
Falko Timme
committed
//document.getElementById('pageContent').innerHTML = jqXHR.responseText;
//var reponse = jQuery(jqXHR.responseText);
//var reponseScript = reponse.filter("script");
//jQuery.each(reponseScript, function(idx, val) { eval(val.text); } );
Falko Timme
committed
jQuery('#pageContent').html(jqXHR.responseText);
},
error: function() {
reportError('Ajax Request was not successful. 113');
}
function loadInitContent() {
var pageContentObject = jQuery.ajax({ type: "GET",
url: "content.php",
data: "s_mod=login&s_pg=index",
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
var parts = jqXHR.responseText.split(":");
loadContent(parts[1]);
} else {
Falko Timme
committed
jQuery('#pageContent').html(jqXHR.responseText);
},
error: function() {
reportError('Ajax Request was not successful. 114');
loadMenus();
keepalive();
setTimeout("setFocus()",1000);
}
function setFocus() {
jQuery('form#pageForm').find('input[name="username"]').focus();
} catch (e) {
}
}
function loadMenus() {
var sideNavObject = jQuery.ajax({ type: "GET",
url: "nav.php",
data: "nav=side",
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
Falko Timme
committed
jQuery('#sideNav').html(jqXHR.responseText);
},
error: function() {
reportError('Ajax Request was not successful. 115');
var topNavObject = jQuery.ajax({ type: "GET",
url: "nav.php",
data: "nav=top",
Falko Timme
committed
dataType: "html",
beforeSend: function() {
showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
Falko Timme
committed
jQuery('#topNav').html(jqXHR.responseText);
},
error: function(o) {
reportError('Ajax Request was not successful. 116');
function changeTab(tab,target,force) {
//document.forms[0].next_tab.value = tab;
document.pageForm.next_tab.value = tab;
var idel = jQuery('form#pageForm').find('[name="id"]');
var id = null;
if(idel.length > 0) id = idel.val();
if(tabChangeDiscard == 'y' && !force) {
if((idel.length < 1 || id) && (pageFormChanged == false || window.confirm(tabChangeDiscardTxt))) {
if(id) loadContent(target, {'next_tab': next_tab, 'id': id});
else loadContent(target, {'next_tab': next_tab});
} else {
return false;
}
} else {
if(id && tabChangeWarning == 'y' && pageFormChanged == true) {
if(window.confirm(tabChangeWarningTxt)) {
submitForm('pageForm', target);
} else {
var next_tab = tab;
if(id) loadContent(target, {'next_tab': next_tab, 'id': id});
else loadContent(target, {'next_tab': next_tab});
}
} else {
submitForm('pageForm',target);
}
}
function del_record(link,confirmation) {
if(window.confirm(confirmation)) {
loadContent(link);
}
}
tbrehm
committed
function confirm_action(link,confirmation) {
if(window.confirm(confirmation)) {
loadContent(link);
}
}
function loadContentInto(elementid,pagename) {
var pageContentObject2 = jQuery.ajax({ type: "GET",
Falko Timme
committed
dataType: "html",
beforeSend: function() {
// showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
Falko Timme
committed
jQuery('#'+elementid).html(jqXHR.responseText);
},
error: function() {
reportError('Ajax Request was not successful. 118');
function loadOptionInto(elementid,pagename) {
var pageContentObject2 = jQuery.ajax({ type: "GET",
Falko Timme
committed
dataType: "html",
beforeSend: function() {
// showLoadIndicator();
},
success: function(data, textStatus, jqXHR) {
var teste = jqXHR.responseText;
var elemente = teste.split('#');
el=document.getElementById(elementid);
el.innerHTML='';
for (var i = 0; i < elemente.length; ++i){
var foo2 = document.createElement("option");
foo2.appendChild(document.createTextNode(elemente[i]));
foo2.value=elemente[i];
el.appendChild(foo2);
}
},
error: function() {
reportError('Ajax Request was not successful. 119');
var pageContentObject3 = jQuery.ajax({ type: "GET",
Falko Timme
committed
dataType: "html",
success: function(data, textStatus, jqXHR) {
setTimeout( keepalive, 1000000 );
},
error: function() {
reportError('Session expired. Please login again.');
//setTimeout( keepalive, 1000000 );
}
<?php
$min_password_length = 5;
if(isset($server_config_array['misc']['min_password_length'])) {
$min_password_length = $app->functions->intval($server_config_array['misc']['min_password_length']);
}
?>
var pass_minimum_length = <?php echo $min_password_length; ?>;
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
var pass_messages = new Array();
var pass_message = new Array();
pass_message['text'] = "<?php echo $wb['password_strength_0_txt']?>";
pass_message['color'] = "#d0d0d0";
pass_messages[0] = pass_message;
var pass_message = new Array();
pass_message['text'] = "<?php echo $wb['password_strength_1_txt']?>";
pass_message['color'] = "red";
pass_messages[1] = pass_message;
var pass_message = new Array();
pass_message['text'] = "<?php echo $wb['password_strength_2_txt']?>";
pass_message['color'] = "yellow";
pass_messages[2] = pass_message;
var pass_message = new Array();
pass_message['text'] = "<?php echo $wb['password_strength_3_txt']?>";
pass_message['color'] = "#00ff00";
pass_messages[3] = pass_message;
var pass_message = new Array();
pass_message['text'] = "<?php echo $wb['password_strength_4_txt']?>";
pass_message['color'] = "green";
pass_messages[4] = pass_message;
var pass_message = new Array();
pass_message['text'] = "<?php echo $wb['password_strength_5_txt']?>";
pass_message['color'] = "green";
pass_messages[5] = pass_message;
function pass_check(password) {
var length = password.length;
var points = 0;
if (length < pass_minimum_length) {
pass_result(0);
return;
}
if (length < 5) {
pass_result(1);
return;
}
if (pass_contains(password, "ABCDEFGHIJKLNMOPQRSTUVWXYZ")) {
points += 1;
}
if (pass_contains(password, "0123456789")) {
points += 1;
}
if (pass_contains(password, "`~!@#$%^&*()_+|\=-[]}{';:/?.>,<\" ")) {
points += 1;
}
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
if (points == 0) {
if (length >= 5 && length <=6) {
pass_result(1);
} else if (length >= 7 && length <=8) {
pass_result(2);
} else {
pass_result(3);
}
} else if (points == 1) {
if (length >= 5 && length <=6) {
pass_result(2);
} else if (length >= 7 && length <=10) {
pass_result(3);
} else {
pass_result(4);
}
} else if (points == 2) {
if (length >= 5 && length <=8) {
pass_result(3);
} else if (length >= 9 && length <=10) {
pass_result(4);
} else {
pass_result(5);
}
} else if (points == 3) {
if (length >= 5 && length <=6) {
pass_result(3);
} else if (length >= 7 && length <=8) {
pass_result(4);
} else {
pass_result(5);
}
} else if (points >= 4) {
if (length >= 5 && length <=6) {
pass_result(4);
} else {
pass_result(5);
}
}
}
function pass_result(points, message) {
if (points == 0) {
width = 10;
} else {
width = points*20;
}
document.getElementById("passBar").innerHTML = '<div style="float:left; height: 10px; padding:0px; background-color: ' + pass_messages[points]['color'] + '; width: ' + width + 'px;" />';
document.getElementById("passText").innerHTML = pass_messages[points]['text'];
}
function pass_contains(pass, check) {
for (i = 0; i < pass.length; i++) {
if (check.indexOf(pass.charAt(i)) > -1) {
return true;
}
}
return false;
}
function addAdditionalTemplate(){
var tpl_add = jQuery('#template_additional').val();
var addTemplate = jQuery('#tpl_add_select').val().split('|',2);
var addTplId = addTemplate[0];
var addTplText = addTemplate[1];
var newVal = tpl_add.split('/');
new_tpl_add_id += 1;
var delbtn = jQuery('<a href="#"></a>').attr('class', 'button icons16 icoDelete').click(function(e) {
e.preventDefault();
delAdditionalTemplate($(this).parent().attr('rel'));
});
newVal[newVal.length] = 'n' + new_tpl_add_id + ':' + addTplId;
jQuery('<li>' + addTplText + '</li>').attr('rel', 'n' + new_tpl_add_id).append(delbtn).appendTo('#template_additional_list ul');
jQuery('#template_additional').val(newVal.join('/'));
alert('additional template ' + addTplText + ' added to customer');
alert('no additional template selcted');
function delAdditionalTemplate(tpl_id){
var tpl_add = jQuery('#template_additional').val();
if(tpl_id) {
// new style
var $el = jQuery('#template_additional_list ul').find('li[rel="' + tpl_id + '"]').eq(0); // only the first
var addTplText = $el.text();
$el.remove();
var oldVal = tpl_add.split('/');
var newVal = new Array();
for(var i = 0; i < oldVal.length; i++) {
var tmp = oldVal[i].split(':', 2);
if(tmp.length == 2 && tmp[0] == tpl_id) continue;
newVal[newVal.length] = oldVal[i];
}
jQuery('#template_additional').val(newVal.join('/'));
alert('additional template ' + addTplText + ' deleted from customer');
} else if(tpl_add != '') {
// old style
var addTemplate = document.getElementById('tpl_add_select').value.split('|',2);
var addTplId = addTemplate[0];
var addTplText = addTemplate[1];
jQuery('#template_additional_list ul').find('li:not([rel])').each(function() {
var text = jQuery(this).text();
if(text == addTplText) {
jQuery(this).remove();
return false;
}
return this;
});
var repl = new RegExp('(^|\/)' + addTplId + '(\/|$)');
newVal = newVal.replace(repl, '');
newVal = newVal.replace('//', '/');
jQuery('#template_additional').val(newVal);
alert('additional template ' + addTplText + ' deleted from customer');
} else {
alert('no additional template selcted');
}
function getInternetExplorerVersion() {
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer') {
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}
function password(minLength, special){
var iteration = 0;
var password = "";
var randomNumber;
minLength = minLength || 10;
var maxLength = minLength + 5;
var length = getRandomInt(minLength, maxLength);
if(special == undefined){
var special = false;
}
while(iteration < length){
randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33;
if(!special){
if ((randomNumber >=33) && (randomNumber <=47)) { continue; }
if ((randomNumber >=58) && (randomNumber <=64)) { continue; }
if ((randomNumber >=91) && (randomNumber <=96)) { continue; }
if ((randomNumber >=123) && (randomNumber <=126)) { continue; }
}
iteration++;
password += String.fromCharCode(randomNumber);
}
return password;
}
<?php
$min_password_length = 10;
if(isset($server_config_array['misc']['min_password_length'])) {
$min_password_length = $app->functions->intval($server_config_array['misc']['min_password_length']);
}
?>
function generatePassword(passwordFieldID, repeatPasswordFieldID){
var oldPWField = jQuery('#'+passwordFieldID);
var newPWField = oldPWField.clone();
newPWField.attr('type', 'text').attr('id', 'tmp'+passwordFieldID).insertBefore(oldPWField);
oldPWField.remove();
var pword = password(<?php echo $min_password_length ?>, false);
jQuery('#'+repeatPasswordFieldID).val(pword);
newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup');
var funcDisableClick = function(e) { e.preventDefault(); return false; };
function checkPassMatch(pwField1,pwField2){
var rpass = jQuery('#'+pwField2).val();
var npass = jQuery('#'+pwField1).val();
if(npass!= rpass) {
jQuery('#confirmpasswordOK').hide();
jQuery('#confirmpasswordError').show();
jQuery('button.positive').attr('disabled','disabled');
jQuery('.tabbox_tabs ul li a').each(function() {
var $this = $(this);
$this.data('saved_onclick', $this.attr('onclick'));
$this.removeAttr('onclick');
$this.click(funcDisableClick);
});
return false;
} else {
jQuery('#confirmpasswordError').hide();
jQuery('#confirmpasswordOK').show();
jQuery('button.positive').removeAttr('disabled');
jQuery('.tabbox_tabs ul li a').each(function() {
var $this = $(this);
$this.unbind('click', funcDisableClick);
if($this.data('saved_onclick') && !$this.attr('onclick')) $this.attr('onclick', $this.data('saved_onclick'));
});
}
}
function getRandomInt(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
Falko Timme
committed
jQuery('.addPlaceholder').live("click", function(){
var placeholderText = jQuery(this).text();
var template = jQuery(this).siblings(':input');
template.insertAtCaret(placeholderText);
});
Falko Timme
committed
jQuery('.addPlaceholderContent').live("click", function(){
var placeholderContentText = jQuery(this).find('.addPlaceholderContent').text();
var template2 = jQuery(this).siblings(':input');
template2.insertAtCaret(placeholderContentText);
});
Falko Timme
committed
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
jQuery.fn.extend({
insertAtCaret: function(myValue){
return this.each(function(i) {
if (document.selection) {
//For browsers like Internet Explorer
this.focus();
sel = document.selection.createRange();
sel.text = myValue;
this.focus();
} else if (this.selectionStart || this.selectionStart == '0') {
//For browsers like Firefox and Webkit based
var startPos = this.selectionStart;
var endPos = this.selectionEnd;
var scrollTop = this.scrollTop;
this.value = this.value.substring(0, startPos)+myValue+this.value.substring(endPos,this.value.length);
this.focus();
this.selectionStart = startPos + myValue.length;
this.selectionEnd = startPos + myValue.length;
this.scrollTop = scrollTop;
} else {
this.value += myValue;
this.focus();
}
})
}
});