Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eu.kingdomsmc.networksync.forum;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.Reader;
- import java.net.HttpURLConnection;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.nio.charset.Charset;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.json.JSONException;
- import org.json.simpleForBukkit.JSONObject;
- import eu.kingdomsmc.networksync.NetworkSyncPLUGIN;
- import net.md_5.bungee.api.CommandSender;
- import net.md_5.bungee.api.connection.ProxiedPlayer;
- import net.md_5.bungee.api.plugin.Command;
- public class ForumSync extends Command {
- private static String site, apiHash, usernameField, uuidField;
- private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
- private static final String USER_AGENT = "Mozilla/5.0";
- public static String prefix = "§7§l[§3§lSync§7§l] ";
- public ForumSync() {
- super("forum");
- site = "NEIN";
- apiHash = "NEIN";
- usernameField = "custom_field_names.minecraft_username";
- uuidField = "custom_field_names.minecraft_uuide";
- }
- @SuppressWarnings("deprecation")
- @Override
- public void execute(CommandSender sender, String[] args) {
- ProxiedPlayer player = (ProxiedPlayer) sender;
- String uuid = player.getUniqueId().toString();
- if (args.length == 0) {
- player.sendMessage(prefix + "§7/forum register <eMail> <Passwort> §8| §7Erstelle die einen Forum Account.");
- player.sendMessage(prefix + "§7/forum changePasswort <neuesPasswort> §8| §7Ändere dein Forum passwort.");
- player.sendMessage(prefix + "§7/forum info §8| §7Zeige dein Aktuelles passwort an.");
- } else if (args.length == 1) {
- if (args[0].equalsIgnoreCase("info")) {
- player.sendMessage(prefix + "Deine Email: §c" + getInfos(player.getUniqueId().toString(), "Email"));
- player.sendMessage(
- prefix + "Deine Passwort: §c" + getInfos(player.getUniqueId().toString(), "Passwort"));
- }
- } else if (args.length == 2) {
- if (args[0].equalsIgnoreCase("changePasswort")) {
- String newPassword = args[1];
- String link = "api.php?action=editUser&hash=" + apiHash + "&user=" + player.getName() + "&password="
- + newPassword;
- NetworkSyncPLUGIN.getSql().getMySQL().queryUpdate("UPDATE forumRegistery SET Passwort='" + newPassword
- + "' WHERE UUID='" + player.getUniqueId().toString() + "'");
- try {
- URL url = new URL(site + link);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setDoOutput(true);
- conn.connect();
- BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- StringBuilder results = new StringBuilder();
- player.sendMessage(prefix + "§aDas Passwort deines Accounds wurde erfolgreich geändert!");
- conn.disconnect();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- player.sendMessage("Es ist ein fehler unterlaufen. Bitte an einen Administrator wenden. #1742");
- } catch (IOException e) {
- e.printStackTrace();
- player.sendMessage(
- prefix + "Es ist ein fehler unterlaufen. Bitte an einen Administrator wenden. #1741");
- }
- }
- } else if (args.length == 3) {
- if (args[0].equalsIgnoreCase("register")) {
- String eMail = args[1];
- String passwort = args[2];
- if (!isRegistery(uuid)) {
- player.sendMessage(registerUse(player.getName(), player.getUniqueId().toString(), eMail, passwort));
- } else {
- player.sendMessage(prefix + "§cDu hast dich schon registriert.");
- player.sendMessage(prefix + "§7Benutze §c/forum info §7um deine Daten einzusehen!");
- }
- }
- } else {
- player.sendMessage(prefix + "§7/forum register <eMail> <Passwort> §8| §7Erstelle die einen Forum Account.");
- player.sendMessage(prefix + "§7/forum changePasswort <neuesPasswort> §8| §7Ändere dein Forum passwort.");
- player.sendMessage(prefix + "§7/forum info §8| §7Zeige dein Aktuelles passwort an.");
- }
- }
- private static String readAll(Reader rd) throws IOException {
- StringBuilder sb = new StringBuilder();
- int cp;
- while ((cp = rd.read()) != -1) {
- sb.append((char) cp);
- }
- return sb.toString();
- }
- public static JSONObject readJsonFromUrl(String url) throws IOException, JSONException {
- InputStream is = new URL(url).openStream();
- try {
- BufferedReader rd = new BufferedReader(new InputStreamReader(is, Charset.forName("UTF-8")));
- String jsonText = readAll(rd);
- JSONObject json = new JSONObject(jsonText);
- return json;
- } finally {
- is.close();
- }
- }
- public static String getUser() {
- String link = "api.php?action=getConversations&value=MisterHase&hash=" + apiHash;
- try {
- JSONObject jason = readJsonFromUrl(link);
- if(jason.get("title").equals("Chat mit MisterHase")){
- return String.valueOf(jason.get("conversation_id"));
- }
- } catch (IOException e) {
- e.printStackTrace();
- } catch (JSONException e) {
- e.printStackTrace();
- }
- return "KEINE";
- }
- private static String registerUse(String playerName, String UUID, String eMail, String password) {
- if (eMail.contains("=") || eMail.contains("&")) {
- return prefix + "Die Angegebende Email ist ungültig!";
- }
- if (!eMail.matches(EMAIL_PATTERN)) {
- return prefix + "Die Angegebende Email ist ungültig!";
- }
- try {
- String link = "api.php?action=register&hash=" + apiHash + "&username=" + playerName.replace('&', '.')
- + "&password=" + password + "&email=" + eMail.replace('&', '.').replace('=', '.')
- + "&custom_fields=" + usernameField + "=" + usernameField + "," + uuidField + "=" + uuidField
- + "&user_state=email_confirm";
- URL url = new URL(site + link);
- HttpURLConnection conn = (HttpURLConnection) url.openConnection();
- conn.setDoOutput(true);
- conn.connect();
- BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
- StringBuilder results = new StringBuilder();
- System.out.println("ForumRegistery.registerUse()");
- String inputLine;
- while ((inputLine = reader.readLine()) != null) {
- System.out.println("ForumRegistery.registerUse() +1");
- if (inputLine
- .contains("{\"error\":7,\"message\":\"Something went wrong when \\\"registering user\\\": \\\""
- + "User already exists\\\"\",\"user_error_id\":40,\"user_error_field\":\"username\",\""
- + "user_error_key\":\"usernames_must_be_unique\",\"user_error_phrase\":\"Usernames must be unique."
- + " The specified username is already in use.\"}"))
- return prefix + "Es ist ein fehler unterlaufen. Bitte an einen Administrator wenden. #1744";
- if (inputLine
- .contains("{\"error\":7,\"message\":\"Something went wrong when \\\"registering user\\\": \\\""
- + "Email already used\\\"\",\"user_error_id\":42,\"user_error_field\":\"email\",\"user_error_key\":\""
- + "email_addresses_must_be_unique\",\"user_error_phrase\":\"Email addresses must be unique. "
- + "The specified email address is already in use.\"}"))
- return prefix + "Es ist ein fehler unterlaufen. Bitte an einen Administrator wenden. #1743";
- }
- conn.disconnect();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- return prefix + "Es ist ein fehler unterlaufen. Bitte an einen Administrator wenden. #1742";
- } catch (IOException e) {
- e.printStackTrace();
- return prefix + "Es ist ein fehler unterlaufen. Bitte an einen Administrator wenden. #1741";
- }
- NetworkSyncPLUGIN.getSql().getMySQL()
- .queryUpdate("INSERT INTO forumRegistery (UUID, Name, Email, Passwort) VALUES ('" + UUID + "','"
- + playerName + "','" + eMail + "','" + password + "');");
- NetworkSyncPLUGIN.getSql().getMySQL()
- .queryUpdate("INSERT INTO forumInfos (UUID, username, gender, groupName) VALUES ('" + UUID + "','"
- + playerName + "','" + "undefinded" + "','" + "Registered" + "');");
- return prefix + "§aDein Account wurde erfolgreich Erstellt. Überprüfe deine Emails!";
- }
- public static String getInfos(String UUID, String info) {
- ResultSet result = NetworkSyncPLUGIN.getSql().getMySQL()
- .query("SELECT * FROM forumRegistery WHERE UUID='" + UUID + "'");
- try {
- if (result.next()) {
- return result.getString(info);
- } else {
- return "Kein Forum Account.";
- }
- } catch (Exception e) {
- // TODO: handle exception
- }
- return "Error";
- }
- private boolean isRegistery(String uuid) {
- ResultSet result = NetworkSyncPLUGIN.getSql().getMySQL()
- .query("SELECT * FROM forumRegistery WHERE UUID='" + uuid + "'");
- try {
- return result.next();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement