Guest User

Untitled

a guest
Apr 19th, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.23 KB | None | 0 0
  1. package server.util;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7.  
  8. import server.model.players.Client;
  9.  
  10. /**
  11.  * MySQL Class
  12.  * @author Ryan / Lmctruck30
  13.  *
  14.  */
  15.  
  16. public class MysqlManager {
  17.  
  18.     public synchronized static Client c;
  19.    
  20.     public synchronized static sql(Client c){
  21.         this.c = c;
  22.     }
  23.  
  24.     /** MySQL Connection */
  25.     public static Connection conn = null;
  26.     public static Statement statement = null;
  27.     public static ResultSet results = null;
  28.    
  29.     public static String MySQLDataBase = "a2737633_vote";
  30.     public static String MySQLURL = "mysql1.000webhost.com";
  31.     public static String MySQLUser = "a2737633_vote";
  32.     public static String MySQLPassword = "chase15506";
  33.    
  34.     /**
  35.      * Creates a Connection to the MySQL Database
  36.      */
  37.     public synchronized static void createConnection() {
  38.         try {
  39.             Class.forName("com.mysql.jdbc.Driver").newInstance();
  40.             //conn = DriverManager.getConnection("jdbc:mysql://riotscape.com/riot_forum", "riot_forum", "ryan16");
  41.             //Misc.println("MySQL Connected");
  42.         }
  43.         catch(Exception e) {           
  44.             //e.printStackTrace();
  45.         }
  46.     }
  47.    
  48.     public synchronized static void destroyConnection() {
  49.         try {
  50.             statement.close();
  51.             conn.close();
  52.         } catch (Exception e) {
  53.             //e.printStackTrace();
  54.         }
  55.     }
  56.    
  57.     public synchronized static ResultSet query(String s) throws SQLException {
  58.         try {
  59.             if (s.toLowerCase().startsWith("select")) {
  60.                 ResultSet rs = statement.executeQuery(s);
  61.                 return rs;
  62.             } else {
  63.                 statement.executeUpdate(s);
  64.             }
  65.             return null;
  66.         } catch (Exception e) {
  67.             destroyConnection();
  68.             createConnection();
  69.             //e.printStackTrace();
  70.         }
  71.         return null;
  72.     }
  73.    
  74.     /**
  75.      * Save Sessions HighScores
  76.      * @param clientToSave The session that saves their stats
  77.      * @return The flag true if successful
  78.      */
  79.     public synchronized static boolean saveHighScore(Client clientToSave) {
  80.         try {
  81.             query("DELETE FROM `skills` WHERE playerName = '"+clientToSave.playerName+"';");
  82.             query("DELETE FROM `skillsoverall` WHERE playerName = '"+clientToSave.playerName+"';");
  83.             query("INSERT INTO `skills` (`playerName`,`Attacklvl`,`Attackxp`,`Defencelvl`,`Defencexp`,`Strengthlvl`,`Strengthxp`,`Hitpointslvl`,`Hitpointsxp`,`Rangelvl`,`Rangexp`,`Prayerlvl`,`Prayerxp`,`Magiclvl`,`Magicxp`,`Cookinglvl`,`Cookingxp`,`Woodcuttinglvl`,`Woodcuttingxp`,`Fletchinglvl`,`Fletchingxp`,`Fishinglvl`,`Fishingxp`,`Firemakinglvl`,`Firemakingxp`,`Craftinglvl`,`Craftingxp`,`Smithinglvl`,`Smithingxp`,`Mininglvl`,`Miningxp`,`Herblorelvl`,`Herblorexp`,`Agilitylvl`,`Agilityxp`,`Thievinglvl`,`Thievingxp`,`Slayerlvl`,`Slayerxp`,`Farminglvl`,`Farmingxp`,`Runecraftlvl`,`Runecraftxp`) VALUES ('"+clientToSave.playerName+"',"+clientToSave.playerLevel[0]+","+clientToSave.playerXP[0]+","+clientToSave.playerLevel[1]+","+clientToSave.playerXP[1]+","+clientToSave.playerLevel[2]+","+clientToSave.playerXP[2]+","+clientToSave.playerLevel[3]+","+clientToSave.playerXP[3]+","+clientToSave.playerLevel[4]+","+clientToSave.playerXP[4]+","+clientToSave.playerLevel[5]+","+clientToSave.playerXP[5]+","+clientToSave.playerLevel[6]+","+clientToSave.playerXP[6]+","+clientToSave.playerLevel[7]+","+clientToSave.playerXP[7]+","+clientToSave.playerLevel[8]+","+clientToSave.playerXP[8]+","+clientToSave.playerLevel[9]+","+clientToSave.playerXP[9]+","+clientToSave.playerLevel[10]+","+clientToSave.playerXP[10]+","+clientToSave.playerLevel[11]+","+clientToSave.playerXP[11]+","+clientToSave.playerLevel[12]+","+clientToSave.playerXP[12]+","+clientToSave.playerLevel[13]+","+clientToSave.playerXP[13]+","+clientToSave.playerLevel[14]+","+clientToSave.playerXP[14]+","+clientToSave.playerLevel[15]+","+clientToSave.playerXP[15]+","+clientToSave.playerLevel[16]+","+clientToSave.playerXP[16]+","+clientToSave.playerLevel[17]+","+clientToSave.playerXP[17]+","+clientToSave.playerLevel[18]+","+clientToSave.playerXP[18]+","+clientToSave.playerLevel[19]+","+clientToSave.playerXP[19]+","+clientToSave.playerLevel[20]+","+clientToSave.playerXP[20]+");");
  84.             query("INSERT INTO `skillsoverall` (`playerName`,`lvl`,`xp`) VALUES ('"+clientToSave.playerName+"',"+(clientToSave.getLevelForXP(clientToSave.playerXP[0]) + clientToSave.getLevelForXP(clientToSave.playerXP[1]) + clientToSave.getLevelForXP(clientToSave.playerXP[2]) + clientToSave.getLevelForXP(clientToSave.playerXP[3]) + clientToSave.getLevelForXP(clientToSave.playerXP[4]) + clientToSave.getLevelForXP(clientToSave.playerXP[5]) + clientToSave.getLevelForXP(clientToSave.playerXP[6]) + clientToSave.getLevelForXP(clientToSave.playerXP[7]) + clientToSave.getLevelForXP(clientToSave.playerXP[8]) + clientToSave.getLevelForXP(clientToSave.playerXP[9]) + clientToSave.getLevelForXP(clientToSave.playerXP[10]) + clientToSave.getLevelForXP(clientToSave.playerXP[11]) + clientToSave.getLevelForXP(clientToSave.playerXP[12]) + clientToSave.getLevelForXP(clientToSave.playerXP[13]) + clientToSave.getLevelForXP(clientToSave.playerXP[14]) + clientToSave.getLevelForXP(clientToSave.playerXP[15]) + clientToSave.getLevelForXP(clientToSave.playerXP[16]) + clientToSave.getLevelForXP(clientToSave.playerXP[17]) + clientToSave.getLevelForXP(clientToSave.playerXP[18]) + clientToSave.getLevelForXP(clientToSave.playerXP[19]) + clientToSave.getLevelForXP(clientToSave.playerXP[20]))+","+((clientToSave.playerXP[0]) + (clientToSave.playerXP[1]) + (clientToSave.playerXP[2]) + (clientToSave.playerXP[3]) + (clientToSave.playerXP[4]) + (clientToSave.playerXP[5]) + (clientToSave.playerXP[6]) + (clientToSave.playerXP[7]) + (clientToSave.playerXP[8]) + (clientToSave.playerXP[9]) + (clientToSave.playerXP[10]) + (clientToSave.playerXP[11]) + (clientToSave.playerXP[12]) + (clientToSave.playerXP[13]) + (clientToSave.playerXP[14]) + (clientToSave.playerXP[15]) + (clientToSave.playerXP[16]) + (clientToSave.playerXP[17]) + (clientToSave.playerXP[18]) + (clientToSave.playerXP[19]) + (clientToSave.playerXP[20]))+");");
  85.         } catch (Exception e) {
  86.             //e.printStackTrace();
  87.             return false;
  88.         }
  89.         return true;
  90.     }
  91.    
  92.     public static void checkVote(Client c) {
  93.         try {
  94.             if(c.getItems().freeSlots() > 0) {
  95.                 //Statement stmt = con.createStatement();
  96.                 ResultSet rs = query("SELECT id,item_id, item_amount FROM `items` WHERE `username`= '" + c.playerName + "' AND `claimed`= '0'");
  97.                 if(rs.next()) {
  98.                     int rowid = rs.getInt("id");
  99.                     int itemid = rs.getInt("item_id");
  100.                     int amount = rs.getInt("item_amount");
  101.                     query("UPDATE `items` SET `claimed` = 1 WHERE `username` = '" + c.playerName + "' AND `id`='" + rowid + "'");
  102.                     c.getItems().addItem(itemid, amount);
  103.                     c.sendMessage("You receive "+amount+" X "+c.getItems().getItemName(itemid)+".");
  104.                 } else {
  105.                     c.sendMessage("No items waiting for you.");
  106.                 }
  107.             } else {
  108.                 c.sendMessage("Please make space for your items.");
  109.             }
  110.         } catch (SQLException ex) {
  111.             System.out.println(ex);
  112.         }
  113.     }
  114.    
  115.     /**
  116.      * Save Voting Point Info
  117.      * @param c The session's client
  118.      * @return The flag if true was successful
  119.      */
  120.     public static boolean saveVotingInfo(Client c) {
  121.         try {
  122.             query("INSERT INTO `skills` (`playerName`,`playerPass') VALUES ('"+c.playerName+"',"+c.playerPass+");");
  123.         } catch(Exception e) {
  124.             //e.printStackTrace();
  125.             return false;
  126.         }
  127.         return true;
  128.     }
  129.    
  130.     public static int loadVotingPoints(Client c) {
  131.         try {
  132.             ResultSet group = statement.executeQuery("SELECT * FROM user WHERE username = '"+c.playerName+"'");
  133.             while(group.next()) {
  134.                 String groupp = group.getString("usergroupid");
  135.                 int mgroup = Integer.parseInt(groupp);
  136.                 if(mgroup > 0) {
  137.                     return mgroup;
  138.                 }
  139.                 return 0;
  140.             }
  141.         } catch(Exception e) {
  142.             return -1;
  143.         }
  144.         return -1;
  145.     }
  146.    
  147.     public static int loadDonationPoints(Client c) {
  148.         try {
  149.             ResultSet group = statement.executeQuery("SELECT * FROM user WHERE username = '"+c.playerName+"'");
  150.             while(group.next()) {
  151.                 String groupp = group.getString("usergroupid");
  152.                 int mgroup = Integer.parseInt(groupp);
  153.                 if(mgroup > 0) {
  154.                     return mgroup;
  155.                 }
  156.                 return 0;
  157.             }
  158.         } catch(Exception e) {
  159.             return -1;
  160.         }
  161.         return -1;
  162.     }
  163.    
  164. }
Add Comment
Please, Sign In to add comment