OSDN Git Service

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