From 0a28a5fc6bdf3760743aa2bed674400819270f99 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 24 Nov 2005 09:08:48 -0500 Subject: [PATCH] Bugfix in tform --- interface/web/resellers/form/reseller.tform.php | 2 interface/lib/classes/tform_actions.inc.php | 7 + interface/lib/classes/tform.inc.php | 6 + interface/web/sites/form/mail_alias.tform.php | 132 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 143 insertions(+), 4 deletions(-) diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php index a58200c..a2609fb 100644 --- a/interface/lib/classes/tform.inc.php +++ b/interface/lib/classes/tform.inc.php @@ -435,7 +435,7 @@ break; default: - $new_record[$key] = htmlspecialchars($field['value']); + $new_record[$key] = htmlspecialchars($field['default']); } } @@ -600,6 +600,9 @@ global $app; + // If there are no data records on the tab, return empty sql string + if(count($this->formDef['tabs'][$tab]['fields']) == 0) return ''; + // checking permissions if($this->formDef['auth'] == 'yes') { if($action == "INSERT") { @@ -653,6 +656,7 @@ } } + // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein if(stristr($this->formDef['db_table'],'.')) { $escape = ''; diff --git a/interface/lib/classes/tform_actions.inc.php b/interface/lib/classes/tform_actions.inc.php index 5eb8ad6..74d7de9 100644 --- a/interface/lib/classes/tform_actions.inc.php +++ b/interface/lib/classes/tform_actions.inc.php @@ -103,8 +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($app->db->errorMessage != '') die($app->db->errorMessage); + + if(!empty($sql)) { + $app->db->query($sql); + if($app->db->errorMessage != '') die($app->db->errorMessage); + } // Call plugin foreach($this->plugins as $plugin) { diff --git a/interface/web/resellers/form/reseller.tform.php b/interface/web/resellers/form/reseller.tform.php index ab4a98d..ec87750 100644 --- a/interface/web/resellers/form/reseller.tform.php +++ b/interface/web/resellers/form/reseller.tform.php @@ -45,7 +45,7 @@ $form["auth"] = 'yes'; $form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user -$form["auth_preset"]["groupid"] = 1; // 0 = default groupid of the user, > 0 id must match with groupid of current user +$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user $form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete $form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete $form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete diff --git a/interface/web/sites/form/mail_alias.tform.php b/interface/web/sites/form/mail_alias.tform.php new file mode 100644 index 0000000..05671ce --- /dev/null +++ b/interface/web/sites/form/mail_alias.tform.php @@ -0,0 +1,132 @@ +<?php + +/* + Form Definition + + Tabledefinition + + Datatypes: + - INTEGER (Forces the input to Int) + - DOUBLE + - CURRENCY (Formats the values to currency notation) + - VARCHAR (no format check, maxlength: 255) + - TEXT (no format check) + - DATE (Dateformat, automatic conversion to timestamps) + + Formtype: + - TEXT (Textfield) + - TEXTAREA (Textarea) + - PASSWORD (Password textfield, input is not shown when edited) + - SELECT (Select option field) + - RADIO + - CHECKBOX + - CHECKBOXARRAY + - FILE + + VALUE: + - Wert oder Array + + Hint: + The ID field of the database table is not part of the datafield definition. + The ID field must be always auto incement (int or bigint). + + +*/ + +$form["title"] = "Email Alias"; +$form["description"] = ""; +$form["name"] = "mail_alias"; +$form["action"] = "mail_alias_edit.php"; +$form["db_table"] = "mail_redirect"; +$form["db_table_idx"] = "redirect_id"; +$form["db_history"] = "yes"; +$form["tab_default"] = "mailbox"; +$form["list_default"] = "mail_box_list.php"; +$form["auth"] = 'yes'; // yes / no + +$form["auth_preset"]["userid"] = 0; // 0 = id of the user, > 0 id must match with id of current user +$form["auth_preset"]["groupid"] = 0; // 0 = default groupid of the user, > 0 id must match with groupid of current user +$form["auth_preset"]["perm_user"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete +$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete + +$form["tabs"]['mailbox'] = array ( + 'title' => "Mailbox", + 'width' => 100, + 'template' => "templates/mail_box_mailbox_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'server_id' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'email' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISEMAIL', + 'errmsg'=> 'email_error_isemail'), + 1 => array ( 'type' => 'UNIQUE', + 'errmsg'=> 'email_error_unique'), + ), + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'cryptpwd' => array ( + 'datatype' => 'VARCHAR', + 'formtype' => 'PASSWORD', + 'encryption'=> 'CRYPT', + 'default' => '', + 'value' => '', + 'width' => '30', + 'maxlength' => '255' + ), + 'active' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'CHECKBOX', + 'default' => '1', + 'value' => '1' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); + +$form["tabs"]['autoresponder'] = array ( + 'title' => "Autoresponder", + 'width' => 100, + 'template' => "templates/mail_box_autoresponder_edit.htm", + 'fields' => array ( + ################################## + # Begin Datatable fields + ################################## + 'autoresponder_text' => array ( + 'datatype' => 'TEXT', + 'formtype' => 'TEXTAREA', + 'default' => '', + 'value' => '', + 'cols' => '30', + 'rows' => '15' + ), + 'autoresponder' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'CHECKBOX', + 'default' => '1', + 'value' => '1' + ), + ################################## + # ENDE Datatable fields + ################################## + ) +); + + +?> \ No newline at end of file -- Gitblit v1.9.1