Beispiel #1
0
     $hideresult = $db->sql_query($sql);
     $valid = $db->sql_numrows($hideresult) ? true : false;
 }
 //-- fin mod : addon hide for bbcbxr -------------------------------------------
 if ($attach_sig && $user_sig != '' && $userdata['user_sig_bbcode_uid']) {
     $user_sig = bbencode_second_pass($user_sig, $userdata['user_sig_bbcode_uid']);
     //-- mod : addon hide for bbcbxr -----------------------------------------------
     //-- add
     $user_sig = bbencode_third_pass($user_sig, $userdata['user_sig_bbcode_uid'], $valid);
     //-- fin mod : addon hide for bbcbxr -------------------------------------------
 }
 if ($bbcode_on) {
     $preview_message = bbencode_second_pass($preview_message, $bbcode_uid);
     //-- mod : addon hide for bbcbxr -----------------------------------------------
     //-- add
     $preview_message = bbencode_third_pass($preview_message, $bbcode_uid, $valid);
     //-- fin mod : addon hide for bbcbxr -------------------------------------------
 }
 if (!empty($orig_word)) {
     $preview_username = !empty($username) ? preg_replace($orig_word, $replacement_word, $preview_username) : '';
     $preview_subject = !empty($subject) ? preg_replace($orig_word, $replacement_word, $preview_subject) : '';
     //-- mod : post description ----------------------------------------------------
     //-- add
     $sub_title = !empty($sub_title) ? preg_replace($orig_word, $replacement_word, $sub_title) : '';
     //-- fin mod : post description ------------------------------------------------
     $preview_message = !empty($preview_message) ? preg_replace($orig_word, $replacement_word, $preview_message) : '';
 }
 if ($user_sig != '') {
     $user_sig = make_clickable($user_sig);
 }
 $preview_message = make_clickable($preview_message);
Beispiel #2
0
 }
 //
 // Parse message and/or sig for BBCode if reqd
 //
 if ($user_sig != '' && $user_sig_bbcode_uid != '') {
     $user_sig = $board_config['allow_bbcode'] ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace("/\\:{$user_sig_bbcode_uid}/si", '', $user_sig);
     //-- mod : addon hide for bbcbxr -----------------------------------------------
     //-- add
     $user_sig = bbencode_third_pass($user_sig, $user_sig_bbcode_uid, $valid);
     //-- fin mod : addon hide for bbcbxr -------------------------------------------
 }
 if ($bbcode_uid != '') {
     $message = $board_config['allow_bbcode'] ? bbencode_second_pass($message, $bbcode_uid) : preg_replace("/\\:{$bbcode_uid}/si", '', $message);
     //-- mod : addon hide for bbcbxr -----------------------------------------------
     //-- add
     $message = bbencode_third_pass($message, $bbcode_uid, $valid);
     //-- fin mod : addon hide for bbcbxr -------------------------------------------
 }
 if ($user_sig != '') {
     $user_sig = make_clickable($user_sig);
 }
 $message = make_clickable($message);
 //
 // Parse smilies
 //
 if ($board_config['allow_smilies']) {
     if ($postrow[$i]['user_allowsmile'] && $user_sig != '') {
         $user_sig = smilies_pass($user_sig);
     }
     if ($postrow[$i]['enable_smilies']) {
         $message = smilies_pass($message);
Beispiel #3
0
 $topic_id = $searchset[$i]['topic_id'];
 if ($show_results == 'posts') {
     if (isset($return_chars)) {
         $bbcode_uid = $searchset[$i]['bbcode_uid'];
         if ($return_chars == -1) {
             $message = strip_tags($message);
             $message = preg_replace("/\\[.*?:{$bbcode_uid}:?.*?\\]/si", '', $message);
             $message = preg_replace('/\\[url\\]|\\[\\/url\\]/si', '', $message);
             $message = strlen($message) > $return_chars ? substr($message, 0, $return_chars) . ' ...' : $message;
         } else {
             if (!$board_config['allow_html'] && $postrow[$i]['enable_html']) {
                 $message = preg_replace('#(<)([\\/]?.*?)(>)#is', '&lt;\\2&gt;', $message);
             }
             if ($bbcode_uid != '') {
                 $message = $board_config['allow_bbcode'] ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\\:[0-9a-z\\:]+\\]/si', ']', $message);
                 $message = bbencode_third_pass($message, $bbcode_uid, false);
             }
             $message = make_clickable($message);
             if ($highlight_active) {
                 if (preg_match('/<.*>/', $message)) {
                     $message = preg_replace($highlight_match, '<!-- #sh -->\\1<!-- #eh -->', $message);
                     $end_html = 0;
                     $start_html = 1;
                     $temp_message = '';
                     $message = ' ' . $message . ' ';
                     while ($start_html = strpos($message, '<', $start_html)) {
                         $grab_length = $start_html - $end_html - 1;
                         $temp_message .= substr($message, $end_html + 1, $grab_length);
                         if ($end_html = strpos($message, '>', $start_html)) {
                             $length = $end_html - $start_html + 1;
                             $hold_string = substr($message, $start_html, $length);
Beispiel #4
0
function topic_review($topic_id, $is_inline_review)
{
    global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
    global $userdata, $user_ip;
    global $orig_word, $replacement_word;
    global $starttime;
    //-- mod : rank color system ---------------------------------------------------
    //-- add
    global $rcs, $get;
    //-- fin mod : rank color system -----------------------------------------------
    if (!$is_inline_review) {
        if (!isset($topic_id) || !$topic_id) {
            message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
        }
        //
        // Get topic info ...
        //
        $sql = "SELECT t.topic_title, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments \r\n\t\t\tFROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f \r\n\t\t\tWHERE t.topic_id = {$topic_id}\r\n\t\t\t\tAND f.forum_id = t.forum_id";
        $tmp = '';
        attach_setup_viewtopic_auth($tmp, $sql);
        if (!($result = $db->sql_query($sql))) {
            message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
        }
        if (!($forum_row = $db->sql_fetchrow($result))) {
            message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
        }
        $db->sql_freeresult($result);
        $forum_id = $forum_row['forum_id'];
        $topic_title = $forum_row['topic_title'];
        //
        // Start session management
        //
        $userdata = session_pagestart($user_ip, $forum_id);
        init_userprefs($userdata);
        //
        // End session management
        //
        $is_auth = array();
        $is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row);
        if (!$is_auth['auth_read']) {
            message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type']));
        }
    }
    //
    // Define censored word matches
    //
    if (empty($orig_word) && empty($replacement_word)) {
        $orig_word = array();
        $replacement_word = array();
        obtain_word_list($orig_word, $replacement_word);
    }
    //
    // Dump out the page header and load viewtopic body template
    //
    if (!$is_inline_review) {
        $gen_simple_header = TRUE;
        $page_title = $lang['Topic_review'] . ' - ' . $topic_title;
        include $phpbb_root_path . 'includes/page_header.' . $phpEx;
        $template->set_filenames(array('reviewbody' => 'posting_topic_review.tpl'));
    }
    //
    // Go ahead and pull all data for this topic
    //
    $sql = "SELECT u.username, u.user_id, u.user_colortext, p.*,  pt.post_text, pt.post_subject, pt.bbcode_uid\r\n\t\tFROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt\r\n\t\tWHERE p.topic_id = {$topic_id}\r\n\t\t\tAND p.poster_id = u.user_id\r\n\t\t\tAND p.post_id = pt.post_id\r\n\t\tORDER BY p.post_time DESC\r\n\t\tLIMIT " . $board_config['posts_per_page'];
    //-- mod : post description ----------------------------------------------------
    //-- add
    $sql = str_replace(', pt.post_subject', ', pt.post_subject, pt.post_sub_title', $sql);
    //-- fin mod : post description ------------------------------------------------
    //-- mod : rank color system ---------------------------------------------------
    //-- add
    $sql = str_replace('SELECT ', 'SELECT u.user_level, u.user_color, u.user_group_id, ', $sql);
    //-- fin mod : rank color system -----------------------------------------------
    if (!($result = $db->sql_query($sql))) {
        message_die(GENERAL_ERROR, 'Could not obtain post/user information', '', __LINE__, __FILE__, $sql);
    }
    init_display_review_attachments($is_auth);
    //
    // Okay, let's do the loop, yeah come on baby let's do the loop
    // and it goes like this ...
    //
    if ($row = $db->sql_fetchrow($result)) {
        //-- mod : addon hide for bbcbxr -----------------------------------------------
        //-- add
        $valid = false;
        if ($userdata['session_logged_in']) {
            $sql = 'SELECT p.poster_id, p.topic_id
				FROM ' . POSTS_TABLE . ' p
					WHERE p.topic_id = ' . $topic_id . '
					AND p.poster_id = ' . $userdata['user_id'];
            $hideresult = $db->sql_query($sql);
            $valid = $db->sql_numrows($hideresult) ? true : false;
        }
        //-- fin mod : addon hide for bbcbxr -------------------------------------------
        $mini_post_img = $images['icon_minipost'];
        $mini_post_alt = $lang['Post'];
        $i = 0;
        do {
            $poster_id = $row['user_id'];
            $poster = $row['username'];
            $post_date = create_date($board_config['default_dateformat'], $row['post_created'], $board_config['board_timezone']);
            //
            // Handle anon users posting with usernames
            //
            if ($poster_id == ANONYMOUS && $row['post_username'] != '') {
                $poster = $row['post_username'];
                $poster_rank = $lang['Guest'];
            } elseif ($poster_id == ANONYMOUS) {
                $poster = $lang['Guest'];
                $poster_rank = '';
            }
            $post_subject = $row['post_subject'] != '' ? $row['post_subject'] : '';
            //-- mod : post description ----------------------------------------------------
            //-- add
            $post_sub_title = !empty($row['post_sub_title']) ? count($orig_word) ? preg_replace($orig_word, $replacement_word, $row['post_sub_title']) : $row['post_sub_title'] : '';
            //-- fin mod : post description ------------------------------------------------
            $message = $row['post_text'];
            $bbcode_uid = $row['bbcode_uid'];
            //
            // If the board has HTML off but the post has HTML
            // on then we process it, else leave it alone
            //
            if (!$board_config['allow_html'] && $row['enable_html']) {
                $message = preg_replace('#(<)([\\/]?.*?)(>)#is', '&lt;\\2&gt;', $message);
            }
            if ($bbcode_uid != "") {
                $message = $board_config['allow_bbcode'] ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\\:[0-9a-z\\:]+\\]/si', ']', $message);
                //-- mod : addon hide for bbcbxr -----------------------------------------------
                //-- add
                $message = bbencode_third_pass($message, $bbcode_uid, $valid);
                //-- fin mod : addon hide for bbcbxr -------------------------------------------
            }
            $message = make_clickable($message);
            if (count($orig_word)) {
                $post_subject = preg_replace($orig_word, $replacement_word, $post_subject);
                $message = preg_replace($orig_word, $replacement_word, $message);
            }
            if ($board_config['allow_smilies'] && $row['enable_smilies']) {
                $message = smilies_pass($message);
            }
            $message = str_replace("\n", '<br />', $message);
            if ($board_config['allow_colortext']) {
                if ($row['user_colortext'] != '') {
                    $message = '<font color="' . $row['user_colortext'] . '">' . $message . '</font>';
                }
            }
            //
            // Again this will be handled by the templating
            // code at some point
            //
            $row_color = !($i % 2) ? $theme['td_color1'] : $theme['td_color2'];
            $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2'];
            // Start Smilies Invasion Mod
            if ($board_config['allow_smilies']) {
                $post_subject = smilies_pass($post_subject);
            }
            // End Smilies Invasion Mod
            $template->assign_block_vars('postrow', array('ROW_COLOR' => '#' . $row_color, 'ROW_CLASS' => $row_class, 'MINI_POST_IMG' => $mini_post_img, 'POSTER_NAME' => $poster_id == ANONYMOUS ? $row['post_username'] != '' ? $row['post_username'] : $lang['Guest'] : $rcs->get_colors($row, $row['username']), 'POST_DATE' => $post_date, 'POST_SUBJECT' => $post_subject, 'MESSAGE' => $message, 'L_MINI_POST_ALT' => $mini_post_alt));
            display_review_attachments($row['post_id'], $row['post_attachment'], $is_auth);
            //-- mod : post description ----------------------------------------------------
            //-- add
            display_sub_title('postrow', $post_sub_title, $board_config['sub_title_length']);
            //-- fin mod : post description ------------------------------------------------
            $i++;
        } while ($row = $db->sql_fetchrow($result));
    } else {
        message_die(GENERAL_MESSAGE, 'Topic_post_not_exist', '', __LINE__, __FILE__, $sql);
    }
    $db->sql_freeresult($result);
    $template->assign_vars(array('L_AUTHOR' => $lang['Author'], 'L_MESSAGE' => $lang['Message'], 'L_POSTED' => $lang['Posted'], 'L_POST_SUBJECT' => $lang['Post_subject'], 'L_TOPIC_REVIEW' => $lang['Topic_review']));
    if (!$is_inline_review) {
        $template->pparse('reviewbody');
        include $phpbb_root_path . 'includes/page_tail.' . $phpEx;
    }
}