#!/usr/bin/perl
# Zobrazí propozice turnaje předaného parametrem.
use dancgi; # čtení parametrů z webu nebo z ARGV
use access; # funkce pro čtení textových tabulek vyexportovaných z MS Accessu
use mso; # funkce pro generování stránek o olympiádě
use utf8; # říct Perlu, že konstantní řetězce ve zdrojáku jsou v UTF
use Encode;
binmode(STDOUT, ":utf8"); # říct Perlu, že UTF chceme i na výstupu



# Načíst parametry z URL.
dancgi::cist_parametry(\%konfig);
# Umožnit volat skript z příkazového řádku a předat parametry tam (např. perl partie.pl zdroj=cas).
dancgi::rozebrat_parametry($ARGV[0], \%konfig);
# Načíst formulář.
dancgi::cist_formular_post(\%konfig);
if($konfig{jazyk} eq "")
{
    $konfig{jazyk} = "cs";
}
$jazyky::jazyk = $konfig{jazyk};



# Pošle mailem údaje vyplněné uživatelem a uživateli vygeneruje odpověď
if($konfig{co} eq "zpracuj")
{
    # Umí vytisknout celý konfig.
    while(my ($klic, $hodnota) = each (%konfig))
    {
        $tisk.="\$konfig{$klic} = \"$hodnota\"\n";
    }
    mso::vypsat_stranku(
    {
        "nazev"  => "MSO: $konfig{rok}: ".jazyky::zjistit("Registrace"),
        "nadpis" => jazyky::zjistit("potvrzeni_registrace_turnaje"),
        "telo"   => mso::potvrdit_registraci(\%konfig),
        "rok"    => "2006"
    });
    # Pošle mail s vyplněným formulářem
    $prihlaska .= "Jméno: $konfig{jmeno} $konfig{prijmeni}\n";
    $prihlaska .= "Organizace: $konfig{organizace} $konfig{organizacejina}\n";
    $prihlaska .= "E-mail: $konfig{email} \n";
    $prihlaska .= "Název turnaje: $konfig{nazev} ve hře: $konfig{hra}\n";
    $prihlaska .= "Předpokládaný počet účastníků $konfig{pocet}, maximálně $konfig{kapacita}\n";
    $prihlaska .= "Ideální termín: $konfig{datum1zac} $konfig{cas1zac} - $konfig{datum1ko} $konfig{cas1ko} \n";
    $prihlaska .= "Náhradní termín: $konfig{datum2zac} $konfig{cas2zac} - $konfig{datum2ko} $konfig{cas2ko} \n";
    $prihlaska .= "Úroveň turnaje: $konfig{uroven} \n";
    $prihlaska .= "Kdo může přijít: $konfig{ucast} $konfig{ucastjine}\n";
    $prihlaska .= "Hrací systém: $konfig{system} $konfig{systemjiny} \n";
    $prihlaska .= "Kritérium 1: $konfig{kriterium1} $konfig{kriterium1jine} \n";
    $prihlaska .= "Kritérium 2: $konfig{kriterium2} $konfig{kriterium2jine} \n";
    $prihlaska .= "Kritérium 3: $konfig{kriterium3} $konfig{kriterium3jine} \n";
    $prihlaska .= "Kritérium 4: $konfig{kriterium4} $konfig{kriterium4jine} \n";
    $prihlaska .= "Kritérium 5: $konfig{kriterium5} $konfig{kriterium5jine} \n";
    $prihlaska .= "Počet kol: $konfig{pocetkol} \n";
    $prihlaska .= "Tempo: $konfig{tempo} \n";
    $prihlaska .= "Potřebujeme: $konfig{potrebujeme} \n";
    $prihlaska .= "Poznámka: $konfig{poznamka} \n";

    $prihlaska_mail = $prihlaska;
    $prihlaska_mail =~ s/<[^>]*>//gs;

        if($konfig{jmeno} eq "test")
    {
        $adresat = "klara\@hrejsi.cz";
    }
    else
    {
        $adresat = "olympiada\@hrejsi.cz, klara\@hrejsi.cz";
        $kopie = "$konfig{email}";
        $skopie = "klara\@hrejsi.cz";
    }
    if(-e "/usr/lib/sendmail")
    {
        $sendmail = "|/usr/lib/sendmail -oi -t";
    }
    else
    {
        $sendmail = ">posledni-registrace.txt";
    }
    open(SENDMAIL, $sendmail) or print "Nemůžu najít sendmail: $!\n";
    print SENDMAIL ("From: Robot Hrejsi <robot\@hrejsi.cz>\n");
    my $nazev_subject = "$konfig{nazev}";
    my $jmeno_subject = "$konfig{jmeno} $konfig{prijmeni}";
    $jmeno_subject =~ tr/ÁČĎÉĚÍŇÓŘŠŤÚŮÝŽáčďéěíňóřšťúůýž/ACDEEINORSTUUYZacdeeinorstuuyz/;
    $nazev_subject =~ tr/ÁČĎÉĚÍŇÓŘŠŤÚŮÝŽáčďéěíňóřšťúůýž/ACDEEINORSTUUYZacdeeinorstuuyz/;
    print SENDMAIL ("Reply-to: \"$jmeno_subject\" <$konfig{email}>\n");
    print SENDMAIL ("To: $adresat\n");
    print SENDMAIL ("Cc: $kopie\n");
    print SENDMAIL ("Bcc: $skopie\n");
    print SENDMAIL ("Subject: MSO registrace: $nazev_subject\n");
    print SENDMAIL ("Content-Type: text/plain; charset=\"utf-8\"\n");
    print SENDMAIL ("\n");
    print SENDMAIL (join(", ", sort(keys(%prihlasene_hry))), "\n");
    print SENDMAIL ("Uživatel vyplnil www registrace na stránce olympiády těmito údaji:\n\n$prihlaska_mail\n");
    my $mail = $prihlaska_mail;
    open(KOPIE, ">posledni_registrace.txt");
    print KOPIE ($mail);
    close(KOPIE);
    open(KOPIE, ">>archiv_registraci.txt");
    print KOPIE ("----------------------------------------------------------------------\n");
    print KOPIE ($mail);
    close(KOPIE);
}
else
{
    # Vypsat registraci.
    mso::vypsat_stranku(
    {
        "nazev"  => "MSO: $konfig{rok}: ".jazyky::zjistit("Registrace"), 
        "nadpis" => jazyky::zjistit("registrace_nadpis", $konfig{rok}),
        "telo"   => mso::registrace,
        "rok"    => 2006
    });
}
