From 5c67f75bdb5f5daaf06e077285e767dba44244fe Mon Sep 17 00:00:00 2001
From: xaver <xaver@ispconfig3>
Date: Sun, 15 Jan 2012 06:37:16 -0500
Subject: [PATCH] Added template validation ssh_chroot -> requierd by clients task#1989

---
 interface/lib/classes/listform.inc.php |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/interface/lib/classes/listform.inc.php b/interface/lib/classes/listform.inc.php
index ffa37c1..4f03c68 100644
--- a/interface/lib/classes/listform.inc.php
+++ b/interface/lib/classes/listform.inc.php
@@ -282,7 +282,7 @@
     public function decode($record) 
     {
         global $conf, $app;
-        if(is_array($record)) {
+        if(is_array($record) && count($record) > 0 && is_array($this->listDef['item'])) {
             foreach($this->listDef['item'] as $field){
                 $key = $field['field'];
 				if(isset($record[$key])) {
@@ -295,7 +295,7 @@
                     case 'DATETSTAMP':
                         if ($record[$key] > 0) {
 							// is value int?
-							if (ereg("^[0-9]+[.]?[0-9]*$", $record[$key], $p)) {
+							if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), $record[$key]);
 							} else {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), strtotime($record[$key]));
@@ -305,7 +305,7 @@
 					case 'DATE':
                         if ($record[$key] > 0) {
 							// is value int?
-							if (ereg("^[0-9]+[.]?[0-9]*$", $record[$key], $p)) {
+							if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), $record[$key]);
 							} else {
 	                        	$record[$key] = date($this->lng('conf_format_dateshort'), strtotime($record[$key]));
@@ -316,7 +316,7 @@
                     case 'DATETIME':
                         if ($record[$key] > 0) {
 							// is value int?
-							if (ereg("^[0-9]+[.]?[0-9]*$", $record[$key], $p)) {
+							if (preg_match("/^[0-9]+[.]?[0-9]*$/", $record[$key], $p)) {
 	                        	$record[$key] = date($this->lng('conf_format_datetime'), $record[$key]);
 							} else {
 	                        	$record[$key] = date($this->lng('conf_format_datetime'), strtotime($record[$key]));
@@ -347,6 +347,7 @@
 
     public function encode($record)
     {
+	global $app;
         if(is_array($record)) {
             foreach($this->listDef['item'] as $field){
                 $key = $field['field'];
@@ -355,7 +356,7 @@
                     case 'VARCHAR':
                     case 'TEXT':
                         if(!is_array($record[$key])) {
-                            $record[$key] = mysql_real_escape_string($record[$key]);
+                            $record[$key] = $app->db->quote($record[$key]);
                         } else {
                             $record[$key] = implode($this->tableDef[$key]['separator'],$record[$key]);
                         }
@@ -384,7 +385,7 @@
                         break;
 
                     case 'DOUBLE':
-                        $record[$key] = mysql_real_escape_string($record[$key]);
+                        $record[$key] = $app->db->quote($record[$key]);
                         break;
 
                     case 'CURRENCY':
@@ -422,4 +423,4 @@
 
 }
 
-?>
\ No newline at end of file
+?>

--
Gitblit v1.9.1