diff options
Diffstat (limited to 'src/node_pep.erl')
-rw-r--r-- | src/node_pep.erl | 114 |
1 files changed, 57 insertions, 57 deletions
diff --git a/src/node_pep.erl b/src/node_pep.erl index 8eeb28f0e..da0325396 100644 --- a/src/node_pep.erl +++ b/src/node_pep.erl @@ -1,28 +1,30 @@ -%%% ==================================================================== -%%% ``The contents of this file are subject to the Erlang Public License, -%%% Version 1.1, (the "License"); you may not use this file except in -%%% compliance with the License. You should have received a copy of the -%%% Erlang Public License along with this software. If not, it can be -%%% retrieved via the world wide web at http://www.erlang.org/. +%%%---------------------------------------------------------------------- +%%% File : node_pep.erl +%%% Author : Christophe Romain <christophe.romain@process-one.net> +%%% Purpose : Standard PubSub PEP plugin +%%% Created : 1 Dec 2007 by Christophe Romain <christophe.romain@process-one.net> %%% %%% -%%% Software distributed under the License is distributed on an "AS IS" -%%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -%%% the License for the specific language governing rights and limitations -%%% under the License. +%%% ejabberd, Copyright (C) 2002-2016 ProcessOne %%% +%%% This program is free software; you can redistribute it and/or +%%% modify it under the terms of the GNU General Public License as +%%% published by the Free Software Foundation; either version 2 of the +%%% License, or (at your option) any later version. %%% -%%% The Initial Developer of the Original Code is ProcessOne. -%%% Portions created by ProcessOne are Copyright 2006-2015, ProcessOne -%%% All Rights Reserved.'' -%%% This software is copyright 2006-2015, ProcessOne. +%%% This program is distributed in the hope that it will be useful, +%%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%%% General Public License for more details. %%% -%%% @copyright 2006-2015 ProcessOne -%%% @author Christophe Romain <christophe.romain@process-one.net> -%%% [http://www.process-one.net/] -%%% @version {@vsn}, {@date} {@time} -%%% @end -%%% ==================================================================== +%%% You should have received a copy of the GNU General Public License along +%%% with this program; if not, write to the Free Software Foundation, Inc., +%%% 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +%%% +%%%---------------------------------------------------------------------- + +%%% @doc The module <strong>{@module}</strong> is the pep PubSub plugin. +%%% <p>PubSub plugin nodes are using the {@link gen_pubsub_node} behaviour.</p> -module(node_pep). -behaviour(gen_pubsub_node). @@ -32,9 +34,6 @@ -include("jlib.hrl"). -include("logger.hrl"). -%%% @doc The module <strong>{@module}</strong> is the pep PubSub plugin. -%%% <p>PubSub plugin nodes are using the {@link gen_pubsub_node} behaviour.</p> - -export([init/3, terminate/2, options/0, features/0, create_node_permission/6, create_node/2, delete_node/1, purge_node/2, subscribe_node/8, unsubscribe_node/4, @@ -49,12 +48,13 @@ path_to_node/1]). init(Host, ServerHost, Opts) -> - node_hometree:init(Host, ServerHost, Opts), + node_flat:init(Host, ServerHost, Opts), complain_if_modcaps_disabled(ServerHost), ok. terminate(Host, ServerHost) -> - node_hometree:terminate(Host, ServerHost), ok. + node_flat:terminate(Host, ServerHost), + ok. options() -> [{deliver_payloads, true}, @@ -62,7 +62,7 @@ options() -> {notify_delete, false}, {notify_retract, false}, {purge_offline, false}, - {persist_items, false}, + {persist_items, true}, {max_items, 1}, {subscribe, true}, {access_model, presence}, @@ -93,7 +93,7 @@ features() -> <<"subscribe">>]. create_node_permission(Host, ServerHost, _Node, _ParentNode, Owner, Access) -> - LOwner = jlib:jid_tolower(Owner), + LOwner = jid:tolower(Owner), {User, Server, _Resource} = LOwner, Allowed = case LOwner of {<<"">>, Host, <<"">>} -> @@ -112,39 +112,39 @@ create_node_permission(Host, ServerHost, _Node, _ParentNode, Owner, Access) -> {result, Allowed}. create_node(Nidx, Owner) -> - node_hometree:create_node(Nidx, Owner). + node_flat:create_node(Nidx, Owner). delete_node(Nodes) -> - {result, {_, _, Result}} = node_hometree:delete_node(Nodes), + {result, {_, _, Result}} = node_flat:delete_node(Nodes), {result, {[], Result}}. subscribe_node(Nidx, Sender, Subscriber, AccessModel, SendLast, PresenceSubscription, RosterGroup, Options) -> - node_hometree:subscribe_node(Nidx, Sender, Subscriber, AccessModel, SendLast, + node_flat:subscribe_node(Nidx, Sender, Subscriber, AccessModel, SendLast, PresenceSubscription, RosterGroup, Options). unsubscribe_node(Nidx, Sender, Subscriber, SubId) -> - case node_hometree:unsubscribe_node(Nidx, Sender, Subscriber, SubId) of + case node_flat:unsubscribe_node(Nidx, Sender, Subscriber, SubId) of {error, Error} -> {error, Error}; {result, _} -> {result, []} end. publish_item(Nidx, Publisher, Model, MaxItems, ItemId, Payload) -> - node_hometree:publish_item(Nidx, Publisher, Model, MaxItems, ItemId, Payload). + node_flat:publish_item(Nidx, Publisher, Model, MaxItems, ItemId, Payload). remove_extra_items(Nidx, MaxItems, ItemIds) -> - node_hometree:remove_extra_items(Nidx, MaxItems, ItemIds). + node_flat:remove_extra_items(Nidx, MaxItems, ItemIds). delete_item(Nidx, Publisher, PublishModel, ItemId) -> - node_hometree:delete_item(Nidx, Publisher, PublishModel, ItemId). + node_flat:delete_item(Nidx, Publisher, PublishModel, ItemId). purge_node(Nidx, Owner) -> - node_hometree:purge_node(Nidx, Owner). + node_flat:purge_node(Nidx, Owner). get_entity_affiliations(Host, Owner) -> - {_, D, _} = SubKey = jlib:jid_tolower(Owner), - SubKey = jlib:jid_tolower(Owner), - GenKey = jlib:jid_remove_resource(SubKey), + {_, D, _} = SubKey = jid:tolower(Owner), + SubKey = jid:tolower(Owner), + GenKey = jid:remove_resource(SubKey), States = mnesia:match_object(#pubsub_state{stateid = {GenKey, '_'}, _ = '_'}), NodeTree = mod_pubsub:tree(Host), Reply = lists:foldl(fun (#pubsub_state{stateid = {_, N}, affiliation = A}, Acc) -> @@ -158,17 +158,17 @@ get_entity_affiliations(Host, Owner) -> get_node_affiliations(Nidx) -> - node_hometree:get_node_affiliations(Nidx). + node_flat:get_node_affiliations(Nidx). get_affiliation(Nidx, Owner) -> - node_hometree:get_affiliation(Nidx, Owner). + node_flat:get_affiliation(Nidx, Owner). set_affiliation(Nidx, Owner, Affiliation) -> - node_hometree:set_affiliation(Nidx, Owner, Affiliation). + node_flat:set_affiliation(Nidx, Owner, Affiliation). get_entity_subscriptions(Host, Owner) -> - {U, D, _} = SubKey = jlib:jid_tolower(Owner), - GenKey = jlib:jid_remove_resource(SubKey), + {U, D, _} = SubKey = jid:tolower(Owner), + GenKey = jid:remove_resource(SubKey), States = case SubKey of GenKey -> mnesia:match_object(#pubsub_state{stateid = {{U, D, '_'}, '_'}, _ = '_'}); @@ -198,45 +198,45 @@ get_entity_subscriptions(Host, Owner) -> {result, Reply}. get_node_subscriptions(Nidx) -> - node_hometree:get_node_subscriptions(Nidx). + node_flat:get_node_subscriptions(Nidx). get_subscriptions(Nidx, Owner) -> - node_hometree:get_subscriptions(Nidx, Owner). + node_flat:get_subscriptions(Nidx, Owner). set_subscriptions(Nidx, Owner, Subscription, SubId) -> - node_hometree:set_subscriptions(Nidx, Owner, Subscription, SubId). + node_flat:set_subscriptions(Nidx, Owner, Subscription, SubId). get_pending_nodes(Host, Owner) -> - node_hometree:get_pending_nodes(Host, Owner). + node_flat:get_pending_nodes(Host, Owner). get_states(Nidx) -> - node_hometree:get_states(Nidx). + node_flat:get_states(Nidx). get_state(Nidx, JID) -> - node_hometree:get_state(Nidx, JID). + node_flat:get_state(Nidx, JID). set_state(State) -> - node_hometree:set_state(State). + node_flat:set_state(State). get_items(Nidx, From, RSM) -> - node_hometree:get_items(Nidx, From, RSM). + node_flat:get_items(Nidx, From, RSM). get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, SubId, RSM) -> - node_hometree:get_items(Nidx, JID, AccessModel, + node_flat:get_items(Nidx, JID, AccessModel, PresenceSubscription, RosterGroup, SubId, RSM). get_item(Nidx, ItemId) -> - node_hometree:get_item(Nidx, ItemId). + node_flat:get_item(Nidx, ItemId). get_item(Nidx, ItemId, JID, AccessModel, PresenceSubscription, RosterGroup, SubId) -> - node_hometree:get_item(Nidx, ItemId, JID, AccessModel, + node_flat:get_item(Nidx, ItemId, JID, AccessModel, PresenceSubscription, RosterGroup, SubId). set_item(Item) -> - node_hometree:set_item(Item). + node_flat:set_item(Item). get_item_name(Host, Node, Id) -> - node_hometree:get_item_name(Host, Node, Id). + node_flat:get_item_name(Host, Node, Id). node_to_path(Node) -> node_flat:node_to_path(Node). @@ -257,7 +257,7 @@ complain_if_modcaps_disabled(ServerHost) -> false -> ?WARNING_MSG("The PEP plugin is enabled in mod_pubsub " "of host ~p. This plugin requires mod_caps " - "to be enabled, but it isn't.", + "but it does not seems enabled, please check config.", [ServerHost]); true -> ok end. |