#!/bin/sh

# Un pequeno "script" para axustar a data e a hora baixo Linux con hwclock...

# Título que se usará en todas as caixas de Xdialog.
TITLE="Axustar data e hora"

# Comprobamos a existencia de hwclock...
if ! [ -f /sbin/hwclock ] ; then
   Xdialog --title "$TITLE" --msgbox "/sbin/hwclock non se atopa..." 0 0
   exit 0
fi

# Obtemos a data, devolta no formato DD/MM/YYYY por Xdialog.
ENTEREDDATE=`Xdialog --stdout --title "$TITLE" --calendar "Seleccione a data..." 0 0 0 0 0`
if [ ! $? -eq 0 ]; then
   exit
fi

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

# Obtemos a hora no formato HH:MM:SS.
NEWTIME=`Xdialog --stdout --title "$TITLE" --timebox "Seleccione a hora..." 0 0`
if [ ! $? -eq 0 ]; then
   Xdialog --title "$TITLE" --msgbox "Cancelado." 0 0
   exit
fi


# Axustamos o reloxo de hardware (RTC) e despois o reloxo do 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 "Información" --msgbox "A sua pantalla podería poñerse en negro durante algúns segundos, Por favor agarde..." 0 0

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

THEDATE=`date`
Xdialog --title "Información" --msgbox "Feito. A data e a hora foron axustadas a $THEDATE" 0 0 
