diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php index b6bea100750c6d0b9cfbdd3612961c0ea2f8c476..8cde0b7a7f665a8eb2e361155e26d54c34dd74f5 100644 --- a/interface/lib/classes/plugin_listview.inc.php +++ b/interface/lib/classes/plugin_listview.inc.php @@ -73,6 +73,13 @@ class plugin_listview extends plugin_base { $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$app->listform->listDef['name']."_list.lng"; include($lng_file); $listTpl->setVar($wb); + + // 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_tab"] = $_SESSION["s"]["form"]["tab"]; + $_SESSION["s"]["list"][$list_name]["parent_script"] = $app->tform->formDef["action"]; + $_SESSION["s"]["form"]["return_to"] = $list_name; return $listTpl->grab(); diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index 74d7de9b0865b6b6e9d36176dafb014198fea246..7d4095618a96e3caf6b8faefee571c165b0e3e76 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -115,7 +115,14 @@ class tform_actions { } if($_REQUEST["next_tab"] == '') { - header("Location: ".$app->tform->formDef['list_default']); + if($_SESSION["s"]["form"]["return_to"] != '') { + $list_name = $_SESSION["s"]["form"]["return_to"]; + $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"]; + unset($_SESSION["s"]["form"]["return_to"]); + header($redirect); + } else { + header("Location: ".$app->tform->formDef['list_default']); + } exit; } else { $this->onShow(); @@ -145,7 +152,14 @@ class tform_actions { } if($_REQUEST["next_tab"] == '') { - header("Location: ".$app->tform->formDef['list_default']); + if($_SESSION["s"]["form"]["return_to"] != '') { + $list_name = $_SESSION["s"]["form"]["return_to"]; + $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"]; + unset($_SESSION["s"]["form"]["return_to"]); + header($redirect); + } else { + header("Location: ".$app->tform->formDef['list_default']); + } exit; } else { $this->onShow(); diff --git a/interface/web/sites/mail_box_edit.php b/interface/web/sites/mail_box_edit.php index 715964f23953b3eca17534446fa6c8f61ab7c87f..e01137aaecd9d4c2a4a2bbf055f14367dc1d79bc 100644 --- a/interface/web/sites/mail_box_edit.php +++ b/interface/web/sites/mail_box_edit.php @@ -51,6 +51,8 @@ if(!stristr($_SESSION["s"]["user"]["modules"],$_SESSION["s"]["module"]["name"])) $app->uses('tpl,tform,tform_actions'); $app->load('tform_actions'); +die(print_r($_SESSION)); + class page_action extends tform_actions { function onShowEnd() {