1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-06 06:38:00 +02:00

Fix false matches when table-name contains field-type characters.

This commit is contained in:
CaMer0n
2012-08-18 02:46:57 +00:00
parent a08d1eb2a9
commit 8653c34121

View File

@@ -186,6 +186,8 @@ class db_verify
$rawSqlData = $this->getSqlData($tbl,$language);
if($rawSqlData === FALSE)
{
if($language) continue;
@@ -211,6 +213,7 @@ class db_verify
$debugB .= "<h2>Index</h2>";
$debugB .= print_r($sqlIndexData,TRUE);
*/
// $debugA = $this->tables[$selection]['data'][$key]; // Extracted Raw Field Text
// $debugB = $sqlDataArr['data'][0]; // Extracted Raw Field Text
@@ -722,7 +725,6 @@ 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";
// $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";
@@ -820,7 +822,8 @@ class db_verify
if($z)
{
$row = mysql_fetch_row($z);
return str_replace("`", "", stripslashes($row[1])).';';
return stripslashes($row[1]).';'; // backticks needed.
// return str_replace("`", "", stripslashes($row[1])).';';
}
else
{