25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-24 16:23:40 +01:00

* src/mod_last_odbc.erl: Adapted to mod_privacy changes.

* src/mod_privacy_odbc.erl: Refactoring to extract records in include file.

SVN Revision: 827
This commit is contained in:
Mickaël Rémond 2007-07-26 09:37:16 +00:00
parent df57442d75
commit 9081f1f2b6
3 changed files with 23 additions and 36 deletions

View File

@ -1,7 +1,12 @@
2007-07-26 Mickael Remond <mickael.remond@process-one.net>
* src/mod_last_odbc.erl: Adapted to mod_privacy changes.
* src/mod_privacy_odbc.erl: Refactoring to extract records in
include file.
* src/mod_last.erl: Adapted to mod_privacy changes.
* src/mod_privacy.erl: Refactoring to extract records in include file.
* src/mod_privacy.erl: Refactoring to extract records in include
file.
* src/mod_privacy.hrl: Likewise.
* src/mod_roster_odbc.erl: Fixed wrong call.

View File

@ -22,7 +22,7 @@
-include("ejabberd.hrl").
-include("jlib.hrl").
-include("mod_privacy.hrl").
start(Host, Opts) ->
IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue),
@ -69,23 +69,22 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
{none, []}, [User, Server, From]),
if
(Subscription == both) or (Subscription == from) ->
case catch mod_privacy:get_user_list(User, Server) of
{'EXIT', _Reason} ->
UserListRecord = ejabberd_hooks:run_fold(
privacy_get_user_list, Server,
#userlist{},
[User, Server]),
case ejabberd_hooks:run_fold(
privacy_check_packet, Server,
allow,
[User, Server, UserListRecord,
{From, To,
{xmlelement, "presence", [], []}},
out]) of
allow ->
get_last(IQ, SubEl, User, Server);
List ->
case catch mod_privacy:check_packet(
User, Server, List,
{From, To,
{xmlelement, "presence", [], []}},
out) of
{'EXIT', _Reason} ->
get_last(IQ, SubEl, User, Server);
allow ->
get_last(IQ, SubEl, User, Server);
deny ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
end
deny ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
end;
true ->
IQ#iq{type = error,

View File

@ -22,24 +22,7 @@
-include("ejabberd.hrl").
-include("jlib.hrl").
-record(privacy, {us,
default = none,
lists = []}).
-record(listitem, {type = none,
value = none,
action,
order,
match_all = false,
match_iq = false,
match_message = false,
match_presence_in = false,
match_presence_out = false
}).
-record(userlist, {name = none, list = []}).
-include("mod_privacy.hrl").
start(Host, Opts) ->
IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue),