
#!/bin/sh
# File	: upd_bookmark-page.sh
# By	: maarten.deboer@atos.net, 170119
# Subject	: Scripts to update the bookmark-page (from bookmark-file)
#(0.3),170504	: Add MAILTO, PAGE, "EL"
PGM="`basename $0|cut -d\. -f1`"
VER="0.3"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
ETC="${HOME}/etc/bookmarks"
HOSTNAME="`hostname|cut -d\. -f1`"
#PAGE="/var/www/html/index.html"
PAGE="/var/www/html/bookmarks.html"
MAXCOL=1
BORDERS=0
SIZE=4
MAILTO="Maarten.deBoer@Atos.net"

USAGE()
{
  echo "Usage: ${PGM} <options>"
  echo "  Version: ${VERSION}"
  echo "  options:"
  echo "    -b          : with Borders (${BORDERS})"
  echo "    -c <n>      : with <n> Columns (${MAXCOL})"
  echo "    -e          : change Etc-file (${ETC})"
  echo "    -h | --help : this help"
  echo "    -s <n>      : characters Size <n> {${SIZE})"
  echo "    -x          : set -x"
  echo "    --mailto	: set MAILTO (${MAILTO})"
  echo "    --page	: set PAGE (${PAGE})"
}
# Check options
while [ ${#} -ge 1 ]
  do
  case ${1} in
    -b) BORDERS=1 ;;
    -c) MAXCOL=${2}; shift ;;
    -s) SIZE=${2}; shift ;;
    -e) ETC=${2}; shift ;;
    -h | --help) USAGE; exit 1 ;;
    -V) echo "${PGM}: v${VERSION}"; exit 3 ;;
    -x)  set -x ;;
    --mailto) MAILTO=${2}; shift ;;
    --page) PAGE=${2}; shift ;;
    *)  echo "Option ${1} not known."; USAGE; exit 1 ;;
  esac
    shift
done

echo "`date` ${PGM} v${VER} started" | tee -a ${LOG}
touch ${TMP}
if [ ! -f ${ETC} ]; then
  echo "`date` ${PGM}: No etc-file ${ETC} found. Exiting ..."|tee -a ${LOG}
  exit 4
fi


echo "<!DOCTYPE html>" > ${PAGE}
echo "<HTML>" >> ${PAGE}
echo "<HEAD>" >> ${PAGE}
echo "<META charset='UTF-8'>" >> ${PAGE}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${PAGE}
echo "<TITLE>S&B bookmarks</TITLE>" >> ${PAGE}
echo "<basefont face='verdana'>" >> ${PAGE}
echo "</HEAD>" >> ${PAGE}
echo "<BODY aLink=blue bgColor=#D3D0D3 link=blue text=#000000 vLink=blue>" >> ${PAGE}
echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${PAGE}
echo "<TR HEIGHT=40px>" >> ${PAGE}
echo "  <TD bgColor=#0066A1>" >> ${PAGE}
echo "    <FONT COLOR=white face='verdana' size='5'> <B> Storage & Backup bookmark page</B> </FONT>" >> ${PAGE}
echo "    <BR>" >> ${PAGE}
echo "    <DIV align=right>" >> ${PAGE}
echo "    <FONT COLOR=white face='verdana' size='-3'> At `hostname` </B> </FONT>" >> ${PAGE}
#echo "    <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos BTN `date +%Y` </B> </FONT>" >> ${PAGE}
echo "    </DIV>" >> ${PAGE}
echo "  <TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}
echo "<BR>" >> ${PAGE}

echo "<TABLE BORDER=${BORDERS} WIDTH='100%'>" >> ${PAGE}
echo "  <TR>" >> ${PAGE}
COLNR=0

cat ${ETC}|grep -v ^#|while read LINE
do
  COL="`echo ${LINE}|awk -F\; '{print $1}'`"
  NAME="`echo ${LINE}|awk -F\; '{print $2}'`"
  URL="`echo ${LINE}|awk -F\; '{print $3}'`"

# When NL in 1st (COL) entry
  if [ "${COL}" = "NL" ]; then
    echo "  </TR>" >> ${PAGE}
    echo "  <TR>" >> ${PAGE}
    COLNR=0
  fi  # NL

# When EL (Empty Line) in 1st (COL) entry
  if [ "${COL}" = "EL" ]; then
    echo "  </TR>" >> ${PAGE}
    COLNR=0
    while [ ${COLNR} -lt ${MAXCOL} ]
    do
      echo "    <TD> </TD>" >> ${PAGE}
      COLNR="`expr ${COLNR} + 1`"
    done
    echo "  <TR>" >> ${PAGE}
    COLNR=0
  fi  # EL

# When TL (TextLine) in 1st (COL) entry
  if [ "${COL}" = "TL" ]; then
    echo "  </TR>" >> ${PAGE}
    echo "    <TD>" >> ${PAGE}
    echo "      <FONT COLOR=black face='verdana' size=${SIZE}>${NAME}</FONT>" >> ${PAGE}
    echo "    </TD>" >> ${PAGE}
    COLNR=1
    while [ ${COLNR} -lt ${MAXCOL} ]
    do
      echo "    <TD> </TD>" >> ${PAGE}
      COLNR="`expr ${COLNR} + 1`"
    done
    echo "  <TR>" >> ${PAGE}
    COLNR=0
  fi  # TL

  if [ "${URL}" != "" ]; then
   echo "    <TD>" >> ${PAGE}
   echo "${NAME}=${URL}"
   echo "      <FONT COLOR=black face='verdana' size=${SIZE}><A HREF=\"${URL}\" TARGET=\"_blank\">${NAME}</A> </FONT>" >> ${PAGE}
   echo "    </TD>" >> ${PAGE}
    COLNR="`expr ${COLNR} + 1`"
  fi  # <empty>

  if [ ${COLNR} -ge ${MAXCOL} ]; then
    echo "  </TR>" >> ${PAGE}
    echo "  <TR>" >> ${PAGE}
    COLNR=0
  fi

done  # cat
echo "  </TR>" >> ${PAGE}

echo "</TABLE>" >> ${PAGE}


echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${PAGE}
echo "<TR>" >> ${PAGE}
echo "  <TD bgColor=#0066A1 >" >> ${PAGE}
echo "    <FONT COLOR=white face='Verdana' size='1'>" >> ${PAGE}
echo "      <CENTER>" >> ${PAGE}
echo "Contact & Content Owner: <A HREF=mailto:${MAILTO}>${MAILTO}</A> |Last Update:`date`" >> ${PAGE}
echo " <BR>" >> ${PAGE}
echo "For internal use (c) Atos S.A. `date +%Y` all rights reserved. Reproduction in whole or in part is prohibited without the written consent of Atos SA." >> ${PAGE}
echo "      </CENTER>" >> ${PAGE}
echo "    </FONT>" >> ${PAGE}
echo "  </TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}
echo "</BODY>" >> ${PAGE}
echo "</HTML>" >> ${PAGE}

rm ${TMP}
exit 0

