Esempio n. 1
0
 }
 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);
Esempio n. 2
0
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;
}