mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/14700] Prevent an exception on duplicate smilies in text_formatter
PHPBB3-14700
This commit is contained in:
parent
486ffa85a2
commit
13a756bfb7
3 changed files with 45 additions and 1 deletions
|
@ -309,7 +309,7 @@ class factory implements \phpbb\textformatter\cache_interface
|
||||||
// Load smilies
|
// Load smilies
|
||||||
foreach ($this->data_access->get_smilies() as $row)
|
foreach ($this->data_access->get_smilies() as $row)
|
||||||
{
|
{
|
||||||
$configurator->Emoticons->add(
|
$configurator->Emoticons->set(
|
||||||
$row['code'],
|
$row['code'],
|
||||||
'<img class="smilies" src="{$T_SMILIES_PATH}/' . htmlspecialchars($row['smiley_url']) . '" alt="{.}" title="' . htmlspecialchars($row['emotion']) . '"/>'
|
'<img class="smilies" src="{$T_SMILIES_PATH}/' . htmlspecialchars($row['smiley_url']) . '" alt="{.}" title="' . htmlspecialchars($row['emotion']) . '"/>'
|
||||||
);
|
);
|
||||||
|
|
|
@ -170,6 +170,17 @@ class phpbb_textformatter_s9e_factory_test extends phpbb_database_test_case
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function test_duplicate_smilies()
|
||||||
|
{
|
||||||
|
$fixture = __DIR__ . '/fixtures/smilies_duplicate.xml';
|
||||||
|
$parser = $this->get_test_case_helpers()->set_s9e_services(null, $fixture)->get('text_formatter.parser');
|
||||||
|
|
||||||
|
$this->assertSame(
|
||||||
|
'<r><E>:)</E></r>',
|
||||||
|
$parser->parse(':)')
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @testdox {INTTEXT} is supported in custom BBCodes
|
* @testdox {INTTEXT} is supported in custom BBCodes
|
||||||
*/
|
*/
|
||||||
|
|
33
tests/text_formatter/s9e/fixtures/smilies_duplicate.xml
Normal file
33
tests/text_formatter/s9e/fixtures/smilies_duplicate.xml
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<dataset>
|
||||||
|
<table name="phpbb_smilies">
|
||||||
|
<column>smiley_id</column>
|
||||||
|
<column>code</column>
|
||||||
|
<column>emotion</column>
|
||||||
|
<column>smiley_url</column>
|
||||||
|
<column>smiley_width</column>
|
||||||
|
<column>smiley_height</column>
|
||||||
|
<column>smiley_order</column>
|
||||||
|
<column>display_on_posting</column>
|
||||||
|
<row>
|
||||||
|
<value>1</value>
|
||||||
|
<value>:)</value>
|
||||||
|
<value>:)</value>
|
||||||
|
<value>foo.png</value>
|
||||||
|
<value>15</value>
|
||||||
|
<value>17</value>
|
||||||
|
<value>2</value>
|
||||||
|
<value>1</value>
|
||||||
|
</row>
|
||||||
|
<row>
|
||||||
|
<value>2</value>
|
||||||
|
<value>:)</value>
|
||||||
|
<value>:)</value>
|
||||||
|
<value>bar.png</value>
|
||||||
|
<value>15</value>
|
||||||
|
<value>17</value>
|
||||||
|
<value>2</value>
|
||||||
|
<value>2</value>
|
||||||
|
</row>
|
||||||
|
</table>
|
||||||
|
</dataset>
|
Loading…
Add table
Reference in a new issue