From 24edcf09c202667f56337b7b391c2ee5f9eb70b4 Mon Sep 17 00:00:00 2001 From: legoboy0215 Date: Sun, 7 Feb 2016 18:10:56 +0800 Subject: [PATCH] Fix a lag bug. IDK if this works, since I never tried it YET. --- src/ChatLogin/EventListener.php | 146 ++++++++++++++++---------------- 1 file changed, 74 insertions(+), 72 deletions(-) diff --git a/src/ChatLogin/EventListener.php b/src/ChatLogin/EventListener.php index 444604e..cc351d3 100644 --- a/src/ChatLogin/EventListener.php +++ b/src/ChatLogin/EventListener.php @@ -59,94 +59,96 @@ public function onPlayerChat(PlayerChatEvent $event){ if($cfg["show-prefix"]){ $prefix = Main::PREFIX; } - if(!ServerAuth::getAPI()->isPlayerRegistered($player->getName())){ - if($player->hasPermission("chatlogin.register")){ - //Check if confirmation is required - if($cfg["password-confirm-required"]){ - if(!isset($this->plugin->confirm_users[strtolower($player->getName())])){ - $this->plugin->confirm_users[strtolower($player->getName())] = $event->getMessage(); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-confirm-message"])); - }else{ - //Check passwords - if($this->plugin->confirm_users[strtolower($player->getName())] == $event->getMessage()){ - unset($this->plugin->confirm_users[strtolower($player->getName())]); - $status = ServerAuth::getAPI()->registerPlayer($player, $event->getMessage()); - if($status == ServerAuth::SUCCESS){ - ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["register-success"])); - }elseif($status == ServerAuth::ERR_USER_ALREADY_REGISTERED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["already-registered"])); - }elseif($status == ServerAuth::ERR_PASSWORD_TOO_SHORT){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-short"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); - }elseif($status == ServerAuth::ERR_PASSWORD_TOO_LONG){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-long"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); - }elseif($status == ServerAuth::ERR_MAX_IP_REACHED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["max-ip-reached"])); - }elseif($status == ServerAuth::CANCELLED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); + if(!ServerAuth::getAPI()->isPlayerAuthenticated($player)){ + if(!ServerAuth::getAPI()->isPlayerRegistered($player->getName())){ + if($player->hasPermission("chatlogin.register")){ + //Check if confirmation is required + if($cfg["password-confirm-required"]){ + if(!isset($this->plugin->confirm_users[strtolower($player->getName())])){ + $this->plugin->confirm_users[strtolower($player->getName())] = $event->getMessage(); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-confirm-message"])); + }else{ + //Check passwords + if($this->plugin->confirm_users[strtolower($player->getName())] == $event->getMessage()){ + unset($this->plugin->confirm_users[strtolower($player->getName())]); + $status = ServerAuth::getAPI()->registerPlayer($player, $event->getMessage()); + if($status == ServerAuth::SUCCESS){ + ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["register-success"])); + }elseif($status == ServerAuth::ERR_USER_ALREADY_REGISTERED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["already-registered"])); + }elseif($status == ServerAuth::ERR_PASSWORD_TOO_SHORT){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-short"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); + }elseif($status == ServerAuth::ERR_PASSWORD_TOO_LONG){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-long"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); + }elseif($status == ServerAuth::ERR_MAX_IP_REACHED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["max-ip-reached"])); + }elseif($status == ServerAuth::CANCELLED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); + }else{ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); + } }else{ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); + unset($this->plugin->confirm_users[strtolower($player->getName())]); + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-no-match"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } + } + }else{ + $status = ServerAuth::getAPI()->registerPlayer($player, $event->getMessage()); + if($status == ServerAuth::SUCCESS){ + ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["register-success"])); + }elseif($status == ServerAuth::ERR_USER_ALREADY_REGISTERED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["already-registered"])); + }elseif($status == ServerAuth::ERR_PASSWORD_TOO_SHORT){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-short"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); + }elseif($status == ServerAuth::ERR_PASSWORD_TOO_LONG){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-long"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); + }elseif($status == ServerAuth::ERR_MAX_IP_REACHED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["max-ip-reached"])); + }elseif($status == ServerAuth::CANCELLED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); }else{ - unset($this->plugin->confirm_users[strtolower($player->getName())]); - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-no-match"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); } } }else{ - $status = ServerAuth::getAPI()->registerPlayer($player, $event->getMessage()); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg['no-register-permissions'])); + } + $event->setMessage(""); + $event->setCancelled(true); + }elseif(!ServerAuth::getAPI()->isPlayerAuthenticated($player)){ + if($player->hasPermission("chatlogin.login")){ + $status = ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); if($status == ServerAuth::SUCCESS){ - ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["register-success"])); - }elseif($status == ServerAuth::ERR_USER_ALREADY_REGISTERED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["register"]["already-registered"])); - }elseif($status == ServerAuth::ERR_PASSWORD_TOO_SHORT){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-short"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); - }elseif($status == ServerAuth::ERR_PASSWORD_TOO_LONG){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["password-too-long"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); - }elseif($status == ServerAuth::ERR_MAX_IP_REACHED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["max-ip-reached"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["login"]["login-success"])); + }elseif($status == ServerAuth::ERR_WRONG_PASSWORD){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["wrong-password"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["login-message"])); + }elseif($status == ServerAuth::ERR_USER_ALREADY_AUTHENTICATED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["login"]["already-login"])); + }elseif($status == ServerAuth::ERR_USER_NOT_REGISTERED){ + $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["user-not-registered"])); }elseif($status == ServerAuth::CANCELLED){ $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); }else{ $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["register-message"])); + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["login-message"])); } + }else{ + $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg['no-login-permissions'])); } - }else{ - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg['no-register-permissions'])); - } - $event->setMessage(""); - $event->setCancelled(true); - }elseif(!ServerAuth::getAPI()->isPlayerAuthenticated($player)){ - if($player->hasPermission("chatlogin.login")){ - $status = ServerAuth::getAPI()->authenticatePlayer($player, $event->getMessage()); - if($status == ServerAuth::SUCCESS){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["login"]["login-success"])); - }elseif($status == ServerAuth::ERR_WRONG_PASSWORD){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["wrong-password"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["login-message"])); - }elseif($status == ServerAuth::ERR_USER_ALREADY_AUTHENTICATED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["login"]["already-login"])); - }elseif($status == ServerAuth::ERR_USER_NOT_REGISTERED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["user-not-registered"])); - }elseif($status == ServerAuth::CANCELLED){ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->getCancelledMessage())); - }else{ - $player->sendMessage($this->plugin->translateColors("&", $prefix . ServerAuth::getAPI()->chlang["errors"]["generic"])); - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg["login-message"])); - } - }else{ - $player->sendMessage($this->plugin->translateColors("&", $prefix . $cfg['no-login-permissions'])); + $event->setMessage(""); + $event->setCancelled(true); } - $event->setMessage(""); - $event->setCancelled(true); } } } -?> \ No newline at end of file +?>