mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-29 23:56:22 +01:00
second, final commit. Lacking SQL schema, will be added later.
This commit is contained in:
@@ -316,6 +316,8 @@ datum/admins/proc/DB_ban_unban_by_id(var/id)
|
||||
output += "</form>"
|
||||
output += "Please note that all jobban bans or unbans are in-effect the following round."
|
||||
|
||||
message_admins("Adminckey: [adminckey], playerckey: [playerckey].")
|
||||
|
||||
if(adminckey || playerckey)
|
||||
|
||||
var/blcolor = "#ffeeee" //banned light
|
||||
|
||||
@@ -91,7 +91,8 @@ var/list/admin_verbs_admin = list(
|
||||
)
|
||||
var/list/admin_verbs_ban = list(
|
||||
/client/proc/unban_panel,
|
||||
/client/proc/jobbans
|
||||
/client/proc/jobbans,
|
||||
/client/proc/warning_panel
|
||||
)
|
||||
var/list/admin_verbs_sounds = list(
|
||||
/client/proc/play_local_sound,
|
||||
|
||||
@@ -2804,4 +2804,11 @@
|
||||
A.emagged = 0
|
||||
usr << "Holodeck safeties reset."
|
||||
message_admins("Holdeck reset.")
|
||||
return
|
||||
|
||||
else if(href_list["warnsearchckey"] || href_list["warnsearchadmin"])
|
||||
var/adminckey = href_list["warnsearchadmin"]
|
||||
var/playerckey = href_list["warnsearchckey"]
|
||||
|
||||
warning_panel(adminckey, playerckey)
|
||||
return
|
||||
@@ -65,9 +65,9 @@
|
||||
if(!check_rights(R_ADMIN|R_MOD)) return
|
||||
|
||||
if(!warned_ckey || !istext(warned_ckey)) return
|
||||
if(warned_ckey in admin_datums)
|
||||
usr << "<font color='red'>Error: warn(): You can't warn admins.</font>"
|
||||
return
|
||||
// if(warned_ckey in admin_datums)
|
||||
// usr << "<font color='red'>Error: warn(): You can't warn admins.</font>"
|
||||
// return
|
||||
|
||||
var/datum/preferences/D
|
||||
var/client/C = directory[warned_ckey]
|
||||
@@ -101,13 +101,14 @@
|
||||
severity = 1
|
||||
|
||||
var/sqlkey = sanitizeSQL(warned_ckey)
|
||||
var/computerid
|
||||
var/ip
|
||||
var/computerid = null
|
||||
var/ip = null
|
||||
if(C)
|
||||
computerid = C.computer_id
|
||||
ip = C.address
|
||||
var/a_ckey = key_name_admin(src)
|
||||
var/a_ckey = sanitizeSQL(ckey)
|
||||
|
||||
message_admins("Data to be entered: [severity], [reason], [notes], [sqlkey], [computerid], [ip], [a_ckey].")
|
||||
var/DBQuery/query_insert = dbcon.NewQuery("INSERT INTO aurora_warnings (id, time, severity, reason, notes, ckey, computerid, ip, a_ckey) VALUES (null, Now(), '[severity]', '[reason]', '[notes]', '[sqlkey]', '[computerid]', '[ip]', '[a_ckey]')")
|
||||
query_insert.Execute()
|
||||
notes_add(warned_ckey, "Warning added by [a_ckey], for: [reason]. || Notes regarding the warning: [notes].")
|
||||
@@ -119,21 +120,22 @@
|
||||
* A proc for a player to check their own warnings
|
||||
*/
|
||||
|
||||
/client/verb/check_warns
|
||||
/client/verb/check_warns()
|
||||
set name = "My warnings"
|
||||
set category = "OOC"
|
||||
set desc = "Display warnings issued to you."
|
||||
|
||||
var/lcolor = "#ffeeee" //light colour, severity = 1
|
||||
var/dcolor = "#ffdddd" //dark colour, severity = 2
|
||||
var/looksimilar = 0
|
||||
var/dat = ""
|
||||
var/dcolor = "#ffaaaa" //dark colour, severity = 2
|
||||
|
||||
establish_db_connection()
|
||||
if(!dbcon.IsConnected())
|
||||
// error("Connection to SQL database failed while attempting to fetch a player's warnings. Verb cancelled.")
|
||||
// dat += "<div align='center'><font color='#ffffff'><h3>Database connection error. Warnings were not fetched. Please contact an Administrator.</h3></font></div>"
|
||||
error("Connection to SQL database failed while attempting to fetch a player's warnings. Verb cancelled.")
|
||||
alert("Connection to the SQL database lost. Aborting. Please alert an Administrator or a member of staff.")
|
||||
return
|
||||
|
||||
var/dat = "<div align='center'><h3>Warnings received</h3></div><br>"
|
||||
|
||||
dat += "<table width='90%' bgcolor='#e3e3e3' cellpadding='5' cellspacing='0' align='center'>"
|
||||
dat += "<tr>"
|
||||
dat += "<th width='20%'>ADMIN</th>"
|
||||
@@ -148,62 +150,115 @@
|
||||
|
||||
while(search_query.NextRow())
|
||||
var/time = search_query.item[1]
|
||||
var/seveiry = search_query.item[2]
|
||||
var/severity = search_query.item[2]
|
||||
var/reason = search_query.item[3]
|
||||
var/a_ckey = search_query.item[4]
|
||||
|
||||
if(severity)
|
||||
dat += "<tr bgcolor='[dcolor]' align='center'>"
|
||||
else
|
||||
dat += "<tr bgcolor='[lcolor]' align='center'>"
|
||||
var/bgcolor = lcolor
|
||||
|
||||
if(severity == "1")
|
||||
bgcolor = dcolor
|
||||
|
||||
dat += "<tr bgcolor='[bgcolor]' align='center'>"
|
||||
dat += "<td>[a_ckey]</td>"
|
||||
dat += "<td>[time]</td>"
|
||||
dat += "<td>[reason]</td>"
|
||||
dat += "</tr>"
|
||||
|
||||
dat += "</table>"
|
||||
dat += "<br><br>"
|
||||
if(!looksimilar)
|
||||
dat += "<div align='center'><h3><a href='?src=\ref[src];warning_similar=[ckey]'>Search for warnings issued to similar clients</a></h3></div>"
|
||||
dat += "<tr>"
|
||||
dat += "<td colspan='5' bgcolor='white'> </td>"
|
||||
dat += "</tr>"
|
||||
|
||||
/client/proc/check_similar_warns(ip, cid)
|
||||
dat += "<div align='center'><h3>Warnings issued to players with similar credentials</h3></div>"
|
||||
dat += "<br>"
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=mywarnings;size=900x500")
|
||||
|
||||
/*
|
||||
* A proc for an admin/moderator to look up a member's warnings.
|
||||
*/
|
||||
|
||||
/client/proc/warning_panel()
|
||||
set category = "Admin"
|
||||
set name = "Warnings Panel"
|
||||
set desc = "Look-up warnings assigned to players."
|
||||
|
||||
if(!holder)
|
||||
return
|
||||
|
||||
holder.warning_panel()
|
||||
|
||||
/datum/admins/proc/warning_panel(var/adminckey = null, var/playerckey = null)
|
||||
if(!check_rights(R_ADMIN|R_MOD)) return
|
||||
|
||||
var/lcolor = "#ffeeee" //light colour, severity = 1
|
||||
var/dcolor = "#ffdddd" //dark colour, severity = 2
|
||||
|
||||
establish_db_connection()
|
||||
if(!dbcon.IsConnected())
|
||||
error("Connection to SQL database failed while attempting to fetch a player's warnings. Proc cancelled.")
|
||||
dat +="<div align='center'><font color='#ffffff'><h3>Database connection error. Warnings were not fetched. Please contact an Administrator.</h3></font></div>"
|
||||
error("Connection to SQL database failed while attempting to fetch a player's warnings. Verb cancelled.")
|
||||
alert("Connection to the SQL database lost. Aborting. Please alert an Administrator or a member of staff.")
|
||||
return
|
||||
|
||||
dat += "<table width='90%' bgcolor='#e3e3e3' cellpadding='5' cellspacing='0' align='center'>"
|
||||
dat += "<tr>"
|
||||
dat += "<th width='10%'>ADMIN</th>"
|
||||
dat += "<th width='10%'>CKEY ISSUED TO</th>"
|
||||
dat += "<th width='10%'>TIME ISSUED</th>"
|
||||
dat += "<th width='60%'>REASON</th>"
|
||||
dat += "</tr>"
|
||||
var/dat = "<div align='center'><h3>Warning Look-up Panel</h3></div><br>"
|
||||
|
||||
var/DBQuery/similar_query = dbcon.NewQuery("SELECT time, severity, reason, ckey, a_ckey FROM aurora_warnings WHERE computerid='[cid]' OR ip='[ip]' ORDER BY time DESC")
|
||||
similar_query.Execute()
|
||||
//Totally not stealing code from the DB_ban_panel
|
||||
|
||||
while(similar_query.NextRow())
|
||||
var/time = similar_query.item[1]
|
||||
var/severity = similar_query.item[2]
|
||||
var/reason = similar_query.item[3]
|
||||
var/ckey = similar_query.item[4]
|
||||
var/a_ckey = similar_query.item[5]
|
||||
dat += "<form method='GET' action='?src=\ref[src]'><b>Search:</b> "
|
||||
dat += "<input type='hidden' name='src' value='\ref[src]'>"
|
||||
dat += "<b>Ckey:</b> <input type='text' name='warnsearchckey' value='[playerckey]'>"
|
||||
dat += "<b>Admin ckey:</b> <input type='text' name='warnsearchadmin' value='[adminckey]'>"
|
||||
dat += "<input type='submit' value='search'>"
|
||||
dat += "</form>"
|
||||
|
||||
if(severity)
|
||||
dat += "<tr bgcolor='[dcolor]' align='center'>"
|
||||
else
|
||||
dat += "<tr bgcolor='[lcolor]' align='center'>"
|
||||
if(adminckey || playerckey)
|
||||
|
||||
dat += "<td>[a_ckey]</td>"
|
||||
dat += "<td>[ckey]</td>"
|
||||
dat += "<td>[time]</td>"
|
||||
dat += "<td>[a_ckey]</td>"
|
||||
dat += "<table width='90%' bgcolor='#e3e3e3' cellpadding='5' cellspacing='0' align='center'>"
|
||||
dat += "<tr>"
|
||||
dat += "<th width='10%'>ISSUED TO</th>"
|
||||
dat += "<th width='10%'>ISSUED BY</th>"
|
||||
dat += "<th width='10%'>TIME ISSUED</th>"
|
||||
dat += "<th width='60%'>REASON</th>"
|
||||
dat += "</tr>"
|
||||
|
||||
dat += "</table>"
|
||||
adminckey = ckey(adminckey)
|
||||
playerckey = ckey(playerckey)
|
||||
var/paramone = ""
|
||||
var/paramtwo = ""
|
||||
if(adminckey)
|
||||
paramone = "AND a_ckey = '[adminckey]' "
|
||||
if(playerckey)
|
||||
paramtwo = "AND ckey = '[playerckey]' "
|
||||
|
||||
var/DBQuery/search_query = dbcon.NewQuery("SELECT time, severity, reason, notes, ckey, a_ckey FROM aurora_warnings WHERE 1 [paramone] [paramtwo] ORDER BY time DESC")
|
||||
search_query.Execute()
|
||||
|
||||
while(search_query.NextRow())
|
||||
var/time = search_query.item[1]
|
||||
var/severity = search_query.item[2]
|
||||
var/reason = search_query.item[3]
|
||||
var/notes = search_query.item[4]
|
||||
var/ckey = search_query.item[5]
|
||||
var/a_ckey = search_query.item[6]
|
||||
|
||||
var/bgcolor = lcolor
|
||||
|
||||
if(severity == "1")
|
||||
bgcolor = dcolor
|
||||
|
||||
dat += "<tr bgcolor='[bgcolor]' align='center'>"
|
||||
dat += "<td>[ckey]</td>"
|
||||
dat += "<td>[a_ckey]</td>"
|
||||
dat += "<td>[time]</td>"
|
||||
dat += "<td>[reason]</td>"
|
||||
dat += "</tr>"
|
||||
dat += "<tr>"
|
||||
dat += "<td align='center' colspan='5'><b>Staff Notes:</b> <cite>\"[notes]\"</cite></td>"
|
||||
dat += "</tr>"
|
||||
|
||||
dat += "<tr>"
|
||||
dat += "<td colspan='5' bgcolor='white'> </td>"
|
||||
dat += "</tr>"
|
||||
|
||||
dat +="</table>"
|
||||
|
||||
usr << browse(dat, "window=lookupwarns;size=900x500")
|
||||
feedback_add_details("admin_verb","WARN-LKUP")
|
||||
Reference in New Issue
Block a user