diff --git a/phpBB/includes/topic_review.php b/phpBB/includes/topic_review.php new file mode 100644 index 0000000000..2476d6f31b --- /dev/null +++ b/phpBB/includes/topic_review.php @@ -0,0 +1,197 @@ +sql_query($sql)) ) + { + message_die(GENERAL_ERROR, "Couldn't obtain topic information", "", __LINE__, __FILE__, $sql); + } + + if( !($forum_row = $db->sql_fetchrow($result)) ) + { + message_die(GENERAL_MESSAGE, 'Topic_post_not_exist'); + } + + $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); + } + + // + // 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, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid + FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt + WHERE p.topic_id = $topic_id + AND p.poster_id = u.user_id + AND p.post_id = pt.post_id + ORDER BY p.post_time DESC + LIMIT " . $board_config['posts_per_page']; + if( !($result = $db->sql_query($sql)) ) + { + message_die(GENERAL_ERROR, "Couldn't obtain post/user information.", "", __LINE__, __FILE__, $sql); + } + + // + // 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) ) + { + $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']); + + $mini_post_img = '' . $lang['Post'] . ''; + + // + // Handle anon users posting with usernames + // + if( $poster_id == ANONYMOUS && $row['post_username'] != '' ) + { + $poster = $row['post_username']; + $poster_rank = $lang['Guest']; + } + + $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", "
", $message); + + // + // 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']; + + $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) + ); + + $i++; + } + while ( $row = $db->sql_fetchrow($result) ); + } + else + { + message_die(GENERAL_MESSAGE, 'Topic_post_not_exist', "", __LINE__, __FILE__, $sql); + } + + $template->assign_vars(array( + "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); + } +} +// +// End page specific functions +// --------------------------- + +?> \ No newline at end of file