Pagina 1 van 1
Bbcode in oude post
Geplaatst: 24 jan 2008, 13:49
door DragonWish
- Adres van je forum: http://www.aquawish.nl/phpbb3
Event. modificaties op je forum: geen
Wanneer ontstond het probleem? bij aanbrengen nieuwe bbcode
phpBB versie: 3.0.0
Heb je onlangs iets veranderd aan je forum?
Wat is het probleem?
Ik heb vernomen dat wanneer je je phpbb2 forum naar phpbb3 overzet niet automatisch de BBcodes werken.
Ik had bijvoorbeeld een code voor om te centreren. Deze heb ik in phpbb3 ook aangebracht en werkt. Echter werkt dit alleen bij nieuwe post, niet bij de oude die al op het forum stonden (phpbb2).
Is er een mogelijkheid dat deze oudere post toch weer gaan werken met de betreffende bbcode? Is daar inmiddels al iets op gevonden?
Re: Bbcode in oude post
Geplaatst: 24 jan 2008, 16:02
door BetaDevil
phpBB3 gebruikt een geheel eigen BBCode-systeem. Ik denk niet dat het mogelijk is om oude (aparte) BBCodes te veranderen.
Maar heel misschien dat dit kan werken
Code: Selecteer alles
<?php
set_time_limit(0);
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$echos = 0;
// Now adjust posts
$message_parser = new parse_message();
$message_parser->mode = 'post';
$message_parser->bbcode_init();
// Update posts
$sql = 'SELECT post_id, post_text, bbcode_uid, enable_bbcode, enable_smilies, enable_sig
FROM ' . POSTS_TABLE;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
// Convert bbcodes back to their normal form
if ($row['enable_bbcode'])
{
decode_message($row['post_text'], $row['bbcode_uid']);
$message_parser->message = $row['post_text'];
$message_parser->prepare_bbcodes();
$message_parser->parse_bbcode();
$bitfield = $message_parser->bbcode_bitfield;
$sql = 'UPDATE ' . POSTS_TABLE . " SET bbcode_bitfield = '" . $db->sql_escape($bitfield) . "'
WHERE post_id = " . $row['post_id'];
$db->sql_query($sql);
if ($echos > 200)
{
echo '<br />' . "\n";
$echos = 0;
}
echo '.';
$echos++;
flush();
}
else
{
$sql = 'UPDATE ' . POSTS_TABLE . " SET bbcode_bitfield = ''
WHERE post_id = " . $row['post_id'];
$db->sql_query($sql);
}
}
$db->sql_freeresult($result);
// Done
$db->sql_close();
?>
Opslaan in de root-map (waar config.php instaat) en draaien.
Maak eerst een back-up van je database
Re: Bbcode in oude post
Geplaatst: 24 jan 2008, 16:11
door DragonWish
Zou super zijn als het werkt, dan laat ik het meteen weten
Dit werkt helaas niet

Toch bedankt voor de moeite.
Wat deed het script precies?
Topics kicken doen we niet aan, al helemaal niet binnen 24 uur! Dankjewel.
- Coen
Re: Bbcode in oude post
Geplaatst: 27 jan 2008, 14:54
door DragonWish
hmm ik geloof niet dat ik iets gekickt had en het was een reactie op een voorganger...
Maar goed.
Een volgende vraag met betrekking tot deze post.
Door een post te wijzigen werken de ubb codes van die post weer wel.
Is het dan niet mogelijk door een sql query ofzo, dat alle post automatisch bewerkt worden, waardoor alle ubb codes weer werken?