#
# TextLib WWW - script parameter beallito
# script [dbase] ...
# script.dbase ...
# hivasoknal beallitja a
# $ext=.dbase
# $par=[dbase]

# Debug - ha kuldjon levelet elszallaskor az infoker-nek:
#MAILPROG=mail
# Vagy inkabb ne az infokernek, hanem ide:
# TLWWWMAILTO="sajat@cimem.hu"

unset ext par dbname

#script nev kiterjesztese?
iam=${0##*/}
iam=${iam##*./}
name=${iam%.*}
ext=${iam##"$name"}
if [ "$ext" == ".exe" ]; then ext=""; fi
unset iam name

# elso parameter [xxx] alaku?
if [ "${1:0:1}" == "[" ]; then
  x=${1/[/};
  x=${x/]/};
  if [ "$x" != "" ]; then ext=.$x; fi
  unset x
  shift
fi

if [ "$ext" != "" ]; then
   dbname=${ext/./}
   par=\[${ext/./}\];
fi

TLWWWLOG=/var/log/tlwww$ext/tlwww.log
TLGWLOG=/var/log/tlwww$ext/tlgw.log
TLWDIR=/usr/share/tlwww

# Itt lehet beallitani a sajat env. valtozokat.
# TLWWWPAR=xxx
if [ -f $TLWDIR/tlwsets$ext ]; then
  . $TLWDIR/tlwsets$ext
fi

PROGNAME=g-tlwww32.exe
PROGNAME2=g-tlwww32$ext.exe
SCRIPTNAME=tl_www
TLLOCKFILE=/var/lock/subsys/textlib-www$ext
PIDPATH=/home/textlib/.textlib
TLWWWPID=$PIDPATH/tlwww$ext.pid
TLWWWSOCK=/var/log/tlwww$ext/.tlwww.sock

#debug!
TLWCOREPATH="/tmp/tl.corefiles"
TLWGDBINIT=$TLWDIR/tlwww$ext.gdbinit
TLWDEBUGRUN=$TLWDIR/tlwww$ext.debug.run
TLWCORERUN=$TLWDIR/tlwww$ext.core.run

# adatbazistol fugg a sernum. Direkt 'server' lekerdezese!
if [ -x /tlbuild/tlbuild.exe ]; then
  if [ "$ext" != "" ]; then
    TLDBPAR=`/tlbuild/tlbuild.exe /target tlsrv $par /nullprog`
    # echo "TLDBPAR $par: $TLDBPAR"
  fi
fi

# PID fajlrol megmondja, hogy
#   - van a file ES fut is a benne leirt PID-u process
#   - Ha PIDfile van, de a progam nem fut, PID fajlt torli.
#  RETURN: 0, ha fut; 1 - ha nem fut
PidRun()
{ RetVal=1
    PidRunPID=`cat $1 2> /dev/null`
    if [ "$PidRunPID" != "" ]; then
       PidRunProg=`ps -p $PidRunPID -o comm=`
       if [[ $PidRunProg =~ g-tlwww32 ]]; then
           #echo "tenyleg FUT"
           RetVal=0
       else
           echo "PidFile torles: $1 ($PidRunProg)" >> $TLWWWLOG
           rm -rf $1
       fi
    fi
  (( ! $RetVal ))
}

# Ha valami gond van, akkor plusz ellenorzes - PROGNAME alapjan
# Megmondja, PROGNAME neven fut-e valami
CheckProgRun()
{  RetVal=1
   # echo Check: $PROGNAME
   if [ "$ext" == "" ]; then
    PID=`ps -C $PROGNAME -o pid=`
    if [ "$PID" != "" ]; then
      echo "Megis fut: $PROGNAME. Proba: killall"
      killall $PROGNAME
      sleep 2;
      PID=`ps -C $PROGNAME -o pid=`
      if [ "$PID" != "" ]; then
          echo "Fut meg: $PROGNAME. Kilepes"
          RetVal=0
          exit 1
      fi
   fi
  fi
  (( ! $RetVal ))
}
