} if (isset($poll_add) && !empty($_POST['add_poll_option_text'])) { $poll_options[] = htmlprepare($_POST['add_poll_option_text']); } if ($mode == 'newtopic' || $mode == 'reply') { $user_sig = $userdata['user_sig'] != '' && $board_config['allow_sig'] ? $userdata['user_sig'] : ''; } else { if ($mode == 'editpost') { $user_sig = $post_info['user_sig'] != '' && $board_config['allow_sig'] ? $post_info['user_sig'] : ''; } } if ($preview) { $orig_word = array(); $replacement_word = array(); obtain_word_list($orig_word, $replacement_word); $preview_message = message_prepare($message, $html_on, $bbcode_on); $preview_subject = $subject; $preview_username = $username; // // Finalise processing as per viewtopic // if (!$html_on) { if ($user_sig != '' || !$userdata['user_allowhtml']) { $user_sig = BBCode::encode_html($user_sig); } } if ($attach_sig && $user_sig != '') { $user_sig = decode_bbcode($user_sig, 1, false); } if ($bbcode_on) { $preview_message = decode_bbcode($preview_message, 1, true);
function prepare_post(&$mode, &$post_data, &$bbcode_on, &$html_on, &$error_msg, &$username, &$subject, &$message, &$poll_title, &$poll_options, &$poll_length) { global $board_config, $userdata, $lang, $phpbb_root_path; // Check username $subject = Fix_Quotes($subject, true); if (!empty($username)) { $username = Fix_Quotes($username, true); if (!is_user() || is_user() && $username != $userdata['username']) { include "includes/phpBB/functions_validate.php"; $result = validate_username($username); if ($result['error']) { $error_msg .= !empty($error_msg) ? '<br />' . $result['error_msg'] : $result['error_msg']; } } else { $username = ''; } } // Check subject if (!empty($subject)) { $subject = htmlprepare($subject, false, ENT_QUOTES, true); } else { if ($mode == 'newtopic' || $mode == 'editpost' && $post_data['first_post']) { $error_msg .= !empty($error_msg) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject']; } } // Check message if (!empty($message)) { $message = Fix_Quotes(message_prepare($message, $html_on, $bbcode_on)); } else { if ($mode != 'delete' && $mode != 'poll_delete') { $error_msg .= !empty($error_msg) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message']; } } // // Handle poll stuff // if ($mode == 'newtopic' || $mode == 'editpost' && $post_data['first_post']) { $poll_length = isset($poll_length) ? max(0, intval($poll_length)) : 0; if (!empty($poll_title)) { $poll_title = htmlprepare($poll_title, false, ENT_QUOTES, true); } if (!empty($poll_options)) { $temp_option_text = array(); while (list($option_id, $option_text) = each($poll_options)) { $option_text = trim($option_text); if (!empty($option_text)) { $temp_option_text[$option_id] = htmlprepare($option_text, false, ENT_QUOTES, true); } } $poll_options = $temp_option_text; if (count($poll_options) < 2) { $error_msg .= !empty($error_msg) ? '<br />' . $lang['To_few_poll_options'] : $lang['To_few_poll_options']; } else { if (count($poll_options) > $board_config['max_poll_options']) { $error_msg .= !empty($error_msg) ? '<br />' . $lang['To_many_poll_options'] : $lang['To_many_poll_options']; } else { if ($poll_title == '') { $error_msg .= !empty($error_msg) ? '<br />' . $lang['Empty_poll_title'] : $lang['Empty_poll_title']; } } } } } return; }