Fixes: ban_record command output to IRC

refactor player_record to return a string so ban_record chat command is used correctly
strip newline to compact the output and clean it up
master
shivajiva101 2020-05-06 20:52:21 +01:00 committed by GitHub
parent 01fb30eeff
commit b4ecb070af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 20 deletions

View File

@ -499,11 +499,11 @@ local function display_record(caller, target)
local idx = 1
if #r > display_max then
idx = #r - display_max
bld[#bld+1] = minetest.colorize("#00FFFF", "\nName records: ")..#r..
bld[#bld+1] = minetest.colorize("#00FFFF", "Name records: ")..#r..
minetest.colorize("#00FFFF", " (showing last ")..display_max..
minetest.colorize("#00FFFF", " records)")
else
bld[#bld+1] = minetest.colorize("#00FFFF", "\nName records: ")..#r
bld[#bld+1] = minetest.colorize("#00FFFF", "Name records: ")..#r
end
for i = idx, #r do
local d1 = hrdf(r[i].created)
@ -516,11 +516,11 @@ local function display_record(caller, target)
r = address_records(id)
if #r > display_max then
idx = #r - display_max
bld[#bld+1] = minetest.colorize("#0FF", "\nIP records: ") .. #r ..
bld[#bld+1] = minetest.colorize("#0FF", "IP records: ") .. #r ..
minetest.colorize("#0FF", " (showing last ") .. display_max ..
minetest.colorize("#0FF", " records)")
else
bld[#bld+1] = minetest.colorize("#0FF", "\nIP records: ") .. #r
bld[#bld+1] = minetest.colorize("#0FF", "IP records: ") .. #r
idx = 1
end
for i = idx, #r do
@ -537,15 +537,15 @@ local function display_record(caller, target)
i, v.id, v.ip, hrdf(v.created), hrdf(v.last_login))
end
else
bld[#bld+1] = minetest.colorize("#0FF", "\nNo violation records for ") .. target
bld[#bld+1] = minetest.colorize("#0FF", "No violation records for ") .. target
end
end
r = player_ban_expired(id) or {}
bld[#bld+1] = minetest.colorize("#0FF", "\nBan records:")
bld[#bld+1] = minetest.colorize("#0FF", "Ban records:")
if #r > 0 then
bld[#bld+1] = minetest.colorize("#0FF", "\nExpired records: ")..#r
bld[#bld+1] = minetest.colorize("#0FF", "Expired records: ")..#r
for i, e in ipairs(r) do
local d1 = hrdf(e.created)
@ -561,12 +561,12 @@ local function display_record(caller, target)
end
else
bld[#bld+1] = "\nNo expired ban records!"
bld[#bld+1] = "No expired ban records!"
end
r = bans[id]
local ban = tostring(r ~= nil)
bld[#bld+1] = minetest.colorize("#0FF", "\nCurrent Ban Status:")
bld[#bld+1] = minetest.colorize("#0FF", "Current Ban Status:")
if ban == 'true' then
local expires = "never"
local d = hrdf(r.created)
@ -576,10 +576,10 @@ local function display_record(caller, target)
bld[#bld+1] = ("Name: %s Created: %s Banned by: %s Reason: %s Expires: %s"
):format(r.name, d, r.source, r.reason, expires)
else
bld[#bld+1] = "\nno active ban record!"
bld[#bld+1] = "no active ban record!"
end
bld[#bld+1] = minetest.colorize("#0FF", "\nBanned: ")..ban
minetest.chat_send_player(caller, table.concat(bld, "\n"))
bld[#bld+1] = minetest.colorize("#0FF", "Banned: ")..ban
return table.concat(bld, "\n")
end
-- Fetch names like 'name'
@ -1667,7 +1667,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
elseif fields.tban then
if selected == owner then
fs.info = "you do not have permission to do that!"
else
display_record(name, playername)else
local t = parse_time(ESC(fields.duration)) + os.time()
create_ban_record(selected, name, ESC(fields.reason), t)
end
@ -1781,8 +1781,8 @@ minetest.register_chatcommand("ban_record", {
if not source.server and chk then
return false, "Insufficient privileges to access that information"
end
display_record(name, playername)
return true
return true, display_record(name, playername)
end
})
@ -1972,7 +1972,7 @@ minetest.register_chatcommand("/whois", {
end
local names = name_records(id)
local ips = address_records(id)
local msg = minetest.colorize("#FFC000", "\nNames: ")
local msg = "\n" .. minetest.colorize("#FFC000", "Names: ")
local n, a = {}, {}
for i, v in ipairs(names) do
n[#n+1] = v.name
@ -1982,13 +1982,13 @@ minetest.register_chatcommand("/whois", {
end
msg = msg .. table.concat(n, ", ")
if #list > 1 and list[2] == "v" then
msg = msg .. minetest.colorize("#FFC000", "\nIP Addresses: ")
msg = msg .. table.concat(a, ", ")
msg = msg .. minetest.colorize("#FFC000", "IP Addresses: ")
msg = msg .. "\n" .. table.concat(a, ", ")
else
msg = msg .. minetest.colorize("#FFC000", "\nLast IP Address: ")
msg = msg .. "\n" .. minetest.colorize("#FFC000", "Last IP Address: ")
msg = msg .. a[1]
end
return false, minetest.colorize("#FFC000", "Info for: ") .. pname .. msg
return true, minetest.colorize("#FFC000", "Info for: ") .. pname .. msg
end,
})