Fixed missing consideration of the removeLinks parameter in bbcodes
authorMarcel Werk <burntime@woltlab.com>
Thu, 6 Feb 2020 17:42:56 +0000 (18:42 +0100)
committerMarcel Werk <burntime@woltlab.com>
Thu, 6 Feb 2020 17:42:56 +0000 (18:42 +0100)
wcfsetup/install/files/lib/system/bbcode/EmailBBCode.class.php
wcfsetup/install/files/lib/system/bbcode/MediaBBCode.class.php

index 7eb66696fe52194dd717e2d2f9fbc665da057e96..348616502ab9d4526ded41ef02ca774f14f117ed 100644 (file)
@@ -21,6 +21,12 @@ class EmailBBCode extends AbstractBBCode {
                }
                $email = StringUtil::decodeHTML($email);
                
-               return '<a href="mailto:' . StringUtil::encodeAllChars($email) . '">' . StringUtil::encodeHTML($email) . '</a>';
+               /** @var HtmlBBCodeParser $parser */
+               if ($parser->getRemoveLinks()) {
+                       return StringUtil::encodeHTML($email);
+               }
+               else {
+                       return '<a href="mailto:' . StringUtil::encodeAllChars($email) . '">' . StringUtil::encodeHTML($email) . '</a>';
+               }
        }
 }
index 2ecc56dd935df1cece5a3c6390f632a1678ecafc..c5e71e94b1dd635a85fed6139b8e993eeebd349c 100644 (file)
@@ -18,6 +18,7 @@ class MediaBBCode extends AbstractBBCode {
        public function getParsedTag(array $openingTag, $content, array $closingTag, BBCodeParser $parser) {
                $content = StringUtil::trim($openingTag['attributes'][0]);
                
+               /** @var HtmlBBCodeParser $parser */
                if ($parser->getOutputType() == 'text/html') {
                        foreach (BBCodeMediaProvider::getCache() as $provider) {
                                if ($provider->matches($content)) {
@@ -25,7 +26,7 @@ class MediaBBCode extends AbstractBBCode {
                                }
                        }
                }
-               else if ($parser->getOutputType() == 'text/simplified-html') {
+               else if ($parser->getOutputType() == 'text/simplified-html' && !$parser->getRemoveLinks()) {
                        foreach (BBCodeMediaProvider::getCache() as $provider) {
                                if ($provider->matches($content)) {
                                        return StringUtil::getAnchorTag($content);