equal
deleted
inserted
replaced
719 stanza.attr.from, stanza.attr.to, stanza.attr.id = from, to, id; |
719 stanza.attr.from, stanza.attr.to, stanza.attr.id = from, to, id; |
720 return true; |
720 return true; |
721 else -- Type is "get" or "set" |
721 else -- Type is "get" or "set" |
722 local current_nick = self:get_occupant_jid(from); |
722 local current_nick = self:get_occupant_jid(from); |
723 if not current_nick then |
723 if not current_nick then |
724 origin.send(st.error_reply(stanza, "cancel", "not-acceptable")); |
724 origin.send(st.error_reply(stanza, "cancel", "not-acceptable", "You are not currently connected to this chat")); |
725 return true; |
725 return true; |
726 end |
726 end |
727 if not occupant then -- recipient not in room |
727 if not occupant then -- recipient not in room |
728 origin.send(st.error_reply(stanza, "cancel", "item-not-found", "Recipient not in room")); |
728 origin.send(st.error_reply(stanza, "cancel", "item-not-found", "Recipient not in room")); |
729 return true; |
729 return true; |
752 local from, to = stanza.attr.from, stanza.attr.to; |
752 local from, to = stanza.attr.from, stanza.attr.to; |
753 local current_nick = self:get_occupant_jid(from); |
753 local current_nick = self:get_occupant_jid(from); |
754 local type = stanza.attr.type; |
754 local type = stanza.attr.type; |
755 if not current_nick then -- not in room |
755 if not current_nick then -- not in room |
756 if type ~= "error" then |
756 if type ~= "error" then |
757 origin.send(st.error_reply(stanza, "cancel", "not-acceptable")); |
757 origin.send(st.error_reply(stanza, "cancel", "not-acceptable", "You are not currently connected to this chat")); |
758 end |
758 end |
759 return true; |
759 return true; |
760 end |
760 end |
761 if type == "groupchat" then -- groupchat messages not allowed in PM |
761 if type == "groupchat" then -- groupchat messages not allowed in PM |
762 origin.send(st.error_reply(stanza, "modify", "bad-request")); |
762 origin.send(st.error_reply(stanza, "modify", "bad-request")); |
1052 |
1052 |
1053 -- Role check |
1053 -- Role check |
1054 module:hook("muc-occupant-groupchat", function(event) |
1054 module:hook("muc-occupant-groupchat", function(event) |
1055 local role_rank = valid_roles[event.occupant and event.occupant.role or "none"]; |
1055 local role_rank = valid_roles[event.occupant and event.occupant.role or "none"]; |
1056 if role_rank <= valid_roles.none then |
1056 if role_rank <= valid_roles.none then |
1057 event.origin.send(st.error_reply(event.stanza, "cancel", "not-acceptable")); |
1057 event.origin.send(st.error_reply(event.stanza, "cancel", "not-acceptable", "You are not currently connected to this chat")); |
1058 return true; |
1058 return true; |
1059 elseif role_rank <= valid_roles.visitor then |
1059 elseif role_rank <= valid_roles.visitor then |
1060 event.origin.send(st.error_reply(event.stanza, "auth", "forbidden")); |
1060 event.origin.send(st.error_reply(event.stanza, "auth", "forbidden")); |
1061 return true; |
1061 return true; |
1062 end |
1062 end |