#!/bin/bash

usage() {
	printf "\nTO USE THIS SCRIPT PLEASE TYPE\n\n$0 backup ( to create a backup )\n$0 restore ( to restore from your backup file )\n\n"
}

if [ $# != 1 ]; then
	usage
	exit 1
fi

backupfile="$HOME/MyDesktopSettings.tar"
listfile="$HOME/q4os_desktop_settings.filelist"

case "$1" in
	backup)
		if [ -f "$backupfile" ]; then
			printf "\nYOU HAVE ALREADY CREATED A BACKUP!\nDELETE OR MOVE YOUR OLD FILE BEFORE TRYING AGAIN\n\n"
			exit 2
		fi
		tar cvf "$backupfile" --files-from /dev/null
		while read i
		do
			if [ -f "$HOME/$i" ]; then
				tar -rf "$backupfile" "$HOME/$i" 2>/dev/null
			fi
		done < "$listfile"
		if [ `tar -tf "$backupfile" | wc -l` -gt 100 ]; then
			printf "\nBACKUP COMPLETED SUCCESSFULLY\n\n"
		else
			printf "\nBACKUP PROCESS COMPLETE BUT MAY HAVE FAILED\nPLEASE CHECK THE CONTENTS OF YOUR BACKUP FILE\n\n"
		fi
		;;
	restore)
		if [ -f "$backupfile" ]; then
			tar -C / -xf "$backupfile"
			printf "\nRESTORE COMPLETE PLEASE RE-LOGIN TO EFFECT CHANGES\n\n"
		else
			printf "\nNO BACKUP FILE FOUND!\n\n"
		fi
		;;
	*)
		usage
		exit 3
		;;
esac