From ff3d2fea48a26a7ecb23ed34b754ed25fbe35cc6 Mon Sep 17 00:00:00 2001 From: Marvin Beym Date: Tue, 3 Feb 2026 14:03:21 +0100 Subject: [PATCH] Check global search settings "active" & "time_limited" options in user search --- .../Search/classes/class.ilUserSearch.php | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/components/ILIAS/Search/classes/class.ilUserSearch.php b/components/ILIAS/Search/classes/class.ilUserSearch.php index 40b605335c26..913d00c2c2b6 100755 --- a/components/ILIAS/Search/classes/class.ilUserSearch.php +++ b/components/ILIAS/Search/classes/class.ilUserSearch.php @@ -1,27 +1,22 @@ inactive_check = $a_enabled; } + public function enableTimeLimitedCheck(bool $a_enabled): void + { + $this->time_limited_check = $a_enabled; + } + public function performSearch(): ilSearchResult { $where = $this->__createWhereCondition(); @@ -63,6 +64,15 @@ public function performSearch(): ilSearchResult $query .= 'AND active = 0 '; } + if ($this->time_limited_check) { + $query .= "AND " . sprintf( + '(usr_data.time_limit_unlimited = %s OR (time_limit_from < %s AND time_limit_until > %s))', + $this->db->quote(1, ilDBConstants::T_INTEGER), + $this->db->quote(time(), ilDBConstants::T_INTEGER), + $this->db->quote(time(), ilDBConstants::T_INTEGER) + ) . " "; + } + $res = $this->db->query($query); while ($row = $res->fetchRow(ilDBConstants::FETCHMODE_OBJECT)) {