3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the Revised BSD License.
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.
11 Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
12 Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
14 $FileInfo: groupsetup.php - Last Update: 08/02/2007 SVN 62 - Author: cooldude2k $
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="groupsetup.php"||$File3Name=="/groupsetup.php") {
21 if(!isset($_SESSION['UserGroup'])) { $_SESSION['UserGroup'] = null; }
22 if($_SESSION['UserGroup']==null) {
23 $_SESSION['UserGroup']=$Settings['GuestGroup']; } $GruError = null;
24 $gruquery = query("select * from `".$Settings['sqltable']."groups` WHERE `Name`='%s'", array($_SESSION['UserGroup']));
25 $gruresult=mysql_query($gruquery);
26 $grunum=mysql_num_rows($gruresult);
27 if($grunum<=0) { $GruError = true; @mysql_free_result($gruresult);
28 @header("Content-Type: text/plain; charset=".$Settings['charset']);
29 ob_clean(); echo "Sorry could not find group data in database.\nContact the board admin about error.";
30 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
32 $GroupInfo['ID']=mysql_result($gruresult,0,"id");
33 if(!is_numeric($GroupInfo['ID'])) { $GruError = true; }
34 $GroupInfo['Name']=mysql_result($gruresult,0,"Name");
35 $GroupInfo['PermissionID']=mysql_result($gruresult,0,"PermissionID");
36 if(!is_numeric($GroupInfo['PermissionID'])) { $GruError = true; }
37 $GroupInfo['NamePrefix']=mysql_result($gruresult,0,"NamePrefix");
38 $GroupInfo['NameSuffix']=mysql_result($gruresult,0,"NameSuffix");
39 $GroupInfo['CanViewBoard']=mysql_result($gruresult,0,"CanViewBoard");
40 if($GroupInfo['CanViewBoard']!="yes"&&$GroupInfo['CanViewBoard']!="no") {
42 $GroupInfo['CanEditProfile']=mysql_result($gruresult,0,"CanEditProfile");
43 if($GroupInfo['CanEditProfile']!="yes"&&$GroupInfo['CanEditProfile']!="no") {
45 $GroupInfo['CanAddEvents']=mysql_result($gruresult,0,"CanAddEvents");
46 if($GroupInfo['CanAddEvents']!="yes"&&$GroupInfo['CanAddEvents']!="no") {
48 $GroupInfo['CanPM']=mysql_result($gruresult,0,"CanPM");
49 if($GroupInfo['CanPM']!="yes"&&$GroupInfo['CanPM']!="no") {
51 $GroupInfo['CanSearch']=mysql_result($gruresult,0,"CanSearch");
52 if($GroupInfo['CanSearch']!="yes"&&$GroupInfo['CanSearch']!="no") {
54 $GroupInfo['PromoteTo']=mysql_result($gruresult,0,"PromoteTo");
55 $GroupInfo['PromotePosts']=mysql_result($gruresult,0,"PromotePosts");
56 if(!is_numeric($GroupInfo['PromotePosts'])) {
57 $GroupInfo['PromotePosts'] = 0; $GroupInfo['PromoteTo'] = "none"; }
58 $GroupInfo['HasModCP']=mysql_result($gruresult,0,"HasModCP");
59 if($GroupInfo['HasModCP']!="yes"&&$GroupInfo['HasModCP']!="no") {
60 $GroupInfo['HasModCP'] = "no"; }
61 $GroupInfo['HasAdminCP']=mysql_result($gruresult,0,"HasAdminCP");
62 if($GroupInfo['HasAdminCP']!="yes"&&$GroupInfo['HasAdminCP']!="no") {
63 $GroupInfo['HasAdminCP'] = "no"; }
64 $GroupInfo['ViewDBInfo']=mysql_result($gruresult,0,"ViewDBInfo");
65 if($GroupInfo['ViewDBInfo']!="yes"&&$GroupInfo['ViewDBInfo']!="no") {
66 $GroupInfo['ViewDBInfo'] = "no"; }
68 @header("Content-Type: text/plain; charset=".$Settings['charset']); @mysql_free_result($gruresult);
69 ob_clean(); echo "Sorry could not load all group data in database.\nContact the board admin about error.";
70 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
71 @mysql_free_result($gruresult);
72 if($GroupInfo['CanViewBoard']=="no") {
73 @header("Content-Type: text/plain; charset=".$Settings['charset']);
74 ob_clean(); echo "Sorry you can not view the board.";
75 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
76 // Member Group Permissions Setup
77 $perquery = query("select * from `".$Settings['sqltable']."permissions` WHERE `PermissionID`=%i ORDER BY `ForumID` ASC", array($GroupInfo['PermissionID']));
78 $peresult=mysql_query($perquery);
79 $pernum=mysql_num_rows($peresult);
80 $peri=0; $PerError = null;
81 if($pernum<=0) { $PerError = true; @mysql_free_result($peresult);
82 @header("Content-Type: text/plain; charset=".$Settings['charset']);
83 ob_clean(); echo "Sorry could not find permission data in database.\nContact the board admin about error.";
84 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
85 if($pernum>=1) { while ($peri < $pernum) {
86 $PerForumID=mysql_result($peresult,$peri,"ForumID");
87 if(!is_numeric($PerForumID)) { $PerError = true; }
88 $PermissionInfo['ID'][$PerForumID]=mysql_result($peresult,$peri,"ID");
89 if(!is_numeric($PermissionInfo['ID'][$PerForumID])) { $PerError = true; }
90 $PermissionInfo['PermissionID'][$PerForumID]=mysql_result($peresult,$peri,"PermissionID");
91 if(!is_numeric($PermissionInfo['PermissionID'][$PerForumID])) { $PerError = true; }
92 $PermissionInfo['Name'][$PerForumID]=mysql_result($peresult,$peri,"Name");
93 $PermissionInfo['ForumID'][$PerForumID]=mysql_result($peresult,$peri,"ForumID");
94 if(!is_numeric($PermissionInfo['ForumID'][$PerForumID])) { $PerError = true; }
95 $PermissionInfo['CanViewForum'][$PerForumID]=mysql_result($peresult,$peri,"CanViewForum");
96 if($PermissionInfo['CanViewForum'][$PerForumID]!="yes"&&$PermissionInfo['CanViewForum'][$PerForumID]!="no") {
98 $PermissionInfo['CanMakeTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanMakeTopics");
99 if($PermissionInfo['CanMakeTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeTopics'][$PerForumID]!="no") {
101 $PermissionInfo['CanMakeReplys'][$PerForumID]=mysql_result($peresult,$peri,"CanMakeReplys");
102 if($PermissionInfo['CanMakeReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeReplys'][$PerForumID]!="no") {
104 $PermissionInfo['CanEditTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanEditTopics");
105 if($PermissionInfo['CanEditTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanEditTopics'][$PerForumID]!="no") {
106 $PermissionInfo['CanEditTopics'][$PerForumID] = "no"; }
107 $PermissionInfo['CanEditReplys'][$PerForumID]=mysql_result($peresult,$peri,"CanEditReplys");
108 if($PermissionInfo['CanEditReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanEditReplys'][$PerForumID]!="no") {
109 $PermissionInfo['CanEditReplys'][$PerForumID] = "no"; }
110 $PermissionInfo['CanDeleteTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanDeleteTopics");
111 if($PermissionInfo['CanDeleteTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteTopics'][$PerForumID]!="no") {
112 $PermissionInfo['CanDeleteTopics'][$PerForumID] = "no"; }
113 $PermissionInfo['CanDeleteReplys'][$PerForumID]=mysql_result($peresult,$peri,"CanDeleteReplys");
114 if($PermissionInfo['CanDeleteReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteReplys'][$PerForumID]!="no") {
115 $PermissionInfo['CanDeleteReplys'][$PerForumID] = "no"; }
116 $PermissionInfo['CanDohtml'][$PerForumID]=mysql_result($peresult,$peri,"CanDohtml");
117 if($PermissionInfo['CanDohtml'][$PerForumID]!="yes"&&$PermissionInfo['CanDohtml'][$PerForumID]!="no") {
118 $PermissionInfo['CanDohtml'][$PerForumID] = "no"; }
119 $PermissionInfo['CanUseBBags'][$PerForumID]=mysql_result($peresult,$peri,"CanUseBBags");
120 if($PermissionInfo['CanUseBBags'][$PerForumID]!="yes"&&$PermissionInfo['CanUseBBags'][$PerForumID]!="no") {
121 $PermissionInfo['CanUseBBags'][$PerForumID] = "no"; }
122 $PermissionInfo['CanModForum'][$PerForumID]=mysql_result($peresult,$peri,"CanModForum");
123 if($PermissionInfo['CanModForum'][$PerForumID]!="yes"&&$PermissionInfo['CanModForum'][$PerForumID]!="no") {
124 $PermissionInfo['CanModForum'][$PerForumID] = "no"; }
125 if($PerError==true) { $peri = $pernum; }
126 ++$peri; } if($PerError==true) {
127 @header("Content-Type: text/plain; charset=".$Settings['charset']); @mysql_free_result($peresult);
128 ob_clean(); echo "Sorry could not load all permission data in database.\nContact the board admin about error.";
129 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
130 @mysql_free_result($peresult);
131 $per2query = query("select * from `".$Settings['sqltable']."catpermissions` WHERE `PermissionID`=%i ORDER BY `CategoryID` ASC", array($GroupInfo['PermissionID']));
132 $per2esult=mysql_query($per2query);
133 $per2num=mysql_num_rows($per2esult);
134 $per2i=0; $Per2Error = null;
135 if($per2num<=0) { $Per2Error = true; @mysql_free_result($per2esult);
136 @header("Content-Type: text/plain; charset=".$Settings['charset']);
137 ob_clean(); echo "Sorry could not find permission data in database.\nContact the board admin about error.";
138 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
139 if($per2num>=1) { while ($per2i < $per2num) {
140 $PerCatID=mysql_result($per2esult,$per2i,"CategoryID");
141 if(!is_numeric($PerCatID)) { $Per2Error = true; }
142 $CatPermissionInfo['ID'][$PerCatID]=mysql_result($per2esult,$per2i,"id");
143 if(!is_numeric($CatPermissionInfo['ID'][$PerCatID])) { $Per2Error = true; }
144 $CatPermissionInfo['PermissionID'][$PerCatID]=mysql_result($per2esult,$per2i,"PermissionID");
145 if(!is_numeric($CatPermissionInfo['PermissionID'][$PerCatID])) { $Per2Error = true; }
146 $CatPermissionInfo['Name'][$PerCatID]=mysql_result($per2esult,$per2i,"Name");
147 $CatPermissionInfo['CategoryID'][$PerCatID]=mysql_result($per2esult,$per2i,"CategoryID");
148 if(!is_numeric($CatPermissionInfo['CategoryID'][$PerCatID])) { $Per2Error = true; }
149 $CatPermissionInfo['CanViewCategory'][$PerCatID]=mysql_result($per2esult,$per2i,"CanViewCategory");
150 if($CatPermissionInfo['CanViewCategory'][$PerCatID]!="yes"&&$CatPermissionInfo['CanViewCategory'][$PerCatID]!="no") {
152 if($Per2Error==true) { $per2i = $per2num; }
153 ++$per2i; } if($Per2Error==true) {
154 @header("Content-Type: text/plain; charset=".$Settings['charset']); @mysql_free_result($per2esult);
155 ob_clean(); echo "Sorry could not load all permission data in database.\nContact the board admin about error.";
156 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
157 @mysql_free_result($per2esult);