Move share content conversion before link handling in Text\BBCode::convert

This commit is contained in:
Hypolite Petovan 2020-06-03 22:02:01 -04:00
parent 297e721ecc
commit 010ec99b35
2 changed files with 10 additions and 9 deletions

View file

@ -1765,6 +1765,15 @@ class BBCode
$text); $text);
} }
// Shared content conversion
// Notice: may create [bookmark] tags so this must be ran before the link handling
$text = self::convertShare(
$text,
function (array $attributes, array $author_contact, $content, $is_quote_share) use ($simple_html) {
return self::convertShareCallback($attributes, $author_contact, $content, $is_quote_share, $simple_html);
}
);
// Bookmarks in red - will be converted to bookmarks in friendica // Bookmarks in red - will be converted to bookmarks in friendica
$text = preg_replace("/#\^\[url\](.*?)\[\/url\]/ism", '[bookmark=$1]$1[/bookmark]', $text); $text = preg_replace("/#\^\[url\](.*?)\[\/url\]/ism", '[bookmark=$1]$1[/bookmark]', $text);
$text = preg_replace("/#\^\[url\=(.*?)\](.*?)\[\/url\]/ism", '[bookmark=$1]$2[/bookmark]', $text); $text = preg_replace("/#\^\[url\=(.*?)\](.*?)\[\/url\]/ism", '[bookmark=$1]$2[/bookmark]', $text);
@ -1883,14 +1892,6 @@ class BBCode
$regex = '#<([^>]*?)(href)="(?!' . implode('|', $allowed_link_protocols) . ')(.*?)"(.*?)>#ism'; $regex = '#<([^>]*?)(href)="(?!' . implode('|', $allowed_link_protocols) . ')(.*?)"(.*?)>#ism';
$text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . DI::l10n()->t('Invalid link protocol') . '">', $text); $text = preg_replace($regex, '<$1$2="javascript:void(0)"$4 data-original-href="$3" class="invalid-href" title="' . DI::l10n()->t('Invalid link protocol') . '">', $text);
// Shared content
$text = self::convertShare(
$text,
function (array $attributes, array $author_contact, $content, $is_quote_share) use ($simple_html) {
return self::convertShareCallback($attributes, $author_contact, $content, $is_quote_share, $simple_html);
}
);
if ($saved_image) { if ($saved_image) {
$text = self::interpolateSavedImagesIntoItemBody($text, $saved_image); $text = self::interpolateSavedImagesIntoItemBody($text, $saved_image);
} }

View file

@ -236,7 +236,7 @@ class BBCodeTest extends MockedTest
'bug-7808-code-amp' => [ 'bug-7808-code-amp' => [
'expectedHtml' => '<code>&amp;</code>', 'expectedHtml' => '<code>&amp;</code>',
'text' => '[code]&[/code]', 'text' => '[code]&[/code]',
] ],
]; ];
} }