Mercurial > prosody-modules
view mod_default_vcard/mod_default_vcard.lua @ 734:81de1e446bfe
mod_vjud: Don't break on undefined properties.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 01 Jul 2012 13:51:26 +0200 (2012-07-01) |
parents | 52f2188ec47d |
children | 7236cdec3ea1 |
line wrap: on
line source
local datamanager = require "util.datamanager"; local st = require "util.stanza"; local host = module.host; module:hook("user-registered", function(event) local username = event.username; local data = datamanager.load(username, host, "account_details"); local vcard = datamanager.load(username, host, "vcard"); --module:log("debug", "Has account details: %s", data and "yes" or "no"); --module:log("debug", "Has vCard: %s", vcard and "yes" or "no"); if data and not vcard then -- MAYBE -- first .. " " .. last -- first, last = name:match("^(%w+) (%w+)$") local vcard = st.stanza("vCard", { xmlns = "vcard-temp" }) :tag("VERSION"):text("3.0"):up() :tag("N") :tag("FAMILY"):text(data.last or ""):up() :tag("GIVEN"):text(data.first or ""):up() :up() :tag("FN"):text(data.name or ""):up() :tag("NICKNAME"):text(data.nick or username):up(); local ok, err = datamanager.store(username, host, "vcard", st.preserialize(vcard)); if not ok then module:log("error", "Couldn't save vCard data, %s", err); end end end);