Mercurial > prosody-hg
comparison plugins/mod_vcard_legacy.lua @ 9257:05bd21c122ae
mod_vcard_legacy: Handle incomplete avatar info
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 01 Sep 2018 23:42:33 +0200 |
| parents | 12d3d96e3918 |
| children | 0cc535668fce |
comparison
equal
deleted
inserted
replaced
| 9256:12d3d96e3918 | 9257:05bd21c122ae |
|---|---|
| 105 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); |
| 106 if meta_ok and data_ok then | 106 if meta_ok and data_ok then |
| 107 for _, hash in ipairs(avatar_meta) do | 107 for _, hash in ipairs(avatar_meta) do |
| 108 local meta = avatar_meta[hash]; | 108 local meta = avatar_meta[hash]; |
| 109 local data = avatar_data[hash]; | 109 local data = avatar_data[hash]; |
| 110 local info = meta.tags[1]:get_child("info"); | 110 local info = meta and meta.tags[1]:get_child("info"); |
| 111 vcard_temp:tag("PHOTO") | 111 vcard_temp:tag("PHOTO"); |
| 112 :text_tag("TYPE", info and info.attr.type) | 112 if info and info.attr.type then |
| 113 :text_tag("BINVAL", data.tags[1]:get_text()) | 113 vcard_temp:text_tag("TYPE", info.attr.type); |
| 114 :up(); | 114 end |
| 115 if data then | |
| 116 vcard_temp:text_tag("BINVAL", data.tags[1]:get_text()); | |
| 117 end | |
| 118 vcard_temp:up(); | |
| 115 end | 119 end |
| 116 end | 120 end |
| 117 | 121 |
| 118 origin.send(st.reply(stanza):add_child(vcard_temp)); | 122 origin.send(st.reply(stanza):add_child(vcard_temp)); |
| 119 return true; | 123 return true; |
