aboutsummaryrefslogtreecommitdiff
path: root/src/node_pep.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/node_pep.erl')
-rw-r--r--src/node_pep.erl114
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.