]> granicus.if.org Git - ejabberd/commitdiff
* src/web/: Minor update
authorAlexey Shchepin <alexey@process-one.net>
Wed, 3 Mar 2004 21:07:27 +0000 (21:07 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Wed, 3 Mar 2004 21:07:27 +0000 (21:07 +0000)
SVN Revision: 207

ChangeLog
src/web/ejabberd_http.erl
src/web/ejabberd_web.erl

index 472fbdebf54f7cabd69ef0aac29a38e140de0684..becab98e390d9f7f3482a4840ef8fbf4cd3a0843 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-03-03  Alexey Shchepin  <alexey@sevcom.net>
+
+       * src/web/: Minor update
+
 2004-03-02  Alexey Shchepin  <alexey@sevcom.net>
 
        * src/web/: Small HTTP server and admin web-interface to ejabberd
index cbae8b3bf685eca73f53c32cd0316c86a8880345..8735bffaed0002241c79fdd39d489db5eee07162 100644 (file)
@@ -102,7 +102,7 @@ process_request(#state{request_method = 'GET',
                    LQuery = parse_urlencoded(Query),
                    ?INFO_MSG("path: ~p, query: ~p~n", [NPath, LQuery]),
                    LPath = string:tokens(NPath, "/"),
-                   case ejabberd_web:process_get(User, LPath, LQuery) of
+                   case ejabberd_web:process_get(User, LPath, LQuery, "") of
                        El when element(1, El) == xmlelement ->
                            make_xhtml_output(200, [], El);
                        {Status, Headers, El} ->
@@ -141,7 +141,7 @@ process_request(#state{request_method = 'POST',
                    LPath = string:tokens(NPath, "/"),
                    LQuery = parse_urlencoded(Data),
                    ?INFO_MSG("client query: ~p~n", [LQuery]),
-                   case ejabberd_web:process_get(User, LPath, LQuery) of
+                   case ejabberd_web:process_get(User, LPath, LQuery, "") of
                        El when element(1, El) == xmlelement ->
                            make_xhtml_output(200, [], El);
                        {Status, Headers, El} ->
index c834943994c2c134e2101b297ea9877b9fabf0e6..1bda488bc9791a2654966bc330ad1a8ee389e1dc 100644 (file)
@@ -12,7 +12,7 @@
 
 %% External exports
 -export([make_xhtml/1,
-        process_get/3]).
+        process_get/4]).
 
 -include("ejabberd.hrl").
 -include("jlib.hrl").
@@ -43,7 +43,21 @@ make_xhtml(Els) ->
 -define(P, ?X("p")).
 -define(BR, ?X("br")).
 
-process_get(User, [], Query) ->
+
+process_get(User, ["config" | RPath], Query, Lang) ->
+    case acl:match_rule(configure, jlib:make_jid(User, ?MYNAME, "")) of
+       deny ->
+           {401, [], make_xhtml([?XC("h1", "Not Allowed")])};
+       allow ->
+           process_config(User, RPath, Query, Lang)
+    end;
+
+process_get(User, Path, Query, Lang) ->
+    {404, [], make_xhtml([?XC("h1", "Not found")])}.
+
+
+
+process_config(User, [], Query, Lang) ->
     make_xhtml([?XC("h1", "ejabberd configuration"),
                ?XE("ul",
                    [?LI([?AC("acls/", "Access Control Lists")]),
@@ -53,7 +67,7 @@ process_get(User, [], Query) ->
                    ])
               ]);
 
-process_get(User, ["acls"], Query) ->
+process_config(User, ["acls"], Query, Lang) ->
     case acl:match_rule(configure, jlib:make_jid(User, ?MYNAME, "")) of
        deny ->
            {401, [], make_xhtml([?XC("h1", "Not Allowed")])};
@@ -97,7 +111,7 @@ process_get(User, ["acls"], Query) ->
                       ])
     end;
 
-process_get(User, Path, Query) ->
+process_config(User, Path, Query, Lang) ->
     {404, [], make_xhtml([?XC("h1", "Not found")])}.