]> granicus.if.org Git - ejabberd/commitdiff
Implement basic voice request processing logic.
authorMaxim Ignatenko <gelraen.ua@gmail.com>
Mon, 25 Jul 2011 16:54:45 +0000 (19:54 +0300)
committerMaxim Ignatenko <gelraen.ua@gmail.com>
Mon, 26 Sep 2011 08:16:28 +0000 (11:16 +0300)
No rate control or configuration for now

src/mod_muc/mod_muc_room.erl

index d569cdb150b44150ac76c7ff661f654bdde6385d..aec54b6843a63d3ef286fdbdb1b87c175643791b 100644 (file)
@@ -298,7 +298,16 @@ normal_state({route, From, "",
                                        end
                                end;
                        IsVoiceRequest ->
-                               send_voice_request(From, StateData),
+                               case is_visitor(From, StateData) of
+                               true ->
+                                       send_voice_request(From, StateData);
+                               _ ->
+                                       ErrText = "Only visitors allowed to request voice",
+                                       Err = jlib:make_error_reply(
+                                               Packet, ?ERRT_NOT_ALLOWED(Lang, ErrText)),
+                                       ejabberd_router:route(
+                                               StateData#state.jid, From, Err)
+                               end,
                                {next_state, normal_state, StateData};
                        IsVoiceApprovement ->
                                {next_state, normal_state, StateData};