| | |
| | | * - 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) |
| | |
| | | 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 = $app->functions->array_merge($wb_global,$wb); |
| | | } |
| | | if(isset($wb_global)) unset($wb_global); |
| | | |
| | |
| | | * @return record |
| | | */ |
| | | function decode($record,$tab) { |
| | | if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab)."); |
| | | global $conf, $app; |
| | | if(!is_array($this->formDef['tabs'][$tab])) $app->error("Tab does not exist or the tab is empty (TAB: $tab)."); |
| | | $new_record = ''; |
| | | if(is_array($record)) { |
| | | foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) { |
| | |
| | | $new_record[$key] = $record[$key]; |
| | | break; |
| | | |
| | | case 'DATE': |
| | | case 'DATETSTAMP': |
| | | if($record[$key] > 0) { |
| | | $new_record[$key] = date($this->dateformat,$record[$key]); |
| | | } |
| | | break; |
| | | |
| | | case 'DATE': |
| | | if($record[$key] != '' && $record[$key] != '0000-00-00') { |
| | | $tmp = explode('-',$record[$key]); |
| | | $new_record[$key] = date($this->dateformat,mktime(0, 0, 0, $tmp[1] , $tmp[2], $tmp[0])); |
| | | } |
| | | break; |
| | | |
| | |
| | | break; |
| | | |
| | | case 'CURRENCY': |
| | | $new_record[$key] = number_format((double)$record[$key], 2, ',', ''); |
| | | $new_record[$key] = $app->functions->currency_format($record[$key]); |
| | | break; |
| | | |
| | | default: |
| | |
| | | |
| | | // If Datasource is set, get the data from there |
| | | if(isset($field['datasource']) && is_array($field['datasource'])) { |
| | | $field["value"] = $this->getDatasourceData($field, $record); |
| | | if(is_array($field["value"])) { |
| | | //$field["value"] = array_merge($field["value"],$this->getDatasourceData($field, $record)); |
| | | $field["value"] = $app->functions->array_merge($field["value"],$this->getDatasourceData($field, $record)); |
| | | } else { |
| | | $field["value"] = $this->getDatasourceData($field, $record); |
| | | } |
| | | } |
| | | |
| | | // If a limitation for the values is set |
| | |
| | | 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"; |
| | | } |
| | | } |
| | |
| | | if(trim($tvl) == trim($k)) $checked = ' CHECKED'; |
| | | } |
| | | // $out .= "<label for=\"".$key."[]\" class=\"inlineLabel\"><input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v</label>\r\n"; |
| | | $out .= "<input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v \r\n"; |
| | | $out .= "<input name=\"".$key."[]\" id=\"".$key."[]\" value=\"$k\" type=\"checkbox\" $checked /> $v <br/>\r\n"; |
| | | } |
| | | } |
| | | $new_record[$key] = $out; |
| | |
| | | |
| | | // If Datasource is set, get the data from there |
| | | if(@is_array($field['datasource'])) { |
| | | $field["value"] = $this->getDatasourceData($field, $record); |
| | | if(is_array($field["value"])) { |
| | | $field["value"] = $app->functions->array_merge($field["value"],$this->getDatasourceData($field, $record)); |
| | | } else { |
| | | $field["value"] = $this->getDatasourceData($field, $record); |
| | | } |
| | | } |
| | | |
| | | // If a limitation for the values is set |
| | |
| | | if(is_array($field['value'])) { |
| | | $out = ''; |
| | | foreach($field['value'] as $k => $v) { |
| | | //$selected = ($k == $val)?' SELECTED':''; |
| | | $selected = ''; |
| | | $out .= "<option value='$k'$selected>$v</option>\r\n"; |
| | | $selected = ($k == $field["default"])?' SELECTED':''; |
| | | $out .= "<option value='$k'$selected>".$this->lng($v)."</option>\r\n"; |
| | | } |
| | | } |
| | | if(isset($out)) $new_record[$key] = $out; |
| | |
| | | $new_record[$key] = implode($field['separator'],$record[$key]); |
| | | } |
| | | break; |
| | | case 'DATE': |
| | | case 'DATETSTAMP': |
| | | if($record[$key] > 0) { |
| | | list($tag,$monat,$jahr) = explode('.',$record[$key]); |
| | | $new_record[$key] = mktime(0,0,0,$monat,$tag,$jahr); |
| | | } else { |
| | | $new_record[$key] = 0; |
| | | } |
| | | break; |
| | | case 'DATE': |
| | | if($record[$key] != '' && $record[$key] != '0000-00-00') { |
| | | if(function_exists('date_parse_from_format')) { |
| | | $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 { |
| | | //$tmp = strptime($record[$key],$this->dateformat); |
| | | //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday']; |
| | | $tmp = strtotime($record[$key]); |
| | | $new_record[$key] = date('Y-m-d',$tmp); |
| | | } |
| | | } else { |
| | | $new_record[$key] = '0000-00-00'; |
| | | } |
| | | break; |
| | | case 'INTEGER': |
| | |
| | | } |
| | | 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"; |
| | |
| | | } |
| | | $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])."', "; |
| | | } |
| | | |
| | |
| | | } |
| | | $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])."', "; |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | 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; |
| | |
| | | } |
| | | } |
| | | |
| | | ?> |
| | | ?> |