connexion(); $bdd->escape($HB_login); $res = $bdd->unique_query("SELECT mdp_var FROM $table_user WHERE pseudo = '$HB_login';"); $bdd->deconnexion(); if (empty($res['mdp_var'])) socket_write($client, 'not found', 9); else socket_write($client, $res['mdp_var'], 255); //On attend une requête contenant le mot de passe $HB_password = socket_read($client, 255); $bdd->connexion(); $bdd->escape($HB_password); $resultat = $bdd->unique_query("SELECT id, mv, last_visite, auth_level, raisonmv FROM $table_user WHERE pseudo = '$HB_login' AND mdp = '$HB_password';"); if ($resultat) { $id = $resultat['id']; $reqPlan = $bdd->query("SELECT id, file_bat, file_tech, file_cas, file_vais, file_ter FROM $table_planete WHERE id_user = '$id' ORDER BY id ASC;"); $resultatP = $reqPlan[0]; if (!$reqPlan) { $bdd->deconnexion(); socket_write($client, 'ERR:Impossible de trouver votre planète !', 41); } else { if ($resultat['mv'] != 0) { if ($resultat['last_visite']+259200 > time() && $resultat['auth_level'] < 2) { if ($resultat['mv'] == 3) socket_write($client, 'MV3:'.$resultat['raisonmv'], 260); elseif ($resultat['mv'] == 2) socket_write($client, 'MV2:'.($resultat['last_visite']+259200).':'.$resultat['raisonmv'], 300); else socket_write($client, 'MV1:'.$resultat['last_visite']+259200, 255); } else { $bdd->query("UPDATE $table_user SET mv = '0' WHERE id = '$id';"); $bdd->query("UPDATE $table_planete SET timestamp = '".time()."' WHERE id_user = '$id';"); //On fait repartir à 0 les files d'attente include_once(_FCORE."hb_game/Class/class.gerefile.php"); $cntplan = count($reqPlan); for ($i = 0; $i < $cntplan; $i++) { if (!empty($reqPlan[$i]['file_bat'])) { $file = unserialize($reqPlan[$i]['file_bat']); $file->timestamp = time(); $fileBat = serialize($file); $bdd->escape($fileBat); } else $fileBat = ''; if (!empty($reqPlan[$i]['file_tech'])) { $file = unserialize($reqPlan[$i]['file_tech']); $file->timestamp = time(); $fileTech = serialize($file); $bdd->escape($fileTech); } else $fileTech = ''; if (!empty($reqPlan[$i]['file_cas'])) { $file = unserialize($reqPlan[$i]['file_cas']); $file->timestamp = time(); $fileCas = serialize($file); $bdd->escape($fileCas); } else $fileCas = ''; if (!empty($reqPlan[$i]['file_vais'])) { $file = unserialize($reqPlan[$i]['file_vais']); $file->timestamp = time(); $fileVais = serialize($file); $bdd->escape($fileCas); } else $fileVais = ''; if (!empty($reqPlan[$i]['file_ter'])) { $file = unserialize($reqPlan[$i]['file_ter']); $file->timestamp = time(); $fileTer = serialize($file); $bdd->escape($fileTer); } else $fileTer = ''; $idPlan = $reqPlan[$i]['id']; $bdd->query("UPDATE $table_planete SET file_bat = '$fileBat', file_tech = '$fileTech', file_cas = '$fileCas', file_vais = '$fileVais', file_ter = '$fileTer' WHERE id = '$idPlan';"); } } } $time = time(); $bdd->query("UPDATE $table_user SET last_visite = '$time', last_ip = '$ip' WHERE id = '$id';"); $bdd->query("INSERT INTO $table_registre_identification (id_util, ip) VALUES ('".$id."','".$ip."');"); $bdd->deconnexion(); $sess = new session(); $sess->load(); $sess->values['connected'] = TRUE; $sess->values['id'] = $resultat['id']; $sess->values['idPlan'] = $resultatP['id']; $sess->values['auth_level'] = $resultat['auth_level']; $sess->put(); socket_write($client, "ok", 2); socket_write($client, $config['session_name'], strlen($config['session_name'])); socket_write($client, $sess->cookie, strlen($sess->cookie)); $fin = time() + $config['session_time']."po"; socket_write($client, $fin, strlen($fin)); $sess = false; unset($sess); echo "Identification validee pour $HB_login => $fin\n"; } } else socket_write($client, 'not found', 9); } else socket_write($client, "ERR:La phase d'identification n'a pas encore commence", 49); socket_close($client); echo "Fin d'une connexion\n\n"; flush(); } ?>