| 
								
							 | 
							
								<?php
							 | 
						
						
						
							| 
								
							 | 
							
								/** 
							 | 
						
						
						
							| 
								
							 | 
							
								* @package	uForum 
							 | 
						
						
						
							| 
								
							 | 
							
								* @file		topic.php
							 | 
						
						
						
							| 
								
							 | 
							
								* @version	$Id$ 
							 | 
						
						
						
							| 
								
							 | 
							
								* @copyright	2007-2010 (c) PioDer <[email protected]>
							 | 
						
						
						
							| 
								
							 | 
							
								* @link    		http://www.pioder.pl/
							 | 
						
						
						
							| 
								
							 | 
							
								* @license	see LICENSE.txt
							 | 
						
						
						
							| 
								
							 | 
							
								**/
							 | 
						
						
						
							| 
								
							 | 
							
								define('IN_uF', true);
							 | 
						
						
						
							| 
								
							 | 
							
								//include files
							 | 
						
						
						
							| 
								
							 | 
							
								require('./config.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/constants.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/db.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/errors.php');
							 | 
						
						
						
							| 
								
							 | 
							
								//connect to database
							 | 
						
						
						
							| 
								
							 | 
							
								DataBase::db_connect();
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/sessions.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/classes/class_user.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./common.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/misc_functions.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/classes/class_forum.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/classes/class_topic.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/classes/class_mod.php');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/classes/secure.php');
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								$default_lang = DefaultLang();
							 | 
						
						
						
							| 
								
							 | 
							
								require('./lngs/'.$default_lang.'/main.php');
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								$tid = intval($_GET['t']);
							 | 
						
						
						
							| 
								
							 | 
							
								$start = TimeGeneration();
							 | 
						
						
						
							| 
								
							 | 
							
								SessDelInvalid();	
							 | 
						
						
						
							| 
								
							 | 
							
								SessRegister();
							 | 
						
						
						
							| 
								
							 | 
							
								SessDeleteOld();
							 | 
						
						
						
							| 
								
							 | 
							
								$default_skin = ViewSkinName();
							 | 
						
						
						
							| 
								
							 | 
							
								require('./includes/cache/cache_topic.php');
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								$forum_locked = $forum['lock'];
							 | 
						
						
						
							| 
								
							 | 
							
								//add skin variables
							 | 
						
						
						
							| 
								
							 | 
							
								$skin = array(
							 | 
						
						
						
							| 
								
							 | 
							
								'lreply'=>(($topic['lock']==1) or ($forum_locked==1)) ? 
							 | 
						
						
						
							| 
								
							 | 
							
									'<img src="skins/'.$default_skin.'/images/lng_'.$default_lang.'/lock.gif" border="0" alt="reply">' 
							 | 
						
						
						
							| 
								
							 | 
							
									: 
							 | 
						
						
						
							| 
								
							 | 
							
									'<a href="posting.php?mode=rpost&id='.$_GET['t'].'">
							 | 
						
						
						
							| 
								
							 | 
							
								    	<img src="skins/'.$default_skin.'/images/lng_'.$default_lang.'/reply.gif"
							 | 
						
						
						
							| 
								
							 | 
							
								        onMouseOver="this.style.cursor=\'hand\'; this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/reply_active.gif\';"
							 | 
						
						
						
							| 
								
							 | 
							
								        onMouseOut="this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/reply.gif\'" border="0" alt="reply"></a>'
							 | 
						
						
						
							| 
								
							 | 
							
								);
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								$skin = array_push_assoc($skin, GenerateHeader($lng['showtopic'].': '.$topic['name'], '<a href="forum.php?f='.$fid.'" class="navigator">'.$forum['name']. '</a> » <a href="'.$_SERVER['REQUEST_URI'].'" class="navigator">'.$topic['name']));
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								//do it!
							 | 
						
						
						
							| 
								
							 | 
							
								require('./skins/'.$default_skin.'/overall_header.tpl');
							 | 
						
						
						
							| 
								
							 | 
							
								require('./skins/'.$default_skin.'/topic_body.tpl');
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								$sql = "SELECT ".POSTS_TABLE.".*, ".USERS_TABLE.".*, ".USERS_TABLE.".u_id AS user_id,".SESSIONS_TABLE.".* FROM `".POSTS_TABLE."` LEFT JOIN ".USERS_TABLE." ON ".USERS_TABLE.".u_id = ".POSTS_TABLE.".u_id  LEFT JOIN ".SESSIONS_TABLE." ON ".SESSIONS_TABLE.".u_id = ".POSTS_TABLE.".u_id WHERE t_id='$tid' ORDER BY tp_id $limit;";
							 | 
						
						
						
							| 
								
							 | 
							
								$query = DataBase::sql_query($sql,CRITICAL,'Could not obtain post information.');
							 | 
						
						
						
							| 
								
							 | 
							
								while($item=DataBase::fetch($query))
							 | 
						
						
						
							| 
								
							 | 
							
								{
							 | 
						
						
						
							| 
								
							 | 
							
									$ua = UserAgent($item['user_agent']);
							 | 
						
						
						
							| 
								
							 | 
							
									$warn_pool = ($forum_config['allow_warns'] && $forum_config['warns_in_topic'] ) ? (isset($user_warnlevel[$item['u_id']])) ?
							 | 
						
						
						
							| 
								
							 | 
							
									 '<a href="warns.php?mode=view&id='.$item['u_id'].'" class="fsmall">'.$lng['warns'].'</a>:
							 | 
						
						
						
							| 
								
							 | 
							
									  <font color="red"><b>'.($user_warnlevel[$item['u_id']]*10).'%</b></span>' : '<a href="warns.php?mode=view&id='.$item['u_id'].'" class="fsmall">'.$lng['warns'].'</a>:
							 | 
						
						
						
							| 
								
							 | 
							
									  <font color="green"><b>0%</b></span>' : ' '; 
							 | 
						
						
						
							| 
								
							 | 
							
									$skin = array(
							 | 
						
						
						
							| 
								
							 | 
							
									'tp_id' => $item['tp_id'],
							 | 
						
						
						
							| 
								
							 | 
							
									'p_id' => $item['p_id'], 
							 | 
						
						
						
							| 
								
							 | 
							
									'u_id' => $item['user_id'],
							 | 
						
						
						
							| 
								
							 | 
							
									'username' => Topic::UserName($item['nick'], $item['rank']),
							 | 
						
						
						
							| 
								
							 | 
							
									'pdate' => GenerateTime($item['ptime']),
							 | 
						
						
						
							| 
								
							 | 
							
									'user_gg' => (($item['allow_gg'])&& ($item['gg']!='0')) ?  
							 | 
						
						
						
							| 
								
							 | 
							
									'<a href="gg:'.$item['gg'].'"><img border="0" src="skins/'.$default_skin.'/images/gg_small.gif" 
							 | 
						
						
						
							| 
								
							 | 
							
								 	  alt="gg" onMouseOver="this.style.cursor=\'hand\'; this.src=\'skins/'.$default_skin.'/images/gg_small_active.gif\'"
							 | 
						
						
						
							| 
								
							 | 
							
								        onMouseOut="this.src=\'skins/'.$default_skin.'/images/gg_small.gif\'"></a><br>' : '',
							 | 
						
						
						
							| 
								
							 | 
							
									'edit' => ($_SESSION['uid']>0) ? (($item['u_id']==$_SESSION['uid']) ||(RANK>0)) ? 
							 | 
						
						
						
							| 
								
							 | 
							
									'<a href="posting.php?mode=edit&id='.$item['p_id'].'">
							 | 
						
						
						
							| 
								
							 | 
							
									<img border="0" src="skins/'.$default_skin.'/images/lng_'.$default_lang.'/edit_small.gif" 
							 | 
						
						
						
							| 
								
							 | 
							
									  alt="edit" onMouseOver="this.style.cursor=\'hand\'; this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/edit_small_active.gif\'"
							 | 
						
						
						
							| 
								
							 | 
							
								        onMouseOut="this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/edit_small.gif\'"></a><br>' : '' : '',
							 | 
						
						
						
							| 
								
							 | 
							
									'userrank' => User::UserRank($item['rank']),
							 | 
						
						
						
							| 
								
							 | 
							
									'avatar' => ($item['avatar']!='') ? '<img src="'.$item['avatar'].'"  alt="av">' : '<img src="skins/'.$default_skin.'/images/no_av.gif"  alt="av">',
							 | 
						
						
						
							| 
								
							 | 
							
									'posttext' => Topic::PostText($item['text'], $item['moderated'], $item['p_id']),
							 | 
						
						
						
							| 
								
							 | 
							
									'sig'=>($item['sig']!='') ? '<br><br>----------------<br>'.$item['sig'] : '',
							 | 
						
						
						
							| 
								
							 | 
							
									'posts'=>$item['posts'],
							 | 
						
						
						
							| 
								
							 | 
							
									'regdate' => date('d-m-Y',$item['regdate']),
							 | 
						
						
						
							| 
								
							 | 
							
									'lastvisit' => date('d-m-Y',$item['lastvisit']),
							 | 
						
						
						
							| 
								
							 | 
							
									'warns_pool' => $warn_pool,
							 | 
						
						
						
							| 
								
							 | 
							
									'lstat'=>$lng['stat'],
							 | 
						
						
						
							| 
								
							 | 
							
									'rowspan'=> ($_SESSION['uid']>0) ? ((RANK>0) ? '3' : '2') : '2',
							 | 
						
						
						
							| 
								
							 | 
							
									'L.IP' => ($_SESSION['uid']>0) ? ((($forum_config['ip_post_for_mod'] && (RANK>0)) || (RANK==2) ) ? 'IP: '.$item['post_ip'].' (<a href="http://whois.domaintools.com/'.$item['post_ip'].'" class="fsmall"><i>WHOIS</i></a>)<br>' : '') : '',
							 | 
						
						
						
							| 
								
							 | 
							
									'IP'=>$item['post_ip'],
							 | 
						
						
						
							| 
								
							 | 
							
									'admin'=>$lng['admin_mod_administration'],
							 | 
						
						
						
							| 
								
							 | 
							
									'mode_p_del' => ($item['tp_id']!='1') ? 
							 | 
						
						
						
							| 
								
							 | 
							
									  '<a href="javascript:confirm_action(\''.$lng['c_delete_post'].'\',\'moderate.php?action=postdelete&id='.$item['p_id'].'\')">
							 | 
						
						
						
							| 
								
							 | 
							
									    <img border="0" src="skins/'.$default_skin.'/images/delete_small.gif" onMouseOver="this.style.cursor=\'hand\'; this.src=\'skins/'.$default_skin.'/images/delete_small_active.gif\'"
							 | 
						
						
						
							| 
								
							 | 
							
								        onMouseOut="this.src=\'skins/'.$default_skin.'/images/delete_small.gif\'" 
							 | 
						
						
						
							| 
								
							 | 
							
									      alt="pdelete"></a><br>' : '',
							 | 
						
						
						
							| 
								
							 | 
							
									'ban'=> $lng['ban'],
							 | 
						
						
						
							| 
								
							 | 
							
									'edit_profile'=>$lng['edit_profile'],
							 | 
						
						
						
							| 
								
							 | 
							
									'add_warn'=>$lng['add_warn'],
							 | 
						
						
						
							| 
								
							 | 
							
									'online'=>($item['time']!=NULL) ? (($item['time']+1250)>$_SERVER['REQUEST_TIME']) ? 'online.gif' : 'offline.gif' : 'offline.gif',
							 | 
						
						
						
							| 
								
							 | 
							
									//labels
							 | 
						
						
						
							| 
								
							 | 
							
									'L.warns'=>$lng['warns'],
							 | 
						
						
						
							| 
								
							 | 
							
									'lang'=>$default_lang,
							 | 
						
						
						
							| 
								
							 | 
							
									'L.date'=>$lng['date'],
							 | 
						
						
						
							| 
								
							 | 
							
									'llastvisit'=>$lng['lulastvisit'],
							 | 
						
						
						
							| 
								
							 | 
							
									'lregdate'=>$lng['regdate2'],
							 | 
						
						
						
							| 
								
							 | 
							
									'lposts'=>$lng['posts'],
							 | 
						
						
						
							| 
								
							 | 
							
									'ua_system'=>$ua[0],
							 | 
						
						
						
							| 
								
							 | 
							
									'ua_system_desc'=>$lng['system'].' '.$ua[2],
							 | 
						
						
						
							| 
								
							 | 
							
									'ua_browser'=>$ua[1],
							 | 
						
						
						
							| 
								
							 | 
							
									'ua_browser_desc'=>$lng['browser'].' '.$ua[3],
							 | 
						
						
						
							| 
								
							 | 
							
									'L.no'=>$lng['no.'],
							 | 
						
						
						
							| 
								
							 | 
							
									'L.p_info'=>$lng['postinfo'],
							 | 
						
						
						
							| 
								
							 | 
							
									'lpost'=>$lng['post'],
							 | 
						
						
						
							| 
								
							 | 
							
									'C.delete_post'=>$lng['c_delete_post']
							 | 
						
						
						
							| 
								
							 | 
							
									);
							 | 
						
						
						
							| 
								
							 | 
							
									//do it!
							 | 
						
						
						
							| 
								
							 | 
							
									require('./skins/'.$default_skin.'/topic_post_body.tpl');
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 | 
						
						
						
							| 
								
							 | 
							
								
							 | 
						
						
						
							| 
								
							 | 
							
								//generate end template variables
							 | 
						
						
						
							| 
								
							 | 
							
								$skin = array(
							 | 
						
						
						
							| 
								
							 | 
							
								'functions_moderate'=> ($_SESSION['uid']>0) ? (RANK>0) ? './skins/'.$default_skin.'/topic_mod_body.tpl' : './skins/'.$default_skin.'/blank.tpl' : './skins/'.$default_skin.'/blank.tpl',
							 | 
						
						
						
							| 
								
							 | 
							
								'lock' => ($topic['lock']==1) ? '<a href="moderate.php?action=unlock&id='.$tid.'"><img border="0" src="skins/'.$default_skin.'/images/unlock.gif"  alt="unlock"></a>' : '<a href="moderate.php?action=lock&id='.$tid.'"><img border="0" src="skins/'.$default_skin.'/images/lock.gif" alt="lock"></a>',
							 | 
						
						
						
							| 
								
							 | 
							
								'stick' => ($topic['sticky']==1) ? '<a href="moderate.php?action=unstick&id='.$tid.'">
							 | 
						
						
						
							| 
								
							 | 
							
								<img border="0" src="skins/'.$default_skin.'/images/unstick.gif"  alt="unstick"></a>' 
							 | 
						
						
						
							| 
								
							 | 
							
								: '<a href="moderate.php?action=stick&id='.$tid.'"><img border="0" src="skins/'.$default_skin.'/images/stick.gif" 
							 | 
						
						
						
							| 
								
							 | 
							
								 alt="stick"></a>',
							 | 
						
						
						
							| 
								
							 | 
							
								'lmod' => $lng['lmod'],
							 | 
						
						
						
							| 
								
							 | 
							
								'c_delete_topic'=>$lng['c_delete_topic'],
							 | 
						
						
						
							| 
								
							 | 
							
								'option_pages'=>ListPages($page, $count),
							 | 
						
						
						
							| 
								
							 | 
							
								'lwith'=>$lng['with'],
							 | 
						
						
						
							| 
								
							 | 
							
								'lpage'=>$lng['page'],
							 | 
						
						
						
							| 
								
							 | 
							
								'lpages'=>$count
							 | 
						
						
						
							| 
								
							 | 
							
								);
							 | 
						
						
						
							| 
								
							 | 
							
								$skin['lreply']=(($topic['lock']==1) or ($forum_locked==1))
							 | 
						
						
						
							| 
								
							 | 
							
								 ? '<img src="skins/'.$default_skin.'/images/lng_'.$default_lang.'/lock.gif" border="0"
							 | 
						
						
						
							| 
								
							 | 
							
								  alt="reply">' : '<a href="posting.php?mode=rpost&id='.$_GET['t'].'">
							 | 
						
						
						
							| 
								
							 | 
							
								  <img src="skins/'.$default_skin.'/images/lng_'.$default_lang.'/reply.gif" border="0" 
							 | 
						
						
						
							| 
								
							 | 
							
								  onMouseOver="this.style.cursor=\'hand\'; this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/reply_active.gif\'"
							 | 
						
						
						
							| 
								
							 | 
							
								  onMouseOut="this.src=\'skins/'.$default_skin.'/images/lng_'.$default_lang.'/reply.gif\'" border="0" alt="reply"></a';
							 | 
						
						
						
							| 
								
							 | 
							
								require('./skins/'.$default_skin.'/topic_end_body.tpl');
							 | 
						
						
						
							| 
								
							 | 
							
								if (($_SESSION['uid']>0) and ($topic['lock']==0) and ($forum_locked==0) and ($userdata['allow_qr']=='1'))
							 | 
						
						
						
							| 
								
							 | 
							
								{
							 | 
						
						
						
							| 
								
							 | 
							
									include './quick_reply.php';
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 | 
						
						
						
							| 
								
							 | 
							
								if($_SESSION['uid']>0)
							 | 
						
						
						
							| 
								
							 | 
							
								{
							 | 
						
						
						
							| 
								
							 | 
							
									if(RANK==2)
							 | 
						
						
						
							| 
								
							 | 
							
									{
							 | 
						
						
						
							| 
								
							 | 
							
										$skin['pa_link']='<a href="admin/index.php" class="fsmall"><b>'.$lng['pa_link'].'</b></a>';
							 | 
						
						
						
							| 
								
							 | 
							
									}
							 | 
						
						
						
							| 
								
							 | 
							
									else
							 | 
						
						
						
							| 
								
							 | 
							
									{
							 | 
						
						
						
							| 
								
							 | 
							
										$skin['pa_link']='';
							 | 
						
						
						
							| 
								
							 | 
							
									}
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 | 
						
						
						
							| 
								
							 | 
							
								else
							 | 
						
						
						
							| 
								
							 | 
							
								{
							 | 
						
						
						
							| 
								
							 | 
							
									$skin['pa_link']=''; 
							 | 
						
						
						
							| 
								
							 | 
							
								}
							 | 
						
						
						
							| 
								
							 | 
							
								$stop = TimeGeneration();
							 | 
						
						
						
							| 
								
							 | 
							
								$skin['queries'] =  ShowQueries($start, $stop);
							 | 
						
						
						
							| 
								
							 | 
							
								require('./skins/'.$default_skin.'/overall_footer.tpl');
							 | 
						
						
						
							| 
								
							 | 
							
								?>
							 |