#!/bin/bash
# config
SENDERNAME="Jocelyn Etienne"
#URL=https://www-liphy.univ-grenoble-alpes.fr/pagesperso/etienne/
URL=https://liphy-annuaire.univ-grenoble-alpes.fr/pages_personnelles/jocelyn_etienne/
traceroute -w 1 trille.ujf-grenoble.fr | grep -q "1 .*trille"
if [ $? -eq 0 ]
then
	MACHINE=bleuet
else
	MACHINE=bleuet
fi
DURATION=31
ATT=()
DIR=filesender
# code
b=0
MUTTARG=""
THEREAREDESTS=0
while [ $# -gt 0 ] 
do
 if [ "$1" = '-a' ] 
 then
   echo ""$1"=-a"
   b=1
 else
   if [ $b -eq 0 ] 
   then
    if [ "$1" = '-keep' ]
    then
     shift
     DURATION="$1"
    else
     MUTTARG="$MUTTARG "$1""
     echo ""$1""
     THEREAREDESTS=1
    fi 
   else
     if [ -e "$1" ]
     then
      ATT+=( "${1}" )
     else
      echo "Error: file "$1" not found!"
      exit 1
     fi
   fi
 fi
 shift
done
echo "Keeping files for $DURATION days"
DN=`date +%Y%m%d`
D=`date --date="$DURATION days" +%Y%m%d`
DA=`date --date="$DURATION days" +"%e %B %Y" `
KEY="${DN}_$$"
mkdir /tmp/$KEY
cp -r "${ATT[@]}" /tmp/$KEY
chmod go+r /tmp/$KEY/*
cat >  /tmp/$KEY/index.html << .
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta charset="utf-8">
	<!-- titre de l'onglet du navigateur -->
	<title>Jocelyn Etienne</title>
	<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,300,300italic,400italic,900,900italic' rel='stylesheet' type='text/css'>
	<link rel="stylesheet" type="text/css" href="$URL/zamansky.css">
</head>
<body>
<div class="mainpage">
    <div class="margins">
	<div class="title" id="thetitle">
	<H1>File transfer from $SENDERNAME</H1> 
	<H3>Available at least until $DA</H3>
    </div>
</div>
.
if [ ${#ATT[@]} -gt 1 ]
then
 echo " $URL$DIR/$KEY/" >> /tmp/.muttfile_$$
fi
for A in "${ATT[@]}"
do
 echo " $URL$DIR/$KEY/"`basename "${A}"` >> /tmp/.muttfile_$$
 SIZE=`du -skh "${A}"|cut -f 1`
 TYPE=`file "${A}" | cut -f 2- -d " "`
 cat >> /tmp/$KEY/index.html << .
   <div class="post">
   <div class="content">
.
 if [[ $TYPE =~ "image" ]]
 then
  echo "<A HREF='$URL$DIR/$KEY/"`basename "${A}"`"' download target='_blank'>" >> /tmp/$KEY/index.html
  echo "<BR><IMG SRC='$URL$DIR/$KEY/"`basename "${A}"`"' WIDTH='300'></A>" >> /tmp/$KEY/index.html
 fi
 if [[ $TYPE =~ "PDF" ]]
 then
  B="$(basename "${A}" | sed -e 's, ,_,g' | rev| cut -d. -f2-|rev).png"
  convert "${A}"[0] /tmp/${KEY}/${B}
  echo "<A HREF='$URL$DIR/$KEY/"`basename "${A}"`"' download target='_blank'>" >> /tmp/$KEY/index.html
  echo "<BR><IMG SRC='$URL$DIR/$KEY/${B}' WIDTH='300'></A>" >> /tmp/$KEY/index.html
 fi
 if [[ $TYPE =~ "video" || $TYPE =~ "movie" ]]
 then
  echo "<A HREF='$URL$DIR/$KEY/"`basename "${A}"`"' download target='_blank'>" >> /tmp/$KEY/index.html
  B="$(basename "${A}" | sed -e 's, ,_,g' | cut -d. -f1).png"
  ffmpeg -ss "$(bc -l <<< "$(ffprobe -loglevel error -of csv=p=0 -show_entries format=duration "${A}")*0.5")" -i "${A}" -frames:v 1 /tmp/${KEY}/${B}
  echo "<BR><IMG SRC='$URL$DIR/$KEY/${B}' WIDTH='300'></A>" >> /tmp/$KEY/index.html
 fi
 echo "<LI><A HREF='$URL$DIR/$KEY/"`basename "${A}"`"' download target='_blank'>"`basename "${A}"`"</A> <FONT COLOR="gray">($SIZE, $TYPE)</FONT></LI>" >> /tmp/$KEY/index.html
 cat >> /tmp/$KEY/index.html << .
   </div>
   </div>
.
done
echo "</UL>" >> /tmp/$KEY/index.html
if [ $THEREAREDESTS -eq 0 ]
then
 echo Writing to $URL$DIR/$KEY/ ...
fi
rsync -v -r /tmp/$KEY $MACHINE:$DIR
if [ $? -gt 0 ]
then
 echo Error copying files
 exit
fi
if [ $THEREAREDESTS -eq 1 ]
then
  mutt $MUTTARG -i /tmp/.muttfile_$$
else
  cat /tmp/.muttfile_$$
fi
