OSDN Git Service

Yet another small update.
[idb/iDB.git.git] / inc / groupsetup.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-2010 iDB Support - http://idb.berlios.de/
12     Copyright 2004-2010 Game Maker 2k - http://gamemaker2k.org/
13
14     $FileInfo: groupsetup.php - Last Update: 06/07/2010 SVN 520 - Author: cooldude2k $
15 */
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="groupsetup.php"||$File3Name=="/groupsetup.php") {
18         require('index.php');
19         exit(); }
20 //Set members temp location
21 $_SESSION['ViewingPage'] = url_maker(null,"no+ext","act=view","&","=",$prexqstr['index'],$exqstr['index']);
22 if($Settings['file_ext']!="no+ext"&&$Settings['file_ext']!="no ext") {
23 $_SESSION['ViewingFile'] = $exfile['index'].$Settings['file_ext']; }
24 if($Settings['file_ext']=="no+ext"||$Settings['file_ext']=="no ext") {
25 $_SESSION['ViewingFile'] = $exfile['index']; }
26 $_SESSION['PreViewingTitle'] = "Viewing";
27 $_SESSION['ViewingTitle'] = "Board index";
28 /*$ggidquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"Name\"='%s' LIMIT 1", array($Settings['GuestGroup']));
29 $ggidresult=sql_query($ggidquery,$SQLStat);
30 $Settings['GuestGroupID']=sql_result($ggidresult,0,"id");*/
31 // Check to make sure MemberInfo is right
32 $MyPostCountChk = null; $MyKarmaCount = null;
33 if(!isset($_SESSION['UserID'])) { $_SESSION['UserID'] = 0; }
34 if($_SESSION['UserID']!=0&&$_SESSION['UserID']!=null) { $BanError = null;
35 $kgbquerychkusr = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."members\" WHERE \"Name\"='%s' AND \"UserPassword\"='%s' AND \"id\"=%i LIMIT 1", array($_SESSION['MemberName'],$_SESSION['UserPass'],$_SESSION['UserID'])); 
36 $resultchkusr=sql_query($kgbquerychkusr,$SQLStat);
37 $numchkusr=sql_num_rows($resultchkusr);
38 if($numchkusr==1) {
39 $ChkUsrID=sql_result($resultchkusr,0,"id");
40 $ChkUsrName=sql_result($resultchkusr,0,"Name");
41 $ChkUsrGroup=sql_result($resultchkusr,0,"GroupID");
42 $ChkUsrGroupID=$ChkUsrGroup;
43 $ChkUsrPass=sql_result($resultchkusr,0,"UserPassword");
44 $ChkUsrTimeZone=sql_result($resultchkusr,0,"TimeZone");
45 $ChkUsrTheme=sql_result($resultchkusr,0,"UseTheme");
46 $ChkUsrLastPostTime=sql_result($resultchkusr,0,"LastPostTime");
47 $MyPostCountChk=sql_result($resultchkusr,0,"PostCount");
48 $MyKarmaCount=sql_result($resultchkusr,0,"Karma");
49 $MyKarmaUpdate=sql_result($resultchkusr,0,"KarmaUpdate");
50 $MyRepliesPerPage=sql_result($resultchkusr,0,"RepliesPerPage");
51 $Settings['max_posts'] = $MyRepliesPerPage;
52 $MyTopicsPerPage=sql_result($resultchkusr,0,"TopicsPerPage");
53 $Settings['max_topics'] = $MyTopicsPerPage;
54 $MyMessagesPerPage=sql_result($resultchkusr,0,"MessagesPerPage");
55 $Settings['max_memlist'] = $MyMessagesPerPage;
56 $Settings['max_pmlist'] = $MyMessagesPerPage;
57 $ChkUsrDST=sql_result($resultchkusr,0,"DST");
58 $svrquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"id\"=%i LIMIT 1", array($ChkUsrGroup));
59 $svrgresultkgb=sql_query($svrquery,$SQLStat);
60 $ChkUsrGroup=sql_result($svrgresultkgb,0,"Name"); 
61 $ChkUsrBanTime=sql_result($resultchkusr,0,"BanTime");
62 $ChkUsrGMTime = GMTimeStamp();
63 if($ChkUsrBanTime!=0&&$ChkUsrBanTime!=null) {
64 if($ChkUsrBanTime>=$ChkUsrGMTime) { $BanError = "yes"; }
65 if($ChkUsrBanTime<0) { $BanError = "yes"; } }
66 if($BanError!="yes") {
67 $_SESSION['Theme']=$ChkUsrTheme;
68 $_SESSION['MemberName']=$ChkUsrName;
69 $_SESSION['UserID']=$ChkUsrID;
70 $_SESSION['UserIP']=$_SERVER['REMOTE_ADDR'];
71 $_SESSION['UserTimeZone']=$ChkUsrTimeZone;
72 $_SESSION['UserGroup']=$ChkUsrGroup;
73 $_SESSION['UserGroupID']=$ChkUsrGroupID;
74 $_SESSION['UserDST']=$ChkUsrDST;
75 $_SESSION['UserPass']=$ChkUsrPass;
76 $_SESSION['LastPostTime'] = $ChkUsrLastPostTime; } }
77 if($numchkusr<=0||$numchkusr>1||$BanError=="yes") { session_unset();
78 if($cookieDomain==null) {
79 setcookie("MemberName", null, GMTimeStamp() - 3600, $cbasedir);
80 setcookie("UserID", null, GMTimeStamp() - 3600, $cbasedir);
81 setcookie("SessPass", null, GMTimeStamp() - 3600, $cbasedir);
82 setcookie(session_name(), "", GMTimeStamp() - 3600, $cbasedir); }
83 if($cookieDomain!=null) {
84 if($cookieSecure===true) {
85 setcookie("MemberName", null, GMTimeStamp() - 3600, $cbasedir, $cookieDomain, 1);
86 setcookie("UserID", null, GMTimeStamp() - 3600, $cbasedir, $cookieDomain, 1);
87 setcookie("SessPass", null, GMTimeStamp() - 3600, $cbasedir, $cookieDomain, 1);
88 setcookie(session_name(), "", GMTimeStamp() - 3600, $cbasedir, $cookieDomain, 1); }
89 if($cookieSecure===false) {
90 setcookie("MemberName", null, GMTimeStamp() - 3600, $cbasedir, $cookieDomain);
91 setcookie("UserID", null, GMTimeStamp() - 3600, $cbasedir, $cookieDomain);
92 setcookie("SessPass", null, GMTimeStamp() - 3600, $cbasedir, $cookieDomain);
93 setcookie(session_name(), "", GMTimeStamp() - 3600, $cbasedir, $cookieDomain); } }
94 unset($_COOKIE[session_name()]);
95 $_SESSION = array(); session_unset(); session_destroy();
96 redirect("location",$rbasedir.url_maker($exfile['member'],$Settings['file_ext'],"act=login",$Settings['qstr'],$Settings['qsep'],$prexqstr['member'],$exqstr['member'],false)); sql_free_result($resultchkusr); sql_free_result($svrgresultkgb);
97 ob_clean(); header("Content-Type: text/plain; charset=".$Settings['charset']);
98 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); }
99 sql_free_result($resultchkusr); sql_free_result($svrgresultkgb); }
100 if($_SESSION['UserID']==0||$_SESSION['UserID']==null) {
101 $_SESSION['UserIP']=$_SERVER['REMOTE_ADDR'];
102 $_SESSION['MemberName'] = null;
103 $_SESSION['UserGroup'] = $Settings['GuestGroup']; 
104 $gidquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"Name\"='%s' LIMIT 1", array($Settings['GuestGroup']));
105 $gidresult=sql_query($gidquery,$SQLStat);
106 $_SESSION['UserGroupID']=sql_result($gidresult,0,"id"); 
107 sql_free_result($gidresult); }
108 if($_SESSION['MemberName']==null) { $_SESSION['UserID'] = "0";
109 $_SESSION['UserIP']=$_SERVER['REMOTE_ADDR'];
110 $_SESSION['UserGroup'] = $Settings['GuestGroup']; 
111 $gidquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"Name\"='%s' LIMIT 1", array($Settings['GuestGroup']));
112 $gidresult=sql_query($gidquery,$SQLStat);
113 $_SESSION['UserGroupID']=sql_result($gidresult,0,"id"); 
114 sql_free_result($gidresult); }
115 // Member Group Setup
116 if(!isset($_SESSION['UserGroup'])) { $_SESSION['UserGroup'] = null; }
117 if($_SESSION['UserGroup']==null) { 
118 $_SESSION['UserGroup']=$Settings['GuestGroup']; } $GruError = null;
119 $gruquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"Name\"='%s' LIMIT 1", array($_SESSION['UserGroup']));
120 $gruresult=sql_query($gruquery,$SQLStat);
121 $grunum=sql_num_rows($gruresult);
122 if($grunum<=0) { $GruError = true; sql_free_result($gruresult);
123 header("Content-Type: text/plain; charset=".$Settings['charset']); 
124 ob_clean(); echo "Sorry could not find group data in database.\nContact the board admin about error."; 
125 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); }
126 if($grunum>=1) {
127 $GroupInfo['ID']=sql_result($gruresult,0,"id");
128 if(!is_numeric($GroupInfo['ID'])) { $GruError = true; }
129 $GroupInfo['Name']=sql_result($gruresult,0,"Name");
130 $GroupInfo['PermissionID']=sql_result($gruresult,0,"PermissionID");
131 if(!is_numeric($GroupInfo['PermissionID'])) { $GruError = true; }
132 $GroupInfo['NamePrefix']=sql_result($gruresult,0,"NamePrefix");
133 $GroupInfo['NameSuffix']=sql_result($gruresult,0,"NameSuffix");
134 $GroupInfo['CanViewBoard']=sql_result($gruresult,0,"CanViewBoard");
135 if($GroupInfo['CanViewBoard']!="yes"&&$GroupInfo['CanViewBoard']!="no") {
136                 $GruError = true; }
137 $GroupInfo['CanViewOffLine']=sql_result($gruresult,0,"CanViewOffLine");
138 if($GroupInfo['CanViewOffLine']!="yes"&&$GroupInfo['CanViewOffLine']!="no") {
139                 $GruError = true; }
140 $GroupInfo['FloodControl']=sql_result($gruresult,0,"FloodControl");
141 if(!is_numeric($GroupInfo['FloodControl'])) { $GroupInfo['FloodControl'] = 30; }
142 $GroupInfo['SearchFlood']=sql_result($gruresult,0,"SearchFlood");
143 if(!is_numeric($GroupInfo['SearchFlood'])) { $GroupInfo['SearchFlood'] = 30; }
144 $GroupInfo['CanEditProfile']=sql_result($gruresult,0,"CanEditProfile");
145 if($GroupInfo['CanEditProfile']!="yes"&&$GroupInfo['CanEditProfile']!="no") {
146                 $GruError = true; }
147 $GroupInfo['CanAddEvents']=sql_result($gruresult,0,"CanAddEvents");
148 if($GroupInfo['CanAddEvents']!="yes"&&$GroupInfo['CanAddEvents']!="no") {
149                 $GruError = true; }
150 $GroupInfo['CanPM']=sql_result($gruresult,0,"CanPM");
151 if($GroupInfo['CanPM']!="yes"&&$GroupInfo['CanPM']!="no") {
152                 $GruError = true; }
153 $GroupInfo['CanSearch']=sql_result($gruresult,0,"CanSearch");
154 if($GroupInfo['CanSearch']!="yes"&&$GroupInfo['CanSearch']!="no") {
155                 $GruError = true; }
156 $GroupInfo['PromoteTo']=sql_result($gruresult,0,"PromoteTo");
157 $GroupInfo['PromotePosts']=sql_result($gruresult,0,"PromotePosts");
158 if(!is_numeric($GroupInfo['PromotePosts'])) { 
159         $GroupInfo['PromotePosts'] = 0; $GroupInfo['PromoteTo'] = 0; }
160 $GroupInfo['PromoteKarma']=sql_result($gruresult,0,"PromoteKarma");
161 if(!is_numeric($GroupInfo['PromoteKarma'])) { 
162         $GroupInfo['PromoteKarma'] = 0; $GroupInfo['PromoteTo'] = 0; }
163 if(!isset($Settings['KarmaBoostDays'])) {
164         $Settings['KarmaBoostDays'] = null; }
165 $Settings['OldKarmaBoostDays'] = $Settings['KarmaBoostDays'];
166 if(!isset($Settings['KBoostPercent'])) {
167         $Settings['KBoostPercent'] = "6|10"; }
168 //Update karma and group upgrade on post count or karma count.
169 if($_SESSION['UserID']!=0) { $BoostTotal = null;
170 $KarmaExp = explode("&",$Settings['KarmaBoostDays']);
171 $KarmaNow = GMTimeGet("md",$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
172 $kupdate = false;
173 if(in_array($KarmaNow,$KarmaExp)) {
174 $KarmaNum = count($KarmaExp); 
175 $Karmai = 0;
176 while ($Karmai < $KarmaNum) {
177 if($KarmaExp[$Karmai]==$KarmaNow) { 
178 $Settings['KarmaBoostDays'] = $KarmaExp[$Karmai]; 
179 $kupdate = true; break 1; }
180 ++$Karmai; } }
181 if($kupdate===false) {
182 $Settings['KarmaBoostDays'] = $KarmaExp[0]; }
183 $NewKarmaUpdate = GMTimeGet("Ymd",$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
184 $ThisYearUpdate = GMTimeGet("Y",$_SESSION['UserTimeZone'],0,$_SESSION['UserDST']);
185 if($MyKarmaUpdate<$NewKarmaUpdate&&$MyPostCountChk>0) { 
186         $KarmaBoostDay = $Settings['KarmaBoostDays'];
187         $KBoostPercent = explode("|",$Settings['KBoostPercent']);
188         if(count($KBoostPercent)<1) { 
189         $KBoostPercent[0] = rand(1,4); }
190         if(!is_numeric($KBoostPercent[0])) {
191         $KBoostPercent[0] = 6; }
192         if(count($KBoostPercent)==1) { 
193         $KBoostPercent[1] = $KBoostPercent[0] + rand(3,6); }
194         if(!is_numeric($KBoostPercent[1])) {
195         $KBoostPercent[0] = 10; }
196         $KBoostPercent = rand($KBoostPercent[0],$KBoostPercent[1]);
197         if($ThisYearUpdate.$KarmaBoostDay==$NewKarmaUpdate&&
198         is_numeric($KarmaBoostDay)) {
199         $KBoostPercent = $KBoostPercent / 100;
200         $BoostTotal = $MyKarmaCount * $KBoostPercent;
201         $BoostTotal = round($BoostTotal,0); }
202         if($BoostTotal!=null) {
203         $MyKarmaCount = $MyKarmaCount + $BoostTotal; }
204         if($BoostTotal==null) {
205         $MyKarmaCount = $MyKarmaCount + 1; }
206         $querykarmaup = sql_pre_query("UPDATE \"".$Settings['sqltable']."members\" SET \"Karma\"=%i,\"KarmaUpdate\"=%i WHERE \"id\"=%i", array($MyKarmaCount,$NewKarmaUpdate,$_SESSION['UserID']));
207         sql_query($querykarmaup,$SQLStat); }
208         $Settings['KarmaBoostDays'] = $Settings['OldKarmaBoostDays'];
209 if($GroupInfo['PromoteTo']!=0&&$MyPostCountChk>=$GroupInfo['PromotePosts']) {
210         $sql_group_check = sql_query(sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"id\"=%i LIMIT 1", array($GroupInfo['PromoteTo'])),$SQLStat);
211         $group_check = sql_num_rows($sql_group_check);
212         sql_free_result($sql_group_check);
213         if($group_check > 0) {
214         $queryupgrade = sql_pre_query("UPDATE \"".$Settings['sqltable']."members\" SET \"GroupID\"=%i WHERE \"id\"=%i", array($GroupInfo['PromoteTo'],$_SESSION['UserID']));
215         sql_query($queryupgrade,$SQLStat); } }
216 if($GroupInfo['PromotePosts']==0&&$GroupInfo['PromoteTo']!=0&&$MyKarmaCount>=$GroupInfo['PromoteKarma']) {
217         $sql_group_check = sql_query(sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."groups\" WHERE \"id\"=%i LIMIT 1", array($GroupInfo['PromoteTo'])),$SQLStat);
218         $group_check = sql_num_rows($sql_group_check);
219         sql_free_result($sql_group_check);
220         if($group_check > 0) {
221         $queryupgrade = sql_pre_query("UPDATE \"".$Settings['sqltable']."members\" SET \"GroupID\"=%i WHERE \"id\"=%i", array($GroupInfo['PromoteTo'],$_SESSION['UserID']));
222         sql_query($queryupgrade,$SQLStat); } } }
223 $GroupInfo['HasModCP']=sql_result($gruresult,0,"HasModCP");
224 if($GroupInfo['HasModCP']!="yes"&&$GroupInfo['HasModCP']!="no") {
225         $GroupInfo['HasModCP'] = "no"; }
226 $GroupInfo['HasAdminCP']=sql_result($gruresult,0,"HasAdminCP");
227 if($GroupInfo['HasAdminCP']!="yes"&&$GroupInfo['HasAdminCP']!="no") {
228         $GroupInfo['HasAdminCP'] = "no"; }
229 $GroupInfo['ViewDBInfo']=sql_result($gruresult,0,"ViewDBInfo"); 
230 if($GroupInfo['ViewDBInfo']!="yes"&&$GroupInfo['ViewDBInfo']!="no") {
231         $GroupInfo['ViewDBInfo'] = "no"; }
232 if($GruError==true) {
233 header("Content-Type: text/plain; charset=".$Settings['charset']); sql_free_result($gruresult);
234 ob_clean(); echo "Sorry could not load all group data in database.\nContact the board admin about error."; 
235 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); } }
236 sql_free_result($gruresult);
237 if($GroupInfo['CanViewBoard']=="no") { 
238 header("Content-Type: text/plain; charset=".$Settings['charset']); 
239 ob_clean(); echo "Sorry you can not view the board."; 
240 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); }
241 // Member Group Permissions Setup
242 $perquery = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."permissions\" WHERE \"PermissionID\"=%i ORDER BY \"ForumID\" ASC", array($GroupInfo['PermissionID']));
243 $peresult=sql_query($perquery,$SQLStat);
244 $pernum=sql_num_rows($peresult);
245 $peri=0; $PerError = null;
246 if($pernum<0) { $PerError = true; sql_free_result($peresult);
247 header("Content-Type: text/plain; charset=".$Settings['charset']); 
248 ob_clean(); echo "Sorry could not find permission data in database.\nContact the board admin about error."; 
249 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); }
250 if($pernum>=1) { while ($peri < $pernum) {
251 $PerForumID=sql_result($peresult,$peri,"ForumID");
252 if(!is_numeric($PerForumID)) { $PerError = true; }
253 $PermissionInfo['ID'][$PerForumID]=sql_result($peresult,$peri,"id");
254 if(!is_numeric($PermissionInfo['ID'][$PerForumID])) { $PerError = true; }
255 $PermissionInfo['PermissionID'][$PerForumID]=sql_result($peresult,$peri,"PermissionID");
256 if(!is_numeric($PermissionInfo['PermissionID'][$PerForumID])) { $PerError = true; }
257 $PermissionInfo['Name'][$PerForumID]=sql_result($peresult,$peri,"Name");
258 $PermissionInfo['ForumID'][$PerForumID]=sql_result($peresult,$peri,"ForumID");
259 if(!is_numeric($PermissionInfo['ForumID'][$PerForumID])) { $PerError = true; }
260 $PermissionInfo['CanViewForum'][$PerForumID]=sql_result($peresult,$peri,"CanViewForum");
261 if($PermissionInfo['CanViewForum'][$PerForumID]!="yes"&&$PermissionInfo['CanViewForum'][$PerForumID]!="no") {
262                 $PerError = true; }
263 $PermissionInfo['CanMakeTopics'][$PerForumID]=sql_result($peresult,$peri,"CanMakeTopics");
264 if($PermissionInfo['CanMakeTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeTopics'][$PerForumID]!="no") {
265                 $PerError = true; }
266 $PermissionInfo['CanMakeReplys'][$PerForumID]=sql_result($peresult,$peri,"CanMakeReplys");
267 if($PermissionInfo['CanMakeReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeReplys'][$PerForumID]!="no") {
268                 $PerError = true; }
269 $PermissionInfo['CanMakeReplysClose'][$PerForumID]=sql_result($peresult,$peri,"CanMakeReplysCT");
270 if($PermissionInfo['CanMakeReplysClose'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeReplysClose'][$PerForumID]!="no") {
271                 $PerError = true; }
272 $PermissionInfo['CanEditTopics'][$PerForumID]=sql_result($peresult,$peri,"CanEditTopics");
273 if($PermissionInfo['CanEditTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanEditTopics'][$PerForumID]!="no") {
274         $PermissionInfo['CanEditTopics'][$PerForumID] = "no"; }
275 $PermissionInfo['CanEditTopicsClose'][$PerForumID]=sql_result($peresult,$peri,"CanEditTopicsCT");
276 if($PermissionInfo['CanEditTopicsClose'][$PerForumID]!="yes"&&$PermissionInfo['CanEditTopicsClose'][$PerForumID]!="no") {
277         $PermissionInfo['CanEditTopicsClose'][$PerForumID] = "no"; }
278 $PermissionInfo['CanEditReplys'][$PerForumID]=sql_result($peresult,$peri,"CanEditReplys");
279 if($PermissionInfo['CanEditReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanEditReplys'][$PerForumID]!="no") {
280         $PermissionInfo['CanEditReplys'][$PerForumID] = "no"; }
281 $PermissionInfo['CanEditReplysClose'][$PerForumID]=sql_result($peresult,$peri,"CanEditReplysCT");
282 if($PermissionInfo['CanEditReplysClose'][$PerForumID]!="yes"&&$PermissionInfo['CanEditReplysClose'][$PerForumID]!="no") {
283         $PermissionInfo['CanEditReplysClose'][$PerForumID] = "no"; }
284 $PermissionInfo['CanDeleteTopics'][$PerForumID]=sql_result($peresult,$peri,"CanDeleteTopics");
285 if($PermissionInfo['CanDeleteTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteTopics'][$PerForumID]!="no") {
286         $PermissionInfo['CanDeleteTopics'][$PerForumID] = "no"; }
287 $PermissionInfo['CanDeleteTopicsClose'][$PerForumID]=sql_result($peresult,$peri,"CanDeleteTopicsCT");
288 if($PermissionInfo['CanDeleteTopicsClose'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteTopicsClose'][$PerForumID]!="no") {
289         $PermissionInfo['CanDeleteTopicsClose'][$PerForumID] = "no"; }
290 $PermissionInfo['CanDeleteReplys'][$PerForumID]=sql_result($peresult,$peri,"CanDeleteReplys");
291 if($PermissionInfo['CanDeleteReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteReplys'][$PerForumID]!="no") {
292         $PermissionInfo['CanDeleteReplys'][$PerForumID] = "no"; }
293 $PermissionInfo['CanDeleteReplysClose'][$PerForumID]=sql_result($peresult,$peri,"CanDeleteReplysCT");
294 if($PermissionInfo['CanDeleteReplysClose'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteReplysClose'][$PerForumID]!="no") {
295         $PermissionInfo['CanDeleteReplysClose'][$PerForumID] = "no"; }
296 $PermissionInfo['CanCloseTopics'][$PerForumID]=sql_result($peresult,$peri,"CanCloseTopics");
297 if($PermissionInfo['CanCloseTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanCloseTopics'][$PerForumID]!="no") {
298         $PermissionInfo['CanCloseTopics'][$PerForumID] = "no"; }
299 $PermissionInfo['CanPinTopics'][$PerForumID]=sql_result($peresult,$peri,"CanPinTopics");
300 if($PermissionInfo['CanPinTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanPinTopics'][$PerForumID]!="no") {
301         $PermissionInfo['CanPinTopics'][$PerForumID] = "no"; }
302 $PermissionInfo['CanDohtml'][$PerForumID]=sql_result($peresult,$peri,"CanDohtml");
303 if($PermissionInfo['CanDohtml'][$PerForumID]!="yes"&&$PermissionInfo['CanDohtml'][$PerForumID]!="no") {
304         $PermissionInfo['CanDohtml'][$PerForumID] = "no"; }
305 $PermissionInfo['CanUseBBags'][$PerForumID]=sql_result($peresult,$peri,"CanUseBBags");
306 if($PermissionInfo['CanUseBBags'][$PerForumID]!="yes"&&$PermissionInfo['CanUseBBags'][$PerForumID]!="no") {
307         $PermissionInfo['CanUseBBags'][$PerForumID] = "no"; }
308 $PermissionInfo['CanModForum'][$PerForumID]=sql_result($peresult,$peri,"CanModForum");
309 if($PermissionInfo['CanModForum'][$PerForumID]!="yes"&&$PermissionInfo['CanModForum'][$PerForumID]!="no") {
310         $PermissionInfo['CanModForum'][$PerForumID] = "no"; }
311 if($PerError===true) { $peri = $pernum; }
312 ++$peri; } if($PerError===true) {
313 header("Content-Type: text/plain; charset=".$Settings['charset']); sql_free_result($peresult);
314 ob_clean(); echo "Sorry could not load all permission data in database.\nContact the board admin about error."; 
315 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); } }
316 sql_free_result($peresult);
317 $per2query = sql_pre_query("SELECT * FROM \"".$Settings['sqltable']."catpermissions\" WHERE \"PermissionID\"=%i ORDER BY \"CategoryID\" ASC", array($GroupInfo['PermissionID']));
318 $per2esult=sql_query($per2query,$SQLStat);
319 $per2num=sql_num_rows($per2esult);
320 $per2i=0; $Per2Error = null;
321 if($per2num<=0) { $Per2Error = true; sql_free_result($per2esult);
322 header("Content-Type: text/plain; charset=".$Settings['charset']); 
323 ob_clean(); echo "Sorry could not find permission data in database.\nContact the board admin about error."; 
324 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); }
325 if($per2num>=1) { while ($per2i < $per2num) {
326 $PerCatID=sql_result($per2esult,$per2i,"CategoryID");
327 if(!is_numeric($PerCatID)) { $Per2Error = true; }
328 $CatPermissionInfo['ID'][$PerCatID]=sql_result($per2esult,$per2i,"id");
329 if(!is_numeric($CatPermissionInfo['ID'][$PerCatID])) { $Per2Error = true; }
330 $CatPermissionInfo['PermissionID'][$PerCatID]=sql_result($per2esult,$per2i,"PermissionID");
331 if(!is_numeric($CatPermissionInfo['PermissionID'][$PerCatID])) { $Per2Error = true; }
332 $CatPermissionInfo['Name'][$PerCatID]=sql_result($per2esult,$per2i,"Name");
333 $CatPermissionInfo['CategoryID'][$PerCatID]=sql_result($per2esult,$per2i,"CategoryID");
334 if(!is_numeric($CatPermissionInfo['CategoryID'][$PerCatID])) { $Per2Error = true; }
335 $CatPermissionInfo['CanViewCategory'][$PerCatID]=sql_result($per2esult,$per2i,"CanViewCategory");
336 if($CatPermissionInfo['CanViewCategory'][$PerCatID]!="yes"&&$CatPermissionInfo['CanViewCategory'][$PerCatID]!="no") { $Per2Error = true; }
337 if($Per2Error===true) { $per2i = $per2num; }
338 ++$per2i; } if($Per2Error===true) {
339 header("Content-Type: text/plain; charset=".$Settings['charset']); sql_free_result($per2esult);
340 ob_clean(); echo "Sorry could not load all permission data in database.\nContact the board admin about error."; 
341 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); session_write_close(); die(); } }
342 sql_free_result($per2esult);
343 ?>