Christophe Romain
011535f0de
binary refactoring
2012-09-11 15:45:59 +02:00
Evgeniy Khramtsov
75d3152a0f
Merge branch '2.1.x' into 2.2.x
...
Conflicts:
src/mod_muc/mod_muc.erl
src/mod_muc/mod_muc_room.erl
src/mod_offline.erl
src/mod_offline_odbc.erl
src/mod_shared_roster.erl
src/web/ejabberd_http_bind.erl
2012-05-04 14:19:52 +10:00
Evgeniy Khramtsov
db8bd0126b
Remove CRLFs introduced in the previous merge
2012-05-03 18:34:53 +10:00
Evgeniy Khramtsov
437f68a9f3
Merge SQL and Mnesia code into one module (EJAB-1560)
2012-04-27 19:52:05 +10:00
Christophe Romain
7f1e9d3972
merge from 2.1.11 and resolve conflicts
2012-04-27 11:37:11 +02:00
Badlop
7dd171322d
Fix English strings (thanks to Andreas van Cranenburgh)
2012-04-24 13:51:54 +02:00
Evgeniy Khramtsov
6b3875814c
ODBC support for mod_muc
2012-03-31 21:41:54 +10:00
Christophe Romain
7d7c739cb3
Merge remote-tracking branch 'mainline/2.1.x' into 2.2.x
2012-02-23 16:59:22 +01:00
Alexey Shchepin
b1e2538488
Update copyright dates
2012-02-23 17:52:34 +02:00
Christophe Romain
e0781d9217
merge from 2.1.10 and resolve conflicts
2011-12-30 11:33:34 +01:00
Badlop
13a9ca65a4
Don't reveal invitee's resource when room informs invitor
2011-12-08 16:35:31 +01:00
Pablo Polvorin
31f6a9e66e
Add command to persist recent MUC messages (EJABS-1785)
...
Example:
$ejabberdctl persist_recent_messages
Host 'localhost' , 4 messages persisted in 12 rooms
2011-11-10 12:54:11 -03:00
Pablo Polvorin
d736c47649
Do not delete persistent MUC messages on restart (EJABS-1785)
...
Otherwise, if the server crash (not properly stopped), all recent
messages are lost. In this case, it is better to at least keep
the outdated ones (and miss the new ones that were not saved to DB).
2011-11-10 11:07:34 -03:00
Pablo Polvorin
3850b91571
Store room to disc on creation if room is persistent
...
If the mod_muc configuration says that rooms are
persistent by default, store the room to disc once
it is created, as there are use cases where there are
no further config after room creation, and so
the write to disc was never triggered.
2011-10-18 13:45:02 -03:00
Pablo Polvorin
a04131c6d7
Bugfix: room history and NO_TRANSIENT_SUPERVISORS option
...
Fix bug that prevent ejabberd to Save room history to DB
when using the NO_TRANSIENT_SUPERVISORS compiler option.
2011-10-14 11:30:34 +02:00
Evgeniy Khramtsov
b7a07087d1
Fix merge conflict
2011-09-30 22:44:44 +10:00
Christophe Romain
adf56dedf3
fix merge conflicts from 2.1.9
2011-09-30 14:28:40 +02:00
Evgeniy Khramtsov
39bc499b10
Fix instruction and error text
2011-09-26 20:00:43 +10:00
Evgeniy Khramtsov
de4d4a4bbb
Change "muc#role" field type to "hidden"
2011-09-26 19:54:55 +10:00
Evgeniy Khramtsov
8631dd14e9
Correct lists:keysearch output processing and fix dialyzer warning
2011-09-26 19:06:34 +10:00
Evgeniy Khramtsov
e7d12f4b9e
Code cleanup
2011-09-26 18:44:41 +10:00
Maxim Ignatenko
f17a531e15
Use treap correctly
2011-09-26 11:16:30 +03:00
Maxim Ignatenko
ff57c8a58c
Apply patch from Evgeniy Khramtsov
2011-09-26 11:16:30 +03:00
Maxim Ignatenko
499b884c67
Use treap for keeping last voice request timestamps
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
0c261fb903
Fix voice request/approvement detection and extract_jid_from_voice_approvement/1
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
322263fd5c
Fix typo
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
845f5cabec
Fix patterns in check_voice_request_fields/2 and check_voice_approvement_fields/2
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
f919349173
Use more pattern-matching
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
a91ae03dc6
Remove try/catch
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
faed7698c2
Use pattern matching in check_voice_request_fields/2 and check_voice_approvement_fields/2
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
eb8347f92b
Reverse arguments order for timer:now_diff/2
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
c53ffe6dc5
Fix return value inconsistency in last_voice_request_time/2
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
7c8eab4f43
Use jlib:parse_xdata_submit/1 in is_voice_request/1 and is_voice_approvement/1
2011-09-26 11:16:29 +03:00
Maxim Ignatenko
b1d8168dd3
Use bare JID as key in state.last_voice_request_time
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
c196c1f5e5
Use lists:foreach instead of lists:map in send_voice_request/2
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
604563af76
Remove needless time conversions
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
6848d3affe
Ignore any extra elements in voice approvement form submission
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
6708914e99
Add 2 room config options
...
- Allow voice requests?
- Minimum interval between voice requests
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
5921f9c506
Simple rate control
...
Visitor allowed to send new voice request only after specified amount of
time (or after rejoining).
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
6193ed63b1
Voice approvement support
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
18dd0d08cb
Implement basic voice request processing logic.
...
No rate control or configuration for now
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
8dd6f128bf
Implement voice approvement detection and remove some debug code
2011-09-26 11:16:28 +03:00
Maxim Ignatenko
04267930de
Fix form instructions
2011-09-26 11:16:27 +03:00
Maxim Ignatenko
d83716dece
Use ejabberd_router:route/3 directly, instead of send_packet_to/3
2011-09-26 11:16:27 +03:00
Maxim Ignatenko
c77358bdc1
Use exception handling in is_invitation/1
2011-09-26 11:16:27 +03:00
Maxim Ignatenko
44987479a5
Fix exception handling in is_voice_request/1
2011-09-26 11:16:27 +03:00
Maxim Ignatenko
30d89abf66
Implemented sending voice request and fixed some bugs
2011-09-26 11:16:27 +03:00
Maxim Ignatenko
f175be6b78
Add function for detecting voice requests
2011-09-26 11:16:27 +03:00
Maxim Ignatenko
2a41ca0628
More correct dispatching of normal messages to conference room
...
is_invitation/1 function returns true if <x> element of message is
an invitation
2011-09-26 11:16:27 +03:00
Pablo Polvorin
1babae067d
Persist muc history on DB on server shutdown (EJABS-1733).
...
Ejabberd can be configured to store recent history of MUCs
to DB before shutdown. On restart, those messages are
retrieved from storage.
To enable it, set {persist_history, true} in mod_muc configuration,
ej:
{mod_muc, [
%%{host, "conference.@HOST@"},
{access, muc},
{access_create, muc_create},
{access_persistent, muc_create},
{access_admin, muc_admin},
{persist_history, true}
]},
Messages are only stored on server shutdown, not on the fly.
$ejabberdctl stop
or
init:stop()
inside a debug console works.
Note: Only rooms configured as "persistent" will save messages
(as other rooms doesn't survive server restart anyway).
Limitations: There is no option to store messages on mnesia, you *must*
use a ODBC database. Only tested with mysql.
Check odbc/mysql.sql for the definition of the table "room_history",
the one needed for this.
2011-09-24 18:39:03 -03:00