mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-07 20:08:53 +00:00
Merge branch '3.2.x'
This commit is contained in:
commit
3a45e1fbcc
7 changed files with 368 additions and 250 deletions
|
@ -35,7 +35,7 @@
|
|||
"marc1706/fast-image-size": "^1.1",
|
||||
"paragonie/random_compat": "^1.4",
|
||||
"patchwork/utf8": "^1.1",
|
||||
"s9e/text-formatter": "~0.13.0",
|
||||
"s9e/text-formatter": "^1.3",
|
||||
"symfony/config": "~3.1",
|
||||
"symfony/console": "~3.1",
|
||||
"symfony/debug": "~3.1",
|
||||
|
|
576
phpBB/composer.lock
generated
576
phpBB/composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -104,3 +104,6 @@ Text_Diff-0.2.1 http://pear.php.net/package/Text_Diff
|
|||
MIT licensed:
|
||||
Symfony2 (c) 2004-2011 Fabien Potencier, https://symfony.com/
|
||||
Cookie Consent (c) 2015 Silktide Ltd, https://cookieconsent.insites.com
|
||||
|
||||
Emoji by:
|
||||
Twemoji (c) 2018 Twitter, Inc, https://twemoji.twitter.com/
|
||||
|
|
|
@ -354,6 +354,14 @@ class factory implements \phpbb\textformatter\cache_interface
|
|||
|
||||
// Load the Emoji plugin and modify its tag's template to obey viewsmilies
|
||||
$tag = $configurator->Emoji->getTag();
|
||||
$tag->template = '<xsl:choose>
|
||||
<xsl:when test="@tseq">
|
||||
<img alt="{.}" class="emoji" draggable="false" src="//twemoji.maxcdn.com/2/svg/{@tseq}.svg"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<img alt="{.}" class="emoji" draggable="false" src="https://cdn.jsdelivr.net/gh/s9e/emoji-assets-twemoji@11.2/dist/svgz/{@seq}.svgz"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>';
|
||||
$tag->template = '<xsl:choose><xsl:when test="$S_VIEWSMILIES">' . str_replace('class="emoji"', 'class="emoji smilies"', $tag->template) . '</xsl:when><xsl:otherwise><xsl:value-of select="."/></xsl:otherwise></xsl:choose>';
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,14 +23,16 @@ class link_helper
|
|||
*
|
||||
* @param \s9e\TextFormatter\Parser\Tag $tag LINK_TEXT tag
|
||||
* @param \s9e\TextFormatter\Parser $parser Parser
|
||||
* @return bool Whether the tag is valid
|
||||
* @return void
|
||||
*/
|
||||
public function cleanup_tag(\s9e\TextFormatter\Parser\Tag $tag, \s9e\TextFormatter\Parser $parser)
|
||||
{
|
||||
// Invalidate if the content of the tag matches the text attribute
|
||||
$text = substr($parser->getText(), $tag->getPos(), $tag->getLen());
|
||||
|
||||
return ($text !== $tag->getAttribute('text'));
|
||||
if ($text === $tag->getAttribute('text'))
|
||||
{
|
||||
$tag->invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -40,7 +42,7 @@ class link_helper
|
|||
*
|
||||
* @param \s9e\TextFormatter\Parser\Tag $tag URL tag (start tag)
|
||||
* @param \s9e\TextFormatter\Parser $parser Parser
|
||||
* @return bool Always true to indicate that the tag is valid
|
||||
* @return void
|
||||
*/
|
||||
public function generate_link_text_tag(\s9e\TextFormatter\Parser\Tag $tag, \s9e\TextFormatter\Parser $parser)
|
||||
{
|
||||
|
@ -49,7 +51,7 @@ class link_helper
|
|||
// the [url] BBCode when its content is used for the URL
|
||||
if (!$tag->getEndTag() || !$this->should_shorten($tag, $parser->getText()))
|
||||
{
|
||||
return true;
|
||||
return;
|
||||
}
|
||||
|
||||
// Capture the text between the start tag and its end tag
|
||||
|
@ -60,8 +62,6 @@ class link_helper
|
|||
|
||||
// Create a tag that consumes the link's text
|
||||
$parser->addSelfClosingTag('LINK_TEXT', $start, $length)->setAttribute('text', $text);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -84,7 +84,7 @@ class link_helper
|
|||
*
|
||||
* @param \s9e\TextFormatter\Parser\Tag $tag LINK_TEXT tag
|
||||
* @param string $board_url Forum's root URL (with trailing slash)
|
||||
* @return bool Always true to indicate that the tag is valid
|
||||
* @return void
|
||||
*/
|
||||
public function truncate_local_url(\s9e\TextFormatter\Parser\Tag $tag, $board_url)
|
||||
{
|
||||
|
@ -93,15 +93,13 @@ class link_helper
|
|||
{
|
||||
$tag->setAttribute('text', substr($text, strlen($board_url)));
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Truncate the replacement text set in a LINK_TEXT tag
|
||||
*
|
||||
* @param \s9e\TextFormatter\Parser\Tag $tag LINK_TEXT tag
|
||||
* @return bool Always true to indicate that the tag is valid
|
||||
* @return void
|
||||
*/
|
||||
public function truncate_text(\s9e\TextFormatter\Parser\Tag $tag)
|
||||
{
|
||||
|
@ -109,10 +107,7 @@ class link_helper
|
|||
if (utf8_strlen($text) > 55)
|
||||
{
|
||||
$text = utf8_substr($text, 0, 39) . ' ... ' . utf8_substr($text, -10);
|
||||
$tag->setAttribute('text', $text);
|
||||
}
|
||||
|
||||
$tag->setAttribute('text', $text);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -298,7 +298,7 @@ class phpbb_textformatter_s9e_default_formatting_test extends phpbb_test_case
|
|||
),
|
||||
array(
|
||||
"Emoji: \xF0\x9F\x98\x80",
|
||||
'Emoji: <img alt="' . "\xF0\x9F\x98\x80" . '" class="emoji smilies" draggable="false" src="//cdn.jsdelivr.net/emojione/assets/3.1/png/64/1f600.png">'
|
||||
'Emoji: <img alt="' . "\xF0\x9F\x98\x80" . '" class="emoji smilies" draggable="false" src="//twemoji.maxcdn.com/2/svg/1f600.svg">'
|
||||
),
|
||||
array(
|
||||
"Emoji: \xF0\x9F\x98\x80",
|
||||
|
|
|
@ -1 +1 @@
|
|||
<img class="smilies" src="phpBB/images/smilies/icon_e_surprised.gif" width="15" height="17" alt=":o" title="First half of :ok:"> <img class="smilies" src="phpBB/images/smilies/icon_lol.gif" width="15" height="17" alt="k:" title="Second half of :ok:"> <img alt=":ok:" class="emoji smilies" draggable="false" src="//cdn.jsdelivr.net/emojione/assets/3.1/png/64/1f197.png">
|
||||
<img class="smilies" src="phpBB/images/smilies/icon_e_surprised.gif" width="15" height="17" alt=":o" title="First half of :ok:"> <img class="smilies" src="phpBB/images/smilies/icon_lol.gif" width="15" height="17" alt="k:" title="Second half of :ok:"> <img alt=":ok:" class="emoji smilies" draggable="false" src="//twemoji.maxcdn.com/2/svg/1f197.svg">
|
Loading…
Add table
Reference in a new issue