Annotate

plugins/mod_vcard_legacy.lua @ 9254:2ffbcad8ec50

mod_vcard_legacy: Add support for address field
author Kim Alvefur <zash@zash.se>
date Tue, 21 Aug 2018 16:34:46 +0200
parent 9253:dbe3ae6f9746
child 9255:2aa40526df7b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9249
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local st = require "util.stanza"
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local jid_split = require "util.jid".split;
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 local mod_pep = module:depends("pep");
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 module:add_feature("vcard-temp");
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 module:add_feature("urn:xmpp:pep-vcard-conversion:0");
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 -- Simple translations
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 -- <foo><text>hey</text></foo> -> <FOO>hey</FOO>
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 local simple_map = {
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 nickname = "text";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 title = "text";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 role = "text";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 categories = "text";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 note = "text";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 url = "uri";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 bday = "date";
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 }
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21 module:hook("iq-get/bare/vcard-temp:vCard", function (event)
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 local origin, stanza = event.origin, event.stanza;
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 local pep_service = mod_pep.get_pep_service(jid_split(stanza.attr.to) or origin.username);
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
24 local ok, id, vcard4_item = pep_service:get_last_item("urn:xmpp:vcard4", stanza.attr.from);
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 local vcard_temp = st.stanza("vCard", { xmlns = "vcard-temp" });
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 if ok and vcard4_item then
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 local vcard4 = vcard4_item.tags[1];
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 local fn = vcard4:get_child("fn");
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 vcard_temp:text_tag("FN", fn and fn:get_child_text("text"));
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 local v4n = vcard4:get_child("n");
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 vcard_temp:tag("N")
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35 :text_tag("FAMILY", v4n and v4n:get_child_text("surname"))
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 :text_tag("GIVEN", v4n and v4n:get_child_text("given"))
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 :text_tag("MIDDLE", v4n and v4n:get_child_text("additional"))
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
38 :text_tag("PREFIX", v4n and v4n:get_child_text("prefix"))
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 :text_tag("SUFFIX", v4n and v4n:get_child_text("suffix"))
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
40 :up();
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
41
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
42 for tag in vcard4:childtags() do
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 local typ = simple_map[tag.name];
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
44 if typ then
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
45 local text = tag:get_child_text(typ);
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
46 if text then
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
47 vcard_temp:text_tag(tag.name:upper(), text);
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
48 end
9251
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
49 elseif tag.name == "email" then
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
50 local text = tag:get_child_text("text");
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
51 if text then
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
52 vcard_temp:tag("EMAIL")
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
53 :text_tag("USERID", text)
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
54 :tag("INTERNET"):up();
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
55 if tag:find"parameters/type/text#" == "home" then
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
56 vcard_temp:tag("HOME"):up();
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
57 elseif tag:find"parameters/type/text#" == "work" then
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
58 vcard_temp:tag("WORK"):up();
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
59 end
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
60 vcard_temp:up();
3f31e10e8256 mod_vcard_legacy: Add translation of email field
Kim Alvefur <zash@zash.se>
parents: 9250
diff changeset
61 end
9252
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
62 elseif tag.name == "tel" then
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
63 local text = tag:get_child_text("uri");
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
64 if text then
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
65 if text:sub(1, 4) == "tel:" then
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
66 text = text:sub(5)
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
67 end
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
68 vcard_temp:tag("TEL"):text_tag("NUMBER", text);
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
69 if tag:find"parameters/type/text#" == "home" then
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
70 vcard_temp:tag("HOME"):up();
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
71 elseif tag:find"parameters/type/text#" == "work" then
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
72 vcard_temp:tag("WORK"):up();
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
73 end
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
74 vcard_temp:up();
292d283c7694 mod_vcard_legacy: Add translation of telephone field
Kim Alvefur <zash@zash.se>
parents: 9251
diff changeset
75 end
9254
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
76 elseif tag.name == "adr" then
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
77 vcard_temp:tag("ADR")
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
78 :text_tag("POBOX", tag:get_child_text("pobox"))
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
79 :text_tag("EXTADD", tag:get_child_text("ext"))
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
80 :text_tag("STREET", tag:get_child_text("street"))
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
81 :text_tag("LOCALITY", tag:get_child_text("locality"))
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
82 :text_tag("REGION", tag:get_child_text("region"))
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
83 :text_tag("PCODE", tag:get_child_text("code"))
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
84 :text_tag("CTRY", tag:get_child_text("country"));
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
85 if tag:find"parameters/type/text#" == "home" then
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
86 vcard_temp:tag("HOME"):up();
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
87 elseif tag:find"parameters/type/text#" == "work" then
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
88 vcard_temp:tag("WORK"):up();
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
89 end
2ffbcad8ec50 mod_vcard_legacy: Add support for address field
Kim Alvefur <zash@zash.se>
parents: 9253
diff changeset
90 vcard_temp:up();
9249
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
91 end
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
92 end
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
93 end
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
94
9253
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
95 local meta_ok, avatar_meta = pep_service:get_items("urn:xmpp:avatar:metadata", stanza.attr.from);
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
96 local data_ok, avatar_data = pep_service:get_items("urn:xmpp:avatar:data", stanza.attr.from);
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
97 if meta_ok and data_ok then
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
98 for _, hash in ipairs(avatar_meta) do
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
99 local meta = avatar_meta[hash];
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
100 local data = avatar_data[hash];
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
101 local info = meta.tags[1]:get_child("info");
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
102 vcard_temp:tag("PHOTO")
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
103 :text_tag("TYPE", info and info.attr.type)
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
104 :text_tag("BINVAL", data.tags[1]:get_text())
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
105 :up();
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
106 end
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
107 end
dbe3ae6f9746 mod_vcard_legacy: Include avatar data from XEP-0084 PEP node
Kim Alvefur <zash@zash.se>
parents: 9252
diff changeset
108
9249
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
109 origin.send(st.reply(stanza):add_child(vcard_temp));
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
110 return true;
506aabdb13bc mod_vcard_legacy: Responds to vcard-temp queries with translated vcard4 data
Kim Alvefur <zash@zash.se>
parents:
diff changeset
111 end);
9250
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
112
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
113 local function inject_xep153(event)
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
114 local origin, stanza = event.origin, event.stanza;
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
115 local username = origin.username;
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
116 if not username then return end
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
117 local pep = mod_pep.get_pep_service(username);
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
118
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
119 stanza:remove_children("x", "vcard-temp:x:update");
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
120 local x_update = st.stanza("x", { xmlns = "vcard-temp:x:update" });
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
121 local ok, avatar_hash = pep:get_last_item("urn:xmpp:avatar:metadata", true);
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
122 if ok and avatar_hash then
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
123 x_update:text_tag("photo", avatar_hash);
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
124 end
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
125 stanza:add_direct_child(x_update);
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
126 end
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
127
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
128 module:hook("pre-presence/full", inject_xep153, 1);
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
129 module:hook("pre-presence/bare", inject_xep153, 1);
9a8006f9e983 mod_vcard_legacy: Attach vcard-temp avatar hash to outgoing presence
Kim Alvefur <zash@zash.se>
parents: 9249
diff changeset
130 module:hook("pre-presence/host", inject_xep153, 1);