# $Id: cdd-update-menus,v 1.6 2004/05/07 16:01:33 kalfa Exp $

# check if I am a specific user
amI() {
	RET=0
	test `whoami` != "$1" && RET=1
	return ${RET}
}

# updates user's menu for user $1, indipendently from any CDD
updateUser() {
	RET=0
	SYSUSER=$1
#	SYSSCRIPT=$2
#	USERSCRIPT=$3
#
#	UHOME=`getUserHome ${SYSUSER}`
#	if [ $# -ne 3 ]; then
#		RET=64 # EX_USAGE
#	elif [ ! -x "${SYSSCRIPT}" ]; then
#		cddFail 66 "Fatal: ${SYSSCRIPT} doesn't exist"
#
#	# and now real check for user's USERSCRIPT symlink presence
#	else
#		if [ ! -d "`dirname ${USERSCRIPT}`" ]; then
#			# directory ~/.menu doesn't exist, create it and link the sys
#			# script
#			# returning <that's all right>
#			echo "Creating `dirname ${USERSCRIPT}` and cdd-menu link inside"
#			${DRYRUN} mkdir "`dirname ${USERSCRIPT}`"
#			${DRYRUN} ln -fs "${SYSSCRIPT}" "${USERSCRIPT}"
#			${DRYRUN} chown -R ${CDDUSER}: "`dirname ${USERSCRIPT}`"
#
#		elif [ -f "${USERSCRIPT}" -a ! -L "${USERSCRIPT}" ]; then
#			# parent directory of ${USERSCRIPT} exists and has cdd-menu, but
#			# it's not a link probably it's a script modified by user write a
#			# warning and RET=0
#
#			# TODO PERFORM ANY ACTIONS? 
#			cddLog "Warning: ${USERSCRIPT} isn't a symlink, probably ${CDDUSER} modified it."
#			cddLog "Warning: Check it. please."
#
#		else
#			# here we're sure that if the file exists, it's a symlink 
#			# returning <that's all right>
#
#			cddLog "Updating cdd-menu script for user ${CDDUSER}"
#			${DRYRUN} rm -f "${USERSCRIPT}"
#			${DRYRUN} ln -fs "${SYSSCRIPT}" "${USERSCRIPT}"
#			${DRYRUN} chown ${CDDUSER}: "${USERSCRIPT}"
#		fi
#	fi
	return ${RET}
}

# updates menu scripts for any user registered in CDD
updateCDD() {
	RET=0
	CDD=$1
#	SYSSCRIPT=$2
#
#	ROLES="`getCDDRoleList ${CDD}`"
#	if [ $# -ne 2 ]; then
#		RET=64 # EX_USAGE
#	else
#		cddLog "Updating menu script for all users in ${CDD} CDD:"
#		for ROLE in ${ROLES}; do
#			for CDDUSER in `getUsersInRole ${CDD} ${ROLE}`; do
#				UHOME="`getUserHome ${CDDUSER}`"
#				if [ ! -d "${UHOME}" ] ; then
#				   logFail 67  "Home directory for user ${CDDUSER} does not exist.\n... Sorry can not update menus."
#				fi
#
#				USERSCRIPT="${UHOME}/.menu/cdd-menu"
#				updateUser "${CDDUSER}" "${SYSSCRIPT}" "${USERSCRIPT}"
#			done
#		done
#
#		# The above commented code isn't bad, only complex for the actual
#		# state of the CDD menu system:
#		# Update user menu script for a specific CDD can be delegated entirely
#		# to ${SYSSCRIPT} script. 
#		# The only needing is a correct cdd-menu script to be executed by
#		# update-menus, let's easy up script!
#
#	fi
	
	return ${RET}
}
