#!/bin/ksh

#
# usage
#
usage() {
	echo    "$1: sample CDE address manager namespace interface"
	echo    "Usage: $1 -k search_key"
	exit 22
}

#
# Main
#
DIST_HOME=${UDHOME:-$DIST_HOME}
DIST_HOME=${DIST_HOME:-/usr/dist}
NAMEFILE=${NAMEX:-$DIST_HOME/pkgs/lib}/nameslistx

#
# Parse command line
#
cmd=`basename $0`
key=

while getopts h?xk: option
do
	case $option in
		h | \?)		usage $cmd;;
		x)		set -x;;
		k)		key=$OPTARG;;
	esac
done

#
# Discard args processed by getopts
#
shift `expr $OPTIND - 1`
if [ $# -gt 0 ]; then
	usage $cmd
fi

if [[ -z "$key" ]]; then
	usage $cmd
fi

if [[ ! -f "$NAMEFILE" ]]; then
        echo sdtnamestream v1
        echo concatenated buffers of type:ADDRESS_CARD
	exit 4
fi

CMD="cat $NAMEFILE"
for word in $key; do
	CMD="$CMD | egrep -i '"$word"'"
done

echo sdtnamestream v1
echo concatenated buffers of type:ADDRESS_CARD
eval $CMD |
/bin/nawk -F\| '
    {
	if (name = $5 " " $4 == " ") next;
	if (FNR >= 100) exit 23;
	printf( "BEGIN:VCARD\n" );
	printf( "FN:%s %s\n", $6, $4 );
	printf( "N:%s;%s;;;\n", $4, $5 );
	printf( "ORG:Sun Microsystems;%s\n", $8 );
	printf( "EMAIL;INTERNET:%s.sun.com\n", $16 );
	printf( "EMAIL;X-Sun-Internal:%s@%s.%s\n", $7, $13, $14 );
	printf( "X-Sun-User:%s\n", $7 );
	sub( "[^1-9]*", "", $3 );
	printf( "X-Sun-UserID:%s\n", $3 );
	printf( "X-Sun-Host:%s.%s\n", $11, $12 );
	split( $15, phoneNums, "/" );
	if (phoneNums[2] != "") printf( "TEL;WORK:%s\n", phoneNums[2] );
	if (phoneNums[1] != "") printf( "TEL;WORK;X-Sun-Internal:%s\n", phoneNums[1] );
	printf( "ADR;WORK:;%s;4150 Network Circle;Santa Clara;CA;95054;\n", $10 );
	printf( "MAILER:dtmail 1.3.0 CDE Version 1.5 SunOS 5.9\n" );
	printf( "END:VCARD\n" );
    }
'

exit 0
