tbrehm
2011-01-12 03bca94981b46d3b7e1251d11a91f7aeaef2143e
interface/lib/classes/tform.inc.php
@@ -40,7 +40,7 @@
*        - DOUBLE
*        - CURRENCY (Formats digits in currency notation)
*        - VARCHAR (No format check)
*        - DATE (Date format, converts from and to linux timestamps automatically)
*        - DATE (Date format, converts from and to UNIX timestamps automatically)
*
*        Formtype:
*        - TEXT (Normal text field)
@@ -143,9 +143,9 @@
               if(!file_exists($lng_file)) $lng_file = "../$module/lib/lang/en_".$this->formDef["name"].".lng";
               include($lng_file);
                }
            if(is_array($wb_global)) {
               $wb = array_merge($wb_global,$wb);
               $wb = $wb_global + $wb;
            }
            if(isset($wb_global)) unset($wb_global);
            
@@ -362,7 +362,8 @@
                                        // If Datasource is set, get the data from there
                                        if(isset($field['datasource']) && is_array($field['datasource'])) {
                                    if(is_array($field["value"])) {
                                       $field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
                                       //$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record));
                                       $field["value"] = $field["value"]+$this->getDatasourceData($field, $record);
                                    } else {
                                                   $field["value"] = $this->getDatasourceData($field, $record);
                                    }
@@ -379,6 +380,8 @@
                                                if(is_array($field['value'])) {
                                                        foreach($field['value'] as $k => $v) {
                                                                $selected = ($k == $val)?' SELECTED':'';
                                                if(!empty($this->wordbook[$v]))
                                                   $v = $this->wordbook[$v];
                                                                $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                        }
                                                }
@@ -492,7 +495,7 @@
                                                $out = '';
                                                foreach($field['value'] as $k => $v) {
                                                    $selected = ($k == $field["default"])?' SELECTED':'';
                                                    $out .= "<option value='$k'$selected>$v</option>\r\n";
                                                    $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n";
                                                }
                                        }
                                        if(isset($out)) $new_record[$key] = $out;
@@ -620,8 +623,9 @@
                                break;
                        case 'DATE':
                                        if($record[$key] != '' && $record[$key] != '0000-00-00') {
                                                list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                                $new_record[$key] = $jahr.'-'.$monat.'-'.$tag;
                                    $date_parts = date_parse_from_format($this->dateformat,$record[$key]);
                                    //list($tag,$monat,$jahr) = explode('.',$record[$key]);
                                                $new_record[$key] = $date_parts['year'].'-'.$date_parts['month'].'-'.$date_parts['day'];
                                    //$tmp = strptime($record[$key],$this->dateformat);
                                    //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday'];
                                        } else {
@@ -733,7 +737,7 @@
                                        }
                                break;
                                case 'ISEMAIL':
                                        if(!preg_match("/^\w+[\w.-]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) {
                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-zA-Z0-9\-]{2,30}$/i", $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
@@ -856,14 +860,14 @@
                                                }
                                                $salt.="$";
                                                // $salt = substr(md5(time()),0,2);
                                                $record[$key] = crypt($record[$key],$salt);
                                                $record[$key] = crypt(stripslashes($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]);
                                                                $record[$key] = md5(stripslashes($record[$key]));
                                                $sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
                                                        }
                                          
@@ -891,14 +895,14 @@
                                                }
                                                $salt.="$";
                                                // $salt = substr(md5(time()),0,2);
                                                $record[$key] = crypt($record[$key],$salt);
                                                $record[$key] = crypt(stripslashes($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]);
                                                                $record[$key] = md5(stripslashes($record[$key]));
                                                $sql_update .= "`$key` = '".$app->db->quote($record[$key])."', ";
                                                        }
                                                        
@@ -1125,15 +1129,18 @@
        }
        function getAuthSQL($perm) {
        function getAuthSQL($perm, $table = '') {
            if($_SESSION["s"]["user"]["typ"] == 'admin') {
               return '1';
            } else {
               if ($table != ''){
                  $table = ' ' . $table . '.';
               }
                   $groups = ( $_SESSION["s"]["user"]["groups"] ) ? $_SESSION["s"]["user"]["groups"] : 0;
               $sql = '(';
                   $sql .= "(sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND sys_perm_user like '%$perm%') OR  ";
                   $sql .= "(sys_groupid IN (".$groups.") AND sys_perm_group like '%$perm%') OR ";
                   $sql .= "sys_perm_other like '%$perm%'";
                   $sql .= "(" . $table . "sys_userid = ".$_SESSION["s"]["user"]["userid"]." AND " . $table . "sys_perm_user like '%$perm%') OR  ";
                   $sql .= "(" . $table . "sys_groupid IN (".$groups.") AND " . $table ."sys_perm_group like '%$perm%') OR ";
                   $sql .= $table . "sys_perm_other like '%$perm%'";
                   $sql .= ')';
                   return $sql;
@@ -1418,4 +1425,4 @@
      }
}
?>
?>