mirror of
https://github.com/mt-mods/mail.git
synced 2025-03-20 16:41: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
|
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)
|
||||||
|
|
|
@ -44,7 +44,7 @@ function mail.show_sent(name, sortfieldindex, sortdirection, filter)
|
||||||
mail.message_drafts[name] = nil
|
mail.message_drafts[name] = nil
|
||||||
|
|
||||||
if #messages > 0 then
|
if #messages > 0 then
|
||||||
for _, message in ipairs(messages) do
|
for _, message in ipairs(messages) do
|
||||||
local selected_id = 0
|
local selected_id = 0
|
||||||
-- check if message is in selection list and return its id
|
-- 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
|
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
|
||||||
end
|
end
|
||||||
if selected_id > 0 then
|
if selected_id > 0 then
|
||||||
formspec[#formspec + 1] = ",#466432"
|
formspec[#formspec + 1] = ",#466432"
|
||||||
else
|
else
|
||||||
formspec[#formspec + 1] = ","
|
formspec[#formspec + 1] = ","
|
||||||
end
|
end
|
||||||
formspec[#formspec + 1] = ","
|
formspec[#formspec + 1] = ","
|
||||||
formspec[#formspec + 1] = minetest.formspec_escape(message.to)
|
if string.len(message.to) > 20 then
|
||||||
formspec[#formspec + 1] = ","
|
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.to, 1, 17))
|
||||||
if message.subject ~= "" then
|
formspec[#formspec + 1] = "..."
|
||||||
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
|
else
|
||||||
formspec[#formspec + 1] = S("(No subject)")
|
formspec[#formspec + 1] = minetest.formspec_escape(message.to)
|
||||||
end
|
end
|
||||||
end
|
formspec[#formspec + 1] = ","
|
||||||
formspec[#formspec + 1] = "]"
|
if message.subject ~= "" then
|
||||||
else
|
if string.len(message.subject) > 30 then
|
||||||
formspec[#formspec + 1] = "]label[2.25,4.5;" .. S("No mail") .. "]"
|
formspec[#formspec + 1] = minetest.formspec_escape(string.sub(message.subject, 1, 27))
|
||||||
end
|
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, ""))
|
minetest.show_formspec(name, "mail:sent", table.concat(formspec, ""))
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue