OSDN Git Service

Small change to setcookie codes. :P
[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-2007 Cool Dude 2k - http://intdb.sourceforge.net/
12     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
13
14     $FileInfo: groupsetup.php - Last Update: 09/16/2007 SVN 104 - Author: cooldude2k $
15 */
16 $File3Name = basename($_SERVER['SCRIPT_NAME']);
17 if ($File3Name=="groupsetup.php"||$File3Name=="/groupsetup.php") {
18         require('index.php');
19         exit(); }
20 // Check to make sure MemberInfo is right
21 if(!isset($_SESSION['UserID'])) { $_SESSION['UserID'] = 0; }
22 if($_SESSION['UserID']!=0&&$_SESSION['UserID']!=null) {
23 $kgbquerychkusr = query("SELECT * FROM `".$Settings['sqltable']."members` WHERE `Name`='%s' AND `Password`='%s' AND `id`=%i", array($_SESSION['MemberName'],$_SESSION['UserPass'],$_SESSION['UserID'])); 
24 $resultchkusr=mysql_query($kgbquerychkusr);
25 $numchkusr=mysql_num_rows($resultchkusr);
26 if($numchkusr==1) {
27 $ChkUsrID=mysql_result($resultchkusr,0,"id");
28 $ChkUsrName=mysql_result($resultchkusr,0,"Name");
29 $ChkUsrGroup=mysql_result($resultchkusr,0,"GroupID");
30 $ChkUsrPass=mysql_result($resultchkusr,0,"Password");
31 $ChkUsrTimeZone=mysql_result($resultchkusr,0,"TimeZone");
32 $ChkUsrTheme=mysql_result($resultchkusr,0,"UseTheme");
33 $ChkUsrDST=mysql_result($resultchkusr,0,"DST");
34 $svrquery = query("SELECT * FROM `".$Settings['sqltable']."groups` WHERE `id`=%i", array($ChkUsrGroup));
35 $svrgresultkgb=mysql_query($svrquery);
36 $ChkUsrGroup=mysql_result($svrgresultkgb,0,"Name"); 
37 $_SESSION['Theme']=$ChkUsrTheme;
38 $_SESSION['MemberName']=$ChkUsrName;
39 $_SESSION['UserID']=$ChkUsrID;
40 $_SESSION['UserTimeZone']=$ChkUsrTimeZone;
41 $_SESSION['UserGroup']=$ChkUsrGroup;
42 $_SESSION['UserDST']=$ChkUsrDST;
43 $_SESSION['UserPass']=$ChkUsrPass; }
44 if($numchkusr<=0||$numchkusr>1) { @session_unset();
45 if($cookieDomain==null) {
46 @setcookie("MemberName", null, GMTimeStamp() - 3600, $basedir);
47 @setcookie("UserID", null, GMTimeStamp() - 3600, $basedir);
48 @setcookie("SessPass", null, GMTimeStamp() - 3600, $basedir);
49 @setcookie(session_name(), "", GMTimeStamp() - 3600, $basedir); }
50 if($cookieDomain!=null) {
51 if($cookieSecure==true) {
52 @setcookie("MemberName", null, GMTimeStamp() - 3600, $basedir, $cookieDomain, 1);
53 @setcookie("UserID", null, GMTimeStamp() - 3600, $basedir, $cookieDomain, 1);
54 @setcookie("SessPass", null, GMTimeStamp() - 3600, $basedir, $cookieDomain, 1);
55 @setcookie(session_name(), "", GMTimeStamp() - 3600, $basedir, $cookieDomain, 1); }
56 if($cookieSecure==false) {
57 @setcookie("MemberName", null, GMTimeStamp() - 3600, $basedir, $cookieDomain);
58 @setcookie("UserID", null, GMTimeStamp() - 3600, $basedir, $cookieDomain);
59 @setcookie("SessPass", null, GMTimeStamp() - 3600, $basedir, $cookieDomain);
60 @setcookie(session_name(), "", GMTimeStamp() - 3600, $basedir, $cookieDomain); } }
61 unset($_COOKIE[session_name()]);
62 $_SESSION = array(); @session_unset(); @session_destroy();
63 @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);
64 ob_clean(); @header("Content-Type: text/plain; charset=".$Settings['charset']);
65 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
66 @mysql_free_result($numchkusr); @mysql_free_result($svrgresultkgb); }
67 if($_SESSION['UserID']==0||$_SESSION['UserID']==null) {
68 $_SESSION['MemberName'] = null;
69 $_SESSION['UserGroup'] = $Settings['GuestGroup']; }
70 if($_SESSION['MemberName']==null) { $_SESSION['UserID'] = "0";
71 $_SESSION['UserGroup'] = $Settings['GuestGroup']; }
72 // Member Group Setup
73 if(!isset($_SESSION['UserGroup'])) { $_SESSION['UserGroup'] = null; }
74 if($_SESSION['UserGroup']==null) { 
75 $_SESSION['UserGroup']=$Settings['GuestGroup']; } $GruError = null;
76 $gruquery = query("SELECT * FROM `".$Settings['sqltable']."groups` WHERE `Name`='%s'", array($_SESSION['UserGroup']));
77 $gruresult=mysql_query($gruquery);
78 $grunum=mysql_num_rows($gruresult);
79 if($grunum<=0) { $GruError = true; @mysql_free_result($gruresult);
80 @header("Content-Type: text/plain; charset=".$Settings['charset']); 
81 ob_clean(); echo "Sorry could not find group data in database.\nContact the board admin about error."; 
82 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
83 if($grunum>=1) {
84 $GroupInfo['ID']=mysql_result($gruresult,0,"id");
85 if(!is_numeric($GroupInfo['ID'])) { $GruError = true; }
86 $GroupInfo['Name']=mysql_result($gruresult,0,"Name");
87 $GroupInfo['PermissionID']=mysql_result($gruresult,0,"PermissionID");
88 if(!is_numeric($GroupInfo['PermissionID'])) { $GruError = true; }
89 $GroupInfo['NamePrefix']=mysql_result($gruresult,0,"NamePrefix");
90 $GroupInfo['NameSuffix']=mysql_result($gruresult,0,"NameSuffix");
91 $GroupInfo['CanViewBoard']=mysql_result($gruresult,0,"CanViewBoard");
92 if($GroupInfo['CanViewBoard']!="yes"&&$GroupInfo['CanViewBoard']!="no") {
93                 $GruError = true; }
94 $GroupInfo['CanEditProfile']=mysql_result($gruresult,0,"CanEditProfile");
95 if($GroupInfo['CanEditProfile']!="yes"&&$GroupInfo['CanEditProfile']!="no") {
96                 $GruError = true; }
97 $GroupInfo['CanAddEvents']=mysql_result($gruresult,0,"CanAddEvents");
98 if($GroupInfo['CanAddEvents']!="yes"&&$GroupInfo['CanAddEvents']!="no") {
99                 $GruError = true; }
100 $GroupInfo['CanPM']=mysql_result($gruresult,0,"CanPM");
101 if($GroupInfo['CanPM']!="yes"&&$GroupInfo['CanPM']!="no") {
102                 $GruError = true; }
103 $GroupInfo['CanSearch']=mysql_result($gruresult,0,"CanSearch");
104 if($GroupInfo['CanSearch']!="yes"&&$GroupInfo['CanSearch']!="no") {
105                 $GruError = true; }
106 $GroupInfo['PromoteTo']=mysql_result($gruresult,0,"PromoteTo");
107 $GroupInfo['PromotePosts']=mysql_result($gruresult,0,"PromotePosts");
108 if(!is_numeric($GroupInfo['PromotePosts'])) { 
109         $GroupInfo['PromotePosts'] = 0; $GroupInfo['PromoteTo'] = "none"; }
110 $GroupInfo['HasModCP']=mysql_result($gruresult,0,"HasModCP");
111 if($GroupInfo['HasModCP']!="yes"&&$GroupInfo['HasModCP']!="no") {
112         $GroupInfo['HasModCP'] = "no"; }
113 $GroupInfo['HasAdminCP']=mysql_result($gruresult,0,"HasAdminCP");
114 if($GroupInfo['HasAdminCP']!="yes"&&$GroupInfo['HasAdminCP']!="no") {
115         $GroupInfo['HasAdminCP'] = "no"; }
116 $GroupInfo['ViewDBInfo']=mysql_result($gruresult,0,"ViewDBInfo"); 
117 if($GroupInfo['ViewDBInfo']!="yes"&&$GroupInfo['ViewDBInfo']!="no") {
118         $GroupInfo['ViewDBInfo'] = "no"; }
119 if($GruError==true) {
120 @header("Content-Type: text/plain; charset=".$Settings['charset']); @mysql_free_result($gruresult);
121 ob_clean(); echo "Sorry could not load all group data in database.\nContact the board admin about error."; 
122 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
123 @mysql_free_result($gruresult);
124 if($GroupInfo['CanViewBoard']=="no") { 
125 @header("Content-Type: text/plain; charset=".$Settings['charset']); 
126 ob_clean(); echo "Sorry you can not view the board."; 
127 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
128 // Member Group Permissions Setup
129 $perquery = query("SELECT * FROM `".$Settings['sqltable']."permissions` WHERE `PermissionID`=%i ORDER BY `ForumID` ASC", array($GroupInfo['PermissionID']));
130 $peresult=mysql_query($perquery);
131 $pernum=mysql_num_rows($peresult);
132 $peri=0; $PerError = null;
133 if($pernum<=0) { $PerError = true; @mysql_free_result($peresult);
134 @header("Content-Type: text/plain; charset=".$Settings['charset']); 
135 ob_clean(); echo "Sorry could not find permission data in database.\nContact the board admin about error."; 
136 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
137 if($pernum>=1) { while ($peri < $pernum) {
138 $PerForumID=mysql_result($peresult,$peri,"ForumID");
139 if(!is_numeric($PerForumID)) { $PerError = true; }
140 $PermissionInfo['ID'][$PerForumID]=mysql_result($peresult,$peri,"ID");
141 if(!is_numeric($PermissionInfo['ID'][$PerForumID])) { $PerError = true; }
142 $PermissionInfo['PermissionID'][$PerForumID]=mysql_result($peresult,$peri,"PermissionID");
143 if(!is_numeric($PermissionInfo['PermissionID'][$PerForumID])) { $PerError = true; }
144 $PermissionInfo['Name'][$PerForumID]=mysql_result($peresult,$peri,"Name");
145 $PermissionInfo['ForumID'][$PerForumID]=mysql_result($peresult,$peri,"ForumID");
146 if(!is_numeric($PermissionInfo['ForumID'][$PerForumID])) { $PerError = true; }
147 $PermissionInfo['CanViewForum'][$PerForumID]=mysql_result($peresult,$peri,"CanViewForum");
148 if($PermissionInfo['CanViewForum'][$PerForumID]!="yes"&&$PermissionInfo['CanViewForum'][$PerForumID]!="no") {
149                 $PerError = true; }
150 $PermissionInfo['CanMakeTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanMakeTopics");
151 if($PermissionInfo['CanMakeTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeTopics'][$PerForumID]!="no") {
152                 $PerError = true; }
153 $PermissionInfo['CanMakeReplys'][$PerForumID]=mysql_result($peresult,$peri,"CanMakeReplys");
154 if($PermissionInfo['CanMakeReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeReplys'][$PerForumID]!="no") {
155                 $PerError = true; }
156 $PermissionInfo['CanMakeReplysClose'][$PerForumID]=mysql_result($peresult,$peri,"CanMakeReplysCT");
157 if($PermissionInfo['CanMakeReplysClose'][$PerForumID]!="yes"&&$PermissionInfo['CanMakeReplysClose'][$PerForumID]!="no") {
158                 $PerError = true; }
159 $PermissionInfo['CanEditTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanEditTopics");
160 if($PermissionInfo['CanEditTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanEditTopics'][$PerForumID]!="no") {
161         $PermissionInfo['CanEditTopics'][$PerForumID] = "no"; }
162 $PermissionInfo['CanEditTopicsClose'][$PerForumID]=mysql_result($peresult,$peri,"CanEditTopicsCT");
163 if($PermissionInfo['CanEditTopicsClose'][$PerForumID]!="yes"&&$PermissionInfo['CanEditTopicsClose'][$PerForumID]!="no") {
164         $PermissionInfo['CanEditTopicsClose'][$PerForumID] = "no"; }
165 $PermissionInfo['CanEditReplys'][$PerForumID]=mysql_result($peresult,$peri,"CanEditReplys");
166 if($PermissionInfo['CanEditReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanEditReplys'][$PerForumID]!="no") {
167         $PermissionInfo['CanEditReplys'][$PerForumID] = "no"; }
168 $PermissionInfo['CanEditReplysClose'][$PerForumID]=mysql_result($peresult,$peri,"CanEditReplysCT");
169 if($PermissionInfo['CanEditReplysClose'][$PerForumID]!="yes"&&$PermissionInfo['CanEditReplysClose'][$PerForumID]!="no") {
170         $PermissionInfo['CanEditReplysClose'][$PerForumID] = "no"; }
171 $PermissionInfo['CanDeleteTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanDeleteTopics");
172 if($PermissionInfo['CanDeleteTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteTopics'][$PerForumID]!="no") {
173         $PermissionInfo['CanDeleteTopics'][$PerForumID] = "no"; }
174 $PermissionInfo['CanDeleteTopicsClose'][$PerForumID]=mysql_result($peresult,$peri,"CanDeleteTopicsCT");
175 if($PermissionInfo['CanDeleteTopicsClose'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteTopicsClose'][$PerForumID]!="no") {
176         $PermissionInfo['CanDeleteTopicsClose'][$PerForumID] = "no"; }
177 $PermissionInfo['CanDeleteReplys'][$PerForumID]=mysql_result($peresult,$peri,"CanDeleteReplys");
178 if($PermissionInfo['CanDeleteReplys'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteReplys'][$PerForumID]!="no") {
179         $PermissionInfo['CanDeleteReplys'][$PerForumID] = "no"; }
180 $PermissionInfo['CanDeleteReplysClose'][$PerForumID]=mysql_result($peresult,$peri,"CanDeleteReplysCT");
181 if($PermissionInfo['CanDeleteReplysClose'][$PerForumID]!="yes"&&$PermissionInfo['CanDeleteReplysClose'][$PerForumID]!="no") {
182         $PermissionInfo['CanDeleteReplysClose'][$PerForumID] = "no"; }
183 $PermissionInfo['CanCloseTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanCloseTopics");
184 if($PermissionInfo['CanCloseTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanCloseTopics'][$PerForumID]!="no") {
185         $PermissionInfo['CanCloseTopics'][$PerForumID] = "no"; }
186 $PermissionInfo['CanPinTopics'][$PerForumID]=mysql_result($peresult,$peri,"CanPinTopics");
187 if($PermissionInfo['CanPinTopics'][$PerForumID]!="yes"&&$PermissionInfo['CanPinTopics'][$PerForumID]!="no") {
188         $PermissionInfo['CanPinTopics'][$PerForumID] = "no"; }
189 $PermissionInfo['CanDohtml'][$PerForumID]=mysql_result($peresult,$peri,"CanDohtml");
190 if($PermissionInfo['CanDohtml'][$PerForumID]!="yes"&&$PermissionInfo['CanDohtml'][$PerForumID]!="no") {
191         $PermissionInfo['CanDohtml'][$PerForumID] = "no"; }
192 $PermissionInfo['CanUseBBags'][$PerForumID]=mysql_result($peresult,$peri,"CanUseBBags");
193 if($PermissionInfo['CanUseBBags'][$PerForumID]!="yes"&&$PermissionInfo['CanUseBBags'][$PerForumID]!="no") {
194         $PermissionInfo['CanUseBBags'][$PerForumID] = "no"; }
195 $PermissionInfo['CanModForum'][$PerForumID]=mysql_result($peresult,$peri,"CanModForum");
196 if($PermissionInfo['CanModForum'][$PerForumID]!="yes"&&$PermissionInfo['CanModForum'][$PerForumID]!="no") {
197         $PermissionInfo['CanModForum'][$PerForumID] = "no"; }
198 if($PerError==true) { $peri = $pernum; }
199 ++$peri; } if($PerError==true) {
200 @header("Content-Type: text/plain; charset=".$Settings['charset']); @mysql_free_result($peresult);
201 ob_clean(); echo "Sorry could not load all permission data in database.\nContact the board admin about error."; 
202 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
203 @mysql_free_result($peresult);
204 $per2query = query("SELECT * FROM `".$Settings['sqltable']."catpermissions` WHERE `PermissionID`=%i ORDER BY `CategoryID` ASC", array($GroupInfo['PermissionID']));
205 $per2esult=mysql_query($per2query);
206 $per2num=mysql_num_rows($per2esult);
207 $per2i=0; $Per2Error = null;
208 if($per2num<=0) { $Per2Error = true; @mysql_free_result($per2esult);
209 @header("Content-Type: text/plain; charset=".$Settings['charset']); 
210 ob_clean(); echo "Sorry could not find permission data in database.\nContact the board admin about error."; 
211 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); }
212 if($per2num>=1) { while ($per2i < $per2num) {
213 $PerCatID=mysql_result($per2esult,$per2i,"CategoryID");
214 if(!is_numeric($PerCatID)) { $Per2Error = true; }
215 $CatPermissionInfo['ID'][$PerCatID]=mysql_result($per2esult,$per2i,"id");
216 if(!is_numeric($CatPermissionInfo['ID'][$PerCatID])) { $Per2Error = true; }
217 $CatPermissionInfo['PermissionID'][$PerCatID]=mysql_result($per2esult,$per2i,"PermissionID");
218 if(!is_numeric($CatPermissionInfo['PermissionID'][$PerCatID])) { $Per2Error = true; }
219 $CatPermissionInfo['Name'][$PerCatID]=mysql_result($per2esult,$per2i,"Name");
220 $CatPermissionInfo['CategoryID'][$PerCatID]=mysql_result($per2esult,$per2i,"CategoryID");
221 if(!is_numeric($CatPermissionInfo['CategoryID'][$PerCatID])) { $Per2Error = true; }
222 $CatPermissionInfo['CanViewCategory'][$PerCatID]=mysql_result($per2esult,$per2i,"CanViewCategory");
223 if($CatPermissionInfo['CanViewCategory'][$PerCatID]!="yes"&&$CatPermissionInfo['CanViewCategory'][$PerCatID]!="no") {
224                 $Per2Error = true; }
225 if($Per2Error==true) { $per2i = $per2num; }
226 ++$per2i; } if($Per2Error==true) {
227 @header("Content-Type: text/plain; charset=".$Settings['charset']); @mysql_free_result($per2esult);
228 ob_clean(); echo "Sorry could not load all permission data in database.\nContact the board admin about error."; 
229 gzip_page($Settings['use_gzip'],$GZipEncode['Type']); @mysql_close(); die(); } }
230 @mysql_free_result($per2esult);
231 ?>