From cb2063107afbf39ee44390dba28b5aec46416b95 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sat, 21 Oct 2006 09:34:39 -0400
Subject: [PATCH] changed app.inc.php

---
 interface/lib/classes/tform_actions.inc.php |   96 ++++++++++++++++++++++++++++-------------------
 1 files changed, 57 insertions(+), 39 deletions(-)

diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php
index e4a508e..26a4912 100644
--- a/interface/lib/classes/tform_actions.inc.php
+++ b/interface/lib/classes/tform_actions.inc.php
@@ -53,21 +53,8 @@
 
                 // Load table definition from file
                 $app->tform->loadFormDef($tform_def_file);
-
-                // loading plugins
-                $next_tab = $app->tform->getNextTab();
-                if(is_array($app->tform->formDef["tabs"][$next_tab]["plugins"])) {
-                        $app->load('plugin_base');
-                        foreach($app->tform->formDef["tabs"][$next_tab]["plugins"] as $plugin_name => $plugin_settings) {
-                                $plugin_class = $plugin_settings["class"];
-                                $app->load($plugin_class);
-                                $this->plugins[$plugin_name] = new $plugin_class;
-                                $this->plugins[$plugin_name]->setOptions($plugin_name,$plugin_settings['options']);
-                                $this->plugins[$plugin_name]->onLoad();
-                        }
-                }
-
-                // Importing ID
+				
+				// Importing ID
                 $this->id = intval($_REQUEST["id"]);
 
                 if(count($_POST) > 1) {
@@ -106,26 +93,30 @@
 
                         if(!empty($sql)) {
                                 $app->db->query($sql);
-                                if($app->db->errorMessage != '') die($app->db->errorMessage);
+                            if($app->db->errorMessage != '') die($app->db->errorMessage);
                         }
+						
+						// loading plugins
+						$next_tab = $app->tform->getCurrentTab();
+                		$this->loadPlugins($next_tab);
 
                         // Call plugin
                         foreach($this->plugins as $plugin) {
                                 $plugin->onInsert();
                         }
 
-                                                $this->onAfterUpdate();
+                        $this->onAfterUpdate();
 
                         if($_REQUEST["next_tab"] == '') {
                                 $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();
-                                        header($redirect);
-                                } else {
-                                    header("Location: ".$app->tform->formDef['list_default']);
-                                }
+                                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();
+                                header($redirect);
+                        } else {
+                                                   header("Location: ".$app->tform->formDef['list_default']);
+                        }
                         exit;
                     } else {
                                 $this->onShow();
@@ -148,27 +139,31 @@
                         $app->db->query($sql);
                         if($app->db->errorMessage != '') die($app->db->errorMessage);
                         $this->id = $app->db->insertID();
-
+						
+						// loading plugins
+						$next_tab = $app->tform->getCurrentTab();
+                		$this->loadPlugins($next_tab);
+						
                         // Call plugin
                         foreach($this->plugins as $plugin) {
                                 $plugin->onInsert();
                         }
 
-                                                $this->onAfterInsert();
+                        $this->onAfterInsert();
 
-                        if($_REQUEST["next_tab"] == '') {
-                            $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();
-                                        header($redirect);
-                                } else {
-                                    header("Location: ".$app->tform->formDef['list_default']);
-                                }
+                     if($_REQUEST["next_tab"] == '') {
+                         $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();
+                            header($redirect);
+                        } else {
+                                header("Location: ".$app->tform->formDef['list_default']);
+                        }
                         exit;
                     } else {
-                                $this->onShow();
+                            $this->onShow();
                         }
                 } else {
                         $this->onError();
@@ -241,7 +236,12 @@
                         }
 
                         $app->db->query("DELETE FROM ".$liste["table"]." WHERE ".$liste["table_idx"]." = ".$this->id);
-
+						
+						// loading plugins
+						$next_tab = $app->tform->getCurrentTab();
+                		$this->loadPlugins($next_tab);
+						
+						
                         // Call plugin
                         foreach($this->plugins as $plugin) {
                                 $plugin->onInsert();
@@ -283,6 +283,10 @@
 
                 // Setting default values
                 $app->tpl_defaults();
+				
+				// loading plugins
+				//$next_tab = $app->tform->getNextTab();
+                $this->loadPlugins($this->active_tab);
 
                 // Calling the Plugin onShow Events and set the data in the
                 // plugins placeholder in the template
@@ -346,6 +350,20 @@
                 // Template parsen
                 $app->tpl->pparse();
         }
+		
+		function loadPlugins($next_tab) {
+			global $app;
+			if(is_array($app->tform->formDef["tabs"][$next_tab]["plugins"])) {
+                 $app->load('plugin_base');
+                 foreach($app->tform->formDef["tabs"][$next_tab]["plugins"] as $plugin_name => $plugin_settings) {
+                      $plugin_class = $plugin_settings["class"];
+                      $app->load($plugin_class);
+                      $this->plugins[$plugin_name] = new $plugin_class;
+                      $this->plugins[$plugin_name]->setOptions($plugin_name,$plugin_settings['options']);
+                      $this->plugins[$plugin_name]->onLoad();
+                  }
+             }
+		}
 
 
 }

--
Gitblit v1.9.1