1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-05 23:25:30 +02:00

[ticket/15527] Skip malformed BBCodes during merge_duplicate_bbcodes migration

PHPBB3-15527
This commit is contained in:
JoshyPHP 2018-01-22 02:37:47 +01:00
parent d0143bec88
commit 5c8a667db2
2 changed files with 24 additions and 10 deletions

View File

@ -13,6 +13,8 @@
namespace phpbb\db\migration\data\v32x;
use Exception;
class merge_duplicate_bbcodes extends \phpbb\db\migration\container_aware_migration
{
public function update_data()
@ -45,6 +47,8 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\container_aware_migrat
}
protected function merge_bbcodes(array $without, array $with)
{
try
{
$merged = $this->container->get('text_formatter.s9e.bbcode_merger')->merge_bbcodes(
[
@ -56,6 +60,13 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\container_aware_migrat
'template' => $with['bbcode_tpl']
]
);
}
catch (Exception $e)
{
// Ignore the pair and move on. The BBCodes would have to be fixed manually
return;
}
$bbcode_data = [
'bbcode_tag' => $without['bbcode_tag'],
'bbcode_helpline' => $without['bbcode_helpline'] . ' | ' . $with['bbcode_helpline'],

View File

@ -37,6 +37,9 @@ class bbcode_merger
*
* All of the arrays contain a "usage" element and a "template" element
*
* @throws InvalidArgumentException if a definition cannot be interpreted
* @throws RuntimeException if something unexpected occurs
*
* @param array $without BBCode definition without an attribute
* @param array $with BBCode definition with an attribute
* @return array Merged definition