]> git.pld-linux.org Git - packages/ejabberd.git/commitdiff
- mod_logdb for 2.1.0 auto/th/ejabberd-2_1_0-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 22 Nov 2009 15:53:40 +0000 (15:53 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    ejabberd-mod_logdb.patch -> 1.4
    ejabberd.spec -> 1.56

ejabberd-mod_logdb.patch
ejabberd.spec

index 8e9c93701655c7ac4fca920b2b7f6d29f65b399d..344476595e47addeb01a2a819bc5e1cdff0a23dd 100644 (file)
@@ -1,6 +1,6 @@
---- src/mod_logdb.erl.orig     2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb.erl  2009-02-05 19:19:51.000000000 +0200
-@@ -0,0 +1,2094 @@
+--- mod_logdb.erl.orig 2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb.erl      2009-11-22 13:06:16.000000000 +0200
+@@ -0,0 +1,2095 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb.erl
 +%%% Author  : Oleg Palij (mailto,xmpp:o.palij@gmail.com)
 +    {ok, Pid}.
 +
 +init([VHost, Opts]) ->
++    ?MYDEBUG("Starting mod_logdb", []),
 +    process_flag(trap_exit, true),
 +    DBs = gen_mod:get_opt(dbs, Opts, [{mnesia, []}]),
 +    VHostDB = gen_mod:get_opt(vhosts, Opts, [{VHost, mnesia}]),
 +                purge_older_days=gen_mod:get_opt(purge_older_days, Opts, never),
 +                poll_users_settings=PollUsersSettings}}.
 +
-+cleanup(#state{vhost=VHost} = State) ->
++cleanup(#state{vhost=VHost} = _State) ->
 +    ?MYDEBUG("Stopping ~s for ~p", [?MODULE, VHost]),
 +
 +    %ets:delete(ets_settings_table(VHost)),
 +
 +    ?MYDEBUG("Removed hooks for ~p", [VHost]),
 +
-+    ejabberd_ctl:unregister_commands(VHost, [{"rebuild_stats", "rebuild mod_logdb module stats for vhost"}], ?MODULE, rebuild_stats),
-+    Supported_backends = lists:flatmap(fun({Backend, _Opts}) ->
-+                                            [atom_to_list(Backend), " "]
-+                                       end, State#state.dbs),
-+    ejabberd_ctl:unregister_commands(
-+                           VHost,
-+                           [{"copy_messages backend", "copy messages from backend to current backend. backends could be: " ++ Supported_backends }],
-+                           ?MODULE, copy_messages_ctl),
++    %ejabberd_ctl:unregister_commands(VHost, [{"rebuild_stats", "rebuild mod_logdb module stats for vhost"}], ?MODULE, rebuild_stats),
++    %Supported_backends = lists:flatmap(fun({Backend, _Opts}) ->
++    %                                        [atom_to_list(Backend), " "]
++    %                                   end, State#state.dbs),
++    %ejabberd_ctl:unregister_commands(
++    %                       VHost,
++    %                       [{"copy_messages backend", "copy messages from backend to current backend. backends could be: " ++ Supported_backends }],
++    %                       ?MODULE, copy_messages_ctl),
 +    ?MYDEBUG("Unregistered commands for ~p", [VHost]).
 +
 +stop(VHost) ->
 +
 +           ?MYDEBUG("Added hooks for ~p", [VHost]),
 +
-+           ejabberd_ctl:register_commands(
-+                           VHost,
-+                           [{"rebuild_stats", "rebuild mod_logdb module stats for vhost"}],
-+                           ?MODULE, rebuild_stats),
-+           Supported_backends = lists:flatmap(fun({Backend, _Opts}) ->
-+                                                  [atom_to_list(Backend), " "]
-+                                              end, State#state.dbs),
-+           ejabberd_ctl:register_commands(
-+                           VHost,
-+                           [{"copy_messages backend", "copy messages from backend to current backend. backends could be: " ++ Supported_backends }],
-+                           ?MODULE, copy_messages_ctl),
++           %ejabberd_ctl:register_commands(
++           %                VHost,
++           %                [{"rebuild_stats", "rebuild mod_logdb module stats for vhost"}],
++           %                ?MODULE, rebuild_stats),
++           %Supported_backends = lists:flatmap(fun({Backend, _Opts}) ->
++           %                                       [atom_to_list(Backend), " "]
++           %                                   end, State#state.dbs),
++           %ejabberd_ctl:register_commands(
++           %                VHost,
++           %                [{"copy_messages backend", "copy messages from backend to current backend. backends could be: " ++ Supported_backends }],
++           %                ?MODULE, copy_messages_ctl),
 +           ?MYDEBUG("Registered commands for ~p", [VHost]),
 +
 +           NewState=State#state{monref = MonRef, backendPid=SPid, purgeRef=TrefPurge, pollRef=TrefPoll},
 +             ]
 +            )]
 +    end.
---- src/mod_logdb.hrl.orig     2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb.hrl  2009-02-05 19:21:02.000000000 +0200
+--- mod_logdb.hrl.orig 2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb.hrl      2009-02-05 20:12:58.000000000 +0200
 @@ -0,0 +1,35 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb.hrl
 +                      {"name", Name},
 +                      {"value", Value},
 +                      {"checked", "true"}])).
---- src/mod_logdb_mnesia.erl.orig      2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb_mnesia.erl   2009-02-05 19:19:59.000000000 +0200
+--- mod_logdb_mnesia.erl.orig  2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb_mnesia.erl       2009-02-05 20:12:58.000000000 +0200
 @@ -0,0 +1,546 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb_mnesia.erl
 +               {type, bag},
 +               {attributes, record_info(fields, msg)},
 +               {record_name, msg}]).
---- src/mod_logdb_mysql.erl.orig       2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb_mysql.erl    2009-02-05 19:20:23.000000000 +0200
-@@ -0,0 +1,1052 @@
+--- mod_logdb_mysql.erl.orig   2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb_mysql.erl        2009-07-30 09:00:14.000000000 +0300
+@@ -0,0 +1,1053 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb_mysql.erl
 +%%% Author  : Oleg Palij (mailto,xmpp:o.palij@gmail.com)
 +                 ?MYDEBUG("MySQL (~p)~n", [Level]),
 +                 ?MYDEBUG(Format, Argument)
 +            end,
++   ?INFO_MSG("Opening mysql connection ~s@~s:~p/~s", [DBUser, Server, Port, DB]),
 +   mysql_conn:start(Server, Port, DBUser, Password, DB, LogFun).
 +
 +close_mysql_connection(DBRef) ->
 +get_result({error, MySQLRes}) ->
 +    Reason = mysql:get_result_reason(MySQLRes),
 +    {error, Reason}.
---- src/mod_logdb_mysql5.erl.orig      2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb_mysql5.erl   2009-02-05 19:20:14.000000000 +0200
-@@ -0,0 +1,978 @@
+--- mod_logdb_mysql5.erl.orig  2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb_mysql5.erl       2009-07-30 09:00:14.000000000 +0300
+@@ -0,0 +1,979 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb_mysql5.erl
 +%%% Author  : Oleg Palij (mailto,xmpp:o.palij@gmail.com)
 +                 ?MYDEBUG("MySQL (~p)~n", [Level]),
 +                 ?MYDEBUG(Format, Argument)
 +            end,
++   ?INFO_MSG("Opening mysql connection ~s@~s:~p/~s", [DBUser, Server, Port, DB]),
 +   mysql_conn:start(Server, Port, DBUser, Password, DB, [65536, 131072], LogFun).
 +
 +close_mysql_connection(DBRef) ->
 +      END IF;
 +   END IF;
 +END;", [logmessage_name(VHost),UName,UName,UName,UName,SName,SName,RName,RName,UName,UName,SName,RName,StName,StName]).
---- src/mod_logdb_pgsql.erl.orig       2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb_pgsql.erl    2009-02-05 19:20:29.000000000 +0200
-@@ -0,0 +1,1078 @@
+--- mod_logdb_pgsql.erl.orig   2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb_pgsql.erl        2009-07-30 09:49:10.000000000 +0300
+@@ -0,0 +1,1104 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb_pgsql.erl
 +%%% Author  : Oleg Palij (mailto,xmpp:o.palij@gmail.com)
 +
 +open_pgsql_connection(#state{server=Server, port=Port, db=DB, schema=Schema,
 +                             user=User, password=Password} = _State) ->
++   ?INFO_MSG("Opening pgsql connection ~s@~s:~p/~s", [User, Server, Port, DB]),
 +   {ok, DBRef} = pgsql:connect(Server, DB, User, Password, Port),
 +   {updated, _} = sql_query_internal(DBRef, ["SET SEARCH_PATH TO ",Schema,";"]),
 +   {ok, DBRef}.
 +         {aborted, _} -> error
 +    end.
 +
-+create_internals(#state{dbref=DBRef, vhost=VHost, schema=Schema}) ->
++create_internals(#state{dbref=DBRef, vhost=VHost, schema=Schema}=State) ->
 +    sql_query_internal(DBRef, ["DROP FUNCTION IF EXISTS ",logmessage_name(VHost,Schema)," (tbname TEXT, atdt TEXT, owner TEXT, peer_name TEXT, peer_server TEXT, peer_resource TEXT, mdirection VARCHAR(4), mtype VARCHAR(9), msubj TEXT, mbody TEXT, mtimestamp DOUBLE PRECISION);"]),
 +    case sql_query_internal(DBRef, [get_logmessage(VHost, Schema)]) of
 +         {updated, _} ->
 +            ?MYDEBUG("Created logmessage for ~p", [VHost]),
 +            ok;
-+         {error, _} ->
-+            error
++         {error, Reason} ->
++            case lists:keysearch(code, 1, Reason) of
++                 {value, {code, "42704"}} ->
++                    ?ERROR_MSG("plpgsql language must be installed into database '~s'. Use CREATE LANGUAGE...", [State#state.db]),
++                    error;
++                 _ ->
++                    error
++            end
 +    end.
 +
 +get_user_id(DBRef, VHost, Schema, User) ->
 +get_result({ok, ["CREATE FUNCTION"]}) ->
 +    {updated, 1};
 +get_result({ok, [{"SELECT", _Rows, Recs}]}) ->
-+    {data, [list_to_tuple(Rec) || Rec <- Recs]};
++    Fun = fun(Rec) ->
++              list_to_tuple(
++                  lists:map(fun(Elem) when is_binary(Elem) ->
++                                  binary_to_list(Elem);
++                               (Elem) when is_list(Elem) ->
++                                  Elem;
++                               (Elem) when is_integer(Elem) ->
++                                  integer_to_list(Elem);
++                               (Elem) when is_float(Elem) ->
++                                  float_to_list(Elem);
++                               (Elem) when is_boolean(Elem) ->
++                                  atom_to_list(Elem);
++                               (Elem) ->
++                                  ?ERROR_MSG("Unknown element type ~p", [Elem]),
++                                  Elem
++                            end, Rec))
++          end,
++    Res = lists:map(Fun, Recs),
++    %{data, [list_to_tuple(Rec) || Rec <- Recs]};
++    {data, Res};
 +get_result({ok, ["INSERT " ++ OIDN]}) ->
 +    [_OID, N] = string:tokens(OIDN, " "),
 +    {updated, list_to_integer(N)};
 +get_result(Rez) ->
 +    {error, undefined, Rez}.
 +
---- src/mod_logdb_mnesia_old.erl.orig  2009-02-05 19:21:29.000000000 +0200
-+++ src/mod_logdb_mnesia_old.erl       2009-02-05 19:20:07.000000000 +0200
+--- mod_logdb_mnesia_old.erl.orig      2009-11-22 13:06:23.000000000 +0200
++++ mod_logdb_mnesia_old.erl   2009-02-05 20:12:58.000000000 +0200
 @@ -0,0 +1,258 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : mod_logdb_mnesia_old.erl
 +             ?ERROR_MSG("Failed to create stats table: ~p", [Reason]),
 +             error
 +    end.
---- src/gen_logdb.erl.orig     2009-02-05 19:21:29.000000000 +0200
-+++ src/gen_logdb.erl  2009-02-05 19:19:39.000000000 +0200
+--- gen_logdb.erl.orig 2009-11-22 13:06:23.000000000 +0200
++++ gen_logdb.erl      2009-07-22 16:43:26.000000000 +0300
 @@ -0,0 +1,164 @@
 +%%%----------------------------------------------------------------------
 +%%% File    : gen_logdb.erl
 +   ];
 +behaviour_info(_) ->
 +   undefined.
---- src/web/ejabberd_web_admin-2.0.3.erl       2009-02-03 08:27:39.000000000 +0200
-+++ src/web/ejabberd_web_admin.erl     2009-02-03 08:40:57.000000000 +0200
-@@ -1514,25 +1514,31 @@
- user_parse_query(User, Server, Query) ->
--    case lists:keysearch("chpassword", 1, Query) of
--      {value, _} ->
--          case lists:keysearch("password", 1, Query) of
--              {value, {_, undefined}} ->
--                  error;
--              {value, {_, Password}} ->
--                  ejabberd_auth:set_password(User, Server, Password),
--                  ok;
--              _ ->
--                  error
--          end;
--      _ ->
--          case lists:keysearch("removeuser", 1, Query) of
--              {value, _} ->
--                  ejabberd_auth:remove_user(User, Server),
--                  ok;
--              false ->
--                  nothing
--          end
-+    lists:foldl(fun({Action, Value}, Acc) when Acc == nothing ->
-+                      user_parse_query1(Action, User, Server, Query);
-+                   ({Action, Value}, Acc) ->
-+                      Acc
-+                end, nothing, Query).
-+
-+user_parse_query1("password", User, Server, Query) ->
-+    nothing;
-+user_parse_query1("chpassword", User, Server, Query) ->
-+    case lists:keysearch("password", 1, Query) of
-+        {value, {_, undefined}} ->
-+            error;
-+        {value, {_, Password}} ->
-+            ejabberd_auth:set_password(User, Server, Password),
-+            ok;
-+        _ ->
-+            error
-+    end;
-+user_parse_query1("removeuser", User, Server, Query) ->
-+    ejabberd_auth:remove_user(User, Server),
-+    ok;
-+user_parse_query1(Action, User, Server, Query) ->
-+    case ejabberd_hooks:run_fold(webadmin_user_parse_query, Server, [], [Action, User, Server, Query]) of
-+         [] -> nothing;
-+         Res -> Res
-     end.
---- src/mod_muc/mod_muc_room-2.0.3.erl 2009-02-03 08:27:59.000000000 +0200
-+++ src/mod_muc/mod_muc_room.erl       2009-02-03 08:37:26.000000000 +0200
-@@ -695,6 +695,12 @@
- handle_sync_event({change_config, Config}, _From, StateName, StateData) ->
-     {result, [], NSD} = change_config(Config, StateData),
+--- mod_muc/mod_muc_room-2.1.0.erl     2009-11-22 12:30:40.000000000 +0200
++++ mod_muc/mod_muc_room.erl   2009-11-22 12:33:43.000000000 +0200
+@@ -625,6 +625,12 @@
      {reply, {ok, NSD#state.config}, StateName, NSD};
+ handle_sync_event({change_state, NewStateData}, _From, StateName, _StateData) ->
+     {reply, {ok, NewStateData}, StateName, NewStateData};
 +handle_sync_event({get_jid_nick, Jid}, _From, StateName, StateData) ->
 +    R = case ?DICT:find(jlib:jid_tolower(Jid), StateData#state.users) of
 +             error -> [];
  handle_sync_event(_Event, _From, StateName, StateData) ->
      Reply = ok,
      {reply, Reply, StateName, StateData}.
---- src/msgs/uk-2.0.3.msg      2009-01-14 11:54:15.000000000 +0200
-+++ src/msgs/uk.msg    2009-02-03 08:26:20.000000000 +0200
-@@ -388,6 +388,35 @@
- % mod_offline_odbc.erl
- {"Your contact offline message queue is full. The message has been discarded.", "Черга повідомлень, що не були доставлені, переповнена. Повідомлення не було збережено."}.
+--- msgs/uk-2.1.0.msg  2009-11-22 12:30:40.000000000 +0200
++++ msgs/uk.msg        2009-11-22 12:36:12.000000000 +0200
+@@ -369,3 +369,31 @@
+ {"You need an x:data capable client to search","Для пошуку необхідний x:data-придатний клієнт"}.
+ {"Your contact offline message queue is full. The message has been discarded.","Черга повідомлень, що не були доставлені, переповнена. Повідомлення не було збережено."}.
+ {"Your messages to ~s are being blocked. To unblock them, visit ~s","Ваші повідомлення до ~s блокуються. Для розблокування відвідайте ~s"}.
 +% mod_logdb
 +{"Users Messages", "Повідомлення користувачів"}.
 +{"Date", "Дата"}.
 +{"Drop", "Видаляти"}.
 +{"Do not drop", "Не видаляти"}.
 +{"Drop messages on user removal", "Видаляти повідомлення під час видалення користувача"}.
-+
- % Local Variables:
- % mode: erlang
- % End:
---- src/msgs/ru-2.0.3.msg      2009-01-14 11:54:15.000000000 +0200
-+++ src/msgs/ru.msg    2009-02-03 08:25:31.000000000 +0200
-@@ -388,6 +388,35 @@
- % mod_offline_odbc.erl
- {"Your contact offline message queue is full. The message has been discarded.", "Очередь недоставленных сообщений Вашего адресата переполнена. Сообщение не было сохранено."}.
+--- msgs/ru-2.1.0.msg  2009-11-22 12:30:40.000000000 +0200
++++ msgs/ru.msg        2009-11-22 12:35:52.000000000 +0200
+@@ -369,3 +369,31 @@
+ {"You need an x:data capable client to search","Чтобы воспользоваться поиском, требуется x:data-совместимый клиент"}.
+ {"Your contact offline message queue is full. The message has been discarded.","Очередь недоставленных сообщений Вашего адресата переполнена. Сообщение не было сохранено."}.
+ {"Your messages to ~s are being blocked. To unblock them, visit ~s","Ваши сообщения к ~s блокируются. Для снятия блокировки перейдите по ссылке ~s"}.
 +% mod_logdb.erl
 +{"Users Messages", "Сообщения пользователей"}.
 +{"Date", "Дата"}.
 +{"Drop", "Удалять"}.
 +{"Do not drop", "Не удалять"}.
 +{"Drop messages on user removal", "Удалять сообщения при удалении пользователя"}.
-+
- % Local Variables:
- % mode: erlang
- % End:
---- src/msgs/pl-2.0.3.msg      2009-01-14 11:54:15.000000000 +0200
-+++ src/msgs/pl.msg    2009-02-03 08:24:33.000000000 +0200
-@@ -408,6 +408,31 @@
- % mod_offline.erl
- {"Your contact offline message queue is full. The message has been discarded.", "Twoja kolejka wiadomoci offline jest pełna. Wiadomoć została odrzucona."}.
+--- msgs/pl-2.1.0.msg  2009-11-22 12:30:40.000000000 +0200
++++ msgs/pl.msg        2009-11-22 12:35:07.000000000 +0200
+@@ -369,3 +369,27 @@
+ {"You need an x:data capable client to search","Potrzebujesz klienta obsługującego x:data aby wyszukiwać"}.
+ {"Your contact offline message queue is full. The message has been discarded.","Kolejka wiadomości offline adresata jest pełna. Wiadomość została odrzucona."}.
+ {"Your messages to ~s are being blocked. To unblock them, visit ~s","Twoje wiadomości do użytkownika ~s są blokowane. Aby je odblokować, odwiedź ~s"}.
 +% mod_logdb
 +{"Users Messages", "Wiadomości użytkownika"}.
 +{"Date", "Data"}.
 +{"Jids/Domains to ignore", "JID/Domena która ma być ignorowana"}.
 +{"Purge messages older than (days)", "Usuń wiadomości starsze niż (w dniach)"}.
 +{"Poll users settings (seconds)", "Czas aktualizacji preferencji użytkowników (sekundy)"}.
-+
- % Local Variables:
- % mode: erlang
- % End:
---- src/msgs/nl-2.0.3.msg      2009-01-14 11:54:15.000000000 +0200
-+++ src/msgs/nl.msg    1970-01-01 03:00:00.000000000 +0300
-@@ -379,6 +379,19 @@
- % mod_proxy65/mod_proxy65_service.erl
- {"ejabberd SOCKS5 Bytestreams module", "ejabberd SOCKS5 Bytestreams module"}.
+--- msgs/nl-2.1.0.msg  2009-11-22 12:30:40.000000000 +0200
++++ msgs/nl.msg        2009-11-22 12:34:41.000000000 +0200
+@@ -369,3 +369,15 @@
+ {"You need an x:data capable client to search","U hebt een client nodig die x:data ondersteunt om te zoeken"}.
+ {"Your contact offline message queue is full. The message has been discarded.","Te veel offline berichten voor dit contactpersoon. Het bericht is niet opgeslagen."}.
+ {"Your messages to ~s are being blocked. To unblock them, visit ~s","Uw berichten aan ~s worden geblokkeerd. Om ze te deblokkeren, ga naar ~s"}.
 +% mod_logdb
 +{"Users Messages", "Gebruikersberichten"}.
 +{"Date", "Datum"}.
 +{"Subject", "Onderwerp"}.
 +{"Body", "Berichtveld"}.
 +{"Messages", "Berichten"}.
-+
- % Local Variables:
- % mode: erlang
- % End:
---- src/mod_roster-2.0.3.erl   2009-02-03 08:28:12.000000000 +0200
-+++ src/mod_roster.erl 2009-02-03 08:32:14.000000000 +0200
-@@ -48,7 +48,7 @@
+--- ./mod_roster-2.1.0.erl     2009-11-22 12:30:40.000000000 +0200
++++ mod_roster.erl     2009-11-22 12:40:40.000000000 +0200
+@@ -61,7 +61,7 @@
  -include("mod_roster.hrl").
  -include("web/ejabberd_http.hrl").
  -include("web/ejabberd_web_admin.hrl").
  
  start(Host, Opts) ->
      IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue),
-@@ -829,6 +829,14 @@
+@@ -937,6 +937,14 @@
      Res = user_roster_parse_query(User, Server, Items1, Query),
      Items = mnesia:dirty_index_read(roster, US, #roster.us),
      SItems = lists:sort(Items),
      FItems =
        case SItems of
            [] ->
-@@ -876,7 +884,33 @@
+@@ -984,7 +992,33 @@
                                              [?INPUTT("submit",
                                                       "remove" ++
                                                       ejabberd_web_admin:term_to_id(R#roster.jid),
                            end, SItems))])]
        end,
      [?XC("h1", ?T("Roster of ") ++ us_to_list(US))] ++
-@@ -958,11 +992,42 @@
+@@ -1084,11 +1118,42 @@
                                                 {"subscription", "remove"}],
                                                []}]}}),
                              throw(submitted);
        end, Items),
      nothing.
  
---- src/mod_roster_odbc-2.0.3.erl      2009-02-03 08:28:26.000000000 +0200
-+++ src/mod_roster_odbc.erl    2009-02-03 08:47:04.000000000 +0200
-@@ -48,7 +48,7 @@
+--- ./mod_roster_odbc-2.1.0.erl        2009-11-22 12:30:40.000000000 +0200
++++ mod_roster_odbc.erl        2009-11-22 12:42:38.000000000 +0200
+@@ -59,7 +59,7 @@
  -include("mod_roster.hrl").
  -include("web/ejabberd_http.hrl").
  -include("web/ejabberd_web_admin.hrl").
  
  start(Host, Opts) ->
      IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue),
-@@ -937,6 +937,14 @@
+@@ -1038,6 +1038,14 @@
      Res = user_roster_parse_query(User, Server, Items1, Query),
      Items = get_roster(LUser, LServer),
      SItems = lists:sort(Items),
      FItems =
        case SItems of
            [] ->
-@@ -984,7 +992,33 @@
+@@ -1085,7 +1093,33 @@
                                              [?INPUTT("submit",
                                                       "remove" ++
                                                       ejabberd_web_admin:term_to_id(R#roster.jid),
 -                                                     "Remove")])])
-+                                                      "Remove")]),
++                                                     "Remove")]),
 +                                         case gen_mod:is_loaded(Server, mod_logdb) of
 +                                              true ->
 +                                                 Peer = jlib:jid_to_string(R#roster.jid),
                            end, SItems))])]
        end,
      [?XC("h1", ?T("Roster of ") ++ us_to_list(US))] ++
-@@ -1066,11 +1100,42 @@
+@@ -1185,11 +1219,42 @@
                                                 {"subscription", "remove"}],
                                                []}]}}),
                              throw(submitted);
index 8eb1579add7da29ef2b9f7f79282f5e4f14d6c4c..ee2c3b446c02ca5405e9931553858599d6ba5fc7 100644 (file)
@@ -23,6 +23,7 @@ Source5:      %{realname}-inetrc
 Patch0:                %{realname}-makefile.patch
 Patch1:                %{realname}-config.patch
 Patch2:                %{realname}-mod_muc.patch
+# http://www.dp.uz.gov.ua/o.palij/mod_logdb/patch-src-mod_logdb-2.1.0.diff
 Patch3:                %{realname}-mod_logdb.patch
 URL:           http://ejabberd.jabber.ru/
 BuildRequires: autoconf
@@ -66,6 +67,7 @@ Server-side logging module.
 %patch1 -p1
 %patch2 -p1
 %if %{with logdb}
+cd src
 %patch3 -p0
 %endif
 
This page took 0.104448 seconds and 4 git commands to generate.