function topic_review($forum_id, $topic_id, $is_inline_review) { global $db, $config, $auth, $user, $lang, $template, $images, $theme, $bbcode, $tree; global $user_ip, $starttime, $gen_simple_header; if (!$is_inline_review) { if (!isset($topic_id) || !$topic_id) { if (!defined('STATUS_404')) { define('STATUS_404', true); } message_die(GENERAL_MESSAGE, 'NO_TOPIC'); } // Get topic info ... $sql = "SELECT t.topic_title, t.topic_calendar_time, t.topic_calendar_duration, t.topic_first_post_id, 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\n\t\t\tFROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f\n\t\t\tWHERE t.topic_id = {$topic_id}\n\t\t\t\tAND f.forum_id = t.forum_id"; $tmp = ''; attach_setup_viewtopic_auth($tmp, $sql); $result = $db->sql_query($sql); if (!($forum_row = $db->sql_fetchrow($result))) { if (!defined('STATUS_404')) { define('STATUS_404', true); } message_die(GENERAL_MESSAGE, 'NO_TOPIC'); } $db->sql_freeresult($result); $forum_id = $forum_row['forum_id']; $topic_title = $forum_row['topic_title']; $topic_calendar_time = intval($forum_row['topic_calendar_time']); $topic_first_post_id = intval($forum_row['topic_first_post_id']); $topic_calendar_duration = intval($forum_row['topic_calendar_duration']); // Start session management $user->session_begin(); $auth->acl($user->data); $user->setup(); // End session management $is_auth = array(); $is_auth = auth(AUTH_ALL, $forum_id, $user->data, $forum_row); if (!$is_auth['auth_read']) { message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type'])); } $gen_simple_header = true; $meta_content['page_title'] = $lang['Topic_review'] . ' - ' . $topic_title; $meta_content['description'] = ''; $meta_content['keywords'] = ''; page_header($meta_content['page_title'], true); $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, p.*\n\t\tFROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u\n\t\tWHERE p.topic_id = {$topic_id}\n\t\t\tAND p.poster_id = u.user_id\n\t\tORDER BY p.post_time DESC\n\t\tLIMIT " . $config['posts_per_page']; $result = $db->sql_query($sql); if (!empty($is_auth)) { 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)) { //Begin Lo-Fi Mod global $lofi; //End Lo-Fi Mod $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($config['default_dateformat'], $row['post_time'], $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'] : ''; $message = $row['post_text']; // Quick Quote - BEGIN $look_up_array = array('\\"', '"', "<", ">", "\n", chr(13)); $replacement_array = array('&q_mg;', '\\"', "<_mg;", ">_mg;", "\\n", ""); $plain_message = $row['post_text']; $plain_message = strtr($plain_message, array_flip(get_html_translation_table(HTML_ENTITIES))); //Hide MOD if (preg_match('/\\[hide/i', $plain_message)) { $search = array("/\\[hide\\](.*?)\\[\\/hide\\]/"); $replace = array('[hide]' . $lang['xs_bbc_hide_quote_message'] . '[/hide]'); $plain_message = preg_replace($search, $replace, $plain_message); } //Hide MOD $plain_message = censor_text($plain_message); $plain_message = str_replace($look_up_array, $replacement_array, $plain_message); // Quick Quote - END $post_subject = censor_text($post_subject); $message = censor_text($message); $bbcode->allow_html = $config['allow_html'] && $row['enable_bbcode'] ? true : false; $bbcode->allow_bbcode = $config['allow_bbcode'] && $row['enable_bbcode'] ? true : false; $bbcode->allow_smilies = $config['allow_smilies'] && $row['enable_smilies'] ? true : false; $message = $bbcode->parse($message); if ($row['enable_autolinks_acronyms']) { $message = $bbcode->acronym_pass($message); $message = $bbcode->autolink_text($message, $forum_id); } //$message = kb_word_wrap_pass ($message); if (!empty($topic_calendar_time) && $topic_first_post_id == $row['post_id']) { $post_subject .= get_calendar_title($topic_calendar_time, $topic_calendar_duration); } // Again this will be handled by the templating code at some point $row_class = !($i % 2) ? $theme['td_class1'] : $theme['td_class2']; // Strip iframe from $message... we need this to avoid the topic review "iframe" being broken from BBCodes like YouTube $strip_array = array('@<iframe[^>]*?>.*?</iframe>@si'); $message = preg_replace($strip_array, '', $message); $template->assign_block_vars('postrow', array('ROW_CLASS' => $row_class, 'MINI_POST_IMG' => $mini_post_img, 'POSTER_NAME' => $poster, 'POST_DATE' => $post_date, 'POST_SUBJECT' => $post_subject, 'MESSAGE' => $message, 'U_POST_ID' => $row['post_id'], 'PLAIN_MESSAGE' => $plain_message, 'L_MINI_POST_ALT' => $mini_post_alt)); if (!empty($is_auth)) { display_review_attachments($row['post_id'], $row['post_attachment'], $is_auth); } $i++; } while ($row = $db->sql_fetchrow($result)); } else { if (!defined('STATUS_404')) { define('STATUS_404', true); } message_die(GENERAL_MESSAGE, 'NO_TOPIC', '', __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'], 'IMG_QUICK_QUOTE' => $images['icon_quote'], 'IMG_OFFTOPIC' => $images['icon_offtopic'], 'L_QUICK_QUOTE' => $lang['QuickQuote'], 'L_OFFTOPIC' => $lang['OffTopic'], 'L_TOPIC_REVIEW' => $lang['Topic_review'])); if (!$is_inline_review) { $template->pparse('reviewbody'); page_footer(true, '', true); } }
function topic_review($topic_id, $is_inline_review) { // Begin PNphpBB2 Module // global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; global $db, $board_config, $template, $lang, $images, $phpbb_theme, $phpEx, $phpbb_root_path; // End PNphpBB2 Module global $userdata, $user_ip; global $orig_word, $replacement_word; global $starttime; 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 \n\t\t\tFROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f \n\t\t\tWHERE t.topic_id = {$topic_id}\n\t\t\t\tAND f.forum_id = t.forum_id"; /* -- mod : File Attachment Mod v2 Version 2.4.3 ---------------------------------------------------- */ if (!intval($attach_config['disable_mod'])) { $tmp = ''; attach_setup_viewtopic_auth($tmp, $sql); } /* -- fin : File Attachment Mod v2 Version 2.4.3 ---------------------------------------------------- */ 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) { global $gen_simple_header; $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, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid\n\t\tFROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt\n\t\tWHERE p.topic_id = {$topic_id}\n\t\t\tAND p.poster_id = u.user_id\n\t\t\tAND p.post_id = pt.post_id\n\t\tORDER BY p.post_time DESC\n\t\tLIMIT " . $board_config['posts_per_page']; if (!($result = $db->sql_query($sql))) { message_die(GENERAL_ERROR, 'Could not obtain post/user information', '', __LINE__, __FILE__, $sql); } /* -- mod : File Attachment Mod v2 Version 2.4.3 ---------------------------------------------------- */ if (!intval($attach_config['disable_mod'])) { init_display_review_attachments($is_auth); } /* -- fin : File Attachment Mod v2 Version 2.4.3 ---------------------------------------------------- */ // // 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)) { $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_time'], $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'] : ''; $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', '<\\2>', $message); } if ($bbcode_uid != "") { $message = $board_config['allow_bbcode'] ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\\:[0-9a-z\\:]+\\]/si', ']', $message); } $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); // // Again this will be handled by the templating // code at some point // // Begin PNphpBB2 Module // $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2']; // $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2']; $row_color = !($i % 2) ? $phpbb_theme['td_color1'] : $phpbb_theme['td_color2']; $row_class = !($i % 2) ? $phpbb_theme['td_class1'] : $phpbb_theme['td_class2']; // End PNphpBB2 Module $template->assign_block_vars('postrow', array('ROW_COLOR' => '#' . $row_color, 'ROW_CLASS' => $row_class, 'MINI_POST_IMG' => $mini_post_img, 'POSTER_NAME' => DataUtil::formatForDisplay($poster), 'POST_DATE' => $post_date, 'POST_SUBJECT' => $post_subject ? $post_subject : $lang['Re'] . ' ' . $topic_title, 'MESSAGE' => $message, 'L_MINI_POST_ALT' => $mini_post_alt)); /* -- mod : File Attachment Mod v2 Version 2.4.3 ---------------------------------------------------- */ if (!intval($attach_config['disable_mod'])) { display_review_attachments($row['post_id'], $row['post_attachment'], $is_auth); } /* -- fin : File Attachment Mod v2 Version 2.4.3 ---------------------------------------------------- */ $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; } }
function topic_review($topic_id, $is_inline_review) { global $db, $board_config, $template, $lang, $images, $phpbb_root_path; global $userdata, $user_ip; global $orig_word, $replacement_word, $bgcolor1, $bgcolor2; $is_auth = array(); if (!$is_inline_review) { if (!isset($topic_id) || !$topic_id) { message_die(GENERAL_MESSAGE, 'Topic_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, f.auth_download, t.topic_attachment\n\t\t\tFROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f\n\t\t\tWHERE t.topic_id = {$topic_id}\n\t\t\t\tAND f.forum_id = t.forum_id"; $result = $db->sql_query($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 = 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 "includes/phpBB/page_header.php"; $template->set_filenames(array('body' => 'forums/posting_topic_review.html')); // // Go ahead and pull all data for this topic // $sql = "SELECT u.username, u.user_id, p.*,\tpt.post_text, pt.post_subject\n\t\t\tFROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt\n\t\t\tWHERE p.topic_id = {$topic_id}\n\t\t\t\tAND p.poster_id = u.user_id\n\t\t\t\tAND p.post_id = pt.post_id\n\t\t\tORDER BY p.post_time DESC\n\t\t\tLIMIT " . $board_config['posts_per_page']; $result = $db->sql_query($sql); // if (defined('BBAttach_mod')) { // 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 ($db->sql_numrows($result) < 1) { message_die(GENERAL_MESSAGE, 'Topic_post_not_exist', '', __LINE__, __FILE__, $sql); } $mini_post_img = $images['icon_minipost']; $mini_post_alt = $lang['Post']; while ($row = $db->sql_fetchrow($result, SQL_ASSOC)) { $i = 0; $poster_id = $row['user_id']; $poster = $row['username']; $post_date = create_date($board_config['default_dateformat'], $row['post_time']); // // 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'] : ''; $message = $row['post_text']; // // 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', '<\\2>', $message); } if ($board_config['allow_bbcode']) { $message = decode_bbcode($message, 1, false); } $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 = set_smilies($message); } if (!$board_config['allow_bbcode']) { $message = nl2br($message); } // // Again this will be handled by the templating // code at some point // $row_color = !($i % 2) ? $bgcolor2 : $bgcolor1; $row_class = !($i % 2) ? 'row1' : 'row2'; $template->assign_block_vars('postrow', array('ROW_COLOR' => $row_color, 'ROW_CLASS' => $row_class, 'MINI_POST_IMG' => $mini_post_img, 'POSTER_NAME' => $poster, '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); ++$i; } $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'], 'S_NOT_INLINE' => !$is_inline_review)); if (!$is_inline_review) { include 'includes/phpBB/page_tail.php'; } }