Guest User

Untitled

a guest
Dec 8th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.57 KB | None | 0 0
  1.  
  2.  
  3. //sql stuff
  4. import java.sql.Connection;
  5. import java.sql.DriverManager;
  6. import java.sql.ResultSet;
  7. import java.sql.SQLException;
  8. import java.sql.Statement;
  9.  
  10. import org.jibble.pircbot.Colors;
  11.  
  12. public class sqlManager {
  13.  
  14. private Connection conn = null;
  15.  
  16. public sqlManager() {
  17. }
  18.  
  19. public boolean connectSQL() {
  20. try {
  21. Class.forName("com.mysql.jdbc.Driver").newInstance();
  22. //conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/haxbot", "root", "Wearemysqlmen110");
  23. conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/haxBot", "root", "");
  24. } catch (Exception e) {
  25. conn = null;
  26. e.printStackTrace();
  27.  
  28. }
  29. return false;
  30. }
  31.  
  32. /* commands table functions */
  33. public ResultSet getCommand(String cmd, String channel) {
  34. ResultSet r = null;
  35.  
  36. this.connectSQL();
  37.  
  38. try {
  39. Statement st = conn.createStatement();
  40. ResultSet res = st.executeQuery("SELECT id, command, meaning, owner, private, time, channel FROM commands WHERE command ='"+ cmd +"' AND channel = '"+ channel +"'");
  41. r = res;
  42. } catch(SQLException e)
  43. {
  44. e.printStackTrace();
  45. }
  46.  
  47. return r;
  48. }
  49.  
  50. public String setCommand(String cmd, String channel, String meaning, String owner, int priv, String withPre)
  51. {
  52. this.connectSQL();
  53.  
  54. String msg = "Adding the command failed.";
  55. try {
  56. // check if this command already exists for that channel
  57. ResultSet oldCmd = this.getCommand(cmd, channel);
  58. if(oldCmd.first())
  59. {
  60. if(oldCmd.getString("command").equalsIgnoreCase(cmd) && oldCmd.getString("channel").equalsIgnoreCase(channel))
  61. {
  62. msg = "Failed to add this command. Already added by user "+ Colors.BOLD + oldCmd.getString("owner");
  63. return msg;
  64. }
  65. }
  66. Statement st = conn.createStatement();
  67. st.executeUpdate("INSERT INTO commands (command, meaning, owner, private, time, channel) VALUES ('"+ cmd +"', '"+ meaning +"', '"+ owner +"', '"+ priv +"','"+ (System.currentTimeMillis() / 1000L) +"', '"+ channel +"')");
  68. msg = "Successfully added "+ Colors.BOLD + withPre + Colors.NORMAL + " to database with meaning of "+ Colors.BOLD + meaning;
  69.  
  70.  
  71. } catch(SQLException e)
  72. {
  73. e.printStackTrace();
  74. }
  75.  
  76. try {
  77. conn.close();
  78. } catch (SQLException e) {
  79. // TODO Auto-generated catch block
  80. e.printStackTrace();
  81. }
  82. return msg;
  83. }
  84.  
  85. public String removeCommand(String cmd, String channel, String owner, String withPre)
  86. {
  87. String msg = "Deletion of the command failed";
  88. this.connectSQL();
  89. try {
  90. String ownerOfCmd = "";
  91.  
  92. // get the owner of the command
  93. ResultSet oldCmd = this.getCommand(cmd, channel);
  94. if(oldCmd.first())
  95. {
  96. ownerOfCmd = oldCmd.getString("owner");
  97. }
  98.  
  99. if(ownerOfCmd.equals(owner) || this.getPermission(owner) >= 7)
  100. {
  101. Statement st = conn.createStatement();
  102. st.executeUpdate("DELETE FROM commands WHERE command = '"+ cmd +"' AND channel = '"+ channel +"' AND owner = '"+ owner +"'");
  103. msg = "Successfully deleted "+ Colors.BOLD + withPre + Colors.NORMAL +" from database";
  104. } else {
  105. msg = "You can only delete your own commands";
  106. }
  107.  
  108. } catch(SQLException e)
  109. {
  110. e.printStackTrace();
  111. }
  112.  
  113. try {
  114. conn.close();
  115. } catch (SQLException e) {
  116. // TODO Auto-generated catch block
  117. e.printStackTrace();
  118. }
  119.  
  120. return msg;
  121. }
  122.  
  123. /* permission functions */
  124. public int getPermission(String user)
  125. {
  126. this.connectSQL();
  127. int level = 0;
  128. try {
  129. Statement st = conn.createStatement();
  130. ResultSet r = st.executeQuery("SELECT level FROM permissions WHERE user = '"+ user +"'");
  131.  
  132. if(r.first())
  133. {
  134. level = r.getInt("level");
  135. }
  136.  
  137. } catch(SQLException e)
  138. {
  139. e.printStackTrace();
  140. }
  141.  
  142. try {
  143. conn.close();
  144. } catch (SQLException e) {
  145. // TODO Auto-generated catch block
  146. e.printStackTrace();
  147. }
  148. return level;
  149. }
  150.  
  151. public String addPermission(String user, String adder, int level)
  152. {
  153. this.connectSQL();
  154. String msg = "Failed to add permission for user "+ Colors.BOLD + user;
  155. try {
  156. if(level <= 7 && level >= 1 || this.getPermission(adder) == 10 )
  157. {
  158. if(this.getPermission(user) > 0)
  159. {
  160. msg = "This user already has permission set. Please remove first.";
  161. return msg;
  162. }
  163. Statement st = conn.createStatement();
  164. st.executeUpdate("INSERT INTO permissions (user, level, adder, time) VALUES ('"+ user +"', '"+ level +"', '"+ adder +"', '"+ (System.currentTimeMillis() / 1000L) +"')");
  165. msg = "Successfully added permission level "+ Colors.BOLD + level + Colors.NORMAL +" for user "+ Colors.BOLD + user;
  166. } else {
  167. msg = "You can only add permissions up to level 7";
  168. }
  169. } catch(SQLException e)
  170. {
  171. e.printStackTrace();
  172. }
  173.  
  174. try {
  175. conn.close();
  176. } catch (SQLException e) {
  177. // TODO Auto-generated catch block
  178. e.printStackTrace();
  179. }
  180. return msg;
  181. }
  182.  
  183. public String delPermission(String user, String adder)
  184. {
  185. this.connectSQL();
  186. String msg = "Failed to remove permissions from user "+ Colors.BOLD + user;
  187. try {
  188. if(this.getPermission(user) <= 7 || this.getPermission(adder) == 10)
  189. {
  190. Statement st = conn.createStatement();
  191. st.executeUpdate("DELETE FROM permissions WHERE user = '"+ user +"'");
  192. msg = "Successfully removed user "+ Colors.BOLD + user + Colors.NORMAL +" permissions";
  193. } else {
  194. msg = "You can't delete user with so high permission level";
  195. }
  196.  
  197. } catch(SQLException e)
  198. {
  199. e.printStackTrace();
  200. }
  201.  
  202. try {
  203. conn.close();
  204. } catch (SQLException e) {
  205. // TODO Auto-generated catch block
  206. e.printStackTrace();
  207. }
  208. return msg;
  209. }
  210.  
  211. public void sqlTest() {
  212. this.connectSQL();
  213. try {
  214. Statement st = conn.createStatement();
  215. ResultSet r = st.executeQuery("SELECT * FROM test");
  216.  
  217. while(r.next())
  218. {
  219. System.out.println(r.getInt("id"));
  220. }
  221. } catch(Exception e)
  222. {
  223. e.printStackTrace();
  224. }
  225. try {
  226. conn.close();
  227. } catch (SQLException e) {
  228. // TODO Auto-generated catch block
  229. e.printStackTrace();
  230. }
  231. }
  232. }
Add Comment
Please, Sign In to add comment