diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php index 0b12677200aa8b06e16a429348242d7f75d5eb01..fe57834ad0e2a3df789734c3827259315509d502 100644 --- a/interface/lib/classes/plugin_listview.inc.php +++ b/interface/lib/classes/plugin_listview.inc.php @@ -77,6 +77,7 @@ class plugin_listview extends plugin_base { // 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 f90c0559e61541b6ed9057e795f0a1c13e65a830..28b23b01af249cb818c0908fc478f02d90cedf6c 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -115,8 +115,8 @@ class tform_actions { } 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 @@ class tform_actions { } 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 @@ class tform_actions { } //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();