]> granicus.if.org Git - ejabberd/commitdiff
* src/mod_muc/mod_muc_room.erl: Fixed room destroying
authorAlexey Shchepin <alexey@process-one.net>
Fri, 8 Oct 2004 20:40:29 +0000 (20:40 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Fri, 8 Oct 2004 20:40:29 +0000 (20:40 +0000)
* src/ejabberd.cfg.example: Updated

* src/ejabberd_sm.erl: Fixed message routing when all resources
have negative priority

* src/msgs/*.msg: Updated (thanks to Sergei Golovan)

* src/web/ejabberd_web_admin.erl: Table titles now bold (thanks to
Sergei Golovan)

SVN Revision: 275

ChangeLog
doc/guide.tex
src/ejabberd.cfg.example
src/ejabberd_sm.erl
src/mod_muc/mod_muc_room.erl
src/msgs/es.msg
src/msgs/fr.msg
src/msgs/nl.msg
src/msgs/ru.msg
src/msgs/ua.msg
src/web/ejabberd_web_admin.erl

index 3005a91a27465d7a73cfed660f1c4b2eb3b4f753..3be518152463e0ce9a3537965c8f458d653ebc17 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2004-10-08  Alexey Shchepin  <alexey@sevcom.net>
+
+       * src/mod_muc/mod_muc_room.erl: Fixed room destroying
+
+       * src/ejabberd.cfg.example: Updated
+
+       * src/ejabberd_sm.erl: Fixed message routing when all resources
+       have negative priority
+
+       * src/msgs/*.msg: Updated (thanks to Sergei Golovan)
+
+       * src/web/ejabberd_web_admin.erl: Table titles now bold (thanks to
+       Sergei Golovan)
+
 2004-10-06  Alexey Shchepin  <alexey@sevcom.net>
 
        * doc/guide.tex: Updated
index dd2775f4120edb1c5c91acca4c402028cefee28b..9021e6d40cf1cfce3731373d21fb27e95d5db1f3 100644 (file)
@@ -77,7 +77,7 @@ then prefix \jid{#1.} is added to main \ejabberd{} hostname.}
 \author{Alexey Shchepin \\
   \ahrefurl{mailto:alexey@sevcom.net} \\
   \ahrefurl{xmpp:aleksey@jabber.ru}}
-\date{June 24, 2004}
+\date{October 8, 2004}
 
 \begin{document}
 \begin{titlepage}
index 253752f534e8293a44b29e9ce7a5b64eaf82679b..3940f43f14e9d7387183c729641aaf3c4c9efde2 100644 (file)
 % this line:
 {auth_method, internal}.
 
-% For LDAP uthentification use these lines instead of above one:
+% For LDAP authentification use these lines instead of above one:
 %{auth_method, ldap}.
 %{ldap_servers, ["localhost"]}.    % List of LDAP servers
 %{ldap_uidattr, "uid"}.            % LDAP attribute that holds user ID
 %{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory
 
+% For authentification via external script use the following:
+%{auth_method, external}.
+%{extauth_program, "/path/to/authentification/script"}.
+
 
 % Host name:
 {host, "localhost"}.
index 90bec9b67dedfdf5a1a88eb74aa1a16b4acb0026..bb8fb495198899c64095a1b1669bc5b36e2c2ddf 100644 (file)
@@ -260,7 +260,19 @@ do_route(From, To, Packet) ->
 route_message(From, To, Packet) ->
     LUser = To#jid.luser,
     case catch lists:max(get_user_present_resources(LUser)) of
-       {'EXIT', _} ->
+       {Priority, R} when is_integer(Priority),
+                          Priority >= 0 ->
+           LResource = jlib:resourceprep(R),
+           LUR = {LUser, LResource},
+           case mnesia:dirty_read({session, LUR}) of
+               [] ->
+                   ok;                         % Race condition
+               [Sess] ->
+                   Pid = Sess#session.pid,
+                   ?DEBUG("sending to process ~p~n", [Pid]),
+                   Pid ! {route, From, To, Packet}
+           end;
+       _ ->
            case xml:get_tag_attr_s("type", Packet) of
                "error" ->
                    ok;
@@ -274,17 +286,6 @@ route_message(From, To, Packet) ->
                                    Packet, ?ERR_SERVICE_UNAVAILABLE),
                            ejabberd_router:route(To, From, Err)
                    end
-           end;
-       {_, R} ->
-           LResource = jlib:resourceprep(R),
-           LUR = {LUser, LResource},
-           case mnesia:dirty_read({session, LUR}) of
-               [] ->
-                   ok;                         % Race condition
-               [Sess] ->
-                   Pid = Sess#session.pid,
-                   ?DEBUG("sending to process ~p~n", [Pid]),
-                   Pid ! {route, From, To, Packet}
            end
     end.
 
index 17aaeacaabb8fead95b8f63eea9818998f79f1d8..810f1d58069985bc563aef9a497406378b09b1bc 100644 (file)
@@ -2126,6 +2126,12 @@ destroy_room(DEls, StateData) ->
                Info#user.jid,
                Packet)
       end, ?DICT:to_list(StateData#state.users)),
+    case (StateData#state.config)#config.persistent of
+       true ->
+           mod_muc:forget_room(StateData#state.room);
+       false ->
+           ok
+       end,
     {result, [], stop}.
 
 
index 7c04dec6d6cce6c6b4871fcc9c5aca60de54a9b6..04da7af2e6e3282e4c4f55e552e1eb6670351c93 100644 (file)
 {"Options", "Opciones"}.
 {"Update", "Actualizar"}.
 {"Delete", "Eliminar"}.
-{"", ""}.
+{"Add User", ""}.
+{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
+{"Offline messages", ""}.
+{"Last Activity", ""}.
+{"Never", ""}.
+{"~s offline messages queue", ""}.
+{"Time", ""}.
+{"From", ""}.
+{"To", ""}.
+{"Packet", ""}.
+{"Offline messages:", ""}.
+{"Roster", ""}.
+{"Nickname", ""}.
+{"Subscription", ""}.
+{"Pending", ""}.
+{"Groups", ""}.
+{"Remove", ""}.
+{"Add JID", ""}.
+{"User ", ""}.
+{"Roster of ", ""}.
 
 % Local Variables:
 % mode: erlang
index 5d7509394e4b73ff1740e722f553ee5402e57a72..7d667fac0aba4314f2c0cdd1a56f57c938b805f0 100644 (file)
 {"Options", ""}.
 {"Update", ""}.
 {"Delete", ""}.
-{"", ""}.
+{"Add User", ""}.
+{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
+{"Offline messages", ""}.
+{"Last Activity", ""}.
+{"Never", ""}.
+{"~s offline messages queue", ""}.
+{"Time", ""}.
+{"From", ""}.
+{"To", ""}.
+{"Packet", ""}.
+{"Offline messages:", ""}.
+{"Roster", ""}.
+{"Nickname", ""}.
+{"Subscription", ""}.
+{"Pending", ""}.
+{"Groups", ""}.
+{"Remove", ""}.
+{"Add JID", ""}.
+{"User ", ""}.
+{"Roster of ", ""}.
 
 % Local Variables:
 % mode: erlang
index 242f140ac82c8571b83ce8d8d44e7af3c82d799a..dd4365fb2eacb1b49996bce7608d0db1697e991f 100644 (file)
 {"Options", "Opties"}.
 {"Update", "Bijwerken"}.
 {"Delete", "Verwijderen"}.
-{"", ""}.
+{"Add User", ""}.
+{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
+{"Offline messages", ""}.
+{"Last Activity", ""}.
+{"Never", ""}.
+{"~s offline messages queue", ""}.
+{"Time", ""}.
+{"From", ""}.
+{"To", ""}.
+{"Packet", ""}.
+{"Offline messages:", ""}.
+{"Roster", ""}.
+{"Nickname", ""}.
+{"Subscription", ""}.
+{"Pending", ""}.
+{"Groups", ""}.
+{"Remove", ""}.
+{"Add JID", ""}.
+{"User ", ""}.
+{"Roster of ", ""}.
 
 % Local Variables:
 % mode: erlang
index 6092b44afd3d9c75b9a67a059157f84dd61bbeee..142e66c17c013151b90bea1b0db94af7faf32ba8 100644 (file)
 {"Options", "Параметры"}.
 {"Update", "Обновить"}.
 {"Delete", "Удалить"}.
-{"", ""}.
+{"Add User", "Добавить пользователя"}.
+{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", "ejabberd (c) 2002-2004 Алексей Щепин, 2004 Process One"}.
+{"Offline messages", "Офлайновые сообщения"}.
+{"Last Activity", "Последнее подключение"}.
+{"Never", "Никогда"}.
+{"~s offline messages queue", "Oчередь офлайновых сообщений ~s"}.
+{"Time", "Время"}.
+{"From", "От кого"}.
+{"To", "Кому"}.
+{"Packet", "Пакет"}.
+{"Offline messages:", "Офлайновые сообщения:"}.
+{"Roster", "Ростер"}.
+{"Nickname", "Псевдоним"}.
+{"Subscription", "Подписка"}.
+{"Pending", "Ожидание"}.
+{"Groups", "Группы"}.
+{"Remove", "Удалить"}.
+{"Add JID", "Добавить JID"}.
+{"User ", "Пользователь "}.
+{"Roster of ", "Ростер пользователя "}.
 
 % Local Variables:
 % mode: erlang
index f4db92ccae3e95e1ad8818ffba8bd1b52cc290b4..d6b4c86013fe282fd42a1e5eac8069193abecbf6 100644 (file)
 {"Options", "Параметри"}.
 {"Update", "Обновити"}.
 {"Delete", "Видалити"}.
-{"", ""}.
+{"Add User", ""}.
+{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
+{"Offline messages", ""}.
+{"Last Activity", ""}.
+{"Never", ""}.
+{"~s offline messages queue", ""}.
+{"Time", ""}.
+{"From", ""}.
+{"To", ""}.
+{"Packet", ""}.
+{"Offline messages:", ""}.
+{"Roster", ""}.
+{"Nickname", ""}.
+{"Subscription", ""}.
+{"Pending", ""}.
+{"Groups", ""}.
+{"Remove", ""}.
+{"Add JID", ""}.
+{"User ", ""}.
+{"Roster of ", ""}.
 
 % Local Variables:
 % mode: erlang
index 484ac8bcd0c0019a0a1e58b89dae390d13a61ce9..31ff45bb0e9e7c993f2458ce94d78ad651aedb9d 100644 (file)
@@ -324,6 +324,13 @@ select {
     padding: 0.1em;
 }
 
+thead {
+  color: #000000;
+  background-color: #ffffff;
+  font-family: Verdana, Arial, Helvetica, sans-serif; 
+  font-size: 10pt;
+  font-weight: bold;
+}
 
 tr.head {
   color: #ffffff;
@@ -1226,7 +1233,7 @@ user_info(User, Query, Lang) ->
     QueueLen = length(mnesia:dirty_read({offline_msg, User})),
     FQueueLen = [?AC("queue/",
                     integer_to_list(QueueLen))],
-    [?XC("h1", "User: " ++ User)] ++
+    [?XC("h1", ?T("User ") ++ User)] ++
        case Res of
            ok -> [?CT("submitted"), ?P];
            error -> [?CT("bad format"), ?P];
@@ -1291,7 +1298,7 @@ user_queue(User, Query, Lang) ->
                       ?XAE("td", [{"class", "valign"}], [?XC("pre", FPacket)])]
                     )
          end, Msgs),
-    [?XC("h1", User ++ " offline messages queue")] ++
+    [?XC("h1", io_lib:format(?T("~s offline messages queue"), [User]))] ++
        case Res of
            ok -> [?CT("submitted"), ?P];
            error -> [?CT("bad format"), ?P];
@@ -1367,7 +1374,7 @@ user_roster(User, Query, Lang, Admin) ->
                     [?XE("thead",
                          [?XE("tr",
                               [?XCT("td", "JID"),
-                               ?XCT("td", "Name"),
+                               ?XCT("td", "Nickname"),
                                ?XCT("td", "Subscription"),
                                ?XCT("td", "Pending"),
                                ?XCT("td", "Groups")
@@ -1408,7 +1415,7 @@ user_roster(User, Query, Lang, Admin) ->
                                                       "Remove")])])
                            end, SItems))])]
        end,
-    [?XC("h1", "Roster of " ++ User)] ++
+    [?XC("h1", ?T("Roster of ") ++ User)] ++
        case Res of
            ok -> [?CT("submitted"), ?P];
            error -> [?CT("bad format"), ?P];