mirror of
https://github.com/mt-mods/mail.git
synced 2025-03-15 06:01:25 +00:00
Fix message infos (#75)
* Fix weird showing of message informations in outbox.lua * Fix reply button on message view
This commit is contained in:
parent
2290c2838e
commit
fc90443952
2 changed files with 32 additions and 27 deletions
|
@ -97,35 +97,35 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
|
||||
elseif fields.reply then
|
||||
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]])
|
||||
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]])
|
||||
end
|
||||
mail.reply(name, message)
|
||||
|
||||
elseif fields.replyall then
|
||||
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]])
|
||||
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]])
|
||||
end
|
||||
mail.replyall(name, message)
|
||||
|
||||
elseif fields.forward then
|
||||
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]])
|
||||
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]])
|
||||
end
|
||||
mail.forward(name, message)
|
||||
|
||||
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]])
|
||||
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]])
|
||||
end
|
||||
mail.show_mail_menu(name)
|
||||
|
|
|
@ -44,7 +44,7 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
|
|||
mail.message_drafts[name] = nil
|
||||
|
||||
if #messages > 0 then
|
||||
for _, message in ipairs(messages) do
|
||||
for _, message in ipairs(messages) do
|
||||
local selected_id = 0
|
||||
-- check if message is in selection list and return its id
|
||||
if mail.selected_idxs.sent[name] and #mail.selected_idxs.sent[name] > 0 then
|
||||
|
@ -56,27 +56,32 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
|
|||
end
|
||||
end
|
||||
if selected_id > 0 then
|
||||
formspec[#formspec + 1] = ",#466432"
|
||||
formspec[#formspec + 1] = ",#466432"
|
||||
else
|
||||
formspec[#formspec + 1] = ","
|
||||
end
|
||||
formspec[#formspec + 1] = ","
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(message.to)
|
||||
formspec[#formspec + 1] = ","
|
||||
if message.subject ~= "" then
|
||||
if string.len(message.subject) > 30 then
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.subject, 1, 27))
|
||||
formspec[#formspec + 1] = "..."
|
||||
else
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(message.subject)
|
||||
end
|
||||
end
|
||||
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] = S("(No subject)")
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(message.to)
|
||||
end
|
||||
end
|
||||
formspec[#formspec + 1] = "]"
|
||||
else
|
||||
formspec[#formspec + 1] = "]label[2.25,4.5;" .. S("No mail") .. "]"
|
||||
end
|
||||
formspec[#formspec + 1] = ","
|
||||
if message.subject ~= "" then
|
||||
if string.len(message.subject) > 30 then
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.subject, 1, 27))
|
||||
formspec[#formspec + 1] = "..."
|
||||
else
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(message.subject)
|
||||
end
|
||||
else
|
||||
formspec[#formspec + 1] = S("(No subject)")
|
||||
end
|
||||
end
|
||||
formspec[#formspec + 1] = "]"
|
||||
else
|
||||
formspec[#formspec + 1] = "]label[2.25,4.5;" .. S("No mail") .. "]"
|
||||
end
|
||||
minetest.show_formspec(name, "mail:sent", table.concat(formspec, ""))
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue