From 1f193f1e79d5a00daf94cde457c16bdca664668d Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 17 Nov 2008 16:38:22 -0500
Subject: [PATCH] Removed old sql file.

---
 interface/lib/classes/tform.inc.php |  109 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 75 insertions(+), 34 deletions(-)

diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 9f920c6..64fa438 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -38,9 +38,9 @@
 *        Tabellendefinition
 *
 *        Datentypen:
-*        - INTEGER (Wandelt Ausdr�cke in Int um)
+*        - INTEGER (Wandelt Ausdr�cke in Int um)
 *        - DOUBLE
-*        - CURRENCY (Formatiert Zahlen nach W�hrungsnotation)
+*        - CURRENCY (Formatiert Zahlen nach W�hrungsnotation)
 *        - VARCHAR (kein weiterer Format Check)
 *        - DATE (Datumsformat, Timestamp Umwandlung)
 *
@@ -54,10 +54,10 @@
 *        - Wert oder Array
 *
 *        SEPARATOR
-*        - Trennzeichen f�r multiple Felder
+*        - Trennzeichen f�r multiple Felder
 *
 *        Hinweis:
-*        Das ID-Feld ist nicht bei den Table Values einzuf�gen.
+*        Das ID-Feld ist nicht bei den Table Values einzuf�gen.
 *
 * @package form
 * @author Till Brehm
@@ -97,7 +97,7 @@
         var $table_index;
 
         /**
-        * enth�lt die Fehlermeldung bei �berpr�fung
+        * enth�lt die Fehlermeldung bei �berpr�fung
         * der Variablen mit Regex
         * @var errorMessage
         */
@@ -153,9 +153,9 @@
 
 
         /**
-        * Konvertiert die Daten des �bergebenen assoziativen
+        * Konvertiert die Daten des �bergebenen assoziativen
         * Arrays in "menschenlesbare" Form.
-        * Datentyp Konvertierung, z.B. f�r Ausgabe in Listen.
+        * Datentyp Konvertierung, z.B. f�r Ausgabe in Listen.
         *
         * @param record
         * @return record
@@ -262,7 +262,7 @@
 
 
         /**
-        * Record f�r Ausgabe in Formularen vorbereiten.
+        * Record f�r Ausgabe in Formularen vorbereiten.
         *
         * @param record = Datensatz als Array
         * @param action = NEW oder EDIT
@@ -344,8 +344,10 @@
                                                                 foreach($vals as $tvl) {
                                                                         if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                                 }
-
-                                                                $out .= "<input name=\"".$key."[]\" type=\"checkbox\" value=\"$k\" $checked>$v <br />\r\n";
+                                                                $out .= "<span class=\"wf_oneChoice\">\r\n
+                                                                <input type=\"checkbox\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
+                                                                <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
+                                                                </span><br />\r\n";
                                                         }
                                                 }
                                                 $new_record[$key] = $out;
@@ -358,7 +360,10 @@
                                                         $out = '';
                                                         foreach($field['value'] as $k => $v) {
                                                                 $checked = ($k == $val)?' CHECKED':'';
-                                                                $out .= "<input name='".$key."[]' type='radio' value='$k'$checked> $v<br>\r\n";
+                                                                $out .= "<span class=\"wf_oneChoice\">\r\n
+                                                                <input type=\"radio\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
+                                                                <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
+                                                                </span><br />\r\n";
                                                         }
                                                 }
                                                 $new_record[$key] = $out;
@@ -412,7 +417,7 @@
 
                                 case 'CHECKBOX':
                                         // $checked = (empty($field["default"]))?'':' CHECKED';
-										$checked = ($field["default"] == $field['value'][1])?' CHECKED':'';
+										                    $checked = ($field["default"] == $field['value'][1])?' CHECKED':'';
                                         $new_record[$key] = "<input name=\"".$key."\" type=\"checkbox\" value=\"".$field['value'][1]."\" $checked>\r\n";
                                 break;
 
@@ -430,8 +435,10 @@
                                                         foreach($vals as $tvl) {
                                                                 if(trim($tvl) == trim($k)) $checked = ' CHECKED';
                                                         }
-
-                                                        $out .= "<input name=\"".$key."[]\" type=\"checkbox\" value=\"$k\" $checked> $v<br />\r\n";
+                                                        $out .= "<span class=\"wf_oneChoice\">\r\n
+                                                        <input type=\"checkbox\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
+                                                        <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
+                                                        </span><br />\r\n";
                                                 }
                                         }
                                         $new_record[$key] = $out;
@@ -444,7 +451,10 @@
                                                 $out = '';
                                                 foreach($field['value'] as $k => $v) {
                                                         $checked = ($k == $field["default"])?' CHECKED':'';
-                                                        $out .= "<input name='".$key."[]' type='radio' value='$k'$checked> $v<br>\r\n";
+                                                        $out .= "<span class=\"wf_oneChoice\">\r\n
+                                                        <input type=\"radio\" value=\"$k\" id=\"".$key."[]\" name=\"".$key."[]\" $checked>\r\n
+                                                        <label for=\"".$key."[]\" id=\"".$key."[]-L\" class=\"wf_postField\">$v</label>\r\n
+                                                        </span><br />\r\n";
                                                 }
                                         }
                                         $new_record[$key] = $out;
@@ -463,14 +473,15 @@
         }
 
         /**
-        * Record in "maschinen lesbares" Format �berf�hren
-        * und Werte gegen regul�re Ausdr�cke pr�fen.
+        * Record in "maschinen lesbares" Format �berf�hren
+        * und Werte gegen regul�re Ausdr�cke pr�fen.
         *
         * @param record = Datensatz als Array
         * @return record
         */
         function encode($record,$tab) {
-
+			global $app;
+			
                 if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab ist leer oder existiert nicht (TAB: $tab).");
                 //$this->errorMessage = '';
 
@@ -482,14 +493,14 @@
                                 switch ($field['datatype']) {
                                 case 'VARCHAR':
                                         if(!@is_array($record[$key])) {
-                                                $new_record[$key] = (isset($record[$key]))?addslashes($record[$key]):'';
+                                                $new_record[$key] = (isset($record[$key]))?$app->db->quote($record[$key]):'';
                                         } else {
                                                 $new_record[$key] = implode($field['separator'],$record[$key]);
                                         }
                                 break;
                                 case 'TEXT':
                                         if(!is_array($record[$key])) {
-                                                $new_record[$key] = addslashes($record[$key]);
+                                                $new_record[$key] = $app->db->quote($record[$key]);
                                         } else {
                                                 $new_record[$key] = implode($field['separator'],$record[$key]);
                                         }
@@ -503,12 +514,12 @@
 										}
                                 break;
                                 case 'INTEGER':
-                                        $new_record[$key] = (isset($record[$key]))?intval($record[$key]):0;
+                                        $new_record[$key] = (isset($record[$key]))?$record[$key]:0;
                                         //if($new_record[$key] != $record[$key]) $new_record[$key] = $field['default'];
                                         //if($key == 'refresh') die($record[$key]);
                                 break;
                                 case 'DOUBLE':
-                                        $new_record[$key] = addslashes($record[$key]);
+                                        $new_record[$key] = $app->db->quote($record[$key]);
                                 break;
                                 case 'CURRENCY':
                                         $new_record[$key] = str_replace(",",".",$record[$key]);
@@ -648,7 +659,7 @@
         }
 
         /**
-        * SQL Statement f�r Record erzeugen.
+        * SQL Statement f�r Record erzeugen.
         *
         * @param record = Datensatz als Array
         * @param action = INSERT oder UPDATE
@@ -699,10 +710,16 @@
 																$salt.="$";
 																// $salt = substr(md5(time()),0,2);
 																$record[$key] = crypt($record[$key],$salt);
+																$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
+														} elseif ($field['encryption'] == 'MYSQL') {
+																$sql_insert_val .= "PASSWORD('".$app->db->quote($record[$key])."'), ";
+														} elseif ($field['encryption'] == 'CLEARTEXT') {
+																$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                         } else {
                                                                 $record[$key] = md5($record[$key]);
+																$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                         }
-														$sql_insert_val .= "'".addslashes($record[$key])."', ";
+														
                                                 } elseif ($field['formtype'] == 'CHECKBOX') {
                                                         $sql_insert_key .= "`$key`, ";
 														if($record[$key] == '') {
@@ -726,10 +743,16 @@
 																$salt.="$";
 																// $salt = substr(md5(time()),0,2);
 																$record[$key] = crypt($record[$key],$salt);
+																$sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
+														} elseif (isset($field['encryption']) && $field['encryption'] == 'MYSQL') {
+																$sql_update .= "`$key` = PASSWORD('".$app->db->quote($record[$key])."'), ";
+														} elseif (isset($field['encryption']) && $field['encryption'] == 'CLEARTEXT') {
+																$sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                         } else {
                                                                 $record[$key] = md5($record[$key]);
+																$sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                         }
-                                                        $sql_update .= "`$key` = '".addslashes($record[$key])."', ";
+                                                        
                                                 } elseif ($field['formtype'] == 'CHECKBOX') {
 														if($record[$key] == '') {
 															// if a checkbox is not set, we set it to the unchecked value
@@ -751,7 +774,7 @@
         }
 
 
-                // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein
+                // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein
                 if(stristr($this->formDef['db_table'],'.')) {
                         $escape = '';
                 } else {
@@ -777,6 +800,7 @@
                         $sql_insert_val = substr($sql_insert_val,0,-2);
                         $sql = "INSERT INTO ".$escape.$this->formDef['db_table'].$escape." ($sql_insert_key) VALUES ($sql_insert_val)";
                 } else {
+					if($this->formDef['auth'] == 'yes') {
                         if($primary_id != 0) {
                                 $sql_update = substr($sql_update,0,-2);
                                 $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->getAuthSQL('u')." AND ".$this->formDef['db_table_idx']." = ".$primary_id;
@@ -784,6 +808,15 @@
                         } else {
                                 $app->error("Primary ID fehlt!");
                         }
+					} else {
+						if($primary_id != 0) {
+                                $sql_update = substr($sql_update,0,-2);
+                                $sql = "UPDATE ".$escape.$this->formDef['db_table'].$escape." SET ".$sql_update." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id;
+                                if($sql_ext_where != '') $sql .= " and ".$sql_ext_where;
+                        } else {
+                                $app->error("Primary ID fehlt!");
+                        }
+					}
                 }
                 
                 return $sql;
@@ -819,7 +852,7 @@
                 // Wenn Modul gesetzt, dann setzte template pfad relativ zu modul.
                 if($this->module != '') $tab["template"] = "../".$this->module."/".$tab["template"];
 
-                // �berpr�fe, ob das Template existiert, wenn nicht
+                // �berpr�fe, ob das Template existiert, wenn nicht
                 // dann generiere das Template
 				
 				// Translate the title of the tab
@@ -837,7 +870,7 @@
                     $tab["active"] = 0;
             }
 
-                        // Die Datenfelder werden f�r die Tabs nicht ben�tigt
+                        // Die Datenfelder werden f�r die Tabs nicht ben�tigt
                         unset($tab["fields"]);
                         unset($tab["plugins"]);
 
@@ -852,8 +885,8 @@
                 $app->tpl->setVar('form_active_tab',$active_tab);
 
                 // Set form title
-                $form_hint = '<b>'.$this->lng($this->formDef["title"]).'</b>';
-                if($this->formDef["description"] != '') $form_hint .= '<br><br>'.$this->lng($this->formDef["description"]);
+                $form_hint = $this->lng($this->formDef["title"]);
+                if($this->formDef["description"] != '') $form_hint .= '<div class="pageForm_description">'.$this->lng($this->formDef["description"]).'</div>';
                 $app->tpl->setVar('form_hint',$form_hint);
 
                 // Set Wordbook for this form
@@ -872,7 +905,7 @@
         function datalogSave($action,$primary_id, $record_old, $record_new) {
                 global $app,$conf;
 
-                // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein
+                // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein
                 if(stristr($this->formDef['db_table'],'.')) {
                         $escape = '';
                 } else {
@@ -966,14 +999,14 @@
         }
 
         /*
-        Diese funktion �berpr�ft, ob ein User die Berechtigung $perm f�r den Datensatz mit der ID $record_id
+        Diese funktion �berpr�ft, ob ein User die Berechtigung $perm f�r den Datensatz mit der ID $record_id
         hat. It record_id = 0, dann wird gegen die user Defaults des Formulares getestet.
         */
         function checkPerm($record_id,$perm) {
                 global $app;
 
                 if($record_id > 0) {
-                        // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein
+                        // F�ge Backticks nur bei unvollst�ndigen Tabellennamen ein
                         if(stristr($this->formDef['db_table'],'.')) {
                                 $escape = '';
                         } else {
@@ -1006,7 +1039,7 @@
                 if($this->errorMessage == '') {
                     // wenn kein Fehler vorliegt
                     if(isset($_REQUEST["next_tab"]) && $_REQUEST["next_tab"] != '') {
-                                // wenn n�chster Tab bekannt
+                                // wenn n�chster Tab bekannt
                                 $active_tab = $_REQUEST["next_tab"];
                     } else {
                         // ansonsten ersten tab nehmen
@@ -1024,6 +1057,14 @@
                 return $_SESSION["s"]["form"]["tab"];
         }
 		
+		function isReadonlyTab($tab) {
+			if(isset($this->formDef['tabs'][$tab]['readonly']) && $this->formDef['tabs'][$tab]['readonly'] == true) {
+				return true;
+			} else {
+				return false;
+			}
+        }
+		
 		
 		// translation function for forms, tries the form wordbook first and if this fails, it tries the global wordbook
 		function lng($msg) {

--
Gitblit v1.9.1