tbrehm
2012-03-01 ef1286cd163c94c6ea066ae0c93a1ead11c3f9c5
Updated field validators of remote library.
1 files modified
82 ■■■■ changed files
interface/lib/classes/remoting_lib.inc.php 82 ●●●● patch | view | raw | blame | history
interface/lib/classes/remoting_lib.inc.php
@@ -412,21 +412,21 @@
                                        if(!preg_match($validator['regex'], $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br>\r\n";
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
                                case 'UNIQUE':
                                        if($this->action == 'INSERT') {
                                        if($this->action == 'NEW') {
                                                $num_rec = $app->db->queryOneRecord("SELECT count(*) as number FROM ".$escape.$this->formDef['db_table'].$escape. " WHERE $field_name = '".$app->db->quote($field_value)."'");
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
                                                        if(isset($this->wordbook[$errmsg])) {
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                        } else {
                                                            $this->errorMessage .= $errmsg."<br>\r\n";
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        } else {
@@ -434,9 +434,9 @@
                                                if($num_rec["number"] > 0) {
                                                        $errmsg = $validator['errmsg'];
                                                        if(isset($this->wordbook[$errmsg])) {
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                        } else {
                                                            $this->errorMessage .= $errmsg."<br>\r\n";
                                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                                        }
                                                }
                                        }
@@ -445,19 +445,19 @@
                                        if(empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br>\r\n";
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                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-zA-Z0-9\-]{2,30}$/i", $field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br>\r\n";
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
@@ -466,9 +466,9 @@
                                        if($tmpval === 0 and !empty($field_value)) {
                                                $errmsg = $validator['errmsg'];
                                                if(isset($this->wordbook[$errmsg])) {
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                                    $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                                } else {
                                                    $this->errorMessage .= $errmsg."<br>\r\n";
                                                    $this->errorMessage .= $errmsg."<br />\r\n";
                                                }
                                        }
                                break;
@@ -476,11 +476,59 @@
                                        if(!is_numeric($field_value) || $field_value <= 0){
                                          $errmsg = $validator['errmsg'];
                                          if(isset($this->wordbook[$errmsg])) {
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                          } else {
                                             $this->errorMessage .= $errmsg."<br>\r\n";
                                             $this->errorMessage .= $errmsg."<br />\r\n";
                                          }
                                        }
                                break;
                                case 'ISIPV4':
                                $vip=1;
                                if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){
                                $groups=explode(".",$field_value);
                                foreach($groups as $group){
                                    if($group<0 OR $group>255)
                                    $vip=0;
                                }
                                }else{$vip=0;}
                                        if($vip==0) {
                                        $errmsg = $validator['errmsg'];
                                          if(isset($this->wordbook[$errmsg])) {
                                             $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                          } else {
                                             $this->errorMessage .= $errmsg."<br />\r\n";
                                          }
                                        }
                                break;
                                case 'ISIP':
                                //* Check if its a IPv4 or IPv6 address
                                if(function_exists('filter_var')) {
                                    if(!filter_var($field_value,FILTER_VALIDATE_IP)) {
                                        $errmsg = $validator['errmsg'];
                                        if(isset($this->wordbook[$errmsg])) {
                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                        } else {
                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                        }
                                    }
                                } else {
                                    //* Check content with regex, if we use php < 5.2
                                    $ip_ok = 0;
                                    if(preg_match("/^(\:\:([a-f0-9]{1,4}\:){0,6}?[a-f0-9]{0,4}|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){0,6}?\:\:|[a-f0-9]{1,4}(\:[a-f0-9]{1,4}){1,6}?\:\:([a-f0-9]{1,4}\:){1,6}?[a-f0-9]{1,4})(\/\d{1,3})?$/i", $field_value)){
                                        $ip_ok = 1;
                                    }
                                    if(preg_match("/^[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}(\.)[0-9]{1,3}$/", $field_value)){
                                        $ip_ok = 1;
                                    }
                                    if($ip_ok == 0) {
                                        $errmsg = $validator['errmsg'];
                                        if(isset($this->wordbook[$errmsg])) {
                                            $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                        } else {
                                            $this->errorMessage .= $errmsg."<br />\r\n";
                                        }
                                    }
                                }
                                break;
                                case 'CUSTOM':
                                        // Calls a custom class to validate this record
@@ -490,7 +538,7 @@
                                                $app->uses($validator_class);
                                                $this->errorMessage .= $app->$validator_class->$validator_function($field_name, $field_value, $validator);
                                        } else {
                                                $this->errorMessage .= "Custom validator class or function is empty<br>\r\n";
                                                $this->errorMessage .= "Custom validator class or function is empty<br />\r\n";
                                        }
                                break;
                                default: