#!/bin/bash
#====Чувствительно к регистру !! !====
#====Проверьте имена каталогов !!! ===
#====Можно запускать в кроне !!! =====

Login=логин:пароль
DiskBase=~/.wine/dosdevices/e:

# ===== стандартные параметры
Site="http://"$Login"@www.urspectr.info/"
Dir_Cons_Up=Cons_Up
DiskUpAuto=$DiskBase/$Dir_Cons_Up/"_Auto.bat"

#=====Функция закачка базы и распаковка
#требуется установка пакета rar для LINUX
function get_wget {
    FileAuto=$DiskBase/$Dir_Cons_Up/$1
    SiteSpis=$Site"update.php?type="$1
    download=$DiskUpAuto/Setting/$1-site.htm
    test -d "$FileAuto";    
    if [ $? = 1 ];
    then mkdir $FileAuto
    fi
	cd $DiskUpAuto
	wget --no-directories $SiteSpis
	if [ -f $DiskUpAuto/update.php* ];
	then 
	cat $DiskUpAuto/update.php*type=$1  | grep 'href="updates/'$1/$1 > $download
	fi
	rm $DiskUpAuto/update.php*
	# Здесь желательно проверить наличие .txt файлов
	# в receive и подправить файл $download, чтобы не закчивать лишние файлы,
	# но можно и так. Закачать все, а распаковать только нужные. 
	cd $DiskBase/receive
	for a in $(find -name "*.txt"); do
	length=$(expr length $a)
	length=$(expr $length - 5)	
	ab=$(expr substr $a 3 $length)
	sed -i -e /$ab/d $DiskUpAuto/Setting/$1-site.htm;
	done
	# Закачка
	wget --directory-prefix=$FileAuto --force-html --base=$Site --input-file=$download
	cd $FileAuto
	# Повторная проверка можно выкинуть, но пусть торчит
	for a in $(find $1*); do
	length=`expr length $a`
	pos=`expr $length - 3`
	ab=`expr substr $a 1 $pos`  
	echo "." > $FileAuto/$ab"txt";
	if [ ! -f $DiskBase/receive/$ab"txt" ]
	then
	# Это собственно разархивирование
	mv $a $ab"rar"
	rar e -y -o+ -c- $ab"rar" 
	mv -f *.ANS $DiskBase/receive/
	mv *.txt $DiskBase/receive/
	fi;
	done
}
#=====Конец функции

#=====  ЗАКАЧКА ФАЙЛОВ С ПОМОЩЬЮ ФУНКЦИИ get_wget ИМЯ_БАЗЫ 
#get_wget LAW
#*************
#*************
#get_wget LAST

#=====  Чистка от мусора
cd $DiskBase/$Dir_Cons_Up
for a in $(find -name *.htm); do
	rm $a;
done
for a in $(find *); do
	ab=`expr substr $a 1 5`
	if [ $ab != _Auto ];
	then
		if [ -d $a ]
		then  rm -r $a
		fi
	fi;
done

#====Запуск консультанта (обновление баз)===
#====Требуется установка пакета xvfb=======
cd $DiskBase
a=$(find $DiskBase/receive -name "*.ANS");
if [ "$a" != "" ];
then
    if [ -e /tmp/.X1-lock ];
    then
    export LANG="ru_RU.UTF-8"
    DISPLAY=:1  wine cons.exe /adm /receive /base* /YES > nul
    else 
	if [ ! -e /tmp/.X1-lock ]; 
        then
    	Xvfb :1 -ac -shmem -screen 0 1024x768x24 &
    	fi
    sleep 5
    export LANG="ru_RU.UTF-8"
    DISPLAY=:1  wine cons.exe /adm /receive /base* /YES > nul
    fi
fi
exit
