#!/usr/bin/haserl -u 200 -U /var/tmp <% . /usr/lib/libmodcgi.sh cgi --id=do_restore cgi_begin '$(lang de:"Konfiguration wiederherstellen (Restore)" en:"Restore configuration")' %>

$(lang de:"Wiederherstellung (Restore)" en:"Restore configuration")

<% if [ -n "$FORM_uploadfile_name" ]; then %> $(lang de:"Sie haben gerade die Datei" en:"You just uploaded the file") <% echo -n $FORM_uploadfile_name %>$(lang de:" hochgeladen." en:".")
$(lang de:"Sie ist unter dem temporären Namen" en:"It is stored on the Fritz!Box under the temporary name") <% echo $FORM_uploadfile %>$(lang de:" auf der Fritz!Box gespeichert." en:".")
$(lang de:"Die Dateigröße beträgt" en:"The file size is") <% cat $FORM_uploadfile | wc -c %> $(lang de:"Bytes." en:"bytes.")

$(lang de:"Installationsverlauf:" en:"Installation log:")
<%
	{
		cd /var/tmp
		export BACKUP_DIR='var_flash'
		export DS_BCK_FILE='ds_mod'
		export FREETZ_BCK_FILE='freetz'
		rm -rf $BACKUP_DIR
		echo "$(lang de:"Sicherungsdateien extrahieren" en:"Extracting backup files") ... "
		tar xvzf $FORM_uploadfile
		echo "$(lang de:"Konfiguration wiederherstellen" en:"Restoring configuration") ... "
		if [ -e "$BACKUP_DIR/$DS_BCK_FILE" ]; then
			echo "$(lang de:"Alte Sicherungsdatei gefunden" en:"Found old backup file")"
			mv $BACKUP_DIR/$DS_BCK_FILE $BACKUP_DIR/$FREETZ_BCK_FILE
		fi
		if [ ! -e "$BACKUP_DIR/$FREETZ_BCK_FILE" ]; then
			FORM_restart=off
			echo "$(lang de:"FEHLER: Keine passende Sicherungsdatei" en:"ERROR: Not a valid backup file")"
		else
		if [ "$FORM_freetz_only" = "on" ]; then
			echo "cat $BACKUP_DIR/$FREETZ_BCK_FILE > /var/flash/freetz"
			cat $BACKUP_DIR/$FREETZ_BCK_FILE > /var/flash/freetz
		else
			for file in $(ls $BACKUP_DIR); do
				echo "cat $BACKUP_DIR/$file > /var/flash/$file"
				cat $BACKUP_DIR/$file > /var/flash/$file
			done
		fi
		echo "$(lang de:"ERLEDIGT" en:"DONE")"
	fi
	echo "$(lang de:"Sicherungsdateien entfernen" en:"Removing backup") ... "
	rm -rf $BACKUP_DIR
	rm -f $FORM_uploadfile
	echo "$(lang de:"ERLEDIGT" en:"DONE")"
	if [ "$FORM_restart" = "on" ]; then
		echo "$(lang de:"Neustart in 5 Sekunden" en:"Restarting in 5 seconds") ... "
		(sleep 5; reboot)&
	fi
	} | html
	%>
<% else %> $(lang de:"Sie haben keine Sicherungs-Datei zum Hochladen ausgewählt. Der Zustand" en:"You have not selected any backup file to upload. The Fritz!Box's") $(lang de:"der Fritz!Box wurde nicht verändert." en:"configuration was not changed.") <% fi %>

<% back_button --title="$(lang de:"Zurück zur Übersicht" en:"Back to main page")" mod status %>

<% cgi_end %>