ftimme
2012-05-30 2cb1563f63386b35a69e460051aa9b4a2851d104
interface/lib/classes/tform.inc.php
@@ -150,6 +150,8 @@
            if(isset($wb_global)) unset($wb_global);
            
                $this->wordbook = $wb;
            $this->dateformat = $app->lng('conf_format_dateshort');
                return true;
        }
@@ -362,7 +364,12 @@
                        $record = $this->decode($record,$tab);
                        if(is_array($record)) {
                                foreach($this->formDef['tabs'][$tab]['fields'] as $key => $field) {
                                        $val = $record[$key];
                                        if(isset($record[$key])) {
                                 $val = $record[$key];
                              } else {
                                 $val = '';
                              }
                                        // If Datasource is set, get the data from there
                                        if(isset($field['datasource']) && is_array($field['datasource'])) {
@@ -476,7 +483,11 @@
                                        break;
                                        default:
                                 if(isset($record[$key])) {
                                                $new_record[$key] = htmlspecialchars($record[$key]);
                                 } else {
                                    $new_record[$key] = '';
                                 }
                                        }
                                }
                        }
@@ -758,7 +769,17 @@
                                        }
                                break;
                                case 'ISEMAIL':
                                        if(!preg_match("/^\w+[\w\.\-\+]*\w{0,}@\w+[\w.-]*\w+\.[a-zA-Z0-9\-]{2,30}$/i", $field_value)) {
                                    if(function_exists('filter_var')) {
                              if(!filter_var($field_value, FILTER_VALIDATE_EMAIL)) {
                                 $errmsg = $validator['errmsg'];
                                            if(isset($this->wordbook[$errmsg])) {
                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                 } else {
                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                 }
                                        }
                           } else {
                              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";
@@ -766,8 +787,19 @@
                                       $this->errorMessage .= $errmsg."<br />\r\n";
                                    }
                                        }
                           }
                                break;
                                case 'ISINT':
                           if(function_exists('filter_var')) {
                              if(!filter_var($field_value, FILTER_VALIDATE_INT)) {
                                 $errmsg = $validator['errmsg'];
                                            if(isset($this->wordbook[$errmsg])) {
                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                 } else {
                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                 }
                                        }
                           } else {
                                        $tmpval = intval($field_value);
                                        if($tmpval === 0 and !empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
@@ -777,6 +809,7 @@
                                       $this->errorMessage .= $errmsg."<br />\r\n";
                                    }
                                        }
                           }
                                break;
                                case 'ISPOSITIVE':
                                        if(!is_numeric($field_value) || $field_value <= 0){