Marius Cramer
2015-01-13 2d0ebade46d8a5942adb3e2ce816840a6ae16c1e
interface/web/js/scrigo.js.php
@@ -8,45 +8,47 @@
$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;
var registeredHooks = new Array();
redirect = '';
function reportError(request) {
var ISPConfig = {
   pageFormChanged: false,
   tabChangeWarningTxt: '',
   tabChangeDiscardTxt: '',
   tabChangeWarning: false,
   tabChangeDiscard: false,
   requestsRunning: 0,
   indicatorPaddingH: -1,
   indicatorPaddingW: -1,
   indicatorCompleted: false,
   registeredHooks: new Array(),
   redirect: '',
   reportError: function(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 registerHook(name, callback) {
   registerHook: function(name, callback) {
    if(!registeredHooks[name]) registeredHooks[name] = new Array();
    var newindex = registeredHooks[name].length;
    registeredHooks[name][newindex] = callback;
}
   },
function callHook(name, params) {
   callHook: function(name, params) {
    if(!registeredHooks[name]) return;
    for(var i = 0; i < registeredHooks[name].length; i++) {
        var callback = registeredHooks[name][i];
        callback(name, params);
    }
}
   },
function resetFormChanged() {
   resetFormChanged: function() {
    pageFormChanged = false;
}
   },
function showLoadIndicator() {
   showLoadIndicator: function() {
    document.body.style.cursor = 'wait';
<?php
@@ -75,9 +77,9 @@
<?php
}
?>
}
   },
function hideLoadIndicator() {
   hideLoadIndicator: function() {
    document.body.style.cursor = '';
    requestsRunning -= 1;
@@ -87,7 +89,7 @@
    }
}
function onAfterSideNavLoaded() {
   onAfterSideNavLoaded: function() {
   <?php
if($server_config_array['misc']['use_combobox'] == 'y'){
?>
@@ -100,10 +102,9 @@
<?php
}
?>
   },
}
function onAfterContentLoad(url, data) {
   onAfterContentLoad: function(url, data) {
    if(!data) data = '';
    else data = '&' + data;
<?php
@@ -135,64 +136,10 @@
}
?>
    callHook('onAfterContentLoad', {'url': url, 'data': data });
}
function loadContentRefresh(pagename) {
  if(document.getElementById('refreshinterval').value > 0) {
   var pageContentObject2 = jQuery.ajax({   type: "GET",
                                 url: pagename,
                                 data: "refresh="+document.getElementById('refreshinterval').value,
                                 dataType: "html",
                                 beforeSend: function() {
                                    showLoadIndicator();
                                 },
                                 success: function(data, textStatus, jqXHR) {
                                                hideLoadIndicator();
                                    jQuery('#pageContent').html(jqXHR.responseText);
                                                onAfterContentLoad(pagename, "refresh="+document.getElementById('refreshinterval').value);
                                                pageFormChanged = false;
                                 },
                                 error: function() {
                                                hideLoadIndicator();
                                    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 : ''),
                                 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;
                                       } else {
                                          //alert(jqXHR.responseText);
                                       }
                                    }
                                    loadMenus();
                                                hideLoadIndicator();
                                 },
                                 error: function() {
                                                hideLoadIndicator();
                                    reportError('Ajax Request was not successful.'+module);
                                 }
                           });
}
function submitLoginForm(formname) {
   /* THIS ONE SHOULD BE REMOVED AFTER CREATING THE STATIC LOGIN PAGE!!! */
   submitLoginForm: function(formname) {
    //* Validate form. TODO: username and password with strip();
    var frm = document.getElementById(formname);
    var userNameObj = frm.username;
@@ -210,7 +157,8 @@
   $('#dummy_passwort').val(passwordObj.value);
   $('#dummy_login_form').submit();
   var submitFormObj = jQuery.ajax({      type: "POST",
      var submitFormObj = jQuery.ajax({
         type: "POST",
                                 url: "content.php",
                                 data: jQuery('#'+formname).serialize(),
                                 dataType: "html",
@@ -240,56 +188,15 @@
                                    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(),
                                 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 {
                                       jQuery('#pageContent').html(jqXHR.responseText);
                                                    onAfterContentLoad(target, jQuery('#'+formname).serialize());
                                                    pageFormChanged = false;
                                    }
                                                hideLoadIndicator();
                                 },
                                 error: function(jqXHR, textStatus, errorThrown) {
                                                hideLoadIndicator();
                                    var parts = jqXHR.responseText.split(':');
                                    reportError('Ajax Request was not successful. 111');
                                 }
                           });
   /*
   if(redirect != '') {
      loadContent(redirect);
      redirect = '';
   }
   */
}
function submitFormConfirm(formname,target,confirmation) {
   submitForm: function(formname, target, confirmation) {
   var successMessage = arguments[3];
   if(window.confirm(confirmation)) {
      var submitFormObj = jQuery.ajax({   type: "POST",
      if(!confirmation) confirmation = false;
      if(!confirmation || window.confirm(confirmation)) {
         var submitFormObj = jQuery.ajax({
            type: "POST",
                                 url: target,
                                 data: jQuery('#'+formname).serialize(),
                                 dataType: "html",
@@ -318,9 +225,9 @@
                                 }
                           });
   }
}
   },
function submitUploadForm(formname,target) {
   submitUploadForm: function(formname, target) {
   var handleResponse = function(loadedFrame) {
      var response, responseStr = loadedFrame.contentWindow.document.body.innerHTML;
@@ -352,18 +259,43 @@
      jQuery('input[name="id"]').before(msg);
      jQuery(this).remove();
      });
   },
   /*
   if(redirect != '') {
      loadContent(redirect);
      redirect = '';
   function capp(module, redirect) {
      var submitFormObj = jQuery.ajax({
         type: "GET",
         url: "capp.php",
         data: "mod="+module+((redirect != undefined) ? '&redirect='+redirect : ''),
         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;
               } else {
                  //alert(jqXHR.responseText);
   }
   */
}
            loadMenus();
            hideLoadIndicator();
         },
         error: function() {
            hideLoadIndicator();
            reportError('Ajax Request was not successful.'+module);
         }
      });
   },
function loadContent(pagename) {
   loadContent: function(pagename) {
  var params = arguments[1];
  var pageContentObject2 = jQuery.ajax({   type: "GET",
      var pageContentObject2 = jQuery.ajax({
         type: "GET",
                                 url: pagename,
                                            data: (params ? params : null),
                                 dataType: "html",
@@ -394,11 +326,37 @@
                                    reportError('Ajax Request was not successful. 113');
                                 }
                           });
   },
   loadContentRefresh: function(pagename) {
      if($('#refreshinterval').val() > 0) {
         var pageContentObject2 = jQuery.ajax({
            type: "GET",
            url: pagename,
            data: "refresh="+document.getElementById('refreshinterval').value,
            dataType: "html",
            beforeSend: function() {
               showLoadIndicator();
            },
            success: function(data, textStatus, jqXHR) {
               hideLoadIndicator();
               jQuery('#pageContent').html(jqXHR.responseText);
               onAfterContentLoad(pagename, "refresh="+document.getElementById('refreshinterval').value);
               pageFormChanged = false;
            },
            error: function() {
               hideLoadIndicator();
               reportError('Ajax Request was not successful.'+pagename);
}
         });
         setTimeout( "ISPConfig.loadContentRefresh('"+pagename+"&refresh="+document.getElementById('refreshinterval').value+"')", document.getElementById('refreshinterval').value*1000*60 );
      }
   },
function loadInitContent() {
   var pageContentObject = jQuery.ajax({   type: "GET",
   loadInitContent: function() {
      var pageContentObject = jQuery.ajax({
         type: "GET",
                                 url: "content.php",
                                 data: "s_mod=login&s_pg=index",
                                 dataType: "html",
@@ -424,20 +382,18 @@
  loadMenus();
  keepalive();
  setTimeout("setFocus()",1000);
}
function setFocus() {
      setTimeout(function() {
   try {
      jQuery('form#pageForm').find('input[name="username"]').focus();
   } catch (e) {
   }
}
         }
      }, 1000);
   },
function loadMenus() {
  var sideNavObject = jQuery.ajax({         type: "GET",
   loadMenus: function() {
      var sideNavObject = jQuery.ajax({
         type: "GET",
                                 url: "nav.php",
                                 data: "nav=side",
                                 dataType: "html",
@@ -456,7 +412,8 @@
                                 }
                           });
  var topNavObject = jQuery.ajax({         type: "GET",
      var topNavObject = jQuery.ajax({
         type: "GET",
                                 url: "nav.php",
                                 data: "nav=top",
                                 dataType: "html",
@@ -473,13 +430,11 @@
                                    reportError('Ajax Request was not successful. 116');
                                 }
                        });
   },
}
function changeTab(tab,target,force) {
   changeTab: function(tab, target, force) {
   if(requestsRunning > 0) return false;
   
   //document.forms[0].next_tab.value = tab;
   document.pageForm.next_tab.value = tab;
    var idel = jQuery('form#pageForm').find('[name="id"]');
@@ -506,7 +461,7 @@
            submitForm('pageForm',target);
        }
    }
}
   },
function del_record(link,confirmation) {
  if(window.confirm(confirmation)) {