diff options
author | Alexey Shchepin <alexey@process-one.net> | 2003-05-09 19:32:59 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2003-05-09 19:32:59 +0000 |
commit | 86cd1729cb0fce35e17c9e4a8d44a64cfd409db8 (patch) | |
tree | c05468bce96e13031bc68eed1b33d5860f4a61b6 /src/mod_muc | |
parent | * src/mod_muc/mod_muc.erl: Denied using of empty nick (diff) |
* src/ejabberd_local.erl: Updated missed errors to new style
* src/mod_register.erl: Likewise
* src/mod_version.erl: Likewise
* src/mod_time.erl: Likewise
* src/mod_stats.erl: Likewise
* src/mod_register.erl: Likewise
* src/mod_private.erl: Likewise
* src/mod_configure.erl: Likewise
* src/ejabberd_sm.erl: Likewise
* src/ejabberd_service.erl: Likewise
* src/ejabberd_c2s.erl: Likewise
* src/ejabberd_s2s_out.erl: Likewise
* src/mod_vcard.erl: Likewise
* src/mod_roster.erl: Likewise
* src/mod_muc/mod_muc.erl: Added vcard to mod_muc module
* src/ejabberd_app.erl: Dump list of opened ports every hour
* src/ejabberd.hrl: Added INFO_MSG macros, ERROR_LOG_PATH renamed
to LOG_PATH
SVN Revision: 106
Diffstat (limited to '')
-rw-r--r-- | src/mod_muc/mod_muc.erl | 25 | ||||
-rw-r--r-- | src/mod_muc/mod_muc_room.erl | 3 |
2 files changed, 25 insertions, 3 deletions
diff --git a/src/mod_muc/mod_muc.erl b/src/mod_muc/mod_muc.erl index ac8d1320..dfb64f52 100644 --- a/src/mod_muc/mod_muc.erl +++ b/src/mod_muc/mod_muc.erl @@ -115,9 +115,18 @@ do_route(Host, From, To, Packet) -> Packet, Error), ejabberd_router:route(To, From, Err) end; + {iq, ID, get, ?NS_VCARD = XMLNS, SubEl} -> + Lang = xml:get_tag_attr_s("xml:lang", SubEl), + Res = {iq, ID, result, XMLNS, + [{xmlelement, "query", + [{"xmlns", XMLNS}], + iq_get_vcard(Lang)}]}, + ejabberd_router:route(To, + From, + jlib:iq_to_xml(Res)); _ -> Err = jlib:make_error_reply( - Packet, ?ERR_SERVICE_UNAVAILABLE), + Packet, ?ERR_FEATURE_NOT_IMPLEMENTED), ejabberd_router:route(To, From, Err) end; _ -> @@ -212,7 +221,8 @@ iq_disco_info() -> {"type", "text"}, {"name", "ejabberd/mod_muc"}], []}, {xmlelement, "feature", [{"var", ?NS_MUC}], []}, - {xmlelement, "feature", [{"var", ?NS_REGISTER}], []}]. + {xmlelement, "feature", [{"var", ?NS_REGISTER}], []}, + {xmlelement, "feature", [{"var", ?NS_VCARD}], []}]. process_iq_disco_items(Host, From, To, ID, SubEl) -> @@ -337,6 +347,17 @@ process_iq_register_set(From, SubEl) -> {error, ?ERR_BAD_REQUEST} end. +iq_get_vcard(Lang) -> + [{xmlelement, "FN", [], + [{xmlcdata, "ejabberd/mod_muc"}]}, + {xmlelement, "URL", [], + [{xmlcdata, + "http://ejabberd.jabberstudio.org/"}]}, + {xmlelement, "DESC", [], + [{xmlcdata, "ejabberd MUC module\n" + "Copyright (c) 2003 Alexey Shchepin"}]}]. + + can_use_nick(JID, "") -> false; diff --git a/src/mod_muc/mod_muc_room.erl b/src/mod_muc/mod_muc_room.erl index 38ff3750..39cf4a0e 100644 --- a/src/mod_muc/mod_muc_room.erl +++ b/src/mod_muc/mod_muc_room.erl @@ -306,7 +306,8 @@ normal_state({route, From, Nick, case is_nick_exists(Nick, StateData) of true -> Err = jlib:make_error_reply( - Packet, ?ERR_MUC_NICK_CHANGE_CONFLICT), + Packet, + ?ERR_MUC_NICK_CHANGE_CONFLICT), ejabberd_router:route( {StateData#state.room, StateData#state.host, |