redray
2008-12-22 acca9a3d3af26f4559fa051fb819df91ab9ffbcf
interface/lib/classes/tform.inc.php
@@ -631,6 +631,19 @@
                                }
                                        }
                                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) {
                                                $this->errorMessage .= $field_name.": ".$this->wordbook['ipv4_validator_error_txt']."<br />\r\n";
                                        }
                                break;
                                case 'CUSTOM':
                                        // Calls a custom class to validate this record
                                        if($validator['class'] != '' and $validator['function'] != '') {
@@ -906,8 +919,8 @@
                        $escape = '`';
                }
                $diffrec = array();
                $this->diffrec = array();
            /*
                if(is_array($record_new) && count($record_new) > 0) {
                        foreach($record_new as $key => $val) {
                                if(@$record_old[$key] != $val) {
@@ -926,7 +939,7 @@
                        }
                }
            $this->diffrec = $diffrec;
            */
            
            // Full diff records for ISPConfig, they have a different format then the simple diffrec
            $diffrec_full = array();
@@ -938,6 +951,8 @@
                                    // Record has changed
                           $diffrec_full['old'][$key] = $val;
                           $diffrec_full['new'][$key] = $record_new[$key];
                           $this->diffrec[$key] = array(   'new' => $record_new[$key],
                                                                     'old' => $val);
                                } else {
                           $diffrec_full['old'][$key] = $val;
                           $diffrec_full['new'][$key] = $val;
@@ -949,6 +964,8 @@
                                    // Record has changed
                           $diffrec_full['new'][$key] = $val;
                           $diffrec_full['old'][$key] = $record_old[$key];
                           $this->diffrec[$key] = array(   'old' => @$record_old[$key],
                                                                     'new' => $val);
                                } else {
                           $diffrec_full['new'][$key] = $val;
                           $diffrec_full['old'][$key] = $val;
@@ -956,12 +973,13 @@
                        }
                }
            
            //$this->diffrec = $diffrec;
            // Insert the server_id, if the record has a server_id
            $server_id = (isset($record_old["server_id"]) && $record_old["server_id"] > 0)?$record_old["server_id"]:0;
            if(isset($record_new["server_id"])) $server_id = $record_new["server_id"];
                if(count($this->diffrec) > 0) {
                  $diffstr = $app->db->quote(serialize($diffrec_full));
                  $diffstr = addslashes(serialize($diffrec_full));
                        $username = $app->db->quote($_SESSION["s"]["user"]["username"]);
                        $dbidx = $this->formDef['db_table_idx'].":".$primary_id;
                        // $action = ($action == 'INSERT')?'i':'u';