mirror of
https://github.com/mt-mods/mail.git
synced 2025-04-30 16:31:43 -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 = {},
|
boxtab = {},
|
||||||
sortfield = {},
|
sortfield = {},
|
||||||
sortdirection = {},
|
sortdirection = {},
|
||||||
|
filter = {},
|
||||||
multipleselection = {}
|
multipleselection = {}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
|
|
||||||
-- Get player name and handle / convert common input fields
|
-- Get player name and handle / convert common input fields
|
||||||
local name = player:get_player_name()
|
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 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 sortdirection = fields.sortdirection or mail.selected_idxs.sortdirection[name] or "1"
|
||||||
local inboxsortfield = ({"from","subject","time"})[sortfieldindex]
|
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
|
-- Store common player configuration for reuse
|
||||||
mail.selected_idxs.sortfield[name] = sortfieldindex
|
mail.selected_idxs.sortfield[name] = sortfieldindex
|
||||||
mail.selected_idxs.sortdirection[name] = sortdirection
|
mail.selected_idxs.sortdirection[name] = sortdirection
|
||||||
|
mail.selected_idxs.filter[name] = filter
|
||||||
if fields.multipleselection then
|
if fields.multipleselection then
|
||||||
mail.selected_idxs.multipleselection[name] = fields.multipleselection == "true"
|
mail.selected_idxs.multipleselection[name] = fields.multipleselection == "true"
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,7 @@ local S = minetest.get_translator("mail")
|
||||||
function mail.show_inbox(name, sortfieldindex, sortdirection, filter)
|
function mail.show_inbox(name, sortfieldindex, sortdirection, filter)
|
||||||
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
|
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
|
||||||
sortdirection = sortdirection or mail.selected_idxs.sortdirection[name] or "1"
|
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 .. [[
|
local inbox_formspec = "size[8.5,10;]" .. mail.theme .. [[
|
||||||
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;1;false;false]
|
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
|
end
|
||||||
|
|
||||||
local name = player:get_player_name()
|
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
|
if fields.back then
|
||||||
mail.show_mail_menu(name)
|
mail.show_mail_menu(name)
|
||||||
|
@ -101,36 +97,36 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
|
||||||
|
|
||||||
elseif fields.reply then
|
elseif fields.reply then
|
||||||
local message = ""
|
local message = ""
|
||||||
if messagesInbox[mail.selected_idxs.inbox[name]] then
|
if mail.selected_idxs.inbox[name] then
|
||||||
message = messagesInbox[mail.selected_idxs.inbox[name]]
|
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
elseif mail.selected_idxs.sent[name] then
|
||||||
message = messagesSent[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 messagesInbox[mail.selected_idxs.inbox[name]] then
|
if mail.selected_idxs.inbox[name] then
|
||||||
message = messagesInbox[mail.selected_idxs.inbox[name]]
|
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
elseif mail.selected_idxs.sent[name] then
|
||||||
message = messagesSent[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 messagesInbox[mail.selected_idxs.inbox[name]] then
|
if mail.selected_idxs.inbox[name] then
|
||||||
message = messagesInbox[mail.selected_idxs.inbox[name]]
|
message = mail.get_message(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
elseif mail.selected_idxs.sent[name] then
|
||||||
message = messagesSent[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 messagesInbox[mail.selected_idxs.inbox[name]] then
|
if mail.selected_idxs.inbox[name] then
|
||||||
mail.delete_mail(name, messagesInbox[mail.selected_idxs.inbox[name]].id)
|
mail.delete_mail(name, mail.selected_idxs.inbox[name][#mail.selected_idxs.inbox[name]])
|
||||||
elseif messagesSent[mail.selected_idxs.sent[name]] then
|
elseif mail.selected_idxs.sent[name] then
|
||||||
mail.delete_mail(name, messagesSent[mail.selected_idxs.sent[name]].id)
|
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)
|
||||||
end
|
end
|
||||||
|
|
|
@ -5,7 +5,7 @@ local S = minetest.get_translator("mail")
|
||||||
function mail.show_sent(name, sortfieldindex, sortdirection, filter)
|
function mail.show_sent(name, sortfieldindex, sortdirection, filter)
|
||||||
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
|
sortfieldindex = tonumber(sortfieldindex or mail.selected_idxs.sortfield[name]) or 3
|
||||||
sortdirection = sortdirection or mail.selected_idxs.sortdirection[name] or "1"
|
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 .. [[
|
local sent_formspec = "size[8.5,10;]" .. mail.theme .. [[
|
||||||
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;2;false;false]
|
tabheader[0.3,1;boxtab;]] .. S("Inbox") .. "," .. S("Sent messages").. "," .. S("Drafts") .. [[;2;false;false]
|
||||||
|
|
Loading…
Add table
Reference in a new issue