diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2013-06-03 12:37:57 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2013-06-03 12:37:57 +0200 |
commit | 24bfaa13270bbdeca1e00c95b025b3fd42742633 (patch) | |
tree | 399eb5504f0fe1c6edc7eaac1b4da526c5e83b93 /phpBB/install/database_update.php | |
parent | c0e0c13cf17bac9256e3acb1ea2d67134d6122dd (diff) | |
download | forums-24bfaa13270bbdeca1e00c95b025b3fd42742633.tar forums-24bfaa13270bbdeca1e00c95b025b3fd42742633.tar.gz forums-24bfaa13270bbdeca1e00c95b025b3fd42742633.tar.bz2 forums-24bfaa13270bbdeca1e00c95b025b3fd42742633.tar.xz forums-24bfaa13270bbdeca1e00c95b025b3fd42742633.zip |
[ticket/8319] Update BBCodes that currently use the LOCAL_URL tag on update
To fix http://tracker.phpbb.com/browse/PHPBB3-8319 we changed the
second_pass_replace value, so that needs updating for existing ones.
PHPBB3-8319
Diffstat (limited to 'phpBB/install/database_update.php')
-rw-r--r-- | phpBB/install/database_update.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php index 8aa62af7e1..a0ca05a129 100644 --- a/phpBB/install/database_update.php +++ b/phpBB/install/database_update.php @@ -2204,6 +2204,36 @@ function change_database_data(&$no_updates, $version) _sql($sql, $errored, $error_ary); } + /** + * Update BBCodes that currently use the LOCAL_URL tag + * + * To fix http://tracker.phpbb.com/browse/PHPBB3-8319 we changed + * the second_pass_replace value, so that needs updating for existing ones + */ + $sql = 'SELECT * + FROM ' . BBCODES_TABLE . ' + WHERE bbcode_match ' . $db->sql_like_expression($db->any_char . 'LOCAL_URL' . $db->any_char); + $result = $db->sql_query($sql); + + while ($row = $db->sql_fetchrow($result)) + { + if (!class_exists('acp_bbcodes')) + { + phpbb_require_updated('includes/acp/acp_bbcodes.' . $phpEx); + } + $bbcode_match = $row['bbcode_match']; + $bbcode_tpl = $row['bbcode_tpl']; + + $acp_bbcodes = new acp_bbcodes(); + $sql_ary = $acp_bbcodes->build_regexp($bbcode_match, $bbcode_tpl); + + $sql = 'UPDATE ' . BBCODES_TABLE . ' + SET ' . $db->sql_build_array('UPDATE', $sql_ary) . ' + WHERE bbcode_id = ' . (int) $row['bbcode_id']; + $db->sql_query($sql); + } + $db->sql_freeresult($result); + $no_updates = false; break; } |