X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=cards%2Fnew_card.sh;h=a8afc7a4f88b986321f993367ffbb04d53e31a63;hb=b67065bfb57b072dd1c344eedabfbb545eae6629;hp=1e37b7001af3c84a86d25409cdc8e81bc3e272ed;hpb=1227cb42309bc7edd296e8fea288f68968b1e003;p=lobster diff --git a/cards/new_card.sh b/cards/new_card.sh index 1e37b70..a8afc7a 100755 --- a/cards/new_card.sh +++ b/cards/new_card.sh @@ -23,14 +23,6 @@ order="$(REF o)" uid="$(timeid)$(randomid)" # 32 Octets UID, starting with timestamp card="${uid}.vcf" -vcf_escape(){ - for each in "$@"; do - printf %s\\n "$each" \ - | sed -E ':X;$!{N;bX}; s;\r\n;\n;g; s;([;,\\]);\\\1;g; s;\n;\\n;g;' - done \ - | sed -E ':X;$!{N;bX}; s;\n;\;;g' -} - IFS='|' read -r date fn ln bmonth byear tel tcell junk1 email junk2 note <<-EOF $(POST seed |tr \\t \|) EOF @@ -39,6 +31,14 @@ IFS='|' read -r date fn ln bmonth byear tel tcell junk1 email junk2 note <<-EOF [ ${#byear} = 2 ] && byear="20$byear" [ ${#bmonth} = 1 ] && bmonth="0$bmonth" +mn="" +case $fn in + *\ *) + mn="${fn#* }" + fn="${fn%% *}" + ;; +esac + mkdir -p "${_DATA}/lock/vcard/" lockdir="${_DATA}/lock/vcard/${card}/" lockfile=${lockdir}/${SESSION_ID} @@ -47,15 +47,15 @@ if mkdir "$lockdir"; then cat >"$lockfile" <<-EOF BEGIN:VCARD VERSION:4.0 - N:$(vcf_escape "$ln");$(vcf_escape "$fn");;; - FN:$(vcf_escape "$fn $ln") - BDAY:$(vcf_escape "${byear}-${bmonth}-01") - TEL:$(vcf_escape "$tel") - TEL;TYPE=CELL:$(vcf_escape "$tcell") - EMAIL:$(vcf_escape "$email") - X-ZACK-JOINDATE:$(vcf_escape "$date") + N:$(pdi_escape "$ln" "$fn" "$mn" "" "") + FN:$(pdi_escape "${fn}${mn:+ }${mn} ${ln}") + BDAY:$(parse_date "${byear}-${bmonth}-01") + TEL:$(pdi_escape "$tel") + TEL;TYPE=CELL:$(pdi_escape "$tcell") + EMAIL:$(pdi_escape "$email") + X-ZACK-JOINDATE:$(parse_date "$date") ADR: - NOTE:$(vcf_escape "$note") + NOTE:$(pdi_escape "$note") UID:${uid} END:VCARD EOF