From 775e53a5d7d5485879b6af01d4358cbaff48babe Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 24 Nov 2005 11:55:28 -0500
Subject: [PATCH] Fixed bug in tform_actions

---
 interface/lib/classes/tform_actions.inc.php   |   12 ++++++------
 interface/lib/classes/plugin_listview.inc.php |    1 +
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php
index 0b12677..fe57834 100644
--- a/interface/lib/classes/plugin_listview.inc.php
+++ b/interface/lib/classes/plugin_listview.inc.php
@@ -77,6 +77,7 @@
                 // Setting Returnto information in the session
                 $list_name = $app->listform->listDef["name"];
                 $_SESSION["s"]["list"][$list_name]["parent_id"] = $app->tform_actions->id;
+				$_SESSION["s"]["list"][$list_name]["parent_name"] = $app->tform->formDef["name"];
                 $_SESSION["s"]["list"][$list_name]["parent_tab"] = $_SESSION["s"]["form"]["tab"];
                 $_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"];
                 $_SESSION["s"]["form"]["return_to"] = $list_name;
diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index f90c055..28b23b0 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -115,8 +115,8 @@
                         }
 
                         if($_REQUEST["next_tab"] == '') {
-                                if($_SESSION["s"]["form"]["return_to"] != '') {
-                                        $list_name = $_SESSION["s"]["form"]["return_to"];
+                                $list_name = $_SESSION["s"]["form"]["return_to"];
+								if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
                                         $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
                                         $_SESSION["s"]["form"]["return_to"] = '';
                                         session_write_close();
@@ -153,8 +153,8 @@
                         }
 
                         if($_REQUEST["next_tab"] == '') {
-                            if($_SESSION["s"]["form"]["return_to"] != '') {
-                                        $list_name = $_SESSION["s"]["form"]["return_to"];
+                            $list_name = $_SESSION["s"]["form"]["return_to"];
+								if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
                                         $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
                                         $_SESSION["s"]["form"]["return_to"] = '';
                                         session_write_close();
@@ -236,8 +236,8 @@
                 }
 
                 //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
-                if($_SESSION["s"]["form"]["return_to"] != '') {
-                        $list_name = $_SESSION["s"]["form"]["return_to"];
+                $list_name = $_SESSION["s"]["form"]["return_to"];
+				if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_id"] != $this->id && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
                         $redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
                         $_SESSION["s"]["form"]["return_to"] = '';
                         session_write_close();

--
Gitblit v1.9.1