diff options
| author | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-10-18 10:12:05 +0000 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-10-18 10:12:05 +0000 |
| commit | 03201756a37bfde4c08475efa3cbbb88c7bba412 (patch) | |
| tree | caa967b803adc03ecf1824c85fc3f3069deb5482 /lib | |
| parent | b8125766ac9b958d1df4a2c39f5bbe016850abc1 (diff) | |
escape semester name and drop GlobalSearchBuzzwords, fixes #3366
Closes #3366
Merge request studip/studip!2290
Diffstat (limited to 'lib')
4 files changed, 3 insertions, 95 deletions
diff --git a/lib/classes/globalsearch/GlobalSearchBuzzwords.php b/lib/classes/globalsearch/GlobalSearchBuzzwords.php deleted file mode 100644 index fb9294a..0000000 --- a/lib/classes/globalsearch/GlobalSearchBuzzwords.php +++ /dev/null @@ -1,92 +0,0 @@ -<?php -/** - * GlobalSearchModule for buzzwords: words that trigger some manual info, - * e.g. links to Campus systems etc. - * - * @author Thomas Hackl <thomas.hackl@uni-passau.de> - * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 - * @category Stud.IP - * @since 4.1 - */ -class GlobalSearchBuzzwords extends SimpleORMap -{ - - /** - * SimpleORMap metadata. - * @param array $config configuration for SORM. - */ - protected static function configure($config = []) - { - $config['db_table'] = 'globalsearch_buzzwords'; - $config['additional_fields']['rightsname'] = true; - parent::configure($config); - } - - /** - * Gets the Stud.IP name for a given permission level. - * @return false|int|string - */ - public function getRightsname() - { - return array_search($this->rights, $GLOBALS['perm']->permissions); - } - - /** - * Returns the displayname for this module - * - * @return string - */ - public static function getName() - { - return _('Stichwörter'); - } - - /** - * Transforms the search request into an sql statement, that provides the id (same as getId) as type and - * the object id, that is later passed to the filter. - * - * This function is required to make use of the mysql union parallelism - * - * @param string $search the input query string - * @return String SQL Query to discover elements for the search - */ - public static function getSQL($search, $filter, $limit) - { - if (!$search) { - return null; - } - - $query = DBManager::get()->quote("%{$search}%"); - $rights = $GLOBALS['perm']->permissions[$GLOBALS['perm']->get_perm()]; - - return "SELECT SQL_CALC_FOUND_ROWS * - FROM `globalsearch_buzzwords` - WHERE `buzzwords` LIKE {$query} - AND {$rights} >= rights"; - } - - /** - * Returns an array of information for the found element. Following information (key: description) is necessary - * - * - name: The name of the object - * - url: The url to send the user to when he clicks the link - * - * Additional informations are: - * - * - additional: Subtitle for the hit - * - expand: Url if the user further expands the search - * - img: Avatar for the - * - * @param array $buzz - * @param string $search - * @return array - */ - public static function filter($buzz, $search) - { - return [ - 'name' => htmlReady($buzz['name']), - 'url' => $buzz['url'], - 'additional' => $buzz['subtitle'] - ]; - } -} diff --git a/lib/classes/globalsearch/GlobalSearchCourses.php b/lib/classes/globalsearch/GlobalSearchCourses.php index ed124da..3725484 100644 --- a/lib/classes/globalsearch/GlobalSearchCourses.php +++ b/lib/classes/globalsearch/GlobalSearchCourses.php @@ -216,7 +216,7 @@ class GlobalSearchCourses extends GlobalSearchModule implements GlobalSearchFull 'number' => self::mark($course->veranstaltungsnummer, $search), 'name' => self::mark($course->getFullname(), $search), 'url' => URLHelper::getURL("dispatch.php/course/details/index/{$course->id}", [], true), - 'date' => $semester->short_name, + 'date' => htmlReady($semester->short_name), 'dates' => $turnus_string, 'has_children' => count($course->children) > 0, 'children' => $result_children, diff --git a/lib/classes/globalsearch/GlobalSearchModules.php b/lib/classes/globalsearch/GlobalSearchModules.php index 66d5317..b9f8720 100644 --- a/lib/classes/globalsearch/GlobalSearchModules.php +++ b/lib/classes/globalsearch/GlobalSearchModules.php @@ -141,7 +141,7 @@ class GlobalSearchModules extends GlobalSearchModule true ), 'img' => Icon::create('learnmodule', $icon_role)->asImagePath(), - 'date' => $duration, + 'date' => htmlReady($duration), 'expand' => self::getSearchURL($search), 'additional' => $additional, ]; diff --git a/lib/classes/globalsearch/GlobalSearchMyCourses.php b/lib/classes/globalsearch/GlobalSearchMyCourses.php index acafde5..124fb17 100644 --- a/lib/classes/globalsearch/GlobalSearchMyCourses.php +++ b/lib/classes/globalsearch/GlobalSearchMyCourses.php @@ -153,7 +153,7 @@ class GlobalSearchMyCourses extends GlobalSearchModule 'number' => self::mark($course->veranstaltungsnummer, $search), 'name' => self::mark($course->getFullname(), $search), 'url' => URLHelper::getURL('seminar_main.php', ['cid' => $course->id], true), - 'date' => $semester->short_name, + 'date' => htmlReady($semester->short_name), 'dates' => $turnus_string, 'has_children' => count($course->children) > 0, 'children' => $result_children, |
