Software /
code /
prosody
Comparison
plugins/mod_register.lua @ 3297:aa3725bbcde5
mod_register: Delete the offline store as a list, and delete the privacy store.
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Thu, 24 Jun 2010 03:47:35 +0500 |
parent | 3296:5f57f2f81c02 |
child | 3301:772fb30b28fb |
comparison
equal
deleted
inserted
replaced
3296:5f57f2f81c02 | 3297:aa3725bbcde5 |
---|---|
44 session:close({condition = "not-authorized", text = "Account deleted"}); | 44 session:close({condition = "not-authorized", text = "Account deleted"}); |
45 end | 45 end |
46 -- TODO datamanager should be able to delete all user data itself | 46 -- TODO datamanager should be able to delete all user data itself |
47 datamanager.store(username, host, "vcard", nil); | 47 datamanager.store(username, host, "vcard", nil); |
48 datamanager.store(username, host, "private", nil); | 48 datamanager.store(username, host, "private", nil); |
49 datamanager.store(username, host, "offline", nil); | 49 datamanager.list_store(username, host, "offline", nil); |
50 local bare = username.."@"..host; | 50 local bare = username.."@"..host; |
51 for jid, item in pairs(roster) do | 51 for jid, item in pairs(roster) do |
52 if jid and jid ~= "pending" then | 52 if jid and jid ~= "pending" then |
53 if item.subscription == "both" or item.subscription == "from" or (roster.pending and roster.pending[jid]) then | 53 if item.subscription == "both" or item.subscription == "from" or (roster.pending and roster.pending[jid]) then |
54 core_post_stanza(hosts[host], st.presence({type="unsubscribed", from=bare, to=jid})); | 54 core_post_stanza(hosts[host], st.presence({type="unsubscribed", from=bare, to=jid})); |
57 core_post_stanza(hosts[host], st.presence({type="unsubscribe", from=bare, to=jid})); | 57 core_post_stanza(hosts[host], st.presence({type="unsubscribe", from=bare, to=jid})); |
58 end | 58 end |
59 end | 59 end |
60 end | 60 end |
61 datamanager.store(username, host, "roster", nil); | 61 datamanager.store(username, host, "roster", nil); |
62 datamanager.store(username, host, "privacy", nil); | |
62 datamanager.store(username, host, "accounts", nil); -- delete accounts datastore at the end | 63 datamanager.store(username, host, "accounts", nil); -- delete accounts datastore at the end |
63 module:log("info", "User removed their account: %s@%s", username, host); | 64 module:log("info", "User removed their account: %s@%s", username, host); |
64 module:fire_event("user-deregistered", { username = username, host = host, source = "mod_register", session = session }); | 65 module:fire_event("user-deregistered", { username = username, host = host, source = "mod_register", session = session }); |
65 else | 66 else |
66 local username = query:child_with_name("username"); | 67 local username = query:child_with_name("username"); |