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