[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 /*************************************************************************** 3 * topic_review.php 4 * ------------------- 5 * begin : Saturday, Feb 13, 2001 6 * copyright : (C) 2001 The phpBB Group 7 * email : support@phpbb.com 8 * 9 * $Id: topic_review.php 5142 2005-05-06 20:50:13Z acydburn $ 10 * 11 * 12 ***************************************************************************/ 13 14 /*************************************************************************** 15 * 16 * This program is free software; you can redistribute it and/or modify 17 * it under the terms of the GNU General Public License as published by 18 * the Free Software Foundation; either version 2 of the License, or 19 * (at your option) any later version. 20 * 21 * 22 ***************************************************************************/ 23 24 function topic_review($topic_id, $is_inline_review) 25 { 26 global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; 27 global $userdata, $user_ip; 28 global $orig_word, $replacement_word; 29 global $starttime; 30 31 if ( !$is_inline_review ) 32 { 33 if ( !isset($topic_id) || !$topic_id) 34 { 35 message_die(GENERAL_MESSAGE, 'Topic_post_not_exist'); 36 } 37 38 // 39 // Get topic info ... 40 // 41 $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 42 FROM " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f 43 WHERE t.topic_id = $topic_id 44 AND f.forum_id = t.forum_id"; 45 if ( !($result = $db->sql_query($sql)) ) 46 { 47 message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql); 48 } 49 50 if ( !($forum_row = $db->sql_fetchrow($result)) ) 51 { 52 message_die(GENERAL_MESSAGE, 'Topic_post_not_exist'); 53 } 54 $db->sql_freeresult($result); 55 56 $forum_id = $forum_row['forum_id']; 57 $topic_title = $forum_row['topic_title']; 58 59 // 60 // Start session management 61 // 62 $userdata = session_pagestart($user_ip, $forum_id); 63 init_userprefs($userdata); 64 // 65 // End session management 66 // 67 68 $is_auth = array(); 69 $is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_row); 70 71 if ( !$is_auth['auth_read'] ) 72 { 73 message_die(GENERAL_MESSAGE, sprintf($lang['Sorry_auth_read'], $is_auth['auth_read_type'])); 74 } 75 } 76 77 // 78 // Define censored word matches 79 // 80 if ( empty($orig_word) && empty($replacement_word) ) 81 { 82 $orig_word = array(); 83 $replacement_word = array(); 84 85 obtain_word_list($orig_word, $replacement_word); 86 } 87 88 // 89 // Dump out the page header and load viewtopic body template 90 // 91 if ( !$is_inline_review ) 92 { 93 $gen_simple_header = TRUE; 94 95 $page_title = $lang['Topic_review'] . ' - ' . $topic_title; 96 include($phpbb_root_path . 'includes/page_header.'.$phpEx); 97 98 $template->set_filenames(array( 99 'reviewbody' => 'posting_topic_review.tpl') 100 ); 101 } 102 103 // 104 // Go ahead and pull all data for this topic 105 // 106 $sql = "SELECT u.username, u.user_id, p.*, pt.post_text, pt.post_subject, pt.bbcode_uid 107 FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u, " . POSTS_TEXT_TABLE . " pt 108 WHERE p.topic_id = $topic_id 109 AND p.poster_id = u.user_id 110 AND p.post_id = pt.post_id 111 ORDER BY p.post_time DESC 112 LIMIT " . $board_config['posts_per_page']; 113 if ( !($result = $db->sql_query($sql)) ) 114 { 115 message_die(GENERAL_ERROR, 'Could not obtain post/user information', '', __LINE__, __FILE__, $sql); 116 } 117 118 // 119 // Okay, let's do the loop, yeah come on baby let's do the loop 120 // and it goes like this ... 121 // 122 if ( $row = $db->sql_fetchrow($result) ) 123 { 124 $mini_post_img = $images['icon_minipost']; 125 $mini_post_alt = $lang['Post']; 126 127 $i = 0; 128 do 129 { 130 $poster_id = $row['user_id']; 131 $poster = $row['username']; 132 133 $post_date = create_date($board_config['default_dateformat'], $row['post_time'], $board_config['board_timezone']); 134 135 // 136 // Handle anon users posting with usernames 137 // 138 if( $poster_id == ANONYMOUS && $row['post_username'] != '' ) 139 { 140 $poster = $row['post_username']; 141 $poster_rank = $lang['Guest']; 142 } 143 elseif ( $poster_id == ANONYMOUS ) 144 { 145 $poster = $lang['Guest']; 146 $poster_rank = ''; 147 } 148 149 $post_subject = ( $row['post_subject'] != '' ) ? $row['post_subject'] : ''; 150 151 $message = $row['post_text']; 152 $bbcode_uid = $row['bbcode_uid']; 153 154 // 155 // If the board has HTML off but the post has HTML 156 // on then we process it, else leave it alone 157 // 158 if ( !$board_config['allow_html'] && $row['enable_html'] ) 159 { 160 $message = preg_replace('#(<)([\/]?.*?)(>)#is', '<\2>', $message); 161 } 162 163 if ( $bbcode_uid != "" ) 164 { 165 $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message); 166 } 167 168 $message = make_clickable($message); 169 170 if ( count($orig_word) ) 171 { 172 $post_subject = preg_replace($orig_word, $replacement_word, $post_subject); 173 $message = preg_replace($orig_word, $replacement_word, $message); 174 } 175 176 if ( $board_config['allow_smilies'] && $row['enable_smilies'] ) 177 { 178 $message = smilies_pass($message); 179 } 180 181 $message = str_replace("\n", '<br />', $message); 182 183 // 184 // Again this will be handled by the templating 185 // code at some point 186 // 187 $row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2']; 188 $row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2']; 189 190 $template->assign_block_vars('postrow', array( 191 'ROW_COLOR' => '#' . $row_color, 192 'ROW_CLASS' => $row_class, 193 194 'MINI_POST_IMG' => $mini_post_img, 195 'POSTER_NAME' => $poster, 196 'POST_DATE' => $post_date, 197 'POST_SUBJECT' => $post_subject, 198 'MESSAGE' => $message, 199 200 'L_MINI_POST_ALT' => $mini_post_alt) 201 ); 202 203 $i++; 204 } 205 while ( $row = $db->sql_fetchrow($result) ); 206 } 207 else 208 { 209 message_die(GENERAL_MESSAGE, 'Topic_post_not_exist', '', __LINE__, __FILE__, $sql); 210 } 211 $db->sql_freeresult($result); 212 213 $template->assign_vars(array( 214 'L_AUTHOR' => $lang['Author'], 215 'L_MESSAGE' => $lang['Message'], 216 'L_POSTED' => $lang['Posted'], 217 'L_POST_SUBJECT' => $lang['Post_subject'], 218 'L_TOPIC_REVIEW' => $lang['Topic_review']) 219 ); 220 221 if ( !$is_inline_review ) 222 { 223 $template->pparse('reviewbody'); 224 include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 225 } 226 } 227 228 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Jan 14 19:21:40 2013 | Cross-referenced by PHPXref 0.7.1 |