#!/bin/bash

#  Sparky Eraser is a simply GUI front-end for 'shred' and 'wipe' tools
#  Created by Paweł "pavroo" Pijanowski 2014/02/10
#  Copyright 2014-2024 under the GNU GPL2 License
#  Last updated 2024/07/29 by pavroo

# get default locale file
DEFLOCDIR="/usr/share/sparky/sparky-eraser"
if [ "`cat /etc/default/locale | grep LANG= | grep de`" != "" ]; then
. $DEFLOCDIR/de
elif [ "`cat /etc/default/locale | grep LANG= | grep el`" != "" ]; then
. $DEFLOCDIR/el
elif [ "`cat /etc/default/locale | grep LANG= | grep es`" != "" ]; then
	if [ "`cat /etc/default/locale | grep LANG= | grep es_AR`" != "" ]; then
. $DEFLOCDIR/es_AR
	else
. $DEFLOCDIR/es_ES
	fi
elif [ "`cat /etc/default/locale | grep LANG= | grep fi`" != "" ]; then
. $DEFLOCDIR/fi
elif [ "`cat /etc/default/locale | grep LANG= | grep fr`" != "" ]; then
. $DEFLOCDIR/fr
elif [ "`cat /etc/default/locale | grep LANG= | grep hu`" != "" ]; then
. $DEFLOCDIR/hu
elif [ "`cat /etc/default/locale | grep LANG= | grep id_ID`" != "" ]; then
. $DEFLOCDIR/id_ID
elif [ "`cat /etc/default/locale | grep LANG= | grep it`" != "" ]; then
. $DEFLOCDIR/it
elif [ "`cat /etc/default/locale | grep LANG= | grep ja`" != "" ]; then
. $DEFLOCDIR/ja
elif [ "`cat /etc/default/locale | grep LANG= | grep pl`" != "" ]; then
. $DEFLOCDIR/pl
elif [ "`cat /etc/default/locale | grep LANG= | grep pt_BR`" != "" ]; then
. $DEFLOCDIR/pt_BR
elif [ "`cat /etc/default/locale | grep LANG= | grep pt_PT`" != "" ]; then
. $DEFLOCDIR/pt_PT
elif [ "`cat /etc/default/locale | grep LANG= | grep ru`" != "" ]; then
. $DEFLOCDIR/ru
elif [ "`cat /etc/default/locale | grep LANG= | grep sv`" != "" ]; then
. $DEFLOCDIR/se
elif [ "`cat /etc/default/locale | grep LANG= | grep uk`" != "" ]; then
. $DEFLOCDIR/uk
else
. $DEFLOCDIR/en
fi

DIALOG="`which yad` --window-icon=user-trash-full --width=450 --height=250 --center"
DIALOG800="`which yad` --window-icon=user-trash-full --width=800 --height=600 --center"
DIALOG600="`which yad` --window-icon=user-trash-full --width=600 --height=350 --fixed --center"
DIALOG150="`which yad` --window-icon=user-trash-full --width=450 --height=150 --center"
TITLE="--always-print-result --dialog-sep --image=user-trash-full --title="
TEXT="--text="
ENTRY="--entry "
ENTRYTEXT="--entry-text "
FILESELECTION="--file "
DIRSELECTION="--file --directory"
MENU="--list --column=$LOCAL1 --column=$LOCAL2"
OKEXIT=" --button=OK:0 --button=$LOCAL3:1 "
MSGBOX=" --button=Ok:0 "
TITLETEXT="Eraser"

mainmenu () {

CHOICES=`$DIALOG $TITLE"$TITLETEXT" $OKEXIT $MENU $TEXT"$LOCAL4" \
About "$LOCAL5" \
File "$LOCAL6" \
Directory "$LOCAL7"`

if [ "$?" = "0" ]; then
	CHOICE=`echo $CHOICES | cut -d "|" -f 1`
else
	exit 0
fi

if [ "$CHOICE" = "About" ]; then
$DIALOG600 $TITLE"$TITLETEXT" $MSGBOX $TEXT"\n$LOCAL8\n\
\n\
$LOCAL9\n\
\n\
$LOCAL10\n\
sudo/remsu sparky-eraser \n\
\n\
$LOCAL11\n\
man shred \n\
man wipe \n\
\n\
$LOCAL12"
	mainmenu
elif [ "$CHOICE" = "File" ]; then
	filemenu
elif [ "$CHOICE" = "Directory" ]; then
	directorymenu
else
	exit 0
fi
}

filemenu () {
ERASEFILE=`$DIALOG800 $TITLE"$LOCAL13" $OKEXIT $FILESELECTION`

if [ "$?" != "0" ]; then
	$DIALOG150 $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL14"
	exit 0

else
	$DIALOG $TITLE"$TITLETEXT" $OKEXIT $TEXT"$LOCAL15 \n$ERASEFILE ? \n\n$LOCAL16 $LOCAL3 $LOCAL21"

	if [ "$?" != "0" ]; then
		$DIALOG150 $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL14"
		exit 0

	else
		$DIALOG150 $TITLE"$TITLETEXT" --no-buttons --progress --pulsate $TEXT"$LOCAL17\n" & shred -fuz -n5 $ERASEFILE
		killall -KILL yad
		
	fi

	$DIALOG150 $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL18"
fi

mainmenu

}

directorymenu () {
ERASEDIR=`$DIALOG800 $TITLE"$LOCAL19" $OKEXIT $DIRSELECTION`

if [ "$?" != "0" ]; then
	$DIALOG150 $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL14"
	exit 0

else
	$DIALOG $TITLE"$TITLETEXT" $OKEXIT $TEXT"$LOCAL20 \n$ERASEDIR ? \n\n$LOCAL16 $LOCAL3 $LOCAL21"

	if [ "$?" != "0" ]; then
		$DIALOG150 $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL14"
		exit 0

	else
		$DIALOG150 $TITLE"$TITLETEXT" --no-buttons --progress --pulsate $TEXT"$LOCAL17\n" & wipe -rcfq $ERASEDIR
		killall -KILL yad

	fi

	$DIALOG150 $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL18"
fi

mainmenu

}

mainmenu
