From f427d4315f5f7b48872aa2268c9153fa97cb892f Mon Sep 17 00:00:00 2001 From: Tigercat2000 Date: Sat, 11 Feb 2017 07:15:04 -0800 Subject: [PATCH] Fix window flashing not saving to SQL & Add error logging to log_client_to_db --- code/modules/client/client procs.dm | 21 ++++++++++++++++--- .../client/preference/preferences_mysql.dm | 3 ++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm index 8f8d26efebe..fad709239d6 100644 --- a/code/modules/client/client procs.dm +++ b/code/modules/client/client procs.dm @@ -232,7 +232,7 @@ to_chat(src, "Become a BYOND member to access member-perks and features, as well as support the engine that makes this game possible. Click here to find out more.") return 0 return 1 - + //Like for /atoms, but clients are their own snowflake FUCK /client/proc/setDir(newdir) dir = newdir @@ -408,10 +408,12 @@ if(IsGuestKey(key)) return + establish_db_connection() if(!dbcon.IsConnected()) return + var/DBQuery/query = dbcon.NewQuery("SELECT id, datediff(Now(),firstseen) as age FROM [format_table_name("player")] WHERE ckey = '[ckey]'") query.Execute() var/sql_id = 0 @@ -421,6 +423,7 @@ player_age = text2num(query.item[2]) break + var/DBQuery/query_ip = dbcon.NewQuery("SELECT ckey FROM [format_table_name("player")] WHERE ip = '[address]'") query_ip.Execute() related_accounts_ip = list() @@ -428,6 +431,7 @@ if(ckey != query_ip.item[1]) related_accounts_ip.Add("[query_ip.item[1]]") + var/DBQuery/query_cid = dbcon.NewQuery("SELECT ckey FROM [format_table_name("player")] WHERE computerid = '[computer_id]'") query_cid.Execute() related_accounts_cid = list() @@ -435,6 +439,7 @@ if(ckey != query_cid.item[1]) related_accounts_cid.Add("[query_cid.item[1]]") + var/admin_rank = "Player" if(holder) admin_rank = holder.rank @@ -443,15 +448,18 @@ if(check_randomizer(connectiontopic)) return + //Log all the alts if(related_accounts_cid.len) log_access("Alts: [key_name(src)]:[jointext(related_accounts_cid, " - ")]") + var/watchreason = check_watchlist(ckey) if(watchreason) message_admins("Notice: [key_name_admin(src)] is on the watchlist and has just connected - Reason: [watchreason]") send2irc(config.admin_notify_irc, "Watchlist - [key_name(src)] is on the watchlist and has just connected - Reason: [watchreason]") + //Just the standard check to see if it's actually a number if(sql_id) if(istext(sql_id)) @@ -467,17 +475,24 @@ if(sql_id) //Player already identified previously, we need to just update the 'lastseen', 'ip' and 'computer_id' variables var/DBQuery/query_update = dbcon.NewQuery("UPDATE [format_table_name("player")] SET lastseen = Now(), ip = '[sql_ip]', computerid = '[sql_computerid]', lastadminrank = '[sql_admin_rank]' WHERE id = [sql_id]") - query_update.Execute() + if(!query_update.Execute()) + var/err = query_update.ErrorMsg() + log_game("SQL ERROR during log_client_to_db (update). Error : \[[err]\]\n") + message_admins("SQL ERROR during log_client_to_db (update). Error : \[[err]\]\n") else //New player!! Need to insert all the stuff var/DBQuery/query_insert = dbcon.NewQuery("INSERT INTO [format_table_name("player")] (id, ckey, firstseen, lastseen, ip, computerid, lastadminrank) VALUES (null, '[ckey]', Now(), Now(), '[sql_ip]', '[sql_computerid]', '[sql_admin_rank]')") - query_insert.Execute() + if(!query_insert.Execute()) + var/err = query_insert.ErrorMsg() + log_game("SQL ERROR during log_client_to_db (insert). Error : \[[err]\]\n") + message_admins("SQL ERROR during log_client_to_db (insert). Error : \[[err]\]\n") //Logging player access var/serverip = "[world.internet_address]:[world.port]" var/DBQuery/query_accesslog = dbcon.NewQuery("INSERT INTO `[format_table_name("connection_log")]`(`id`,`datetime`,`serverip`,`ckey`,`ip`,`computerid`) VALUES(null,Now(),'[serverip]','[ckey]','[sql_ip]','[sql_computerid]');") query_accesslog.Execute() + #undef TOPIC_SPAM_DELAY #undef UPLOAD_LIMIT #undef MIN_CLIENT_VERSION diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm index f00c9f5d735..c7716c33eed 100644 --- a/code/modules/client/preference/preferences_mysql.dm +++ b/code/modules/client/preference/preferences_mysql.dm @@ -84,7 +84,8 @@ volume='[volume]', nanoui_fancy='[nanoui_fancy]', show_ghostitem_attack='[show_ghostitem_attack]', - lastchangelog='[lastchangelog]' + lastchangelog='[lastchangelog]', + windowflashing='[windowflashing]' WHERE ckey='[C.ckey]'"} )