diff options
author | Kim Alvefur <zash@zash.se> | 2018-09-01 23:42:33 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-09-01 23:42:33 +0200 |
commit | b5adf6f255e372c71dce2c654da2cb0fee78470e (patch) | |
tree | 8501a9bc59ab5bdd47fbec2a679033978b4f94cb | |
parent | a56ecb418dc45c88862a9b52a2a6c47bd1e64a36 (diff) | |
download | prosody-b5adf6f255e372c71dce2c654da2cb0fee78470e.tar.gz prosody-b5adf6f255e372c71dce2c654da2cb0fee78470e.zip |
mod_vcard_legacy: Handle incomplete avatar info
-rw-r--r-- | plugins/mod_vcard_legacy.lua | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/mod_vcard_legacy.lua b/plugins/mod_vcard_legacy.lua index 7a34e68d..ea6563ed 100644 --- a/plugins/mod_vcard_legacy.lua +++ b/plugins/mod_vcard_legacy.lua @@ -107,11 +107,15 @@ module:hook("iq-get/bare/vcard-temp:vCard", function (event) for _, hash in ipairs(avatar_meta) do local meta = avatar_meta[hash]; local data = avatar_data[hash]; - local info = meta.tags[1]:get_child("info"); - vcard_temp:tag("PHOTO") - :text_tag("TYPE", info and info.attr.type) - :text_tag("BINVAL", data.tags[1]:get_text()) - :up(); + local info = meta and meta.tags[1]:get_child("info"); + vcard_temp:tag("PHOTO"); + if info and info.attr.type then + vcard_temp:text_tag("TYPE", info.attr.type); + end + if data then + vcard_temp:text_tag("BINVAL", data.tags[1]:get_text()); + end + vcard_temp:up(); end end |