Permit sub-lists

This commit is contained in:
Athozus 2023-04-02 10:32:45 +02:00
parent 7fb292556c
commit ab0cd1d82f
No known key found for this signature in database
GPG key ID: B50895022E8484BF

View file

@ -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