#!/bin/bash
. /home/ROULETTE/common.config #here is configuration of ROULETTE and FC5 locations

echo nameserver 8.8.8.8 > /etc/resolv.conf
echo nameserver 8.8.4.4 >> /etc/resolv.conf
echo nameserver 1.1.1.1 >> /etc/resolv.conf

#zabelezimo si, da smo priceli z update-all. Sele ko bomo vse dokoncno poupdate-ali, se bo ta datoteka izbrisala
#IGP-init pa preverja ce ta datoteka obstaja, in ce obstaja, nas bo ponovno poklicala
if [ -z "$UPDATE_ALL_IN_PROGRESS" ]; then
	#default location
        UPDATE_ALL_IN_PROGRESS='/var/IGP/.update_all_in_progress'
fi
if [ -f $UPDATE_ALL_IN_PROGRESS ]; then
        echo `date`": Update all restarted, some packages might not been successfully updated from previous run." >> $UPDATE_ALL_IN_PROGRESS
else
        echo `date`": Update all started. Will update all packages on this system." >> $UPDATE_ALL_IN_PROGRESS
fi


GREEN='\033[0;32m' #red
RED='\033[0;31m' #red
NC='\033[0m' # No Color

#preberemo jurisdikcijo, na FTP-ju bomo iskali to mapo
echo

JURISDICTION=DEFAULT
VERSION_FOLDER="V7.3"

if [ -x $ROULETTE/sqlexec.sh ]; then

        #set to desired version for the slot-update-all.sh
        echo "select RESULT from SET_PARAM('GLOBAL', 'UPDATE_ALL.sh', 'FTP_VERSION_FOLDER', '', '', 11, 71, 'V7.3');"|/home/ROULETTE/sqlexec.sh

        JURISDICTION=`echo "select coalesce(RES_STR_VALUE, '') from GET_PARAM('GLOBAL', 'JURISDICTION', 11)" | $ROULETTE/sqlexec.sh |head -6|tail -1|sed -e 's/  *$//'|sed 's/^M$//'|sed 's/[ ^t]*$//'`
        if [ -n "$JURISDICTION" ]; then
                echo "We will update games available for JURISDICTION=$JURISDICTION"
        else
                echo "Can not fetch JURISDICTION info; will update games for JURISDICTION=DEFAULT"
                JURISDICTION=DEFAULT
        fi

	#we correct the baudare parameter, as it is a new default in 7.2, so if it is 0, meant default, most probably ticket is set to old default 9600
	#BAUDRATE=`echo "select coalesce(RES_STR_VALUE, '') from GET_PARAM('PLATFORM', 'TICKET_BAUDRATE', 11)" | $ROULETTE/sqlexec.sh |head -6|tail -1|sed -e 's/  *$//'|sed 's/^M$//'|sed 's/[ ^t]*$//'`
	#if [ $BAUDRATE -eq 0 ]; then
	#	echo "select RESULT from SET_PARAM('PLATFORM', 'UPDATE_ALL.sh', 'TICKET_BAUDRATE', '', '', 11, 9600, '9600');"|/home/ROULETTE/sqlexec.sh
	#fi
else
        echo "WARNING: No core pack is not mounted,.., CAN NOT DETERMINE JURISDICTION AND PACK VERSION"
        JURISDICTION=DEFAULT
        VERSION_FOLDER="V7.3"
        echo "DEFAULTING TO: JURISDICTION=$JURISDICTION and VERSION=$VERSION_FOLDER"
fi

#mark the update in progress
echo "select RESULT from SET_PARAM('PLATFORM_1', 'UPDATE_ALL.sh', 'SOFTWARE_VERSION', '', '', 11, 0, 'Update started at `date`. Downloading...');"|/home/ROULETTE/sqlexec.sh

RESTART_REQUIRED=1
UPDATE_FULLY_SUCCEEDED=1

echo "Updating Core...";
echo `date`": Updating Core...." >> $UPDATE_ALL_IN_PROGRESS

TARGET_FILE=`mktemp`
wget -q https://s3.eu-central-1.amazonaws.com/files.troniusgaming.com/update_package/update_to_7.3.pack -O $TARGET_FILE
if [ $? -eq 0 ]; then
    echo "Succesfully got update package, starting update..."
    TMP_MOUNT_DIR=`mktemp -d`
    mount -t squashfs $TARGET_FILE $TMP_MOUNT_DIR
    (cd $TMP_MOUNT_DIR && ./update.sh)
    umount $TMP_MOUNT_DIR
else
    echo "ERROR retrieving update package, can not update!"
fi

#reget backup.chk for the current jurisdiction
#wget -q http://igpupdates.4knh.com/PACKAGES_IGP/$JURISDICTION/$VERSION_FOLDER/backup.chk -O /var/IGP/backup.chk

echo `date`": Update complete. All packages are up to date." >> $UPDATE_ALL_IN_PROGRESS
echo `date`": Terminating update script." >> $UPDATE_ALL_IN_PROGRESS
cat $UPDATE_ALL_IN_PROGRESS >> /var/IGP/update_history.log
rm -rf $UPDATE_ALL_IN_PROGRESS

if [ $RESTART_REQUIRED -gt 0 ]; then
	echo -e "$RED""Some games or core were updated. Requesting restart of system!""$NC"

	if [ -x $ROULETTE/sqlexec.sh ]; then
		#mark the update in restart required
		echo "select RESULT from SET_PARAM('PLATFORM_1', 'UPDATE_ALL.sh', 'SOFTWARE_VERSION', '', '', 11, 0, 'Updating complete, please restart.');"|/home/ROULETTE/sqlexec.sh
	fi

	#ce platforma ne tece, je skoda posiljati REQUEST_RESTART
	ps -A|grep igplatfrom
	if [ $? -ne 0 ]; then
		sleep 10
		init 6
	else
		if [ -x $ROULETTE/sqlexec.sh ]; then
									     ##REQUEST RESART ni typo, je tako v binaries, nove verzije podpirajo oboje RESTART in RESART
			echo "execute procedure CMD_NEW('update', 'PLATFORM', 'REQUEST_RESART', NULL, NULL, NULL, 3)" |/home/ROULETTE/sqlexec.sh 2>/dev/null 1>/dev/null
		fi
	fi
fi

echo -e "$GREEN""Script done.""$NC"
exit
