diff options
author | Alexey Shchepin <alexey@process-one.net> | 2004-03-03 21:07:27 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2004-03-03 21:07:27 +0000 |
commit | 0f95685c051e475ddb75bcd05d5e6272930e1931 (patch) | |
tree | 620eaba3085f108f9d000d3145bd659b8ec7a7fa /src/web/ejabberd_web.erl | |
parent | * src/web/: Small HTTP server and admin web-interface to ejabberd (diff) |
* src/web/: Minor update
SVN Revision: 207
Diffstat (limited to 'src/web/ejabberd_web.erl')
-rw-r--r-- | src/web/ejabberd_web.erl | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/src/web/ejabberd_web.erl b/src/web/ejabberd_web.erl index c8349439..1bda488b 100644 --- a/src/web/ejabberd_web.erl +++ b/src/web/ejabberd_web.erl @@ -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")])}. |