]> 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:15 +0000 (16:19 +0000)
committerChristophe Romain <christophe.romain@process-one.net>
Wed, 18 Jun 2008 16:19:15 +0000 (16:19 +0000)
SVN Revision: 1357

ChangeLog
src/mod_pubsub/mod_pubsub.erl

index ed0aa15f9ae143aa63b18a86cf7a40625ce478eb..8a4a3f98408f138f85c342b8a6bba0df84088264 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/ejabberd.cfg.example: Add registration_timeout (EJAB-653)
index 288582c0b2f9849ed146319bff96e97fc77a332f..4f388fe08715c3ed75deae5f54f8b9463a673ef0 100644 (file)
@@ -2341,22 +2341,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.
@@ -2425,7 +2417,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),