diff options
author | Kim Alvefur <zash@zash.se> | 2019-01-25 23:27:23 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-01-25 23:27:23 +0100 |
commit | 22bdd21fc1b1d8b4b926c098ef71e506b21e1a88 (patch) | |
tree | e99d2fee5616813a6015671251974029449c722a | |
parent | 55490159fd26ac8fcb79c99dd1d1eb63d6d93e52 (diff) | |
download | prosody-22bdd21fc1b1d8b4b926c098ef71e506b21e1a88.tar.gz prosody-22bdd21fc1b1d8b4b926c098ef71e506b21e1a88.zip |
mod_vcard_legacy: Don't overwrite existing PEP data
-rw-r--r-- | plugins/mod_vcard_legacy.lua | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/plugins/mod_vcard_legacy.lua b/plugins/mod_vcard_legacy.lua index a738a5f7..633b7729 100644 --- a/plugins/mod_vcard_legacy.lua +++ b/plugins/mod_vcard_legacy.lua @@ -315,8 +315,15 @@ module:hook("resource-bind", function (event) session.log("debug", "No legacy vCard to migrate or already migrated"); return; end - vcard_temp = st.deserialize(vcard_temp); local pep_service = mod_pep.get_pep_service(username); + if pep_service:get_last_item("urn:xmpp:vcard4", true) + or pep_service:get_last_item("urn:xmpp:avatar:metadata", true) + or pep_service:get_last_item("urn:xmpp:avatar:data", true) then + session.log("debug", "Already PEP data, not overwriting with migrated data"); + vcards:set(username, nil); + return; + end + vcard_temp = st.deserialize(vcard_temp); local ok, err = save_to_pep(pep_service, true, vcard_to_pep(vcard_temp)); if ok and vcards:set(username, nil) then session.log("info", "Migrated vCard-temp to PEP"); |