#!/bin/bash

# VMware Player Installer is a script which can download the bundle package
# from VMware server and run the installer
# Created by Paweł "pavroo" Pijanowski 2014/08/15
# Copyright 2014-2024 under the GNU GPL2 License
# Last update 2024/05/11

DEFLOCDIR="/usr/share/sparky/vmplayer-installer"
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 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_JP`" != "" ]; 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 uk`" != "" ]; then
. $DEFLOCDIR/uk
else
. $DEFLOCDIR/en
fi

testroot="`whoami`"
#if [ "$testroot" != "root" ]; then
#	echo "Must be root... Exiting now..."
#	exit 1
#fi

DIALOG="yad --window-icon=vmware --width=450 --height=200 --center"
DIALOG2="yad --window-icon=vmware --width=450 --height=350 --center"
TITLE="--always-print-result --dialog-sep --image=vmware --title="
TEXT="--text="
OKEXIT=" --button=Ok:0 --button=$LOCAL1:1 "
MSGBOX=" --button=Ok:0 "
VMVERSION=" --button=15:0 --button=12:1 "
MENU="--list --column=$LOCAL2 --column=$LOCAL3"
TITLETEXT="$LOCAL4"
WORKDIR="/tmp/vmplayer"
ARCH=`uname -r | grep "amd64" | awk '{print $1}'`
### just quit ###
$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"\nIt does NOT work any more.\n\nInstall VMware manually now.\n\nExiting..."
exit 0
### that't it ###
if [ -f /usr/bin/sparky-xterm ];then
	SPARKYXTERM="/usr/bin/sparky-xterm"
else
	echo "sparky-xterm is missing... Exiting..."
	exit 1
fi

VER6="6.0.6-2700073"
VER12="12.5.9-7535481"
VER15="15.5.7-17171714"
VER16="16.2.5-20904516"
VER17="17.5.1-23298084"
SERVER="https://download3.vmware.com/software/player/file"
SERVER16="https://download3.vmware.com/software/WKST-PLAYER-1625"
SERVER17="https://download3.vmware.com/software/WKST-PLAYER-1751"
PACK32="VMware-Player-$VER6.i386.bundle"
PACK6412="VMware-Player-$VER12.x86_64.bundle"
PACK6415="VMware-Player-$VER15.x86_64.bundle"
PACK6416="VMware-Player-Full-$VER16.x86_64.bundle"
PACK6417="VMware-Player-Full-$VER17.x86_64.bundle"
ARCHARM="`uname -m | grep arm`"
if [ "$ARCHARM" != "" ]; then
	$DIALOG $TEXT"\n$LOCAL24\n\n$LOCAL11" $TITLE"$TITLETEXT" $MSGBOX
	exit 1
fi

mainmenu () {
CHOICES=`$DIALOG2 $TITLE"$TITLETEXT" $OKEXIT $MENU $TEXT"$LOCAL5" \
Install "$LOCAL6" \
Upgrade "$LOCAL7" \
Remove "$LOCAL8" \
Exit "$LOCAL9"`

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

if [ "$CHOICE" = "Install" ]; then
	installmenu
elif [ "$CHOICE" = "Upgrade" ]; then
	upgrademenu
elif [ "$CHOICE" = "Remove" ]; then
	remmenu
elif [ "$CHOICE" = "Exit" ]; then
	exit 0
else
	exit 0
fi
}

installmenu () {
# check is vmplayer installed
if [ -f /usr/bin/vmplayer ]; then
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL10\n\n$LOCAL11"
	exit 1
fi

# checking connection
PINGTEST=$(ping -c 1 debian.org | grep [0-9])
if [ "$PINGTEST" = "" ]; then
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL19"
	exit 1
fi

# download a new version of vmplayer
rm -rf $WORKDIR
mkdir -p $WORKDIR
cd $WORKDIR

if [ "$ARCH" = "" ]; then
	$SPARKYXTERM "wget $SERVER/$PACK32"
else
CHOICES2=`$DIALOG2 $TITLE"$TITLETEXT" $OKEXIT $MENU $TEXT"$LOCAL25" \
17 "v.$VER17" \
16 "v.$VER16" \
15 "v.$VER15" \
12 "v.$VER12" \
Exit "$LOCAL9"`

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

	if [ "$CHOICE2" = "17" ]; then
		$SPARKYXTERM "wget $SERVER17/$PACK6417"
	elif [ "$CHOICE2" = "16" ]; then
		$SPARKYXTERM "wget $SERVER16/$PACK6416"
	elif [ "$CHOICE2" = "15" ]; then
		$SPARKYXTERM "wget $SERVER/$PACK6415"
	elif [ "$CHOICE2" = "12" ]; then
		$SPARKYXTERM "wget $SERVER/$PACK6412"
	elif [ "$CHOICE2" = "Exit" ]; then
		exit 1
	else
		exit 1
	fi
fi

# install vmplayer
PACKTEST=`ls $WORKDIR | grep 'bundle' | awk '{print $1}'`
if [ -f $WORKDIR/*.bundle ]; then
	cd $WORKDIR
	chmod +x $PACKTEST
	$SPARKYXTERM "sh $PACKTEST"
fi

# check has vmplayer been installed
if [ -f /usr/bin/vmplayer ]; then
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL12\n\n$LOCAL11"
	exit 0
else
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL13 \n\nsudo sh $WORKDIR/$PACKTEST \n\n$LOCAL11"
	mainmenu
fi

mainmenu
}

upgrademenu () {
# check is vmplayer installed
if [ -f /usr/bin/vmplayer ]; then
	$DIALOG $TITLE"$TITLETEXT" $OKEXIT $TEXT"$LOCAL14"

	if [ "$?" != "0" ]; then
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL15"
		exit 1

	else

		# checking connection
		PINGTEST=$(ping -c 1 debian.org | grep [0-9])

		if [ "$PINGTEST" = "" ]; then
			$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL19"
			exit 1
		fi

		# download a new version of vmplayer
		rm -rf $WORKDIR
		mkdir -p $WORKDIR
		cd $WORKDIR

		if [ "$ARCH" = "" ]; then
			$SPARKYXTERM "wget $SERVER/$PACK32"
		else
CHOICES2=`$DIALOG2 $TITLE"$TITLETEXT" $OKEXIT $MENU $TEXT"$LOCAL25" \
17 "v.$VER17" \
16 "v.$VER16" \
15 "v.$VER15" \
12 "v.$VER12" \
Exit "$LOCAL9"`

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

			if [ "$CHOICE2" = "17" ]; then
				$SPARKYXTERM "wget $SERVER17/$PACK6417"
			elif [ "$CHOICE2" = "16" ]; then
				$SPARKYXTERM "wget $SERVER16/$PACK6416"
			elif [ "$CHOICE2" = "15" ]; then
				$SPARKYXTERM "wget $SERVER/$PACK6415"
			elif [ "$CHOICE2" = "12" ]; then
				$SPARKYXTERM "wget $SERVER/$PACK6412"
			elif [ "$CHOICE2" = "Exit" ]; then
				exit 1
			else
				exit 1
			fi
		fi

		PACKTEST=`ls $WORKDIR | grep 'bundle' | awk '{print $1}'`
		if [ -f $WORKDIR/*.bundle ]; then
			# uninstall vmplayer
			if [ -f /usr/lib/vmware-installer/2.1.0/vmware-installer ]; then
				$SPARKYXTERM "/usr/lib/vmware-installer/2.1.0/vmware-installer -u vmware-player"
			elif [ -f /usr/lib/vmware-installer/3.0.0/vmware-installer ]; then
				$SPARKYXTERM "/usr/lib/vmware-installer/3.0.0/vmware-installer -u vmware-player"
			elif [ -f /usr/lib/vmware-installer/3.1.0/vmware-installer ]; then
				$SPARKYXTERM "/usr/lib/vmware-installer/3.1.0/vmware-installer -u vmware-player"
			fi
		else
			$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL16\n\n$LOCAL11"
			mainmenu
		fi
	fi

	# check has vmplayer been removed
	if [ -f /usr/bin/vmplayer ]; then
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL17\n\n$LOCAL11"
		mainmenu

	else
		# install a new version of vmplayer
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL18"

		PACKTEST=`ls $WORKDIR | grep 'bundle' | awk '{print $1}'`
		if [ -f $WORKDIR/*.bundle ]; then
			cd $WORKDIR
			chmod +x $PACKTEST
			$SPARKYXTERM "sh $PACKTEST"
		fi
	fi

	# check has vmplayer been installed
	if [ -f /usr/bin/vmplayer ]; then
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL12\n\n$LOCAL11"
		exit 0
	else
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL13 \n\nsudo sh $WORKDIR/$PACKTEST \n\n$LOCAL11"
		mainmenu
	fi

else
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL20\n\n$LOCAL11"
	mainmenu
fi

mainmenu
}

remmenu () {
# check is vmplayer installed
if [ -f /usr/bin/vmplayer ]; then
	$DIALOG $TITLE"$TITLETEXT" $OKEXIT $TEXT"$LOCAL21"

	if [ "$?" != "0" ]; then
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL15"
		exit 1

	else
		# uninstall vmplayer
		if [ -f /usr/lib/vmware-installer/2.1.0/vmware-installer ]; then
			$SPARKYXTERM "/usr/lib/vmware-installer/2.1.0/vmware-installer -u vmware-player"
		elif [ -f /usr/lib/vmware-installer/3.0.0/vmware-installer ]; then
			$SPARKYXTERM "/usr/lib/vmware-installer/3.0.0/vmware-installer -u vmware-player"
		elif [ -f /usr/lib/vmware-installer/3.1.0/vmware-installer ]; then
				$SPARKYXTERM "/usr/lib/vmware-installer/3.1.0/vmware-installer -u vmware-player"
		fi
	fi

	# check has vmplayer been removed
	if [ -f /usr/bin/vmplayer ]; then
		$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL22\n\n$LOCAL11"
		mainmenu
	fi

else
	$DIALOG $TITLE"$TITLETEXT" $MSGBOX $TEXT"$LOCAL23\n\n$LOCAL11"
	mainmenu
fi

mainmenu

}

mainmenu
