#!/bin/sh

#  CyBackup_restore.sh
#  
#
exitpoint () {
if [ "$rex" = "exit" ]
    then exit
elif [ "$rex" = "restart" ]
    then su root CyBackup_restore
fi
}
restore_o () {
echo "----------------decompress backup----------------"
unzip /CyBackup/CyBackup*.zip -d /CyBackup
if [ -e /CyBackup/CyBackup*/net.if0x.cybackup*.deb ]
    then rm -rf CyBackup/CyBackup*/net.if0x.cybackup*.deb
fi
if [ -d /CyBackup/CyBackup*/debs ]
    then mv /CyBackup/CyBackup_*/debs/*.deb /CyBackup/tmp/
fi
if [ -f /CyBackup/CyBackup_*/*.deb ]
    then mv /CyBackup/CyBackup_*/*.deb /CyBackup/tmp/
fi
rm -rf /CyBackup/tmp/io.pangu.*.deb
rm -rf /CyBackup/tmp/taig*.deb
rm -rf /CyBackup/tmp/com.evad3rs.*.deb
rm -rf /CyBackup/tmp/com.ih8sn0w*.deb
#echo "----------------restore sources----------------"
#scp -r /CyBackup/CyBackup*/lists/sources.list.d /etc/apt
echo "----------------installing tweaks----------------"
dpkg -i /CyBackup/tmp/*.deb
echo "----------------restore preferences----------------"
scp -r  /CyBackup/CyBackup*/plists/*.plist /var/mobile/Library/Preferences
echo "----------------cleaning up----------------"
rm -rf /CyBackup/CyBackup*
rm -rf /CyBackup/tmp
echo "----------------done----------------"
echo "restart SpringBoard now, please hit return"
read respring
killall SpringBoard && uichache

}

restore_n () {
echo "sorry CyBackup don't support restoring prefs in this mode"
echo "hit enter to continue or type 'restart' to restart or 'exit' to exit"
read x
rex="$x"
exitpoint
    echo "----------------decompress backup----------------"
    unzip /CyBackup/CyBackup*.zip -d /CyBackup
    if [ -e /CyBackup/CyBackup*/net.if0x.cybackup*.deb ]
        then rm -rf CyBackup/CyBackup*/net.if0x.cybackup*.deb
    fi
    sed -i '/pangu/d' /CyBackup/CyBackup*/lists/packages.list
    sed -i '/taig/d' /CyBackup/CyBackup*/lists/packages.list
    sed -i '/evasi0n/d' /CyBackup/CyBackup*/lists/packages.list
    sed -i '/p0sixspwn/d' /CyBackup/CyBackup*/lists/packages.list

#echo "----------------restore sources----------------"
#scp -r /CyBackup/CyBackup*/lists/sources.list.d /etc/apt
    echo "----------------installing tweaks----------------"
    mv /CyBackup/CyBackup*/lists/packages.list /CyBackup/tmp
    dpkg --set-selections < /CyBackup/tmp/packages.list && echo y|apt-get dselect-upgrade
    echo "----------------cleaning up----------------"
    rm -rf /CyBackup/CyBackup*
    rm -rf /CyBackup/tmp
    echo "----------------done----------------"
    echo "restart SpringBoard now, please hit return"
    read respring
    killall SpringBoard && uichache
}

if ! [ -d /CyBackup ]
    then mkdir /CyBackup
fi
echo " "
echo "restore all tweaks [1]"
echo "restore newest version of tweaks [2]"
#echo "restore sources [3]"
read rstr
rex="$rstr"
exitpoint
mkdir -p /CyBackup/tmp
if [ "$rstr" = "1" ]
    then
        if  [ -e /CyBackup/CyBackup*.zip ]
            then    restore_o

        elif [ -f /CyBackup/Backups/CyBackup*.zip ]
            then    echo " "
                    ls /CyBackup/Backups/
                    echo " "
                    echo "which Backup you want to use?"
                    echo "please insert date in yyyy-mm-dd (dont forget the '-') "
                    read date_b
                    scp -r /CyBackup/Backups/CyBackup_"$date_b".zip /
                    restore_o

        else
                echo "----------------no Backup found----------------"
                echo "--------------please drop Backup_Date.zip in /CyBackup --------------"
                echo " "
                echo "Want to copy it automatically? (Mac/Linux) [y/n]"
                read cpy
                rex="$cpy"
                exitpoint
                if [ "$cpy" = "y" ]
                    then su root CyBackup_retrans
                else
                echo "----------------done----------------"
                fi
        fi
elif [ "$rstr" = "2" ]
    then
        if  [ -e /CyBackup/CyBackup*.zip ]
            then    restore_n

        elif [ -f /CyBackup/Backups/CyBackup*.zip]
            then    echo " "
                    ls /CyBackup/Backups
                    echo " "
                    echo "which Backup you want to use?"
                    echo "please insert date in yyyy-mm-dd (dont forget the '-') "
                    read date_b
                    scp -r /CyBackup/Backups/CyBackup_"$date_b".zip /
                    restore_n

        else
                echo "----------------no Backup found----------------"
                echo "--------------please drop Backup_Date.zip in /CyBackup --------------"
                echo " "
                echo "Want to copy it automatically? (Mac/Linux) [y/n]"
                read cpy
                rex="$cpy"
                exitpoint
                if [ "$cpy" = "y" ]
                    then su root CyBackup_retrans
                else
                echo "----------------done----------------"
                fi
        fi
####################################-DON'T WORK ATM-#####################################
elif [ "$rstr" = "3" ]
    then
        if  [ -e /CyBackup*.zip ]
            then
                echo "----------------decompress backup----------------"
                unzip /CyBackup*.zip -d /CyBackup
                echo "----------------restore sources----------------"
                scp -r /CyBackup/CyBackup*/lists/sources.list.d /etc/apt
                echo "----------------cleaning up----------------"
                rm -rf /CyBackup/CyBackup*
                echo "----------------done----------------"
                echo "restart SpringBoard now, please hit return"
                read respring
                killall SpringBoard && uichache
        else
                echo "----------------no Backup found----------------"
                echo "--------------please drop Backup_Date.zip in / --------------"
                echo " "
                echo "Want to copy it automatically? (Mac/Linux) [y/n]"
                read cpy
                rex="$cpy"
                exitpoint
                if [ "$cpy" = "y" ]
                    then su root CyBackup_retrans
                else
                    echo "----------------done----------------"
                fi
        fi
##########################################################################################
else
    echo "Error: wrong charackter"
    echo "restart now? [y/n]"
    read restart
    rex="$restart"
    exitpoint
    if [ "$restart" = "y" ]
       then su root CyBackup_restore
    else
        echo "----------------done----------------"
    fi
fi
#  Created by @if0xxx on 15.08.16.
#
