mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-09 16:14:13 +00:00
Removes session keys for admins. (#26540)
This commit is contained in:
@@ -40,8 +40,6 @@ var/global/floorIsLava = 0
|
||||
if (!istype(src,/datum/admins))
|
||||
to_chat(usr, "Error: you are not an admin!")
|
||||
return
|
||||
|
||||
checkSessionKey()
|
||||
var/body = {"<html><head><title>Options for [M.key]</title></head>
|
||||
<body>Options panel for <b>[M]</b>"}
|
||||
var/species_description
|
||||
@@ -272,11 +270,9 @@ var/global/floorIsLava = 0
|
||||
if (!istype(src,/datum/admins))
|
||||
to_chat(usr, "Error: you are not an admin!")
|
||||
return
|
||||
checkSessionKey()
|
||||
var/cid = input("Type computer ID", "CID", 0) as num | null
|
||||
if(cid)
|
||||
usr << link(getVGPanel("rapsheet", admin = 1, query = list("cid" = cid)))
|
||||
// to_chat(usr, link("[config.vgws_base_url]/index.php/rapsheet/?s=[sessKey]&cid=[cid]"))
|
||||
return
|
||||
|
||||
/datum/admins/proc/checkCKEY()
|
||||
@@ -290,10 +286,8 @@ var/global/floorIsLava = 0
|
||||
if (!istype(src,/datum/admins))
|
||||
to_chat(usr, "Error: you are not an admin!")
|
||||
return
|
||||
checkSessionKey()
|
||||
var/ckey = lowertext(input("Type player ckey", "ckey", null) as text | null)
|
||||
usr << link(getVGPanel("rapsheet", admin = 1, query = list("ckey" = ckey)))
|
||||
// usr << link("[config.vgws_base_url]/index.php/rapsheet/?s=[sessKey]&ckey=[ckey]")
|
||||
return
|
||||
|
||||
/datum/admins/proc/PlayerNotesPage(page)
|
||||
@@ -1622,7 +1616,7 @@ proc/formatPlayerPanel(var/mob/U,var/text="PP")
|
||||
/datum/admins/proc/ViewAllRods()
|
||||
if(!check_rights(0))
|
||||
return
|
||||
|
||||
|
||||
var/dat = "<center><B>View all active rods</B></center><hr>"
|
||||
|
||||
for (var/obj/item/projectile/immovablerod/rod in all_rods)
|
||||
@@ -1631,4 +1625,4 @@ proc/formatPlayerPanel(var/mob/U,var/text="PP")
|
||||
dat += "- <A href='?src=\ref[src];rod_to_untrack=\ref[rod]'>(UNTRACK)</A>"
|
||||
dat += "<br/>"
|
||||
|
||||
usr << browse(dat, "window=rodswindow;size=350x300")
|
||||
usr << browse(dat, "window=rodswindow;size=350x300")
|
||||
|
||||
@@ -13,7 +13,6 @@ var/list/admin_datums = list()
|
||||
var/datum/feed_message/admincaster_feed_message = new /datum/feed_message //These two will act as holders.
|
||||
var/datum/feed_channel/admincaster_feed_channel = new /datum/feed_channel
|
||||
var/admincaster_signature //What you'll sign the newsfeeds as
|
||||
var/sessKey = 0
|
||||
|
||||
/datum/admins/New(initial_rank = "Temporary Admin", initial_rights = 0, ckey)
|
||||
if(!ckey)
|
||||
@@ -25,6 +24,12 @@ var/list/admin_datums = list()
|
||||
rights = initial_rights
|
||||
admin_datums[ckey] = src
|
||||
|
||||
/datum/admins/Destroy()
|
||||
marked_datum = null
|
||||
marked_appearance = null
|
||||
disassociate()
|
||||
return ..()
|
||||
|
||||
/datum/admins/proc/associate(client/C)
|
||||
if(istype(C))
|
||||
owner = C
|
||||
@@ -124,45 +129,5 @@ you will have to do something like if(client.rights & R_ADMIN) yourself.
|
||||
admin_datums -= ckey
|
||||
if(holder)
|
||||
holder.disassociate()
|
||||
del(holder)
|
||||
qdel(holder)
|
||||
return 1
|
||||
|
||||
/datum/admins/proc/checkSessionKey(var/recurse=0)
|
||||
if(recurse==5)
|
||||
return "\[BROKEN\]";
|
||||
recurse++
|
||||
var/datum/DBQuery/query = SSdbcore.NewQuery("DELETE FROM admin_sessions WHERE expires < Now()")
|
||||
if(!query.Execute())
|
||||
message_admins("Error: [query.ErrorMsg()]")
|
||||
log_sql("Error: [query.ErrorMsg()]")
|
||||
qdel(query)
|
||||
return
|
||||
var/datum/DBQuery/sel_query = SSdbcore.NewQuery("SELECT sessID FROM admin_sessions WHERE ckey = '[owner.ckey]' AND expires > Now()")
|
||||
if(!sel_query.Execute())
|
||||
message_admins("Error: [sel_query.ErrorMsg()]")
|
||||
log_sql("Error: [sel_query.ErrorMsg()]")
|
||||
qdel(sel_query)
|
||||
return
|
||||
qdel(sel_query)
|
||||
|
||||
sessKey=0
|
||||
while(query.NextRow())
|
||||
sessKey = query.item[1]
|
||||
var/datum/DBQuery/up_query=SSdbcore.NewQuery("UPDATE admin_sessions SET expires=DATE_ADD(NOW(), INTERVAL 24 HOUR), IP='[owner.address]' WHERE ckey = '[owner.ckey]")
|
||||
if(!up_query.Execute())
|
||||
message_admins("Error: [up_query.ErrorMsg()]")
|
||||
log_sql("Error: [up_query.ErrorMsg()]")
|
||||
qdel(up_query)
|
||||
return
|
||||
qdel(up_query)
|
||||
return sessKey
|
||||
qdel(query)
|
||||
|
||||
var/datum/DBQuery/insert_query=SSdbcore.NewQuery("INSERT INTO admin_sessions (sessID,ckey,expires, IP) VALUES (UUID(), '[owner.ckey]', DATE_ADD(NOW(), INTERVAL 24 HOUR), '[owner.address]')")
|
||||
if(!insert_query.Execute())
|
||||
message_admins("Error: [insert_query.ErrorMsg()]")
|
||||
log_sql("Error: [insert_query.ErrorMsg()]")
|
||||
qdel(insert_query)
|
||||
return
|
||||
qdel(insert_query)
|
||||
return checkSessionKey(recurse)
|
||||
|
||||
@@ -2969,18 +2969,10 @@
|
||||
usr.client.cmd_admin_subtle_message(M)
|
||||
|
||||
else if(href_list["rapsheet"])
|
||||
checkSessionKey()
|
||||
// build the link
|
||||
//var/dat = "[config.vgws_base_url]/index.php/rapsheet/?s=[sessKey]"
|
||||
//if(href_list["rsckey"])
|
||||
//. dat += "&ckey=[href_list["rsckey"]]"
|
||||
// to_chat(usr, link(dat))
|
||||
usr << link(getVGPanel("rapsheet", admin = 1, query = list("ckey" = href_list["rsckey"])))
|
||||
return
|
||||
|
||||
else if(href_list["bansheet"])
|
||||
//checkSessionKey()
|
||||
// to_chat(usr, link("[config.vgws_base_url]/index.php/rapsheet/?s=[sessKey]"))
|
||||
usr << link(getVGPanel("rapsheet", admin = 1))
|
||||
return
|
||||
|
||||
|
||||
@@ -13,10 +13,7 @@
|
||||
// [config.vgws_base_url]/index.php/route?get_var=value
|
||||
// s is automatically added when admin=1.
|
||||
/datum/admins/proc/getVGPanel(var/route,var/list/query=list(),var/admin=0)
|
||||
checkSessionKey()
|
||||
var/url="[config.vgws_base_url]/index.php/[route]"
|
||||
if(admin)
|
||||
query["s"]=sessKey
|
||||
url += buildurlquery(query)
|
||||
return url
|
||||
|
||||
|
||||
Reference in New Issue
Block a user