#!/bin/sh
#############################################
##
## Ricoh UNIX Printing Solution
## Installation Program
##
## Version 6.1  08/14/2003
## Copyright 1999-2003
## Ricoh Engineering
##                                         
#############################################
#############################################
## 
## For debugging, uncomment below: set -x
##
#############################################
#set -x

#############################################
##
## Select Brand Here
## Supported brands are: Ricoh, Lanier, Savin
##         Infotec, Gestetner, Rex-Rotary and Nashuatec
##
#############################################

BRAND="Ricoh"
#BRAND="Savin"
#BRAND="Infotec"
#BRAND="Lanier"
#BRAND="Gestetner"
#BRAND="Rex-Rotary"
#BRAND="Nashuatec"
SUPPORT_CONTACT="For support, please contact $BRAND Technical Support"

cat << Trademark

#############################################
##
## $BRAND UNIX Printing Solution
## Installation Program
##
## $SUPPORT_CONTACT
##
#############################################

Trademark

#############################################
##
## Version History
##
## Ver 6.04a  2/04/2003
## Ver 6.02   3/26/2002 Aficio 1224/1232 1060/1075, AP3850C support added. Text files support added.
## Ver 6.01   12/31/2001 Aficio 1032, AP2610 support added.
## Ver 6.010 01/07/2002 Aficio 3506/4506 RC210/E-310, EB-105e, E-710, E-810 Support added.
## Ver 6.0   12/21/2001 IBM AIX Device Option Support. Bug fixes.
## Ver 5.10  10/31/2001 AP206, AP4510, Aficio 1018D support added.
## Ver 5.08  11/5/2001 OEM brand / model names corrections
## Ver 5.07  10/29/2001 New product names for each brand added
## Ver 5.06  10/5/2001 Bug fixes
## Ver 5.05  9/28/2001 Bug fixes
## Ver 5.04  9/25/2001 Bug fixes
## Ver 5.03  9/19/2001 Minor bug fixes
## Ver 5.02  9/18/2001 RedHat 7.0 and 7.1 support added. Major bug fixes
## Ver 5.01  8/31/2001 Aficio 1013, AP3800C support added, minor bug fixes
## Ver 5.00  8/15/2001 Aficio 1022/1027 support, RedHat 7 Linux support
## Ver 4.00  5/02/2001 Aficio 1015/1018 added, 6 OEM added
## Ver 3.10  3/20/2001 Aficio 1045, Aficio 700 EB-70, AP3800C, AP2600 & AP3200 added
##			Aficio 220/270 modified
## Ver 3.02  1/20/2001 Aficio 150/180, minor corrections
## Ver 3.01  12/10/2000 AP2600 & AP505 device option added
## Ver 3.00  8/10/2000 Type 850 & EB-105 & RC-200 & APs added
## Ver 2.50  7/20/2000 E650, E300 Support / Branding
## Ver 2.01  6/20/2000 Separate Filter for 650
## Ver 2.00  5/20/2000 Integrated Installation
## Ver 1.50  5/8/2000 Solaris 8 Support
## Ver 1.30  1/15/2000 HP-UX support
## Ver 1.20  1/5/2000 Aficio 220/270 support
## Ver 1.07  7/20/1999 First release version
##
#############################################

#############################################
##
## Create myecho command based on UNIX version
## For BSD UNIX myecho="echo -e",
## For SYS V UNIX myecho="echo"
##
#############################################

myecho="echo"
test X`echo -e` = X && myecho="echo -e"

#############################################
##
## Check if user is logged in as root
##
#############################################

umask 022

if test "`id|sed 's/(.*$//'`" != "uid=0"
then
     $myecho "You must have root privileges to run this script. Exiting ...."
     exit 1
fi

#############################################
##
## End User License Agreement
##
#############################################
more EULA

while true; do
$myecho "Do you agree ? [y/n] \c"

read EULA_CONFIRM

case "$EULA_CONFIRM" in
	Y|y)
		break;;
	N|n)
		$myecho "Sorry."
		exit 1;;
esac
done

#############################################
##
## Message to user
##
#############################################

$myecho "\nIf you want to terminate execution of this program,\
	\npress CTRL+C (or Delete key for SCO OpenServer) at any time."

#############################################
##
## Initialize variables
##
#############################################

PORTNAME=
Product=
PRODUCT_NAME=
Version=
OS_VERSION=
OS_NAME=
OS_TYPE=

#############################################
##
## Detect / select OS Version
##
#############################################

OS_NAME=`uname -s`

case $OS_NAME in
SunOS)
	OS_VERSION=`uname -r`
	OS_TYPE="SYSV"

	if [ "$OS_VERSION" = 5.6 -o "$OS_VERSION" = 5.7 -o "$OS_VERSION" = 5.8 -o "$OS_VERSION" = 5.9 ]
	then
		OS_VERSION="Solaris2.6"
		Version="Sun Solaris 2.6, 7, 8, 9"
	else
		OS_VERSION="Solaris2.5"
		Version="Sun Solaris 2.4 or 2.5"
	fi
	;;
HP-UX)
	OS_VERSION="HPUX"
	OS_TYPE="SYSV"
	Version="HP-UX `uname -r`"
	;;
AIX)
	OS_VERSION="AIX43"
	OS_TYPE="SYSV"
	Version="IBM AIX `uname -v`.`uname -r`"
	;;
Linux)
	OS_VERSION="LINUX"
	OS_TYPE="BSD"
	if grep 'Red Hat' /etc/issue > /dev/null
	then
		Version="Red Hat Linux"
	elif grep SuSE /etc/issue > /dev/null
	then
		Version="SuSE Linux"
	elif grep Mandrake /etc/issue > /dev/null
	then
		Version="Mandrake Linux"
	else
		Version="LINUX"
	fi
	;;
SCO_SV)
	OS_VERSION="SCO"
	OS_TYPE="BSD"
	Version="SCO OpenServer `uname -v`"
	;;
FreeBSD)
	OS_VERSION="FreeBSD"
	OS_TYPE="BSD"
	Version="FreeBSD `uname -r`"
	;;
*)
	;;
esac

while true; do
if [ -n "$Version" ];
then

	$myecho "\nYour system appears to be running $Version.\nIs this correct ? [y/n] \c"
	read OS_CONFIRM
	case "$OS_CONFIRM" in
	Y|y|N|n)
		break;;
	esac
fi
done

if [ "$OS_CONFIRM" = N -o "$OS_CONFIRM" = n -o -z "$Version" ];
then

cat << SelectVersion

Please select your UNIX version.

  1. Sun Solaris 2.4 or 2.5
  2. Sun Solaris 2.6, 7, 8, 9
  3. HP-UX 10.x or 11.x
  4. IBM AIX 4.3 or 5.1
  5. RedHat Linux 6.x or 7.x
  6. SCO OpenServer 5.0.6
  7. FreeBSD
  8. Other

SelectVersion

$myecho "Select <1-8>: \c"
read Version

case $Version in

1) OS_VERSION="Solaris2.5" ;;
2) OS_VERSION="Solaris2.6" ;;
3) OS_VERSION="HPUX" ;;
4) OS_VERSION="AIX43" ;;
5) OS_VERSION="LINUX" ;;
6) OS_VERSION="SCO" ;;
7) OS_VERSION="FreeBSD" ;;
*) $myecho "Unsupported UNIX version. Exiting ...."
	exit 1 ;;
esac
fi

#############################################
##
## While loop until user confirms entry
##
#############################################
page=1

while true; do

HOSTNAME=
QNAME=
PRINTER_NAME=
DEVICE_OPTION=N
DOS_AVAILABLE=N

#############################################
##
## There will be brand-specific product
##       selection here
##
#############################################

case $BRAND in

Ricoh)

#############################################
##
## Select a RICOH product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. Aficio 150/180
  2. Aficio 220/270
  3. Aficio 350/350e/450/450e(355/355e/455/455e)
  4. Aficio 1035/1045(G)
  5. Aficio 550/650
  6. Aficio 551/700/1055 Type 700 and 1055
  7. Aficio 551/700 EB-70
  8. Aficio 850/1050/1085/1105 Type 850
  9. Aficio 850/1050/1085/1105 EB-105
 10. AP204/305/306/306D
 11. AP505
 12. AP1400/1600/2000/2100
 13. AP2600/AP2600N
 14. AP2700/3200
 15. AP4500
 16. Aficio 3000/4000 E-300
 17. Aficio 3000/4000 Type RC-200
 18. Aficio 6000 E-650
 19. Aficio 1015/1018/1018D
 20. Aficio 1022/1027/1032

SelectProduct
	;;

2)

cat << SelectProduct

Please select product name.

 21. Aficio 120/1013/FX12/1013F
 22. AP3800C
 23. AP206
 24. AP4510
 25. AP2610/AP2610N
 26. Aficio 3506/4506 E-310
 27. Aficio 6513 E-710
 28. Aficio 850/1050/1085/1105 EB-105e
 29. Aficio 3506/4506 Type RC-210
 30. Aficio 6513 E-820
 31. Aficio 1060/1075
 32. Aficio AP3850C
 33. Aficio CL3000
 34. Aficio 1224C/1232C
 35. Aficio CL5000
 36. None of above
SelectProduct
	;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-36> or press <enter> to go on to the next page: \c"
read Product

case $Product in

1)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 150/180"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 220/270"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Aficio 350/350e/450/450e(355/355e/455/455e)"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 1035/1045(G)"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Aficio 550/650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Aficio 551/700/1055 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Aficio 551/700 EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Aficio 850/1050/1085/1105 Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Aficio 850/1050/1085/1105 EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;

10)
   PORTNAME="text"
   PRODUCT_NAME="AP204/305/306/306D"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_204;;

11)
   PORTNAME="xjdirect"
   PRODUCT_NAME="AP505"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_505;;

12)
   PORTNAME="PORT1"
   PRODUCT_NAME="AP1400/1600/2000/2100"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1400;;

13)
   PORTNAME="text"
   PRODUCT_NAME="AP2600/AP2600N"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2600;;

14)
   PORTNAME="text"
   PRODUCT_NAME="AP2700/3200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

15)
   PORTNAME="PORT1"
   PRODUCT_NAME="AP4500"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

16)
   PORTNAME="print_r4"
   PRODUCT_NAME="Aficio Color 3000/4000 E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Aficio Color 3000/4000 Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

18)
   PORTNAME="print_r5"
   PRODUCT_NAME="Aficio Color 6000 E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 1015/1018/1018D"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

20)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 1022/1027/1032"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

21)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 120/FX12/1013/1013F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

22)
   PORTNAME="text"
   PRODUCT_NAME="AP3800C"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

23)
   PORTNAME="text"
   PRODUCT_NAME="AP206"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_206;;

24)
   PORTNAME="text"
   PRODUCT_NAME="AP4510"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_4510;;

25)
   PORTNAME="text"
   PRODUCT_NAME="AP2610/AP2610N"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2610;;

26)
   PORTNAME="print_r6"
   PRODUCT_NAME="Aficio Color 3506/4506 E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;

27)
   PORTNAME="print_r7"
   PRODUCT_NAME="Aficio Color 6513 E-710"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e710;;

28)
   PORTNAME="print"
   PRODUCT_NAME="Aficio 850/1050/1085/1105 EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

29)
   PORTNAME="text"
   PRODUCT_NAME="Aficio Color 3506/4506 Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;

30)
   PORTNAME="print_r7"
   PRODUCT_NAME="Aficio Color 6513 E-820"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e820;;

31)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 1060/1075"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

32)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Aficio AP3850C"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3850;;

33)
   PORTNAME="text"
   PRODUCT_NAME="Aficio CL3000"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3000;;

34)
   PORTNAME="text"
   PRODUCT_NAME="Aficio 1224C/1232C"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

35)
   PORTNAME="text"
   PRODUCT_NAME="Aficio CL5000"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

36)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac

	;;

Savin)

#############################################
##
## Select a SAVIN product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. 2015DP/9918DP
  2. 9922DP/9927DP
  3. 9935DP/9935DPE/9945DP/9945DPE(2035DP/2045DP/2035DPE/2045DPE)
  4. 2535/2545(2235/2245)
  5. 9955DP/9965DP
  6. 2055DP/2070DP/2555 Type 700 and 1055
  7. 2055DP/2070DP EB-70
  8. 2085DP/2105DP/2585/25105 Type 850
  9. 2085DP/2105DP/2585/25105 EB-105
 10. SLP416C/SLP517C/SLP624S/SLP624d
 11. SLP517CP
 12. SLP14/SLP16/SLP20/SLP21
 13. SLP26/SLP26n
 14. SLP27/SLP32
 15. SLP45
 16. SDC306/SDC306A/SDC306E E-300
 17. SDC306/SDC306A/SDC306E Type RC-200
 18. SDC410/SDC410E E-650
 19. 2515/2518/2518d
 20. 2522/2527/2532

SelectProduct
;;

2)
cat << SelectProduct

Please select product name.

 21. 2512/2513/2513f
 22. SLP38c
 23. MLP45
 24. MLP26/MLP26n
 25. SDC326/SDC356A E-310
 26. SDC413 E-710
 27. 2085DP/2105DP/2585/25105 EB-105e
 28. SDC326/SDC356A Type RC-210
 29. SDC413 E-820
 30. SLP6c
 31. 2560/2575
 32. SLP38c DE
 33. CLP1620
 34. C2408/C3210
 35. CLP1036
 36. None of above

SelectProduct
 ;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-36> or press <enter> to go on to the next page: \c"
read Product

case $Product in

1)
   PORTNAME="text"
   PRODUCT_NAME="Savin 2015DP/9918DP"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Savin 9922DP/9927DP"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Savin 9935DP/9935DPE/9945DP/9945DPE(2035DP/2045DP/2035DPE/2045DPE)"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Savin 2535/2545(2235/2245)"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Savin 9955DP/9965DP"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Savin 2055DP/2070DP/2555 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Savin 2055DP/2070DP EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Savin 2085DP/2105DP/2585/25105 Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Savin 2085DP/2105DP/2585/25105 EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;

10)
   PORTNAME="text"
   PRODUCT_NAME="Savin SLP416C/SLP517C/SLP624S/SLP624d"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_204;;

11)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Savin SLP517CP"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_505;;

12)
   PORTNAME="PORT1"
   PRODUCT_NAME="Savin SLP14/SLP16/SLP20/SLP21"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1400;;

13)
   PORTNAME="text"
   PRODUCT_NAME="Savin SLP26/SLP26n"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2600;;

14)
   PORTNAME="text"
   PRODUCT_NAME="Savin SLP27/SLP32"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

15)
   PORTNAME="PORT1"
   PRODUCT_NAME="Savin SLP45"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

16)
   PORTNAME="print_r4"
   PRODUCT_NAME="Savin SDC306/SDC306A/SDC306E E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Savin SDC306/SDC306A/SDC306E Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

18)
   PORTNAME="print_r5"
   PRODUCT_NAME="Savin SDC410/SDC410E E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Savin 2515/2518/2518d"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

20)
   PORTNAME="text"
   PRODUCT_NAME="Savin 2522/2527/2532"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

21)
   PORTNAME="text"
   PRODUCT_NAME="Savin 2512/2513/2513f"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

22)
   PORTNAME="text"
   PRODUCT_NAME="Savin SLP38c"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

23)
   PORTNAME="text"
   PRODUCT_NAME="Savin MLP45"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_4510;;

24)
   PORTNAME="text"
   PRODUCT_NAME="Savin MLP26/MLP26n"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2610;;

25)
   PORTNAME="print_r6"
   PRODUCT_NAME="Savin SDC326/SDC356A E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;


26)
   PORTNAME="print_r7"
   PRODUCT_NAME="Savin SDC413 E-710"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e710;;

27)
   PORTNAME="print"
   PRODUCT_NAME="Savin 2085DP/2105DP/2585/25105 EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

28)
   PORTNAME="text"
   PRODUCT_NAME="Savin SDC326/SDC356A Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;


29)
   PORTNAME="print_r7"
   PRODUCT_NAME="Savin SDC413 E-820"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e820;;

30)
   PORTNAME="text"
   PRODUCT_NAME="SLP6c"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_206;;

31)
   PORTNAME="text"
   PRODUCT_NAME="Savin 2560/2575"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

32)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Savin SLP38c DE"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3850;;

33)
   PORTNAME="text"
   PRODUCT_NAME="Savin CLP1620"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3000;;

34)
   PORTNAME="text"
   PRODUCT_NAME="Savin C2408/C3210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

35)
   PORTNAME="text"
   PRODUCT_NAME="Savin CLP1036"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

36)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac
	;;


Nashuatec)

#############################################
##
## Select a NASHUATEC product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. D415S/D418
  2. D422/D427
  3. D435/D445
  4. 3525/4525
  5. D455/D465
  6. D555/D570/5505 Type 700 and 1055
  7. D555/D570 EB-70
  8. D485/D4105/8505/10505 Type 850
  9. D485/D4105/8505/10505 EB-105
 10. C7005W/C7006W/C7006dw
 11. C7005P
 12. P7014/P7016/P7020/P7021
 13. P7026/P7026n
 14. P7027/P7032
 15. P7045
 16. CS506/CS506D/CS506DE E-300
 17. CS506/CS506D/CS506DE Type RC-200
 18. CS510/CS510E E-650
 19. 1505/1805/1805d
 20. 2205/2705/3205

SelectProduct
;;

2)

cat << SelectProduct

Please select product name.

 21. 1205/1205f/1305/1305f
 22. DSc38
 23. C7006
 24. P7145
 25. P7126/P7126n
 26. CS525/CS531 E-310
 27. CS513d E-710
 28. D485/D4105/8505/10505 EB-105e
 29. CS525/CS531 Type RC-210
 30. CS513d E-820
 31. 6005/7505
 32. DSc38F
 33. C7116
 34. DSc524/DSc532
 35. C7010
 36. None of above

SelectProduct
;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-36> or press <enter> to go on to the next page: \c"
read Product

case $Product in
1)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec D415S/D418"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec D422/D427"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Nashuatec D435/D445"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec 3525/4525"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Nashuatec D455/D465"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Nashuatec D555/D570/5505 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Nashuatec D555/D570 EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Nashuatec D485/D4105/8505/10505 Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Nashuatec D485/D4105/8505/10505 EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;

10)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec C7005W/C7006W/C7006dw"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_204;;

11)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Nashuatec C7005P"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_505;;

12)
   PORTNAME="PORT1"
   PRODUCT_NAME="Nashuatec P7014/P7016/P7020/P7021"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1400;;

13)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec P7026/P7026n"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2600;;

14)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec P7027/P7032"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

15)
   PORTNAME="PORT1"
   PRODUCT_NAME="Nashuatec P7045"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

16)
   PORTNAME="print_r4"
   PRODUCT_NAME="Nashuatec CS506/CS506D/CS506DE E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec CS506/CS506D/CS506DE Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

18)
   PORTNAME="print_r5"
   PRODUCT_NAME="Nashuatec CS510/CS510E E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec 1505/1805/1805d"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

20)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec 2205/2705/3205"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

21)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec 1205/1205f/1305/1305f"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

22)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec DSc38"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

23)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec C7006"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_206;;

24)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec P7145"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_4510;;

25)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec P7126/P7126n"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2610;;

26)
   PORTNAME="print_r6"
   PRODUCT_NAME="Nashuatec CS525/CS531 E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;

27)
   PORTNAME="print_r7"
   PRODUCT_NAME="Nashuatec CS513d E-710"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e710;;

28)
   PORTNAME="print"
   PRODUCT_NAME="Nashuatec D485/D4105/8505/10505 EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

29)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec CS525/CS531 Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;

30)
   PORTNAME="print_r7"
   PRODUCT_NAME="Nashuatec CS513d E-820"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e820;;

31)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec 6005/7505"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

32)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Nashuatec DSc38F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3850;;

33)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec C7116"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3000;;

34)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec DSc524/DSc532"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

35)
   PORTNAME="text"
   PRODUCT_NAME="Nashuatec C7010"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

36)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac

	;;

Rex-Rotary)

#############################################
##
## Select a REX-ROTARY product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. 2815S/2818
  2. 2822/2827
  3. 2835/2845
  4. 3508/4508
  5. 2855/2865
  6. 2955/2970/5508 Type 700 and 1055
  7. 2955/2970 EB-70
  8. 2885/28105/8508/10508 Type 850
  9. 2885/28105/8508/10508 EB-105
 10. C7005W/C7006W/C7006dw
 11. C7005P
 12. P7014/P7016/P7020/P7021
 13. P7026/P7026N
 14. P7027/P7032
 15. P7045
 16. CS806/CS80D/CS806DE E-300
 17. CS806/CS80D/CS806DE Type RC-200
 18. CS810/CS810E E-650
 19. 1508/1808/1808D
 20. 2238/2738/3238

SelectProduct
;;

2)

cat << SelectProduct

Please select product name.

 21. 1208/1208F/1308/1308F
 22. DSc38
 23. C7006
 24. P7145
 25. P7126/P7126N
 26. CS825/CS831 E-310
 27. CS813D E-710
 28. 2885/28105/8508/10508 EB-105e
 29. CS825/CS831 Type RC-210
 30. CS813D E-820
 31. 6008/7508
 32. DSc38F
 33. C7116
 34. DSc824/DSc832
 35. C7010
 36. None of above

SelectProduct
;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-36> or press <enter> to go on to the next page: \c"
read Product

case $Product in

1)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 2815S/2818"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 2822/2827"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Rex-Rotary 2835/2845"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 3508/4508"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Rex-Rotary 2855/2865"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Rex-Rotary 2955/2970/5508 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Rex-Rotary 2955/2970 EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Rex-Rotary 2885/28105/8508/10508 Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Rex-Rotary 2885/28105/8508/10508 EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;


10)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary C7005W/C7006W/C7006dw"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_204;;

11)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Rex-Rotary C7005P"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_505;;

12)
   PORTNAME="PORT1"
   PRODUCT_NAME="Rex-Rotary P7014/P7016/P7020/P7021"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1400;;

13)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary P7026/P7026N"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2600;;

14)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary P7027/P7032"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

15)
   PORTNAME="PORT1"
   PRODUCT_NAME="Rex-Rotary P7045"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

16)
   PORTNAME="print_r4"
   PRODUCT_NAME="Rex-Rotary CS806/CS80D/CS806DE E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary CS806/CS80D/CS806DE Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

18)
   PORTNAME="print_r5"
   PRODUCT_NAME="Rex-Rotary CS810/CS810E E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 1508/1808/1808D"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

20)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 2238/2738/3238"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

21)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 1208/1208F/1308/1308F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

22)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary DSc38"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

23)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary C7006"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_206;;

24)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary P7145"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_4510;;

25)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary P7126/P7126N"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2610;;

26)
   PORTNAME="print_r6"
   PRODUCT_NAME="Rex-Rotary CS825/CS831 E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;

27)
   PORTNAME="print_r7"
   PRODUCT_NAME="Rex-Rotary CS813D E-710"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e710;;

28)
   PORTNAME="print"
   PRODUCT_NAME="Rex-Rotary 2885/28105/8508/10508 EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

29)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary CS825/CS831 Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;

30)
   PORTNAME="print_r7"
   PRODUCT_NAME="Rex-Rotary CS813D E-820"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e820;;

31)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary 6008/7508"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

32)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Rex-Rotary DSc38F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3850;;

33)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary C7116"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3000;;

34)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary DSc824/DSc832"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

35)
   PORTNAME="text"
   PRODUCT_NAME="Rex-Rotary C7010"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

36)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac

	;;
Gestetner)

#############################################
##
## Select a GESTETNER product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. 3215s/3218
  2. 3222/3227
  3. 3235/3235E/3245/3245E
  4. 3502/4502
  5. 3255/3265
  6. 3355/3370/5502 Type 700 and 1055
  7. 3355/3370 EB-70
  8. 3285/32105/8502/10502 Type 850
  9. 3285/32105/8502/10502 EB-105
 10. C7004/C7005W/C7006W/C7006dw
 11. C7005P
 12. P7014/P7016/P7020/P7021
 13. P7026/P7026n
 14. P7027/P7032
 15. P7045
 16. CS206/CS206d/206de E-300
 17. CS206/CS206d/206de Type RC-200
 18. CS210/CS210e E-650
 19. 1502/1802/1802d
 20. 2212/2712/3212

SelectProduct
;;

2)

cat << SelectProduct

Please select product name.

 21. 1202/1202f/1302/1302f
 22. DSc38
 23. C7006
 24. P7145
 25. P7126/P7126n
 26. CS225/CS231 E-310
 27. CS213d E-710
 28. 3285/32105/8502/10502 EB-105e
 29. CS225/CS231 Type RC-210
 30. CS213d E-820
 31. 6002/7502
 32. DSc38F
 33. C7116
 34. DSc224/DSc232
 35. C7010
 36. None of above

SelectProduct
;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-36> or press <enter> to go on to the next page: \c"
read Product

case $Product in

1)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 3215s/3218"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 3222/3227"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Gestetner 3235/3235E/3245/3245E"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 3502/4502"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Gestetner 3255/3265"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Gestetner 3355/3370/5502 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Gestetner 3355/3370 EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Gestetner 3285/32105/8502/10502 Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Gestetner 3285/32105/8502/10502 EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;

10)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner C7004/C7005W/C7006W/C7006dw"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_204;;

11)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Gestetner C7005P"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_505;;

12)
   PORTNAME="PORT1"
   PRODUCT_NAME="Gestetner P7014/P7016/P7020/P7021"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1400;;

13)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner P7026/P7026n"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2600;;

14)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner P7027/P7032"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

15)
   PORTNAME="PORT1"
   PRODUCT_NAME="Gestetner P7045"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

16)
   PORTNAME="print_r4"
   PRODUCT_NAME="Gestetner CS206/CS206D/206DE E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner CS206/CS206D/206DE Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

18)
   PORTNAME="print_r5"
   PRODUCT_NAME="Gestetner CS210/CS210e E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 1502/1802/1802d"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

20)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 2212/2712/3212"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

21)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 1202/1202f/1302/1302f"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

22)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner DSc38"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

23)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner C7006"
   DOS_AVAILABLE=Y
   RINTER_SCRIPT=./sol_206;;

24)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner P7145"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_4510;;

25)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner P7126/7126n"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2610;;

26)
   PORTNAME="print_r6"
   PRODUCT_NAME="Gestetner CS225/CS231 E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;

27)
   PORTNAME="print_r7"
   PRODUCT_NAME="Gestetner CS213d E-710"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e710;;

28)
   PORTNAME="print"
   PRODUCT_NAME="Gestetner 3285/32105/8502/10502 EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

29)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner CS225/CS231 Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;

30)
   PORTNAME="print_r7"
   PRODUCT_NAME="Gestetner CS213d E-820"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e820;;

31)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner 6002/7502"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

32)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Gestetner DSc38F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3850;;

33)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner C7116"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3000;;

34)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner DSc224/DSc232"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

35)
   PORTNAME="text"
   PRODUCT_NAME="Gestetner C7010"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

36)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac
	;;

Lanier)

#############################################
##
## Select a LANIER product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. 5218
  2. 5222/5227
  3. 5235/5245/5435/5445
  4. 5635/5645
  5. 5265/5255
  6. 5455/5470/LD055 Type 700 and 1055
  7. 5455/5470 EB-70
  8. 5485/5505/5685/5705 Type 850
  9. 5485/5505/5685/5705 EB-105
 10. 5706/5806/5806E E-300
 11. 5706/5806/5806E Type RC-200
 12. 5710/5710E E-650
 13. 5515/5518/5618
 14. 5622/5627/5632
 15. 5612/5612F/5613/5613F
 16. 2138
 17. 2045
 18. AP3200/2132
 19. 2145
 20. 5625/5631 E-310

SelectProduct
;;

2)

cat << SelectProduct

Please select product name.

 21. 5485/5505/5685/5705 EB-105e
 22. 5625/5631 Type RC-210
 23. AP2610/2610N
 24. LD060/LD075
 25. 2138E
 26. LP 020c
 27. LD024c/LD032c
 28. LP036c
 29. None of above

SelectProduct
;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-29> or press <enter> to go on to the next page: \c"
read Product

case $Product in

1)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5218"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5222/5227"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Lanier 5235/5245/5435/5445"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5635/5645"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Lanier 5265/5255"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Lanier 5455/5470/LD055 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Lanier 5455/5470 EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Lanier 5485/5505/5685/5705 Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Lanier 5485/5505/5685/5705 EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;

10)
   PORTNAME="print_r4"
   PRODUCT_NAME="Lanier 5706/5806/5806E E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

11)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5706/5806/5806E Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

12)
   PORTNAME="print_r5"
   PRODUCT_NAME="Lanier 5710/5710E E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

13)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5515/5518/5618"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

14)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5622/5627/5632"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

15)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5612/5612F/5613/5613F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

16)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 2138"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 2045"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

18)
   PORTNAME="text"
   PRODUCT_NAME="Lanier AP3200/2132"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 2145"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_4510;;

20)
   PORTNAME="print_r6"
   PRODUCT_NAME="Lanier 5625/5631 E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;

21)
   PORTNAME="print"
   PRODUCT_NAME="Lanier 5485/5505/5685/5705 EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

22)
   PORTNAME="text"
   PRODUCT_NAME="Lanier 5625/5631 Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;

23)
   PORTNAME="text"
   PRODUCT_NAME="AP2610/AP2610N"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_2610;;

24)
   PORTNAME="text"
   PRODUCT_NAME="Lanier LD060/LD075"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

25)
   PORTNAME="xjdirect"
   PRODUCT_NAME="Lanier 2138E"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3850;;

26)
   PORTNAME="text"
   PRODUCT_NAME="Lanier LP 020c"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3000;;

27)
   PORTNAME="text"
   PRODUCT_NAME="Lanier LD024c/LD032c"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

28)
   PORTNAME="text"
   PRODUCT_NAME="Lanier LP036c"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

29)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac
	;;


Infotec)

#############################################
##
## Select an INFOTEC product name
##
#############################################
pages=2

case $page in
1)

cat << SelectProduct

Please select product name.

  1. 4150MF/4180MF
  2. 4220MF/4270MF
  3. 4352MF/4451MF
  4. 4353MF/4452MF
  5. 4651MF/4550MF
  6. 4551MF/4700MF/IS2055 Type 700 and 1055
  7. 4551MF/4700MF EB-70
  8. 4850MF/4105MF/4850eMF/4105eMF Type 850
  9. 4850MF/4105MF/4850eMF/4105eMF EB-105
 10. CP600/CP600D
 11. P320
 12. 7216Z/7216DZ/7316EZ E-300
 13. 7216Z/7216DZ/7316EZ Type RC-200
 14. 7410/7410E Type E-650
 15. 4151MF/4181MF/4182MF
 16. IS2022/2027/2032
 17. IS2013/2013F
 18. P450
 19. IP280
 20. 7256Z/7356DZ E-310

SelectProduct
;;

2)

cat << SelectProduct

Please select product name.

 21. 7513 E-710
 22. 4850MF/4105MF/4850eMF/4105eMF EB-105e
 23. 7256Z/7356DZ Type RC-210
 24. 7513 E-820
 25. IS2060/IS2075
 26. ISC824/ISC1032
 27. IPC1036
 28. None of above

SelectProduct
;;

*)
	page=1
	continue ;;
esac

$myecho "Select <1-28> or press <enter> to go on to the next page: \c"
read Product

case $Product in

1)
   PORTNAME="text"
   PRODUCT_NAME="Infotec 4150MF/4180MF"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_180;;

2)
   PORTNAME="text"
   PRODUCT_NAME="Infotec 4220MF/4270MF"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_270;;

3)
   PORTNAME="PORT1"
   PRODUCT_NAME="Infotec 4352MF/4451MF"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

4)
   PORTNAME="text"
   PRODUCT_NAME="Infotec 4353MF/4452MF"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1045;;

5)
   PORTNAME="PORT1"
   PRODUCT_NAME="Infotec 4651MF/4550MF"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_650;;

6)
   PORTNAME="PORT1"
   PRODUCT_NAME="Infotec 4551MF/4700MF/IS2055 Type 700 and 1055"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_700;;

7)
   PORTNAME="print"
   PRODUCT_NAME="Infotec 4551MF/4700MF EB-70"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb70;;

8)
   PORTNAME="PORT1"
   PRODUCT_NAME="Infotec 4850MF/4105MF/4850eMF/4105eMF Type 850"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_850;;

9)
   PORTNAME="print"
   PRODUCT_NAME="Infotec 4850MF/4105MF/4850eMF/4105eMF EB-105"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105;;

10)
   PORTNAME="text"
   PRODUCT_NAME="Infotec CP600/CP600D"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_204;;

11)
   PORTNAME="text"
   PRODUCT_NAME="Infotec P320"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3200;;

12)
   PORTNAME="print_r4"
   PRODUCT_NAME="Infotec 7216Z/7216DZ/7316EZ Type E-300"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e300;;

13)
   PORTNAME="text"
   PRODUCT_NAME="Infotec 7216Z/7216DZ/7316EZ Type RC-200"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc200;;

14)
   PORTNAME="print_r5"
   PRODUCT_NAME="Infotec 7410/7410E Type E-650"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e650;;

15)
   PORTNAME="text"
   PRODUCT_NAME="Infotec 4151MF/4181MF/4182MF"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1018;;

16)
   PORTNAME="text"
   PRODUCT_NAME="Infotec IS2022/2027/2032"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1032;;

17)
   PORTNAME="text"
   PRODUCT_NAME="Infotec IS2013/2013F"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1013;;

18)
   PORTNAME="text"
   PRODUCT_NAME="Infotec P450"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_450;;

19)
   PORTNAME="text"
   PRODUCT_NAME="Infotec IP280"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_3800;;

20)
   PORTNAME="print_r6"
   PRODUCT_NAME="Infotec 7256Z/7356DZ E-310"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e310;;

21)
   PORTNAME="print_r7"
   PRODUCT_NAME="Infotec 7513 E-710"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e710;;

22)
   PORTNAME="print"
   PRODUCT_NAME="Infotec 4850MF/4105MF/4850eMF/4105eMF EB-105e"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_eb105e;;

23)
   PORTNAME="text"
   PRODUCT_NAME="Infotec 7256Z/7356DZ Type RC-210"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_rc210;;

24)
   PORTNAME="print_r7"
   PRODUCT_NAME="Infotec 7513 E-820"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_e820;;

25)
   PORTNAME="text"
   PRODUCT_NAME="Infotec IS2060/IS2075"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1075;;

26)
   PORTNAME="text"
   PRODUCT_NAME="Infotec ISC824/ISC1032"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_1232;;

27)
   PORTNAME="text"
   PRODUCT_NAME="Infotec IPC1036"
   DOS_AVAILABLE=Y
   PRINTER_SCRIPT=./sol_5000;;

28)
	$myecho "Product not supported. Exiting ...."
	exit 1 ;;

*)
	page=`expr $page + 1`
	if [ "$page" -gt "$pages" ]
	then
		page=1
	fi
	clear
	continue ;;

esac
	;;


*) $myecho "Invalid brand name. Exiting ...."
	exit 1 ;;
esac

if [ ! -f "$PRINTER_SCRIPT" ]
then
	$myecho "Product not supported. Exiting ...."
	exit 1
fi


#############################################
##
## Enter hostname of printer
##
#############################################

$myecho "\nEnter printer's hostname."

$myecho "\nThis hostname MUST exist in your hosts file or"
$myecho "in naming service such as DNS, NIS, etc.\n"

$myecho "Hostname: \c"
read HOSTNAME

if test -z "$HOSTNAME"
then $myecho "Invalid hostname. Exiting ...."
     exit 1
fi

#############################################
##
## Enter printer name
##
## PRINTER_NAME will be used as local printer name for DOS
## QNAME will be used for Network Installation Support
##
#############################################

$myecho "\nPlease enter printer name."

if [ "$OS_VERSION" = HPUX ]
then
	$myecho "(Maximum characters allowed for the printer name is 11) "
	$myecho "(The characters must be letters, digits and underscores) \c"
elif [ "$OS_VERSION" = Solaris2.6 -o "$OS_VERSION" = Solaris2.5 ]
then
	$myecho "(Maximum characters allowed for the printer name is 14) "
	$myecho "(The characters must be letters, digits and underscores) \c"
elif [ "$OS_VERSION" = AIX43 ]
then
	$myecho "(Maximum characters allowed for the printer name is 16) \c"
fi

$myecho "\nThis is the printer you will print to [Default = lp_${HOSTNAME}]: \c"
read PRINTER_NAME

if test -z "$PRINTER_NAME"
then
	PRINTER_NAME=lp_${HOSTNAME}
fi

if [ "$OS_VERSION" = HPUX ]
then
	NUM_LEN=${#PRINTER_NAME}
	if [ "$NUM_LEN" -gt 11 ]
	then
		$myecho "The queue name is $NUM_LEN long.... \c"
		$myecho "Invalid queue name. Exiting ...."
     		exit 1
	fi
	if expr match "$PRINTER_NAME" '^[0-9,A-Z,a-z,_]*$' >/dev/null
	then
		$myecho " \c"
	else
		$myecho "Invalid queue name. Exiting ...."
		exit 1
	fi

elif [ "$OS_VERSION" = Solaris2.6 -o "$OS_VERSION" = Solaris2.5 ]
then
	if [ "`$myecho $PRINTER_NAME | wc -c`" -gt 15 ]
	then
		$myecho "The queue name is over 14 characters.\c"
		$myecho "Invalid queue name. Exiting...."
		exit 1
	fi	
elif [ "$OS_VERSION" = AIX43 ]
then
	NUM_LEN=${#PRINTER_NAME}
	if [ "$NUM_LEN" -gt 16 ]
	then
		$myecho "The queue name is $NUM_LEN long.... \c"
		$myecho "Invalid queue name. Exiting ...."
     		exit 1
	fi
elif [ "$OS_VERSION" = LINUX ]
then
	if test `expr "$PRINTER_NAME" : '[0-9,A-Z,a-z,_,-,.]*'` -ne ${#PRINTER_NAME}
	then
		$myecho "Invalid queue name. Exiting ...."
		exit 1
	fi
elif [ "$OS_VERSION" = FreeBSD ]
then
	if ! expr "$PRINTER_NAME" : '^[0-9,A-Z,a-z,_,-,.]*$' >/dev/null
	then
		$myecho "Invalid queue name. Exiting ...."
		exit 1
	fi
fi

QNAME=${PRINTER_NAME}

#############################################
##
## If Device Option Support is available,
## ask if it needs to be installed
##
#############################################

if [ "$OS_VERSION" = Solaris2.5 -o "$OS_VERSION" = Solaris2.6 \
	-o "$OS_VERSION" = HPUX -o "$OS_VERSION" = AIX43 -o "$OS_VERSION" = SCO ];
then

	if [ "$DOS_AVAILABLE" = Y ];
	then
		while true; do
		$myecho "Would you like to install Device Option Support? [y/n] \c"
		read DOS

		case "$DOS" in
			Y|y)
				DEVICE_OPTION=Y
				break;;
			N|n)
				break;;
		esac
		done
	fi
fi

if [ "$OS_VERSION" = LINUX ];
then
	if rpm -qa | grep [Ll][Pp][Rr]ng > /dev/null 2>&1
	then
	  if [ "$DOS_AVAILABLE" = Y -a -x `which file` ];
	  then
		while true; do
		$myecho "Would you like to install Device Option Support? [y/n] \c"
		read DOS
		case "$DOS" in
			Y|y)
				DEVICE_OPTION=Y
				break;;
			N|n)
				break;;
		esac
		done
	  fi
	fi

	if rpm -qa | grep printconf  > /dev/null
	then
		PRINTCAP_DFLT=/etc/printcap.local
	else
		PRINTCAP_DFLT=/etc/printcap
	fi
		FPIDIR_DFLT=/usr/share/linux_filters

	SPOOLDIR=/var/spool/lpd/$PRINTER_NAME

	if [ "$DEVICE_OPTION" = Y ];
	then
#		FPIPTR=$SPOOLDIR/filter
		$myecho "\nPlease specify printer filter installation directory if necessary."
		$myecho " [Default = ${FPIDIR_DFLT} ]: \c"
		read FPIDIR
		if test -z "$FPIDIR"
		then
			FPIDIR=$FPIDIR_DFLT
		fi
		#LNXFPI=$SPOOLDIR/$PRINTER_NAME.filter
		LNXFPI=$FPIDIR/$PRINTER_NAME.filter
	fi

	$myecho "\nPlease specify location of printcap if necessary."
	$myecho " [Default = ${PRINTCAP_DFLT} ]: \c"
	read PRINTCAP
	if test -z "$PRINTCAP"
	then
		PRINTCAP=$PRINTCAP_DFLT
	fi
fi

if [ "$OS_VERSION" = FreeBSD ];
then
	$myecho "Checking for LPRng..."
	if pkg_info -a | grep LPRng > /dev/null 2>&1
	then
	  if [ "$DOS_AVAILABLE" = Y -a -x `which file` ];
	  then
		while true; do
		$myecho "Would you like to install Device Option Support? [y/n] \c"
		read DOS
		case "$DOS" in
			Y|y)
				DEVICE_OPTION=Y
				break;;
			N|n)
				break;;
		esac
		done
	  fi
	fi

	FPIDIR_DFLT=/usr/local/libexec/filters
	PRINTCAP_DFLT=/etc/printcap

	SPOOLDIR=/var/spool/lpd/$PRINTER_NAME

	if [ "$DEVICE_OPTION" = Y ];
	then
		$myecho "\nPlease specify printer filter installation directory if necessary."
		$myecho " [Default = ${FPIDIR_DFLT} ]: \c"
		read FPIDIR
		if test -z "$FPIDIR"
		then
			FPIDIR=$FPIDIR_DFLT
		fi
		LNXFPI=$FPIDIR/$PRINTER_NAME.filter
	fi

	$myecho "\nPlease specify location of printcap if necessary."
	$myecho " [Default = ${PRINTCAP_DFLT} ]: \c"
	read PRINTCAP
	if test -z "$PRINTCAP"
	then
		PRINTCAP=$PRINTCAP_DFLT
	fi
fi

#############################################
##
## Confirm entry
##
#############################################
while true; do

case $OS_VERSION in

LINUX)
cat << LN_ConfirmEntry

#################################################

  Product Name    	: $PRODUCT_NAME
  Printer Hostname	: $HOSTNAME
  Printer Name    	: $PRINTER_NAME
  Device Option Support : $DEVICE_OPTION
  Filter Directory      : $FPIDIR
  Printcap File         : $PRINTCAP

#################################################

LN_ConfirmEntry
;;

FreeBSD)
cat << LN_ConfirmEntry

#################################################

  Product Name    	: $PRODUCT_NAME
  Printer Hostname	: $HOSTNAME
  Printer Name    	: $PRINTER_NAME
  Device Option Support : $DEVICE_OPTION
  Filter Directory      : $FPIDIR
  Printcap File         : $PRINTCAP

#################################################

LN_ConfirmEntry
;;

*)
cat << ConfirmEntry

#################################################

  Product Name    	: $PRODUCT_NAME
  Printer Hostname	: $HOSTNAME
  Printer Name    	: $PRINTER_NAME
  Device Option Support : $DEVICE_OPTION

#################################################

ConfirmEntry
;;
esac


$myecho "Is this correct ? [y/n] \c"

read CONFIRMED
case "$CONFIRMED" in
	Y|y|N|n)
		break;;
esac
done

if [ "$CONFIRMED" = Y -o "$CONFIRMED" = y ]
then
	break
fi

#############################################
##
## End of While loop
##
#############################################

done

#############################################
##
## Modify the script with the QNAME
## QNAME is used only if DEVICE_OPTION=Y
##      QNAME=rp_{$PRINTER_NAME}
##
############################################

if [ "$DEVICE_OPTION" = Y ]
then
	QNAME=rp_${PRINTER_NAME}
	if [ "$OS_VERSION" = SCO ]
	then
		sed "s/REMOTE_PRINTER=/REMOTE_PRINTER=$QNAME/" $PRINTER_SCRIPT | \
		sed 's"/usr/bin/rm"/bin/rm"' > /tmp/$PRINTER_SCRIPT
	else
		sed "s/REMOTE_PRINTER=/REMOTE_PRINTER=$QNAME/" $PRINTER_SCRIPT > /tmp/$PRINTER_SCRIPT
	fi
fi

#############################################
##
## Create printer entry
##
## The filter is put in:
##	/etc/lp/interfaces/		in Solaris
##	/etc/lp/interface/		in HP-UX
##	/usr/local/bin/myfilters/	in AIX by default
##	/usr/share/linux-filters/	in Linux by default
##	/usr/local/libexec/filters/	in FreeBSD by default
##
#############################################

$myecho "\nCreating a printer entry, please stand by..."

case $OS_VERSION in

Solaris2.5)
	/usr/lib/lpsystem -t bsd -R 0 $HOSTNAME
	/usr/lib/lpadmin -p $QNAME -s $HOSTNAME!$PORTNAME -T unknown -I any
	/usr/lib/accept $QNAME
	/usr/bin/enable $QNAME
	
	if [ "$DEVICE_OPTION" = Y ]
	then
		/usr/lib/lpadmin 	-p $PRINTER_NAME \
					-i /tmp/$PRINTER_SCRIPT \
					-T unknown \
					-I any \
					-v /dev/null \
					-A none

		/usr/lib/accept $PRINTER_NAME
		/usr/bin/enable $PRINTER_NAME
	fi
	;;

Solaris2.6)
	/usr/lib/lpsystem -t bsd -R 0 $HOSTNAME
	/usr/sbin/lpadmin -p $QNAME -s $HOSTNAME!$PORTNAME -T unknown -I any

	if [ "$DEVICE_OPTION" = Y ]
	then

		/usr/lib/lpadmin 	-p $PRINTER_NAME \
					-i /tmp/$PRINTER_SCRIPT \
					-T unknown \
					-I any \
					-v /dev/null \
					-A none

		/usr/lib/accept $PRINTER_NAME
		/usr/bin/enable $PRINTER_NAME
	fi
	;;

HPUX)
	if [ -f "/etc/lp/interface/$PRINTER_NAME" ]
	then
		$myecho "\"$PRINTER_NAME\" already there, overwrite ? [y/n] \c"
		read CONFIRMED
		if [ "$CONFIRMED" != Y -a "$CONFIRMED" != y ]
		then
			exit 1
		fi
		./uninstall $PRINTER_NAME > /dev/null
		sleep 1
	fi

	/usr/lib/lpshut

	/usr/lib/lpadmin -p$QNAME -v/dev/null -mrmodel -orm$HOSTNAME \
		-orp$PORTNAME -ob3
	if [ "$?" -ne 0 ]
	then
		$myecho "Installation cannot be done at this time, check your system and try again"
                /usr/lib/lpsched
		exit "$?"
	fi
	/usr/lib/accept $QNAME
	/usr/bin/enable $QNAME

	if [ "$DEVICE_OPTION" = Y ]
	then

		/usr/lib/lpadmin -p$PRINTER_NAME \
			-v/dev/null \
			-i/tmp/$PRINTER_SCRIPT \
			-orm$HOSTNAME \
			-orp$PORTNAME \
			-ob3
		if [ "$?" -ne 0 ]
		then
			$myecho "Installation cannot be done at this time, check your system and try again"
                        /usr/lib/lpsched
			exit "$?"
		fi
		/usr/lib/accept $PRINTER_NAME
		/usr/bin/enable $PRINTER_NAME
	fi

	/usr/lib/lpsched
	;;

AIX43)
	DEV_NAME=${PRINTER_NAME}.dev
	AIX_FILTER_DIR=/usr/local/bin/myfilters
	if test ! -d $AIX_FILTER_DIR
	then
		mkdir -p $AIX_FILTER_DIR
	fi
	if [ "$DEVICE_OPTION" = Y ]
	then
##		DEV_NAME=${PRINTER_NAME}.dev
		AIX_FILTER=${AIX_FILTER_DIR}/${PRINTER_NAME}.filter
		RMT_PRINTER_NAME=${PRINTER_NAME}.rmt
		RMT_DEV_NAME=${DEV_NAME}.rmt
		cat ./aix_head > $AIX_FILTER
		awk 'BEGIN {i=0}; /LNX_TUB_E/ {exit} /LNX_TUB_B/ {i=1}
			 { if(i==1) print $0 };' $PRINTER_SCRIPT >> $AIX_FILTER
		echo "RMT_PRINTER_NAME=${RMT_PRINTER_NAME}" >> $AIX_FILTER 
		cat ./aix_tail >> $AIX_FILTER
		chown root:printq $AIX_FILTER
		chmod 755 $AIX_FILTER
		/usr/sbin/piomisc_base mkpq_other -q$RMT_PRINTER_NAME -d$RMT_DEV_NAME -b/usr/lib/lpd/rembak -u 'TRUE' -h$HOSTNAME -r$PORTNAME
		if [ "$?" -ne 0 ]
		then
			exit "$?"
		fi
		/usr/sbin/piomisc_base mkpq_other -q$PRINTER_NAME -d$DEV_NAME -b$AIX_FILTER -u 'TRUE'
	else
##		/usr/lib/lpd/pio/etc/piomisc_ext mkpq_remote_ext -q$PRINTER_NAME -h$HOSTNAME -r$PORTNAME -t'aix' -C'FALSE' -d$PRODUCT_NAME
		/usr/sbin/piomisc_base mkpq_other -q$PRINTER_NAME -d$DEV_NAME -b/usr/lib/lpd/rembak -u 'TRUE' -h$HOSTNAME -r$PORTNAME
	fi

	;;

LINUX)
	if grep "^$PRINTER_NAME" $PRINTCAP 2> /dev/null > /dev/null
	then
		$myecho "\"$PRINTER_NAME\" already there, overwrite ? [y/n] \c"
		read CONFIRMED
		if [ "$CONFIRMED" != Y -a "$CONFIRMED" != y ]
		then
			exit 1
		fi
		./uninstall $PRINTER_NAME > /dev/null
		sleep 1
	fi

	if test ! -d $SPOOLDIR
	then
		mkdir $SPOOLDIR
		#chgrp lp $SPOOLDIR
		chown lp:lp $SPOOLDIR
		chmod 700 $SPOOLDIR
	fi

	if test ! -d $FPIDIR
	then
		mkdir $FPIDIR
		chmod 755 $FPIDIR
	fi

	if test ! -f $PRINTCAP
	then
		touch $PRINTCAP
	fi

	cat /dev/null > printcap.tmp
#	echo '##PRINTTOOL3## REMOTE' > printcap.tmp
        echo "$PRINTER_NAME:\\" > printcap.tmp
	echo "	:sd=$SPOOLDIR:\\" >> printcap.tmp
	echo "	:mx#0:\\" >> printcap.tmp
	echo "	:sh:\\"  >> printcap.tmp
	echo "	:rm=$HOSTNAME:\\"  >> printcap.tmp
	echo "	:mc=0:\\"  >> printcap.tmp

	if [ "$DEVICE_OPTION" = Y ]
	then
		cat lnx_head > $LNXFPI
		awk 'BEGIN {i=0}; /LNX_TUB_E/ {exit} /LNX_TUB_B/ {i=1}
			 { if(i==1) print $0 };' $PRINTER_SCRIPT >> $LNXFPI
		case "$PRINTER_SCRIPT" in
		./sol_eb105*)
			cat lnx_tail.efi >> $LNXFPI ;;
		*)
			cat lnx_tail >> $LNXFPI ;;
		esac
		chmod 755 $LNXFPI
		#chown lp:lp $LNXFPI
#		ln -s $LNXFPI $FPIPTR

		echo "	:if=$LNXFPI:\\"  >> printcap.tmp
	fi
	echo "	:lpd_bounce=true:\\" >> printcap.tmp
	echo "	:rp=$PORTNAME:" >> printcap.tmp

	cat printcap.tmp >> $PRINTCAP

	if [ -x "/etc/rc.d/lpd" ]
	then
		if /etc/rc.d/lpd status > /dev/null
		then
			/etc/rc.d/lpd restart
		else
			/etc/rc.d/lpd start
		fi
	elif [ -x "/etc/rc.d/init.d/lpd" ]
	then
		if /etc/rc.d/init.d/lpd status > /dev/null
		then
			/etc/rc.d/init.d/lpd restart
		else
			/etc/rc.d/init.d/lpd start
		fi
	else
		$myecho "\nPlease make sure to restart lpd daemon, otherwise it will not print."
	fi

	;;

SCO)

	PRINTCAP=/etc/printcap
	PATH=/bin:/usr/bin:/etc:/etc/conf/bin
	WORKDIR=/usr/lpd/local
	SPOOL=/usr/spool
	LPD=/usr/spool/lpd
	SOURCE=/usr/lib/tcprt/rlp
	LP_FILES="/usr/bin/lp /usr/bin/cancel /usr/bin/lpstat"
	LPADMIN=/usr/spool/lp/admins/lp/printers
	remote_exists=0
	SIGINT=2
#############################################
##
## Enable Remote Print Service for SCO
##
#############################################

enable_remote_print_service() {

    ############check and reset the envirement#####################   
	if [ -f $SOURCE/install_1 ]
	then
		rm -rf $WORKDIR $LPD $PRINTCAP
	fi
	
	if [ -f $SOURCE/install_2 ]
	then
		for i in lp lpr lpstat cancel
		do
			cp $WORKDIR/$i /usr/bin/$i
			chown bin:lp /usr/bin/$i
			chmod 2111 /usr/bin/$i
		done
		cp $WORKDIR/lpmove /usr/lib/lpmove
		chown bin:lp /usr/lib/lpmove
		chmod 2111 /usr/lib/lpmove
		
		rm -rf $WORKDIR $LPD $PRINTCAP
	fi

    ##################install remote print service##############
	trap "" $SIGINT

	if  [  -d "$WORKDIR" ] ; then
		lf $WORKDIR/* > /dev/null 2>&1
		if [ $? -eq 0 ]; then
			remote_exists=1
#			exit 0
		fi
	fi
	
	if [ "$remote_exists" = 0 ]; then
	    touch $SOURCE/install_1

	    # ensure directory path is searchable
	    if  [ ! -d "$WORKDIR" ] ; then
		    a=`umask`
		    umask 022
		    mkdir -p $WORKDIR 
		    umask $a
	    fi
	    if  [ ! -d "$SPOOL" ] ; then
		    mkdir $SPOOL
		    chmod 775 $SPOOL
		    chown root $SPOOL
		    chgrp bin $SPOOL
	    fi
	    if  [ ! -d "$LPD" ] ; then
		    mkdir $LPD
		    chmod 775 $LPD
		    chown root $LPD
		    chgrp daemon $LPD
	    fi
	    if  [ ! -w "$PRINTCAP" ] ; then
		    echo "# Remote Line Printer (BSD format)"> $PRINTCAP
		    chmod 644 $PRINTCAP
		    chown root $PRINTCAP
		    chgrp daemon $PRINTCAP
	    fi

	    # Save old rlp commands
	    if [ ! -f /tmp/tcprt_upgrade -a $remote_exists -eq 0 ]; then
		    for i in lp lpr lpstat cancel; do
			    if [ ! -x "$WORKDIR/$i" ]; then
					    cp /usr/bin/$i $WORKDIR
					    chown bin:lp $WORKDIR/$i
					    chmod 2111 $WORKDIR/$i
			    fi
		    done
		    if [ ! -x "$WORKDIR/lpmove" ]; then
			    cp /usr/lib/lpmove $WORKDIR
			    chown bin:lp $WORKDIR/lpmove
			    chmod 2111 $WORKDIR/lpmove
		    fi
	    fi

	    rm $SOURCE/install_1
	    touch $SOURCE/install_2

	    # Install new lp commands
	    for i in $LP_FILES /usr/lib/lpmove
	    do
		    base=`basename $i`
		    cp $SOURCE/$base $i
	    done

	    rm $SOURCE/install_2
	    ###enable lp daeman
	    /usr/lib/lpd
        fi
}
##########End of enable_remote_print_service################

	if grep "^$QNAME" $PRINTCAP 2> /dev/null > /dev/null
	then
		$myecho "\"$PRINTER_NAME\" already there, overwrite ? [y/n] \c"
		read CONFIRMED
		if [ "$CONFIRMED" != Y -a "$CONFIRMED" != y ]
		then
			exit 1
		fi
		./uninstall $PRINTER_NAME > /dev/null
	fi

	if test ! -d /usr/spool/lpd
	then
		mkdir /usr/spool/lpd
	fi

	SPOOLDIR=/usr/spool/lpd/$QNAME

	if test ! -d $SPOOLDIR
	then
		mkdir $SPOOLDIR
		chgrp daemon $SPOOLDIR
	fi

	if test ! -f $PRINTCAP
	then
		touch $PRINTCAP
	fi

	cat <<- PCAP_END >> $PRINTCAP

	$QNAME:\\
	        :lp=:rm=$HOSTNAME:rp=$PORTNAME:sd=$SPOOLDIR:mx#0:
	PCAP_END

	if [ "$DEVICE_OPTION" = Y ]
	then
		/usr/lib/lpshut
		/usr/lib/lpadmin -p$PRINTER_NAME \
			-v/dev/null \
			-i/tmp/$PRINTER_SCRIPT
		/usr/lib/lpsched
		/usr/lib/accept $PRINTER_NAME
		/usr/bin/enable $PRINTER_NAME
	fi
        enable_remote_print_service
	;;

FreeBSD)

	PRINTCAP=/etc/printcap

	if grep "^$PRINTER_NAME" $PRINTCAP 2> /dev/null > /dev/null
	then
		$myecho "\"$PRINTER_NAME\" already there, overwrite ? [y/n] \c"
		read CONFIRMED
		if [ "$CONFIRMED" != Y -a "$CONFIRMED" != y ]
		then
			exit 1
		fi
		./uninstall $PRINTER_NAME > /dev/null
	fi

	SPOOLDIR=/var/spool/lpd/$PRINTER_NAME
	#LOGFILE=$SPOOLDIR/logfile
	LOGFILE=/var/log/lpd-errs

	if test ! -d $SPOOLDIR
	then
		mkdir $SPOOLDIR
		chown daemon $SPOOLDIR
		chgrp daemon $SPOOLDIR
	fi

	if test ! -d $FPIDIR
	then
		mkdir $FPIDIR
		chmod 755 $FPIDIR
	fi

	if test ! -f $LOGFILE
	then
		touch $LOGFILE
		chown daemon $LOGFILE
		chgrp daemon $LOGFILE
	fi

	if test ! -f $PRINTCAP
	then
		touch $PRINTCAP
	fi

 	if [ "$DEVICE_OPTION" = Y ]
	then
		cat lnx_head > $LNXFPI
		awk 'BEGIN {i=0}; /LNX_TUB_E/ {exit} /LNX_TUB_B/ {i=1}
			 { if(i==1) print $0 };' $PRINTER_SCRIPT >> $LNXFPI
		case "$PRINTER_SCRIPT" in
		*sol_eb105*)
		sed 's/csplit -q -f $ps_tmp $ps_tmp "\/^setup\/"/split -p "^setup" $ps_tmp $ps_tmp/g' lnx_tail.efi | \
		sed 's/csplit -q -f $ps_tmp $ps_tmp "\/%%EndSetup\/"/split -p "%%EndSetup" $ps_tmp $ps_tmp/g' | \
		sed 's/$ps_tmp"00"/$ps_tmp"aa"/g' | sed 's/$ps_tmp"01"/$ps_tmp"ab"/'g >> $LNXFPI ;;
		*)
		sed 's/csplit -q -f $ps_tmp $ps_tmp "\/^setup\/"/split -p "^setup" $ps_tmp $ps_tmp/g' lnx_tail | \
		sed 's/csplit -q -f $ps_tmp $ps_tmp "\/%%EndSetup\/"/split -p "%%EndSetup" $ps_tmp $ps_tmp/g' | \
		sed 's/$ps_tmp"00"/$ps_tmp"aa"/g' | sed 's/$ps_tmp"01"/$ps_tmp"ab"/'g >> $LNXFPI ;;
		esac
		chmod 755 $LNXFPI

	        echo "$PRINTER_NAME:\\" > printcap.tmp
		echo "	:rm=$HOSTNAME:\\"  >> printcap.tmp
		echo "	:rp=$PORTNAME:\\"  >> printcap.tmp
		echo "	:sd=$SPOOLDIR:\\" >> printcap.tmp
		echo "	:lf=$LOGFILE:\\"  >> printcap.tmp
		echo "	:if=$LNXFPI:\\"  >> printcap.tmp
		echo "	:lpd_bounce=true:\\" >> printcap.tmp
		echo "	:mx#0:" >> printcap.tmp
		cat printcap.tmp >> $PRINTCAP

		/usr/local/sbin/checkpc -f > /dev/null 2>&1
#	$myecho "\nPlease make sure to restart lpd daemon, otherwise it will not print."

	else
		cat <<- PCAP_END >> $PRINTCAP

		$PRINTER_NAME:\\
	        	:rm=$HOSTNAME:\\
		        :rp=$PORTNAME:\\
		        :sd=$SPOOLDIR:\\
		        :lf=$LOGFILE:\\
	        	:sh:\\
		        :mx#0:
		PCAP_END
	fi

	killall lpd
	if grep 'lpd_enable="YES"' /etc/rc.conf > /dev/null
	then
		/usr/sbin/lpd
	else
		/usr/local/sbin/lpd
	fi
	;;

*)
	$myecho "Error creating a printer entry. Exiting ...."
	exit 1
	;;
esac

#############################################
##
## Check if the printer entry is created successfuly
##
#############################################

if test $? = 0; then
	$myecho "Printer entry \"$PRINTER_NAME\" created successfully."
else
	$myecho "Error creating a printer entry. Exiting ...."
	exit 1
fi

#############################################
##
## Message to user
##
#############################################

$myecho "\nYou can verify the installation by issuing the following command."

case $OS_TYPE in 

SYSV)
	if [ "$OS_VERSION" = AIX43 ]
	then
		$myecho "	qprt -P$PRINTER_NAME your_file"
	else
		$myecho "	lp -d $PRINTER_NAME your_file"
	fi
	;;
BSD)
	if [ "$OS_VERSION" = SCO ]
	then
		$myecho "	lp -d$PRINTER_NAME your_file"
	elif [ "$OS_VERSION" = FreeBSD -a "$DEVICE_OPTION" = Y ]
	then
		$myecho "	/usr/local/bin/lpr -P$PRINTER_NAME your_file"
	else
		$myecho "	lpr -P$PRINTER_NAME your_file"
	fi
	;;
esac	

#############################################
##
## Copy uninstall to /usr/bin
##
#############################################

cp -f ./uninstall /usr/sbin/ric_uninstall
chmod 755 /usr/sbin/ric_uninstall

#############################################
##
## Remove temporary file
##
#############################################

if [ "$OS_VERSION" = LINUX -o "$OS_VERSION" = FreeBSD -o "$OS_VERSION" = SCO ]
then
	/bin/rm -f printcap.tmp
	/bin/rm -rf /tmp/${PRINTER_SCRIPT}
else
if test -f /tmp/${PRINTER_SCRIPT}
then
	/usr/bin/rm -rf /tmp/${PRINTER_SCRIPT}
fi
fi

# end of installation script			
