#!/bin/bash

# Copyright 2019 Alatronic Ltd.

VER=`cat /opt/caldera/lib/CalderaVersion`

if [[ "$OSTYPE" = "darwin"* ]] ; then
  # New paths on V13
  if [ "$VER" -lt 1300 ] ; then
    PUBLIC=/CALDERADATA/public
    CALDERAHOME=/CALDERADATA/Users/caldera   
  else
    PUBLIC=/opt/caldera/var/public
    CALDERAHOME=/Users/caldera
  fi
else
  CALDERAHOME=/home/caldera
  # New paths on V13
  if [ "$VER" -lt 1300 ] ; then
    PUBLIC=/home/public
  else
    PUBLIC=/opt/caldera/var/public
  fi
fi

# Try to get caldera user path from system
CALDERA=`perl -le 'while (@e = getpwent) { if ($e[0] eq 'caldera') { print $e[7]; } }'`
if [[ "$CALDERA" == "" ]] ; then
  CALDERA=$CALDERAHOME
fi

# Install Config Files
if [ -f /etc/dtgwatch.conf ]; then
  echo Conf OK 
else
  echo '# DTG Watch Config' >> /etc/dtgwatch.conf

  echo "STAGE1_OUT=$PUBLIC/Ovaljet-DTG" >> /etc/dtgwatch.conf
  echo "STAGE2_OUT=$PUBLIC/Ovaljet2" >> /etc/dtgwatch.conf
  echo "STAGE2_SRC=$PUBLIC/Halftone" >> /etc/dtgwatch.conf
  echo "FINAL_DEST=$CALDERA/Desktop/hotfolder" >> /etc/dtgwatch.conf

  echo "STAGE2_PRINTER=Ovaljet2:DTG" >> /etc/dtgwatch.conf

  echo "PREPENDID=0" >> /etc/dtgwatch.conf
  echo "APPENDRES=0" >> /etc/dtgwatch.conf
  echo "MAKEXMLTICKET=0" >> /etc/dtgwatch.conf
fi
if grep NECKTAGID /etc/dtgwatch.conf ; then
  echo Got NecktagID
else
  echo 'NECKTAGID=_Necktag' >> /etc/dtgwatch.conf
fi

if grep TIMEOUT /etc/dtgwatch.conf ; then
  echo Got TIMEOUT
else
  echo 'TIMEOUT=40' >> /etc/dtgwatch.conf
fi

if [ -f /etc/printersync ]; then
  echo Conf2 OK 
else
  echo 'SRCDRV=Ovaljet-DTG' >> /etc/printersync
  echo 'DSTDRV=Ovaljet2' >> /etc/printersync
fi

startbasedir=`dirname $0`
cd $CALDERA
tar -zxf $startbasedir/calderahome.tgz
cd $PUBLIC
tar -zxf $startbasedir/public.tgz
cd /
tar -zxf $startbasedir/all.tgz

# Fix paths in printer config
sed -i bak "s|/home/public|$PUBLIC|g" /opt/caldera/lib/calserver.cfg
sed -i bak "s|/home/public|$PUBLIC|g" /opt/caldera/lib/DRIVERS/Ovaljet2/Ovaljet2.files.xml
sed -i bak "s|/home/public|$PUBLIC|g" /opt/caldera/lib/DRIVERS/Ovaljet-DTG/Ovaljet-DTG.files.xml

if [[ "$OSTYPE" = "darwin"* ]] ; then
l   tar -zxf $startbasedir/mac.tgz

   launchctl load /Library/LaunchDaemons/fr.caldera.printersync.plist 
   launchctl load /Library/LaunchDaemons/fr.caldera.prtwatch.plist 
   launchctl load /Library/LaunchDaemons/fr.caldera.dtgwatch.plist 
   launchctl stop fr.caldera.printersync.plist 
   launchctl stop fr.caldera.prtwatch.plist 
   launchctl stop fr.caldera.dtgwatch.plist 
else
   tar -zxf $startbasedir/linux.tgz

   # dpkg -i /var/cache/apt/archives/inotify-tools_3.14-2_amd64.deb
   apt update
   apt install -y inotify-tools

   systemctl enable dtgwatch
   systemctl restart dtgwatch
   systemctl enable prtwatch
   systemctl restart prtwatch
   systemctl enable printersync
   systemctl restart printersync
fi

exit 0
