mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-26 16:26:24 +01:00
Add support for @online@ to add_user_to_group
This commit is contained in:
parent
f3f80ea0ea
commit
17099eaaca
@ -664,14 +664,15 @@ add_user_to_group(Host, {LUser, LServer} = US, Group) ->
|
|||||||
case re:run(LUser, "^@.+@$", [{capture, none}]) of
|
case re:run(LUser, "^@.+@$", [{capture, none}]) of
|
||||||
match ->
|
match ->
|
||||||
GroupOpts = mod_shared_roster:get_group_opts(Host, Group),
|
GroupOpts = mod_shared_roster:get_group_opts(Host, Group),
|
||||||
AllUsersOpt =
|
MoreGroupOpts =
|
||||||
case LUser == "@all@" of
|
case LUser of
|
||||||
true -> [{all_users, true}];
|
"@all@" -> [{all_users, true}];
|
||||||
false -> []
|
"@online@" -> [{online_users, true}];
|
||||||
|
_ -> []
|
||||||
end,
|
end,
|
||||||
mod_shared_roster:set_group_opts(
|
mod_shared_roster:set_group_opts(
|
||||||
Host, Group,
|
Host, Group,
|
||||||
GroupOpts ++ AllUsersOpt);
|
GroupOpts ++ MoreGroupOpts);
|
||||||
nomatch ->
|
nomatch ->
|
||||||
%% Push this new user to members of groups where this group is displayed
|
%% Push this new user to members of groups where this group is displayed
|
||||||
push_user_to_displayed(LUser, LServer, Group, both),
|
push_user_to_displayed(LUser, LServer, Group, both),
|
||||||
@ -700,7 +701,9 @@ remove_user_from_group(Host, {LUser, LServer} = US, Group) ->
|
|||||||
NewGroupOpts =
|
NewGroupOpts =
|
||||||
case LUser of
|
case LUser of
|
||||||
"@all@" ->
|
"@all@" ->
|
||||||
lists:filter(fun(X) -> X/={all_users,true} end, GroupOpts)
|
lists:filter(fun(X) -> X/={all_users,true} end, GroupOpts);
|
||||||
|
"@online@" ->
|
||||||
|
lists:filter(fun(X) -> X/={online_users,true} end, GroupOpts)
|
||||||
end,
|
end,
|
||||||
mod_shared_roster:set_group_opts(Host, Group, NewGroupOpts);
|
mod_shared_roster:set_group_opts(Host, Group, NewGroupOpts);
|
||||||
nomatch ->
|
nomatch ->
|
||||||
|
Loading…
Reference in New Issue
Block a user