From 2696e12bd643eaca85b9780b1c7d8ec1377df0fb Mon Sep 17 00:00:00 2001 From: latham <latham@ispconfig3> Date: Fri, 04 Nov 2011 09:57:16 -0400 Subject: [PATCH] This will sort the modules by alpha before the dashboard is pushed to the front. This patch keeps the menu tabs stable instead of different on each user. Logging in as an admin, reseller, and user would show the tabs in different order each time do to user creation. --- interface/lib/classes/tform_actions.inc.php | 41 +++++++++++++++++++++++------------------ 1 files changed, 23 insertions(+), 18 deletions(-) diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index 95b9fbf..5c03b27 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -30,11 +30,11 @@ class tform_actions { - var $id; - var $activeTab; - var $dataRecord; - var $plugins = array(); - var $oldDataRecord; // This array is only filled during updates and when db_history is enabled. + public $id; + public $activeTab; + public $dataRecord; + public $plugins = array(); + public $oldDataRecord; // This array is only filled during updates and when db_history is enabled. function onLoad() { global $app, $conf, $tform_def_file; @@ -80,9 +80,11 @@ // Calling the action functions if($this->id > 0) { - $this->onUpdate(); + $app->tform->action == 'EDIT'; + $this->onUpdate(); } else { - $this->onInsert(); + $app->tform->action == 'NEW'; + $this->onInsert(); } } @@ -112,10 +114,11 @@ // Call plugin foreach($this->plugins as $plugin) { - $plugin->onInsert(); + $plugin->onUpdate(); } $this->onAfterUpdate(); + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_after_update',$this); // Write data history (sys_datalog) if($app->tform->formDef['db_history'] == 'yes') { @@ -136,7 +139,7 @@ session_write_close(); header($redirect); // When a returnto variable is set - } elseif ($_SESSION["s"]["form"]["return_to_url"] != '') { + } elseif (isset($_SESSION["s"]["form"]["return_to_url"]) && $_SESSION["s"]["form"]["return_to_url"] != '') { $redirect = $_SESSION["s"]["form"]["return_to_url"]; $_SESSION["s"]["form"]["return_to_url"] = ''; session_write_close(); @@ -161,7 +164,7 @@ function onUpdateSave($sql) { global $app; - if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab())) { + if(!empty($sql) && !$app->tform->isReadonlyTab($app->tform->getCurrentTab(),$this->id)) { $app->db->query($sql); if($app->db->errorMessage != '') die($app->db->errorMessage); } @@ -193,7 +196,8 @@ } $this->onAfterInsert(); - + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_after_insert',$this); + // Write data history (sys_datalog) if($app->tform->formDef['db_history'] == 'yes') { $new_data_record = $app->tform->getDataRecord($this->id); @@ -263,7 +267,7 @@ function onError() { global $app, $conf; - $app->tpl->setVar("error","<b>".$app->lng('Error').":</b><br />".$app->tform->errorMessage); + $app->tpl->setVar("error","<li>".$app->tform->errorMessage."</li>"); $app->tpl->setVar($this->dataRecord); $this->onShow(); } @@ -311,13 +315,14 @@ $next_tab = $app->tform->getCurrentTab(); $this->loadPlugins($next_tab); - + // Call plugin foreach($this->plugins as $plugin) { $plugin->onDelete(); } $this->onAfterDelete(); + $app->plugin->raiseEvent($_SESSION['s']['module']['name'].':'.$app->tform->formDef['name'].':'.'on_after_delete',$this); } //header("Location: ".$liste["file"]."?PHPSESSID=".$_SESSION["s"]["id"]); @@ -357,7 +362,7 @@ if($app->tform->formDef['auth'] == 'no') { $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id; } else { - $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); @@ -398,7 +403,7 @@ if($app->tform->formDef['auth'] == 'no') { $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id; } else { - $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); @@ -434,7 +439,7 @@ if($app->tform->formDef['auth'] == 'no') { $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id; } else { - $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); @@ -525,14 +530,14 @@ // bestehenden Datensatz anzeigen if($app->tform->errorMessage == '') { if($app->tform->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') { - $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('u'); + $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id." AND ".$app->tform->getAuthSQL('r'); } else { $sql = "SELECT * FROM ".$app->tform->formDef['db_table']." WHERE ".$app->tform->formDef['db_table_idx']." = ".$this->id; } if(!$record = $app->db->queryOneRecord($sql)) $app->error($app->lng('error_no_view_permission')); } else { // $record = $app->tform->encode($_POST,$this->active_tab); - $record = $app->tform->encode($this->dataRecord,$this->active_tab); + $record = $app->tform->encode($this->dataRecord,$this->active_tab,false); } $this->dataRecord = $record; -- Gitblit v1.9.1