#!/bin/sh
#
# Divert /usr/share/iceweasel/browserconfig.properties to a file in
# /etc/, and store a new default home page URL in that file.  Found no
# way to set this using prefs.js settings, and neither of the options
# startup.homepage_override_url and startup.homepage_welcome_url
# change the default home page for every invocation of firefox.

set -e

file=/usr/share/iceweasel/browserconfig.properties
etcfile=/etc/iceweasel/browserconfig.properties

enable() {
    if [ "$etcfile" != "$(readlink $file)" ] ; then
	dpkg-divert --package debian-edu-config \
	    --rename --quiet --add $file
	ln -s $etcfile $file
    fi
}

disable() {
    if [ "$etcfile" = "$(readlink $file)" ] ; then
	rm $file
	dpkg-divert --package debian-edu-config \
	    --rename --quiet --remove $file
	rm $etcfile
    fi
}

if [ ldap:homepage = "$1" ] ; then
    # Allow lookup script to be replaced using /etc/debian-edu/config
    GETDEFAULTHOMEPAGE=/usr/share/debian-edu-config/tools/get-default-homepage
    if [ -e /etc/debian-edu/config ] ; then
	. /etc/debian-edu/config
    fi
    url="$($GETDEFAULTHOMEPAGE || true)"
    if [ -z "$url" ] ; then # No LDAP available On main-server during installation
        url="http://www/"
    fi
else
    url="$1"
fi

if [ -z "$url" ] || [ "about:blank" = "$url" ]; then
    disable
else
    cat > $etcfile.new <<EOF
# This file is diverted from $file
browser.startup.homepage=$url
EOF
    chmod 644 $etcfile.new
    if cmp -s $etcfile $etcfile.new ; then
	rm $etcfile.new
    else
	mv $etcfile.new $etcfile
	logger -t update-iceweasel-homepage "Updated Iceweasel default start page to $url."
    fi
    enable
fi
