#!/bin/bash
#
# Obsluhuje vstup přízpěvků do diskuze
# (c) Petr Baudis <pasky@ji.cz> 1999,2000,2001
#

#
# Format & editace souboru prizp/global.status viz diskuze.cgi...
#


max_limit=512;           # maximalni pocet prizpevku (program nebude umet zatim vice!) - dokud nebude globalni konfiguracni
                         # soubor, musi se zeditovat i v 'add.cgi', jinak bud nebude mozne pridavat prizpevku >(max_limit v add)
			 # nebo nebudou zobrazovany prizpevky >max_limit... - ** originalni hodnota = 512 **
			 # Pozn.: samozrejme ze cim vyssi cislo, tim je program pomalejsi (na zacatku delsi prodleva)

id=private                     # viz diskuze.cgi
			 


# podrobnejsi komentare viz diskuze.cgi

PATH="$PATH;/bin"
export CZECH_INPUT_CP=ISO-8859-2;
limit=$max_limit;
no=$limit;

# -- analyza parametru -- #
  n=0; np=1;
  read param;
  while test 1 -eq 1;do
    np=$(($np+1));
    n=$(($n+1));
    
    parame=`echo $param | /usr/bin/cut -f $n -d "&"`;
    case `echo $parame | /usr/bin/cut -f 1 -d "="` in
      id) id=`echo $parame | /usr/bin/cut -f 2- -d "=" | ./encode`;;
      name) aname=`echo $parame | /usr/bin/cut -f 2- -d "=" | ./encode | ./validate`;;
      email) email=`echo $parame | /usr/bin/cut -f 2- -d "=" | ./encode | ./validate`;;
      subject) subject=`echo $parame | /usr/bin/cut -f 2- -d "=" | ./encode | ./validate`;;
      message) echo $parame | /usr/bin/cut -f 2- -d "=" | ./encode | ./validate > /tmp/www.form.$$;;
      odeslat) submitted=`echo $parame | /usr/bin/cut -f 2- -d "=" | ./encode`;;
    esac
    if [ -z "`echo $param | /usr/bin/cut -f $n -d "&"`" ]; then
      break;
    fi
  done

#until test -e prizp/$no; do
#  no=$(($no- 1));
#done #step to a last...

no=`/bin/cat dat/prizp.$id/global.status | /usr/bin/cut -f 1 -d ^`;

name=`/bin/cat dat/prizp.$id/global.status | /usr/bin/cut -f 2 -d ^`;

title_message=`/bin/cat dat/prizp.$id/global.status | /usr/bin/cut -f 3 -d ^`;

no=$(($no+1));

if test $no -gt $max_limit; then
  echo -e "Content-type: text/html\n\n<HTML><HEAD><TITLE>Chyba</TITLE></HEAD></BODY>"
  echo -e "<H1 align=center>Chyba při zasílání přízpěvku</H1>"
  echo -e "<p>-- Chyba pri pridavani prizpevku do databaze : Databaze preplnena ($no>$max_limit) !!! Prosim oznamte tuto chybu na\
           adresu foo@bar.baz Dekujeme a pokusime se o urychlenou napravu. ---</font></pre><p><p></body></html>";
  ./mkfooter;
  exit 1;
fi

if test -s /tmp/www.form.$$; then
  echo -n "";
else
  echo -n "";
  echo -e "Content-type: text/html\n\n<HTML><HEAD><TITLE>Chyba</TITLE></HEAD><BODY>"
  echo -e "<H1 align=center>Chyba při zasílání přízpěvku</H1>"
  echo -e "<P>Bohužel jste nevyplnil vlastní tělo přízpěvku. Prosím vraťte se zpět a doplňte vnitřek přízpěvku, nebo neposílejte do\
           této diskuze prázdné přízpěvky. Děkujeme.<P>"
  ./mkfooter;
  exit 1;
fi

echo -e "$aname^$email^$subject" > dat/prizp.$id/$no.header;

/bin/cat /tmp/www.form.$$ > dat/prizp.$id/$no;

rm /tmp/www.form.$$;

echo "$no^`/bin/cat dat/prizp.$id/global.status | /usr/bin/cut -f 2- -d ^ `"> dat/prizp.$id/global.status;

echo -en "Set-Cookie: disk_identify=$aname^$email; expires=Monday, 31-Dec-2010 23:59:59 GMT; path=/;\n";

echo -en "Location: ./diskuze.cgi\n\n";

