Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.pi.bungeeinfo.freunde;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import com.google.gson.Gson;
- import de.pi.bungeeinfo.perms.RechteVerteiler;
- import net.md_5.bungee.api.connection.ProxiedPlayer;
- public class FreundeDatenbank {
- private static String host = "**********";
- private static String port = "3306";
- private static String user = "playinfinity";
- private static String password = "**********";
- private static String database = "db";
- static Connection conn = null;
- public static Statement getStat() {
- try {
- if (conn == null || conn.isClosed()) {
- Class.forName("com.mysql.jdbc.Driver");
- conn = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, user,
- password);
- }
- return conn.createStatement();
- } catch (Exception e) {
- System.out.println("KEINE VERBINDUNG");
- }
- return null;
- }
- static Gson g = new Gson();
- public static boolean hasFreundAsync(String s1, String s2) {
- ArrayList<String> all = getFreundeCanBeNullAsync(s1);
- if(all == null) return false;
- for(String s : all) {
- if(s.equalsIgnoreCase(s2)) {
- return true;
- }
- }
- //if(all.contains(s2)) return true;
- return false;
- }
- public static boolean canHasMoreFreunde(ProxiedPlayer p) {
- if(p.hasPermission("system.admin")) return true;
- ArrayList<String> all = getFreundeCanBeNullAsync(p.getName());
- if(all == null) return true;
- if(all.size() <= 500 && p.hasPermission("system.premium")) return true;
- if(all.size() <= 15) return true;
- return false;
- }
- public static boolean canHasMoreFreunde(String n) {
- ArrayList<String> all = getFreundeCanBeNullAsync(n);
- if(all == null) return true;
- if(all.size() <= 15) return true;
- int r = RechteVerteiler.getRechteAusDBRang(RechteVerteiler.getRang(n));
- if(r >= 4) return true;
- if(all.size() <= 500 && r >= 1) return true;
- return false;
- }
- public static void addFreundAsync(String user, String news) {
- ArrayList<String> all = getFreundeCanBeNullAsync(user);
- if(all == null) all = new ArrayList<String>();
- if(all.contains(news) == false) {
- all.add(news);
- setFreundeAsyncNow(user, all);
- }
- }
- public static void removeFreundBitteZweiAsync(String user, String removes) {
- ArrayList<String> all = getFreundeCanBeNullAsync(user);
- if(all == null) return;
- all.remove(removes);
- setFreundeAsyncNow(user, all);
- }
- public static void checkForInsertAsync(String user) {
- try {
- ResultSet r = getStat().executeQuery("SELECT * FROM Freunde WHERE username LIKE '" + user + "' LIMIT 1");
- if(!r.next()) {
- insertAsync(user);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- private static void insertAsync(String user) {
- try {
- getStat().execute("INSERT INTO `Freunde` (`id`, `username`, `freunde`) VALUES (NULL, '" + user + "', 'none');");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void setFreundeAsyncNow(String user, ArrayList<String> freunde) {
- StatusManager.namefreundelistp.put(user, freunde);
- String all = g.toJson(freunde);
- try {
- getStat().execute("UPDATE `Freunde` SET `freunde` = '" + all + "' WHERE `Freunde`.`username` LIKE '" + user + "';");
- } catch (SQLException e) {
- e.printStackTrace();
- }
- //upload :)
- }
- public static ArrayList<String> getFreundeCanBeNullAsync(String user) {
- try {
- ResultSet r = getStat().executeQuery("SELECT * FROM Freunde WHERE username LIKE '" + user + "' LIMIT 1");
- if(r.next()) {
- String all = r.getString("freunde");
- if(all == null) return null;
- if(all.equalsIgnoreCase("none")) return null;
- ArrayList<String> listt = g.fromJson(all, ArrayList.class);
- ArrayList<String> list = new ArrayList<>();
- for(String i : listt) {
- if(list.contains(i) == false) list.add(i);
- }
- StatusManager.namefreundelistp.put(user, list);
- return list;
- } else {
- return null;
- }
- } catch (Exception e) {
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement