rpgillusion

RPG Illusion: French fork of Dragon Knight
git clone https://git.neuralcrash.com/rpgillusion.git
Log | Files | Refs | README

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="">&nbsp;<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="">&nbsp;<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="">&nbsp;<b><span class="rose4">'.date('d.m.Y', $newsrow['date']).'&nbsp;:&nbsp;</span></b><a href="?do=login&amp;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="">&nbsp;'.$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 ?>