mirror of
https://github.com/mt-mods/mail.git
synced 2025-07-13 09:51:58 -04:00
Permit sub-lists
This commit is contained in:
parent
7fb292556c
commit
ab0cd1d82f
1 changed files with 14 additions and 10 deletions
24
storage.lua
24
storage.lua
|
@ -175,22 +175,26 @@ function mail.delete_maillist(playername, listname)
|
||||||
end
|
end
|
||||||
|
|
||||||
function mail.extractMaillists(receivers_string, maillists_owner)
|
function mail.extractMaillists(receivers_string, maillists_owner)
|
||||||
local globalReceivers = mail.parse_player_list(receivers_string) -- receivers including maillists
|
|
||||||
local receivers = {} -- extracted receivers
|
local receivers = {} -- extracted receivers
|
||||||
|
|
||||||
-- extract players from mailing lists
|
-- extract players from mailing lists
|
||||||
for _, receiver in ipairs(globalReceivers) do
|
while string.find(receivers_string, "@") do
|
||||||
local receiverInfo = receiver:split("@") -- @maillist
|
local globalReceivers = mail.parse_player_list(receivers_string) -- receivers including maillists
|
||||||
if receiverInfo[1] and receiver == "@" .. receiverInfo[1] then
|
receivers = {}
|
||||||
local maillist = mail.get_maillist_by_name(maillists_owner, receiverInfo[1])
|
for _, receiver in ipairs(globalReceivers) do
|
||||||
if maillist then
|
local receiverInfo = receiver:split("@") -- @maillist
|
||||||
for _, playername in ipairs(maillist.players) do
|
if receiverInfo[1] and receiver == "@" .. receiverInfo[1] then
|
||||||
table.insert(receivers, playername)
|
local maillist = mail.get_maillist_by_name(maillists_owner, receiverInfo[1])
|
||||||
|
if maillist then
|
||||||
|
for _, playername in ipairs(maillist.players) do
|
||||||
|
table.insert(receivers, playername)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
else -- in case of player
|
||||||
|
table.insert(receivers, receiver)
|
||||||
end
|
end
|
||||||
else -- in case of player
|
|
||||||
table.insert(receivers, receiver)
|
|
||||||
end
|
end
|
||||||
|
receivers_string = mail.concat_player_list(receivers)
|
||||||
end
|
end
|
||||||
|
|
||||||
return receivers
|
return receivers
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue