From 2696e12bd643eaca85b9780b1c7d8ec1377df0fb Mon Sep 17 00:00:00 2001
From: latham <latham@ispconfig3>
Date: Fri, 04 Nov 2011 09:57:16 -0400
Subject: [PATCH] This will sort the modules by alpha before the dashboard is pushed to the front.  This patch keeps the menu tabs stable instead of different on each user. Logging in as an admin, reseller, and user would show the tabs in different order each time do to user creation.

---
 interface/web/js/scrigo.js.php |  431 +++++++++++++++++++++++++----------------------------
 1 files changed, 204 insertions(+), 227 deletions(-)

diff --git a/interface/web/js/scrigo.js.php b/interface/web/js/scrigo.js.php
index f1d4829..94b7075 100644
--- a/interface/web/js/scrigo.js.php
+++ b/interface/web/js/scrigo.js.php
@@ -16,64 +16,46 @@
 }
 
 function loadContentRefresh(pagename) {
-	var pageContentCallbackRefresh = {
-		success: function(o) {
-			document.getElementById('pageContent').innerHTML = o.responseText;
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful.'+pagename);
-		}
-	}
 	
   if(document.getElementById('refreshinterval').value > 0) {
-  	var pageContentObject2 = YAHOO.util.Connect.asyncRequest('GET', pagename+"&refresh="+document.getElementById('refreshinterval').value, pageContentCallbackRefresh);
+	var pageContentObject2 = jQuery.ajax({	type: "GET", 
+											url: pagename,
+											data: "refresh="+document.getElementById('refreshinterval').value,
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												jQuery('#pageContent').html(jqXHR.responseText);
+											},
+											error: function() {
+												reportError('Ajax Request was not successful.'+pagename);
+											},
+										});
   	setTimeout( "loadContentRefresh('"+pagename+"&refresh="+document.getElementById('refreshinterval').value+"')", document.getElementById('refreshinterval').value*1000 );
   }
 }
 
 function capp(module) {
-	var cappCallback = {
-		success: function(o) {
-			if(o.responseText != '') {
-				if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-					var parts = o.responseText.split(':');
-					loadContent(parts[1]);
-				} else {
-					alert(o.responseText);
-				}
-			}
-			loadMenus();
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful.'+module);
-		}
-	}
-	var submitFormObj = YAHOO.util.Connect.asyncRequest('GET', 'capp.php?mod='+module, cappCallback);
+	var submitFormObj = jQuery.ajax({		type: "GET", 
+											url: "capp.php", 
+											data: "mod="+module,
+											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 {
+														alert(jqXHR.responseText);
+													}
+												}
+												loadMenus();
+											},
+											error: function() {
+												reportError('Ajax Request was not successful.'+module);
+											},
+									});
 }
 
 function submitLoginForm(formname) {
-	
-	var submitFormCallback = {
-		success: function(o) {
-			if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-				var parts = o.responseText.split(':');
-				//alert(parts[1]);
-				loadContent(parts[1]);
-				//redirect = parts[1];
-				//window.setTimeout('loadContent(redirect)', 1000);
-			} else if (o.responseText.indexOf('LOGIN_REDIRECT:') > -1) {
-				// Go to the login page
-				document.location.href = 'index.php';
-			} else {
-				document.getElementById('pageContent').innerHTML = o.responseText;
-			}
-			loadMenus();
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful.110');
-		}
-	}
-	
     //* Validate form. TODO: username and password with strip();
     var frm = document.getElementById(formname);
     var userNameObj = frm.username;
@@ -86,8 +68,29 @@
         passwordObj.focus();
         return;
     }   
-	YAHOO.util.Connect.setForm(formname);
-	var submitFormObj = YAHOO.util.Connect.asyncRequest('POST', 'content.php', submitFormCallback);
+	var submitFormObj = jQuery.ajax({		type: "POST", 
+											url: "content.php",
+											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 if (jqXHR.responseText.indexOf('LOGIN_REDIRECT:') > -1) {
+													// Go to the login page
+													document.location.href = 'index.php';
+												} else {
+													jQuery('#pageContent').html(jqXHR.responseText);
+												}
+												loadMenus();
+											},
+											error: function() {
+												reportError('Ajax Request was not successful.110');
+											},
+									});
 	/*
 	if(redirect != '') {
 		loadContent(redirect);
@@ -99,27 +102,26 @@
 }
 
 function submitForm(formname,target) {
-	
-	var submitFormCallback = {
-		success: function(o) {
-			if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-				var parts = o.responseText.split(':');
-				//alert(parts[1]);
-				loadContent(parts[1]);
-				//redirect = parts[1];
-				//window.setTimeout('loadContent(redirect)', 1000);
-			} else {
-				document.getElementById('pageContent').innerHTML = o.responseText;
-			}
-		},
-		failure: function(o) {
-			var parts = o.responseText.split(':');
-			reportError('Ajax Request was not successful. 111');
-		}
-	}
-	
-	YAHOO.util.Connect.setForm(formname);
-	var submitFormObj = YAHOO.util.Connect.asyncRequest('POST', target, submitFormCallback);
+	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');
+											},
+									});
 	/*
 	if(redirect != '') {
 		loadContent(redirect);
@@ -128,38 +130,39 @@
 	*/
 }
 
-function submitUploadForm(formname,target) {
-	
-	var submitFormCallback = {
-		success: function(o) {
-			if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-				var parts = o.responseText.split(':');
-				//alert(parts[1]);
-				loadContent(parts[1]);
-				//redirect = parts[1];
-				//window.setTimeout('loadContent(redirect)', 1000);
-			} else {
-				document.getElementById('pageContent').innerHTML = o.responseText;
-			}
-		},
-		upload: function(o) {
-        	if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-				var parts = o.responseText.split(':');
-				//alert(parts[1]);
-				loadContent(parts[1]);
-				//redirect = parts[1];
-				//window.setTimeout('loadContent(redirect)', 1000);
-			} else {
-				document.getElementById('pageContent').innerHTML = o.responseText;
-			}
-        },
-		failure: function(o) {
-			reportError('Ajax Request was not successful. 112');
+function submitUploadForm(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 = '<div id="OKMsg">'+okmsg+'</div>';
+		}
+		var errormsg = jQuery('#errorMsg',response).html();
+		if(errormsg){
+			msg = msg+'<div id="errorMsg">'+errormsg+'</div>';
+		}
+		return msg;
+		
+    };
 	
-	YAHOO.util.Connect.setForm(formname,true);
-	var submitFormObj = YAHOO.util.Connect.asyncRequest('POST', target, submitFormCallback);
+	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+'"/>');
+	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();
+      });
+
 	/*
 	if(redirect != '') {
 		loadContent(redirect);
@@ -169,58 +172,49 @@
 }
 
 function loadContent(pagename) {
-	var pageContentCallback2 = {
-		success: function(o) {
-			if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-				var parts = o.responseText.split(':');
-				loadContent(parts[1]);
-			} else if (o.responseText.indexOf('URL_REDIRECT:') > -1) {
-				var newUrl= o.responseText.substr(o.responseText.indexOf('URL_REDIRECT:') + "URL_REDIRECT:".length);
-				document.location.href = newUrl;
-			} else {
-				document.getElementById('pageContent').innerHTML = o.responseText;
-			}
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful. 113');
-		}
-	}
-	
-
-  var pageContentObject2 = YAHOO.util.Connect.asyncRequest('GET', pagename, pageContentCallback2);
+  var pageContentObject2 = jQuery.ajax({	type: "GET", 
+											url: pagename,
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												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 {
+													//document.getElementById('pageContent').innerHTML = jqXHR.responseText;
+													//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');
+											},
+									});
 }
 
 
 function loadInitContent() {
-
-  var pageContentCallback = {
-		success: function(o) {
-			if(o.responseText.indexOf('HEADER_REDIRECT:') > -1) {
-				var parts = o.responseText.split(":");
-				loadContent(parts[1]);
-			} else {
-				document.getElementById('pageContent').innerHTML = o.responseText;
-			}
-			
-			/*
-			var items = document.getElementsByTagName('input');
-			for(i=0;i<items.length;i++) {
-				//var oButton = new YAHOO.widget.Button(items[i].id);
-				if(items[i].type == 'button') {
-					//alert(items[i].id);
-					var oButton = new YAHOO.widget.Button(items[i].id);
-					oButton.addListener("click",submitLoginForm);
-				}
-			}
-			//var oButton = new YAHOO.widget.Button("submit");
-			*/
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful. 114');
-		}
-	}
-	
-  var pageContentObject = YAHOO.util.Connect.asyncRequest('GET', 'content.php?s_mod=login&s_pg=index', pageContentCallback);
+	var pageContentObject = jQuery.ajax({	type: "GET", 
+											url: "content.php",
+											data: "s_mod=login&s_pg=index",
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												if(jqXHR.responseText.indexOf('HEADER_REDIRECT:') > -1) {
+													var parts = jqXHR.responseText.split(":");
+													loadContent(parts[1]);
+												} else {
+													jQuery('#pageContent').html(jqXHR.responseText);
+												}
+											},
+											error: function() {
+												reportError('Ajax Request was not successful. 114');
+											},
+										});
   
   loadMenus();
   keepalive();
@@ -229,24 +223,6 @@
 }
 
 function setFocus() {
-/*
-	var flag=false;
-		for(z=0;z<document.forms.length;z++) {
-			var form = document.forms[z];
-			var elements = form.elements;
-			for (var i=0;i<elements.length;i++) {
-				var element = elements[i];
-				if(element.type == 'text' &&
-					!element.readOnly &&
-					!element.disabled) {
-						element.focus();
-						flag=true;
-						break;
-					}
-			}
-			if(flag)break;
-		}
-*/
 	try {
 		document.pageForm.username.focus();
 	} catch (e) {
@@ -255,28 +231,29 @@
 
 
 function loadMenus() {
+  var sideNavObject = jQuery.ajax({			type: "GET", 
+											url: "nav.php",
+											data: "nav=side",
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												jQuery('#sideNav').html(jqXHR.responseText);
+											},
+											error: function() {
+												reportError('Ajax Request was not successful. 115');
+											},
+									});
 	
-	var sideNavCallback = {
-		success: function(o) {
-			document.getElementById('sideNav').innerHTML = o.responseText;
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful. 115');
-		}
-	}
-	
-  var sideNavObject = YAHOO.util.Connect.asyncRequest('GET', 'nav.php?nav=side', sideNavCallback);
-	
-	var topNavCallback = {
-		success: function(o) {
-			document.getElementById('topNav').innerHTML = o.responseText;
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful. 116');
-		}
-	}
-	
-  var topNavObject = YAHOO.util.Connect.asyncRequest('GET', 'nav.php?nav=top', topNavCallback);
+  var topNavObject = jQuery.ajax({			type: "GET", 
+											url: "nav.php",
+											data: "nav=top",
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												jQuery('#topNav').html(jqXHR.responseText);
+											},
+											error: function(o) {
+												reportError('Ajax Request was not successful. 116');
+											},
+								});
 
 }
 
@@ -293,52 +270,52 @@
 }
 
 function loadContentInto(elementid,pagename) {
-	var itemContentCallback = {
-		success: function(o) {
-			document.getElementById(elementid).innerHTML = o.responseText;
-		},
-		failure: function(o) {
-			reportError('Ajax Request was not successful. 118');
-		}
-	}
-	
-
-  var pageContentObject2 = YAHOO.util.Connect.asyncRequest('GET', pagename, itemContentCallback);
+  var pageContentObject2 = jQuery.ajax({	type: "GET", 
+											url: pagename,
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												jQuery('#'+elementid).html(jqXHR.responseText);
+											},
+											error: function() {
+												reportError('Ajax Request was not successful. 118');
+											},
+										});
 }
 
 function loadOptionInto(elementid,pagename) {
-	var itemContentCallback = {
-		success: function(o) {
-			var teste = o.responseText;
-			var elemente = teste.split('#');
-			el=document.getElementById(elementid);
-			el.innerHTML='';
-			for (var i = 0; i < elemente.length; ++i){
+	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);
-			}
-		},
-		failure: function(o) {
-		reportError('Ajax Request was not successful. 119');
-		}
-	}
-	var pageContentObject2 = YAHOO.util.Connect.asyncRequest('GET', pagename, itemContentCallback);
+													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');
+											},
+										});
 }
 
 function keepalive() {
-	var pageContentCallbackKeepalive = {
-		success: function(o) {
-			setTimeout( keepalive, 1000000 );
-		},
-		failure: function(o) {
-			reportError('Session expired. Please login again.');
-		}
-	}
-	
-  	var pageContentObject3 = YAHOO.util.Connect.asyncRequest('GET', 'keepalive.php', pageContentCallbackKeepalive);
+	var pageContentObject3 = jQuery.ajax({	type: "GET", 
+											url: "keepalive.php",
+											dataType: "html",
+											success: function(data, textStatus, jqXHR) {
+												setTimeout( keepalive, 1000000 );
+											},
+											error: function() {
+												reportError('Session expired. Please login again.');
+											},
+										});
   	//setTimeout( keepalive, 1000000 );
 }
 

--
Gitblit v1.9.1