summaryrefslogtreecommitdiff
path: root/synchronizeranks.py
diff options
context:
space:
mode:
authorDico200 <dico.karssiens@gmail.com>2015-03-23 20:08:38 +0100
committerDico200 <dico.karssiens@gmail.com>2015-03-23 20:08:38 +0100
commitf6de0a6c78268207a47839da9d19e5a8779f9823 (patch)
tree44984d0bb0cda21dfe1df7fe6eb90f5ccf491c4e /synchronizeranks.py
parent8a95dc65f60193e0be8a9bffb99fa8fc7c6e5688 (diff)
Added synchronizeranks. Untested!
Diffstat (limited to 'synchronizeranks.py')
-rw-r--r--synchronizeranks.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/synchronizeranks.py b/synchronizeranks.py
new file mode 100644
index 0000000..946b952
--- /dev/null
+++ b/synchronizeranks.py
@@ -0,0 +1,61 @@
+from helpers import *
+from secrets import *
+import mysqlhack
+from com.ziclix.python.sql import zxJDBC
+
+ranks = {
+ "member" : 3,
+ "builder" : 7,
+ "trusted" : 8,
+ "helper" : 9,
+ "trainingmod" : 10,
+ "mod" : 4,
+ "admin" : 5
+}
+
+
+@hook.event("player.PlayerJoinEvent", "normal")
+def on_player_join(event):
+ user = event.getPlayer()
+ uuid = uid(player)
+ role = get_role(uuid)
+ if role in [1, 2, 6]: #Disabled/Banned/Superadmin
+ return
+ if role != None:
+ for rank in ranks:
+ if user.hasPermission("group." + rank):
+ set_role(uuid, ranks[rank])
+ return
+ if not user.hasPlayedBefore():
+ return
+ if role == None:
+ msg(user, "&cYou haven't registed yet! Make sure to do so on redstoner.com")
+ elif not is_email_confirmed(uuid):
+ msg(user, "&cWe noticed that you haven't confirmed your website email! Don't forget to do so!")
+
+
+
+def get_role(uuid):
+ return execute_query("SELECT `role_id` FROM users WHERE `uuid` = ? LIMIT 1")[0][17]
+
+
+def set_role(uuid, role_id):
+ execute_query("UPDATE users SET `role_id` = %d WHERE `uuid` = ?" % role_id)
+
+
+def is_email_confirmed(uuid):
+ return execute_query("SELECT `confirmed` FROM users WHERE `uuid` = ? LIMIT 1")[0][15]
+
+
+def execute_query(query, uuid):
+ conn = zxJDBC.connect(mysql_database, mysql_user, mysql_pass, "com.mysql.jdbc.Driver")
+ curs = conn.cursor()
+ uuid = uid(player).replace("-", "")
+ curs.execute(query, (uuid,))
+ results = curs.fetchall()
+ curs.close()
+ conn.close()
+ return results
+
+
+