Merge pull request #4140 from GPCsolutions/dolibarr-sql

[Qual] More robust sorting
This commit is contained in:
Laurent Destailleur 2015-12-03 12:06:01 +01:00
commit c088de517e

View File

@ -221,7 +221,7 @@ abstract class DoliDB implements Database
* Define sort criteria of request * Define sort criteria of request
* *
* @param string $sortfield List of sort fields, separated by comma. Example: 't1.fielda, t2.fieldb' * @param string $sortfield List of sort fields, separated by comma. Example: 't1.fielda, t2.fieldb'
* @param string $sortorder Sort order * @param 'ASC'|'DESC' $sortorder Sort order
* @return string String to provide syntax of a sort sql string * @return string String to provide syntax of a sort sql string
*/ */
function order($sortfield=null,$sortorder=null) function order($sortfield=null,$sortorder=null)
@ -236,9 +236,11 @@ abstract class DoliDB implements Database
else $return.=','; else $return.=',';
$return.=preg_replace('/[^0-9a-z_\.]/i','',$val); $return.=preg_replace('/[^0-9a-z_\.]/i','',$val);
if (! empty($sortorder)) // Only ASC and DESC values are valid SQL
{ if ($sortorder === 'ASC') {
$return.=' '.preg_replace('/[^0-9a-z]/i','',$sortorder); $return .= ' ASC';
} elseif ($sortorder === 'DESC') {
$return .= ' DESC';
} }
} }
return $return; return $return;