diff --git a/main/inc/lib/sessionmanager.lib.php b/main/inc/lib/sessionmanager.lib.php index 7b1bc454b7..4f788afcea 100755 --- a/main/inc/lib/sessionmanager.lib.php +++ b/main/inc/lib/sessionmanager.lib.php @@ -6126,12 +6126,34 @@ class SessionManager if (!empty($keyword)) { $keyword = Database::escape_string($keyword); + + $keywordParts = explode(' ', $keyword); + $extraConditions = ''; + if (!empty($keywordParts)) { + $keywordParts = array_filter($keywordParts); + foreach ($keywordParts as $part) { + if (empty($part)) { + continue; + } + $part = Database::escape_string($part); + $extraConditions .= " + OR + (u.username LIKE '%$part%' OR + u.firstname LIKE '%$part%' OR + u.lastname LIKE '%$part%' OR + u.official_code LIKE '%$part%' + ) + "; + } + } + $userConditions .= " AND ( u.username LIKE '%$keyword%' OR u.firstname LIKE '%$keyword%' OR u.lastname LIKE '%$keyword%' OR u.official_code LIKE '%$keyword%' OR u.email LIKE '%$keyword%' + $extraConditions )"; } @@ -6199,6 +6221,7 @@ class SessionManager } $sql .= $limitCondition; + var_dump($sql); $result = Database::query($sql); return Database::store_result($result); diff --git a/main/inc/lib/usermanager.lib.php b/main/inc/lib/usermanager.lib.php index aed43c685b..156d8f2dfc 100755 --- a/main/inc/lib/usermanager.lib.php +++ b/main/inc/lib/usermanager.lib.php @@ -5395,12 +5395,35 @@ class UserManager if (!empty($keyword)) { $keyword = Database::escape_string($keyword); + + $keywordParts = explode(' ', $keyword); + $extraConditions = ''; + if (!empty($keywordParts)) { + $keywordParts = array_filter($keywordParts); + foreach ($keywordParts as $part) { + if (empty($part)) { + continue; + } + $part = Database::escape_string($part); + $extraConditions .= " + OR + (u.username LIKE '%$part%' OR + u.firstname LIKE '%$part%' OR + u.lastname LIKE '%$part%' OR + u.official_code LIKE '%$part%' + ) + "; + } + } + $userConditions .= " AND ( u.username LIKE '%$keyword%' OR u.firstname LIKE '%$keyword%' OR u.lastname LIKE '%$keyword%' OR u.official_code LIKE '%$keyword%' OR u.email LIKE '%$keyword%' + + $extraConditions )"; }