From c27941663bf568a0b49662a38e43a4e972bad47f Mon Sep 17 00:00:00 2001
From: cfoe <cfoe@ispconfig3>
Date: Tue, 07 Aug 2012 02:29:14 -0400
Subject: [PATCH] added support for extended generatePassword function
---
interface/web/js/scrigo.js.php | 160 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 129 insertions(+), 31 deletions(-)
diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index cda82ac..0e3fe68 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -33,18 +33,21 @@
}
}
-function capp(module) {
+function capp(module, redirect) {
var submitFormObj = jQuery.ajax({ type: "GET",
url: "capp.php",
- data: "mod="+module,
+ data: "mod="+module+((redirect != undefined) ? '&redirect='+redirect : ''),
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;
} else {
- alert(jqXHR.responseText);
+ //alert(jqXHR.responseText);
}
}
loadMenus();
@@ -101,7 +104,7 @@
}
-function submitForm(formname,target) {
+function submitForm(formname,target) {
var submitFormObj = jQuery.ajax({ type: "POST",
url: target,
data: jQuery('#'+formname).serialize(),
@@ -130,6 +133,31 @@
*/
}
+function submitFormConfirm(formname,target,confirmation) {
+ if(window.confirm(confirmation)) {
+ var submitFormObj = jQuery.ajax({ type: "POST",
+ url: target,
+ data: jQuery('#'+formname).serialize(),
+ 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 {
+ 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;
@@ -154,15 +182,14 @@
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+'"/>');
- var submitFormObj = jQuery('input[type="file"]').closest("form").attr({target: frame_id, action: target}).submit();
+ 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);
+ jQuery(this).remove();
});
- //jQuery('#'+frame_id).remove();
-
/*
if(redirect != '') {
@@ -176,6 +203,9 @@
var pageContentObject2 = jQuery.ajax({ type: "GET",
url: pagename,
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(':');
@@ -188,9 +218,9 @@
//var reponse = jQuery(jqXHR.responseText);
//var reponseScript = reponse.filter("script");
//jQuery.each(reponseScript, function(idx, val) { eval(val.text); } );
+
jQuery('#pageContent').html(jqXHR.responseText);
}
-
},
error: function() {
reportError('Ajax Request was not successful. 113');
@@ -265,6 +295,12 @@
}
function del_record(link,confirmation) {
+ if(window.confirm(confirmation)) {
+ loadContent(link);
+ }
+}
+
+function confirm_action(link,confirmation) {
if(window.confirm(confirmation)) {
loadContent(link);
}
@@ -493,29 +529,91 @@
return rv;
}
-function loadwebip(elementid,pagename) {
- var pageContentObject2 = jQuery.ajax({ type: "GET",
- url: pagename,
- 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 ruby = document.getElementById('ruby');
- ruby.style.display = 'none';
+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;
+}
+
+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();
+ }
+ })
+ }
+});
--
Gitblit v1.9.1