Marius Burkard
2016-07-01 49441bdd0f3ff75d5092d5b832b97ea722a66363
interface/lib/classes/tform_base.inc.php
@@ -562,6 +562,18 @@
                  $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds);
                  break;
               case 'DATE':
                  if (strtotime($val) !== false) {
                     $dt_value = $val;
                  } elseif ( isset($field['default']) && (strtotime($field['default']) !== false) ) {
                     $dt_value = $field['default'];
                  } else {
                     $dt_value = 0;
                  }
                  $new_record[$key] = $this->_getDateHTML($key, $dt_value);
                  break;
               default:
                  if(isset($record[$key])) {
                     $new_record[$key] = htmlspecialchars($record[$key]);
@@ -671,6 +683,12 @@
               $display_seconds = (isset($field['display_seconds']) && $field['display_seconds'] == true) ? true : false;
               $new_record[$key] = $this->_getDateTimeHTML($key, $dt_value, $display_seconds);
               break;
            case 'DATE':
               $dt_value = (isset($field['default'])) ? $field['default'] : 0;
               $new_record[$key] = $this->_getDateHTML($key, $dt_value);
               break;
            default:
@@ -831,7 +849,7 @@
            }
            //* Add slashes to all records, when we encode data which shall be inserted into mysql.
            if($dbencode == true) $new_record[$key] = $app->db->quote($new_record[$key]);
            if($dbencode == true && !is_null($new_record[$key])) $new_record[$key] = $app->db->quote($new_record[$key]);
         }
      }
      return $new_record;
@@ -973,13 +991,22 @@
                  $this->errorMessage .= $errmsg."<br />\r\n";
               }
            }
            break;
         case 'ISEMAIL':
            $error = false;
            if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
            if($validator['allowempty'] == 'y' && $field_value == '') {
               //* Do nothing
            } else {
               if(function_exists('filter_var')) {
                  if(filter_var($field_value, FILTER_VALIDATE_EMAIL) === false) {
                     $error = true;
                  } else {
                     if (!preg_match("/^[^\\+]+$/", $field_value)) { // * disallow + in local-part
                        $error = true;
                     }
                  }
                  if ($error) {
                     $errmsg = $validator['errmsg'];
                     if(isset($this->wordbook[$errmsg])) {
                        $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
@@ -987,11 +1014,13 @@
                        $this->errorMessage .= $errmsg."<br />\r\n";
                     }
                  }
               } else $this->errorMessage .= "function filter_var missing <br />\r\n";
            }
            unset($error);
            break;
         case 'ISINT':
            if(function_exists('filter_var') && $field_value < 2147483647) {
            if(function_exists('filter_var') && $field_value < PHP_INT_MAX) {
               //if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT, array("options" => array('min_range'=>0))) === false) {
               if($field_value != '' && filter_var($field_value, FILTER_VALIDATE_INT) === false) {
                  $errmsg = $validator['errmsg'];
@@ -1028,7 +1057,7 @@
            break;
         case 'V6PREFIXLENGTH':
            // find shortes ipv6 subnet can`t be longer
            $sql_v6 = $app->db->queryOneRecord("SELECT ip_address FROM server_ip WHERE ip_type = 'IPv6' AND virtualhost = 'y' ORDER BY CHAR_LENGTH(ip_address) ASC LIMIT 0,1;");
            $sql_v6 = $app->db->queryOneRecord("SELECT ip_address FROM server_ip WHERE ip_type = 'IPv6' AND virtualhost = 'y' ORDER BY CHAR_LENGTH(ip_address) ASC LIMIT 0,1");
            $sql_v6_explode=explode(':',$sql_v6['ip_address']);
            $explode_field_value = explode(':',$field_value);
            if (count($sql_v6_explode) < count($explode_field_value) && isset($sql_v6['ip_address'])) {
@@ -1233,7 +1262,7 @@
                     }
                  } else {
                     $sql_insert_key .= "`$key`, ";
                     $sql_insert_val .= "'".$record[$key]."', ";
                     $sql_insert_val .= (is_null($record[$key]) ? 'NULL' : "'".$record[$key]."'") . ", ";
                  }
               } else {
                  if($field['formtype'] == 'PASSWORD') {
@@ -1260,7 +1289,7 @@
                        $sql_update .= "`$key` = '".$record[$key]."', ";
                     }
                  } else {
                     $sql_update .= "`$key` = '".$record[$key]."', ";
                     $sql_update .= "`$key` = " . (is_null($record[$key]) ? 'NULL' : "'".$record[$key]."'") . ", ";
                  }
               }
            } else {