mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-13 04:53:26 +00:00
fix search filter and export
This commit is contained in:
@@ -39,6 +39,8 @@ class User_Query
|
||||
const LIKE_MATCH_OR = 'OR';
|
||||
const LIKE_TYPE_START = 'like_start';
|
||||
const LIKE_TYPE_CONTAINS = 'like_contains';
|
||||
const LIKE_TYPE_FINISH = 'like_finish';
|
||||
const LIKE_TYPE_EMPTY = 'like_empty';
|
||||
|
||||
protected $app;
|
||||
protected $results = [];
|
||||
@@ -1008,7 +1010,15 @@ class User_Query
|
||||
, self::LIKE_LASTNAME
|
||||
, str_replace(['"', '%'], ['\"', '\%'], $like_val)
|
||||
);
|
||||
} else {
|
||||
} elseif ($this->like_type == self::LIKE_TYPE_FINISH) {
|
||||
$queries[] = sprintf(
|
||||
' (Users.`%s` LIKE "%%%s" COLLATE utf8_unicode_ci OR Users.`%s` LIKE "%%%s" COLLATE utf8_unicode_ci) '
|
||||
, self::LIKE_FIRSTNAME
|
||||
, str_replace(['"', '%'], ['\"', '\%'], $like_val)
|
||||
, self::LIKE_LASTNAME
|
||||
, str_replace(['"', '%'], ['\"', '\%'], $like_val)
|
||||
);
|
||||
} elseif ($this->like_type == self::LIKE_TYPE_START) {
|
||||
$queries[] = sprintf(
|
||||
' (Users.`%s` LIKE "%s%%" COLLATE utf8_unicode_ci OR Users.`%s` LIKE "%s%%" COLLATE utf8_unicode_ci) '
|
||||
, self::LIKE_FIRSTNAME
|
||||
@@ -1017,7 +1027,16 @@ class User_Query
|
||||
, str_replace(['"', '%'], ['\"', '\%'], $like_val)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->like_type == self::LIKE_TYPE_EMPTY) {
|
||||
$queries[] = sprintf(
|
||||
' ((Users.`%s` is NULL OR Users.`%s` = "") AND (Users.`%s` is NULL OR Users.`%s` = "")) '
|
||||
, self::LIKE_FIRSTNAME
|
||||
, self::LIKE_FIRSTNAME
|
||||
, self::LIKE_LASTNAME
|
||||
, self::LIKE_LASTNAME
|
||||
);
|
||||
}
|
||||
|
||||
if (count($queries) > 0) {
|
||||
@@ -1036,6 +1055,18 @@ class User_Query
|
||||
, $like_field
|
||||
, str_replace(['"', '%'], ['\"', '\%'], $like_value)
|
||||
);
|
||||
} elseif ($this->like_type == self::LIKE_TYPE_FINISH) {
|
||||
$sql_like[] = sprintf(
|
||||
' Users.`%s` LIKE "%%%s" COLLATE utf8_unicode_ci '
|
||||
, $like_field
|
||||
, str_replace(['"', '%'], ['\"', '\%'], $like_value)
|
||||
);
|
||||
} elseif ($this->like_type == self::LIKE_TYPE_EMPTY) {
|
||||
$sql_like[] = sprintf(
|
||||
' (Users.`%s` is NULL OR Users.`%s` = "") '
|
||||
, $like_field
|
||||
, $like_field
|
||||
);
|
||||
} else {
|
||||
$sql_like[] = sprintf(
|
||||
' Users.`%s` LIKE "%s%%" COLLATE utf8_unicode_ci '
|
||||
|
Reference in New Issue
Block a user