# faxmenu2
# ID 6.3 97/10/20
#
# The purpose of this script is to provide the end user with a
# CADOL like interface to common VSI*FAX commands.  This
# script is designed to be called from the Customer & Statements menu
#
# -----------------------------------------------------------------------------
# CHANGE HISTORY SECTION :
#  Rel#    Date                    Description
#  ----- --------   -----------------------------------------------------------
#  RPN   03/22/06   Date Created
# -----------------------------------------------------------------------------
choice=${1:-""}
PRINTER=${2:-""}
ID=${3:-""}
#
# Check version of VSI*FAX
#
if [ -f /etc/vsifax3.sh ]
then
  VSIREL=3
else
  VSIREL=2
fi

#
# Make sure paths are set correctly
#
if [ $VSIREL -eq 2 ]
then
  SET_VSI_ENV=". /etc/vsifax.sh"
else
  SET_VSI_ENV=". /etc/vsifax3.sh"
fi

#
# Constant Definitions
#
ESCC=27
CANC=24
DATE=`/bin/date +%D`
VUSER=${VAE_ORIG-$LOGNAME}
#

#
# ----------------------------------------------------------------------------
# Exit menu
# ----------------------------------------------------------------------------
#
exit_menu()
{
  exit 0
}

#
# ----------------------------------------------------------------------------
# VSI*FAX Status
# ----------------------------------------------------------------------------
#
Fax_Status()
{
  if [ $VSIREL -eq 2 ]
  then
    CMD="fxstat -t"
  else
    CMD="vfxstat -t"
  fi
  clear
  $SET_VSI_ENV
  $CMD | pg -p "<enter> to continue..."
}

#
# ----------------------------------------------------------------------------
# Cancel VSI*FAX request
# ----------------------------------------------------------------------------
#
Fax_Cancel()
{
#
  if [ $VSIREL -eq 2 ]
  then
    CMD="fxcancel"
  else
    CMD="vfxcancel"
  fi
#
su root << END
$SET_VSI_ENV
$CMD $ID
END
}

#
# ----------------------------------------------------------------------------
# Start VSI*FAX Scheduler
# ----------------------------------------------------------------------------
#
Fax_Sched()
{
  if [ $VSIREL -eq 2 ]
  then
    CMD="fxsched -s"
  else
    CMD="vfxsched start > /dev/null"
  fi
su root << END
  $SET_VSI_ENV
  $CMD
END
}

#
# ----------------------------------------------------------------------------
# Shut down VSI*FAX Scheduler
# ----------------------------------------------------------------------------
#
Fax_Shut()
{
  if [ $VSIREL -eq 2 ]
  then
    CMD="fxshut -s"
  else
    CMD="vfxsched stop > /dev/null"
  fi

su root << END
  $SET_VSI_ENV
  $CMD
END
}

#
# ----------------------------------------------------------------------------
# Purge Expired Requests
# ----------------------------------------------------------------------------
#
Fax_Purget()
{
  if [ $VSIREL -eq 2 ]
  then
    CMD="fxpurge -t 24"
  else
    CMD="vfxpurge -e 1"
  fi

su root << END
  $SET_VSI_ENV
  $CMD
END
}

#
# ----------------------------------------------------------------------------
# Purge Outgoing Fax Log
# ----------------------------------------------------------------------------
#
Fax_Purgeo()
{
  if [ $VSIREL -eq 2 ]
  then
    CMD="fxpurge -o 24"
  else
    CMD="vfxpurge -o 1"
  fi

su root << END
  $SET_VSI_ENV
  $CMD
END
}

#
# ----------------------------------------------------------------------------
# Display VSI*FAX Outgoing Fax Log
# ----------------------------------------------------------------------------
#
Fax_Log()
{
  if [ $VSIREL -eq 2 ]
  then
    CMD="flog"
  else
    CMD="vfxolog"
  fi

su root << END
  $SET_VSI_ENV
  clear
  $CMD | pg -p "<enter> to continue, <q> to quit..."
END
}

#
# ----------------------------------------------------------------------------
# scat - Slave print
# ----------------------------------------------------------------------------
#
scat()
{
  echo "\033;6"
  cat $1
  echo "\014"
  echo "\033;1"
}

#
# ----------------------------------------------------------------------------
# Print VSI*FAX Outgoing Fax Log
# ----------------------------------------------------------------------------
#
Print_Fax_Log()
{
  valid=""
  if [ "$PRINTER" -eq "0" ]
  then
    valid="1"
  else
    grep -i "^${PRINTER}	" /versyss/config/printers > /versyss/data/tmp/cadolprt$$
    if [ $? -eq 0 ]
    then
      valid=$PRINTER
    fi
  fi
  if [ "$valid" -eq "" ]         # Skip out if the printer is invalid
  then
    return 0
  fi
#
  if [ $VSIREL -eq 2 ]
  then
    CMD="flog"
  else
    CMD="vfxolog"
  fi

  if [ "$PRINTER" -eq "0" ]
  then
    type="slave"
  else
    type=`cat /versyss/data/tmp/cadolprt$$ | cut -d"	" -f2`
    cadolprtcmd=`cat /versyss/data/tmp/cadolprt$$ | cut -d"	" -f3`
  fi
  if [ $type = "d" ]
  then
    PRTCMD="$CMD > $cadolprtcmd"
  fi

  if [ $type = "f" ]
  then
    PRTCMD="$CMD | $cadolprtcmd"
  fi

  if [ $type = "F" ]
   then
   PRTCMD="$CMD | $cadolprtcmd"
  fi

  if [ $type = "i" ]
  then
    PRTCMD="$CMD | $cadolprtcmd"
  fi

  rm -f /versyss/data/tmp/cadolprt$$

  if [ $type = "slave" ]
  then
su root << END
. /etc/VAE
$SET_VSI_ENV
echo "\033;6"
$CMD
echo "\014"
echo "\033;1"
END
  else
su root << END
. /etc/VAE
$SET_VSI_ENV
sh -c "$PRTCMD"
END
  fi
}

#
# ----------------------------------------------------------------------------
# MAIN ROUTINE STARTS HERE
# ----------------------------------------------------------------------------
#

if [ "$choice" = "1" ]
then                       
    Fax_Status
fi

if [ "$choice" = "2" ]
then                       
    Fax_Cancel
fi

if [ "$choice" = "3" ]
then                       
    Fax_Sched
fi

if [ "$choice" = "4" ]
then                       
    Fax_Shut
fi

if [ "$choice" = "5" ]
then                       
    Fax_Purget
fi

if [ "$choice" = "6" ]
then                       
    Fax_Purgeo
fi

if [ "$choice" = "7" ]
then                       
    Fax_Log
fi

if [ "$choice" = "8" ]
then                       
    Print_Fax_Log
fi
