]> granicus.if.org Git - ejabberd/commitdiff
pubsub get_default bugfix (EJAB-656)
authorChristophe Romain <christophe.romain@process-one.net>
Wed, 18 Jun 2008 16:19:18 +0000 (16:19 +0000)
committerChristophe Romain <christophe.romain@process-one.net>
Wed, 18 Jun 2008 16:19:18 +0000 (16:19 +0000)
SVN Revision: 1358

ChangeLog
src/mod_pubsub/mod_pubsub.erl

index a982a99e0a977736c66f6b3811a1252a45296584..0cb22aff9116cf8e5b31015e2431d00c715d0bfa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-06-18  Christophe Romain  <christophe.romain@process-one.net>
+
+       * src/mod_pubsub/mod_pubsub.erl: get_default bugfix (EJAB-656)
+
 2008-06-13  Badlop  <badlop@process-one.net>
 
        * src/mod_muc/mod_muc_room.erl: Allow admins to send messages to
index b1a9639bb38dec77ee0b13c9fb4c366fc9c3a87d..ffd77009e819fd1f63e5aeef8f4afaab70f5804f 100644 (file)
@@ -2351,22 +2351,14 @@ get_configure(Host, Node, From, Lang) ->
        end,
     transaction(Host, Node, Action, sync_dirty).
 
-get_default(Host, Node, From, Lang) ->
-    Action =
-       fun(#pubsub_node{owners = Owners, type = Type}) ->
-               case node_call(Type, get_affiliation, [Host, Node, From]) of
-                   {result, owner} ->
-                       Options = node_options(Type),
-                       {result, [{xmlelement, "pubsub", [{"xmlns", ?NS_PUBSUB_OWNER}],
-                                  [{xmlelement, "default", [],
-                                    [{xmlelement, "x", [{"xmlns", ?NS_XDATA}, {"type", "form"}],
-                                      get_configure_xfields(Type, Options, Lang, Owners)
-                                     }]}]}]};
-                   _ ->
-                       {error, ?ERR_FORBIDDEN}
-               end
-       end,
-    transaction(Host, Node, Action, sync_dirty).
+get_default(Host, _Node, _From, Lang) ->
+    Type = hd(plugins(Host)),  % first configured plugin is default
+    Options = node_options(Type),
+    {result, [{xmlelement, "pubsub", [{"xmlns", ?NS_PUBSUB_OWNER}],
+               [{xmlelement, "default", [],
+                   [{xmlelement, "x", [{"xmlns", ?NS_XDATA}, {"type", "form"}],
+                       get_configure_xfields(Type, Options, Lang, [])
+               }]}]}]}.
 
 %% Get node option
 %% The result depend of the node type plugin system.
@@ -2435,7 +2427,7 @@ max_items(Options) ->
                    atom_to_list(get_option(Options, Var)),
                    [atom_to_list(O) || O <- Opts])).
 
-get_configure_xfields(_Type, Options, _Owners, Lang) ->
+get_configure_xfields(_Type, Options, Lang, _Owners) ->
     [?XFIELD("hidden", "", "FORM_TYPE", ?NS_PUBSUB_NODE_CONFIG),
      ?BOOL_CONFIG_FIELD("Deliver payloads with event notifications", deliver_payloads),
      ?BOOL_CONFIG_FIELD("Deliver event notifications", deliver_notifications),