#!/bin/bash

## Comenzamos importando y definiendo las variables que usaremos posteriormente:
. /etc/default/vx-dga-variables/vx-dga-variables-general.conf
FICHVAR="/etc/default/vx-dga-variables/vx-dga-variables-general.conf"

USUARIO="$(whoami)"
# ETIQUETAS="$(migasfree-tags -g)"
# Almacenamos temporalmente el documento que se trata de enviar a la impresora:
cat "${TEADATAFILE}" > "/tmp/${TEAUSERNAME}-${TEAJOBID}-previo.prn"
#if ( test "${USUARIO}" = "root" ) && ( echo "${ETIQUETAS}" | grep -v "ENT-CASA" &> /dev/null ) ; then
if test "${USUARIO}" = "root" ; then

	USUARIO="$(/usr/bin/vx-usuario-grafico)"
	#HOMEUSUARIO="$(getent passwd | grep "${USUARIO}:" | cut -d":" -f6)"

	VALIDO=0
	TEXTO="Hola!! Para poder imprimir es necesario introducir un <b>Nombre<\/b> y <b>Código de Usuario<\/b>:\\\n\\\n"
	sed -i "s/TEXTO=\".*\"/TEXTO=\"${TEXTO}\"/g" /usr/share/vitalinux/printers-tea4cups/dialogo1.sh
	while test ${VALIDO} -eq 0 ; do
		export DISPLAY=:0 && \
		su ${USUARIO} -c '/usr/share/vitalinux/printers-tea4cups/dialogo1.sh'

		USERCODEPRINT="$(cat /tmp/codusuario-tea4cups-${TEAUSERNAME})"
		sed -i "s/^USERCODEPRINT=.*/USERCODEPRINT=${USERCODEPRINT}/g" "${FICHVAR}"
		NOMBREPRINT="$(cat /tmp/nombreprint-tea4cups-${TEAUSERNAME} | tr -d '[:space:]')"
		sed -i "s/^NOMBREPRINT=.*/NOMBREPRINT=${NOMBREPRINT}/g" "${FICHVAR}"

		if [[ "${USERCODEPRINT}" =~ ^[0-9]+$ ]] && [[ "${#NOMBREPRINT}" -le 6 ]] ; then
			VALIDO=1
			# Para Ricoh PXL: PJL SET USERCODE
			if grep -a "PJL SET USERCODE" "${TEADATAFILE}" &> /dev/null ; then
				sed -i "0,/PJL SET USERCODE/{s#PJL SET USERCODE=.*#PJL SET USERCODE=\"${USERCODEPRINT}\"#}" "${TEADATAFILE}"
			fi
			if grep -a "PJL SET JOBPASSWORD2" "${TEADATAFILE}" &> /dev/null ; then
				sed -i "s/^@PJL SET JOBPASSWORD2=.*/@PJL SET JOBPASSWORD2=\"${USERCODEPRINT}\"/g" "${TEADATAFILE}"
                        fi
			if grep -a "PJL SET USERID" "${TEADATAFILE}" &> /dev/null ; then
				# sed -i "0,/PJL SET USERID/{s#PJL SET USERID=.*#PJL SET USERID=\"${NOMBREPRINT}\"#}" "${TEADATAFILE}"
				sed -i "s/^@PJL SET USERID=.*/@PJL SET USERID=\"${NOMBREPRINT}\"/g" "${TEADATAFILE}"
			fi
			if grep -a "PJL SET HOSTLOGINNAME" "${TEADATAFILE}" &> /dev/null ; then
				# sed -i "0,/PJL SET HOSTLOGINNAME/{s#PJL SET HOSTLOGINNAME=.*#PJL SET HOSTLOGINNAME=\"${NOMBREPRINT}\"#}" "${TEADATAFILE}"
				sed -i "s/^@PJL SET HOSTLOGINNAME=.*/@PJL SET HOSTLOGINNAME=\"${NOMBREPRINT}\"/g" "${TEADATAFILE}"
			fi
			# Para Ricoh PS
			if grep -a "^/usrcode(.*)def" "${TEADATAFILE}" &> /dev/null ; then
				#sed -i "s/9999/${USERCODEPRINT}/g" "${TEADATAFILE}"
				sed -i "0,/^\/usrcode/{s/^\/usrcode(.*)/\/usrcode(${USERCODEPRINT})/}" "${TEADATAFILE}"
				LINEA="$(grep -an "CustomUserCode" "${TEADATAFILE}" | cut -d":" -f1)"
				LINEA="$(expr ${LINEA} + 1)"
				sed -i "${LINEA}s/(.*)/(${USERCODEPRINT})/" "${TEADATAFILE}"
				
			fi
			# Para Konica: PJL SET KMSECTIONKEY2
			if grep -a "PJL SET KMSECTIONKEY2" "${TEADATAFILE}" &> /dev/null ; then
				sed -i "0,/KMSECTIONKEY2/{s#PJL SET KMSECTIONKEY2 = .*#PJL SET KMSECTIONKEY2 = \"${USERCODEPRINT}\"#}" "${TEADATAFILE}"
			fi
		else
			TEXTO="¡¡Error, El Código de Usuario <b>debe estar compuesto únicamente por dígitos<\/b>!!"
			TEXTO="${TEXTO}\\\nAdemás ... ¡¡<b>El Nombre no debe exceder de 6 caracteres<\/b>!!"
			TEXTO="${TEXTO}\\\nPor favor, tecléalo de nuevo ...\\\n\\\n"
			sed -i "s/TEXTO=\".*\"/TEXTO=\"${TEXTO}\"/g" /usr/share/vitalinux/printers-tea4cups/dialogo1.sh
		fi
	done

fi
