#!/bin/sh
PATH=/bin:/usr/bin/:/usr/local/bin

# Check if first parameter script winpopup-send with path
if [ -f "$1" ]; then
	#Get winpopup-send from param
	WPSEND=$1
else
	#Try find winpopup-send in $PATH
	WPSEND=`which winpopup-send`
fi

# Check if winpopup-send exist
if [ "$WPSEND" = "" ] || [ ! -f "$WPSEND" ]; then
	echo "Cant find script winpopup-send"
	echo "Run: $0 <script winpopup-send with path>"
	exit 1
fi

# Grab the full path to the smb.conf file
i=`find /etc -name smb.conf`

# Check if smb.conf exist
if [ ! -f "$i" ]; then
	echo "Samba configuration file smb.conf does not exist in /etc"
	exit 1
fi

# Create new smb.conf file with updated message command line and security section
# If security isnt share, smbclient does not get SERVER and WORKGROUP for browsing network
echo "[global]" > ~/smb.conf.new
echo "   message command = $WPSEND %s %m %t &" >> ~/smb.conf.new
echo "   security = share" ~/smb.conf.new
cat $i | grep -v "message command = " | grep -v "\[global\]" | grep -v "security = " >> ~/smb.conf.new

# Backup the old file
mv -f $i "$i.old"

# Move new file into place and reset permissions
mv -f ~/smb.conf.new $i
chown root:root $i
chmod 644 $i

# Create a winpopup directory somewhere "safe"
#rm -rf /var/lib/winpopup --- a bit strong?
if [ ! -d /var/lib/winpopup ]; then
	mkdir -p /var/lib/winpopup
fi

chmod 0777 /var/lib/winpopup

# This is to help if somebody grades up from the old behavior
if [ -n "`ls -A /var/lib/winpopup/`" ]; then
	chmod 666 /var/lib/winpopup/*
fi

rm -f /var/lib/winpopup/message

# Force Samba to reread configuration
killall -HUP smbd
