Return Registered element when account exists (thanks to PioneerMike)
authorBadlop <badlop@process-one.net>
Wed, 28 Jul 2010 17:32:42 +0000 (19:32 +0200)
committerBadlop <badlop@process-one.net>
Wed, 28 Jul 2010 17:32:42 +0000 (19:32 +0200)
src/mod_register.erl

index 35fa1ea6738fcf8880f988e7333c247ef8bcbeb3..11d4d4959f4f1649144efb6650fcf80c92a7c2af 100644 (file)
@@ -187,6 +187,18 @@ process_iq(From, To,
                          sub_el = [SubEl, ?ERR_BAD_REQUEST]}
            end;
        get ->
+           {UsernameSubels, QuerySubels} =
+               case From of
+                   #jid{user = User, lserver = Server} ->
+                       case ejabberd_auth:is_user_exists(User,Server) of
+                           true ->
+                               {[{xmlcdata, User}], [{xmlelement, "registered", [], []}]};
+                           false ->
+                               {[{xmlcdata, User}], []}
+                       end;
+                   _ ->
+                       {[], []}
+               end,
            IQ#iq{type = result,
                  sub_el = [{xmlelement,
                             "query",
@@ -197,8 +209,9 @@ process_iq(From, To,
                                   Lang,
                                   "Choose a username and password "
                                   "to register with this server")}]},
-                             {xmlelement, "username", [], []},
-                             {xmlelement, "password", [], []}]}]}
+                             {xmlelement, "username", [], UsernameSubels},
+                             {xmlelement, "password", [], []}
+                             | QuerySubels]}]}
     end.
 
 %% @doc Try to change password and return IQ response