#! /bin/bash
#Translated for Russian by Pro and vkvkvk.
if [ "$1" = "-new" ]; then
	MINUTE=`cat /tmp/pschedule-cronminute`
	HOUR=`cat /tmp/pschedule-cronhour`
	DAY=`cat /tmp/pschedule-cronday`
	MONTH=`cat /tmp/pschedule-cronmonth`
	WEEKDAY=`cat /tmp/pschedule-cronweekday`
	echo "$MINUTE{ð®SSSđþ}$HOUR{ð®SSSđþ}$DAY{ð®SSSđþ}$MONTH{ð®SSSđþ}$WEEKDAY" > /tmp/pschedule-forloop
else
	echo -e "\c" > /tmp/pschedule-treeitems
	cat /var/spool/cron/crontabs/$USER | sed -e "s/ /{ð®SSSđþ}/g" | sed -e "s/*/{ð®STARđþ}/g" > /tmp/pschedule-forloop
fi
for I in `cat /tmp/pschedule-forloop`; do
	I=`echo "$I" | sed -e 's/{ð®SSSđþ}/ /g'` #used later to check for advanced cron
	CRONCOMMAND=`echo "$I" | sed -e "s/{ð®STARđþ}/*/g"`
	MINUTE=`echo "$CRONCOMMAND" | cut -d " " -f 1`
	HOUR=`echo "$CRONCOMMAND" | cut -d " " -f 2`
	DAY=`echo "$CRONCOMMAND" | cut -d " " -f 3`
	MONTH=`echo "$CRONCOMMAND" | cut -d " " -f 4`
	WEEKDAY=`echo "$CRONCOMMAND" | cut -d " " -f 5`
	COMMAND=`echo "$CRONCOMMAND" | cut -d " " -f 6-`
	PREMONTH=""
	PREDAY=""
	PRETIME=""
	TIME_DELIMINATOR=":"
	
	#TIME
	if [ "$MINUTE" = "*" ]; then MINUTE="xx"; fi
	if [ `echo $MINUTE | wc -c` = 2 ]; then MINUTE=0"$MINUTE"; fi #place a zero in front when only 1 digit
	if [ "$HOUR" = "*" ]; then HOUR="xx"; fi
	if [ `echo $HOUR | wc -c` = 2 ]; then HOUR=0"$HOUR"; fi #place a zero in front when only 1 digit
	if [ "$HOUR" = "xx" ]; then
		if [ "$MINUTE" != "xx" ]; then
			PRETIME="Каждый час "
		fi
		if [ "$MINUTE" = "xx" ]; then
			PRETIME="Каждую минуту"
			TIME_DELIMINATOR=""
			MINUTE=""
			HOUR=""
		fi
	fi
	if [ "$HOUR" != "xx" ] && [ "$MINUTE" = "xx" ]; then
		PRETIME="Каждую минуту в течении часа "
		TIME_DELIMINATOR=""
		MINUTE=""
	fi	
	#DAY
	if [ "$DAY" != "*" ]; then
		DAY="$DAY-го "
		PREDAY=" -"
		PREMONTH=""
	else
		DAY=""
		if [ "$MONTH" != "*" ] && [ "$WEEKDAY" = "*" ]; then
			PREDAY=" -"
			DAY=" любой день"
			PREMONTH=" в"
		fi
	fi
	if [ "$WEEKDAY" != "*" ] && [ "$MONTH" != "*" ]; then
		PREDAY=" в"
	fi
	if [ "$WEEKDAY" != "*" ] && [ "$DAY" != "" ]; then PREDAY=", если он "; fi
	case $WEEKDAY in
		0)		WEEKDAY=" - Воскресенье";;
		1)		WEEKDAY=" - Понедельник";;
		2)		WEEKDAY=" - Вторник";;
		3)		WEEKDAY=" - Среда";;
		4)		WEEKDAY=" - Четверг";;
		5)		WEEKDAY=" - Пятница";;
		6)		WEEKDAY=" - Суббота";;
		"*")	WEEKDAY="";;
	esac
		case "$MONTH" in
		1)		MONTH=" Января";;
		2)		MONTH=" Февраля";;
		3)		MONTH=" Марта";;
		4)		MONTH=" Апреля";;
		5)		MONTH=" Мая";;
		6)		MONTH=" Июня";;
		7)		MONTH=" Июля";;
		8)		MONTH=" Августа";;
		9)		MONTH=" Сентября";;
		10)		MONTH=" Октября";;
		11)		MONTH=" Ноября";;
		12)		MONTH=" Декабря";;
		"*")	MONTH=""
				if [ "$DAY" ]; then 
					MONTH=" числа любого месяца"
				fi;;
	esac


	#strip $COMMAND to max 25 chars
	if [ `echo "$COMMAND" | wc -c` -gt 25 ]; then
		COMMAND="`echo "$COMMAND" | cut -c 1-22`..."
	fi
	echo "$PRETIME$HOUR$TIME_DELIMINATOR$MINUTE$WEEKDAY$PREDAY$DAY$PREMONTH$MONTH" > /tmp/pschedule-next #for new_task


	#if cron contains , / - will it be set to 'Advanced schedule'
	if [ "`echo "$I" | cut -d " " -f 1-5 | grep '/'`" ] || [ "`echo "$I" | cut -d " " -f 1-5 | grep ','`" ] || [ "`echo "$I" | cut -d " " -f 1-5 | grep '-'`" ]; then
		echo "$COMMAND | Расширенное задание | $CRONCOMMAND" >> /tmp/pschedule-treeitems # for main window
	else
		echo "$COMMAND | $PRETIME$HOUR$TIME_DELIMINATOR$MINUTE$WEEKDAY$PREDAY$DAY$PREMONTH$MONTH | $CRONCOMMAND" >> /tmp/pschedule-treeitems # for main window
	fi

done