<?php

    require_once("{$sitepath}autentificare.php");
    require_once("{$sitepath}pagecomponents.php");

    check_auth();
    
    function show_upload_form($id_fisier_vechi, $id_fisier_referinta, $id_utilizator)
    {
        global $siteroot, $imagesroot;
$msg_tag = "";
        $tag = "";
        $caption = "";
        $result = "";
        if ($id_fisier_referinta)
        {
            $tag = 'fisr'.$id_fisier_referinta;
            $caption = 'Încarcă un fișier de răspuns: ';
        }
        elseif ($id_fisier_vechi)
        {
            $tag = 'fis'.$id_fisier_vechi;
            $caption = 'Înlocuiește fișierul existent cu: ';
        }
        elseif ($id_utilizator)
        {
            $tag = 'user'.$id_utilizator;
            $caption = 'Trimite un fișier medicului: ';
        }
        $result = "<tr id='tr{$tag}upload' style='display: none'>";
        $result .= "<td colspan='7'>";
        //if ($msg_tag == $tag) $result .= "<p class='eroare'>$msg_text</p>";
        $result .= "<div id='{$tag}upload' class='upload'>";
        $result .= "<form action='{$siteroot}scripts/incarcaFisierValidator.php' method='POST' enctype='multipart/form-data' target='upload_target' onsubmit='incarcaFisierValidator($id_fisier_vechi, $id_fisier_referinta, $id_utilizator);'>";
        $result .= "<p id='{$tag}upload_progress' style='display: none'>";
        $result .= "Se încarcă fişierul...<br/><img src='{$imagesroot}loader.gif' /><br />";
        //$result .= "<input type='button' onclick='anuleazaIncarcareFisier()' value='Anulează' />";
        $result .= "</p>";
        $result .= "<p id='{$tag}upload_form'>";
        $result .= $caption;
        $result .= "<input type='file' name='{$tag}fisier' id='{$tag}fisier' onclick='clearTimeout(timerValidator);'/>";
        $result .= "<input type='hidden' name='id_utilizator' value='$id_utilizator' />";
        $result .= "<input type='hidden' name='id_fisier_vechi' value='$id_fisier_vechi' />";
        $result .= "<input type='hidden' name='id_fisier_referinta' value='$id_fisier_referinta' />";
        $result .= "<input type='submit' name='submit' value='Încarcă' onclick='clearTimeout(timerValidator);'/>";
        $result .= "</p>";
        $result .= "</form>";
        $result .= "</div>";              
        $result .= "</td></tr>";
        return $result;
    }
    
    function show_schedule_form($id_utilizator, $id_perioada, $data)
    {
        global $siteroot, $imagesroot;
        $tag = "";
        $caption = "";
        $result = "";
        $tag = 'prog'.$id_utilizator;
        $result  = "<tr id='tr{$tag}programare' style='display: none'>";
        $result .= "<td colspan='7'>";
        //if ($msg_tag == $tag) $result .= "<p class='eroare'>$msg_text</p>";
        $result .= "<div id='{$tag}prog' class='programare'>";
        $result .= "<form action='{$siteroot}scripts/salveazaProgramare.php' method='POST' target='upload_target' onsubmit='clearTimeout(timerValidator);'>";
        $result .= "<label for='{$tag}calendar'>Programat la data: </label>".
                   "<input type='text' name='data' id='{$tag}calendar' value='".
                   (($data)?get_formatted_mysql_datetime($data, false):'').
                   "' readonly style='width: 8em'>";
        $result .= "<a href='javascript:NewCssCal(\"{$tag}calendar\", \"ddMMyyyy\", \"DropDown\", true, 24, true)'> ";
        $result .= "<img src='{$imagesroot}cal.gif' width='16' height='16' alt='Selectează data...'></a>";
        $result .= "<input type='hidden' name='id_utilizator' value='$id_utilizator' />";
        $result .= "<input type='hidden' name='id_perioada' value='$id_perioada' />";
        $result .= "&nbsp;&nbsp;&nbsp;<input type='submit' name='submit' value='Salvează' onclick='clearTimeout(timerValidator);'/>";
        $result .= "</form>";
        $result .= "</div>";              
        $result .= "</td></tr>";
        return $result;
    }
    
    if (!isset($run_from_service))
    {
        $msg_id_aplicatie = getuserdata('msg_id_aplicatie', 0);
        $msg_text = getuserdata('msg_text', '');
        $text_cautat = getuserdata('text_cautat');
    }
    
    $date = getuserdata('date');
    if ($date) $date = get_mysql_date($date);
          else $date = time();

    $errorMessage = "";
      
    $sqlPerioade = "SELECT DISTINCT
                        p.*
                    FROM aplicatii a
                        JOIN aplicatiixtip_perioade atp ON atp.id_aplicatie = a.id_aplicatie AND atp.activ = 1
                        JOIN perioade p ON p.id_tip_perioada = atp.id_tip_perioada
                            AND CURRENT_DATE() >= DATE(p.data_inceput)
                    WHERE a.activ = 1
                    ORDER BY p.data_inceput
                    LIMIT 0, 1";
    $qPerioade = mysql_query($sqlPerioade);
    echo mysql_error();
    if ($rPerioade = mysql_fetch_assoc($qPerioade))
    {
        echo "\n<h1>Raportare ".luna($rPerioade['luna'])."&nbsp;".$rPerioade['anul']."</h1>";
        echo "\n<div class='aplicatie'>";
        echo "\n    <iframe id='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px solid #fff;'></iframe>";
        echo "\n    <div class='titlu'>Fișiere de raportare încărcate</div>";
        echo "\n    <table class='raportare'>";
        echo "\n        <thead>";
        echo "\n            <tr><th style='width: 60px'>Medic</th><th>Tip raportare</th><th>Fișier</th>".
                               "<th>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th>".
                               "<th>Stare</th>".
                               "<th style='width: 105px'>Încărcat la data</th><th style='width: 140px'>&nbsp</th></tr>";
        echo "\n        </thead>";
        echo "\n        <tbody>";        
        
        // Preiau medicii care au depus fisiere de raportare
        $sqlFisiere = "SELECT DISTINCT
                           f.*, u.id_utilizator, u.nume,
                           CASE WHEN f.id_fisier_referinta IS NULL 
                                THEN f.id_utilizator_sursa
                                ELSE f.id_utilizator_destinatie
                           END AS id_raportor,
                           SUBSTR(a.aplicatie, 11) AS aplicatie,
                           r.data_programare
                       FROM fisiere f
                           JOIN perioade p ON p.id_perioada = {$rPerioade['id_perioada']}
                           JOIN utilizatori u ON u.id_utilizator = 
                               CASE WHEN f.id_utilizator_destinatie IS NOT NULL
                                    THEN f.id_utilizator_destinatie
                                    ELSE f.id_utilizator_sursa
                               END
                           JOIN ( SELECT
                                      id_utilizator_sursa,
                                      MIN(stare) AS stare,
                                      MIN(data_incarcare) AS data_incarcare
                                  FROM fisiere
                                  WHERE id_perioada = {$rPerioade['id_perioada']}
                                  GROUP BY id_utilizator_sursa
                                ) t ON t.id_utilizator_sursa = u.id_utilizator
                           JOIN aplicatii a ON a.id_aplicatie = f.id_aplicatie
                           LEFT JOIN programari r ON r.id_utilizator_destinatie = u.id_utilizator
                               AND r.id_perioada = p.id_perioada
                       WHERE u.nume LIKE '%$text_cautat%'
                       ORDER BY t.stare, t.data_incarcare, u.nume, a.ordine, IFNULL(f.id_fisier_referinta, f.id_fisier)";
        $qFisiere = mysql_query($sqlFisiere);
        $textMedic = "";
        $textFisiere = "";
        $id_medic_vechi = 0;
        $data_programare = "";
        $nr_fisiere = 0;
        while ($rFisiere = mysql_fetch_assoc($qFisiere))
        {
            if ($rFisiere['id_raportor'] != $id_medic_vechi)
            {
                $textMedic = "\n            <tr><td class='topborder' colspan='2' style='color: blue; font-weight: bold'>".$textMedic."</td>";
                $textMedic .= "<td class='topborder' colspan='2' style='padding-bottom: 5px'>";
                if ($data_programare)
                {
                    $textMedic .= "Programat pe ".get_formatted_mysql_datetime($data_programare, false);
                    $textMedic .= "<div><img src='{$imagesroot}programare.png'>&nbsp;".
                                  "<a href='#peloc' title='Schimbă programarea...' onclick=\"clearTimeout(timerValidator); document.getElementById('trprog{$id_medic_vechi}programare').style.display = 'table-row';\">".
                                  "Modifică</a></div></td>";                    
                }
                else
                {
                    $textMedic .= "<div><img src='{$imagesroot}programare.png'>&nbsp;".
                                  "<a href='#peloc' title='Programează...' onclick=\"clearTimeout(timerValidator); document.getElementById('trprog{$id_medic_vechi}programare').style.display = 'table-row';\">".
                                  "Programează pentru documente</a></div></td>";
                }
                $textMedic .= "<td class='topborder' colspan='3'>";
                $textMedic .= "<div><img src='{$imagesroot}file_send.png'>&nbsp;".
                              "<a href='#peloc' title='Trimite fișier...' onclick=\"clearTimeout(timerValidator); document.getElementById('truser{$id_medic_vechi}upload').style.display = 'table-row';\">".
                              "Trimite fișier...</a></td></tr>";
                $textMedic .= show_upload_form(0, 0, $id_medic_vechi);
                $textMedic .= show_schedule_form($id_medic_vechi, $rPerioade['id_perioada'], $data_programare);
                if ($id_medic_vechi) echo $textMedic.$textFisiere;
                $textMedic = $rFisiere['nume'];
                $data_programare = $rFisiere['data_programare'];
                $textFisiere = "";
                $id_medic_vechi = $rFisiere['id_raportor'];
            }
            if (!$rFisiere['id_utilizator_destinatie'])
            {
                $textFisiere .= "<tr><td>&nbsp;</td><td class='topmargin'>{$rFisiere['aplicatie']}</td>";
                $textFisiere .= "<td class='topmargin fisiere'><div class='rap{$rFisiere['stare']}'>";
                if ((int)$rFisiere['stare'] == 1) $textFisiere .= '<b>';
                $textFisiere .= "<a href='{$siteroot}scripts/service.php?func=getFisier&id={$rFisiere['id_fisier']}' target='upload_target'>";
                $textFisiere .= "{$rFisiere['nume_original']}</a>";
                if ((int)$rFisiere['stare'] > 1) $textFisiere .= '</b>';
                $textFisiere .= "</div></td>";
                $textFisiere .= "<td>";
                if ($rFisiere['stare'] < 3)
                {
                    $textFisiere .= "<a href='#peloc' title='Validează fişierul...' onclick=\"clearTimeout(timerValidator); valideazaFisier({$rFisiere['id_fisier']});\">".
                                    "<img src='{$imagesroot}file_validate.png'></a>&nbsp;&nbsp;";
                    $textFisiere .= "<a href='#peloc' title='Respinge fişierul' onclick=\"clearTimeout(timerValidator); respingeFisier({$rFisiere['id_fisier']})\">".
                                    "<img src='{$imagesroot}file_reject.png'></a>";                
                }
                $textFisiere .= "</td><td class='S{$rFisiere['stare']} topmargin'>";
                switch ($rFisiere['stare'])
                {
                    case 1:  $textFisiere .= "încărcat"; break;
                    case 2:  $textFisiere .= "preluat"; break;
                    case 3:  $textFisiere .= "validat"; break;
                    case 4:  $textFisiere .= "respins"; break;
                    default: $textFisiere .= "stare necunoscută";
                }
                $textFisiere .= "</td><td class='topmargin'>";
                $textFisiere .= get_formatted_mysql_datetime($rFisiere['data_incarcare'], false);
                $textFisiere .= "</td>";
                $textFisiere .= "<td class='topmargin'>";
                $textFisiere .= "<a style='display: block' href='#peloc' title='Adaugă fisier de raspuns...' onclick=\"clearTimeout(timerValidator); document.getElementById('trfisr{$rFisiere['id_fisier']}upload').style.display = 'table-row';\">".
                                "<img src='{$imagesroot}file_response.png'>&nbsp;Adaugă&nbsp;fișier&nbsp;răspuns</a>";
                $textFisiere .= "</td></tr>";
                $textFisiere .= show_upload_form(0, $rFisiere['id_fisier'], 0);
            }
            else
            {
                $textFisiere .= "<tr><td>&nbsp;</td><td>&nbsp;</td>";
                $textFisiere .= "<td class='topmargin fisiere' style='padding-left: 40px' colspan='3'>";
                $textFisiere .= "<div>";
                if ((int)$rFisiere['stare'] == 1) $textFisiere .= '<b>';
                $textFisiere .= "<a href='{$siteroot}scripts/service.php?func=getFisier&id={$rFisiere['id_fisier']}' target='upload_target'>";
                $textFisiere .= "{$rFisiere['nume_original']}</a>";
                if ((int)$rFisiere['stare'] > 1) $textFisiere .= '</b>';
                $textFisiere .= "</div></td>";
                $textFisiere .= "<td class='topmargin'>";
                $textFisiere .= get_formatted_mysql_datetime($rFisiere['data_incarcare'], false);
                $textFisiere .= "</td>";
                $textFisiere .= "<td class='topmargin'>&nbsp;&nbsp;&nbsp;";
                if ((int)$rFisiere['stare'] == 1)
                {
                    $textFisiere .= "<a href='#peloc' title='Înlocuieşte fişierul...' onclick=\"clearTimeout(timerValidator); document.getElementById('trfis{$rFisiere['id_fisier']}upload').style.display = 'table-row';\">".
                                    "<img src='{$imagesroot}file_replace.png'></a>&nbsp;&nbsp;&nbsp;";
                    $textFisiere .= "<a href='#peloc' title='Şterge fişierul' onclick='clearTimeout(timerValidator); stergeFisierValidare({$rFisiere['id_fisier']})'>".
                                    "<img src='{$imagesroot}file_delete.png'></a>";
                }
                $textFisiere .= "</td></tr>";
                $textFisiere .= show_upload_form($rFisiere['id_fisier'], 0, 0);
            }
        }
        $textMedic = "\n            <tr><td class='topborder' colspan='2' style='color: blue; font-weight: bold'>".$textMedic."</td>";
        $textMedic .= "<td class='topborder' colspan='2' style='padding-bottom: 5px'>";
        if ($data_programare)
        {
            $textMedic .= "Programat pe ".get_formatted_mysql_datetime($data_programare, false);
            $textMedic .= "<div><img src='{$imagesroot}programare.png'>&nbsp;".
                          "<a href='#peloc' title='Schimbă programarea...' onclick=\"clearTimeout(timerValidator); document.getElementById('trprog{$id_medic_vechi}programare').style.display = 'table-row';\">".
                          "Modifică</a></div></td>";                    
        }
        else
        {
            $textMedic .= "<div><img src='{$imagesroot}programare.png'>&nbsp;".
                          "<a href='#peloc' title='Programează...' onclick=\"clearTimeout(timerValidator); document.getElementById('trprog{$id_medic_vechi}programare').style.display = 'table-row';\">".
                          "Programează pentru documente</a></div></td>";
        }
        $textMedic .= "<td class='topborder' colspan='3'>";
        $textMedic .= "<div><img src='{$imagesroot}file_send.png'>&nbsp;".
                      "<a href='#peloc' title='Trimite fişier...' onclick=\"clearTimeout(timerValidator); document.getElementById('truser{$id_medic_vechi}upload').style.display = 'table-row';\">".
                      "Trimite fişier...</a></td></tr>";
        $textMedic .= show_upload_form(0, 0, $id_medic_vechi);
        $textMedic .= show_schedule_form($id_medic_vechi, $rPerioade['id_perioada'], $data_programare);
        if ($id_medic_vechi) echo $textMedic.$textFisiere;
        echo "\n        </thead>";
        echo "\n    </table>";
        echo "\n</div>";
    }
   
?>