| | |
| | | $wb = array(); |
| | | |
| | | include_once(ISPC_ROOT_PATH.'/lib/lang/'.$_SESSION['s']['language'].'.lng'); |
| | | |
| | | if(is_array($wb)) $wb_global = $wb; |
| | | |
| | | if($module == '') { |
| | | $lng_file = "lib/lang/".$_SESSION["s"]["language"]."_".$this->formDef["name"].".lng"; |
| | | if(!file_exists($lng_file)) $lng_file = "lib/lang/en_".$this->formDef["name"].".lng"; |
| | |
| | | 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); |
| | | } |
| | | if(isset($wb_global)) unset($wb_global); |
| | | |
| | | $this->wordbook = $wb; |
| | | |
| | | return true; |
| | |
| | | $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($record[$key], 2, ',', ''); |
| | | $new_record[$key] = number_format((double)$record[$key], 2, ',', ''); |
| | | 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"] = $field["value"] + $this->getDatasourceData($field, $record); |
| | | } else { |
| | | $field["value"] = $this->getDatasourceData($field, $record); |
| | | } |
| | | } |
| | | |
| | | // If a limitation for the values is set |
| | |
| | | |
| | | // 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"] = 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 = ''; |
| | | $selected = ($k == $field["default"])?' SELECTED':''; |
| | | $out .= "<option value='$k'$selected>$v</option>\r\n"; |
| | | } |
| | | } |
| | |
| | | $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') { |
| | | list($tag,$monat,$jahr) = explode('.',$record[$key]); |
| | | $new_record[$key] = $jahr.'-'.$monat.'-'.$tag; |
| | | //$tmp = strptime($record[$key],$this->dateformat); |
| | | //$new_record[$key] = ($tmp['tm_year']+1900).'-'.($tmp['tm_mon']+1).'-'.$tmp['tm_mday']; |
| | | } else { |
| | | $new_record[$key] = '0000-00-00'; |
| | | } |
| | | break; |
| | | case 'INTEGER': |
| | |
| | | } |
| | | break; |
| | | case 'ISEMAIL': |
| | | if(!preg_match("/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) { |
| | | if(!preg_match("/^\w+[\w.-]*\w{0,}@\w+[\w.-]*\w+\.[a-z]{2,10}$/i", $field_value)) { |
| | | $errmsg = $validator['errmsg']; |
| | | if(isset($this->wordbook[$errmsg])) { |
| | | $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n"; |
| | |
| | | $sql_insert_key .= "`$key`, "; |
| | | if($field['encryption'] == 'CRYPT') { |
| | | $salt="$1$"; |
| | | $base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; |
| | | for ($n=0;$n<8;$n++) { |
| | | $salt.=chr(mt_rand(64,126)); |
| | | //$salt.=chr(mt_rand(64,126)); |
| | | $salt.=$base64_alphabet[mt_rand(0,63)]; |
| | | } |
| | | $salt.="$"; |
| | | // $salt = substr(md5(time()),0,2); |
| | |
| | | if($field['formtype'] == 'PASSWORD') { |
| | | if(isset($field['encryption']) && $field['encryption'] == 'CRYPT') { |
| | | $salt="$1$"; |
| | | $base64_alphabet='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; |
| | | for ($n=0;$n<8;$n++) { |
| | | $salt.=chr(mt_rand(64,126)); |
| | | //$salt.=chr(mt_rand(64,126)); |
| | | $salt.=$base64_alphabet[mt_rand(0,63)]; |
| | | } |
| | | $salt.="$"; |
| | | // $salt = substr(md5(time()),0,2); |
| | |
| | | foreach( $this->formDef["tabs"] as $key => $tab) { |
| | | |
| | | $tab['name'] = $key; |
| | | // Translate the title of the tab |
| | | $tab['title'] = $this->lng($tab['title']); |
| | | |
| | | if($tab['name'] == $active_tab) { |
| | | |
| | | // If module is set, then set the template path relative to the module.. |
| | |
| | | |
| | | // Generate the template if it does not exist yet. |
| | | |
| | | // Translate the title of the tab |
| | | $tab['title'] = $this->lng($tab['title']); |
| | | |
| | | |
| | | if(!is_file($tab["template"])) { |
| | | $app->uses('tform_tpl_generator'); |
| | |
| | | |
| | | } |
| | | |
| | | 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; |
| | |
| | | |
| | | // translation function for forms, tries the form wordbook first and if this fails, it tries the global wordbook |
| | | function lng($msg) { |
| | | global $app; |
| | | global $app,$conf; |
| | | |
| | | if(isset($this->wordbook[$msg])) { |
| | | return $this->wordbook[$msg]; |