Fix message infos (#75)

* Fix weird showing of message informations in outbox.lua

* Fix reply button on message view
This commit is contained in:
Athozus 2023-04-21 23:24:52 +02:00 committed by GitHub
parent 2290c2838e
commit fc90443952
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 27 deletions

View file

@ -97,35 +97,35 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
elseif fields.reply then elseif fields.reply then
local message = "" local message = ""
if mail.selected_idxs.inbox[name] then if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]]) message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
elseif mail.selected_idxs.sent[name] then elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]]) message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
end end
mail.reply(name, message) mail.reply(name, message)
elseif fields.replyall then elseif fields.replyall then
local message = "" local message = ""
if mail.selected_idxs.inbox[name] then if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]]) message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
elseif mail.selected_idxs.sent[name] then elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]]) message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
end end
mail.replyall(name, message) mail.replyall(name, message)
elseif fields.forward then elseif fields.forward then
local message = "" local message = ""
if mail.selected_idxs.inbox[name] then if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]]) message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
elseif mail.selected_idxs.sent[name] then elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]]) message = mail.get_message(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
end end
mail.forward(name, message) mail.forward(name, message)
elseif fields.delete then elseif fields.delete then
if mail.selected_idxs.inbox[name] then if mail.selected_idxs.inbox[name] and mail.selected_idxs.boxtab[name] == 1 then
mail.delete_mail(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]]) mail.delete_mail(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
elseif mail.selected_idxs.sent[name] then elseif mail.selected_idxs.sent[name] and mail.selected_idxs.boxtab[name] == 2 then
mail.delete_mail(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]]) mail.delete_mail(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
end end
mail.show_mail_menu(name) mail.show_mail_menu(name)

View file

@ -61,7 +61,12 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
formspec[#formspec + 1] = "," formspec[#formspec + 1] = ","
end end
formspec[#formspec + 1] = "," formspec[#formspec + 1] = ","
if string.len(message.to) > 20 then
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.to, 1, 17))
formspec[#formspec + 1] = "..."
else
formspec[#formspec + 1] = minetest.formspec_escape(message.to) formspec[#formspec + 1] = minetest.formspec_escape(message.to)
end
formspec[#formspec + 1] = "," formspec[#formspec + 1] = ","
if message.subject ~= "" then if message.subject ~= "" then
if string.len(message.subject) > 30 then if string.len(message.subject) > 30 then