#!/bin/bash
# Kategorie: server
# invis-Server Upgrade Script
# Upgrade von 13.2 auf 13.5
# (c) 2018 Stefan Schaefer invis-server.org
# Questions: stefan@invis-server.org

# License: GPLv3
# 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/>. 

#Konfigurationsdaten
conffile="/etc/invis/invis.conf"
logfile="/var/log/upgrade-invis.log"

# Funktionen
# Werte aus Konfigurationsdatendatei extrahieren
# $1 = Konfigurationsdatei, $2 = Parameter, $3 Wert (Feld)
getconfdata() {
    cat $1 |grep "$2" | cut -d ":" -f $3
}

# Konfigurationsparameter tauschen
changevalues() {
    # Arg1 = Pfad, Arg2 = Datei, Arg3 = sed String
    cat $1/$2|sed "s%$3%g" > $1/$2.new
    mv $1/$2.new $1/$2
}

# Kopano Repo anpassen
string="openSUSE_Leap_42.3_PHP5%openSUSE_Leap_42.3"
path="/etc/zypp/repos.d"
modfile="Kopano-openSUSE_limited.repo"
changevalues $path $modfile "$string"

path="/root/.zypp"
modfile="credentials.cat"
changevalues $path $modfile "$string"

# Neue Software-Pakete installieren bzw. Pakete aktualisieren.
zypper ref
zypper -n install -n `cat /usr/share/sine/package-lists/upgrade_13.5` #> $logfile 2>&1
zypper -n in -n --force php-mapi
zypper -n up owncloud-files

# owncloud Upgrade
ocpath="/srv/www/htdocs/owncloud"
sudo -u wwwrun $ocpath/occ upgrade
sudo -u wwwrun $ocpath/occ maintenance:mode --off

# Webserver neu starten
systemctl restart apache2.service

# invis-Versionsnummern anpassen
path="/etc/invis"
modfile="invis.conf"

string="invisVersion:13.2%invisVersion:13.5"
changevalues $path $modfile "$string"

path="/etc/invis/portal"
modfile="config.php"

string="'13.2'%'13.5'"
changevalues $path $modfile "$string"

echo "Fertich"
