comparison mod_profile/mod_profile.lua @ 1422:c3882787ae06

mod_profile: Purge nodes before publishing new items
author Kim Alvefur <zash@zash.se>
date Fri, 30 May 2014 14:55:54 +0200
parents 808950ab007b
children 4852fc446d26
comparison
equal deleted inserted replaced
1421:295c30e44ba8 1422:c3882787ae06
42 end 42 end
43 43
44 local function update_pep(username, data) 44 local function update_pep(username, data)
45 local pep = pep_plus.get_pep_service(username.."@"..module.host); 45 local pep = pep_plus.get_pep_service(username.."@"..module.host);
46 if vcard.to_vcard4 then 46 if vcard.to_vcard4 then
47 pep:purge("urn:xmpp:vcard4", true);
47 pep:publish("urn:xmpp:vcard4", true, "", st.stanza("item"):add_child(vcard.to_vcard4(data))); 48 pep:publish("urn:xmpp:vcard4", true, "", st.stanza("item"):add_child(vcard.to_vcard4(data)));
48 end 49 end
49 50
50 local nickname = get_item(data, "NICKNAME"); 51 local nickname = get_item(data, "NICKNAME");
51 if nickname and nickname[1] then 52 if nickname and nickname[1] then
53 pep:purge("http://jabber.org/protocol/nick", true);
52 pep:publish("http://jabber.org/protocol/nick", true, "", st.stanza("item") 54 pep:publish("http://jabber.org/protocol/nick", true, "", st.stanza("item")
53 :tag("nick", { xmlns="http://jabber.org/protocol/nick" }):text(nickname[1])); 55 :tag("nick", { xmlns="http://jabber.org/protocol/nick" }):text(nickname[1]));
54 end 56 end
55 57
56 local photo = get_item(data, "PHOTO"); 58 local photo = get_item(data, "PHOTO");
57 if photo and photo[1] then 59 if photo and photo[1] then
58 local photo_raw = base64.decode(photo[1]); 60 local photo_raw = base64.decode(photo[1]);
59 local photo_hash = sha1(photo_raw, true); 61 local photo_hash = sha1(photo_raw, true);
60 62
63 pep:purge("urn:xmpp:avatar:metadata", true);
64 pep:purge("urn:xmpp:avatar:data", true);
61 pep:publish("urn:xmpp:avatar:metadata", true, "", st.stanza("item") 65 pep:publish("urn:xmpp:avatar:metadata", true, "", st.stanza("item")
62 :tag("metadata", { 66 :tag("metadata", {
63 xmlns="urn:xmpp:avatar:metadata", 67 xmlns="urn:xmpp:avatar:metadata",
64 bytes = tostring(#photo_raw), 68 bytes = tostring(#photo_raw),
65 id = photo_hash, 69 id = photo_hash,