Forráskód Böngészése

Started work on redirect from error page - #896

causefx 7 éve
szülő
commit
fe0f04487d
2 módosított fájl, 24 hozzáadás és 1 törlés
  1. 3 0
      api/functions/organizr-functions.php
  2. 21 1
      js/functions.js

+ 3 - 0
api/functions/organizr-functions.php

@@ -62,6 +62,9 @@ function organizrSpecialSettings()
 		),
 		'user' => array(
 			'agent' => isset($_SERVER ['HTTP_USER_AGENT']) ? $_SERVER ['HTTP_USER_AGENT'] : null
+		),
+		'misc' => array(
+			'return' => isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : false,
 		)
 	);
 }

+ 21 - 1
js/functions.js

@@ -2253,17 +2253,24 @@ $.urlParam = function(name){
        return decodeURI(results[1]) || 0;
     }
 };
-function errorPage(error=null){
+function errorPage(error=null,uri=null){
 	if(error){
 		local('set','error',error);
 	}
+    if(uri){
+        local('set','uri',uri);
+    }
 	//var urlParams = new URLSearchParams(window.location.search);
 	if($.urlParam('error') !== null){
 		local('set','error',$.urlParam('error'));
 	}
+    if($.urlParam('return') !== null){
+        local('set','uri',$.urlParam('return'));
+    }
 	if ( window.location !== window.parent.location ) {
 		var iframeError = local('get', 'error');
 		parent.errorPage(iframeError);
+        local('remove', 'uri');
 		$('html').html('');
 	  	return false;
 	}
@@ -2276,6 +2283,18 @@ function errorPage(error=null){
 	}
 
 }
+function uriRedirect(uri=null){
+    if(uri){
+        local('set','uri',uri);
+    }
+    if(activeInfo.user.loggedin === true){
+        var redirect = local('get', 'uri');
+        local('remove', 'uri');
+        if(redirect !== null){
+            window.location.href = redirect;
+        }
+    }
+}
 function changeTheme(theme){
 	//$("#preloader").fadeIn();
 	$('#theme').attr({
@@ -4528,6 +4547,7 @@ function launch(){
 		defineNotification();
 		checkMessage();
 		errorPage();
+		uriRedirect();
 		changeStyle(activeInfo.style);
 		changeTheme(activeInfo.theme);
 		setSSO();