From c89b17558da887a4e1c4164307b54b0576c23376 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Tue, 21 May 2024 07:13:15 +0000 Subject: [PATCH] remove StudipTransformFormat, fixes #4188 Closes #4188 Merge request studip/studip!3024 --- RELEASE-NOTES.md | 1 + lib/classes/StudipTransformFormat.php | 99 --------------------------- 2 files changed, 1 insertion(+), 99 deletions(-) delete mode 100644 lib/classes/StudipTransformFormat.php diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 3253801478f..556cee65007 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -56,6 +56,7 @@ - `getPresenceTypes()` - Die Klasse `AuxLockRules` wurde ausgebaut. ([Issue #4187](https://gitlab.studip.de/studip/studip/-/issues/4187)) - Die Klasse `ProfileModel` wurde gelöscht. Die darin enthaltenen Methoden wurden in den `Profile_Controller` verschoben. ([Issue #4185]https://gitlab.studip.de/studip/studip/-/issues/4185)) +- Die Klasse `StudipTransformFormat` wurde ausgebaut ([Issue #4188](https://gitlab.studip.de/studip/studip/-/issues/4188)) ## Security related issues diff --git a/lib/classes/StudipTransformFormat.php b/lib/classes/StudipTransformFormat.php deleted file mode 100644 index 04cf7a3c5e2..00000000000 --- a/lib/classes/StudipTransformFormat.php +++ /dev/null @@ -1,99 +0,0 @@ -<?php -/** - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * @author <mlunzena@uos.de - * @license http://www.gnu.org/licenses/gpl-2.0.html GPL version 2 - * @category Stud.IP - */ - -/** - * Format class to transform text before it is saved into the database. - * @deprecated since Stud.IP 5.3 - */ -class StudipTransformFormat extends TextFormat -{ - /** - * list of global Stud.IP transform markup rules - */ - private static $studip_rules = [ - 'signature' => [ - 'start' => '(?<!~)~~~(?!~)', - 'callback' => 'StudipTransformFormat::markupSignature' - ] - ,'nop' => [ - 'start' => '\[nop\](.*?)\[\/nop\]', - 'callback' => 'StudipTransformFormat::markupNoFormat' - ], - ]; - - /** - * Returns the list of global Stud.IP markup rules as an array. - * Each entry has the following attributes: 'start', 'end' and - * 'callback'. The rule name is used as the entry's array key. - * - * @return array list of all markup rules - */ - public static function getStudipMarkups() - { - return self::$studip_rules; - } - - /** - * Adds a new markup rule to the global Stud.IP markup set. This can - * also be used to replace an existing markup rule. The end regular - * expression is optional (i.e. may be NULL) to indicate that this - * rule has an empty content model. The callback is called whenever - * the rule matches and is passed the following arguments: - * - * - $markup the markup parser object - * - $matches match results of preg_match for $start - * - $contents (parsed) contents of this markup rule - * - * @param string $name name of this rule - * @param string $start start regular expression - * @param string $end end regular expression (optional) - * @param callback $callback function generating output of this rule - */ - public static function addStudipMarkup($name, $start, $end, $callback) - { - self::$studip_rules[$name] = compact('start', 'end', 'callback'); - } - - /** - * Removes a markup rule from the global Stud.IP markup set. - * - * @param string $name name of the rule - */ - public static function removeStudipMarkup($name) - { - unset(self::$studip_rules[$name]); - } - - /** - * Initializes a new StudipFormat instance. - */ - public function __construct() - { - parent::__construct(self::getStudipMarkups()); - } - - /** - * Stud.IP markup for signatures - */ - protected static function markupSignature($markup, $matches) - { - return get_fullname(); - } - - /** - * Stud.IP markup for unformatted text - */ - protected static function markupNoFormat($markup, $matches) - { - return '[nop]' . $markup->quote($matches[1]) . '[/nop]'; - } -} -- GitLab