mirror of
https://github.com/mt-mods/mail.git
synced 2025-04-30 08:21:44 -04:00
Fix messages loading
This commit is contained in:
parent
1441c28ccf
commit
3dd820a16b
2 changed files with 29 additions and 25 deletions
41
gui.lua
41
gui.lua
|
@ -145,33 +145,28 @@ end
|
|||
|
||||
function mail.show_sent(name)
|
||||
local formspec = { mail.sent_formspec }
|
||||
local playerContacts = mail.getContacts(name)
|
||||
local messages = mail.getMessages()
|
||||
local nbMails = 0
|
||||
for k, contact, i, l in mail.pairsByKeys(playerContacts) do
|
||||
local contactMessages = mail.getPlayerMessages(contact.name)
|
||||
|
||||
message_drafts[name] = nil
|
||||
|
||||
if contactMessages[1] then
|
||||
for _, message in ipairs(contactMessages) do
|
||||
mail.ensure_new_format(message, name)
|
||||
if message.sender == name then
|
||||
nbMails = nbMails + 1
|
||||
formspec[#formspec + 1] = ","
|
||||
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
|
||||
if messages[1] then
|
||||
for _, message in ipairs(messages) do
|
||||
mail.ensure_new_format(message, name)
|
||||
if message.sender == name then
|
||||
nbMails = nbMails + 1
|
||||
formspec[#formspec + 1] = ","
|
||||
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] = "(No subject)"
|
||||
formspec[#formspec + 1] = minetest.formspec_escape(message.subject)
|
||||
end
|
||||
else
|
||||
formspec[#formspec + 1] = "(No subject)"
|
||||
end
|
||||
end
|
||||
if selected_idxs.messages[name] then
|
||||
|
|
13
storage.lua
13
storage.lua
|
@ -30,10 +30,19 @@ function mail.getPlayerMessages(playername)
|
|||
local playerMessages = {}
|
||||
if messages then
|
||||
for _, msg in ipairs(messages) do
|
||||
local receivers = mail.split((msg.to .. ", " .. (msg.cc or "") .. ", " .. (msg.bcc or "")),",")
|
||||
local cc = ""
|
||||
local bcc = ""
|
||||
if msg.cc then
|
||||
cc = msg.cc
|
||||
end
|
||||
if msg.bcc then
|
||||
bcc = msg.bcc
|
||||
end
|
||||
|
||||
local receivers = mail.split((msg.to .. ", " .. cc .. ", " .. bcc),",")
|
||||
for _, receiver in ipairs(receivers) do
|
||||
if receiver == playername then -- check if player is a receiver
|
||||
if mail.getStatus(receiver, msg.id) ~= "deleted" then -- do not return if the message was deleted from player
|
||||
if mail.getMessageStatus(receiver, msg.id) ~= "deleted" then -- do not return if the message was deleted from player
|
||||
table.insert(playerMessages, msg)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue