#!/bin/sh
#########################
#
# verifica_cfd()
#
# Reenvia el mensaje a un buzon de correo predeterminado solo
# si el mensaje cumple con estos dos criterios:
#
# 1. El mensaje incluye al menos un attachment .pdf Y un attachment .xml
# 2. El destinatario esta incluido en la lista de destinatarios-cfd
# 


verifica_cfd() {

local tmp
local msg
local reenvia

# Direccion de correo de facturacion
[ "CFDMAILFILE" ] || CFDMAILFILE=${AF_CFG}/cfd-recp

# Lista de destinatarios cuyos CFD's seran reenviados
[ "CFDDEST" ] || CFDDEST=${AF_CFG}/cfd-dest

# Averiguemos a donde va el mail de CFD's
if [ -r "$CFDMAILFILE" ]; then
   CFDMAIL=`cat "$CFDMAILFILE"`
else
   error "No hay un destinatario definido para el correo de CFD's (No puedo leer $CFDDEST)"
fi

tmp=$(crea_temp)
msg=$(crea_temp)
reenvia=0

cat "$MSGFILE" > $msg
if [ -r "$CFDDEST" ]; then

   # Criterio 2 es mas barato de probar, comenzamos por ese
   if grep -q "^$RECIPIENT\$" "$CFDDEST"; then

      # Criterio 1
      $REFORMIME -i < "$msg" > "$tmp" || error "Error en reformime: $?" $?
      if egrep -q "^content-disposition-filename: .*\.xml$" "$tmp"; then
         if egrep -q "^content-disposition-filename: .*\.pdf$" "$tmp"; then
            reenvia=1
         fi
      fi

   fi

   if [ $reenvia -eq 1 ]; then
      cat "$msg" | /var/qmail/bin/forward "$CFDMAIL"
   fi

else
   error "No puedo leer el archivo de destinatarios CFD: \"$CFDDEST\""
fi

cat $msg > "$MSGFILE"
rm -f "$msg"
rm -f "$tmp"

}
