#!/bin/sh

##########################################################################################
##											##
## Un pequeño "script" para ajustar la fecha y la hora  bajo Linux con hwclock...	##
##											##
## 				Forma de uso de este script				##
##				===========================				##
##											##
## Dependencias: hwclock								##
##		 gawk (ó nawk)								##
##		 xdialog								##
##											##
## Debe ejecutarse con permisos de root (su, sudo, gksu, gksudo)			##
##											##
## Este script fué realizado por el equipo de GALPon MiniNo <minino@galpon.org>	a 	##
## partir del script "set-time" inclido en los ejemplos de Xdialog:			##
##		"/usr/share/doc/xdialog/examples/set-time"				##
##											##
## Este script se publica SIN NINGUNA GARANTIA y bajo la Licencia Pública General GNU	##
## publicada por la Free Software Fundation.						##
##											##
##########################################################################################

case $LANG in
	es*)
		TIT1="Ajustar fecha y hora"
		TIT2="Información"
		MSG1="no se encuentra «/sbin/hwclock»...
			\nComo administrador (root ó sudo) ejecute:
			apt-get install hwclock"
		MSG2="no se encuentra «/usr/bin/gawk...
			\nComo administrador (root ó sudo) ejecute:
			apt-get install gawk"
		MSG3="Seleccione la fecha..."
		MSG4="Seleccione la hora..."
		MSG5="Cancelado."
		MSG6="Su pantalla podría ponerse en negro durante algunos segundos, Por favor espere..."
		MSG7="Hecho. La fecha y la hora fueron ajustadas a:"
	;;
	gl*)
		TIT1="Axustar data e hora"
		TIT2="Información"
		MSG1="non se atopa «/sbin/hwclock»...
			\nComo administrador (root ou sudo) execute:
			apt-get install hwclock"
		MSG2="non se atopa «/usr/bin/gawk...
			\nComo administrador (root ou sudo) execute:
			apt-get install gawk"
		MSG3="Seleccione a data..."
		MSG4="Seleccione a hora..."
		MSG5="Cancelado."
		MSG6="A súa pantalla podería porse en negro durante alguns segundos, Por favor aguarde..."
		MSG7="Feito. A data e a hora foron axustadas a:"
	;;
	pt_PT*)
		TIT1="Ajustar data e hora"
		TIT2="Informação"
		MSG1="non se atopa «/sbin/hwclock»...
			\nComo administrador (root ou sudo) execute:
			apt-get install hwclock"
		MSG2="non se atopa «/sbin/gawk...
			\nComo administrador (root ou sudo) execute:
			apt-get install gawk"
		MSG3="Selecione a data..."
		MSG4="Selecione a hora..."
		MSG5="Cancelado."
		MSG6="Sua tela pode ser preta por alguns segundos, por favor aguarde..."
		MSG7="Feito. A data ea hora foram ajustados para:"
	;;
	fr_FR*)
		TIT1="Régler date et heure"
		TIT2="Information"
		MSG1="«/sbin/hwclock» disparus...
			\nEn tant que administrateur (root ou sudo) exécutez:
			apt-get install hwclock"
		MSG2="«/usr/bin/gawk disparus...
			\nEn tant que administrateur (root ou sudo) exécutez:
			apt-get install gawk"
		MSG3="Sélectionnez la date..."
		MSG4="Sélectionnez l'heure..."
		MSG5="Annulé."
		MSG6="Votre écran peut être noir pendant quelques secondes, patientez s'il vous plaît..."
		MSG7="Fait. La date et l'heure ont été ajustés pour:"
	;;
	*)
		TIT1="Adjust Date & Time"
		TIT2="Information"
		MSG1="/sbin/hwclock missing...
			\nAs administrator (root or sudo) run:
			apt-get install hwclock"
		MSG2="no se encuentra «/usr/bin/gawk...
			\nAs administrator (root or sudo) run:
			apt-get install gawk"
		MSG3="Select the date..."
		MSG4="Select the time..."
		MSG5="Cancel."
		MSG6="Your screen could be black for a few seconds, please wait..."
		MSG7="Done. The date and time were adjusted to:"
	;;
esac

# Comprobamos la existencia de hwclock
if ! [ -f /sbin/hwclock ] ; then
   Xdialog --title "$TIT1" --icon $HOME/.icewm/icons/danger.xpm --msgbox "$MSG1" 0 0
   exit 0
fi

# Comprobamos la existencia de gawk
if ! [ -f /usr/bin/gawk ] ; then
   Xdialog --title "$TIT1" --icon $HOME/.icewm/icons/danger.xpm --msgbox "$MSG2" 0 0
   exit 0
fi

# Obtenemos la fecha, devuelta en el formato DD/MM/YYYY por Xdialog.
ENTEREDDATE=`Xdialog --stdout --title "$TIT1" --icon $HOME/.icewm/icons/duda.xpm --calendar "$MSG3" 0 0 0 0 0`
if [ ! $? -eq 0 ]; then
   exit
fi

# Convertimos la fecha al formato MM/DD/YYYY usado por hwclock.
NEWDATE=`echo "$ENTEREDDATE" | awk --source 'BEGIN { FS="/" }' --source '{ print $2 "/" $1 "/" $3 }'`

# Obtenemos la hora en el formato HH:MM:SS.
NEWTIME=`Xdialog --stdout --title "$TIT1" --icon $HOME/.icewm/icons/duda.xpm --timebox "$MSG4" 0 0`
if [ ! $? -eq 0 ]; then
   Xdialog --title "$TIT1" --icon $HOME/.icewm/icons/importante.xpm --msgbox "$MSG5." 0 0
   exit
fi


# Ajustamos el reloj de hardware (RTC) y despues el reloj del sistema.

D=`echo $NEWDATE|sed "s/^...//" | sed "s/\/.*$//"`

M=`echo $NEWDATE|sed "s/\/.*$//"`
Y=`echo $NEWDATE|sed "s/^........//" | sed "s/ .*$//"`

H=`echo $NEWTIME|sed "s/^.* //" | sed "s/://g" | sed "s/..$//"`

DT=`echo $M$D$H$Y`

date $DT


Xdialog --title "$TIT2" --icon $HOME/.icewm/icons/minino-splash.xpm --fill --msgbox "$MSG6" 0 0

# /usr/sbin/hwclock --systohc --localtime
/sbin/hwclock --systohc --localtime

THEDATE=`date`
Xdialog --title "$TIT2" --icon $HOME/.icewm/icons/reloj.xpm --fill --msgbox "$MSG7 $THEDATE" 0 0 
