#!/bin/sh

#  CyBackup_restore.sh
#  
#
bold=$(tput bold)
nor=$(tput sgr0)
black=$(tput setf 0)
red=$(tput setf 4)
green=$(tput setf 2)
yellow=$(tput setf 3)
blue=$(tput setf 1)
magenta=$(tput setf 5)
cyan=$(tput setf 6)
white=$(tput setf 7)
exitpoint () {
if [ "$rex" = "exit" ]
    then exit
elif [ "$rex" = "restart" ]
    then su root CyBackup_restore
fi
}
restore_o () {
echo "${bold}----------------decompress backup----------------${nor}"
unzip /CyBackup/CyBackup*.zip -d /CyBackup/
if [ -e /CyBackup/CyBackup/CyBackup*/net.if0x.cybackup*.deb ]
    then rm -rf CyBackup/CyBackup*/net.if0x.cybackup*.deb
fi
if [ -d /CyBackup/CyBackup/CyBackup*/debs ]
    then mv /CyBackup/CyBackup/CyBackup_*/debs/*.deb /CyBackup/tmp/
fi
if [ -f /CyBackup/CyBackup/CyBackup_*/*.deb ]
    then mv /CyBackup/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----------------"
#cp -r /CyBackup/CyBackup*/lists/sources.list.d /etc/apt
echo "${bold}----------------installing tweaks----------------${nor}"
dpkg -i /CyBackup/tmp/*.deb
echo "${bold}----------------restore preferences----------------${nor}"
cp -r  /CyBackup/CyBackup/CyBackup*/plists/*.plist /var/mobile/Library/Preferences
echo "${bold}----------------cleaning up----------------${nor}"
rm -rf /CyBackup/CyBackup*
rm -rf /CyBackup/tmp
echo "${bold}----------------done----------------${nor}"
echo "restart SpringBoard now, please hit return"
read respring
killall SpringBoard && uichache

}

restore_n () {
echo "${cyan} sorry CyBackup don't support restoring prefs in this mode ${white}"
echo "${cyan} hit enter to continue or type 'restart' to restart or 'exit' to exit ${white}"
read x
rex="$x"
exitpoint
    echo "${bold}----------------decompress backup----------------${nor}"
    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----------------"
#cp -r /CyBackup/CyBackup*/lists/sources.list.d /etc/apt
    echo "${bold}----------------installing tweaks----------------${nor}"
    mv /CyBackup/CyBackup*/lists/packages.list /CyBackup/tmp
    dpkg --set-selections < /CyBackup/tmp/packages.list && echo y|apt-get dselect-upgrade
    echo "${bold}----------------cleaning up----------------${nor}"
    rm -rf /CyBackup/CyBackup*
    rm -rf /CyBackup/tmp
    echo "${bold}----------------done----------------${nor}"
    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 [ -d /CyBackup/Backups/ ]
            then    echo " "
                    ls /CyBackup/Backups/
                    echo " "
                    echo "${bold}which Backup you want to use?${nor}"
                    echo "please insert date in yyyy-mm-dd (dont forget the '-') "
                    read date_b
                    cp -r /CyBackup/Backups/CyBackup_"$date_b".zip /CyBackup
                    restore_o

        else
                echo "${bold}----------------no Backup found----------------${nor}"
                echo "${bold}--------------please drop Backup_Date.zip in /CyBackup --------------${nor}"
                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 "${bold}----------------done----------------${nor}"
                exit 0
                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 "${bold}which Backup you want to use?${nor}"
                    echo "please insert date in yyyy-mm-dd (dont forget the '-') "
                    read date_b
                    cp -r /CyBackup/Backups/CyBackup_"$date_b".zip /
                    restore_n

        else
                echo "${bold}----------------no Backup found----------------${nor}"
                echo "${bold}--------------please drop Backup_Date.zip in /CyBackup --------------${nor}"
                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 "${bold}----------------done----------------${nor}"
                exit 0
                fi
        fi
####################################-DON'T WORK ATM-#####################################
elif [ "$rstr" = "3" ]
    then
        if  [ -e /CyBackup*.zip ]
            then
                echo "${bold}----------------decompress backup----------------${nor}"
                unzip /CyBackup*.zip -d /CyBackup
                echo "${bold}----------------restore sources----------------${nor}"
                cp -r /CyBackup/CyBackup*/lists/sources.list.d /etc/apt
                echo "${bold}----------------cleaning up----------------${nor}"
                rm -rf /CyBackup/CyBackup*
                echo "${bold}----------------done----------------${nor}"
                echo "restart SpringBoard now, please hit return"
                read respring
                killall SpringBoard && uichache
        else
                echo "${bold}----------------no Backup found----------------${nor}"
                echo "${bold}--------------please drop Backup_Date.zip in /CyBackup --------------${nor}"
                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 "${bold}----------------done----------------${nor}"
                    exit 0
                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 "${bold}----------------done----------------${nor}"
        exit 0
    fi
fi
#  Created by @if0xxx on 15.08.16.
#
