From 95ae8d911d229378336526f37cb8338655e8e614 Mon Sep 17 00:00:00 2001 From: CaMer0n Date: Fri, 2 Nov 2012 20:28:49 +0000 Subject: [PATCH] Bugfix: should fix the db-verify issue with table field-names containing 'char' --- e107_handlers/db_verify_class.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/e107_handlers/db_verify_class.php b/e107_handlers/db_verify_class.php index b0427572a..1502c9318 100644 --- a/e107_handlers/db_verify_class.php +++ b/e107_handlers/db_verify_class.php @@ -33,7 +33,7 @@ class db_verify 'mediumblob','longblob','tinytext','mediumtext','longtext','text','date'); var $fieldTypeNum = array('bit','tinyint','smallint','mediumint','integer','int','bigint', - 'real','double','float','decimal','numeric','varchar','char','binary','varbinary','enum','set'); + 'real','double','float','decimal','numeric','varchar','char ','binary','varbinary','enum','set'); // space after 'char' required. var $modes = array( 'missing_table' => 'create', @@ -217,8 +217,8 @@ class db_verify */ $debugA = $this->tables[$selection]['data'][$key]; // Extracted Raw Field Text - $debugB = $rawSqlData; - // $debugB = $sqlDataArr['data'][0]; // Extracted Raw Field Text + // $debugB = $rawSqlData; + $debugB = $sqlDataArr['data'][0]; // Extracted Raw Field Text if(isset($debugA)) { @@ -728,6 +728,8 @@ class db_verify $regex = "/`?([\w]*)`?\s*?(".implode("|",$this->fieldTypes)."|".implode("|",$this->fieldTypeNum).")\s?(?:\([\s]?([0-9,]*)[\s]?\))?[\s]?(unsigned)?[\s]?.*?(?:(NOT NULL|NULL))?[\s]*(auto_increment|default .*)?[\s]?(?:PRIMARY KEY)?[\s]*?,?\s*?\n/im"; $regex = "/^ *?`?([\w]*)`?\s*?(".implode("|",$this->fieldTypes)."|".implode("|",$this->fieldTypeNum).")\s?(?:\([\s]?([0-9,]*)[\s]?\))?[\s]?(unsigned)?[\s]?.*?(?:(NOT NULL|NULL))?[\s]*(auto_increment|default [\w'.-]*)?[\s]?(?:PRIMARY KEY)?[\s]*?,?\s*?\n/im"; + // echo $regex."

"; + // $regex = "/`?([\w]*)`?\s*(int|varchar|tinyint|smallint|text|char|tinyint) ?(?:\([\s]?([0-9]*)[\s]?\))?[\s]?(unsigned)?[\s]?.*?(NOT NULL|NULL)?[\s]*(auto_increment|default .*)?[\s]?,/i"; // $regex = "/^\s*?`?([\w]*)`?\s*?(".implode("|",$this->fieldTypes)."|".implode("|",$this->fieldTypeNum).")\s?(?:\([\s]?([0-9,]*)[\s]?\))?[\s]?(unsigned)?[\s]?.*?(?:(NOT NULL|NULL))?[\s]*?(auto_increment|default [\w'\".-]*)?[\s]?(?:PRIMARY KEY)?[\s]*?,?\n/im"; @@ -745,7 +747,7 @@ class db_verify foreach($m[1] as $k=>$val) { $ret[$val] = array( - 'type' => strtoupper($m[2][$k]), + 'type' => trim(strtoupper($m[2][$k])), 'value' => $m[3][$k], 'attributes' => strtoupper($m[4][$k]), 'null' => strtoupper($m[5][$k]),