diff options
Diffstat (limited to 'phpBB/adm')
-rw-r--r-- | phpBB/adm/admin_attachments.php | 1 | ||||
-rw-r--r-- | phpBB/adm/admin_forums.php | 83 | ||||
-rw-r--r-- | phpBB/adm/admin_users.php | 49 |
3 files changed, 62 insertions, 71 deletions
diff --git a/phpBB/adm/admin_attachments.php b/phpBB/adm/admin_attachments.php index 7dfb5416d7..0ffc556241 100644 --- a/phpBB/adm/admin_attachments.php +++ b/phpBB/adm/admin_attachments.php @@ -423,6 +423,7 @@ if ($submit && $mode == 'orphan') upload_file($row['post_id'], $row['topic_id'], $row['forum_id'], $config['upload_dir'], $upload_list[$row['post_id']]); } } + unset($message_parser); } } diff --git a/phpBB/adm/admin_forums.php b/phpBB/adm/admin_forums.php index 8c96696f73..37a926a14f 100644 --- a/phpBB/adm/admin_forums.php +++ b/phpBB/adm/admin_forums.php @@ -100,9 +100,6 @@ if ($update) 'forum_desc' => str_replace("\n", '<br />', request_var('forum_desc', '')), 'forum_rules' => request_var('forum_rules', ''), 'forum_rules_link' => request_var('forum_rules_link', ''), - 'rules_allow_bbcode' => request_var('parse_bbcode', false), - 'rules_allow_smilies' => request_var('parse_smilies', false), - 'rules_allow_urls' => request_var('parse_urls', false), 'forum_image' => request_var('forum_image', ''), 'forum_style' => request_var('forum_style', 0), 'display_on_index' => request_var('display_on_index', FALSE), @@ -120,6 +117,25 @@ if ($update) 'forum_password_confirm'=> request_var('forum_password_confirm', '') ); + if ($forum_data['forum_rules']) + { + include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx); + + $allow_bbcode = request_var('parse_bbcode', false); + $allow_smilies = request_var('parse_smilies', false); + $allow_urls = request_var('parse_urls', false); + + $forum_data['forum_rules_flags'] = (($allow_bbcode) ? 1 : 0) + (($allow_smilies) ? 2 : 0) + (($allow_urls) ? 4 : 0); + + $message_parser = new parse_message($forum_data['forum_rules']); + $message_parser->parse(false, $allow_bbcode, $allow_urls, $allow_smilies); + + $forum_data['forum_rules'] = $message_parser->message; + $forum_data['forum_rules_bbcode_uid'] = $message_parser->bbcode_uid; + $forum_data['forum_rules_bbcode_bitfield'] = $message_parser->bbcode_bitfield; + unset($message_parser); + } + $errors = update_forum_data($forum_data); if ($errors) @@ -144,6 +160,7 @@ switch ($mode) { case 'add': case 'edit': + if (isset($_POST['update'])) { extract($forum_data); @@ -167,7 +184,7 @@ switch ($mode) $forum_rules_flags += (request_var('parse_smilies', false)) ? 2 : 0; $forum_rules_flags += (request_var('parse_urls', false)) ? 4 : 0; } - + // Show form to create/modify a forum if ($mode == 'edit') { @@ -189,12 +206,9 @@ switch ($mode) $forum_password_confirm = $forum_password; - $flags = explode(':', $forum_rules_flags); - - $bbcode_checked = ((int) $flags[0] & 1) ? ' checked="checked"' : ''; - $smilies_checked = ((int) $flags[0] & 2) ? ' checked="checked"' : ''; - $urls_checked = ((int) $flags[0] & 4) ? ' checked="checked"' : ''; - unset($flags); + $bbcode_checked = ($forum_rules_flags & 1) ? ' checked="checked"' : ''; + $smilies_checked = ($forum_rules_flags & 2) ? ' checked="checked"' : ''; + $urls_checked = ($forum_rules_flags & 4) ? ' checked="checked"' : ''; } else { @@ -221,22 +235,23 @@ switch ($mode) } } - // Forum Rules if ($forum_rules) { include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx); - - // Split text rules (we saved the status and bbcode codes here) - if (strpos($forum_rules_flags, ':') === false && is_numeric($forum_rules_flags)) + include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx); + + $message_parser = new parse_message($forum_rules); + if (isset($forum_rules_bbcode_uid)) { - // text not parsed yet... a hard time for us... - $forum_rules_flags = 0; - $forum_rules = parse_text_insert($forum_rules, request_var('parse_bbcode', false), request_var('parse_smilies', false), request_var('parse_urls', false), $forum_rules_flags); + $message_parser->bbcode_uid = $forum_rules_bbcode_uid; + $message_parser->bbcode_bitfield = $forum_rules_bbcode_bitfield; + } + else + { + $message_parser->parse(false, ($forum_rules_flags & 1), ($forum_rules_flags & 4), ($forum_rules_flags & 2)); } - - $forum_rules_preview = parse_text_display($forum_rules, $forum_rules_flags); } - + $forum_type_options = ''; $forum_type_ary = array(FORUM_CAT => 'CAT', FORUM_POST => 'FORUM', FORUM_LINK => 'LINK'); foreach ($forum_type_ary as $value => $lang) @@ -390,19 +405,26 @@ switch ($mode) <td class="row2"><input class="post" type="text" size="40" name="forum_rules_link" value="<?php echo $forum_rules_link ?>" /></td> </tr> <?php - if ($forum_rules_preview) + if ($forum_rules) { ?> <tr> <td class="row1"><b><?php echo $user->lang['FORUM_RULES_PREVIEW'] ?>: </b></td> - <td class="row2"><?php echo $forum_rules_preview; ?></td> + <td class="row2"><?php echo $message_parser->format_display(false, ($forum_rules_flags & 1), ($forum_rules_flags & 4), ($forum_rules_flags & 2), false); ?></td> </tr> <?php } ?> <tr> <td class="row1"><b><?php echo $user->lang['FORUM_RULES'] ?>: </b><br /><span class="gensmall"><?php echo $user->lang['FORUM_RULES_EXPLAIN']; ?></span></td> - <td class="row2"><table cellspacing="2" cellpadding="0" border="0"><tr><td colspan="6"><textarea class="post" rows="4" cols="70" name="forum_rules"><?php echo ($forum_rules) ? parse_text_form_display($forum_rules, $forum_rules_flags) : ''; ?></textarea></td></tr><tr> + <td class="row2"><table cellspacing="2" cellpadding="0" border="0"><tr><td colspan="6"><textarea class="post" rows="4" cols="70" name="forum_rules"> +<?php + if ($forum_rules) + { + $message_parser->decode_message(); + echo $message_parser->message; + } +?></textarea></td></tr><tr> <td width="10"><input type="checkbox" name="parse_bbcode"<?php echo $bbcode_checked; ?> /></td><td><?php echo $user->lang['PARSE_BBCODE']; ?></td><td width="10"><input type="checkbox" name="parse_smilies"<?php echo $smilies_checked; ?> /></td><td><?php echo $user->lang['PARSE_SMILIES']; ?></td><td width="10"><input type="checkbox" name="parse_urls"<?php echo $urls_checked; ?> /></td><td><?php echo $user->lang['PARSE_URLS']; ?></td></tr></table> </td> </tr> @@ -970,21 +992,6 @@ function update_forum_data(&$forum_data) unset($forum_data['prune_sticky']); unset($forum_data['forum_password_confirm']); - // Parse Forum Rules - $forum_data['forum_rules_flags'] = 0; - - if ($forum_data['forum_rules']) - { - global $phpbb_root_path, $phpEx; - include_once($phpbb_root_path . 'includes/functions_posting.' . $phpEx); - - $forum_data['forum_rules'] = parse_text_insert($forum_data['forum_rules'], $forum_data['rules_allow_bbcode'], $forum_data['rules_allow_smilies'], $forum_data['rules_allow_urls'], $forum_data['forum_rules_flags']); - } - - unset($forum_data['rules_allow_smilies']); - unset($forum_data['rules_allow_urls']); - unset($forum_data['rules_allow_bbcode']); - // What are we going to do tonight Brain? The same thing we do everynight, // try to take over the world ... or decide whether to continue update // and if so, whether it's a new forum/cat/link or an existing one diff --git a/phpBB/adm/admin_users.php b/phpBB/adm/admin_users.php index de8ff4fe30..bed04d8f91 100644 --- a/phpBB/adm/admin_users.php +++ b/phpBB/adm/admin_users.php @@ -1044,7 +1044,6 @@ function marklist(match, status) 'user_notify_pm' => true, 'user_allow_pm' => true, 'user_notify' => false, - 'user_min_karma' => (int) -5, 'sk' => (string) 't', 'sd' => (string) 'd', @@ -1072,7 +1071,6 @@ function marklist(match, status) 'user_dateformat' => array('string', false, 3, 15), 'user_lang' => array('match', false, '#^[a-z_]{2,}$#i'), 'user_tz' => array('num', false, -13, 13), - 'user_min_karma' => array('num', false, -5, 5), 'sk' => array('string', false, 1, 1), 'sd' => array('string', false, 1, 1), @@ -1101,7 +1099,6 @@ function marklist(match, status) 'user_notify_pm' => $user_notify_pm, 'user_options' => $user_options, 'user_notify' => $user_notify, - 'user_min_karma' => $user_min_karma, 'user_dst' => $user_dst, 'user_dateformat' => $user_dateformat, 'user_lang' => $user_lang, @@ -1127,7 +1124,7 @@ function marklist(match, status) $colspan = 2; - $option_ary = array('user_allow_viewemail', 'user_allow_massemail', 'user_allow_pm', 'user_allow_viewonline', 'user_notify_pm', 'user_dst', 'user_notify', 'user_min_karma'); + $option_ary = array('user_allow_viewemail', 'user_allow_massemail', 'user_allow_pm', 'user_allow_viewonline', 'user_notify_pm', 'user_dst', 'user_notify'); foreach ($option_ary as $option) { @@ -1495,13 +1492,18 @@ function marklist(match, status) $$var = request_var($var, $default); } - if (!$preview) - { - include($phpbb_root_path . 'includes/message_parser.'.$phpEx); + // NOTE: allow_img and allow_flash do not exist in config table + $img_status = ($config['allow_img']) ? true : false; + $flash_status = ($config['allow_flash']) ? true : false; + + include($phpbb_root_path . 'includes/message_parser.'.$phpEx); + $message_parser = new parse_message($signature); - $message_parser = new parse_message($signature); - $message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies); + // Allowing Quote BBCode + $message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies, $img_status, $flash_status, true); + if ($submit) + { $sql_ary = array( 'user_sig' => (string) $message_parser->message, 'user_sig_bbcode_uid' => (string) $message_parser->bbcode_uid, @@ -1513,6 +1515,7 @@ function marklist(match, status) WHERE user_id = $user_id"; $db->sql_query($sql); + unset($message_parser); trigger_error($user->lang['PROFILE_UPDATED']); } } @@ -1524,32 +1527,12 @@ function marklist(match, status) $signature_preview = ''; if ($preview) { - $signature_preview = $signature; - - // Fudge-o-rama ... - include($phpbb_root_path . 'includes/message_parser.'.$phpEx); - - $message_parser = new parse_message($signature_preview); - $message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies); - $signature_preview = $message_parser->message; - - if ($enable_bbcode) - { - include($phpbb_root_path . 'includes/bbcode.'.$phpEx); - $bbcode = new bbcode($message_parser->bbcode_bitfield); - - $bbcode->bbcode_second_pass($signature_preview, $message_parser->bbcode_uid); - } - - // If we allow users to disable display of emoticons - // we'll need an appropriate check and preg_replace here - $signature_preview = smilie_text($signature_preview, !$enable_smilies); - - // Replace naughty words such as farty pants - $signature_preview = str_replace("\n", '<br />', censor_text($signature_preview)); + // Now parse it for displaying + $signature_preview = $message_parser->format_display($enable_html, $enable_bbcode, $enable_urls, $enable_smilies, false); + unset($message_parser); } - decode_text($user_sig, $user_sig_bbcode_uid); + decode_message($user_sig, $user_sig_bbcode_uid); ?> <tr> |