#!/bin/ash
#150325 sfs
##wt -s "sudo rdate -s tick.greyware.com"  #&
#2007 Lesser GPL licence v2 (http://www.fsf.org/licensing/licenses/lgpl.html)
#Translated for Russian by Valerij Kruvjalis (vkvkvk).

# A small script used to set the time under Linux with hwclock...
# MU: updated for puppy 1.0.7.
MENU(){
# Title to be used for all Xdialog boxes.
TITLE="Установка даты и времени"

## Now check for hwclock existence...
#if ! [ -f /usr/sbin/hwclock ] ; then
#   Xdialog --title "$TITLE" --msgbox "/usr/sbin/hwclock not found..." 0 0
#   exit 0
#fi

n="$(ntf -3 "\
gtk-help
Справка
4
\
gtk-edit
Изменить
1
\
gtk-refresh
Синхронизировать с интернет
3" "$TITLE" "
Текущие установки:

<small>`timedatectl status |head -9| sed 's/  //g' |egrep -v 'DST |NTP |RTC time' || sudo hwclock -rD |tail -n+6 |grep -v тика |head -n-1 && date`</small>
")"
#[ "$?" = "0" ] || exit
case "$n" in
4)	which timedatectl && defaultbrowser "wiki.archlinux.org/index.php/Time" || pman date; $0;exit  ;;
1)	date ;;
3)	wt  "sudo rdate -s tick.greyware.com" ; $0  ;exit ;;
#*)	ntf -e "Ничего не выбрано" ;$0;exit ;;
*)	exit ;;
esac
}
#MENU

z="$(ntf -l "Europe/Moscow
`timedatectl list-timezones || find /usr/share/zoneinfo/ -type f  |sed 's#/usr/share/zoneinfo/##'  |egrep '^Europe|^Asia'`" "Выберите часовой пояс")"
if [ "`which timectl`" ];then
    [ "$z" ] && wt "sudo timedatectl set-timezone $z"
else [ "$z" ] && wt "sudo ln -sf /usr/share/zoneinfo/$z /etc/localtime"
fi
exit

ntf -q "'UTC' или 'local' (местный) стандарт времени в BIOS" "
Текущие установки: <b>`sudo hwclock -rD |egrep 'аппаратные'`</b>

Если на компьютере также используется 
Windows, оптимально: <b>местный</b>

<b>Изменить?</b>"
if [ "$?" = "0" ] ;then #yes
    if [ "`which timedatectl`" ];then 
	[ "`timedatectl |awk '/RTC in local TZ/ {print $5}'`" = "no" ] && wt "sudo timedatectl set-local-rtc 1" || wt "sudo timedatectl set-local-rtc 0"
    else [ -f /etc/adjtime ] && sudo rm /etc/adjtime || sudo echo "0.0 0 0
0
LOCAL
" >/etc/adjtime
    fi
fi
tmp(){
# Get the date (returned in DD/MM/YYYY format by Xdialog.
ENTEREDDATE=`Xdialog --stdout --title "$TITLE" --calendar "Установите, пожалуйста, дату..." 0 0 0 0 0`
if [ ! $? -eq 0 ]; then
   exit
fi

# Convert the date to the MM/DD/YYYY format needed by hwclock.
NEWDATE=`echo "$ENTEREDDATE" | awk --source 'BEGIN { FS="/" }' --source '{ print $3 "-" $2 "-" $1 }'`

NEWDATE="`yad --center --calendar --undecorated --date-format=%Y-%m-%d`"
# Get the time in HH:MM:SS format.
NEWTIME=`Xdialog --stdout --title "$TITLE" --timebox "Установите, пожалуйста время" 0 0`
if [ ! $? -eq 0 ]; then
   Xdialog --title "$TITLE" --msgbox "Завершение работы." 0 0
   exit
fi
}
d="`set-date`"

# Set the hardware clock (RTC) and then the system clock

#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`
#echo "$NEWDATE $NEWTIME"
#wt "sudo timedatectl set-time "$NEWDATE $NEWTIME""
#[ "$d" ] && wt "sudo timedatectl set-time "$d""
[ "$d" ] && (sudo timedatectl set-time "$d" || sudo date -s "$d")
#date $DT
#sleep 2
$0
exit
#hwclock --systohc --localtime

THEDATE=`date`
ntf -i "Установлено" "$THEDATE" ||
Xdialog --title "Информация" --msgbox "Завершено. Установлено $THEDATE" 0 0
