#!/usr/bin/perl
# Podívá se do databáze přihlášek a zjistí, které nejsou zaplacené
# Pokud nejsou zaplacené nějakou dobu od přihlášení, pošleme upozornění mailem
# Po delší době mažeme
# Předpokládané použití: pouštět pravidelně cronem.
# Nejde tedy o skript CGI, i když je kvůli pohodlí uložen vedle skriptů CGI a nic špatného se nestane, když bude puštěn jako CGI.
# Copyright © 2011, 2013 Dan Zeman <zeman@ufal.mff.cuni.cz>
# Licence: GNU GPL

use utf8;
use open ':utf8';
binmode(STDIN, ':utf8');
binmode(STDOUT, ':utf8');
binmode(STDERR, ':utf8');
use lib '/s/w/lib/dan';
use lib '/s/w/lib/cgi/mso/vnitro';
use dzsql;
use mail;
use cas;
use mso;

# Připojit se k databázi Deskohraní.
$databaze_mso = mso::pripojit_se_k_databazi();
# Získat z databáze Deskohraní seznam očekávaných plateb.
$ocekavane_platby = mso::dotazat_se_databaze($databaze_mso, 'jmeno', 'prijmeni', 'email', 'vs', 'datum_prihlasky', '_celkem_startovne', 'zaplaceno_dne', 'osoby_auto ORDER BY vs');
# Aktuální datum
$ted = cas::ted();
$dnu = cas::datum2eden("$ted->{den}.$ted->{mes}.$ted->{rok}");

my $smazat = "";

foreach my $op (@{$ocekavane_platby})
{
    # Pokud není zaplaceno
    if(!$op->{zaplaceno_dne})
    {
        my @rmdhms = split ' ', $op->{datum_prihlasky};
        my $datum = $rmdhms[0];
        my $dnu_op = cas::datum2eden($datum);
        my $rozdil = $dnu - $dnu_op;
        my $mail;
        if($rozdil == 5)
        {
            my $uhradte_do = cas::eden2datum($dnu_op + 5);
            $mail = "Zatím neevidujeme Vaši platbu za přihlášku do turnajů Deskohraní. Uhraďte ji prosím do $uhradte_do, jinak hrozí její smazání.\n";
        }
        elsif($rozdil == 7)
        {
            my $uhradte_do = cas::eden2datum($dnu_op + 3);
            $mail = "Zatím neevidujeme Vaši platbu za přihlášku do turnajů Deskohraní. Uhraďte ji prosím do $uhradte_do, jinak hrozí její smazání.\n";
        }
        elsif($rozdil == 9)
        {
            $mail = "Zatím neevidujeme Vaši platbu za přihlášku do turnajů Deskohraní. Uhraďte ji prosím do zítra, jinak hrozí její smazání.\n";
        }
        elsif($rozdil >= 10)
        {
            $smazat .= "VS: $op->{vs}, Jméno: $op->{jmeno} $op->{prijmeni}, Počet dní od přihlášky: $rozdil\n";
        }
        if($mail)
        {
            $mail .= "Platební údaje:\n";
            $mail .= "Číslo účtu: \n"; # Potřeba doplnit !!!!!!!!!
            $mail .= "Částka: $op->{_celkem_startovne} Kč\n";
            $mail .= "Variabilní symbol: $op->{vs}\n";
            mail::odeslat
            (
                'From'    => 'robot@hrejsi.cz',
                'To'      => $op->{email},
                'Subject' => 'Nezaplacená přihláška Deskohraní: '.$op->{jmeno}.' '.$op->{prijmeni},
                'text'    => $mail
            );
        }
    }
}

if($smazat)
{
    mail::odeslat
    (
        'From'    => 'robot@hrejsi.cz',
        'To'      => 'klara@hrejsi.cz, danzeman11@gmail.com',
        'Subject' => 'Smazat nezaplacené přihlášky Deskohraní',
        'text'    => $smazat
    );
}






