From 7812bd20f75485cba088b1c8edc0e3526aceeb3b Mon Sep 17 00:00:00 2001 From: cdujeu Date: Thu, 27 Nov 2014 13:04:21 +0100 Subject: [PATCH] Admin search engine was getting the shared children of every results (for users), thus returning useless results. Change AuthService::listUsers() to not load children if query is not really paginated ( offset or limit different from -1). --- core/src/core/classes/class.AuthService.php | 2 +- .../plugins/access.ajxp_conf/class.ajxp_confAccessDriver.php | 1 - core/src/plugins/auth.sql/class.sqlAuthDriver.php | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/core/classes/class.AuthService.php b/core/src/core/classes/class.AuthService.php index dfe371af3b..b1c2ddff98 100644 --- a/core/src/core/classes/class.AuthService.php +++ b/core/src/core/classes/class.AuthService.php @@ -976,7 +976,7 @@ public static function listUsers($baseGroup = "/", $regexp = null, $offset = -1, $paginated = false; if (($regexp != null || $offset != -1 || $limit != -1) && $authDriver->supportsUsersPagination()) { $users = $authDriver->listUsersPaginated($baseGroup, $regexp, $offset, $limit, $recursive); - $paginated = true; + $paginated = ($offset != -1 || $limit != -1); } else { $users = $authDriver->listUsers($baseGroup); } diff --git a/core/src/plugins/access.ajxp_conf/class.ajxp_confAccessDriver.php b/core/src/plugins/access.ajxp_conf/class.ajxp_confAccessDriver.php index d80d56e290..0c0df5d867 100644 --- a/core/src/plugins/access.ajxp_conf/class.ajxp_confAccessDriver.php +++ b/core/src/plugins/access.ajxp_conf/class.ajxp_confAccessDriver.php @@ -262,7 +262,6 @@ public function searchAction($action, $httpVars, $fileVars) if(! AJXP_Utils::decodeSecureMagic($httpVars["dir"]) == "/data/users") return; $query = AJXP_Utils::decodeSecureMagic($httpVars["query"]); AJXP_XMLWriter::header(); - $this->recursiveSearchGroups("/", $query); AJXP_XMLWriter::close(); diff --git a/core/src/plugins/auth.sql/class.sqlAuthDriver.php b/core/src/plugins/auth.sql/class.sqlAuthDriver.php index 6c12a2c764..180883242a 100644 --- a/core/src/plugins/auth.sql/class.sqlAuthDriver.php +++ b/core/src/plugins/auth.sql/class.sqlAuthDriver.php @@ -74,7 +74,7 @@ public function listUsersPaginated($baseGroup, $regexp, $offset, $limit, $recurs $res = dibi::query("SELECT * FROM [ajxp_users] AS u WHERE $groupPathCondition AND $ignoreHiddens ORDER BY [login] ASC", $baseGroup); } $pairs = $res->fetchPairs('login', 'password'); - return $pairs; + return $pairs; } public function findUserPage($baseGroup, $userLogin, $usersPerPage, $offset){