Mercurial > prosody-hg
comparison plugins/muc/subject.lib.lua @ 6228:4968d18e2c1e
plugins/muc/subject.lib: If subject is not set by an occupant, it should come from room jid itself
| author | daurnimator <quae@daurnimator.com> |
|---|---|
| date | Fri, 18 Apr 2014 12:20:07 -0400 |
| parents | 2a9aff163545 |
| children | f2c9c36979b3 |
comparison
equal
deleted
inserted
replaced
| 6227:bb75c011b15e | 6228:4968d18e2c1e |
|---|---|
| 41 event.status_codes["104"] = true; | 41 event.status_codes["104"] = true; |
| 42 end | 42 end |
| 43 end); | 43 end); |
| 44 | 44 |
| 45 local function get_subject(room) | 45 local function get_subject(room) |
| 46 return room._data.subject_from, room._data.subject; | 46 -- a <message/> stanza from the room JID (or from the occupant JID of the entity that set the subject) |
| 47 return room._data.subject_from or room.jid, room._data.subject; | |
| 47 end | 48 end |
| 48 | 49 |
| 49 local function send_subject(room, to) | 50 local function send_subject(room, to) |
| 50 local msg = create_subject_message(get_subject(room)); | 51 local msg = create_subject_message(get_subject(room)); |
| 51 msg.attr.to = to; | 52 msg.attr.to = to; |
| 64 return true; | 65 return true; |
| 65 end | 66 end |
| 66 | 67 |
| 67 -- Send subject to joining user | 68 -- Send subject to joining user |
| 68 module:hook("muc-occupant-joined", function(event) | 69 module:hook("muc-occupant-joined", function(event) |
| 69 event.room:send_subject(event.stanza.attr.from); | 70 send_subject(event.room, event.stanza.attr.from); |
| 70 end, 20); | 71 end, 20); |
| 71 | 72 |
| 72 -- Role check for subject changes | 73 -- Role check for subject changes |
| 73 module:hook("muc-subject-change", function(event) | 74 module:hook("muc-subject-change", function(event) |
| 74 local room, stanza = event.room, event.stanza; | 75 local room, stanza = event.room, event.stanza; |
