Merge with 0.6
[prosody.git] / plugins / mod_offline.lua
diff --git a/plugins/mod_offline.lua b/plugins/mod_offline.lua
deleted file mode 100644 (file)
index c74d011..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
--- Prosody IM
--- Copyright (C) 2008-2009 Matthew Wild
--- Copyright (C) 2008-2009 Waqas Hussain
--- 
--- This project is MIT/X11 licensed. Please see the
--- COPYING file in the source package for more information.
---
-
-\r
-local datamanager = require "util.datamanager";\r
-local st = require "util.stanza";\r
-local datetime = require "util.datetime";\r
-local ipairs = ipairs;
-local jid_split = require "util.jid".split;\r
-\r
-module:add_feature("msgoffline");\r
-\r
-module:hook("message/offline/store", function(event)\r
-       local origin, stanza = event.origin, event.stanza;\r
-       local to = stanza.attr.to;\r
-       local node, host;\r
-       if to then\r
-               node, host = jid_split(to)\r
-       else\r
-               node, host = origin.username, origin.host;\r
-       end\r
-       \r
-       stanza.attr.stamp, stanza.attr.stamp_legacy = datetime.datetime(), datetime.legacy();\r
-       local result = datamanager.list_append(node, host, "offline", st.preserialize(stanza));\r
-       stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;\r
-       \r
-       return true;\r
-end);\r
-\r
-module:hook("message/offline/broadcast", function(event)\r
-       local origin = event.origin;\r
-       local node, host = origin.username, origin.host;\r
-       \r
-       local data = datamanager.list_load(node, host, "offline");\r
-       if not data then return true; end\r
-       for _, stanza in ipairs(data) do\r
-               stanza = st.deserialize(stanza);\r
-               stanza:tag("delay", {xmlns = "urn:xmpp:delay", from = host, stamp = stanza.attr.stamp}):up(); -- XEP-0203\r
-               stanza:tag("x", {xmlns = "jabber:x:delay", from = host, stamp = stanza.attr.stamp_legacy}):up(); -- XEP-0091 (deprecated)\r
-               stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;\r
-               origin.send(stanza);\r
-       end\r
-       return true;\r
-end);\r
-\r
-module:hook("message/offline/delete", function(event)\r
-       local origin = event.origin;\r
-       local node, host = origin.username, origin.host;\r
-\r
-       return datamanager.list_store(node, host, "offline", nil);\r
-end);\r