#!/bin/bash
destdir="/usr/lib/mozilla-firefox"
FILE="$destdir/res/forms.css"
BEGIN="/*** BEGIN EXTRA FIREFOX WIDGETS ***/"
sed_BEGIN="$(echo "$BEGIN" | sed 's@\*@\\*@g')"
END="/*** END EXTRA FIREFOX WIDGETS ***/"
sed_END="$(echo "$END" | sed 's@\*@\\*@g')"
install()
{
echo -e "\nWe are going to be installing the firefox widgets.
This consists of widget images contained in the folder \"form-widgets\"
as well as some code that will be added to your
forms.css file in the firefox directory.
----------------------------------
Press enter to begin installation."
read
# Check if widgets have already been installed
grep "$sed_BEGIN" "$FILE" &> /dev/null
if [ "$?" = 0 ] ; then
echo "The text \"$BEGIN\" was found in $FILE."
echo "The CSS appears to have already been installed."
css=true
else
css=false
fi
# If the widget images are already installed...
if [ -d "$destdir/res/form-widgets" ] ; then
widgets=true
loop=true
while [ "$loop" = true ] ; do
loop=false
echo "The directory "$destdir/res/form-widgets" already exists."
echo "The widget images appear to be installed."
echo "This directory will be overwritten in installation."
echo -n "Do you wish to overwrite this folder? (y/n) "
read widget_choice
case "$widget_choice" in
y | Y | yes | Yes | YES )
:
;;
n | N | No | NO | no )
echo "Exiting installation."
exit 1
;;
* )
echo "Unknown option!"
loop=true
;;
esac
done
else
widgets=false
echo "Installing the widget images"
sudo cp -r form-widgets "$destdir"/res
fi
# Install the css
if [ "$css" = false ] ; then
# Create a backup if wanted
loop=true
while [ "$loop" = true ] ; do
echo "We are about to overwrite $FILE."
echo -n "Would you like to create a backup? (y/n) "
loop=false
read backup_choice
case "$backup_choice" in
y | Y | yes | Yes | YES )
echo "Creating backup $FILE.bak"
#sudo cp "$FILE" "$FILE".bak
;;
n | N | no | No | NO )
:
;;
* )
echo "Unknown option!"
loop=true
;;
esac
done
echo "Appending forms-extra.css to forms.css"
# append forms-extra.css to forms.css
temp="$(cat forms-extra.css)"
sudo echo "$temp" >> "$destdir"/res/forms.css
fi
echo "Firefox widgets installed successfully."
}
uninstall()
{
grep "$sed_BEGIN" "$FILE" &> /dev/null
if [ "$?" = 0 ] ; then
css=true
else
echo "Text \"$BEGIN\" not found in $FILE"
echo "The CSS does not appear to be installed."
css=false
fi
if [ -d "$destdir/res/form-widgets" ] ; then
widgets=true
else
echo "The directory "$destdir/res/form-widgets" does not exist."
echo "The widget images do not appear to be installed."
widgets=false
fi
delete=false
if [ "$css" = true ] ; then
temp="$(cat "$FILE" | while read line; do
if [ "$line" = "$BEGIN" ]; then
delete=true
fi
if [ "$delete" = false ]; then
echo "$line"
fi
if [ "$delete" = true ] ; then
if [ "$line" = "$END" ] ; then
delete=false
fi
fi
done)"
echo "Restoring "$FILE""
echo "$temp" > "$FILE"
fi
if [ "$widgets" = true ] ; then
echo "Removing widget images."
sudo rm -r "$destdir/res/form-widgets"
fi
if [ "$widgets" = false -a "$css" = false ] ; then
echo "No actions taken. Firefox widgets are not installed."
else
echo "Firefox widgets successfully removed."
fi
}
echo "1 ) Install Firefox Widgets"
echo "2 ) Remove Firefox Widgets"
echo -n "Select an Option: "
loop=true
while [ "$loop" = true ] ; do
read option
loop=false
case "$option" in
1 )
install
;;
2 )
uninstall
;;
* )
echo "Unknown Option!"
loop=true
;;
esac
done