fix bugs
parent
cd8384738a
commit
c90c86aaef
|
@ -912,14 +912,14 @@ register_chatcommand('ban_record', {
|
|||
chat_send_player(caller, table.concat(clustered, ', '))
|
||||
|
||||
chat_send_player(caller, "Flagged accounts on the same ASN:")
|
||||
rows = data.get_asn_associations(asn, '1y')
|
||||
rows = data.get_asn_associations(asn, os.time() - parse_time('1y'))
|
||||
if not rows then return false, 'An error occurred (see server logs)' end
|
||||
local assocs = {}
|
||||
for _, row in ipairs(rows) do
|
||||
local color = data.player_status_color[row.player_status_id] or data.player_status.default.color
|
||||
table.insert(assocs, minetest.colorize(color, row.player_name))
|
||||
end
|
||||
chat_send_player(caller, table.concat(clustered, ', '))
|
||||
chat_send_player(caller, table.concat(assocs, ', '))
|
||||
|
||||
chat_send_player(caller, "Account status:")
|
||||
rows = data.get_player_status_log(player_id)
|
||||
|
|
25
data.lua
25
data.lua
|
@ -13,10 +13,10 @@ data.version = 1
|
|||
|
||||
-- constants
|
||||
data.player_status = {
|
||||
default={name='default', id=1, color='#0F0'},
|
||||
default={name='default', id=1, color='#FFF'},
|
||||
suspicious={name='suspicious', id=2, color='#FF0'},
|
||||
banned={name='banned', id=3, color='#F00'},
|
||||
whitelisted={name='whitelisted', id=4, color='#FFF'},
|
||||
whitelisted={name='whitelisted', id=4, color='#0F0'},
|
||||
unverified={name='unverified', id=5, color='#00F'},
|
||||
kicked={name='kicked', id=6, color='#F0F'}, -- for logging kicks
|
||||
}
|
||||
|
@ -28,10 +28,10 @@ for _, value in pairs(data.player_status) do
|
|||
end
|
||||
|
||||
data.ip_status = {
|
||||
default={name='default', id=1, color='#0F0'},
|
||||
default={name='default', id=1, color='#FFF'},
|
||||
suspicious={name='suspicious', id=2, color='#FF0'},
|
||||
blocked={name='blocked', id=3, color='#F00'},
|
||||
trusted={name='trusted', id=4, color='#FFF'},
|
||||
trusted={name='trusted', id=4, color='#0F0'},
|
||||
}
|
||||
data.ip_status_name = {}
|
||||
data.ip_status_color = {}
|
||||
|
@ -41,7 +41,7 @@ for _, value in pairs(data.ip_status) do
|
|||
end
|
||||
|
||||
data.asn_status = {
|
||||
default={name='default', id=1, color='#0F0'},
|
||||
default={name='default', id=1, color='#FFF'},
|
||||
suspicious={name='suspicious', id=2, color='#FF0'},
|
||||
blocked={name='blocked', id=3, color='#FF0'},
|
||||
}
|
||||
|
@ -870,10 +870,9 @@ function data.get_ip_associations(ipint, from_time)
|
|||
DISTINCT player.name player_name
|
||||
, player_status_log.status_id player_status_id
|
||||
FROM assoc
|
||||
JOIN connection_log USING (ip, asn)
|
||||
JOIN player ON player.id == assoc.player_id
|
||||
LEFT JOIN player_status_log ON player_status_log.id == player.current_status_id
|
||||
JOIN connection_log ON connection_log.ip == assoc.ip
|
||||
AND connection_log.asn == assoc.asn
|
||||
WHERE assoc.ip == ?
|
||||
AND connection_log.timestamp >= ?
|
||||
ORDER BY LOWER(player.name)
|
||||
|
@ -885,13 +884,13 @@ function data.get_asn_associations(asn, from_time)
|
|||
SELECT
|
||||
DISTINCT player.name player_name
|
||||
, player_status_log.status_id player_status_id
|
||||
, connection_log.ip ipint
|
||||
, connection_log.asn asn
|
||||
, last_log.ip ipint
|
||||
, last_log.asn asn
|
||||
FROM assoc
|
||||
JOIN connection_log USING (ip, asn)
|
||||
JOIN player ON player.id == assoc.player_id
|
||||
LEFT JOIN player_status_log ON player_status_log.id == player.current_status_id
|
||||
LEFT JOIN connection_log ON connection_log.id == player.last_login_id
|
||||
JOIN connection_log USING (ip, asn)
|
||||
JOIN player ON player.id == assoc.player_id
|
||||
LEFT JOIN player_status_log ON player_status_log.id == player.current_status_id
|
||||
LEFT JOIN connection_log last_log ON last_log.id == player.last_login_id
|
||||
WHERE assoc.asn == ?
|
||||
AND connection_log.timestamp >= ?
|
||||
AND player.flagged == TRUE
|
||||
|
|
Loading…
Reference in New Issue