util.pubsub: Add item-published event
[prosody.git] / util / pubsub.lua
index df055c7a5d744086266afc9d0bed934022b15a2f..8ff458e711f45f9700aaf49c8e332523bd2bc6ea 100644 (file)
@@ -172,20 +172,6 @@ function service:remove_subscription(node, actor, jid)
 end
 
 function service:remove_all_subscriptions(actor, jid)
-       -- Access checking
-       local cap;
-       if actor == true or jid == actor or self:jids_equal(actor, jid) then
-               cap = "unsubscribe";
-       else
-               cap = "unsubscribe_other";
-       end
-       if not self:may(node, actor, cap) then
-               return false, "forbidden";
-       end
-       if not self:may(node, jid, "be_unsubscribed") then
-               return false, "forbidden";
-       end
-       --
        local normal_jid = self.config.normalize_jid(jid);
        local subs = self.subscriptions[normal_jid]
        subs = subs and subs[jid];
@@ -258,6 +244,7 @@ function service:publish(node, actor, id, item)
                node_obj = self.nodes[node];
        end
        node_obj.data[id] = item;
+       self.events.fire_event("item-published", { node = node, actor = actor, id = id, item = item });
        self.config.broadcaster(node, node_obj.subscribers, item);
        return true;
 end