]> granicus.if.org Git - ejabberd/commitdiff
* src/web/ejabberd_web_admin.erl: max_user_sessions access rule
authorBadlop <badlop@process-one.net>
Wed, 26 Dec 2007 12:29:15 +0000 (12:29 +0000)
committerBadlop <badlop@process-one.net>
Wed, 26 Dec 2007 12:29:15 +0000 (12:29 +0000)
contains an integer, but webadmin always expects atoms (EJAB-482)

SVN Revision: 1124

ChangeLog
src/web/ejabberd_web_admin.erl

index 30ae615ba5a216f7a62677d4baa66d694c28555d..5bc641e81f8614a0d4371c52a3e2cd4f2103af86 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-26  Badlop  <badlop@process-one.net>
+
+       * src/web/ejabberd_web_admin.erl: max_user_sessions access rule
+       contains an integer, but webadmin always expects atoms (EJAB-482)
+
 2007-12-25  Badlop  <badlop@process-one.net>
 
        * src/mod_configure.erl: Bugfix, update to match changes in
index cbec6e4d0af11e3d3dfb173f6ac9e140e2ee50bb..7bc169abea457e32fe88e20ed98063d480111262 100644 (file)
@@ -1223,7 +1223,7 @@ access_parse_delete(AccessRules, Host, Query) ->
 access_rule_to_xhtml(Rules) ->
     Text = lists:flatmap(
             fun({Access, ACL} = _Rule) ->
-                    SAccess = atom_to_list(Access),
+                    SAccess = element_to_list(Access),
                     SACL = atom_to_list(ACL),
                     SAccess ++ "\t" ++ SACL ++ "\n"
             end, Rules),
@@ -1238,7 +1238,7 @@ parse_access_rule(Text) ->
                 fun(String) ->
                         case string:tokens(String, "\s\t") of
                             [Access, ACL] ->
-                                [{list_to_atom(Access), list_to_atom(ACL)}];
+                                [{list_to_element(Access), list_to_atom(ACL)}];
                             [] ->
                                 []
                         end
@@ -2243,6 +2243,13 @@ pretty_print_xml({xmlelement, Name, Attrs, Els}, Prefix) ->
             end
      end].
 
+element_to_list(X) when is_atom(X) -> atom_to_list(X);
+element_to_list(X) when is_integer(X) -> integer_to_list(X).
+
+list_to_element(List) ->
+    {ok, Tokens, _} = erl_scan:string(List),
+    [{_, _, Element}] = Tokens,
+    Element.
 
 url_func({user_diapason, From, To}) ->
     integer_to_list(From) ++ "-" ++ integer_to_list(To) ++ "/";