OSDN Git Service

Small bug fix.
[idb/iDB.git.git] / inc / topics.php
1 <?php
2 /*
3     This program is free software; you can redistribute it and/or modify
4     it under the terms of the Revised BSD License.
5
6     This program is distributed in the hope that it will be useful,
7     but WITHOUT ANY WARRANTY; without even the implied warranty of
8     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9     Revised BSD License for more details.
10
11     Copyright 2004-2008 Cool Dude 2k - http://idb.berlios.de/
12     Copyright 2004-2008 Game Maker 2k - http://intdb.sourceforge.net/
13
14     $FileInfo: topics.php - Last Update: 12/27/2008 SVN 224 - Author: cooldude2k $
15 */
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="topics.php"||$File3Name=="/topics.php") {
18         require('index.php');
19         exit(); }
20 $pstring = null; $pagenum = null;
21 if(!is_numeric($_GET['id'])) { $_GET['id'] = null; }
22 if(!is_numeric($_GET['page'])) { $_GET['page'] = null; }
23 $prequery = query("SELECT * FROM `".$Settings['sqltable']."forums` WHERE `id`=%i LIMIT 1", array($_GET['id']));
24 $preresult=mysql_query($prequery);
25 $prenum=mysql_num_rows($preresult);
26 if($prenum==0) { redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); @mysql_free_result($preresult);
27 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
28 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
29 if($prenum>=1) {
30 $ForumID=mysql_result($preresult,0,"id");
31 $ForumCatID=mysql_result($preresult,0,"CategoryID");
32 $ForumName=mysql_result($preresult,0,"Name");
33 $ForumType=mysql_result($preresult,0,"ForumType");
34 $RedirectURL=mysql_result($preresult,0,"RedirectURL");
35 $RedirectTimes=mysql_result($preresult,0,"Redirects");
36 $NumberViews=mysql_result($preresult,0,"NumViews");
37 $NumberPosts=mysql_result($preresult,0,"NumPosts");
38 $NumberTopics=mysql_result($preresult,0,"NumTopics");
39 $PostCountAdd=mysql_result($preresult,0,"PostCountAdd");
40 $CanHaveTopics=mysql_result($preresult,0,"CanHaveTopics");
41 $HotTopicPosts=mysql_result($preresult,0,"HotTopicPosts");
42 if($HotTopicPosts!=0&&is_numeric($HotTopicPosts)) {
43         $Settings['hot_topic_num'] = $HotTopicPosts; }
44 if(!is_numeric($Settings['hot_topic_num'])) {
45         $Settings['hot_topic_num'] = 15; }
46 $ForumPostCountView=mysql_result($preresult,0,"PostCountView");
47 $ForumKarmaCountView=mysql_result($preresult,0,"KarmaCountView");
48 @mysql_free_result($preresult);
49 $ForumType = strtolower($ForumType); $CanHaveTopics = strtolower($CanHaveTopics);
50 if($CanHaveTopics=="yes"&&$ForumType=="subforum") { 
51 if($_GET['act']=="create"||$_GET['act']=="maketopic"||
52         $_POST['act']=="maketopics") { $ForumCheck = "skip"; } }
53 $catcheck = query("SELECT * FROM `".$Settings['sqltable']."categories` WHERE `id`=%i  LIMIT 1", array($ForumCatID));
54 $catresult=mysql_query($catcheck);
55 $CategoryName=mysql_result($catresult,0,"Name");
56 $CategoryType=mysql_result($catresult,0,"CategoryType");
57 $CategoryPostCountView=mysql_result($catresult,0,"PostCountView");
58 $CategoryKarmaCountView=mysql_result($catresult,0,"KarmaCountView");
59 @mysql_free_result($catresult);
60 if($GroupInfo['HasAdminCP']!="yes"||$GroupInfo['HasModCP']!="yes") {
61 if($MyPostCountChk==null) { $MyPostCountChk = 0; }
62 if($MyKarmaCount==null) { $MyKarmaCount = 0; }
63 if($ForumPostCountView!=0&&$MyPostCountChk<$ForumPostCountView) {
64 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); }
65 if($CategoryPostCountView!=0&&$MyPostCountChk<$CategoryPostCountView) {
66 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); }
67 if($ForumKarmaCountView!=0&&$MyKarmaCount<$ForumKarmaCountView) {
68 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); }
69 if($CategoryKarmaCountView!=0&&$MyKarmaCount<$CategoryKarmaCountView) {
70 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); } }
71 ?>
72 <div class="NavLinks"><?php echo $ThemeSet['NavLinkIcon']; ?><a href="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>">Board index</a><?php echo $ThemeSet['NavLinkDivider']; ?><a href="<?php echo url_maker($exfile[$CategoryType],$Settings['file_ext'],"act=view&id=".$ForumCatID,$Settings['qstr'],$Settings['qsep'],$prexqstr[$CategoryType],$exqstr[$CategoryType]); ?>"><?php echo $CategoryName; ?></a><?php echo $ThemeSet['NavLinkDivider']; ?><a href="<?php echo url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType]); ?>"><?php echo $ForumName; ?></a></div>
73 <div class="DivNavLinks">&nbsp;</div>
74 <?php
75 if(!isset($CatPermissionInfo['CanViewCategory'][$ForumCatID])) {
76         $CatPermissionInfo['CanViewCategory'][$ForumCatID] = "no"; }
77 if($CatPermissionInfo['CanViewCategory'][$ForumCatID]=="no"||
78         $CatPermissionInfo['CanViewCategory'][$ForumCatID]!="yes") {
79 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false));
80 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
81 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
82 if(!isset($PermissionInfo['CanViewForum'][$ForumID])) {
83         $PermissionInfo['CanViewForum'][$ForumID] = "no"; }
84 if($PermissionInfo['CanViewForum'][$ForumID]=="no"||
85         $PermissionInfo['CanViewForum'][$ForumID]!="yes") {
86 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false));
87 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
88 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
89 if($CatPermissionInfo['CanViewCategory'][$ForumCatID]=="yes"&&
90         $PermissionInfo['CanViewForum'][$ForumID]=="yes") {
91 if($ForumType!="redirect") {
92 if($NumberViews==0||$NumberViews==null) { $NewNumberViews = 1; }
93 if($NumberViews!=0&&$NumberViews!=null) { $NewNumberViews = $NumberViews + 1; }
94 $viewup = query("UPDATE `".$Settings['sqltable']."forums` SET `NumViews`=%i WHERE `id`=%i", array($NewNumberViews,$_GET['id']));
95 mysql_query($viewup); }
96 if($ForumType=="redirect") {
97 if($RedirectTimes==0||$RedirectTimes==null) { $NewRedirTime = 1; }
98 if($RedirectTimes!=0&&$RedirectTimes!=null) { $NewRedirTime = $RedirectTimes + 1; }
99 $redirup = query("UPDATE `".$Settings['sqltable']."forums` SET `Redirects`=%i WHERE `id`=%i", array($NewRedirTime,$_GET['id']));
100 mysql_query($redirup);
101 if($RedirectURL!="http://"&&$RedirectURL!="") {
102 redirect("location",$RedirectURL,0,null,false); ob_clean();
103 @header("Content-Type: text/plain; charset=".$Settings['charset']);
104 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
105 if($RedirectURL=="http://"||$RedirectURL=="") {
106 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false));
107 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
108 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
109 if($ForumCheck!="skip") {
110 if($ForumType=="subforum") {
111 redirect("location",$basedir.url_maker($exfile['subforum'],$Settings['file_ext'],"act=".$_GET['act']."&id=".$_GET['id'],$Settings['qstr'],$Settings['qsep'],$prexqstr['subforum'],$exqstr['subforum'],FALSE));
112 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
113 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
114 if($_GET['act']!="view") { ?>
115 <table style="width: 100%;" class="Table2">
116 <tr>
117  <td style="width: 30%; text-align: left;"><?php echo $pstring; ?></td>
118  <td style="width: 70%; text-align: right;">
119  <?php if($PermissionInfo['CanMakeTopics'][$ForumID]=="yes"&&$CanHaveTopics=="yes") { ?>
120  <a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=create&id=".$ForumID,$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ThemeSet['NewTopic']; ?></a>
121  <?php } ?></td>
122 </tr>
123 </table>
124 <div class="DivTable2">&nbsp;</div>
125 <?php } if($_GET['act']=="view") {
126 if($NumberTopics==null) { 
127         $NumberTopics = 0; }
128 $num=$NumberTopics;
129 //Start Topic Page Code
130 if(!isset($Settings['max_topics'])) { $Settings['max_topics'] = 10; }
131 if($_GET['page']==null) { $_GET['page'] = 1; } 
132 if($_GET['page']<=0) { $_GET['page'] = 1; }
133 $nums = $_GET['page'] * $Settings['max_topics'];
134 if($nums>$num) { $nums = $num; }
135 $numz = $nums - $Settings['max_topics'];
136 if($numz<=0) { $numz = 0; }
137 //$i=$numz;
138 if($nums<$num) { $nextpage = $_GET['page'] + 1; }
139 if($nums>=$num) { $nextpage = $_GET['page']; }
140 if($numz>=$Settings['max_topics']) { $backpage = $_GET['page'] - 1; }
141 if($_GET['page']<=1) { $backpage = 1; }
142 $pnum = $num; $l = 1; $Pages = null;
143 while ($pnum>0) {
144 if($pnum>=$Settings['max_topics']) { 
145         $pnum = $pnum - $Settings['max_topics']; 
146         $Pages[$l] = $l; ++$l; }
147 if($pnum<$Settings['max_topics']&&$pnum>0) { 
148         $pnum = $pnum - $pnum; 
149         $Pages[$l] = $l; ++$l; } }
150 $snumber = $_GET['page'] - 1;
151 $PageLimit = $Settings['max_topics'] * $snumber;
152 if($PageLimit<0) { $PageLimit = 0; }
153 //End Topic Page Code
154 $i=0;
155 $query = query("SELECT * FROM `".$Settings['sqltable']."topics` WHERE `ForumID`=%i ORDER BY `Pinned` DESC, `LastUpdate` DESC LIMIT %i,%i", array($_GET['id'],$PageLimit,$Settings['max_topics']));
156 $result=mysql_query($query);
157 $num=mysql_num_rows($result);
158 //List Page Number Code Start
159 $pagenum=count($Pages);
160 if($_GET['page']>$pagenum) {
161         $_GET['page'] = $pagenum; }
162 $pagei=0; $pstring = null;
163 if($pagenum>1) {
164 $pstring = "<div class=\"PageList\"><span class=\"pagelink\">".$pagenum." Pages:</span> "; }
165 if($_GET['page']<4) { $Pagez[0] = null; }
166 if($_GET['page']>=4) { $Pagez[0] = "First"; }
167 if($_GET['page']>=3) {
168 $Pagez[1] = $_GET['page'] - 2; }
169 if($_GET['page']<3) {
170 $Pagez[1] = null; }
171 if($_GET['page']>=2) {
172 $Pagez[2] = $_GET['page'] - 1; }
173 if($_GET['page']<2) {
174 $Pagez[2] = null; }
175 $Pagez[3] = $_GET['page'];
176 if($_GET['page']<$pagenum) {
177 $Pagez[4] = $_GET['page'] + 1; }
178 if($_GET['page']>=$pagenum) {
179 $Pagez[4] = null; }
180 $pagenext = $_GET['page'] + 1;
181 if($pagenext<$pagenum) {
182 $Pagez[5] = $_GET['page'] + 2; }
183 if($pagenext>=$pagenum) {
184 $Pagez[5] = null; }
185 if($_GET['page']<$pagenum) { $Pagez[6] = "Last"; }
186 if($_GET['page']>=$pagenum) { $Pagez[6] = null; }
187 $pagenumi=count($Pagez);
188 if($NumberTopics==0) {
189 $pagenumi = 0;
190 $pstring = null; }
191 if($pagenum>1) {
192 while ($pagei < $pagenumi) {
193 if($_GET['page']!=1&&$pagei==1) {
194 $Pback = $_GET['page'] - 1;
195 $pstring = $pstring."<span class=\"pagelink\"><a href=\"".url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$_GET['id']."&page=".$Pback,$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType])."\">&lt;</a></span> "; }
196 if($Pagez[$pagei]!=null&&
197    $Pagez[$pagei]!="First"&&
198    $Pagez[$pagei]!="Last") {
199 if($pagei!=3) { 
200 $pstring = $pstring."<span class=\"pagelink\"><a href=\"".url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$_GET['id']."&page=".$Pagez[$pagei],$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType])."\">".$Pagez[$pagei]."</a></span> "; }
201 if($pagei==3) { 
202 $pstring = $pstring."<span class=\"pagecurrent\"><a href=\"".url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$_GET['id']."&page=".$Pagez[$pagei],$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType])."\">".$Pagez[$pagei]."</a></span> "; } }
203 if($Pagez[$pagei]=="First") {
204 $pstring = $pstring."<span class=\"pagelinklast\"><a href=\"".url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$_GET['id']."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType])."\">&laquo;</a></span> "; }
205 if($Pagez[$pagei]=="Last") {
206 $ptestnext = $pagenext + 1;
207 $paget = $pagei - 1;
208 $Pnext = $_GET['page'] + 1;
209 $pstring = $pstring."<span class=\"pagelink\"><a href=\"".url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$_GET['id']."&page=".$Pnext,$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType])."\">&gt;</a></span> ";
210 if($ptestnext<$pagenum) {
211 $pstring = $pstring."<span class=\"pagelinklast\"><a href=\"".url_maker($exfile[$ForumType],$Settings['file_ext'],"act=view&id=".$_GET['id']."&page=".$pagenum,$Settings['qstr'],$Settings['qsep'],$prexqstr[$ForumType],$exqstr[$ForumType])."\">&raquo;</a></span> "; } }
212         ++$pagei; } $pstring = $pstring."</div>"; }
213 //List Page Number Code end
214 ?>
215 <table style="width: 100%;" class="Table2">
216 <tr>
217  <td style="width: 30%; text-align: left;"><?php echo $pstring; ?></td>
218  <td style="width: 70%; text-align: right;">
219  <?php if($PermissionInfo['CanMakeTopics'][$ForumID]=="yes"&&$CanHaveTopics=="yes") { ?>
220  <a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=create&id=".$ForumID,$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ThemeSet['NewTopic']; ?></a>
221  <?php } ?></td>
222 </tr>
223 </table>
224 <?php
225 //List Page Number Code end
226 ?>
227 <?php /*<div class="DivPageLinks">&nbsp;</div>*/?>
228 <div class="DivTable2">&nbsp;</div>
229 <div class="Table1Border">
230 <?php if($ThemeSet['TableStyle']=="div") { ?>
231 <div class="TableRow1">
232 <span style="text-align: left;">
233 <?php echo $ThemeSet['TitleIcon']; ?><a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>#<?php echo $ForumID; ?>"><?php echo $ForumName; ?></a></span></div>
234 <?php } ?>
235 <table class="Table1" id="Forum<?php echo $ForumID; ?>">
236 <?php if($ThemeSet['TableStyle']=="table") { ?>
237 <tr id="ForumStart<?php echo $ForumID; ?>" class="TableRow1">
238 <td class="TableColumn1" colspan="6"><span style="text-align: left;">
239 <?php echo $ThemeSet['TitleIcon']; ?><a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>#<?php echo $ForumID; ?>"><?php echo $ForumName; ?></a></span>
240 </td>
241 </tr><?php } ?>
242 <tr id="TopicStatRow<?php echo $ForumID; ?>" class="TableRow2">
243 <th class="TableColumn2" style="width: 4%;">State</th>
244 <th class="TableColumn2" style="width: 36%;">Topic Name</th>
245 <th class="TableColumn2" style="width: 15%;">Author</th>
246 <th class="TableColumn2" style="width: 15%;">Time</th>
247 <th class="TableColumn2" style="width: 5%;">Replys</th>
248 <th class="TableColumn2" style="width: 25%;">Last Reply</th>
249 </tr>
250 <?php
251 while ($i < $num) {
252 $TopicID=mysql_result($result,$i,"id");
253 $UsersID=mysql_result($result,$i,"UserID");
254 $GuestName=mysql_result($result,$i,"GuestName");
255 $TheTime=mysql_result($result,$i,"TimeStamp");
256 $TheTime=GMTimeChange("F j Y, g:i a",$TheTime,$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
257 $NumReply=mysql_result($result,$i,"NumReply");
258 $NumberPosts=$NumReply + 1;
259 $prepagelist = null;
260 if(!isset($Settings['max_posts'])) { 
261         $Settings['max_posts'] = 10; }
262 if(!isset($ThemeSet['MiniPageAltStyle'])) { 
263         $ThemeSet['MiniPageAltStyle'] = "off"; }
264 if($ThemeSet['MiniPageAltStyle']!="on"||
265         $ThemeSet['MiniPageAltStyle']!="off") { 
266         $ThemeSet['MiniPageAltStyle'] = "off"; }
267 if($NumberPosts>$Settings['max_posts']) {
268 $NumberPages = ceil($NumberPosts/$Settings['max_posts']); }
269 if($NumberPosts<=$Settings['max_posts']) {
270 $NumberPages = 1; }
271 if($NumberPages>4) {
272         $prepagelist = " &nbsp;"; }
273 if($NumberPages>=2) {
274         if($ThemeSet['MiniPageAltStyle']=="off") { 
275         $prepagelist = "<span class=\"small\">(Pages: "; }
276         if($ThemeSet['MiniPageAltStyle']=="on") {
277         $prepagelist = $prepagelist."<span class=\"minipagelink\">"; }
278         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\">1</a>";
279         if($ThemeSet['MiniPageAltStyle']=="on") {
280         $prepagelist = $prepagelist."</span>"; }
281         if($ThemeSet['MiniPageAltStyle']=="off") { $prepagelist = $prepagelist." "; }
282         if($ThemeSet['MiniPageAltStyle']=="on") {
283         $prepagelist = $prepagelist."<span class=\"minipagelink\">"; }
284         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=2",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\">2</a>";
285         if($ThemeSet['MiniPageAltStyle']=="on") {
286         $prepagelist = $prepagelist."</span>"; }
287         if($NumberPages>=3) {
288         if($ThemeSet['MiniPageAltStyle']=="off") { $prepagelist = $prepagelist." "; }
289         if($ThemeSet['MiniPageAltStyle']=="on") {
290         $prepagelist = $prepagelist."<span class=\"minipagelink\">"; }
291         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=3",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\">3</a>";
292         if($ThemeSet['MiniPageAltStyle']=="on") {
293         $prepagelist = $prepagelist."</span>"; } }
294         if($NumberPages==4) {
295         if($ThemeSet['MiniPageAltStyle']=="off") { $prepagelist = $prepagelist." "; }
296         $prepagelist = $prepagelist."<span class=\"minipagelinklast\">";
297         if($ThemeSet['MiniPageAltStyle']=="on") {
298         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=4",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\">4</a>"; }
299         if($ThemeSet['MiniPageAltStyle']=="off") {
300         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=4",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\"> ...4</a>"; }
301         if($ThemeSet['MiniPageAltStyle']=="on") {
302         $prepagelist = $prepagelist."</span>"; } }
303         if($NumberPages>4) {
304         if($ThemeSet['MiniPageAltStyle']=="off") { $prepagelist = $prepagelist." "; }
305         if($ThemeSet['MiniPageAltStyle']=="on") {
306         $prepagelist = $prepagelist."<span class=\"minipagelinklast\">"; }
307         if($ThemeSet['MiniPageAltStyle']=="on") {
308         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=".$NumberPages,$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\">&raquo; ".$NumberPages."</a>"; }
309         if($ThemeSet['MiniPageAltStyle']=="off") {
310         $prepagelist = $prepagelist."<a href=\"".url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=".$NumberPages,$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."\"> ...".$NumberPages."</a>"; }
311         if($ThemeSet['MiniPageAltStyle']=="on") {
312         $prepagelist = $prepagelist."</span>"; } }
313         if($ThemeSet['MiniPageAltStyle']=="off") { 
314         $prepagelist = $prepagelist.")</span>"; } }
315 $TopicName=mysql_result($result,$i,"TopicName");
316 $TopicDescription=mysql_result($result,$i,"Description");
317 $PinnedTopic=mysql_result($result,$i,"Pinned");
318 $TopicStat=mysql_result($result,$i,"Closed");
319 $requery = query("SELECT * FROM `".$Settings['sqltable']."members` WHERE `id`=%i LIMIT 1", array($UsersID));
320 $reresult=mysql_query($requery);
321 $renum=mysql_num_rows($reresult);
322 $UserGroupID=mysql_result($reresult,0,"GroupID");
323 @mysql_free_result($reresult);
324 $gquery = query("SELECT * FROM `".$Settings['sqltable']."groups` WHERE `id`=%i LIMIT 1", array($UserGroupID));
325 $gresult=mysql_query($gquery);
326 $User1Group=mysql_result($gresult,0,"Name");
327 $GroupNamePrefix=mysql_result($gresult,0,"NamePrefix");
328 $GroupNameSuffix=mysql_result($gresult,0,"NameSuffix");
329 @mysql_free_result($gresult);
330 $UsersName = GetUserName($UsersID,$Settings['sqltable']);
331 if($UsersName=="Guest") { $UsersName=$GuestName;
332 if($UsersName==null) { $UsersName="Guest"; } }
333 if(isset($GroupNamePrefix)&&$GroupNamePrefix!=null) {
334         $UsersName = $GroupNamePrefix.$UsersName; }
335 if(isset($GroupNameSuffix)&&$GroupNameSuffix!=null) {
336         $UsersName = $UsersName.$GroupNameSuffix; }
337 $LastReply = "&nbsp;<br />&nbsp;";
338 $glrquery = query("SELECT * FROM `".$Settings['sqltable']."posts` WHERE `TopicID`=%i ORDER BY `TimeStamp` DESC LIMIT 1", array($TopicID));
339 $glrresult=mysql_query($glrquery);
340 $glrnum=mysql_num_rows($glrresult);
341 if($glrnum>0){
342 $ReplyID1=mysql_result($glrresult,0,"id");
343 $UsersID1=mysql_result($glrresult,0,"UserID");
344 $GuestName1=mysql_result($glrresult,0,"GuestName");
345 $TimeStamp1=mysql_result($glrresult,0,"TimeStamp");
346 $TimeStamp1=GMTimeChange("F j Y, g:i a",$TimeStamp1,$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
347 $UsersName1 = GetUserName($UsersID1,$Settings['sqltable']); }
348 $NumPages = null; $NumRPosts = $NumReply + 1;
349 if(!isset($Settings['max_posts'])) { $Settings['max_posts'] = 10; }
350 if($NumRPosts>$Settings['max_posts']) {
351 $NumPages = ceil($NumRPosts/$Settings['max_posts']); }
352 if($NumRPosts<=$Settings['max_posts']) {
353 $NumPages = 1; }
354 $Users_Name1 = pre_substr($UsersName1,0,20);
355 if($UsersName1=="Guest") { $UsersName1=$GuestName1;
356 if($UsersName1==null) { $UsersName1="Guest"; } }
357 $oldusername=$UsersName1;
358 if (pre_strlen($UsersName1)>20) { 
359 $Users_Name1 = $Users_Name1."..."; $UsersName1=$Users_Name1; } $lul = null;
360 if($TimeStamp1!=null) { $lul = null;
361 if($UsersID1!="-1") {
362 $lul = url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$UsersID1,$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member']);
363 $luln = url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=".$NumPages,$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."&#35;reply".$NumRPosts;
364 $LastReply = "<a href=\"".$luln."\">".$TimeStamp1."</a><br />\nUser: <a href=\"".$lul."\" title=\"".$oldusername."\">".$UsersName1."</a>"; }
365 if($UsersID1=="-1") {
366 $lul = url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$UsersID1,$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member']);
367 $luln = url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=".$NumPages,$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'])."&#35;reply".$NumRPosts;
368 $LastReply = "<a href=\"".$luln."\">".$TimeStamp1."</a><br />\nGuest: <span title=\"".$oldusername."\">".$UsersName1."</span>"; } }
369 @mysql_free_result($glrresult);
370 if(!isset($TimeStamp1)) { $TimeStamp1 = null; } if(!isset($LastReply)) { $LastReply = "&nbsp;<br />&nbsp;"; }
371 if($TimeStamp1==null) { $LastReply = "&nbsp;<br />&nbsp;"; }
372 $PreTopic = $ThemeSet['TopicIcon'];
373 if ($PinnedTopic>1) { $PinnedTopic = 1; } 
374 if ($PinnedTopic<0) { $PinnedTopic = 0; }
375 if(!is_numeric($PinnedTopic)) { $PinnedTopic = 0; }
376 if ($TopicStat>1) { $TopicStat = 1; } 
377 if ($TopicStat<0) { $TopicStat = 0; }
378 if(!is_numeric($TopicStat)) { $TopicStat = 1; }
379 if ($PinnedTopic==1&&$TopicStat==0) {
380         if($NumReply>=$Settings['hot_topic_num']) {
381                 $PreTopic=$ThemeSet['HotPinTopic']; }
382         if($NumReply<$Settings['hot_topic_num']) {
383                 $PreTopic=$ThemeSet['PinTopic']; } }
384 if ($TopicStat==1&&$PinnedTopic==0) {
385         if($NumReply>=$Settings['hot_topic_num']) {
386                 $PreTopic=$ThemeSet['HotClosedTopic']; }
387         if($NumReply<$Settings['hot_topic_num']) {
388                 $PreTopic=$ThemeSet['ClosedTopic']; } }
389 if ($PinnedTopic==0&&$TopicStat==0) {
390                 if($NumReply>=$Settings['hot_topic_num']) {
391                         $PreTopic=$ThemeSet['HotTopic']; }
392                 if($NumReply<$Settings['hot_topic_num']) {
393                         $PreTopic=$ThemeSet['TopicIcon']; } }
394 if ($PinnedTopic==1&&$TopicStat==1) {
395                 if($NumReply>=$Settings['hot_topic_num']) {
396                         $PreTopic=$ThemeSet['HotPinClosedTopic']; }
397                 if($NumReply<$Settings['hot_topic_num']) {
398                         $PreTopic=$ThemeSet['PinClosedTopic']; } }
399 ?>
400 <tr class="TableRow3" id="Topic<?php echo $TopicID; ?>">
401 <td class="TableColumn3"><div class="topicstate">
402 <?php echo $PreTopic; ?></div></td>
403 <td class="TableColumn3"><div class="topicname">
404 <a href="<?php echo url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic']); ?>"><?php echo $TopicName; ?></a>
405 <?php if($prepagelist!==null) { echo $prepagelist; } ?></div>
406 <div class="topicdescription"><?php echo $TopicDescription; ?></div></td>
407 <td class="TableColumn3" style="text-align: center;"><?php
408 if($UsersID!="-1") {
409 echo "<a href=\"";
410 echo url_maker($exfile['member'],$Settings['file_ext'],"act=view&id=".$UsersID,$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member']);
411 echo "\">".$UsersName."</a>"; }
412 if($UsersID=="-1") {
413 echo "<span>".$UsersName."</span>"; }
414 ?></td>
415 <td class="TableColumn3" style="text-align: center;"><?php echo $TheTime; ?></td>
416 <td class="TableColumn3" style="text-align: center;"><?php echo $NumReply; ?></td>
417 <td class="TableColumn3"><?php echo $LastReply; ?></td>
418 </tr>
419 <?php ++$i; } 
420 ?>
421 <tr id="ForumEnd<?php echo $ForumID; ?>" class="TableRow4">
422 <td class="TableColumn4" colspan="6">&nbsp;</td>
423 </tr>
424 </table></div>
425 <div class="DivTopics">&nbsp;</div>
426 <?php
427 @mysql_free_result($result); }
428 if($_GET['act']=="create") {
429 if($GroupInfo['HasAdminCP']!="yes"||$GroupInfo['HasModCP']!="yes") {
430 if($ForumPostCountView!=0&&$MyPostCountChk<$ForumPostCountView) {
431 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); }
432 if($CategoryPostCountView!=0&&$MyPostCountChk<$CategoryPostCountView) {
433 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); }
434 if($ForumKarmaCountView!=0&&$MyKarmaCount<$ForumKarmaCountView) {
435 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); }
436 if($CategoryKarmaCountView!=0&&$MyKarmaCount<$CategoryKarmaCountView) {
437 redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false)); } }
438 if($PermissionInfo['CanMakeTopics'][$ForumID]=="no"||$CanHaveTopics=="no") { redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false));
439 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
440 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
441 ?>
442 <div class="Table1Border">
443 <?php if($ThemeSet['TableStyle']=="div") { ?>
444 <div class="TableRow1">
445 <span style="text-align: left;">
446 <?php echo $ThemeSet['TitleIcon']; ?><a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ForumName; ?></a></span></div>
447 <?php } ?>
448 <table class="Table1" id="MakeTopic<?php echo $ForumID; ?>">
449 <?php if($ThemeSet['TableStyle']=="table") { ?>
450 <tr class="TableRow1" id="TopicStart<?php echo $ForumID; ?>">
451 <td class="TableColumn1" colspan="2"><span style="text-align: left;">
452 <?php echo $ThemeSet['TitleIcon']; ?><a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ForumName; ?></a></span>
453 </td>
454 </tr><?php } ?>
455 <tr id="MakeTopicRow<?php echo $ForumID; ?>" class="TableRow2">
456 <td class="TableColumn2" colspan="2" style="width: 100%;">Making a Topic in <?php echo $ForumName; ?></td>
457 </tr>
458 <tr class="TableRow3" id="MkTopic<?php echo $ForumID; ?>">
459 <td class="TableColumn3" style="width: 15%; vertical-align: middle; text-align: center;">
460 <div style="width: 100%; height: 160px; overflow: auto;">
461 <table style="width: 100%; text-align: center;"><?php
462 $renee_query=query("SELECT * FROM `".$Settings['sqltable']."smileys` WHERE `Show`='yes'", array(null));
463 $renee_result=mysql_query($renee_query);
464 $renee_num=mysql_num_rows($renee_result);
465 $renee_s=0; $SmileRow=0; $SmileCRow=0;
466 while ($renee_s < $renee_num) { ++$SmileRow;
467 $FileName=mysql_result($renee_result,$renee_s,"FileName");
468 $SmileName=mysql_result($renee_result,$renee_s,"SmileName");
469 $SmileText=mysql_result($renee_result,$renee_s,"SmileText");
470 $SmileDirectory=mysql_result($renee_result,$renee_s,"Directory");
471 $ShowSmile=mysql_result($renee_result,$renee_s,"Show");
472 $ReplaceType=mysql_result($renee_result,$renee_s,"ReplaceCI");
473 if($SmileRow==1) { ?><tr>
474         <?php } if($SmileRow<5) { ++$SmileCRow; ?>
475         <td>&nbsp;<img src="<?php echo $SmileDirectory."".$FileName; ?>" style="vertical-align: middle; border: 0px; cursor: pointer;" title="<?php echo $SmileName; ?>" alt="<?php echo $SmileName; ?>" onclick="addsmiley('TopicPost','&nbsp;<?php echo htmlspecialchars($SmileText, ENT_QUOTES, $Settings['charset']); ?>&nbsp;')" />&nbsp;</td>
476         <?php } if($SmileRow==5) { ++$SmileCRow; ?>
477         <td>&nbsp;<img src="<?php echo $SmileDirectory."".$FileName; ?>" style="vertical-align: middle; border: 0px; cursor: pointer;" title="<?php echo $SmileName; ?>" alt="<?php echo $SmileName; ?>" onclick="addsmiley('TopicPost','&nbsp;<?php echo htmlspecialchars($SmileText, ENT_QUOTES, $Settings['charset']); ?>&nbsp;')" />&nbsp;</td></tr>
478         <?php $SmileCRow=0; $SmileRow=0; }
479 ++$renee_s; }
480 if($SmileCRow<5&&$SmileCRow!=0) {
481 $SmileCRowL = 5 - $SmileCRow;
482 echo "<td colspan=\"".$SmileCRowL."\">&nbsp;</td></tr>"; }
483 echo "</table>";
484 @mysql_free_result($renee_result);
485 ?></div></td>
486 <td class="TableColumn3" style="width: 85%;">
487 <form style="display: inline;" method="post" id="MkTopicForm" action="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=maketopic&id=".$ForumID,$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>">
488 <table style="text-align: left;">
489 <tr style="text-align: left;">
490         <td style="width: 50%;"><label class="TextBoxLabel" for="TopicName">Insert Topic Name:</label></td>
491         <td style="width: 50%;"><input maxlength="30" type="text" name="TopicName" class="TextBox" id="TopicName" size="20" /></td>
492 </tr><?php if($_SESSION['UserGroup']==$Settings['GuestGroup']) { ?><tr style="text-align: left;">
493         <td style="width: 50%;"><label class="TextBoxLabel" for="GuestName">Insert Guest Name:</label></td>
494         <?php if(!isset($_SESSION['GuestName'])) { ?>
495         <td style="width: 50%;"><input maxlength="25" type="text" name="GuestName" class="TextBox" id="GuestName" size="20" /></td>
496         <?php } if(isset($_SESSION['GuestName'])) { ?>
497         <td style="width: 50%;"><input maxlength="25" type="text" name="GuestName" class="TextBox" id="GuestName" size="20" value="<?php echo $_SESSION['GuestName']; ?>" /></td>
498 <?php } ?></tr><?php } ?><tr style="text-align: left;">
499         <td style="width: 50%;"><label class="TextBoxLabel" for="TopicDesc">Insert Topic Description:</label></td>
500         <td style="width: 50%;"><input maxlength="45" type="text" name="TopicDesc" class="TextBox" id="TopicDesc" size="20" /></td>
501 </tr>
502 </table>
503 <table style="text-align: left;">
504 <tr style="text-align: left;">
505 <td style="width: 100%;">
506 <label class="TextBoxLabel" for="TopicPost">Insert Your Post:</label><br />
507 <textarea rows="10" name="TopicPost" id="TopicPost" cols="40" class="TextBox"></textarea><br />
508 <?php if($_SESSION['UserGroup']==$Settings['GuestGroup']&&$Settings['captcha_guest']=="on") { ?>
509 <label class="TextBoxLabel" for="signcode"><img src="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act=MkCaptcha",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>" alt="CAPTCHA Code" title="CAPTCHA Code" /></label><br />
510 <input maxlength="25" type="text" class="TextBox" name="signcode" size="20" id="signcode" value="Enter SignCode" /><br />
511 <?php } ?>
512 <input type="hidden" name="act" value="maketopics" style="display: none;" />
513 <?php if($_SESSION['UserGroup']!=$Settings['GuestGroup']) { ?>
514 <input type="hidden" name="GuestName" value="null" style="display: none;" />
515 <?php } ?>
516 <input type="submit" class="Button" value="Make Topic" name="make_topic" />
517 <input type="reset" value="Reset Form" class="Button" name="Reset_Form" />
518 </td></tr></table>
519 </form></td></tr>
520 <tr id="MkTopicEnd<?php echo $ForumID; ?>" class="TableRow4">
521 <td class="TableColumn4" colspan="2">&nbsp;</td>
522 </tr>
523 </table></div>
524 <div class="DivMkTopics">&nbsp;</div>
525 <?php } if($_GET['act']=="maketopic"&&$_POST['act']=="maketopics") {
526 if($PermissionInfo['CanMakeTopics'][$ForumID]=="no"||$CanHaveTopics=="no") { redirect("location",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false));
527 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
528 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
529 $MyUserID = $_SESSION['UserID']; if($MyUserID=="0"||$MyUserID==null) { $MyUserID = -1; }
530 $REFERERurl = parse_url($_SERVER['HTTP_REFERER']);
531 $URL['REFERER'] = $REFERERurl['host'];
532 $URL['HOST'] = $_SERVER["SERVER_NAME"];
533 $REFERERurl = null;
534 if(!isset($_POST['TopicName'])) { $_POST['TopicName'] = null; }
535 if(!isset($_POST['TopicDesc'])) { $_POST['TopicDesc'] = null; }
536 if(!isset($_POST['TopicPost'])) { $_POST['TopicPost'] = null; }
537 if(!isset($_POST['GuestName'])) { $_POST['GuestName'] = null; }
538 if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
539         $Settings['captcha_guest']=="on") {
540 require($SettDir['inc']."captcha.php"); }
541 ?>
542 <div class="Table1Border">
543 <?php if($ThemeSet['TableStyle']=="div") { ?>
544 <div class="TableRow1">
545 <span style="text-align: left;">
546 <?php echo $ThemeSet['TitleIcon']; ?><a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ForumName; ?></a></span></div>
547 <?php } ?>
548 <table class="Table1">
549 <?php if($ThemeSet['TableStyle']=="table") { ?>
550 <tr class="TableRow1">
551 <td class="TableColumn1"><span style="text-align: left;">
552 <?php echo $ThemeSet['TitleIcon']; ?><a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=view&id=".$ForumID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ForumName; ?></a></span>
553 </td>
554 </tr><?php } ?>
555 <tr class="TableRow2">
556 <th class="TableColumn2" style="width: 100%; text-align: left;">&nbsp;Make Topic Message: </th>
557 </tr>
558 <tr class="TableRow3">
559 <td class="TableColumn3">
560 <table style="width: 100%; height: 25%; text-align: center;">
561 <?php if (pre_strlen($_POST['TopicName'])>="30") { $Error="Yes";  ?>
562 <tr>
563         <td><span class="TableMessage">
564         <br />Your Topic Name is too big.<br />
565         </span>&nbsp;</td>
566 </tr>
567 <?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
568         $Settings['captcha_guest']=="on") {
569 if (PhpCaptcha::Validate($_POST['signcode'])) {
570 //echo 'Valid code entered';
571 } else { $Error="Yes"; ?>
572 <tr>
573         <td><span class="TableMessage">
574         <br />Invalid code entered<br />
575         </span>&nbsp;</td>
576 </tr>
577 <?php } } if (pre_strlen($_POST['TopicDesc'])>="45") { $Error="Yes";  ?>
578 <tr>
579         <td><span class="TableMessage">
580         <br />Your Topic Description is too big.<br />
581         </span>&nbsp;</td>
582 </tr>
583 <?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
584         pre_strlen($_POST['GuestName'])>="25") { $Error="Yes"; ?>
585 <tr>
586         <td><span class="TableMessage">
587         <br />You Guest Name is too big.<br />
588         </span>&nbsp;</td>
589 </tr>
590 <?php } if ($Settings['TestReferer']=="on") {
591         if ($URL['HOST']!=$URL['REFERER']) { $Error="Yes";  ?>
592 <tr>
593         <td><span class="TableMessage">
594         <br />Sorry the referering url dose not match our host name.<br />
595         </span>&nbsp;</td>
596 </tr>
597 <?php } }
598 $_POST['TopicName'] = stripcslashes(htmlspecialchars($_POST['TopicName'], ENT_QUOTES, $Settings['charset']));
599 //$_POST['TopicName'] = preg_replace("/&amp;#(x[a-f0-9]+|[0-9]+);/i", "&#$1;", $_POST['TopicName']);
600 $_POST['TopicName'] = @remove_spaces($_POST['TopicName']);
601 $_POST['TopicDesc'] = stripcslashes(htmlspecialchars($_POST['TopicDesc'], ENT_QUOTES, $Settings['charset']));
602 //$_POST['TopicDesc'] = preg_replace("/&amp;#(x[a-f0-9]+|[0-9]+);/i", "&#$1;", $_POST['TopicDesc']);
603 $_POST['TopicDesc'] = @remove_spaces($_POST['TopicDesc']);
604 $_POST['GuestName'] = stripcslashes(htmlspecialchars($_POST['GuestName'], ENT_QUOTES, $Settings['charset']));
605 //$_POST['GuestName'] = preg_replace("/&amp;#(x[a-f0-9]+|[0-9]+);/i", "&#$1;", $_POST['GuestName']);
606 $_POST['GuestName'] = @remove_spaces($_POST['GuestName']);
607 $_POST['TopicPost'] = stripcslashes(htmlspecialchars($_POST['TopicPost'], ENT_QUOTES, $Settings['charset']));
608 //$_POST['TopicPost'] = preg_replace("/&amp;#(x[a-f0-9]+|[0-9]+);/i", "&#$1;", $_POST['TopicPost']);
609 $_POST['TopicPost'] = remove_bad_entities($_POST['TopicPost']);
610 //$_POST['TopicPost'] = @remove_spaces($_POST['TopicPost']);
611 if($_SESSION['UserGroup']==$Settings['GuestGroup']) {
612 if(isset($_POST['GuestName'])&&$_POST['GuestName']!=null) {
613 @setcookie("GuestName", $_POST['GuestName'], time() + (7 * 86400), $cbasedir);
614 $_SESSION['GuestName']=$_POST['GuestName']; } }
615 /*    <_<  iWordFilter  >_>      
616    by Kazuki Przyborowski - Cool Dude 2k */
617 $katarzynaqy=query("SELECT * FROM `".$Settings['sqltable']."wordfilter`", array(null));
618 $katarzynart=mysql_query($katarzynaqy);
619 $katarzynanm=mysql_num_rows($katarzynart);
620 $katarzynas=0;
621 while ($katarzynas < $katarzynanm) {
622 $Filter=mysql_result($katarzynart,$katarzynas,"Filter");
623 $Replace=mysql_result($katarzynart,$katarzynas,"Replace");
624 $CaseInsensitive=mysql_result($katarzynart,$katarzynas,"CaseInsensitive");
625 if($CaseInsensitive=="on") { $CaseInsensitive = "yes"; }
626 if($CaseInsensitive=="off") { $CaseInsensitive = "no"; }
627 if($CaseInsensitive!="yes"||$CaseInsensitive!="no") { $CaseInsensitive = "no"; }
628 $WholeWord=mysql_result($katarzynart,$katarzynas,"WholeWord");
629 if($WholeWord=="on") { $WholeWord = "yes"; }
630 if($WholeWord=="off") { $WholeWord = "no"; }
631 if($WholeWord!="yes"&&$WholeWord!="no") { $WholeWord = "no"; }
632 $Filter = preg_quote($Filter, "/");
633 if($CaseInsensitive!="yes"&&$WholeWord=="yes") {
634 $_POST['TopicDesc'] = preg_replace("/\b(".$Filter.")\b/", $Replace, $_POST['TopicDesc']); 
635 $_POST['TopicPost'] = preg_replace("/\b(".$Filter.")\b/", $Replace, $_POST['TopicPost']); }
636 if($CaseInsensitive=="yes"&&$WholeWord=="yes") {
637 $_POST['TopicDesc'] = preg_replace("/\b(".$Filter.")\b/i", $Replace, $_POST['TopicDesc']); 
638 $_POST['TopicPost'] = preg_replace("/\b(".$Filter.")\b/i", $Replace, $_POST['TopicPost']); }
639 if($CaseInsensitive!="yes"&&$WholeWord!="yes") {
640 $_POST['TopicDesc'] = preg_replace("/".$Filter."/", $Replace, $_POST['TopicDesc']); 
641 $_POST['TopicPost'] = preg_replace("/".$Filter."/", $Replace, $_POST['TopicPost']); }
642 if($CaseInsensitive=="yes"&&$WholeWord!="yes") {
643 $_POST['TopicDesc'] = preg_replace("/".$Filter."/i", $Replace, $_POST['TopicDesc']); 
644 $_POST['TopicPost'] = preg_replace("/".$Filter."/i", $Replace, $_POST['TopicPost']); }
645 ++$katarzynas; } @mysql_free_result($katarzynart);
646 $lonewolfqy=query("SELECT * FROM `".$Settings['sqltable']."restrictedwords` WHERE `RestrictedTopicName`='yes' or `RestrictedUserName`='yes'", array(null));
647 $lonewolfrt=mysql_query($lonewolfqy);
648 $lonewolfnm=mysql_num_rows($lonewolfrt);
649 $lonewolfs=0; $RMatches = null; $RGMatches = null;
650 while ($lonewolfs < $lonewolfnm) {
651 $RWord=mysql_result($lonewolfrt,$lonewolfs,"Word");
652 $RCaseInsensitive=mysql_result($lonewolfrt,$lonewolfs,"CaseInsensitive");
653 if($RCaseInsensitive=="on") { $RCaseInsensitive = "yes"; }
654 if($RCaseInsensitive=="off") { $RCaseInsensitive = "no"; }
655 if($RCaseInsensitive!="yes"||$RCaseInsensitive!="no") { $RCaseInsensitive = "no"; }
656 $RWholeWord=mysql_result($lonewolfrt,$lonewolfs,"WholeWord");
657 if($RWholeWord=="on") { $RWholeWord = "yes"; }
658 if($RWholeWord=="off") { $RWholeWord = "no"; }
659 if($RWholeWord!="yes"||$RWholeWord!="no") { $RWholeWord = "no"; }
660 $RestrictedTopicName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedTopicName");
661 if($RestrictedTopicName=="on") { $RestrictedTopicName = "yes"; }
662 if($RestrictedTopicName=="off") { $RestrictedTopicName = "no"; }
663 if($RestrictedTopicName!="yes"||$RestrictedTopicName!="no") { $RestrictedTopicName = "no"; }
664 $RestrictedUserName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedUserName");
665 if($RestrictedUserName=="on") { $RestrictedUserName = "yes"; }
666 if($RestrictedUserName=="off") { $RestrictedUserName = "no"; }
667 if($RestrictedUserName!="yes"||$RestrictedUserName!="no") { $RestrictedUserName = "no"; }
668 $RWord = preg_quote($RWord, "/");
669 if($RCaseInsensitive!="yes"&&$RWholeWord=="yes") {
670 if($RestrictedTopicName=="yes") {
671 $RMatches = preg_match("/\b(".$RWord.")\b/", $_POST['TopicName']);
672         if($RMatches==true) { break 1; } }
673 if($RestrictedUserName=="yes") {
674 $RGMatches = preg_match("/\b(".$RWord.")\b/", $_POST['GuestName']);
675         if($RGMatches==true) { break 1; } } }
676 if($RCaseInsensitive=="yes"&&$RWholeWord=="yes") {
677 if($RestrictedTopicName=="yes") {
678 $RMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['TopicName']);
679         if($RMatches==true) { break 1; } }
680 if($RestrictedUserName=="yes") {
681 $RGMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['GuestName']);
682         if($RGMatches==true) { break 1; } } }
683 if($RCaseInsensitive!="yes"&&$RWholeWord!="yes") {
684 if($RestrictedTopicName=="yes") {
685 $RMatches = preg_match("/".$RWord."/", $_POST['TopicName']);
686         if($RMatches==true) { break 1; } }
687 if($RestrictedUserName=="yes") {
688 $RGMatches = preg_match("/".$RWord."/", $_POST['GuestName']);
689         if($RGMatches==true) { break 1; } } }
690 if($RCaseInsensitive=="yes"&&$RWholeWord!="yes") {
691 if($RestrictedTopicName=="yes") {
692 $RMatches = preg_match("/".$RWord."/i", $_POST['TopicName']);
693         if($RMatches==true) { break 1; } }
694 if($RestrictedUserName=="yes") {
695 $RGMatches = preg_match("/".$RWord."/i", $_POST['GuestName']);
696         if($RGMatches==true) { break 1; } } }
697 ++$lonewolfs; } @mysql_free_result($lonewolfrt);
698 if ($_POST['TopicName']==null) { $Error="Yes"; ?>
699 <tr>
700         <td><span class="TableMessage">
701         <br />You need to enter a Topic Name.<br />
702         </span>&nbsp;</td>
703 </tr>
704 <?php } if ($_POST['TopicDesc']==null) { $Error="Yes"; ?>
705 <tr>
706         <td><span class="TableMessage">
707         <br />You need to enter a Topic Description.<br />
708         </span>&nbsp;</td>
709 </tr>
710 <?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
711         $_POST['GuestName']==null) { $Error="Yes"; ?>
712 <tr>
713         <td><span class="TableMessage">
714         <br />You need to enter a Guest Name.<br />
715         </span>&nbsp;</td>
716 </tr>
717 <?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
718         $RGMatches==true) { $Error="Yes"; ?>
719 <tr>
720         <td><span class="TableMessage">
721         <br />This Guest Name is restricted to use.<br />
722         </span>&nbsp;</td>
723 </tr>
724 <?php } if($PermissionInfo['CanMakeTopics'][$ForumID]=="no"||$CanHaveTopics=="no") { $Error="Yes"; ?>
725 <tr>
726         <td><span class="TableMessage">
727         <br />You do not have permission to make a topic here.<br />
728         </span>&nbsp;</td>
729 </tr>
730 <?php } if ($_POST['TopicPost']==null) { $Error="Yes"; ?>
731 <tr>
732         <td><span class="TableMessage">
733         <br />You need to enter a Topic Post.<br />
734         </span>&nbsp;</td>
735 </tr>
736 <?php } if($RMatches==true) { $Error="Yes"; ?>
737 <tr>
738         <td><span class="TableMessage">
739         <br />This Topic Name is restricted to use.<br />
740         </span>&nbsp;</td>
741 </tr>
742 <?php } if ($Error=="Yes") {
743 @redirect("refresh",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false),"4"); ?>
744 <tr>
745         <td><span class="TableMessage">
746         <br />Click <a href="<?php echo url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index']); ?>">here</a> to goto index page.<br />&nbsp;
747         </span><br /></td>
748 </tr>
749 <?php } if ($Error!="Yes") { $LastActive = GMTimeStamp();
750 $topicid = getnextid($Settings['sqltable'],"topics");
751 $postid = getnextid($Settings['sqltable'],"posts");
752 $requery = query("SELECT * FROM `".$Settings['sqltable']."members` WHERE `id`=%i LIMIT 1", array($MyUserID));
753 $reresult=mysql_query($requery);
754 $renum=mysql_num_rows($reresult);
755 $rei=0;
756 while ($rei < $renum) {
757 $User1ID=$MyUserID;
758 $User1Name=mysql_result($reresult,$rei,"Name");
759 if($_SESSION['UserGroup']==$Settings['GuestGroup']) { $User1Name = $_POST['GuestName']; }
760 $User1Email=mysql_result($reresult,$rei,"Email");
761 $User1Title=mysql_result($reresult,$rei,"Title");
762 $User1GroupID=mysql_result($reresult,$rei,"GroupID");
763 $PostCount=mysql_result($reresult,$rei,"PostCount");
764 if($PostCountAdd=="on") { $NewPostCount = $PostCount + 1; }
765 if(!isset($NewPostCount)) { $NewPostCount = $PostCount; }
766 $gquery = query("SELECT * FROM `".$Settings['sqltable']."groups` WHERE `id`=%i LIMIT 1", array($User1GroupID));
767 $gresult=mysql_query($gquery);
768 $User1Group=mysql_result($gresult,0,"Name");
769 @mysql_free_result($gresult);
770 $User1IP=$_SERVER['REMOTE_ADDR'];
771 ++$rei; } @mysql_free_result($reresult);
772 $query = query("INSERT INTO `".$Settings['sqltable']."topics` VALUES (".$topicid.",%i,%i,%i,'%s',%i,%i,'%s','%s',0,0,0,0)", array($ForumID,$ForumCatID,$User1ID,$User1Name,$LastActive,$LastActive,$_POST['TopicName'],$_POST['TopicDesc']));
773 mysql_query($query);
774 $query = query("INSERT INTO `".$Settings['sqltable']."posts` VALUES (".$postid.",".$topicid.",%i,%i,%i,'%s',%i,%i,0,'%s','%s','%s','0')", array($ForumID,$ForumCatID,$User1ID,$User1Name,$LastActive,$LastActive,$_POST['TopicPost'],$_POST['TopicDesc'],$User1IP));
775 mysql_query($query);
776 if($User1ID!=0&&$User1ID!=-1) {
777 $queryupd = query("UPDATE `".$Settings['sqltable']."members` SET `LastActive`=%i,`IP`='%s',`PostCount`=%i WHERE `id`=%i", array($LastActive,$User1IP,$NewPostCount,$User1ID));
778 mysql_query($queryupd); }
779 $NewNumPosts = $NumberPosts + 1; $NewNumTopics = $NumberTopics + 1;
780 $queryupd = query("UPDATE `".$Settings['sqltable']."forums` SET `NumPosts`=%i,`NumTopics`=%i WHERE `id`=%i", array($NewNumPosts,$NewNumTopics,$ForumID));
781 mysql_query($queryupd);
782 @redirect("refresh",$basedir.url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$topicid."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'],FALSE),"3");
783 ?><tr>
784         <td><span class="TableMessage"><br />
785         Topic <?php echo $_POST['TopicName']; ?> was started.<br />
786         Click <a href="<?php echo url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$topicid."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic']); ?>">here</a> to continue to topic.<br />&nbsp;
787         </span><br /></td>
788 </tr>
789 <?php } ?>
790 </table>
791 </td></tr>
792 <tr class="TableRow4">
793 <td class="TableColumn4">&nbsp;</td>
794 </tr>
795 </table></div>
796 <div class="DivMkTopics">&nbsp;</div>
797 <?php } ?>
798 <table style="width: 100%;" class="Table2">
799 <tr>
800  <td style="width: 30%; text-align: left;"><?php echo $pstring; ?></td>
801  <td style="width: 70%; text-align: right;">
802  <?php if($PermissionInfo['CanMakeTopics'][$ForumID]=="yes"&&$CanHaveTopics=="yes") { ?>
803  <a href="<?php echo url_maker($exfile['forum'],$Settings['file_ext'],"act=create&id=".$ForumID,$Settings['qstr'],$Settings['qsep'],$prexqstr['forum'],$exqstr['forum']); ?>"><?php echo $ThemeSet['NewTopic']; ?></a>
804  <?php } ?></td>
805 </tr>
806 </table>
807 <?php
808 //List Page Number Code end
809 if($pagenum>1||$_GET['act']!="view") {
810 ?>
811 <?php /*<div class="DivPageLinks">&nbsp;</div>*/ ?>
812 <div class="DivTable2">&nbsp;</div>
813 <?php } } } ?>