projects
/
prosody.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge 0.10->trunk
[prosody.git]
/
plugins
/
mod_offline.lua
diff --git
a/plugins/mod_offline.lua
b/plugins/mod_offline.lua
index 24aef9ed58120f8802003f210bcf7aadf51eee35..c168711b65d381606d6ed6e6be72f2f5ac782039 100644
(file)
--- a/
plugins/mod_offline.lua
+++ b/
plugins/mod_offline.lua
@@
-1,7
+1,7
@@
-- Prosody IM
-- Copyright (C) 2008-2009 Matthew Wild
-- Copyright (C) 2008-2009 Waqas Hussain
-- 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.
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--
@@
-15,7
+15,7
@@
local jid_split = require "util.jid".split;
module:add_feature("msgoffline");
module:add_feature("msgoffline");
-module:hook("message/offline/
stor
e", function(event)
+module:hook("message/offline/
handl
e", function(event)
local origin, stanza = event.origin, event.stanza;
local to = stanza.attr.to;
local node, host;
local origin, stanza = event.origin, event.stanza;
local to = stanza.attr.to;
local node, host;
@@
-24,18
+24,19
@@
module:hook("message/offline/store", function(event)
else
node, host = origin.username, origin.host;
end
else
node, host = origin.username, origin.host;
end
-
+
stanza.attr.stamp, stanza.attr.stamp_legacy = datetime.datetime(), datetime.legacy();
local result = datamanager.list_append(node, host, "offline", st.preserialize(stanza));
stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;
stanza.attr.stamp, stanza.attr.stamp_legacy = datetime.datetime(), datetime.legacy();
local result = datamanager.list_append(node, host, "offline", st.preserialize(stanza));
stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;
-
- return
true
;
+
+ return
result
;
end);
module:hook("message/offline/broadcast", function(event)
local origin = event.origin;
end);
module:hook("message/offline/broadcast", function(event)
local origin = event.origin;
+
local node, host = origin.username, origin.host;
local node, host = origin.username, origin.host;
-
+
local data = datamanager.list_load(node, host, "offline");
if not data then return true; end
for _, stanza in ipairs(data) do
local data = datamanager.list_load(node, host, "offline");
if not data then return true; end
for _, stanza in ipairs(data) do
@@
-45,12
+46,6
@@
module:hook("message/offline/broadcast", function(event)
stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;
origin.send(stanza);
end
stanza.attr.stamp, stanza.attr.stamp_legacy = nil, nil;
origin.send(stanza);
end
+ datamanager.list_store(node, host, "offline", nil);
return true;
end);
return true;
end);
-
-module:hook("message/offline/delete", function(event)
- local origin = event.origin;
- local node, host = origin.username, origin.host;
-
- return datamanager.list_store(node, host, "offline", nil);
-end);