#	@(#)Form.add.host	13.1 (RC International) 91/08/23

form=Add a New Printer

help=`set -e OBJ_DIR="$OAMBASE/add-ons/lp/printers/printers/add"`OPEN TEXT $INTFBASE/Text.itemhelp $LININFO 

done=`indicator -w; set -l error="/tmp/lp.error$VPID";
	message -w "Checking if the printer is running, please wait ...";
	if /usr/bin/lpstat -r | grep not > /dev/null;
	then
		message "Printer scheduler is not running.";
	else
		message "Stopping the printer scheduler, please wait ...";
		shell "/usr/lib/lpshut";
	fi;
	message -w "Adding printer $F1, please wait ...";
	shell "/usr/lib/lpadmin -p$F1 -v$F2 -m$F3 > /dev/null 2>> $error";
	if [ -s $error ];
	then
		echo "OPEN TEXT $OAMBASE/add-ons/lp/printers/printers/add/Text.error $error ";
	else
		message -w "Printer $F1 added. Starting the scheduler, please wait ...";
		shell "rm -f /usr/spool/lp/SCHEDLOCK";
		shell "/usr/lib/lpsched";
		message -w "Enabling printer $F1, please wait ...";
		shell "/usr/bin/enable $F1";
		message -w "Start $F1 to accept requests, please wait ...";
		shell "/usr/lib/accept $F1";
		message "Printer $F1 added and ready to accept requsts.";
	fi;`

close=`rm -f $error; unset -l error; rm -f $name_1;`

#F1
name=Printer name:
lininfo="add:F1"
nrow=1
ncol=1
frow=1
fcol=20
rows=1
columns=19
fieldmsg="Max. 14 characters (letters, digits and '_'). Not 'all', 'any' or 'none'."
valid=`
	indicator -w;
	regex -v "$F1" 
	'^[Aa][Ll][Ll]$'	'"all" is a reserved word'
	'^[Aa][Nn][Yy]$'	'"any" is a reserved word'
	'^[Nn][Oo][Nn][Ee]$'	'"none" is a reserved word'
	'^[_a-zA-Z0-9]{1,14}$'	'ok'
	'^.*$'			'name must be 1-14 letters, numbers, and "_"'
	| set -l lp_errtmp;

	if [ "$lp_errtmp" = 'ok' ];
	then
	    if lpdata -p | grep $F1 > /dev/null;
	    then
		set -l lp_errtmp="\"$F1\" already exists";
		echo false;
	    else
		echo true;
	    fi;
	else
		echo false;
	fi;
`
invalidmsg="Invalid printer:  $lp_errtmp."

#F2
name=Device:
lininfo="add:F2"
nrow=2
ncol=1
frow=2
fcol=20
rows=1
columns=19
fieldmsg="Enter the device name (/dev/...). It must already exist."
rmenu=`set -e OBJ_DIR="$OAMBASE/add-ons/lp/printers/printers/add"`OPEN MENU $OBJ_DIR/Menu.dev.ch.host
valid=` indicator -w;
	set -l name_1="/tmp/lp.n1$VPID";
	shell "/bin/sh -c 'ls /dev/lp*' > $name_1"; 
	if grep $F2 $name_1 > /dev/null;
	then
		echo true;
	else
		echo false;
	fi;`
invalidmsg="Invalid device:  $F2."

#F3
name=Interface program:
lininfo="add:F3"
nrow=3
ncol=1
frow=3
fcol=20
rows=1
columns=19
rmenu=`set -e OBJ_DIR="$OAMBASE/add-ons/lp/printers/printers/add"`OPEN MENU $OBJ_DIR/Menu.int.ch.host
valid=` indicator -w;
	set -l name_1="/tmp/lp.n1$VPID";
	if ls /usr/spool/lp/model | grep $F3 > /dev/null;
	then
		echo true;
	else
		echo false;
	fi;`
invalidmsg="Invalid interface program:  $F3."
