#
#
#   OPEN-XCHANGE legal information
#
#   All intellectual property rights in the Software are protected by
#   international copyright laws.
#
#
#   In some countries OX, OX Open-Xchange, open xchange and OXtender
#   as well as the corresponding Logos OX Open-Xchange and OX are registered
#   trademarks of the Open-Xchange, Inc. group of companies.
#   The use of the Logos is not covered by the GNU General Public License.
#   Instead, you are allowed to use these Logos according to the terms and
#   conditions of the Creative Commons License, Version 2.5, Attribution,
#   Non-commercial, ShareAlike, and the interpretation of the term
#   Non-commercial applicable to the aforementioned license is published
#   on the web site http://www.open-xchange.com/EN/legal/index.html.
#
#   Please make sure that third-party modules and libraries are used
#   according to their respective licenses.
#
#   Any modifications to this package must retain all copyright notices
#   of the original copyright holder(s) for the original code used.
#
#   After any such modifications, the original and derivative code shall remain
#   under the copyright of the copyright holder(s) and/or original author(s)per
#   the Attribution and Assignment Agreement that can be located at
#   http://www.open-xchange.com/EN/developer/. The contributing author shall be
#   given Attribution for the derivative code and a license granting use.
#
#    Copyright (C) 2004-2006 Open-Xchange, Inc.
#    Mail: info@open-xchange.com
#
#
#    This program is free software; you can redistribute it and/or modify it
#    under the terms of the GNU General Public License, Version 2 as published
#    by the Free Software Foundation.
#
#    This program is distributed in the hope that it will be useful, but
#    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
#    or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
#    for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc., 59
#    Temple Place, Suite 330, Boston, MA 02111-1307 USA
set +e

DEBIAN=1
REDHAT=2
SUSE=4
LSB=8
ox_system_type() {
    local ret=0
    if [ -f /etc/debian_version ]; then
        ret=$(( $ret | $DEBIAN ))
    elif [ -f /etc/SuSE-release ]; then
        ret=$(( $ret | $SUSE ))
        ret=$(( $ret | $LSB ))
    elif [ -f /etc/redhat-release ]; then
        ret=$(( $ret | $REDHAT ))
        ret=$(( $ret | $LSB ))
    fi
    return $ret
}

getPlugName() {
        local pkg=$1

	if [ -e /opt/open-xchange/etc/guiplugin.d/${pkg}.name ]; then
	   cat /opt/open-xchange/etc/guiplugin.d/${pkg}.name
	fi
}


addPlug() {
	local name="$(getPlugName $1)"

	if [ -z "$name" ]; then
		echo "unable to get name of plugin"
		exit 1
	fi

	ox_system_type
	local type=$?
	if [ $type -eq $DEBIAN ]; then
		local sconf=/var/www/ox6/plugins/static.conf
	elif [ $(( $type & $REDHAT )) -eq $REDHAT ]; then
		local sconf=/var/www/html/ox6/plugins/static.conf
	elif [ $(( $type & $SUSE )) -eq $SUSE ]; then
		local sconf=/srv/www/htdocs/ox6/plugins/static.conf
	fi

	if grep $name $sconf > /dev/null; then
		echo "plugin $name already registered"
	else
		echo $name >> $sconf
	fi
}

removePlug() {
	local name="$(getPlugName $1)"

	if [ -z "$name" ]; then
		echo "unable to get name of plugin"
		exit 1
	fi

	ox_system_type
	local type=$?
	if [ $type -eq $DEBIAN ]; then
		local sconf=/var/www/ox6/plugins/static.conf
	elif [ $(( $type & $REDHAT )) -eq $REDHAT ]; then
		local sconf=/var/www/html/ox6/plugins/static.conf
	elif [ $(( $type & $SUSE )) -eq $SUSE ]; then
		local sconf=/srv/www/htdocs/ox6/plugins/static.conf
	fi

	if grep $name $sconf > /dev/null; then
		grep -v $name $sconf > ${sconf}.tmp
		mv ${sconf}.tmp $sconf
	else
		echo "plugin $name already de-registered"
	fi
}
