From 4569cae57f127afd093794310ccd290d2d9fdf36 Mon Sep 17 00:00:00 2001 From: Marius Burkard <m.burkard@pixcept.de> Date: Wed, 20 Apr 2016 10:58:46 -0400 Subject: [PATCH] Merge branch 'stable-3.1' --- interface/web/themes/default/assets/javascripts/ispconfig.js | 105 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 89 insertions(+), 16 deletions(-) diff --git a/interface/web/themes/default/assets/javascripts/ispconfig.js b/interface/web/themes/default/assets/javascripts/ispconfig.js index 2db94df..21c8c1b 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) { @@ -352,10 +364,12 @@ }, loadInitContent: function() { + var startpage = $('#pageContent').attr('data-startpage'); + if(!startpage) startpage = 'dashboard/dashboard.php'; var pageContentObject = $.ajax({ type: "GET", - url: "content.php", - data: "s_mod=login&s_pg=index", + url: startpage, + data: "", dataType: "html", beforeSend: function() { ISPConfig.showLoadIndicator(); @@ -366,7 +380,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 +619,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 +629,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 +639,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'); @@ -638,9 +657,9 @@ $("#pageForm .table #Filter").trigger('click'); } //Use $ submit with keypress Enter in forms - if (event.which == '13' && $(".pnl_formsarea button.positive").length > 0 && event.target.localName != 'textarea' && $(event.target).is(':input')) { + if (event.which == '13' && $(".tab-content button.formbutton-success").length > 0 && event.target.localName != 'textarea' && $(event.target).is(':input')) { event.preventDefault(); - $(".pnl_formsarea button.positive:first").not("[disabled='disabled']").trigger('click'); + $(".tab-content button.formbutton-success").not("[disabled='disabled']").trigger('click'); } }); @@ -684,6 +703,29 @@ var template2 = $(this).siblings(':input'); template2.insertAtCaret(placeholderContentText); }); + +$(document).on("click", "[data-check-fields] > input[type='checkbox']", function() { + if($(this).is(':checked')) { + var flds = $(this).parent().attr('data-check-fields'); + var tmp = flds.split(/,/); + for(var i = 0; i < tmp.length; i++) { + var fname = tmp[i]; + $('input[type="checkbox"][name="' + fname + '"]').prop('checked', true); + } + } +}); + +$(document).on("click", "[data-uncheck-fields] > input[type='checkbox']", function() { + if($(this).is(':checked') == false) { + var flds = $(this).parent().attr('data-uncheck-fields'); + var tmp = flds.split(/,/); + for(var i = 0; i < tmp.length; i++) { + var fname = tmp[i]; + $('input[type="checkbox"][name="' + fname + '"]').prop('checked', false); + } + } +}); + $(document).on('ready', function () { $.fn.extend({ @@ -730,4 +772,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