/** * Unregister a player * * @param Player|OfflinePlayer $player * * @return int|boolean true on SUCCESS or false if the player is not registered, otherwise the current error */ public function unregisterPlayer($player) { if ($player instanceof Player || $player instanceof OfflinePlayer) { if ($this->isPlayerRegistered($player->getName())) { $this->getServer()->getPluginManager()->callEvent($event = new Events\ServerAuthUnregisterEvent($player)); if ($event->isCancelled()) { return ServerAuth::CANCELLED; } if ($this->getDataProvider()) { //Check MySQL connection if ($this->getDatabase() && $this->getDatabase()->ping()) { $query = "DELETE FROM " . $this->getDatabaseConfig()["table_prefix"] . "serverauthdata WHERE user='******'"; if ($this->getDatabase()->query($query)) { //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); return ServerAuth::SUCCESS; } else { return ServerAuth::ERR_GENERIC; } } else { return ServerAuth::ERR_GENERIC; } } else { @unlink($this->getDataFolder() . "users/" . strtolower($player->getName() . ".yml")); //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); return ServerAuth::SUCCESS; } } else { return ServerAuth::ERR_USER_NOT_REGISTERED; } } else { return -1; } }
/** * Unregister a player * * @param Player|OfflinePlayer $player * * @return int|boolean true on SUCCESS or false if the player is not registered, otherwise the current error */ public function unregisterPlayer($player) { $pname = $player; if ($player instanceof Player || $player instanceof OfflinePlayer) { $pname = $player->getName(); } if ($this->isPlayerRegistered($pname)) { //Reset cancelled message $this->canc_message = $this->chlang["operation-cancelled"]; $this->getServer()->getPluginManager()->callEvent($event = new Events\ServerAuthUnregisterEvent($player)); if ($event->isCancelled()) { return ServerAuth::CANCELLED; } if ($this->getDataProvider()) { //Check MySQL connection if ($this->getDatabase() && $this->getDatabase()->ping()) { $stmt = $this->getDatabase()->prepare("DELETE FROM " . $this->getDatabaseConfig()["table_prefix"] . "serverauthdata WHERE user=?"); $stmt_player = strtolower($pname); $stmt->bind_param("s", $stmt_player); if ($stmt->execute()) { $stmt->close(); //Unset User from cache if (isset($this->cached_registered_users[strtolower($pname)])) { unset($this->cached_registered_users[strtolower($pname)]); } //Deauthenticate player if ($player instanceof Player) { ServerAuth::getAPI()->deauthenticatePlayer($player); } //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); return ServerAuth::SUCCESS; } else { $stmt->close(); return ServerAuth::ERR_GENERIC; } } else { return ServerAuth::ERR_GENERIC; } } else { @unlink($this->getDataFolder() . "users/" . strtolower($pname . ".yml")); //Unset User from cache if (isset($this->cached_registered_users[strtolower($pname)])) { unset($this->cached_registered_users[strtolower($pname)]); } //Deauthenticate player if ($player instanceof Player) { ServerAuth::getAPI()->deauthenticatePlayer($player); } //Restore default messages ServerAuth::getAPI()->enableLoginMessages(true); ServerAuth::getAPI()->enableRegisterMessages(true); return ServerAuth::SUCCESS; } } else { return ServerAuth::ERR_USER_NOT_REGISTERED; } }