Comparison

plugins/mod_vcard_legacy.lua @ 9256:12d3d96e3918

mod_vcard_legacy: Respond with old vcard
author Kim Alvefur <zash@zash.se>
date Tue, 21 Aug 2018 17:16:30 +0200
parent 9255:2aa40526df7b
child 9257:05bd21c122ae
comparison
equal deleted inserted replaced
9255:2aa40526df7b 9256:12d3d96e3918
3 3
4 local mod_pep = module:depends("pep"); 4 local mod_pep = module:depends("pep");
5 5
6 local sha1 = require "util.hashes".sha1; 6 local sha1 = require "util.hashes".sha1;
7 local base64_decode = require "util.encodings".base64.decode; 7 local base64_decode = require "util.encodings".base64.decode;
8
9 local vcards = module:open_store("vcard");
8 10
9 module:add_feature("vcard-temp"); 11 module:add_feature("vcard-temp");
10 module:add_feature("urn:xmpp:pep-vcard-conversion:0"); 12 module:add_feature("urn:xmpp:pep-vcard-conversion:0");
11 13
12 -- Simple translations 14 -- Simple translations
91 vcard_temp:tag("WORK"):up(); 93 vcard_temp:tag("WORK"):up();
92 end 94 end
93 vcard_temp:up(); 95 vcard_temp:up();
94 end 96 end
95 end 97 end
98 else
99 local legacy_vcard = st.deserialize(vcards:get(jid_split(stanza.attr.to) or origin.username));
100 origin.send(st.reply(stanza):add_child(legacy_vcard or vcard_temp));
101 return true;
96 end 102 end
97 103
98 local meta_ok, avatar_meta = pep_service:get_items("urn:xmpp:avatar:metadata", stanza.attr.from); 104 local meta_ok, avatar_meta = pep_service:get_items("urn:xmpp:avatar:metadata", stanza.attr.from);
99 local data_ok, avatar_data = pep_service:get_items("urn:xmpp:avatar:data", stanza.attr.from); 105 local data_ok, avatar_data = pep_service:get_items("urn:xmpp:avatar:data", stanza.attr.from);
100 if meta_ok and data_ok then 106 if meta_ok and data_ok then