#! /bin/sh
# $Id: inputmenu,v 1.19 2020/11/26 00:30:23 tom Exp $
# 2002 - written by Tobias Rittweiler <tobrit@freebits.de>

. ./setup-vars

user="$USER"
uid=`id|sed -e 's/^uid=//' -e 's/(.*//'`
gid=`id|sed -e 's/^.*gid=//' -e 's/(.*//'`
home="$HOME"

while [ "${returncode:-99}" -ne 1 ] && [ "${returncode:-99}" -ne 250 ]; do
	exec 3>&1
	returntext=`$DIALOG \
		--clear --ok-label "Create" \
		--backtitle "An Example for the use of --inputmenu:" "$@" \
		--inputmenu "Originally I designed --inputmenu for a \
configuration purpose. Here is a possible piece of a configuration program. \
" 20 50 10 \
"Username:" "$user" \
"UID:"      "$uid" \
"GID:"      "$gid" \
"HOME:"     "$home" \
2>&1 1>&3 `
	returncode=$?
	exec 3>&-
	case $returncode in
	$DIALOG_CANCEL)
		"$DIALOG" \
			--clear --backtitle "An Example for the use of --inputmenu:" \
			--yesno "Really quit?" 10 30
		case $? in
		$DIALOG_OK) break;;
		$DIALOG_CANCEL) returncode=99;;
		esac
		;;
	$DIALOG_OK)
		"$DIALOG" \
			--clear --backtitle "An Example for the use of --inputmenu:"  \
			--msgbox "useradd \n\
				-d $home \n\
				-u $uid \n\
				-g $gid \n\
				$user" 10 40
		;;
	$DIALOG_EXTRA)
		value=`echo "$returntext" | sed -e 's/^RENAMED //'`
		tag=`echo "$value" | sed -e 's/:.*//'`
		item=`echo "$value" | sed -e 's/^[^:]*:[ 	][ 	]*//'`

		case "$tag" in
		Username) user="$item" ;;
		UID)	  uid="$item"  ;;
		GID)	  gid="$item"  ;;
		HOME)	  home="$item" ;;
		esac
		;;

	*)
		. ./report-button
		break
		;;

	esac
done
