Merge pull request #339 from skull132/development

Skull's Things, 05JAN2014 PROPER
This commit is contained in:
skull132
2015-01-05 23:49:29 +02:00
11 changed files with 253 additions and 20 deletions
+64
View File
@@ -243,3 +243,67 @@ var/savefile/Banlist
for (var/A in Banlist.dir)
RemoveBan(A)
////////////////////////////
//TRANSFER TO SQL DATABASE//
////////////////////////////
//Used to transfer the old .dbd file contents over to the SQL database. Kept on hand just for the sake of being kept on hand, frankly.
/*
/datum/admins/proc/bantosql()
establish_db_connection()
if(!dbcon.IsConnected())
usr << "\red Failed to establish database connection"
return
else
message_admins("Houston, we have a database!")
var/count = 0
// var/dat
//junk vars to keep track of simple shit, like serverip
var/serverip = ""
var/bantype_str
var/rounds = 0
var/duration = -1
var/job = ""
var/banckey = null
message_admins("Fetching data now.")
//var/dat = "<HR><B>Unban Player:</B> \blue(U) = Unban , (E) = Edit Ban\green (Total<HR><table border=1 rules=all frame=void cellspacing=0 cellpadding=3 >"
Banlist.cd = "/base"
for (var/A in Banlist.dir)
count++
Banlist.cd = "/base/[A]"
var/ref = "\ref[src]"
var/key = Banlist["key"]
var/id = Banlist["id"]
var/ip = Banlist["ip"]
var/reason = Banlist["reason"]
banckey = Banlist["bannedby"]
var/minutes = Banlist["minutes"]
var/expiry
if(Banlist["temp"])
bantype_str = "TEMPBAN"
duration = Banlist["minutes"]
expiry = GetExp(Banlist["minutes"])
if(!expiry)
expiry = "Removal Pending"
else
expiry = "Permaban"
bantype_str = "PERMABAN"
duration = -1
message_admins("Query data: [serverip], [bantype_str], [duration], [key], [id], [ip], [reason], [banckey]")
message_admins("Executing query")
var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO `erro_ban` (`id`,`bantime`,`serverip`,`bantype`,`reason`,`job`,`duration`,`rounds`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`,`edits`,`unbanned`,`unbanned_datetime`,`unbanned_ckey`,`unbanned_computerid`,`unbanned_ip`) VALUES (null, Now(), '[serverip]', '[bantype_str]', '[reason]', '[job]', '[minutes]', '[rounds]', Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, '[key]', '[id]', '[ip]', '[banckey]', '', '', '', '', null, null, null, null, null, null);")
insert_query.Execute()
var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Attempted to transfer the ban of [key].');")
log_query.Execute()
message_admins("Salvo complete, stand by.")
message_admins("Rounds complete, RTB.")
*/
@@ -76,16 +76,40 @@
var/new_admin = 1
var/admin_id
var/flags
switch(new_rank)
if("Head Developer")
flags = 32767
if("Head Admin")
flags = 32767
if("Primary Admin")
flags = 8191
if("Secondary Admin")
flags = 7983
if("Moderator")
flags = 8196
if("Trial Moderator")
flags = 8192
if("Event Host - Moderator")
flags = 15885
if("Event Host")
flags = 5672
if("Retired Admin")
flags = 8194
else
flags = 0
while(select_query.NextRow())
new_admin = 0
admin_id = text2num(select_query.item[1])
if(new_admin)
var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO `erro_admin` (`id`, `ckey`, `rank`, `level`, `flags`) VALUES (null, '[adm_ckey]', '[new_rank]', -1, 0)")
var/DBQuery/insert_query = dbcon.NewQuery("INSERT INTO `erro_admin` (`id`, `ckey`, `rank`, `level`, `flags`) VALUES (null, '[adm_ckey]', '[new_rank]', -1, '[flags]')")
insert_query.Execute()
var/DBQuery/log_query = dbcon.NewQuery("INSERT INTO `erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');")
log_query.Execute()
usr << "\blue New admin added."
usr << "\blue New admin added. Don't forget to manually reload the admins for the permissions to load!"
else
if(!isnull(admin_id) && isnum(admin_id))
var/DBQuery/insert_query = dbcon.NewQuery("UPDATE `erro_admin` SET rank = '[new_rank]' WHERE id = [admin_id]")
+1 -1
View File
@@ -151,7 +151,7 @@
if(admin_ranks.len)
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in (admin_ranks|"*New Rank*")
else
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in list("Game Master","Game Admin", "Trial Admin", "Admin Observer","*New Rank*")
new_rank = input("Please select a rank", "New rank", null, null) as null|anything in list("Head Developer","Head Admin", "Primary Admin", "Secondary Admin", "Moderator", "Trial Moderator", "Event Host - Moderator", "Event Host", "Retired Admin", "*New Rank*")
var/rights = 0
if(D)