Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 754 lines (675 sloc) 28.003 kb
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
1 <?php
2 /**
3 *
4 * @package Icy Phoenix
5 * @version $Id$
6 * @copyright (c) 2008 Icy Phoenix
7 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
8 *
9 */
10
06ce0f8 @MightyGorgon Brand new version...
authored
11 define('IN_ICYPHOENIX', true);
12 if (!defined('IP_ROOT_PATH')) define('IP_ROOT_PATH', './');
13 if (!defined('PHP_EXT')) define('PHP_EXT', substr(strrchr(__FILE__, '.'), 1));
14 include(IP_ROOT_PATH . 'common.' . PHP_EXT);
15 include_once(IP_ROOT_PATH . 'includes/bbcode.' . PHP_EXT);
16 include_once(IP_ROOT_PATH . 'includes/functions_post.' . PHP_EXT);
2c2bc4a @MightyGorgon Many updates to the core code.
authored
17 include_once(IP_ROOT_PATH . 'includes/functions_users.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
18 define('NUM_SHOUT', 20);
19
20 // Start session management
21 $userdata = session_pagestart($user_ip);
22 init_userprefs($userdata);
23 // End session management
24
25 $start = isset($_POST['start']) ? intval($_POST['start']) : (isset($_GET['start']) ? intval($_GET['start']) : 0);
26 $start = ($start < 0) ? 0 : $start;
27
28 $page_number = (isset($_GET['page_number']) ? intval($_GET['page_number']) : (isset($_POST['page_number']) ? intval($_POST['page_number']) : false));
29 $page_number = ($page_number < 1) ? false : $page_number;
30
31 $start = (!$page_number) ? $start : (($page_number * $board_config['topics_per_page']) - $board_config['topics_per_page']);
32
33 $cms_page_id = '19';
34 $cms_page_name = 'shoutbox';
9dea0d4 @MightyGorgon New Icy Phoenix structure.
authored
35 check_page_auth($cms_page_id, $cms_page_name);
36 $cms_global_blocks = ($board_config['wide_blocks_' . $cms_page_name] == 1) ? true : false;
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
37
38 // Start auth check
39 switch ($userdata['user_level'])
40 {
41 //Customize this, if you need other permission settings
42 // please also make same changes to other shoutbox php files
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
43 case ADMIN:
44 case MOD:
45 $is_auth['auth_mod'] = 1;
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
46 default:
47 $is_auth['auth_read'] = 1;
48 $is_auth['auth_view'] = 1;
49 if ($userdata['user_id'] == ANONYMOUS)
50 {
51 $is_auth['auth_delete'] = 0;
52 $is_auth['auth_post'] = 0;
53 }
54 else
55 {
56 $is_auth['auth_delete'] = 1;
57 $is_auth['auth_post'] = 1;
58 }
59 }
60
61 if(!$is_auth['auth_read'])
62 {
63 message_die(GENERAL_MESSAGE, $lang['Not_Authorised']);
64 }
65
66 $refresh = (isset($_POST['auto_refresh']) || isset($_POST['refresh'])) ? 1 : 0;
67 $preview = (isset($_POST['preview'])) ? 1 : 0;
68 $submit = (isset($_POST['shout']) && isset($_POST['message'])) ? 1 : 0;
69 if (isset($_POST['mode']) || isset($_GET['mode']))
70 {
71 $mode = (isset($_POST['mode'])) ? $_POST['mode'] : $_GET['mode'];
72 }
73 else
74 {
75 $mode = '';
76 }
77
78 // Set toggles for various options
79 if (!$board_config['allow_html'])
80 {
81 $html_on = 0;
82 }
83 else
84 {
85 $html_on = ($submit || $refresh || preview) ? ((!empty($_POST['disable_html'])) ? 0 : 1) : (($userdata['user_id'] == ANONYMOUS) ? $board_config['allow_html'] : $userdata['user_allowhtml']);
86 }
87 if (!$board_config['allow_bbcode'])
88 {
89 $bbcode_on = 0;
90 }
91 else
92 {
93 $bbcode_on = ($submit || $refresh || preview) ? ((!empty($_POST['disable_bbcode'])) ? 0 : 1) : (($userdata['user_id'] == ANONYMOUS) ? $board_config['allow_bbcode'] : $userdata['user_allowbbcode']);
94 }
95
96 if (!$board_config['allow_smilies'])
97 {
98 $smilies_on = 0;
99 }
100 else
101 {
102 $smilies_on = ($submit || $refresh || preview) ? ((!empty($_POST['disable_smilies'])) ? 0 : 1) : (($userdata['user_id'] == ANONYMOUS) ? $board_config['allow_smilies'] : $userdata['user_allowsmile']);
103 }
104 if(!$userdata['session_logged_in'] || ($mode == 'editpost' && $post_info['poster_id'] == ANONYMOUS))
105 {
106 $template->assign_block_vars('switch_username_select', array());
107 }
108 $username = (!empty($_POST['username'])) ? $_POST['username'] : '';
109 // Check username
110 if (!empty($username))
111 {
112 $username = phpbb_clean_username($username);
113 if (!$userdata['session_logged_in'])
114 {
06ce0f8 @MightyGorgon Brand new version...
authored
115 require_once(IP_ROOT_PATH . 'includes/functions_validate.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
116 $result = validate_username($username);
117 if ($result['error'])
118 {
119 $error = true;
120 $error_msg .= (!empty($error_msg)) ? '<br />' . $result['error_msg'] : $result['error_msg'];
121 }
122 }
123 }
124
125 if ($refresh || $preview)
126 {
127 $message = (!empty($_POST['message'])) ? htmlspecialchars(trim(stripslashes($_POST['message']))) : '';
128 if (!empty($message))
129 {
130 if ($preview)
131 {
132 if (!$userdata['user_allowswearywords'])
133 {
134 $orig_word = array();
135 $replacement_word = array();
136 obtain_word_list($orig_word, $replacement_word);
137 }
138
f0d7f4b @MightyGorgon Big commit with many changes.
authored
139 $preview_message = stripslashes(prepare_message(addslashes(unprepare_message($message)), $html_on, $bbcode_on, $smilies_on));
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
140 if ($board_config['img_shoutbox'] == true)
141 {
142 $preview_message = preg_replace ("#\[url=(http://)([^ \"\n\r\t<]*)\]\[img\](http://)([^ \"\n\r\t<]*)\[/img\]\[/url\]#i", '[url=\\1\\2]\\4[/url]', $preview_message);
143 $preview_message = preg_replace ("#\[img\](http://)([^ \"\n\r\t<]*)\[/img\]#i", '[url=\\1\\2]\\2[/url]', $preview_message);
144 $preview_message = preg_replace ("#\[img align=left\](http://)([^ \"\n\r\t<]*)\[/img\]#i", '[url=\\1\\2]\\2[/url]', $preview_message);
145 $preview_message = preg_replace ("#\[img align=right\](http://)([^ \"\n\r\t<]*)\[/img\]#i", '[url=\\1\\2]\\2[/url]', $preview_message);
146 }
147 $bbcode->allow_html = ($board_config['allow_html'] ? true : false);
148 $bbcode->allow_bbcode = ($board_config['allow_bbcode'] && $bbcode_on ? true : false);
149 $bbcode->allow_smilies = ($board_config['allow_smilies'] && $smilies_on ? true : false);
f0d7f4b @MightyGorgon Big commit with many changes.
authored
150 $preview_message = $bbcode->parse($preview_message);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
151
152 if(!empty($orig_word))
153 {
154 $preview_message = (!empty($preview_message)) ? preg_replace($orig_word, $replacement_word, $preview_message) : '';
155 }
156 $orig_autolink = array();
157 $replacement_autolink = array();
158 obtain_autolink_list($orig_autolink, $replacement_autolink, 99999999);
f0d7f4b @MightyGorgon Big commit with many changes.
authored
159 $preview_message = $bbcode->acronym_pass($preview_message);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
160 if(count($orig_autolink))
161 {
162 $preview_message = autolink_transform($preview_message, $orig_autolink, $replacement_autolink);
163 }
f0d7f4b @MightyGorgon Big commit with many changes.
authored
164 //$preview_message = kb_word_wrap_pass($preview_message);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
165 $preview_message = str_replace("\n", '<br />', $preview_message);
166 $template->set_filenames(array('preview' => 'posting_preview.tpl'));
167 $template->assign_vars(array(
168 'USERNAME' => $username,
169 'POST_DATE' => create_date2($board_config['default_dateformat'], time(), $board_config['board_timezone']),
170 'MESSAGE' => $preview_message,
171 'L_POSTED' => $lang['Posted'],
172 'L_PREVIEW' => $lang['Preview']
173 )
174 );
175 $template->assign_var_from_handle('POST_PREVIEW_BOX', 'preview');
176 }
177 $template->assign_var('MESSAGE', $message);
178 }
179 }
180 elseif ($submit || isset($_POST['message']))
181 {
182 $current_time = time();
183 // Flood control
184 $where_sql = ($userdata['user_id'] == ANONYMOUS) ? "shout_ip = '$user_ip'" : 'shout_user_id = ' . $userdata['user_id'];
185 $sql = "SELECT MAX(shout_session_time) AS last_post_time
186 FROM " . SHOUTBOX_TABLE . "
187 WHERE $where_sql";
188 if ($result = $db->sql_query($sql))
189 {
190 if ($row = $db->sql_fetchrow($result))
191 {
192 if (($row['last_post_time'] > 0) && (($current_time - $row['last_post_time']) < $board_config['flood_interval']) && ($userdata['user_level'] != ADMIN))
193 {
194 $error = true;
195 $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Flood_Error'] : $lang['Flood_Error'];
196 }
197 }
198 }
199
200 $message = (isset($_POST['message'])) ? trim($_POST['message']) : '';
201 // insert shout !
202 if (!empty($message) && $is_auth['auth_post'] && !$error)
203 {
204 if ($board_config['img_shoutbox'] == true)
205 {
206 $message = preg_replace ("#\[url=(http://)([^ \"\n\r\t<]*)\]\[img\](http://)([^ \"\n\r\t<]*)\[/img\]\[/url\]#i", '[url=\\1\\2]\\4[/url]', $message);
207 $message = preg_replace ("#\[img\](http://)([^ \"\n\r\t<]*)\[/img\]#i", '[url=\\1\\2]\\2[/url]', $message);
208 $message = preg_replace ("#\[img align=left\](http://)([^ \"\n\r\t<]*)\[/img\]#i", '[url=\\1\\2]\\2[/url]', $message);
209 $message = preg_replace ("#\[img align=right\](http://)([^ \"\n\r\t<]*)\[/img\]#i", '[url=\\1\\2]\\2[/url]', $message);
210 }
211
f0d7f4b @MightyGorgon Big commit with many changes.
authored
212 $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
213 //$message = (!get_magic_quotes_gpc()) ? addslashes($message) : stripslashes($message);
f0d7f4b @MightyGorgon Big commit with many changes.
authored
214 $sql = "INSERT INTO " . SHOUTBOX_TABLE. " (shout_text, shout_session_time, shout_user_id, shout_ip, shout_username, enable_bbcode, enable_html, enable_smilies)
215 VALUES ('$message', '" . time() . "', '" . $userdata['user_id'] . "', '$user_ip', '" . $username . "', $bbcode_on, $html_on, $smilies_on)";
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
216 if (!$result = $db->sql_query($sql))
217 {
218 message_die(GENERAL_ERROR, 'Error inserting shout.', '', __LINE__, __FILE__, $sql);
219 }
220 // auto prune
221 if ($board_config['prune_shouts'])
222 {
223 $sql = "DELETE FROM " . SHOUTBOX_TABLE . " WHERE shout_session_time<=" . (time() - (86400 * $board_config['prune_shouts']));
224 if (!$result = $db->sql_query($sql))
225 {
226 message_die(GENERAL_ERROR, 'Error autoprune shouts.', '', __LINE__, __FILE__, $sql);
227 }
228 }
229 }
230 }
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
231 elseif (($mode == 'delete') || ($mode == 'censor'))
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
232 {
233 // make shout inactive
234 if (isset($_GET[POST_POST_URL]) || isset($_POST[POST_POST_URL]))
235 {
236 $post_id = (isset($_POST[POST_POST_URL])) ? intval($_POST[POST_POST_URL]) : intval($_GET[POST_POST_URL]);
237 }
238 else
239 {
240 message_die(GENERAL_ERROR, 'Error no shout id specifyed for delete/censor.', '', __LINE__, __FILE__);
241 }
242 $sql = "SELECT s.shout_user_id, shout_ip FROM " . SHOUTBOX_TABLE . " s WHERE s.shout_id='$post_id'";
243 if (!($result = $db->sql_query($sql)))
244 {
245 message_die(GENERAL_ERROR, 'Could not get shoutbox information', '', __LINE__, __FILE__, $sql);
246 }
247 $shout_identifyer = $db->sql_fetchrow($result);
248 $user_id = $shout_identifyer['shout_user_id'];
249
250 if (($userdata['user_id'] != ANONYMOUS || ($userdata['user_id'] == ANONYMOUS && $userdata['session_ip'] == $shout_identifyer['shout_ip'])) && (($userdata['user_id'] == $user_id && $is_auth['auth_delete']) || $is_auth['auth_mod']) && $mode == 'censor')
251 {
252 $sql = "UPDATE " . SHOUTBOX_TABLE . " SET shout_active='" . $userdata['user_id'] . "' WHERE shout_id='$post_id'";
253 if (!$result = $db->sql_query($sql))
254 {
255 message_die(GENERAL_ERROR, 'Error censor shout.', '', __LINE__, __FILE__, $sql);
256 }
257 }
258 elseif ($is_auth['auth_mod'] && $mode=='delete')
259 {
260 $sql = "DELETE FROM ".SHOUTBOX_TABLE." WHERE shout_id='$post_id'";
261 if (!$result = $db->sql_query($sql))
262 {
263 message_die(GENERAL_ERROR, 'Error removing shout.', '', __LINE__, __FILE__, $sql);
264 }
265 }
266 else
267 {
268 message_die(GENERAL_MESSAGE, 'Not allowed.', '', __LINE__, __FILE__);
269 }
270 }
2c2bc4a @MightyGorgon Many updates to the core code.
authored
271 elseif ($mode == 'ip')
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
272 {
273 // show the ip
274 if (!$is_auth['auth_mod'])
275 {
276 message_die(GENERAL_MESSAGE, 'Not allowed.', '', __LINE__, __FILE__);
277 }
278 if (isset($_GET[POST_POST_URL]) || isset($_POST[POST_POST_URL]))
279 {
280 $post_id = (isset($_POST[POST_POST_URL])) ? intval($_POST[POST_POST_URL]) : intval($_GET[POST_POST_URL]);
281 }
282 else
283 {
284 message_die(GENERAL_ERROR, 'Error no shout id specifyed for show ip', '', __LINE__, __FILE__);
285 }
286 $sql = "SELECT s.shout_user_id, shout_username, shout_ip FROM " . SHOUTBOX_TABLE . " s WHERE s.shout_id='$post_id'";
287 if (!($result = $db->sql_query($sql)))
288 {
289 message_die(GENERAL_ERROR, 'Could not get shoutbox information', '', __LINE__, __FILE__, $sql);
290 }
291 $shout_identifyer = $db->sql_fetchrow($result);
292 $poster_id = $shout_identifyer['shout_user_id'];
293 $rdns_ip_num = (isset($_GET['rdns'])) ? $_GET['rdns'] : "";
294
295 $ip_this_post = decode_ip($shout_identifyer['shout_ip']);
296 $ip_this_post = ($rdns_ip_num == $ip_this_post) ? gethostbyaddr($ip_this_post) : $ip_this_post;
297 $page_title = $lang['Shoutbox'];
298 $meta_description = '';
299 $meta_keywords = '';
06ce0f8 @MightyGorgon Brand new version...
authored
300 include(IP_ROOT_PATH . 'includes/page_header.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
301
302 // Set template files
303 $template->set_filenames(array('viewip' => 'modcp_viewip.tpl'));
304 $template->assign_vars(array(
305 'L_IP_INFO' => $lang['IP_info'],
306 'L_THIS_POST_IP' => $lang['This_posts_IP'],
307 'L_OTHER_IPS' => $lang['Other_IP_this_user'],
308 'L_OTHER_USERS' => $lang['Users_this_IP'],
309 'L_LOOKUP_IP' => $lang['Lookup_IP'],
310 'L_SEARCH' => $lang['Search'],
311 'SEARCH_IMG' => $images['icon_search'],
312 'IP' => $ip_this_post,
06ce0f8 @MightyGorgon Brand new version...
authored
313 'U_LOOKUP_IP' => append_sid('shoutbox_max.' . PHP_EXT . '?mode=ip&amp;' . POST_POST_URL . '=' . $post_id . '&amp;rdns=' . $ip_this_post)
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
314 )
315 );
316
317 // Get other IP's this user has posted under
318 $sql = "SELECT shout_ip, COUNT(*) AS postings
319 FROM " . SHOUTBOX_TABLE . "
320 WHERE shout_user_id = $poster_id
321 GROUP BY shout_ip
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
322 ORDER BY postings DESC";
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
323 if (!($result = $db->sql_query($sql)))
324 {
325 message_die(GENERAL_ERROR, 'Could not get IP information for this user', '', __LINE__, __FILE__, $sql);
326 }
327 if ($row = $db->sql_fetchrow($result))
328 {
329 $i = 0;
330 do
331 {
332 if ($row['shout_ip'] == $post_row['shout_ip'])
333 {
334 $template->assign_vars(array(
335 'POSTS' => $row['postings'] . ' ' . (($row['postings'] == 1) ? $lang['Post'] : $lang['Posts']))
336 );
337 continue;
338 }
339
340 $ip = decode_ip($row['shout_ip']);
341 $ip = ($rdns_ip_num == $row['shout_ip'] || $rdns_ip_num == 'all') ? gethostbyaddr($ip) : $ip;
342
343 $row_class = (!($i % 2)) ? $theme['td_class1'] : $theme['td_class2'];
344
345 $template->assign_block_vars('iprow', array(
346 'ROW_CLASS' => $row_class,
347 'IP' => $ip,
348 'POSTS' => $row['postings'] . ' ' . (($row['postings'] == 1) ? $lang['Post'] : $lang['Posts']),
349
06ce0f8 @MightyGorgon Brand new version...
authored
350 'U_LOOKUP_IP' => append_sid('shoutbox_max.' . PHP_EXT . '?mode=ip&amp;' . POST_POST_URL . '=' . $post_id . '&amp;rdns=' . $row['shout_ip'])
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
351 )
352 );
353
354 $i++;
355 }
356 while ($row = $db->sql_fetchrow($result));
357 }
358
359 // Get other users who've posted under this IP
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
360 $sql = "SELECT u.user_id, u.username, u.user_active, u.user_color, COUNT(*) as postings
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
361 FROM " . USERS_TABLE ." u, " . POSTS_TABLE . " p
362 WHERE p.poster_id = u.user_id
363 AND p.poster_ip = '" . $shout_identifyer['shout_ip'] . "'
364 GROUP BY u.user_id, u.username
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
365 ORDER BY postings DESC";
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
366
367 if (!($result = $db->sql_query($sql)))
368 {
369 message_die(GENERAL_ERROR, 'Could not get posters information based on IP', '', __LINE__, __FILE__, $sql);
370 }
371
372 if ($row = $db->sql_fetchrow($result))
373 {
374 $i = 0;
375 do
376 {
377 $id = $row['user_id'];
2c2bc4a @MightyGorgon Many updates to the core code.
authored
378 $shout_username = ($id == ANONYMOUS) ? $lang['Guest'] : $row['username'];
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
379
380 $row_class = (!($i % 2)) ? $theme['td_class1'] : $theme['td_class2'];
381
382 $template->assign_block_vars('userrow', array(
383 'ROW_CLASS' => $row_class,
384 'SHOUT_USERNAME' => $shout_username,
385 'POSTS' => $row['postings'] . ' ' . (($row['postings'] == 1) ? $lang['Post'] : $lang['Posts']),
386 'L_SEARCH_POSTS' => sprintf($lang['Search_user_posts'], $shout_username),
387
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
388 'U_PROFILE_COL' => colorize_username($row['user_id'], $row['username'], $row['user_color'], $row['user_active']),
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
389 'U_PROFILE' => append_sid(PROFILE_MG . '?mode=viewprofile&amp;' . POST_USERS_URL . '=' . $id),
390 'U_SEARCHPOSTS' => append_sid(SEARCH_MG . '?search_author=' . urlencode($shout_username) . '&amp;showresults=topics')
391 )
392 );
393
394 $i++;
395 }
396 while ($row = $db->sql_fetchrow($result));
397 }
398
399
400 $template->pparse('viewip');
06ce0f8 @MightyGorgon Brand new version...
authored
401 include(IP_ROOT_PATH . 'includes/page_tail.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
402 exit;
403 }
404
405 // display the defult page
406
407 $page_title = $lang['Shoutbox'];
408 $meta_description = '';
409 $meta_keywords = '';
06ce0f8 @MightyGorgon Brand new version...
authored
410 include(IP_ROOT_PATH . 'includes/page_header.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
411
412 // Was a highlight request part of the URI?
413 $highlight_match = $highlight = '';
414 if (isset($_GET['highlight']))
415 {
416 // Split words and phrases
417 $words = explode(' ', trim(htmlspecialchars($_GET['highlight'])));
418
419 for($i = 0; $i < count($words); $i++)
420 {
421 if (trim($words[$i]) != '')
422 {
423 $highlight_match .= (($highlight_match != '') ? '|' : '') . str_replace('*', '\w*', phpbb_preg_quote($words[$i], '#'));
424 }
425 }
426 unset($words);
427
428 $highlight = urlencode($_GET['highlight']);
429 $highlight_match = phpbb_rtrim($highlight_match, "\\");
430 }
431
432
433 $sql = "SELECT * FROM " . RANKS_TABLE . " ORDER BY rank_special ASC, rank_min ASC";
9dea0d4 @MightyGorgon New Icy Phoenix structure.
authored
434 if (!($result = $db->sql_query($sql, false, 'ranks_')))
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
435 {
436 message_die(GENERAL_ERROR, "Could not obtain ranks information.", '', __LINE__, __FILE__, $sql);
437 }
438 $ranksrow = array();
439 while ($row = $db->sql_fetchrow($result))
440 {
441 $ranksrow[] = $row;
442 }
443 $db->sql_freeresult($result);
444
445 // Define censored word matches
446 if (!$userdata['user_allowswearywords'])
447 {
448 $orig_word = array();
449 $replacement_word = array();
450 obtain_word_list($orig_word, $replacement_word);
451 }
452
453 // get statistics
454 $sql = "SELECT COUNT(*) as total FROM " . SHOUTBOX_TABLE;
455 if (!($result = $db->sql_query($sql)))
456 {
457 message_die(GENERAL_ERROR, 'Could not get shoutbox stat information', '', __LINE__, __FILE__, $sql);
458 }
459 $total_shouts = $db->sql_fetchrow($result);
460 $total_shouts = $total_shouts['total'];
461 // parse post permission
462 if ($is_auth['auth_post'])
463 {
464 $template->set_filenames(array('body' => 'shoutbox_max_body.tpl'));
465 }
466 else
467 {
468 $template->set_filenames(array('body' => 'shoutbox_max_guest_body.tpl'));
469 }
470
471 // Generate smilies listing for page output
472 //generate_smilies('inline');
473
474 // Smilies toggle selection
475 if ($board_config['allow_smilies'])
476 {
477 $smilies_status = $lang['Smilies_are_ON'];
478 $template->assign_block_vars('switch_smilies_checkbox', array());
479 }
480 else
481 {
482 $smilies_status = $lang['Smilies_are_OFF'];
483 }
484
485 // HTML toggle selection
486 if ($board_config['allow_html'])
487 {
488 $html_status = $lang['HTML_is_ON'];
489 $template->assign_block_vars('switch_html_checkbox', array());
490 }
491 else
492 {
493 $html_status = $lang['HTML_is_OFF'];
494 }
495
496 // BBCode toggle selection
497 if ($board_config['allow_bbcode'])
498 {
499 $bbcode_status = $lang['BBCode_is_ON'];
500 $template->assign_block_vars('switch_bbcode_checkbox', array());
501 }
502 else
503 {
504 $bbcode_status = $lang['BBCode_is_OFF'];
505 }
506
507 // display the shoutbox
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
508 $sql = "SELECT s.*, u.username, u.user_id, u.user_active, u.user_color, u.user_posts, u.user_from, u.user_from_flag, u.user_website, u.user_email, u.user_icq, u.user_aim, u.user_yim, u.user_skype, u.user_regdate, u.user_msnm, u.user_viewemail, u.user_rank, u.user_rank2, u.user_rank3, u.user_rank4, u.user_rank5, u.user_sig, u.user_avatar, u.user_avatar_type, u.user_allowavatar, u.user_allowsmile, u.user_allow_viewonline, u.user_session_time, u.user_warnings, u.user_level, u.user_birthday, u.user_next_birthday_greeting, u.user_gender, u.user_personal_pics_count, u.user_style, u.user_lang
509 FROM " . SHOUTBOX_TABLE . " s, " . USERS_TABLE . " u
510 WHERE s.shout_user_id = u.user_id
511 ORDER BY s.shout_session_time DESC
512 LIMIT $start, " . $board_config['posts_per_page'];
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
513 if (!($result = $db->sql_query($sql)))
514 {
515 message_die(GENERAL_ERROR, 'Could not get shoutbox information', '', __LINE__, __FILE__, $sql);
516 }
517
518 while ($shout_row = $db->sql_fetchrow($result))
519 {
520 $i++;
521 $row_class = (!($i % 2)) ? $theme['td_class1'] : $theme['td_class2'];
522 $user_id = $shout_row['shout_user_id'];
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
523 $shout_username = ($user_id == ANONYMOUS) ? (($shout_row['shout_username'] == '') ? $lang['Guest'] : $shout_row['shout_username']) : colorize_username($shout_row['user_id'], $shout_row['username'], $shout_row['user_color'], $shout_row['user_active']);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
524
2c2bc4a @MightyGorgon Many updates to the core code.
authored
525 $user_info = array();
526 $user_info = generate_user_info($shout_row);
527 foreach ($user_info as $k => $v)
528 {
529 $$k = $v;
530 }
531
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
532 $user_posts = ($shout_row['user_id'] != ANONYMOUS) ? $lang['Posts'] . ': ' . $shout_row['user_posts'] : '';
841b23a @MightyGorgon New beta candidate... with many many changes and new features respect…
authored
533 $user_from = ($shout_row['user_from'] && ($shout_row['user_id'] != ANONYMOUS)) ? $lang['Location'] . ': ' . $shout_row['user_from'] : '';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
534 $user_joined = ($shout_row['user_id'] != ANONYMOUS) ? $lang['Joined'] . ': ' . create_date($lang['JOINED_DATE_FORMAT'], $shout_row['user_regdate'], $board_config['board_timezone']) : '';
535
2c2bc4a @MightyGorgon Many updates to the core code.
authored
536 $user_avatar = $user_info['avatar'];
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
537
2c2bc4a @MightyGorgon Many updates to the core code.
authored
538 $shout = (! $shout_row['shout_active']) ? $shout_row['shout_text'] : $lang['Shout_censor'] . (($is_auth['auth_mod']) ? '<br /><hr /><br />' . $shout_row['shout_text'] : '');
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
539 $user_sig = ($shout_row['enable_sig'] && $shout_row['user_sig'] != '' && $board_config['allow_sig']) ? $shout_row['user_sig'] : '';
540
541 $rank_image = '';
542 if ($shout_row['user_rank'])
543 {
544 for($j = 0; $j < count($ranksrow); $j++)
545 {
546 if ($shout_row['user_rank'] == $ranksrow[$j]['rank_id'] && $ranksrow[$j]['rank_special'])
547 {
548 $user_rank = ($shout_row['user_id'] != ANONYMOUS) ? $ranksrow[$j]['rank_title'] : '';
549 $rank_image = ($ranksrow[$j]['rank_image'] && $shout_row['user_id'] != ANONYMOUS) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" /><br />' : '';
550 }
551 }
552 }
553 else
554 {
555 for($j = 0; $j < count($ranksrow); $j++)
556 {
557 if ($shout_row['user_posts'] >= $ranksrow[$j]['rank_min'] && !$ranksrow[$j]['rank_special'])
558 {
559 $user_rank = ($shout_row['user_id'] != ANONYMOUS) ? $ranksrow[$j]['rank_title'] : '';
560 $rank_image = ($ranksrow[$j]['rank_image'] && $shout_row['user_id'] != ANONYMOUS) ? '<img src="' . $ranksrow[$j]['rank_image'] . '" alt="' . $user_rank . '" title="' . $user_rank . '" /><br />' : '';
561 }
562 }
563 }
564
565 if ($user_sig != '')
566 {
567 $bbcode->allow_html = ($board_config['allow_html'] ? true : false);
568 $bbcode->allow_bbcode = ($board_config['allow_bbcode'] ? true : false);
569 $bbcode->allow_smilies = ($board_config['allow_smilies'] ? true : false);
6248537 @MightyGorgon Icy Phoenix 1.2.20.47 Beta 2
authored
570 $bbcode->is_sig = true;
f0d7f4b @MightyGorgon Big commit with many changes.
authored
571 $user_sig = $bbcode->parse($user_sig);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
572 $bbcode->is_sig = false;
573 }
574
575
576 // Highlight active words (primarily for search)
577 if ($highlight_match)
578 {
9dea0d4 @MightyGorgon New Icy Phoenix structure.
authored
579 $shout = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace('#\b(" . str_replace('\\', '\\\\', addslashes($highlight_match)) . ")\b#i', '<span class=\"highlight-w\"><b>\\\\1</b></span>', '\\0')", '>' . $shout . '<'), 1, -1));
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
580 }
581
582 // Replace naughty words
6fc5bc8 @MightyGorgon Pre Beta 2 Package
authored
583 if (!empty($orig_word) && count($orig_word) && !$userdata['user_allowswearywords'])
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
584 {
585 if ($user_sig != '')
586 {
587 $user_sig = preg_replace($orig_word, $replacement_word, $user_sig);
588 }
589 $shout = preg_replace($orig_word, $replacement_word, $shout);
590 }
591 $bbcode->allow_html = ($board_config['allow_html'] ? true : false);
592 $bbcode->allow_bbcode = ($board_config['allow_bbcode'] && $shout_row['enable_bbcode'] ? true : false);
593 $bbcode->allow_smilies = ($board_config['allow_smilies'] && $shout != '' && $shout_row['enable_smilies'] ? true : false);
594
f0d7f4b @MightyGorgon Big commit with many changes.
authored
595 $shout = $bbcode->parse($shout);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
596 $shout = str_replace("\n", "\n<br />\n", $shout);
597
598 $orig_autolink = array();
599 $replacement_autolink = array();
600 obtain_autolink_list($orig_autolink, $replacement_autolink, 99999999);
f0d7f4b @MightyGorgon Big commit with many changes.
authored
601 $shout = $bbcode->acronym_pass($shout);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
602 if(count($orig_autolink))
603 {
604 $shout = autolink_transform($shout, $orig_autolink, $replacement_autolink);
605 }
f0d7f4b @MightyGorgon Big commit with many changes.
authored
606 //$shout = kb_word_wrap_pass($shout);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
607 if ($is_auth['auth_mod'] && $is_auth['auth_delete'])
608 {
2c2bc4a @MightyGorgon Many updates to the core code.
authored
609 $ip_url = append_sid('shoutbox_max.' . PHP_EXT . '?mode=ip&amp;' . POST_POST_URL . '=' . $shout_row['shout_id']);
610 $ip_img = '<a href="' . $ip_url . '"><img src="' . $images['icon_ip'] . '" alt="' . $lang['View_IP'] . '" title="' . $lang['View_IP'] . '" /></a>';
611 $ip = '<a href="' . $ip_url . '">' . $lang['View_IP'] . '</a>';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
612
2c2bc4a @MightyGorgon Many updates to the core code.
authored
613 $delshout_url = append_sid('shoutbox_max.' . PHP_EXT . '?mode=delete&amp;' . POST_POST_URL . '=' . $shout_row['shout_id']);
614 $delshout_img = '<a href="' . $delshout_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" /></a>&nbsp;';
615 $delshout = '<a href="' . $delshout_url . '">' . $lang['Delete_post'] . '</a>';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
616
2c2bc4a @MightyGorgon Many updates to the core code.
authored
617 $censorshout_url = append_sid('shoutbox_max.' . PHP_EXT . '?mode=censor&amp;' . POST_POST_URL . '=' . $shout_row['shout_id']);
618 $censorshout_img = '<a href="' . $censorshout_url . '"><img src="' . $images['icon_censor'] . '" alt="' . $lang['Censor'] . '" title="' . $lang['Censor'] . '" /></a>&nbsp;';
619 $censorshout = '<a href="' . $censorshout_url . '">' . $lang['Delete_post'] . '</a>';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
620 }
621 else
622 {
2c2bc4a @MightyGorgon Many updates to the core code.
authored
623 $ip_url = '';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
624 $ip_img = '';
625 $ip = '';
626
627 if (($userdata['user_id'] == $user_id && $is_auth['auth_delete']) && ($userdata['user_id'] != ANONYMOUS || ($userdata['user_id'] == ANONYMOUS && $userdata['session_ip'] == $shout_row['shout_ip'])))
628 {
2c2bc4a @MightyGorgon Many updates to the core code.
authored
629 $censorshout_url = append_sid('shoutbox_max.' . PHP_EXT . '?mode=censor&amp;' . POST_POST_URL . '=' . $shout_row['shout_id']);
630 $censorshout_img = '<a href="' . $censorshout_url . '"><img src="' . $images['icon_censor'] . '" alt="' . $lang['Censor'] . '" title="' . $lang['Censor'] . '" /></a>&nbsp;';
631 $censorshout = '<a href="' . $censorshout_url . '">' . $lang['Delete_post'] . '</a>';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
632 }
633 else
634 {
2c2bc4a @MightyGorgon Many updates to the core code.
authored
635 $delshout_url = '';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
636 $delshout_img = '';
637 $delshout = '';
2c2bc4a @MightyGorgon Many updates to the core code.
authored
638
639 $censorshout_url = '';
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
640 $censorshout_img = '';
641 $censorshout = '';
642 }
643 }
644
645 $template->assign_block_vars('shoutrow', array(
646 'ROW_CLASS' => $row_class,
647 'SHOUT' => $shout,
648 'TIME' => create_date2($board_config['default_dateformat'], $shout_row['shout_session_time'], $board_config['board_timezone']),
649 'SHOUT_USERNAME' => $shout_username,
2c2bc4a @MightyGorgon Many updates to the core code.
authored
650 'GENDER' => $gender,
651 'AVATAR' => $user_avatar,
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
652 'RANK_IMAGE' => $rank_image,
2c2bc4a @MightyGorgon Many updates to the core code.
authored
653 'JOINED' => $user_joined,
654 'POSTS' => $user_posts,
655 'FROM' => $user_from,
656
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
657 'IP_IMG' => $ip_img,
2c2bc4a @MightyGorgon Many updates to the core code.
authored
658 'IP_URL' => $ip_url,
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
659 'IP' => $ip,
660 'DELETE_IMG' => $delshout_img,
2c2bc4a @MightyGorgon Many updates to the core code.
authored
661 'DELETE_URL' => $delshout_url,
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
662 'DELETE' => $delshout,
663 'CENSOR_IMG' => $censorshout_img,
2c2bc4a @MightyGorgon Many updates to the core code.
authored
664 'CENSOR_URL' => $censorshout_url,
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
665 'CENSOR' => $censorshout,
2c2bc4a @MightyGorgon Many updates to the core code.
authored
666 'U_VIEW_USER_PROFILE' => $user_profile,
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
667 'U_SHOUT_ID' => $shout_row['shout_id']
668 )
669 );
670 }
671
672 // Show post options
673 if ($is_auth['auth_post'])
674 {
675 $template->assign_block_vars('switch_auth_post', array());
676 }
677 else
678 {
679 $template->assign_block_vars('switch_auth_no_post', array());
680 }
681
682 $template->assign_vars(array(
683 'USERNAME' => $username,
684 'NUMBER_OF_SHOUTS' => $total_shouts,
685 'HTML_STATUS' => $html_status,
06ce0f8 @MightyGorgon Brand new version...
authored
686 'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . append_sid('faq.' . PHP_EXT . '?mode=bbcode') . '" target="_phpbbcode">', '</a>'),
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
687 'L_SHOUTBOX_LOGIN' => $lang['Login_join'],
688 'L_POSTED' => $lang['Posted'],
689 'L_AUTHOR' => $lang['Author'],
690 'L_MESSAGE' => $lang['Message'],
06ce0f8 @MightyGorgon Brand new version...
authored
691 'U_SHOUTBOX' => append_sid('shoutbox_max.' . PHP_EXT . '?start=' . $start),
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
692 'T_NAME' => $theme['template_name'],
693 'T_URL' => 'templates/' . $theme['template_name'],
694 'L_SHOUTBOX' => $lang['Shoutbox'],
695 'L_SHOUT_PREVIEW' => $lang['Preview'],
696 'L_SHOUT_SUBMIT' => $lang['Go'],
697 'L_SHOUT_TEXT' => $lang['Shout_text'],
698 'L_SHOUT_REFRESH' => $lang['Shout_refresh'],
699 'S_HIDDEN_FIELDS' => $s_hidden_fields,
700
2c2bc4a @MightyGorgon Many updates to the core code.
authored
701 'L_CENSOR' => $lang['Censor'],
702 'L_DELETE' => $lang['Delete_post'],
703 'L_VIEW_IP' => $lang['View_IP'],
704
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
705 'SMILIES_STATUS' => $smilies_status,
706 'L_EMPTY_MESSAGE' => $lang['Empty_message'],
707
708 'L_DISABLE_HTML' => $lang['Disable_HTML_post'],
709 'L_DISABLE_BBCODE' => $lang['Disable_BBCode_post'],
710 'L_DISABLE_SMILIES' => $lang['Disable_Smilies_post'],
711
712 'L_BBCODE_CLOSE_TAGS' => $lang['Close_Tags'],
713 'L_STYLES_TIP' => $lang['Styles_tip'],
714 'S_HTML_CHECKED' => (!$html_on) ? 'checked="checked"' : '',
715 'S_BBCODE_CHECKED' => (!$bbcode_on) ? 'checked="checked"' : '',
716 'S_SMILIES_CHECKED' => (!$smilies_on) ? 'checked="checked"' : ''
717 )
718 );
719
720 if($error_msg != '')
721 {
722 $template->set_filenames(array('reg_header' => 'error_body.tpl'));
723 $template->assign_vars(array('ERROR_MESSAGE' => $error_msg));
724 $template->assign_var_from_handle('ERROR_BOX', 'reg_header');
725 $message = (!empty($_POST['message'])) ? htmlspecialchars(trim(stripslashes($_POST['message']))) : '';
726 $template->assign_var('MESSAGE', $message);
727 }
728
729 // BBCBMG - BEGIN
06ce0f8 @MightyGorgon Brand new version...
authored
730 include_once(IP_ROOT_PATH . 'language/lang_' . $board_config['default_lang'] . '/lang_bbcb_mg.' . PHP_EXT);
731 include(IP_ROOT_PATH . 'includes/bbcb_mg.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
732 $template->assign_var_from_handle('BBCB_MG', 'bbcb_mg');
733 // BBCBMG - END
734 // BBCBMG SMILEYS - BEGIN
735 generate_smilies('inline');
06ce0f8 @MightyGorgon Brand new version...
authored
736 include(IP_ROOT_PATH . 'includes/bbcb_smileys_mg.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
737 $template->assign_var_from_handle('BBCB_SMILEYS_MG', 'bbcb_smileys_mg');
738 // BBCBMG SMILEYS - END
739
740 // Generate pagination for shoutbox view
06ce0f8 @MightyGorgon Brand new version...
authored
741 $pagination = ($highlight_match) ? generate_pagination('shoutbox_max.' . PHP_EXT . '?highlight=' . $highlight, $total_shouts, $board_config['posts_per_page'], $start) : generate_pagination('shoutbox_max.' . PHP_EXT . '?dummy=1', $total_shouts, $board_config['posts_per_page'], $start);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
742
743 $template->assign_vars(array(
744 'PAGINATION' => $pagination,
745 'NUMBER_OF_SHOUTS' => $total_shouts,
746 )
747 );
748
749 $template->pparse('body');
750
751 // Include page tail
06ce0f8 @MightyGorgon Brand new version...
authored
752 include(IP_ROOT_PATH . 'includes/page_tail.' . PHP_EXT);
d07f25e @MightyGorgon git-svn-id: http://svn.assembla.com/svn/icy_phoenix/ip/trunk@29 e0e46…
authored
753
754 ?>
Something went wrong with that request. Please try again.