From 11a0f012695e91af09680cc8d0470baedc5ed2c7 Mon Sep 17 00:00:00 2001 From: Peter Thienel Date: Fri, 20 Mar 2026 13:15:51 +0100 Subject: use api to search for files/materials, re #6368 --- app/controllers/materialien/files.php | 2 +- lib/models/MvvFile.php | 22 +++++----------------- 2 files changed, 6 insertions(+), 18 deletions(-) diff --git a/app/controllers/materialien/files.php b/app/controllers/materialien/files.php index f767ac6..8d20593 100644 --- a/app/controllers/materialien/files.php +++ b/app/controllers/materialien/files.php @@ -558,7 +558,7 @@ class Materialien_FilesController extends MVVController $this->filter = []; //Document name - $this->sessSet('search_term', Request::get('dokument_suche')); + $this->sessSet('search_term', Request::get('name_filter')); if (trim(Request::get('name_filter'))) { $this->filter['searchnames'] = trim(Request::get('name_filter')); diff --git a/lib/models/MvvFile.php b/lib/models/MvvFile.php index 740a38d..21026e8 100644 --- a/lib/models/MvvFile.php +++ b/lib/models/MvvFile.php @@ -450,33 +450,21 @@ class MvvFile extends ModuleManagementModel public static function getIdsFiltered($filter, $file_ids = false) { $id_type = $file_ids ? 'mvvfile_id' : 'range_id'; - $name_filter_join = ''; - $name_filter_where = ''; - $parameters = []; - if (!empty($filter['searchnames'])) { - $name_filter_join = 'LEFT JOIN `mvv_files_filerefs` USING (`mvvfile_id`) - INNER JOIN `file_refs` ON (`fileref_id` = `file_refs`.`id`)'; - $name_filter_where = " AND CONCAT_WS(' ', `file_refs`.`name`, `mvv_files_filerefs`.`name`, `mvv_files`.`category`,`mvv_files`.`tags`) LIKE :needle"; - $parameters[':needle'] = "%{$filter['searchnames']}%"; - unset($filter['searchnames']); - } $sql = "SELECT DISTINCT `mvv_files_ranges`.`{$id_type}` FROM `mvv_files` - LEFT JOIN `mvv_files_ranges` USING (`mvvfile_id`)" - . $name_filter_join . - 'LEFT JOIN `mvv_abschl_zuord` ON (`mvv_abschl_zuord`.`kategorie_id` = `mvv_files_ranges`.`range_id`) + LEFT JOIN `mvv_files_ranges` USING (`mvvfile_id`) + LEFT JOIN `mvv_abschl_zuord` ON (`mvv_abschl_zuord`.`kategorie_id` = `mvv_files_ranges`.`range_id`) LEFT JOIN `abschluss` USING(`abschluss_id`) LEFT JOIN `mvv_studiengang` ON (`mvv_studiengang`.`abschluss_id` = `abschluss`.`abschluss_id` OR `mvv_studiengang`.`studiengang_id` = `mvv_files_ranges`.`range_id`) LEFT JOIN `semester_data` `start_sem` ON (`mvv_studiengang`.`start` = `start_sem`.`semester_id`) LEFT JOIN `semester_data` `end_sem` - ON (`mvv_studiengang`.`end` = `end_sem`.`semester_id`)' - . self::getFilterSql($filter, true) - . $name_filter_where; + ON (`mvv_studiengang`.`end` = `end_sem`.`semester_id`)" + . self::getFilterSql($filter, true); $stm = DBManager::get()->prepare($sql); - $stm->execute($parameters); + $stm->execute(); return $stm->fetchAll(PDO::FETCH_COLUMN, 0); } -- cgit v1.0