From a7796bec1be01b51f400e9a3a698535b12b636aa Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Thu, 11 Feb 2016 13:44:27 -0500 Subject: [PATCH] Merge branch 'stable-3.1' --- interface/web/themes/default/assets/javascripts/ispconfig.js | 76 +++++++++++++++++++++++++++++++------- 1 files changed, 62 insertions(+), 14 deletions(-) diff --git a/interface/web/themes/default/assets/javascripts/ispconfig.js b/interface/web/themes/default/assets/javascripts/ispconfig.js index 2db94df..b9ebee4 100644 --- a/interface/web/themes/default/assets/javascripts/ispconfig.js +++ b/interface/web/themes/default/assets/javascripts/ispconfig.js @@ -11,7 +11,7 @@ options: { useLoadIndicator: false, - useComboBox: false, + useComboBox: false }, setOption: function(key, value) { @@ -91,7 +91,7 @@ placeholder: '', width: 'element', selectOnBlur: true, - allowClear: true, + allowClear: true }); } }, @@ -143,7 +143,7 @@ }, /* THIS ONE SHOULD BE REMOVED AFTER CREATING THE STATIC LOGIN PAGE!!! */ - submitLoginForm: function(formname) { + /*submitLoginForm: function(formname) { //* Validate form. TODO: username and password with strip(); var frm = document.getElementById(formname); var userNameObj = frm.username; @@ -189,7 +189,7 @@ ISPConfig.reportError('Ajax Request was not successful.110'); } }); - }, + },*/ submitForm: function(formname, target, confirmation) { var successMessage = arguments[3]; @@ -209,6 +209,9 @@ if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) { var parts = jqXHR.responseText.split(':'); ISPConfig.loadContent(parts[1]); + } else if (jqXHR.responseText.indexOf('LOGIN_REDIRECT:') > -1) { + // Go to the login page + document.location.href = '/index.php'; } else { $('#pageContent').html(jqXHR.responseText); ISPConfig.onAfterContentLoad(target, $('#'+formname).serialize()); @@ -234,29 +237,38 @@ } catch(e) { response = responseStr; } + var $response = $('<div></div>').html(response); var msg = ''; - var okmsg = $('#OKMsg',response).html(); + var okmsg = $response.find('#OKMsg').html(); if(okmsg){ msg = '<div id="OKMsg">'+okmsg+'</div>'; } - var errormsg = $('#errorMsg',response).html(); + var errormsg = $response.find('#errorMsg').html(); if(errormsg){ msg = msg+'<div id="errorMsg">'+errormsg+'</div>'; } + + var csrf_key = $response.find('input[name="_csrf_key"]').val(); + var csrf_id = $response.find('input[name="_csrf_id"]').val(); + + msg = msg + '<input type="hidden" name="_csrf_id" value="' + csrf_id + '" /><input type="hidden" name="_csrf_key" value="' + csrf_key + '" />'; + return msg; }; var frame_id = 'ajaxUploader-iframe-' + Math.round(new Date().getTime() / 1000); - $('body').after('<iframe width="0" height="0" style="display:none;" name="'+frame_id+'" id="'+frame_id+'"/>'); - $('input[type="file"]').closest("form").attr({target: frame_id, action: target}).submit(); + $('body').append('<iframe width="0" height="0" style="display:none;" name="'+frame_id+'" id="'+frame_id+'"/>'); $('#'+frame_id).load(function() { var msg = handleResponse(this); $('#errorMsg').remove(); $('#OKMsg').remove(); + $('input[name="_csrf_key"]').remove(); + $('input[name="_csrf_id"]').remove(); $('input[name="id"]').before(msg); $(this).remove(); }); + $('input[type="file"]').closest("form").attr({target: frame_id, action: target}).submit(); }, capp: function(module, redirect) { @@ -354,8 +366,8 @@ loadInitContent: function() { var pageContentObject = $.ajax({ type: "GET", - url: "content.php", - data: "s_mod=login&s_pg=index", + url: "dashboard/dashboard.php", + data: "", dataType: "html", beforeSend: function() { ISPConfig.showLoadIndicator(); @@ -366,7 +378,7 @@ ISPConfig.loadContent(parts[1]); } else { $('#pageContent').html(jqXHR.responseText); - ISPConfig.onAfterContentLoad('content.php', "s_mod=login&s_pg=index"); + ISPConfig.onAfterContentLoad('dashboard/dashboard.php', ""); ISPConfig.pageFormChanged = false; } ISPConfig.hideLoadIndicator(); @@ -605,7 +617,9 @@ }); $(document).on('click', 'a[data-load-content],button[data-load-content]', function(e) { - //e.preventDefault(); + e.preventDefault(); + $('html, body').animate({scrollTop: 0}, 1000); + var content_to_load = $(this).attr('data-load-content'); if(!content_to_load) return this; @@ -613,7 +627,9 @@ }); $(document).on('click', 'a[data-capp],button[data-capp]', function(e) { - //e.preventDefault(); + e.preventDefault(); + $('html, body').animate({scrollTop: 0}, 1000); + var content_to_load = $(this).attr('data-capp'); if(!content_to_load) return this; @@ -621,7 +637,8 @@ }); $(document).on('click', 'a[data-submit-form],button[data-submit-form]', function(e) { - //e.preventDefault(); + e.preventDefault(); + $('html, body').animate({scrollTop: 0}, 1000); var $el = $(this); var act = $el.attr('data-form-action'); @@ -730,4 +747,35 @@ e.preventDefault(); } }); + + $.fn.setCursorPosition = function(pos) { + var self = $(this).get(0); + if(self.setSelectionRange) { + self.setSelectionRange(pos, pos); + } else if(self.createTextRange) { + var range = self.createTextRange(); + range.collapse(true); + if(pos < 0) { + pos = $(this).val().length + pos; + } + range.moveEnd('character', pos); + range.moveStart('character', pos); + range.select(); + } + }; + + $.fn.getCursorPosition = function() { + var iCaretPos = 0; + var self = $(this).get(0); + + if(typeof self.selectionStart === 'number') { + iCaretPos = self.selectionDirection == 'backward' ? self.selectionStart : self.selectionEnd; + } else if(document.selection) { + this.focus(); + var oSel = document.selection.createRange(); + oSel.moveStart('character', -self.value.length); + iCaretPos = oSel.text.length; + } + return iCaretPos; + }; }); -- Gitblit v1.9.1