#!/bin/bash
### MODUL-NR. 021 ###
# (c) August 2008 Stefan Schäfer / FSP Computer & Netzwerke
# (c) 2009-2017 Stefan Schäfer / invis-server.org / stefan@invis-server.org
# (c) 2013,2014 Dimitri Asarowski / invis-server.org / dimitri@invis-server.org
# (c) 2013-2017 Ingo Göppert / invis-server.org / ingo@invis-server.org

# License: GPLv3
# Questions: info@invis-server.org

# ownCloud Installation

# ownCloud setup

# Dieses Programm ist freie Software. Sie können es unter den Bedingungen der 
# GNU General Public License, wie von der Free Software Foundation veröffentlicht,
# weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder
# (nach Ihrer Option) jeder späteren Version.

# Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen
# von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite 
# Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. 
# Details finden Sie in der GNU General Public License.

# Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem 
# Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>. 

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.

# 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, see <http://www.gnu.org/licenses/>.

# include functions
source $SINEINCLUDEDIR/functions

modulename=`basename $0`

clear
windowtitle="ownCloud"
pgsubtitle="ownCloud Setup"

dialog --backtitle "$DIALOGTITLE" --title "$windowtitle" --exit-label "Weiter" --textbox "$INFODIR/owncloud.txt" 0 0 --and-widget --backtitle "$DIALOGTITLE" --title "$windowtitle"  --defaultno --yesno "Möchten Sie ownCloud installieren?" 0 0
cont=${?}

# Weitermachen?
if [[ $cont == "0" ]]; then
    pgsubtitle="Software wird installiert"
    zypper refresh 2>&1 | tee -a $LOGFILE | pgbox
    zypper -n install owncloud-files 2>&1 | tee -a $LOGFILE | pgbox
    zyppercheck ${PIPESTATUS[0]}
    # Hier Datenbank installation einfügen
    ocpass=`mkdbsilent owncloud owncloud a`
    msgbox "Datenbank für ownCloud wurde angelegt.\n\nDatenbank: owncloud\nBenutzer: owncloud\nPasswort: $ocpass\n\nNotieren Sie sich bitte diese Daten. Sie werden beim ersten Zugriff auf ownCloud benötigt." "$windowtitle"

    # Gruppe "owncloud" anlegen
    samba-tool group add --description="Gruppe zur Beschränkung der ownCloud Nutzer" owncloud 2>&1| tee -a $LOGFILE | pgbox

    # ownCloud im Portal aktivieren
    # Wenn eine Active-Sync unterstuetzende Groupware installiert ist, wird ownCloud ueber den z-push vHost angeboten
    usedgroupware=`getconfdata "Groupware" "2"`
    if [[ $usedgroupware == "roundcube" ]]; then
	swpestat ownCloud TRUE 2>&1 | tee -a $LOGFILE | pgbox
    else
	## Apache vorbereiten
	# activate apache configuration
	cp $TEMPLATEDIR/$modulename/owncloud.conf /etc/apache2/conf.d
	swpestat ownCloudZP TRUE 2>&1 | tee -a $LOGFILE | pgbox
    fi
    # Flag OWNCLOUD setzen
    a2enflag OWNCLOUD
    chkservice apache2 r

else
    msgbox "ownCloud Installation übersprungen" "$windowtitle"
fi
