login.php (12534B)
1 <?php // login.php :: Page d'arrivé sur le jeu 2 session_start(); 3 include('kernel/functions.php'); 4 include('kernel/display_log.php'); 5 6 switch($do) { 7 case "logout":logout();break; 8 default:login(); 9 } 10 11 function login() { 12 13 include('config.php'); 14 $link = opendb(); 15 $menu['session'] = null; 16 17 $controlquery = doquery("SELECT * FROM {{table}} WHERE id='1' LIMIT 1", "control"); 18 $controlrow = mysql_fetch_array($controlquery); 19 20 $onlinequery = doquery("SELECT charname FROM {{table}} WHERE UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' ORDER BY charname", "users"); 21 22 if (isset($_POST['submit_x'])) { //Session php. 23 24 $verifyquery = doquery("SELECT id, verify, username FROM {{table}} WHERE username='".addslashes($_POST['username'])."' AND password='".md5($_POST['password'])."' LIMIT 1", "users"); 25 $verifyrow = mysql_fetch_array($verifyquery); 26 27 if ((empty($_POST['username'])) || (empty($_POST['password'])) ) {$menu['session'] = '<div class="alerte_session">Vous n\'avez pas correctement entré votre ID ou PW!</div><br>'; } 28 elseif($verifyrow['verify'] == null) {$menu['session'] = '<div class="alerte_session">L\'utilisateur demandé est inconnu!</div><br>'; } 29 elseif($verifyrow['verify'] != null && $verifyrow['verify'] != 1) {$menu['session'] = '<div class="alerte_session">Vous n\'avez pas validé votre compte, avec le code de validation contenu dans l\'e-mail que nous vous avons envoyé lors de votre inscription!</div><br>'; } 30 elseif ($_POST['username'] == $verifyrow['username']) { 31 session_start(); 32 $_SESSION['id'] = $verifyrow['id']; 33 34 $onlinequery = doquery("UPDATE {{table}} SET onlinetime=NOW() WHERE id=$verifyrow[id] LIMIT 1", "users"); 35 36 header("Location: index.php"); 37 } 38 } 39 40 //Affichage nombre de connectés. 41 if (mysql_num_rows($onlinequery) <= 1) { 42 $txt = 'connecté'; 43 } else{ 44 $txt = 'connectés'; 45 } 46 47 $menu['statistics'] = '<img src="images/login/puce.jpg" alt=""> <b><span class="rose3">Il y a '.mysql_num_rows($onlinequery).' '.$txt.'</span></b>'; 48 49 //Affichage des 5 derniers inscrits. 50 $menu['statistics'] .= '<br><img src="images/login/puce.jpg" alt=""> <b><span class="marron1">Les derniers inscrits:</span></b>'; 51 52 $count = 0; 53 $onlinequery = doquery("SELECT charname,onlinetime FROM {{table}} ORDER BY regdate DESC LIMIT 5","users"); 54 while ($onlinerow = mysql_fetch_array($onlinequery)) { 55 56 $tsonline = strtotime($onlinerow['onlinetime']); 57 if ($tsonline >= time()-600 && $count<5){ 58 $count++; 59 $txt = 'En ligne'; 60 }else{ 61 $txt = 'Hors ligne'; 62 } 63 $menu['statistics'] .= '<br>- ' .$onlinerow['charname']. ' <img src="images/login/' . $txt . '.gif" title="' . $txt . '" alt="' . $txt . '">'; 64 } 65 66 //Affichage du sondage. 67 $vote_query = doquery ("SELECT * FROM {{table}} ORDER BY id DESC LIMIT 1", "poll"); 68 $vote = mysql_fetch_array($vote_query); 69 $ip_query = doquery ("SELECT * FROM {{table}} WHERE numero='".$vote['id']."' AND ip='".$_SERVER['REMOTE_ADDR']."'","poll_ip"); 70 $ip = mysql_num_rows($ip_query); 71 72 if (!empty($vote['question'])){ 73 $question = '<img width="16px" height="15px" alt="" src="images/login/question.gif" style="vertical-align: middle;"> <span class="marron2"><b>'.$vote['question'].'</b></span><br><br>'; 74 $bouton = '<div style="text-align: center" ><input type="image" src="images/login/bouton_voter.gif" class="no_bordure" title="Voter" name="sondage"></div>'; 75 }else{ 76 $question = '<span class="marron2"><b>Aucun sondage</b></span>'; 77 $bouton = ''; 78 } 79 $menu['poll'] = $question; 80 $nbQuestions = 4; 81 82 if(!$ip){ 83 for($i=1 ; $i<=$nbQuestions ; $i++) { 84 $check = ($i==1) ? 'checked' : ''; 85 $champ='answer'.$i; 86 if(!empty($vote[$champ])) { 87 $menu['poll'] .= '<input type="radio" value="'.$i.'" name="submit" '.$check.'> '.$vote[$champ].'<br>'; 88 } 89 } 90 91 $menu['poll'] .= '<br>'.$bouton; 92 93 if (isset($_POST['sondage_x'])) 94 { 95 for($i=1 ; $i<=$nbQuestions ; $i++) { 96 if($i==$_POST['submit']) 97 { 98 $resultat = $vote['resultat'.$i]+ 1; 99 $update = 'resultat'.$i.' = '.$resultat; 100 } 101 } 102 103 $save_vote = doquery("UPDATE {{table}} SET $update WHERE id='".$vote['id']."'", "poll"); 104 $insert_ip = doquery("INSERT INTO {{table}} SET numero='".$vote['id']."', ip='".$_SERVER['REMOTE_ADDR']."'", "poll_ip"); 105 106 $menu['poll'] ='<span class="rose5"><b>Merci d\'avoir voté!</b></span>'; 107 } 108 }else{ 109 $menu['poll'] = '<span class="mauve1"><b>Les résultats des votes:</b></span>'; 110 $menu['poll'] .= $question; 111 for($i=1 ; $i<=$nbQuestions ; $i++) { 112 $champ='answer'.$i; 113 $nombre_vote='resultat'.$i; 114 if(!empty($vote[$champ])) { 115 if($vote[$nombre_vote]>1){ 116 $pluriel = 'votes'; 117 }else{ 118 $pluriel = 'vote';} 119 $menu['poll'] .= '<span class="rose3"><b>- '.$vote[$champ].'</b></span> <span class="taille1">('.$vote[$nombre_vote].' '.$pluriel.')</span><br>'; 120 } 121 } 122 } 123 124 // Affichage des news. 125 $newsquery = doquery ("SELECT date, id, title, resume FROM {{table}} ORDER by id DESC LIMIT 6","news"); 126 127 $count = 1; 128 $login['news'] =''; 129 130 while ($newsrow = mysql_fetch_array($newsquery)) 131 { 132 $login['news'] .= '<img src="images/login/puce3.gif" alt=""> <b><span class="rose4">'.date('d.m.Y', $newsrow['date']).' : </span></b><a href="?do=login&news='.$newsrow['id'].'">'.$newsrow['title'].'</a><br>'.$newsrow['resume'].'<br><br>'; 133 } 134 135 if (isset($_GET["news"])){ 136 $newsquery = doquery("SELECT date, title, content FROM {{table}} WHERE id='$_GET[news]' LIMIT 1","news"); 137 $newsrow = mysql_fetch_array($newsquery); 138 if(($newsrow['title'] != null)) 139 { 140 include('class/bbcode.php'); 141 $texte = new texte(); 142 143 $login['news'] = '<b><span class="rose4">'.$newsrow['title'].'</span></b> le '.date('d.m.Y', $newsrow['date']).' [<a href="login.php?do=login">Retour</a>]<br><br>'.nl2br($texte->ms_format($newsrow['content'])).''; 144 }else 145 { 146 $login['news'] = '<span class="alerte">La news est introuvable</span>'; 147 } 148 } 149 150 //Classement joueur. 151 $userquery = doquery ("SELECT charname, charclass, level FROM {{table}} ORDER by level DESC LIMIT 6","users"); 152 153 $count = 1; 154 $login['classementjoueurs'] =''; 155 156 if(!isset($_GET["news"])){ 157 $login['classementjoueurs'] .= '<div class="taille3"><h1><b>Top 6 joueurs</b></h1><br></div>'; 158 $login['classementjoueurs'] .= '<table border="0" width="190">'; 159 while ($userrow = mysql_fetch_array($userquery)) 160 { 161 $login['classementjoueurs'] .= '<tr><td><img src="images/login/classement/num-'.$count.'.gif" alt="'.$count.'"></td><td><img src="images/login/classement/class-'.$userrow['charclass'].'.gif" height="21px" alt=""></td><td><b><span class="rose5">'.$userrow['charname'].'</span></b></td><td style="text-align: right"><span class="taille1">Niv. <span class="rose3">'.$userrow['level'].'</span></span></td></tr>'; 162 $count++; 163 } 164 $login['classementjoueurs'] .= '</table>'; 165 } 166 167 //Classement monstres. 168 $monsterquery = doquery ("SELECT name, level FROM {{table}} ORDER by level DESC LIMIT 10","monsters"); 169 170 $count = 1; 171 $login['classementmonstres'] =''; 172 173 if(!isset($_GET["news"])){ 174 $login['classementmonstres'] .= '<div class="taille3"><h1><b>Top 10 monstres</b></h1><br></div>'; 175 $login['classementmonstres'] .= '<table border="0" width="178">'; 176 while ($monsterrow = mysql_fetch_array($monsterquery)) 177 { 178 $login['classementmonstres'] .= '<tr><td><span class="mauve1"><b>'.$count.'</b></span></td><td><span class="rose5">'.$monsterrow['name'].'</span></td><td style="text-align: right"><span class="taille1">Niv. <span class="rose3">'.$monsterrow['level'].'</span></span></td></tr>'; 179 $count++; 180 } 181 $login['classementmonstres'] .='</table>'; 182 } 183 184 // Affichage des objets classement armes 185 $itemsquery = doquery ("SELECT id, type, name, buycost, special , image, description FROM {{table}} WHERE type=1","items"); 186 $i=0; 187 while($itemsrow = mysql_fetch_row($itemsquery)){ 188 $i++; 189 $tabl[$i]=$itemsrow[0]; 190 } 191 for ($count1=0 ;$count1<count($tabl);$count1++) { 192 193 $itemsquery = doquery ("SELECT weaponname, count(weaponid) as occurences FROM {{table}} WHERE weaponid >= 0 GROUP BY weaponid ORDER by occurences DESC LIMIT 5 ","users"); 194 $itemsquery = doquery ("SELECT u.weaponname, count(u.weaponid) as occurences, i.buycost, i.image, i.special FROM {{table}} AS u, rpg_items AS i WHERE u.weaponid >= 0 AND i.id = u.weaponid GROUP BY u.weaponid ORDER by occurences DESC LIMIT 5","users"); 195 196 $itemsrow = 0; 197 $login['armes'] =''; 198 199 while ($itemsrow = mysql_fetch_array($itemsquery)) 200 { 201 $login['armes'] .='<table border="0"><tr><td><img src="images/objets/'.$itemsrow['image'].'.jpg" title="'.$itemsrow['weaponname'].'" alt="'.$itemsrow['weaponname'].'"></td> 202 <td><b>Nom: </b><span class="rose3">'.$itemsrow['weaponname'].'</span><br><b>Prix: </b><span class="rose3">'.$itemsrow['buycost'].' rubis</span><br><b>Equipé: </b><span class="rose3">'.$itemsrow['occurences'].' perso.</span><br></td></tr></table>'; 203 } 204 } 205 206 // Affichage des objets classement armures. 207 $itemsquery = doquery ("SELECT id, type, name, buycost, special , image, description FROM {{table}} WHERE type=2","items"); 208 $i=0; 209 while($itemsrow = mysql_fetch_row($itemsquery)){ 210 $i++; 211 $tabl[$i]=$itemsrow[0]; 212 } 213 for ($count1=0 ;$count1<count($tabl);$count1++) { 214 215 $itemsquery = doquery ("SELECT armorname, count(armorid) as occurences FROM {{table}} WHERE armorid >= 0 GROUP BY armorid ORDER by occurences DESC LIMIT 5 ","users"); 216 $itemsquery = doquery ("SELECT u.armorname, count(u.armorid) as occurences, i.buycost, i.image, i.special FROM {{table}} AS u, rpg_items AS i WHERE u.armorid >= 0 AND i.id = u.armorid GROUP BY u.armorid ORDER by occurences DESC LIMIT 5","users"); 217 218 $itemsrow = 0; 219 $login['armures'] =''; 220 221 while ($itemsrow = mysql_fetch_array($itemsquery)) 222 { 223 $login['armures'] .='<table border="0"><tr><td><img src="images/objets/'.$itemsrow['image'].'.jpg" title="'.$itemsrow['armorname'].'" alt="'.$itemsrow['armorname'].'"></td> 224 <td><b>Nom: </b><span class="rose3">'.$itemsrow['armorname'].'</span><br><b>Prix: </b><span class="rose3">'.$itemsrow['buycost'].' rubis</span><br><b>Equipé: </b><span class="rose3">'.$itemsrow['occurences'].' perso.</span><br></td></tr></table>'; 225 } 226 } 227 228 // Affichage des objets classement boucliers. 229 $itemsquery = doquery ("SELECT id, type, name, buycost, special , image, description FROM {{table}} WHERE type=3","items"); 230 $i=0; 231 while($itemsrow = mysql_fetch_row($itemsquery)){ 232 $i++; 233 $tabl[$i]=$itemsrow[0]; 234 } 235 for ($count1=0 ;$count1<count($tabl);$count1++) { 236 237 $itemsquery = doquery ("SELECT shieldname, count(shieldid) as occurences FROM {{table}} WHERE shieldid >= 0 GROUP BY shieldid ORDER by occurences DESC LIMIT 5 ","users"); 238 $itemsquery = doquery ("SELECT u.shieldname, count(u.shieldid) as occurences, i.buycost, i.image, i.special FROM {{table}} AS u, rpg_items AS i WHERE u.shieldid >= 0 AND i.id = u.shieldid GROUP BY u.shieldid ORDER by occurences DESC LIMIT 5","users"); 239 240 $itemsrow = 0; 241 $login['boucliers'] =''; 242 243 while ($itemsrow = mysql_fetch_array($itemsquery)) 244 { 245 $login['boucliers'] .='<table border="0"><tr><td><img src="images/objets/'.$itemsrow['image'].'.jpg" title="'.$itemsrow['shieldname'].'" alt="'.$itemsrow['shieldname'].'"></td> 246 <td><b>Nom: </b><span class="rose3">'.$itemsrow['shieldname'].'</span><br><b>Prix: </b><span class="rose3">'.$itemsrow['buycost'].' rubis</span><br><b>Equipé: </b><span class="rose3">'.$itemsrow['occurences'].' perso.</span><br></td></tr></table>'; 247 } 248 } 249 250 //Affichage des partenaires. 251 $partnerquery = doquery ("SELECT name, url FROM {{table}} ORDER by id DESC LIMIT 6","partners"); 252 $count = 1; 253 $login['partners'] =''; 254 255 while ($partnerrow = mysql_fetch_array($partnerquery)) 256 { 257 $login['partners'] .= '<img src="images/login/puce3.gif" alt=""> '.$partnerrow['name'].' <span class="taille1">[<a href="#" onclick="window.open(\''.$partnerrow['url'].'\')">visiter</a>]</span><br>'; 258 } 259 260 $template_menu = gettemplate("leftnavlog"); 261 $template_login = gettemplate("login"); 262 263 display(parsetemplate($template_login, $login), 'Bienvenue', parsetemplate($template_menu, $menu), false, false); 264 265 } 266 267 function logout() { 268 269 session_destroy(); 270 header("Location: login.php?do=login"); 271 die(); 272 273 } 274 ?>