Martin
2016-07-01 33f68a7706452c727767af05905ee6e7934c14c6
interface/lib/classes/validate_dns.inc.php
@@ -104,7 +104,7 @@
      }
      if(substr($field, -1) == '.' && $area == 'Name'){
         $soa = $app->db->queryOneRecord("SELECT * FROM soa WHERE id = ".intval($zoneid));
         $soa = $app->db->queryOneRecord("SELECT * FROM soa WHERE id = ?", $zoneid);
         if(substr($field, (strlen($field) - strlen($soa['origin']))) != $soa['origin']) $error .= $desc." ".$app->tform->wordbook['error_out_of_zone']."<br>\r\n";
      }
@@ -283,5 +283,36 @@
      }
      return $new_serial;
   }
   function validate_xfer($field_name, $field_value, $validator) {
      global $app;
      $errorMessage = '';
      if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
      if($validator['allowempty'] == 'y' && $field_value == '') {
         //* Do nothing
      } elseif ($field_value == 'any') {
         //* Do nothing
      } else {
         //* Check if its a IPv4 or IPv6 address
         if(isset($validator['separator']) && $validator['separator'] != '') {
            //* When the field may contain several IP addresses, split them by the char defined as separator
            $field_value_array = explode($validator['separator'], $field_value);
         } else {
            $field_value_array[] = $field_value;
         }
         foreach($field_value_array as $field_value) {
            $field_value = trim($field_value);
            if(function_exists('filter_var')) {
                  if(!filter_var($field_value, FILTER_VALIDATE_IP)) {
                  $errmsg = $validator['errmsg'];
                  $errorMessage .= $app->tform->lng($errmsg)."<br />\r\n";
               }
            } else $this->errorMessage .= "function filter_var missing <br />\r\n";
         }
      }
      return $errorMessage;
   }
}