Updates some backend stuff (#20852)

* Updates some backend stuff

* Warning

* update

* Adds some indexes for speeeeeeeeed
This commit is contained in:
AffectedArc07
2023-04-25 16:21:57 -05:00
committed by GitHub
parent 19af733ad2
commit ae37f5b22c
5 changed files with 40 additions and 7 deletions
+3 -1
View File
@@ -222,10 +222,12 @@ CREATE TABLE `ban` (
`unbanned_ckey` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`unbanned_computerid` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`unbanned_ip` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`exportable` TINYINT(4) NOT NULL DEFAULT '1',
PRIMARY KEY (`id`),
KEY `ckey` (`ckey`),
KEY `computerid` (`computerid`),
KEY `ip` (`ip`)
KEY `ip` (`ip`),
KEY `exportable` (`exportable`)
) ENGINE=InnoDB AUTO_INCREMENT=58903 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
+10
View File
@@ -0,0 +1,10 @@
# Updating SQL from 47 to 48 -AffectedArc07
# Updates ban table to add an exportable flag column
ALTER TABLE `ban`
ADD COLUMN `exportable` TINYINT NOT NULL DEFAULT '1' AFTER `unbanned_ip`;
ALTER TABLE `ban`
ADD INDEX `exportable` (`exportable`);
# Marks all existing bans as non-exportable
UPDATE ban SET exportable=0
+1 -1
View File
@@ -380,7 +380,7 @@
#define INVESTIGATE_BOMB "bombs"
// The SQL version required by this version of the code
#define SQL_VERSION 47
#define SQL_VERSION 48
// Vending machine stuff
#define CAT_NORMAL 1
+25 -4
View File
@@ -369,6 +369,21 @@
else
to_chat(usr, "Cancelled")
return
if("makepublic")
if(alert("Make this ban public? You cannot undo this action.", "Warning", "Yes", "No") == "Yes")
var/datum/db_query/make_public_query = SSdbcore.NewQuery("UPDATE ban SET exportable=1 WHERE id=:banid", list(
"banid" = banid
))
if(!make_public_query.warn_execute())
qdel(make_public_query)
return
qdel(make_public_query)
to_chat(usr, "Ban publicised")
log_admin("[usr.ckey] made ban #[banid] on [pckey] public.")
else
to_chat(usr, "Cancelled")
return
else
to_chat(usr, "Cancelled")
return
@@ -585,7 +600,7 @@
var/datum/db_query/select_query = SSdbcore.NewQuery({"
SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits, ip, computerid, ban_round_id, unbanned_round_id
SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits, ip, computerid, ban_round_id, unbanned_round_id, exportable
FROM ban WHERE 1 [playersearch] [adminsearch] [ipsearch] [cidsearch] [bantypesearch] ORDER BY bantime DESC LIMIT 100"}, sql_params)
if(!select_query.warn_execute())
@@ -610,6 +625,7 @@
var/cid = select_query.item[15]
var/ban_round_id = select_query.item[16]
var/unban_round_id = select_query.item[17]
var/public = select_query.item[18]
var/lcolor = blcolor
var/dcolor = bdcolor
@@ -637,7 +653,13 @@
output += "<td align='center'><b>[ckey]</b></td>"
output += "<td align='center'>[bantime][ban_round_id ? " (Round [ban_round_id])" : ""]</td>"
output += "<td align='center'><b>[ackey]</b></td>"
output += "<td align='center'>[(unbanned) ? "" : "<b><a href=\"byond://?src=[cached_UID];dbbanedit=unban;dbbanid=[banid]\">Unban</a></b>"]</td>"
output += "<td align='center'>"
// Unban button
output += unbanned ? "" : "<b><a href=\"byond://?src=[cached_UID];dbbanedit=unban;dbbanid=[banid]\">Unban</a></b><br>"
// Make public button
output += public ? "<i>Ban is public</i>" : "<b><a href=\"byond://?src=[cached_UID];dbbanedit=makepublic;dbbanid=[banid]\">Make public</a></b>"
output += "</td>"
output += "</tr>"
output += "<tr bgcolor='[dcolor]'>"
output += "<td align='center' colspan='2' bgcolor=''><b>IP:</b> [ip]</td>"
@@ -665,9 +687,8 @@
qdel(select_query)
var/datum/browser/popup = new(usr, "ban_panel", "<div align='center'>Manual Ban Panel</div>", 500, 600)
var/datum/browser/popup = new(usr, "ban_panel", "<div align='center'>Manual Ban Panel</div>", 700, 800)
popup.set_content(output.Join(""))
popup.set_window_options("can_close=1;can_minimize=0;can_maximize=0;can_resize=0;titlebar=1;")
popup.open()
onclose(usr, "ban_panel")
+1 -1
View File
@@ -145,7 +145,7 @@ ipc_screens = [
# Enable/disable the database on a whole
sql_enabled = false
# SQL version. If this is a mismatch, round start will be delayed
sql_version = 47
sql_version = 48
# SQL server address. Can be an IP or DNS name
sql_address = "127.0.0.1"
# SQL server port