mirror of
https://github.com/nuxsmin/sysPass.git
synced 2026-03-23 00:36:52 +01:00
* Fixed row count method pattern replacement
This commit is contained in:
@@ -287,9 +287,9 @@ class SP_Category
|
||||
|
||||
$data['id'] = $id;
|
||||
|
||||
$db = new DB();
|
||||
$db->setParamData($data);
|
||||
return $db->getFullRowCount($query);
|
||||
DB::getQuery($query, __FUNCTION__, $data);
|
||||
|
||||
return DB::$last_num_rows;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -353,14 +353,18 @@ class DB
|
||||
* @return int Número de files de la consulta
|
||||
* @throws SPDatabaseException
|
||||
*/
|
||||
public function getFullRowCount(&$query)
|
||||
private function getFullRowCount(&$query)
|
||||
{
|
||||
if (empty($query)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
$patterns = array('/(LIMIT|ORDER BY).*/i', '/SELECT.*FROM/i');
|
||||
$replace = array('', 'SELECT COUNT(*) FROM');
|
||||
$patterns = array(
|
||||
'/(LIMIT|ORDER BY|GROUP BY).*/i',
|
||||
'/SELECT DISTINCT\s([\w_]+),.* FROM/i',
|
||||
'/SELECT [\w_]+,.* FROM/i'
|
||||
);
|
||||
$replace = array('','SELECT COUNT(DISTINCT \1) FROM', 'SELECT COUNT(*) FROM');
|
||||
|
||||
$query = preg_replace($patterns, $replace, $query);
|
||||
|
||||
@@ -376,9 +380,6 @@ class DB
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME
|
||||
//error_log("numrows: " . $num);
|
||||
|
||||
$queryRes->closeCursor();
|
||||
|
||||
return $num;
|
||||
|
||||
@@ -265,10 +265,9 @@ class SP_Migrate
|
||||
|
||||
$data['id'] = $currentUserId;
|
||||
|
||||
$db = new DB();
|
||||
$db->setParamData($data);
|
||||
DB::getQuery($query, __FUNCTION__, $data);
|
||||
|
||||
return ($db->getFullRowCount($query) === 0);
|
||||
return (DB::$last_num_rows === 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user