tbrehm
2006-10-21 cb2063107afbf39ee44390dba28b5aec46416b95
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();
                  }
             }
      }
}