ftimme
2013-02-27 f4038a2160d55a7f519a3b42be1aa96e29e9a908
interface/lib/classes/form.inc.php
@@ -1,6 +1,7 @@
<?php
/*
Copyright (c) 2005, Till Brehm, projektfarm Gmbh
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -37,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)
*   
@@ -53,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
@@ -96,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
   */
@@ -131,14 +132,15 @@
   
   
   /**
   * 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
   */
   function decode($record) {
        global $app;
      if(is_array($record)) {
         foreach($record as $key => $val) {
            switch ($this->tableDef[$key]['datatype']) {
@@ -153,7 +155,7 @@
            break;
            
            case 'INTEGER':
               $new_record[$key] = intval($val);
               $new_record[$key] = $app->functions->intval($val);
            break;
            
            case 'DOUBLE':
@@ -174,7 +176,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 
@@ -278,14 +280,14 @@
   }
   
   /**
   * 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) {
      global $app;
      $this->errorMessage = '';
      
      if(is_array($record)) {
@@ -293,7 +295,7 @@
            switch ($this->tableDef[$key]['datatype']) {
            case 'VARCHAR':
               if(!is_array($val)) {
                  $new_record[$key] = mysql_real_escape_string($val);
                  $new_record[$key] = $app->db->quote($val);
               } else {
                  $new_record[$key] = implode($this->tableDef[$key]['separator'],$val);
               }
@@ -305,10 +307,10 @@
               }
            break;
            case 'INTEGER':
               $new_record[$key] = intval($val);
               $new_record[$key] = $app->functions->intval($val);
            break;
            case 'DOUBLE':
               $new_record[$key] = mysql_real_escape_string($val);
               $new_record[$key] = $app->db->quote($val);
            break;
            case 'CURRENCY':
               $new_record[$key] = str_replace(",",".",$val);
@@ -329,7 +331,7 @@
   }
   
   /**
   * SQL Statement für Record erzeugen.
   * SQL Statement für Record erzeugen.
   *
   * @param record = Datensatz als Array
   * @param action = INSERT oder UPDATE
@@ -389,7 +391,7 @@
      }
        }
      
      // Füge Backticks nur bei unvollständigen Tabellennamen ein
      // Füge Backticks nur bei unvollständigen Tabellennamen ein
      if(stristr($this->table_name,'.')) {
         $escape = '';
      } else {
@@ -436,7 +438,7 @@
        if($this->errorMessage == '') {
           // wenn kein Fehler vorliegt
         if($_REQUEST["next_tab"] != '') {
               // wenn nächster Tab bekannt
               // wenn nächster Tab bekannt
               $active_tab = $_REQUEST["next_tab"];
            } else {
               // ansonsten ersten tab nehmen
@@ -471,4 +473,4 @@
   
}
?>
?>