#!/bin/sh

# Variables de idiomes

LANGUAGE=$(zenity --list --text "Select language:" --title "Printer setup" --radiolist --column "Pick" --column "Language" TRUE English FALSE Castellano FALSE Català)

if [ "$LANGUAGE" = "English" ]; then
    TEXT_1="Insert your user code:"
    TEXT_2="Printer setup"
	TEXT_3="Select printer:"
	TEXT_4="Printer:"
	TEXT_5="Printer installation successfully."
	TEXT_6="Do you want to open the printer manager?"

elif [ "$LANGUAGE" = "Castellano" ]; then
	TEXT_1="Introduzca su código de usuario:"
	TEXT_2="Instalación de impresora"
	TEXT_3="Seleccione impresora:"
	TEXT_4="Impresora:"
	TEXT_5="Instalación de la impresora con éxito."
	TEXT_6="¿Desea abrir la administración de impresoras?"

elif [ "$LANGUAGE" = "Català" ]; then
    TEXT_1="Introdueixi el seu codi d'usuari:"
    TEXT_2="Instal·lació de la impressora"
	TEXT_3="Seleccioni impressora:"
	TEXT_4="Impressora:"
	TEXT_5="Instal·lació de la impressora amb èxit."
	TEXT_6="Desitja obrir l'administrador d'impressores?"

else exit 0;

fi

# Preparació de directori temporal
rm -fr /tmp/impresora > /dev/null 2>&1
mkdir /tmp/impresora > /dev/null 2>&1
cd /tmp/impresora > /dev/null 2>&1
if [ $? -ne 0 ]; then echo "Error al crear el directorio"; exit 1; fi

# Petició de dades
PRINTER=$(zenity --list --text "$TEXT_3" --title "$TEXT_2" --radiolist --column "Pick" --column "$TEXT_4" TRUE C1-P1 FALSE C1-P2)

if [ "$PRINTER" = "" ]; then exit 0;
fi

USER_CODE=$(zenity --entry --text "$TEXT_1" --title "$TEXT_2" --width 400)

if [ "$USER_CODE" = "" ]; then exit 0;
fi

# Definició de IP
if [ "$PRINTER" = "C1-P1" ]; then ADRECA="192.168.150.118/queue"; else ADRECA="192.168.150.117/queue"; fi

# Descarga de driver
wget --no-check-certificate https://web.cimne.upc.edu/groups/sistemes/Impresoras/drivers/linux/Infotec-ISC_3030_PXL.ppd > /dev/null 2>&1

# Modificació de driver
sed "s/1001/$USER_CODE/g;s/DefaultUserCode: None/DefaultUserCode: $USER_CODE/" Infotec-ISC_3030_PXL.ppd > Infotec-ISC_3030_PXL_mod.ppd

# Instalación de impresora
lpadmin -p $PRINTER -v lpd://$ADRECA -P Infotec-ISC_3030_PXL_mod.ppd -E

# Eliminación de temporales
rm -f Infotec-ISC_3030_PXL_mod.ppd Infotec-ISC_3030_PXL.ppd > /dev/null 2>&1

# Mensaje de éxito
zenity --info --text "$TEXT_5" --title "$TEXT_2" --width 300

# Pregunta para abrir la gestión de impresoras
zenity --question --text "$TEXT_6" --title "$TEXT_2" --width 150
if [ $? -eq 0 ]; then system-config-printer; fi
