#!/bin/sh

WEBSERVER="www.knotwork.com"
MODEMHOST="god"

WWWUTIL="/var/lib/WWWutil"
WWWDBS="/var/lib/WWWutil/qdDBs"
WWWDB=$WWWDBS/WWWutil
WWWPROJECT=Staffroom

ISPUTIL="/var/lib/ISPutil"
ISPDBS="/var/lib/ISPutil/qdDBs"
USERDB=$ISPDBS/Clients

QBIN="/usr/local/qddb/bin"
QUERY=$QBIN/query

LAST=/usr/bin/last
SED=/usr/bin/sed
GREP=/usr/bin/grep
AWK="/usr/bin/awk"
FINGER="/usr/bin/finger -p -m"
USER_DATA=/var/lib/BBSutil/user_data

echo Content-type: text/html
echo

HEADER="`$QUERY $WWWDB -sep ' ' Name $WWWPROJECT -print Header`"
FOOTER="`$QUERY $WWWDB -sep ' ' Name $WWWPROJECT -print Footer`"
TITLE="User Index"

if [ $# = 0 ]; then
  printf "$HEADER" "$TITLE" "$TITLE"
  cat << EOM

  This is a searchable index of users.
  <P>

  <ISINDEX>

  Type a username in your browser's search dialog to
  generate a page about that user.
  <P>
EOM
  printf "$FOOTER"
else
  user="$1"
  hostname=`hostname`
  TITLE=$user
  printf "$HEADER" "$TITLE" "$TITLE"
  echo "<FONT SIZE=\"+1\">"
  $QUERY $USERDB -sep ' ' Company.Contact.Username $user \
	-print Company.Contact.Title Company.Contact.First \
		Company.Contact.Last
  echo -n '<PRE>'
  $FINGER $user
  echo '</PRE>'
  echo '<P>'
  echo '<PRE>'
  if [ "$MODEMHOST" = "$hostname" ]; then
    $USER_DATA $user
  else
    rsh $MODEMHOST $USER_DATA $user
  fi
  echo '</PRE>'
  p=`$QUERY $USERDB -sep '' Company.Contact.Username $user \
	-print CurrentBalance`
  if [ "$p" != "" ]; then
    echo -n "Account Balance $p , "
    p=`$QUERY $USERDB -sep '' Company.Contact.Username $user \
	-print Pending`
    if [ "$p" != "" ]; then
      echo "plus $p pending.<BR>"
    else
      echo '<BR>'
    fi
  fi
  MONTHS=0
  MONTHS="`$QUERY $USERDB -sep ' ' Company.Contact.Username $user \
	-print Company.Contact.Months`"
  if [ $MONTHS = -99 ]; then
    echo 'This is a STAFF, ADMIN or DAEMON Account.<P>'
  else
    if [ $MONTHS = 1 ]; then
      echo "Account expires at end of this month.<P>"
    elif [  $MONTHS -le 0 ]; then
      echo "Account expired: $MONTHS months.<P>"
    else
      MONTHS=$[ $MONTHS -1 ]
      echo -n "Account is prepaid for next $MONTHS months."
      declare -i BONUSMONTHS
      BONUSMONTHS=0
      BONUSMONTHS="`$QUERY $USERDB -sep ' ' Company.Contact.Username $user \
		-print Company.Contact.BonusMonths`"
      if [ $BONUSMONTHS -gt 1 ]; then
        BONUSMONTHS=$[ $BONUSMONTHS -1 ]
        echo '<BR>'
        echo "[ $BONUSMONTHS more months have bonus hours ]"
      fi
      echo '<P>'
    fi
  fi
  echo "<P>"
  echo "<MENU>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/userDBinfo?$user\">"
  echo "<STRONG>Database record</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/last_modem?$user\">"
  echo "<STRONG>Last logins on ModemHost</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/last?$user\">"
  echo "<STRONG>Last logins on Server</STRONG></A>"
  echo "<LI><A HREF=\"http:/~$user/MTDhours.spider\">"
  echo "<STRONG>Hours this month (preprinted)</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/macct_s?$user\">"
  echo "<STRONG>Hours this month (summary)</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/macct?$user\">"
  echo "<STRONG>Hours this month (long)</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/pmacct_s?$user\">"
  echo "<STRONG>Hours last month (summary)</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/pmacct?$user\">"
  echo "<STRONG>Hours last month (long)</STRONG></A>"
  echo "<LI><A HREF=\"http:/staff/cgi-bin/quota?$user\">"
  echo "<STRONG>Disk Quota</STRONG></A>"
  echo "<LI><A HREF=\"http://$WEBSERVER/~$user\">"
  echo "<STRONG>Home page</STRONG></A>"
  echo "<LI><A HREF=\"/staff/cgi-bin/wwwserver_log_s?~$user\">"
  echo "<STRONG>Web page access log</STRONG></A>"
  echo "<LI><A HREF=\"/staff/cgi-bin/wwwserver_log_sx?~$user\">"
  echo "<STRONG>Web page nonlocal access log</STRONG></A>"
  id -Gn $user | $GREP sales > /dev/null
  if [ $? = 0 ]; then
    echo "<LI><A HREF=\"/staff/cgi-bin/salesreport?$user\">"
    echo "<STRONG>Sales Report</STRONG></A>"
  fi
  echo "</MENU>"
  echo "</FONT>"
#  $GREP -w $user /var/adm/isputil.log | sort +8 -9 +5 -6 +1M \
#	| $AWK -f isplog.awk 
  $GREP -w $user /var/adm/isputil.log | $AWK -f isplog.awk 
  echo "<P>"
  printf "$FOOTER"
fi
