Merge pull request #14270 from LetterN/rustsql

Removes bsql 2
This commit is contained in:
silicons
2021-03-03 00:53:46 -07:00
committed by GitHub
61 changed files with 2419 additions and 1596 deletions

View File

@@ -71,14 +71,14 @@ GLOBAL_PROTECT(mentor_href_token)
if(findtextEx(line, "#", 1, 2))
continue
new /datum/mentors(line)
else//Database
else //Database
if(!SSdbcore.Connect())
log_world("Failed to connect to database in load_mentors(). Reverting to legacy system.")
WRITE_FILE(GLOB.world_game_log, "Failed to connect to database in load_mentors(). Reverting to legacy system.")
CONFIG_SET(flag/mentor_legacy_system, TRUE)
load_mentors()
return
var/datum/DBQuery/query_load_mentors = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor")]")
var/datum/db_query/query_load_mentors = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor")]")
if(!query_load_mentors.Execute())
qdel(query_load_mentors)
return

View File

@@ -4,7 +4,7 @@
if(!check_rights(0))
return
if(!SSdbcore.IsConnected())
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>", confidential = TRUE)
return
var/memotask = input(usr,"Choose task.","Memo") in list("Show","Write","Edit","Remove")
if(!memotask)
@@ -17,7 +17,7 @@
if(!is_mentor())
return
if(!SSdbcore.IsConnected())
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>", confidential = TRUE)
return
mentor_memo_output("Show")
@@ -25,12 +25,13 @@
if(!task)
return
if(!SSdbcore.IsConnected())
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>")
to_chat(src, "<span class='danger'>Failed to establish database connection.</span>", confidential = TRUE)
return
var/sql_ckey = sanitizeSQL(ckey)
switch(task)
if("Write")
var/datum/DBQuery/query_memocheck = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor_memo")] WHERE ckey = '[sql_ckey]'")
var/datum/db_query/query_memocheck = SSdbcore.NewQuery({"
SELECT ckey FROM [format_table_name("mentor_memo")] WHERE ckey = :ckey
"}, list("ckey" = ckey))
if(!query_memocheck.Execute())
var/err = query_memocheck.ErrorMsg()
qdel(query_memocheck)
@@ -41,12 +42,14 @@
to_chat(src, "You already have set a memo.")
return
qdel(query_memocheck)
var/memotext = input(src,"Write your Memo","Memo") as message
if(!memotext)
return
memotext = sanitizeSQL(memotext)
var/timestamp = SQLtime()
var/datum/DBQuery/query_memoadd = SSdbcore.NewQuery("INSERT INTO [format_table_name("mentor_memo")] (ckey, memotext, timestamp) VALUES ('[sql_ckey]', '[memotext]', '[timestamp]')")
var/datum/db_query/query_memoadd = SSdbcore.NewQuery({"
INSERT INTO [format_table_name("mentor_memo")] (ckey, memotext, timestamp)
VALUES (:ckey, :memotext, :timestamp)
"}, list("ckey" = ckey, "memotext" = memotext, "timestamp" = SQLtime()))
if(!query_memoadd.Execute())
var/err = query_memoadd.ErrorMsg()
qdel(query_memoadd)
@@ -56,7 +59,7 @@
message_admins("[key_name_admin(src)] has set a mentor memo:<br>[memotext]")
qdel(query_memoadd)
if("Edit")
var/datum/DBQuery/query_memolist = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor_memo")]")
var/datum/db_query/query_memolist = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor_memo")]")
if(!query_memolist.Execute())
var/err = query_memolist.ErrorMsg()
qdel(query_memolist)
@@ -73,8 +76,9 @@
var/target_ckey = input(src, "Select whose memo to edit", "Select memo") as null|anything in memolist
if(!target_ckey)
return
var/target_sql_ckey = sanitizeSQL(target_ckey)
var/datum/DBQuery/query_memofind = SSdbcore.NewQuery("SELECT memotext FROM [format_table_name("mentor_memo")] WHERE ckey = '[target_sql_ckey]'")
var/datum/db_query/query_memofind = SSdbcore.NewQuery({"
SELECT memotext FROM [format_table_name("mentor_memo")] WHERE ckey = :target_ckey
"}, list("target_ckey" = target_ckey))
if(!query_memofind.Execute())
var/err = query_memofind.ErrorMsg()
qdel(query_memofind)
@@ -86,26 +90,27 @@
var/new_memo = input("Input new memo", "New Memo", "[old_memo]", null) as message
if(!new_memo)
return
new_memo = sanitizeSQL(new_memo)
var/edit_text = "Edited by [sql_ckey] on [SQLtime()] from<br>[old_memo]<br>to<br>[new_memo]<hr>"
edit_text = sanitizeSQL(edit_text)
var/datum/DBQuery/update_query = SSdbcore.NewQuery("UPDATE [format_table_name("mentor_memo")] SET memotext = '[new_memo]', last_editor = '[sql_ckey]', edits = CONCAT(IFNULL(edits,''),'[edit_text]') WHERE ckey = '[target_sql_ckey]'")
var/edit_text = "Edited by [ckey] on [SQLtime()] from<br>[old_memo]<br>to<br>[new_memo]<hr>"
var/datum/db_query/update_query = SSdbcore.NewQuery({"
UPDATE [format_table_name("mentor_memo")]
SET memotext = :new_memo, last_editor = :ckey, edits = :edit_text WHERE ckey = :target_ckey
"}, list("new_memo" = new_memo, "ckey" = ckey, "edit_text" = (edit_text ? "" : edit_text), "target_ckey" = target_ckey))
if(!update_query.Execute())
var/err = update_query.ErrorMsg()
qdel(update_query)
log_game("SQL ERROR editing memo. Error : \[[err]\]\n")
return
if(target_sql_ckey == sql_ckey)
if(target_ckey == ckey)
log_admin("[key_name(src)] has edited their mentor memo from [old_memo] to [new_memo]")
message_admins("[key_name_admin(src)] has edited their mentor memo from<br>[old_memo]<br>to<br>[new_memo]")
else
log_admin("[key_name(src)] has edited [target_sql_ckey]'s mentor memo from [old_memo] to [new_memo]")
message_admins("[key_name_admin(src)] has edited [target_sql_ckey]'s mentor memo from<br>[old_memo]<br>to<br>[new_memo]")
log_admin("[key_name(src)] has edited [target_ckey]'s mentor memo from [old_memo] to [new_memo]")
message_admins("[key_name_admin(src)] has edited [target_ckey]'s mentor memo from<br>[old_memo]<br>to<br>[new_memo]")
qdel(update_query)
else
qdel(query_memofind)
if("Show")
var/datum/DBQuery/query_memoshow = SSdbcore.NewQuery("SELECT ckey, memotext, timestamp, last_editor FROM [format_table_name("mentor_memo")]")
var/datum/db_query/query_memoshow = SSdbcore.NewQuery("SELECT ckey, memotext, timestamp, last_editor FROM [format_table_name("mentor_memo")]")
if(!query_memoshow.Execute())
var/err = query_memoshow.ErrorMsg()
qdel(query_memoshow)
@@ -127,7 +132,7 @@
return
to_chat(src, output)
if("Remove")
var/datum/DBQuery/query_memodellist = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor_memo")]")
var/datum/db_query/query_memodellist = SSdbcore.NewQuery("SELECT ckey FROM [format_table_name("mentor_memo")]")
if(!query_memodellist.Execute())
var/err = query_memodellist.ErrorMsg()
qdel(query_memodellist)
@@ -144,16 +149,17 @@
var/target_ckey = input(src, "Select whose mentor memo to delete", "Select mentor memo") as null|anything in memolist
if(!target_ckey)
return
var/target_sql_ckey = sanitizeSQL(target_ckey)
var/datum/DBQuery/query_memodel = SSdbcore.NewQuery("DELETE FROM [format_table_name("memo")] WHERE ckey = '[target_sql_ckey]'")
var/datum/db_query/query_memodel = SSdbcore.NewQuery({"
DELETE FROM [format_table_name("memo")] WHERE ckey = :target_ckey
"}, list("target_ckey" = target_ckey))
if(!query_memodel.Execute())
var/err = query_memodel.ErrorMsg()
qdel(query_memodel)
log_game("SQL ERROR removing memo. Error : \[[err]\]\n")
return
if(target_sql_ckey == sql_ckey)
if(target_ckey == ckey)
log_admin("[key_name(src)] has removed their mentor memo.")
message_admins("[key_name_admin(src)] has removed their mentor memo.")
else
log_admin("[key_name(src)] has removed [target_sql_ckey]'s mentor memo.")
message_admins("[key_name_admin(src)] has removed [target_sql_ckey]'s mentor memo.")
log_admin("[key_name(src)] has removed [target_ckey]'s mentor memo.")
message_admins("[key_name_admin(src)] has removed [target_ckey]'s mentor memo.")