]> granicus.if.org Git - ejabberd/commitdiff
* src/mod_privacy_odbc.erl: Privacy rules support using odbc
authorAlexey Shchepin <alexey@process-one.net>
Mon, 9 Oct 2006 20:32:41 +0000 (20:32 +0000)
committerAlexey Shchepin <alexey@process-one.net>
Mon, 9 Oct 2006 20:32:41 +0000 (20:32 +0000)
* src/odbc/pg.sql: Likewise

* src/web/ejabberd_http_poll.erl: Bugfix

SVN Revision: 660

ChangeLog
src/mod_privacy.erl
src/odbc/pg.sql
src/web/ejabberd_http_poll.erl

index fef50588579dad9a9e5dd3caea40fd32037f4d5a..ff1a57aa45b9862b913b8dec9bfa88f2c7092a08 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-10-09  Alexey Shchepin  <alexey@sevcom.net>
+
+       * src/mod_privacy_odbc.erl: Privacy rules support using odbc
+       * src/odbc/pg.sql: Likewise
+
+2006-10-06  Alexey Shchepin  <alexey@sevcom.net>
+
+       * src/web/ejabberd_http_poll.erl: Bugfix
+
 2006-10-05  Alexey Shchepin  <alexey@sevcom.net>
 
        * src/mod_privacy.erl: Use hooks instead of direct function calls
index b201df1e7d57e4614fd00ff145c6cad485f27fd9..c5affa8f16c1f540388728504643320a47211f27 100644 (file)
@@ -359,8 +359,8 @@ process_list_set(LUser, LServer, {value, Name}, Els) ->
                    Error;
                {atomic, {result, _} = Res} ->
                    ejabberd_router:route(
-                     jlib:make_jid(LUser, ?MYNAME, ""),
-                     jlib:make_jid(LUser, ?MYNAME, ""),
+                     jlib:make_jid(LUser, LServer, ""),
+                     jlib:make_jid(LUser, LServer, ""),
                      {xmlelement, "broadcast", [],
                       [{privacy_list,
                         #userlist{name = Name, list = []},
index 9246c591b7ee78123695f1e75a06b5af8b9798ad..ba9ba089cdc5a604be114d80bfffa9b5ea974ab7 100644 (file)
@@ -99,7 +99,15 @@ CREATE TABLE privacy_default_list (
 CREATE TABLE privacy_list (
     username text NOT NULL,
     name text NOT NULL,
-    type character(1) NOT NULL,
+    id SERIAL UNIQUE
+);
+
+CREATE INDEX i_privacy_list_username ON privacy_list USING btree (username);
+CREATE UNIQUE INDEX i_privacy_list_username_name ON privacy_list USING btree (username, name);
+
+CREATE TABLE privacy_list_data (
+    id bigint REFERENCES privacy_list(id) ON DELETE CASCADE,
+    t character(1) NOT NULL,
     value text NOT NULL,
     action character(1) NOT NULL,
     ord NUMERIC NOT NULL,
@@ -110,7 +118,6 @@ CREATE TABLE privacy_list (
     match_presence_out boolean NOT NULL
 );
 
-CREATE INDEX i_privacy_list_username ON privacy_list USING btree (username);
 
 
 --- To update from 0.9.8:
index 8bdebbdea150740673bd15f8f907605ed12b632a..a73fca743461d514af55f5ace75727d6435dd2e5 100644 (file)
@@ -189,11 +189,11 @@ handle_event({activate, From}, StateName, StateData) ->
            {next_state, StateName,
             StateData#state{waiting_input = {From, ok}}};
        Input ->
-            {Receiver, _Tag} = From,
+            Receiver = From,
            Receiver ! {tcp, {http_poll, self()}, list_to_binary(Input)},
            {next_state, StateName, StateData#state{input = "",
                                                    waiting_input = false,
-                                                   last_receiver = From
+                                                   last_receiver = Receiver
                                                   }}
     end;