OSDN Git Service

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