From b152f9b1fbc7e36f705f3230efece40febae71c2 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Thu, 24 Nov 2005 11:26:32 -0500
Subject: [PATCH] Fixed bug in tform_actions
---
interface/lib/classes/tform_actions.inc.php | 38 ++++++++++++++++++++++++++++++++------
1 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index 56deb43..91b063a 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -71,6 +71,7 @@
$this->id = intval($_REQUEST["id"]);
if(count($_POST) > 1) {
+ $this->dataRecord = $_POST;
$this->onSubmit();
} else {
$this->onShow();
@@ -83,8 +84,6 @@
function onSubmit() {
global $app, $conf;
-
- $this->dataRecord = $_POST;
// Calling the action functions
if($this->id > 0) {
@@ -104,7 +103,11 @@
$ext_where = '';
$sql = $app->tform->getSQL($this->dataRecord,$app->tform->getCurrentTab(),'UPDATE',$this->id,$ext_where);
if($app->tform->errorMessage == '') {
- $app->db->query($sql);
+
+ if(!empty($sql)) {
+ $app->db->query($sql);
+ if($app->db->errorMessage != '') die($app->db->errorMessage);
+ }
// Call plugin
foreach($this->plugins as $plugin) {
@@ -112,7 +115,14 @@
}
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"];
+ $_SESSION["s"]["form"]["return_to"] = '';
+ header($redirect);
+ } else {
+ header("Location: ".$app->tform->formDef['list_default']);
+ }
exit;
} else {
$this->onShow();
@@ -133,6 +143,7 @@
$sql = $app->tform->getSQL($this->dataRecord,$app->tform->getCurrentTab(),'INSERT',$this->id,$ext_where);
if($app->tform->errorMessage == '') {
$app->db->query($sql);
+ if($app->db->errorMessage != '') die($app->db->errorMessage);
$this->id = $app->db->insertID();
// Call plugin
@@ -141,7 +152,14 @@
}
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"];
+ $_SESSION["s"]["form"]["return_to"] = '';
+ header($redirect);
+ } else {
+ header("Location: ".$app->tform->formDef['list_default']);
+ }
exit;
} else {
$this->onShow();
@@ -215,7 +233,15 @@
}
}
- header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
+ //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]);
+ 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"];
+ $_SESSION["s"]["form"]["return_to"] = '';
+ header($redirect);
+ } else {
+ header("Location: ".$liste["file"]);
+ }
exit;
}
--
Gitblit v1.9.1