mirror of
https://github.com/mt-mods/mail.git
synced 2025-04-30 08:21:44 -04:00
Fix wrong messages issues
This commit is contained in:
parent
4673e71260
commit
5d7271f07b
5 changed files with 21 additions and 23 deletions
1
init.lua
1
init.lua
|
@ -24,6 +24,7 @@ mail = {
|
|||
boxtab = {},
|
||||
sortfield = {},
|
||||
sortdirection = {},
|
||||
filter = {},
|
||||
multipleselection = {}
|
||||
},
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
|
||||
-- Get player name and handle / convert common input fields
|
||||
local name = player:get_player_name()
|
||||
local filter = fields.filter or ""
|
||||
local filter = fields.filter or mail.selected_idxs.filter[name] or ""
|
||||
local sortfieldindex = tonumber(fields.sortfield or mail.selected_idxs.sortfield[name]) or 3
|
||||
local sortdirection = fields.sortdirection or mail.selected_idxs.sortdirection[name] or "1"
|
||||
local inboxsortfield = ({"from","subject","time"})[sortfieldindex]
|
||||
|
@ -26,6 +26,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
-- Store common player configuration for reuse
|
||||
mail.selected_idxs.sortfield[name] = sortfieldindex
|
||||
mail.selected_idxs.sortdirection[name] = sortdirection
|
||||
mail.selected_idxs.filter[name] = filter
|
||||
if fields.multipleselection then
|
||||
mail.selected_idxs.multipleselection[name] = fields.multipleselection == "true"
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ local S = minetest.get_translator("mail")
|
|||
function mail.show_inbox(name, sortfieldindex, sortdirection, filter)
|
||||
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
|
||||
sortdirection = sortdirection or mail.selected_idxs.sortdirection[name] or "1"
|
||||
filter = filter or ""
|
||||
filter = mail.selected_idxs.filter[name] or filter or ""
|
||||
|
||||
local inbox_formspec = "size[8.5,10;]" .. mail.theme .. [[
|
||||
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;1;false;false]
|
||||
|
|
|
@ -90,10 +90,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
end
|
||||
|
||||
local name = player:get_player_name()
|
||||
local entry = mail.get_storage_entry(name)
|
||||
|
||||
local messagesInbox = entry.inbox
|
||||
local messagesSent = entry.outbox
|
||||
|
||||
if fields.back then
|
||||
mail.show_mail_menu(name)
|
||||
|
@ -101,36 +97,36 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
|||
|
||||
elseif fields.reply then
|
||||
local message = ""
|
||||
if messagesInbox[mail.selected_idxs.inbox[name]] then
|
||||
message = messagesInbox[mail.selected_idxs.inbox[name]]
|
||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
||||
message = messagesSent[mail.selected_idxs.sent[name]]
|
||||
if mail.selected_idxs.inbox[name] then
|
||||
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||
elseif mail.selected_idxs.sent[name] 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 messagesInbox[mail.selected_idxs.inbox[name]] then
|
||||
message = messagesInbox[mail.selected_idxs.inbox[name]]
|
||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
||||
message = messagesSent[mail.selected_idxs.sent[name]]
|
||||
if mail.selected_idxs.inbox[name] then
|
||||
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||
elseif mail.selected_idxs.sent[name] 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 messagesInbox[mail.selected_idxs.inbox[name]] then
|
||||
message = messagesInbox[mail.selected_idxs.inbox[name]]
|
||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
||||
message = messagesSent[mail.selected_idxs.sent[name]]
|
||||
if mail.selected_idxs.inbox[name] then
|
||||
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||
elseif mail.selected_idxs.sent[name] 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 messagesInbox[mail.selected_idxs.inbox[name]] then
|
||||
mail.delete_mail(name, messagesInbox[mail.selected_idxs.inbox[name]].id)
|
||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
||||
mail.delete_mail(name, messagesSent[mail.selected_idxs.sent[name]].id)
|
||||
if mail.selected_idxs.inbox[name] then
|
||||
mail.delete_mail(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||
elseif mail.selected_idxs.sent[name] then
|
||||
mail.delete_mail(name, mail.selected_idxs.sent[name][#mail.selected_idxs.sent[name]])
|
||||
end
|
||||
mail.show_mail_menu(name)
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ local S = minetest.get_translator("mail")
|
|||
function mail.show_sent(name, sortfieldindex, sortdirection, filter)
|
||||
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
|
||||
sortdirection = sortdirection or mail.selected_idxs.sortdirection[name] or "1"
|
||||
filter = filter or ""
|
||||
filter = mail.selected_idxs.filter[name] or filter or ""
|
||||
|
||||
local sent_formspec = "size[8.5,10;]" .. mail.theme .. [[
|
||||
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;2;false;false]
|
||||
|
|
Loading…
Add table
Reference in a new issue