Newer
Older
<?php
session_start();
include('../../lib/config.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');
var pageFormChanged = false;
var tabChangeWarningTxt = '';
var tabChangeDiscardTxt = '';
var tabChangeWarning = false;
var tabChangeDiscard = 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
ajax request worked. */
/*alert(request);*/
}
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",
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 );
}
}
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",
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;
}
}
loadMenus();
},
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;
}
var submitFormObj = jQuery.ajax({ type: "POST",
url: "content.php",
data: jQuery('#'+formname).serialize(),

Falko Timme
committed
dataType: "html",
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);
}
loadMenus();
},
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",
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",
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",
url: pagename,

Falko Timme
committed
dataType: "html",
beforeSend: function() {
jQuery('#pageContent').html('<div id="ajaxloader"><img src="themes/default/images/ajax-loader.gif" /></div>');
},
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",
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() {
try {
document.pageForm.username.focus();
} catch (e) {
}
}
function loadMenus() {
var sideNavObject = jQuery.ajax({ type: "GET",
url: "nav.php",
data: "nav=side",

Falko Timme
committed
dataType: "html",
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",
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) {
//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((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",
url: pagename,

Falko Timme
committed
dataType: "html",
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",
url: pagename,

Falko Timme
committed
dataType: "html",
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",
url: "keepalive.php",

Falko Timme
committed
dataType: "html",
success: function(data, textStatus, jqXHR) {
setTimeout( keepalive, 1000000 );
},
error: function() {
reportError('Session expired. Please login again.');
},
});
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
//setTimeout( keepalive, 1000000 );
}
var pass_minimum_length = 5;
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;
}
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 = document.getElementById('template_additional').value;
var tpl_list = document.getElementById('template_additional_list').innerHTML;
var addTemplate = document.getElementById('tpl_add_select').value.split('|',2);
var addTplId = addTemplate[0];
var addTplText = addTemplate[1];
526
527
528
529
530
531
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
var newVal = tpl_add + '/' + addTplId + '/';
newVal = newVal.replace('//', '/');
var newList = tpl_list + '<br>' + addTplText;
newList = newList.replace('<br><br>', '<br>');
document.getElementById('template_additional').value = newVal;
document.getElementById('template_additional_list').innerHTML = newList;
alert('additional template ' + addTplText + ' added to customer');
} else {
alert('no additional template selcted');
}
}
function delAdditionalTemplate(){
var tpl_add = document.getElementById('template_additional').value;
if(tpl_add != '') {
var tpl_list = document.getElementById('template_additional_list').innerHTML;
var addTemplate = document.getElementById('tpl_add_select').value.split('|',2);
var addTplId = addTemplate[0];
var addTplText = addTemplate[1];
var newVal = tpl_add;
newVal = newVal.replace(addTplId, '');
newVal = newVal.replace('//', '/');
var newList = tpl_list.replace(addTplText, '');
newList = newList.replace('<br><br>', '<br>');
document.getElementById('template_additional').value = newVal;
document.getElementById('template_additional_list').innerHTML = newList;
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;
}
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(10, false);
jQuery('#'+repeatPasswordFieldID).val(pword);
newPWField.attr('id', passwordFieldID).val(pword).trigger('keyup');
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').attr('onclick','return false;');
return false;
} else {
jQuery('#confirmpasswordError').hide();
jQuery('#confirmpasswordOK').show();
jQuery('button.positive').removeAttr('disabled');
jQuery('.tabbox_tabs ul li a').removeAttr('onclick');
}
}
function getRandomInt(min, max){
return Math.floor(Math.random() * (max - min + 1)) + min;
}

Falko Timme
committed
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
650
651
652
653
654
655
656
657
jQuery('.addPlaceholder').live("click", function(){
var placeholderText = jQuery(this).text();
var template = jQuery(this).siblings(':input');
template.insertAtCaret(placeholderText);
});
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();
}
})
}
});