diff options
author | Dico200 <dico.karssiens@gmail.com> | 2015-03-23 20:08:38 +0100 |
---|---|---|
committer | Dico200 <dico.karssiens@gmail.com> | 2015-03-23 20:08:38 +0100 |
commit | f6de0a6c78268207a47839da9d19e5a8779f9823 (patch) | |
tree | 44984d0bb0cda21dfe1df7fe6eb90f5ccf491c4e /synchronizeranks.py | |
parent | 8a95dc65f60193e0be8a9bffb99fa8fc7c6e5688 (diff) |
Added synchronizeranks. Untested!
Diffstat (limited to 'synchronizeranks.py')
-rw-r--r-- | synchronizeranks.py | 61 |
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 + + + |