uses('ini_parser,getconf'); $server_config_array = $app->getconf->get_global_config(); ?> 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);*/ }, registerHook: function(name, callback) { if(!registeredHooks[name]) registeredHooks[name] = new Array(); var newindex = registeredHooks[name].length; registeredHooks[name][newindex] = callback; }, 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); } }, resetFormChanged: function() { pageFormChanged = false; }, showLoadIndicator: function() { document.body.style.cursor = 'wait'; requestsRunning += 1; if(requestsRunning < 2) { var indicator = jQuery('#ajaxloader'); if(indicator.length < 1) { indicator = jQuery(''); 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();}); }); } }, hideLoadIndicator: function() { 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(); } ); } } onAfterSideNavLoaded: function() { $('#sidebar').find("select:not(.chosen-select)").select2({ placeholder: '', width: 'element', selectOnBlur: true, allowClear: true, }); }, onAfterContentLoad: function(url, data) { if(!data) data = ''; else data = '&' + data; $('#pageContent').find("select:not(.chosen-select)").select2({ placeholder: '', width: 'element', selectOnBlur: true, allowClear: true, formatResult: function(o) { if(o.id && $(o.element).parent().hasClass('flags')) return '' + o.text + ''; else return o.text; }, formatSelection: function(o) { if(o.id && $(o.element).parent().hasClass('flags')) return '' + o.text + ''; else return o.text; } }).on('change', function(e) { if (jQuery("#pageForm .table #Filter").length > 0) { jQuery("#pageForm .table #Filter").trigger('click'); } }); /* TODO: find a better way! */ //$('.chosen-select').chosen({no_results_text: "", width: '300px'}); callHook('onAfterContentLoad', {'url': url, 'data': data }); }, /* 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; 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(), 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 { jQuery('#pageContent').html(jqXHR.responseText); onAfterContentLoad('content.php', jQuery('#'+formname).serialize()); pageFormChanged = false; } loadMenus(); hideLoadIndicator(); }, error: function() { hideLoadIndicator(); reportError('Ajax Request was not successful.110'); } }); }, submitForm: function(formname, target, confirmation) { var successMessage = arguments[3]; if(!confirmation) confirmation = false; if(!confirmation || 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); 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'); } }); } }, submitUploadForm: function(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 = '
'+okmsg+'
'; } var errormsg = jQuery('#errorMsg',response).html(); if(errormsg){ msg = msg+'
'+errormsg+'
'; } return msg; }; var frame_id = 'ajaxUploader-iframe-' + Math.round(new Date().getTime() / 1000); jQuery('body').after('