Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.bmx.register;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import java.util.logging.Logger;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- public class CommandManager
- implements CommandExecutor
- {
- private final Register plugin;
- public CommandManager(Register plugin)
- {
- this.plugin = plugin;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String cmdLayout, String[] args)
- {
- if ((sender instanceof Player)) {
- if (sender.hasPermission("metroville.register")) {
- if (args.length == 3) {
- if (args[0].matches("^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")) {
- if ((args[1].length() >= 2) && (args[1].length() <= 16) && (args[1].equals(args[2]))) {
- HttpURLConnection conn = null;
- BufferedReader reader = null;
- try {
- String parameters = "?user=" + sender.getName() + "&email=" + args[0] + "&password=" + args[1];
- conn = (HttpURLConnection)new URL(this.plugin.getURL() + parameters).openConnection();
- reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- String result = reader.readLine();
- if (result.equals("success"))
- sender.sendMessage("You have been registered successfully!");
- else if (result.contains("fail: "))
- sender.sendMessage("Failed to register: " + result.replaceFirst("fail: ", ""));
- else sender.sendMessage("An unknown error has happened. Error: " + result);
- }
- catch (IOException e) {
- this.plugin.log.info("Failed to open connection to the given URL: " + this.plugin.getURL());
- sender.sendMessage("The registration has failed. Please try again later.");
- } finally {
- try {
- reader.close();
- } catch (IOException e) {
- this.plugin.log.info("Failed to close a URL reader: " + e);
- }
- }
- } else {
- sender.sendMessage(ChatColor.RED + "Your password(s) has to be 2 or more and 16 or less characters. Passwords must match.");
- }
- } else sender.sendMessage("The first parameter doesn't seem to be a valid e-mail address.");
- }
- else return false;
- }
- else sender.sendMessage(ChatColor.RED + "You don't have permission to do this.");
- }
- else sender.sendMessage(ChatColor.RED + "This command can be used only by players.");
- return true;
- }
- }
Add Comment
Please, Sign In to add comment