#/bin/sh

DIR=`dirname "$0"`
cd "$DIR"

#
# Assign the application name variable
#
APPNAME=moneyplex

#
# Assign other variables
#
PRENAME=prestart
APPPATH="$HOME/$APPNAME"
TARPATH="$APPNAME.tgz"
RUNSCRIPTNAME="start"

KDEPATH=$HOME/Desktop
KDEICON=$KDEPATH/$APPNAME

GNOMEPATH=$HOME/.gnome-desktop
GNOMEICON=$GNOMEPATH/$APPNAME.desktop

#
# If tarball is not found, exit with error message
#
if [ ! -f "$TARPATH" ]; then
  echo "$TARPATH kann nicht gefunden werden."
  echo ""
  exit 1
fi


echo
echo "$APPNAME fuer Linux wird installiert..."
echo "---------------------------------------"
echo
echo "Der User, unter dem die Nutzung von moneyplex erfolgen soll, muss angemeldet sein"
echo "und durch ihn muss die Installation erfolgen. Die Installation muss in den "
echo "lokalen Datenbereich d.h. im Bereich des Home-Verzeichnis des Users vorgenommen"
echo "werden. Es wird empfohlen, das bei der Installation vorgegebene Verzeichnis zu"
echo "verwenden. Die Installation muss auf einer lokalen Festplatte erfolgen."
echo
echo "Achtung: Beachten Sie die Hinweise in der Datei readme.txt"
echo
echo "Lizenz:  Mit der Installation erkennen Sie die in der Datei lizenz.txt"
echo "         enthaltene Lizenzvereinbarung an, andernfalls brechen Sie die"
echo "         Installation jetzt mit STRG+C ab."
echo

#
# Allow the install to override the directory.
#
echo "Geben Sie nun das Zielverzeichnis fuer $APPNAME an,"
echo "oder ENTER um $APPPATH zu verwenden,"
echo "oder STRG+C um die Installation abzubrechen:"
read ENTERED_APPPATH
if [ -n "$ENTERED_APPPATH" ]; then
  APPPATH="$ENTERED_APPPATH"
fi

#
# Create the directory
#
mkdir -p "$APPPATH"
# check the return code
RETCODE=$?
if [ "$RETCODE" != "0" ]; then
  echo "Das Verzeichnis kann nicht erzeugt werden: $RETCODE"
  exit 1
fi

#
# Untarr
#
echo "Dekomprimieren von $TARPATH in $APPPATH..."
cp "$TARPATH" "$APPPATH"
cd "$APPPATH"
tar -xvzf `basename "$TARPATH"`
RETCODE=$?
if [ "$RETCODE" != "0" ]; then
  echo "Error untarring: $RETCODE"
  exit 1
fi
rm `basename "$TARPATH"`

#
# Generate run script
#
echo '#!/bin/bash' > $RUNSCRIPTNAME
echo '' >> $RUNSCRIPTNAME

echo '# Name und Pfad der Applikation' >> $RUNSCRIPTNAME
echo "APPNAME='$APPNAME'" >> $RUNSCRIPTNAME
echo "PRENAME='$PRENAME'" >> $RUNSCRIPTNAME
echo "APPPATH='$APPPATH'" >> $RUNSCRIPTNAME

echo '' >> $RUNSCRIPTNAME
echo '# Pfad auf Existenz pruefen.' >> $RUNSCRIPTNAME
echo 'if [ ! -d "$APPPATH" ]; then' >> $RUNSCRIPTNAME
echo '  echo "$APPPATH wurde nicht gefunden."' >> $RUNSCRIPTNAME
echo '  exit 1' >> $RUNSCRIPTNAME
echo 'fi' >> $RUNSCRIPTNAME
echo '' >> $RUNSCRIPTNAME

echo '# Applikation auf Existenz pruefen.' >> $RUNSCRIPTNAME
echo 'if [ ! -f "$APPPATH/$APPNAME" ]; then' >> $RUNSCRIPTNAME
echo '  echo "$APPPATH/$APPNAME wurde nicht gefunden."' >> $RUNSCRIPTNAME
echo '  exit 1' >> $RUNSCRIPTNAME
echo 'fi' >> $RUNSCRIPTNAME
echo '' >> $RUNSCRIPTNAME

echo 'cd "$APPPATH"' >> $RUNSCRIPTNAME
echo 'export LD_LIBRARY_PATH="$APPPATH:$LD_LIBRARY_PATH"' >> $RUNSCRIPTNAME
echo 'export LC_ALL=' >> $RUNSCRIPTNAME
echo 'export LANG=de_DE' >> $RUNSCRIPTNAME
echo '' >> $RUNSCRIPTNAME

echo '# Applikationsstart vorbereiten (Updates einspielen usw.).' >> $RUNSCRIPTNAME
echo '"$APPPATH/$PRENAME"' >> $RUNSCRIPTNAME
echo '' >> $RUNSCRIPTNAME

echo '# Applikation starten.' >> $RUNSCRIPTNAME
echo 'chmod 700 "$APPPATH/$APPNAME"' >> $RUNSCRIPTNAME
echo '"$APPPATH/$APPNAME"' >> $RUNSCRIPTNAME
echo 'exit $?' >> $RUNSCRIPTNAME

echo

#
# KDE Desktop-Icon erstellen (Red Hat und andere)
#
if [ -d "$KDEPATH" ]; then
  echo 'Verknuepfung auf dem KDE-Desktop erstellen...'
  #
  echo '[Desktop Entry]' > $KDEICON
  echo "Exec=$APPPATH/$RUNSCRIPTNAME" >> $KDEICON
  echo "Icon=$APPPATH/mpx48.png" >> $KDEICON
  echo "Name[de]=$APPNAME" >> $KDEICON
  echo 'Type=Application' >> $KDEICON
  echo 'X-KDE-SubstituteUID=false' >> $KDEICON
fi

ln -s $APPPATH $HOME/.moneyplex-path

#
# GNOME Desktop-Icon erstellen
#
if [ -d "$GNOMEPATH" ]; then
  echo 'Verknuepfung auf dem GNOME-Desktop erstellen...'
  #
  echo '[Desktop Entry]' > $GNOMEICON
  echo "Exec=$APPPATH/$RUNSCRIPTNAME" >> $GNOMEICON
  echo "Icon=$APPPATH/mpx48.png" >> $GNOMEICON
  echo "Name[de]=$APPNAME" >> $GNOMEICON
  echo 'Type=Application' >> $GNOMEICON
  echo 'MultipleArgs=false' >> $GNOMEICON
  echo 'Terminal=false' >> $GNOMEICON
fi

chmod 600 *
chmod u+x ctapi mdaten moneyplex prestart start
chmod 600 mdaten/*
chmod a+r *.txt *.png *.pdf

if [ -d backups ]; then
  chmod 700 backups
  chmod 600 backups/*
fi
if [ -d protokoll ]; then
  chmod 700 protokoll
  chmod 600 protokoll/*
fi
if [ -d reports ]; then
  chmod 700 reports
  chmod 600 reports/*
fi
if [ -d rup ]; then
  chmod 700 rup
  chmod 600 rup/*
fi

#
# Complete message
#
echo ""
echo "Die Dokumentation finden Sie unter $APPPATH/Handbuch.pdf"
echo "Um die Applikation zu starten, fuehren Sie $APPPATH/$RUNSCRIPTNAME aus."
echo ""
