/** * retourne la valeur user donnée en parametre */ function user_data($data = null) { global $Account_Data; if (empty($Account_Data)) { get_perso(logged_data('Account_Pseudo')); } debug_log("user_data({$data})"); if (is_null($data)) { return $Account_Data; } if (user_has($data)) { debug_log("result => user_data({$data})" . $Account_Data[$data]); } if (user_has($data)) { return $Account_Data[$data]; } return false; }
/** * Vérification des sanctions pour l'utilisateur */ $Warning_List = get_db("get_sanction_user", array('Account_ID' => logged_data('Account_ID'))); if (!empty($Warning_List)) { extract(stripslashes_r($Warning_List)); $message = "Vous avez recu un(e) {$Sanction_Type} de la part de {$Sanction_Transmitter}\\n\\n{$Sanction_Message}"; delete_db('Caranille_Sanctions', array('Sanction_ID' => $Sanction_ID)); } /* Mise à jour du compte en temps réel */ //get_user($Pseudo); if (verif_auth()) { init_equipement_session(); get_perso($Pseudo); get_equipement($Pseudo); get_Guild($Pseudo); $Next_Level = get_new_level(); updateConnected(); } else { $Reason = user_data('Account_Reason'); $message = "IMPOSSIBLE DE SE CONNECTER\\nVotre compte est banni pour la raison suivante :\\n : {$Reason}"; session_destroy(); } if (isset($message) && !empty($message)) { echo "<script type=\"text/javascript\"> alert(\"{$message}\"); </script>"; } } else { logged_set('Account_Access', 'Visit'); }
function connexion($Pseudo, $Password) { global $baseline, $prefixe_salt, $suffixe_salt, $MMORPG_Access; $login = get_db('request_account', $_POST); $pswd = password_encode($prefixe_salt . $login['Account_Salt'] . $suffixe_salt, $Password); $restore = password_decode($prefixe_salt . $login['Account_Salt'] . $suffixe_salt, $login['Account_Password']); if ($login['Account_Password'] === $pswd && $restore === $Password) { if ($login['Account_Valid'] == '1') { if (!isConnected($login)) { get_user($Pseudo); if (verif_auth()) { init_equipement_session(); get_perso($Pseudo); get_equipement($Pseudo); get_Guild($Pseudo); clear_battle(); $ID = user_data('Account_ID'); $Date = date('Y-m-d H:i:s'); $IP = getRealIpAddr(); $Last_Connection = user_data('Account_Last_Connection'); $Last_IP = user_data('Account_Last_IP'); update_db('Caranille_Accounts', array('Account_Last_Connection' => $Date, 'Account_Last_IP' => $IP, 'Account_ID' => $ID)); if ($Last_IP !== $IP) { $message = "ATTENTION!!!" . "\n"; $message .= "Votre dernière connexion ne provient pas de la même adresse IP." . "\n"; $message .= "Cela peut signifier qu'une autre personne se soit précédemment connectée avec votre compte." . "\n"; $message .= "Si par contre vous vous êtes connecté depuis un autre poste veuillez ignorer ce message."; $message .= "\n\n"; $message .= "Pour information voici un détail de votre dernière connexion:." . "\n"; $message .= "- Date de connexion: {$Last_Connection} " . "\n"; $message .= "- Adresse IP: {$Last_IP} " . "\n"; } if ($MMORPG_Access === "Yes") { $baseline = 'Connection Réussi<br /><br />'; $baseline .= '<a href="' . get_link('Main', 'Public') . '">Commencer à jouer</a>'; } elseif ($MMORPG_Access === "No" && verif_access("Admin", true)) { $baseline = 'Connection Réussi<br /><br />'; $baseline .= '<a href="' . get_link('Main', 'Admin') . '">Administration</a>'; } else { $baseline = 'Le jeu est actuellement fermé, merci de revenir plus tard'; session_destroy(); } return true; } return 2; } return 3; } return 4; } return 5; }