From acca9a3d3af26f4559fa051fb819df91ab9ffbcf Mon Sep 17 00:00:00 2001
From: redray <redray@ispconfig3>
Date: Mon, 22 Dec 2008 06:05:06 -0500
Subject: [PATCH] AUto-Subdomain works now with Redirect.

---
 interface/lib/classes/tform.inc.php |   64 ++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 23 deletions(-)

diff --git a/interface/lib/classes/tform.inc.php b/interface/lib/classes/tform.inc.php
index 50dbd15..ca8ac3f 100644
--- a/interface/lib/classes/tform.inc.php
+++ b/interface/lib/classes/tform.inc.php
@@ -247,7 +247,7 @@
                                 $app->uses($datasource_class);
                                 $values = $app->$datasource_class->$datasource_function($field, $record);
                         } else {
-                                $this->errorMessage .= "Custom datasource class or function is empty<br>\r\n";
+                                $this->errorMessage .= "Custom datasource class or function is empty<br />\r\n";
                         }
                 }
 
@@ -527,7 +527,7 @@
                                         $field['regex'] .= 's';
                                         if(!preg_match($field['regex'], $record[$key])) {
                                                 $errmsg = $field['errmsg'];
-                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br>\r\n";
+                                                $this->errorMessage .= $this->wordbook[$errmsg]."<br />\r\n";
                                         }
                                 }
 
@@ -561,9 +561,9 @@
                                         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;
@@ -573,9 +573,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";
 														}
                                                 }
                                         } else {
@@ -583,9 +583,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";
 														}
                                                 }
                                         }
@@ -594,9 +594,9 @@
                                         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;
@@ -604,9 +604,9 @@
                                         if(!preg_match("/^\w+[\w.-]*\w+@\w+[\w.-]*\w+\.[a-z]{2,10}$/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;
@@ -615,9 +615,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;
@@ -625,10 +625,23 @@
                                         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) {
+                                                $this->errorMessage .= $field_name.": ".$this->wordbook['ipv4_validator_error_txt']."<br />\r\n";
                                         }
                                 break;
                                 case 'CUSTOM':
@@ -639,7 +652,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:
@@ -671,9 +684,9 @@
                 // checking permissions
                 if($this->formDef['auth'] == 'yes' && $_SESSION["s"]["user"]["typ"] != 'admin') {
                         if($action == "INSERT") {
-                                if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br>\r\n";
+                                if(!$this->checkPerm($primary_id,'i')) $this->errorMessage .= "Insert denied.<br />\r\n";
                         } else {
-                                if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br>\r\n";
+                                if(!$this->checkPerm($primary_id,'u')) $this->errorMessage .= "Update denied.<br />\r\n";
                         }
                 }
 
@@ -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';

--
Gitblit v1.9.1