Software /
code /
prosody
Comparison
plugins/muc/muc.lib.lua @ 1764:c00d4ba8d2f3
MUC: Removed commented code.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Wed, 09 Sep 2009 19:14:12 +0500 |
parent | 1757:157e438823ba |
child | 1768:802c40384dd0 |
comparison
equal
deleted
inserted
replaced
1763:9e4ff3b66ed1 | 1764:c00d4ba8d2f3 |
---|---|
583 _affiliations = {}; | 583 _affiliations = {}; |
584 }, room_mt); | 584 }, room_mt); |
585 end | 585 end |
586 | 586 |
587 return _M; | 587 return _M; |
588 | |
589 --[[function get_disco_info(stanza) | |
590 return st.iq({type='result', id=stanza.attr.id, from=muc_domain, to=stanza.attr.from}):query("http://jabber.org/protocol/disco#info") | |
591 :tag("identity", {category='conference', type='text', name=muc_name}):up() | |
592 :tag("feature", {var="http://jabber.org/protocol/muc"}); -- TODO cache disco reply | |
593 end | |
594 function get_disco_items(stanza) | |
595 local reply = st.iq({type='result', id=stanza.attr.id, from=muc_domain, to=stanza.attr.from}):query("http://jabber.org/protocol/disco#items"); | |
596 for room in pairs(rooms_info:get()) do | |
597 reply:tag("item", {jid=room, name=rooms_info:get(room, "name")}):up(); | |
598 end | |
599 return reply; -- TODO cache disco reply | |
600 end]] | |
601 | |
602 --[[function handle_to_domain(origin, stanza) | |
603 local type = stanza.attr.type; | |
604 if type == "error" or type == "result" then return; end | |
605 if stanza.name == "iq" and type == "get" then | |
606 local xmlns = stanza.tags[1].attr.xmlns; | |
607 if xmlns == "http://jabber.org/protocol/disco#info" then | |
608 origin.send(get_disco_info(stanza)); | |
609 elseif xmlns == "http://jabber.org/protocol/disco#items" then | |
610 origin.send(get_disco_items(stanza)); | |
611 else | |
612 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); -- TODO disco/etc | |
613 end | |
614 else | |
615 origin.send(st.error_reply(stanza, "cancel", "service-unavailable", "The muc server doesn't deal with messages and presence directed at it")); | |
616 end | |
617 end | |
618 | |
619 register_component(muc_domain, function(origin, stanza) | |
620 local to_node, to_host, to_resource = jid_split(stanza.attr.to); | |
621 if to_resource and not to_node then | |
622 if type == "error" or type == "result" then return; end | |
623 origin.send(st.error_reply(stanza, "cancel", "service-unavailable")); -- host/resource | |
624 elseif to_resource then | |
625 handle_to_occupant(origin, stanza); | |
626 elseif to_node then | |
627 handle_to_room(origin, stanza) | |
628 else -- to the main muc domain | |
629 if type == "error" or type == "result" then return; end | |
630 handle_to_domain(origin, stanza); | |
631 end | |
632 end);]] | |
633 | |
634 --[[module.unload = function() | |
635 deregister_component(muc_domain); | |
636 end | |
637 module.save = function() | |
638 return {rooms = rooms.data; jid_nick = jid_nick.data; rooms_info = rooms_info.data; persist_list = persist_list}; | |
639 end | |
640 module.restore = function(data) | |
641 rooms.data, jid_nick.data, rooms_info.data, persist_list = | |
642 data.rooms or {}, data.jid_nick or {}, data.rooms_info or {}, data.persist_list or {}; | |
643 end]] |