rendered paste body<?php/*PHP Class : BClass.php;Author : Xn;eMail : xn.exelsior@gmail.com;Comment : Functions of the "challenge" website;Date : 16/07/2007 03:52;*/class BClass { public $BHost = 'localhost'; public $BLogin = 'root'; public $BPass = ''; public $BIsConnected = false; private function DbConnect() { $MySQLink = mysql_connect($this->BHost,$this->BLogin,$this->BPass); if (is_resource($MySQLink)) $this->BIsConnected = true; return $this->BIsConnected; } private function DbQuery($BQuery) { if (!$this->BIsConnected) $this->DbConnect(); $BResult = mysql_query($BQuery); return $BResult; } public function BStrip($BString) { $BChars = array(',',';','(',')','/','\\',']','[','+','=','^','<','>','&','"'); foreach($BChars as $BNotAllowed) $BString = str_replace($BNotAllowed,'',$BString); return $BString; } public function BIsLogged() { if (!empty($_SESSION['userid']) && !empty($_SESSION['right']) && !empty($_SESSION['username']) && !empty($_SESSION['email'])) { return true; } } public function BGetAccount() { $Query = $this->DbQuery('SELECT COUNT(*) AS nbrAccount FROM test.bot_userdata'); $ResQuery = mysql_fetch_array($Query); return $ResQuery['nbrAccount']; } public function BGetBots() { $Query = $this->DbQuery('SELECT COUNT(*) AS nbrBots FROM test.bot_botdata'); $ResQuery = mysql_fetch_array($Query); return $ResQuery['nbrBots']; } public function LoadContent($BId) { $Bfiles = array('0'=>'include/bnews.php','1'=>'include/bregister.php','2'=>'include/bconcours.php','3'=>'include/whatisbot.php','4'=>'include/regabot.php','5'=>'include/isbotfree.php','6'=>'include/pools.php','7'=>'include/downs.php','8'=>'include/tuts.php'); $NewBId = $this->BStrip($BId); if (($BId != $NewBId) OR (strlen($BId) > 1)) { exit(); } elseif (array_key_exists($BId,$Bfiles)) { include($Bfiles[$BId]); } } public function LoadMenu() { // Menu général $BMenu1 = '<img src="img/infos.png" /><br /><br />'; $BMenu1 .= '<div class="buton"><a href="?x=0">Page d\'accueil</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=2">Concours !bot!</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=3">Qu\'est-ce que #!bot!?</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=4">Enregistrer son robot</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=5">Disponibilité d\'un bot</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=6">Pools</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=7">Téléchargements</a></div>'; $BMenu1 .= '<div class="buton"><a href="?x=8">Tutoriaux</a></div>'; $BMenu1 .= '<div class="buton">Nous contacter</div>'; echo $BMenu1; // Menu de login if (!$this->BIsLogged()) { $BMenu2 = '<br /><img src="img/ident.png" /><br /><br /><div class="ident">'; $BMenu2 .= '<br /><div align="center"><table><tr><td><form method="post" action="blogin.php" />Pseudo :</td><td><input type="text" name="pseudo" size="11" /></td></tr>'; $BMenu2 .= '<tr><td>Pass :</td><td><input type="password" name="mdp" size="11" /></td></tr>'; $BMenu2 .= '<tr><td></td><td><input class="but" type="submit" value="Login!" /></td></tr>'; $BMenu2 .= '<tr><td colspan="2">Où <a class="reg" href="./index.php?x=1">enregistrez-vous</a> !</form></td></tr></table></div></div>'; echo $BMenu2; } else { $BMenu3 = '<br /><img src="img/cp.png" /><br /><br />'; $BMenu3 .= '<div class="ident"><div class="stats">Loggué en tant que : <b>'.$_SESSION['username'].'</b><br />Access : <b>'.$this->GetRight().'</b></div></div><br />'; $BMenu3 .= '<div class="buton"><a href="?x=4">Mes robots</a></div>'; $BMenu3 .= '<div class="buton"><a href="blogout.php"><b>Logout</b></a></div>'; echo $BMenu3; } // Menu de stats :P $BMenu4 = '<br /><img src="img/stats.png" /><br /><br /><div class="ident"><div class="stats">'; $BMenu4 .= 'Utilisateurs : <b>'.$this->BGetAccount().'</b><br />'; $BMenu4 .= 'Robots enregistrés : <b>'.$this->BGetBots().'</b><br /></div></div>'; echo $BMenu4; } public function GetRight() { $BRights = array(1=>'Membre',256=>'Admin lv1',512=>'Admin lv2',768=>'Admin lv3'); if (!empty($_SESSION['right'])) { return $BRights[ $_SESSION['right'] ]; } } public function EnumPool() { echo '<table>'; $Query = $this->DbQuery('SELECT * FROM test.bot_pools'); while ($Res = mysql_fetch_array($Query)) { echo '<tr><td>'.$Res['lettre'].'</td><td><b>'.$Res['pseudo'].'</b></td></tr>'; } echo '</table>'; return true; } public function BLogin($BUser,$BPass) { $BUser = $this->BStrip($BUser); $BPass = md5($this->BStrip($BPass)); $Query = $this->DbQuery('SELECT * FROM test.bot_userdata WHERE owner="'.$BUser.'"'); $ResQuery = mysql_fetch_array($Query); if ($ResQuery['password'] == $BPass) { $_SESSION['userid'] = $ResQuery['id']; $_SESSION['right'] = $ResQuery['right']; $_SESSION['username'] = $ResQuery['owner']; $_SESSION['email'] = $ResQuery['email']; return true; } } public function IsBotIsFree($BotName) { $BotName = $this->BStrip($BotName); $Query = $this->DbQuery('SELECT * FROM test.bot_botdata WHERE botname="'.$BotName.'" AND isaccepted="1"'); if (mysql_num_rows($Query) > 0) { return 1; } } public function BRegister($BOwner,$BPassword,$BEmail) { $BOwner = $this->BStrip($BOwner); $BPassword = md5($this->BStrip($BPassword)); $BEmail = $this->BStrip($BEmail); // Verify if the account is already taken $Query = $this->DbQuery('SELECT * FROM test.bot_userdata WHERE owner="'.$BOwner.'"'); if (mysql_num_rows($Query) > 0) return 1; // Verify if the email is already taken $Query = $this->DbQuery('SELECT * FROM test.bot_userdata WHERE email="'.$BEmail.'"'); if (mysql_num_rows($Query) > 0) return 2; // Everything okay ? Register :) $Query = $this->DbQuery("INSERT INTO test.bot_userdata VALUES('','$BOwner','$BPassword','$BEmail','1')"); return 0; } public function BLogout() { if ($this->BIsLogged()) { unset($_SESSION); session_destroy(); return true; } }}$BSite = new BClass();?>