Index: kernel/db/dblist.php =================================================================== --- kernel/db/dblist.php (revision 15111) +++ kernel/db/dblist.php (working copy) @@ -477,13 +477,13 @@ */ public function getCountSQL($sql) { - if ( preg_match("/^\s*SELECT\s+DISTINCT(.*?)FROM(?!_)/is",$sql,$regs ) ) + if ( preg_match("/^\s*SELECT\s+DISTINCT(.*?\s)FROM(?!_)/is",$sql,$regs ) ) { - return preg_replace("/^\s*SELECT\s+DISTINCT(.*?)FROM(?!_)/is", "SELECT COUNT(DISTINCT ".$regs[1].") AS count FROM", $sql); + return preg_replace("/^\s*SELECT\s+DISTINCT(.*?\s)FROM(?!_)/is", "SELECT COUNT(DISTINCT ".$regs[1].") AS count FROM", $sql); } else { - return preg_replace("/^\s*SELECT(.*?)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql); + return preg_replace("/^\s*SELECT(.*?\s)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql); } } @@ -591,13 +591,13 @@ $sql = $this->GetSelectSQL(true, false); $fields = str_replace('%1$s', $this->TableName, implode(', ', $fields)); - if ( preg_match("/DISTINCT(.*?)FROM(?!_)/is",$sql,$regs ) ) + if ( preg_match("/DISTINCT(.*?\s)FROM(?!_)/is",$sql,$regs ) ) { - $sql = preg_replace("/^\s*SELECT DISTINCT(.*?)FROM(?!_)/is", 'SELECT '.$fields.' FROM', $sql); + $sql = preg_replace("/^\s*SELECT DISTINCT(.*?\s)FROM(?!_)/is", 'SELECT '.$fields.' FROM', $sql); } else { - $sql = preg_replace("/^\s*SELECT(.*?)FROM(?!_)/is", 'SELECT '.$fields.' FROM ', $sql); + $sql = preg_replace("/^\s*SELECT(.*?\s)FROM(?!_)/is", 'SELECT '.$fields.' FROM ', $sql); } $totals = $this->Conn->Query($sql); Index: units/helpers/cat_dbitem_export_helper.php =================================================================== --- units/helpers/cat_dbitem_export_helper.php (revision 15111) +++ units/helpers/cat_dbitem_export_helper.php (working copy) @@ -473,7 +473,7 @@ $sql .= ' LIMIT ' . $this->exportOptions['start_from'] . ',' . EXPORT_STEP; } /*else { - $sql = preg_replace("/^.*SELECT(.*?)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql); + $sql = preg_replace("/^\s*SELECT(.*?\s)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql); }*/ return $sql; @@ -532,7 +532,7 @@ $sql .= ' LIMIT ' . $this->exportOptions['start_from'] . ',' . EXPORT_STEP; } else { - $sql = preg_replace("/^.*SELECT(.*?)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql); + $sql = preg_replace("/^\s*SELECT(.*?\s)FROM(?!_)/is", "SELECT COUNT(*) AS count FROM ", $sql); } return $sql;