From a01f0ec2151f4213d5a17b138909dd79a23ae4d2 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 24 Nov 2005 15:04:27 +0000 Subject: [PATCH] added return to infos for lists --- interface/lib/classes/plugin_listview.inc.php | 7 +++++++ interface/lib/classes/tform_actions.inc.php | 18 ++++++++++++++++-- interface/web/sites/mail_box_edit.php | 2 ++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/interface/lib/classes/plugin_listview.inc.php b/interface/lib/classes/plugin_listview.inc.php index b6bea10075..8cde0b7a7f 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 74d7de9b08..7d4095618a 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 715964f239..e01137aaec 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() { -- GitLab