<?php
/****************************************************************************************
 * SMI (Services Maintenance Interventions) est une gestion libre de maintenance et de SAV
 *
 * Version 1.0.2
 *
 * Copyright (C) 2006-2015  Sylvain FATOME
 * This program is free software; you can redistribute it and/or modify it under the terms
 * of the GNU General Public License as published by the Free Software Foundation;
 * either version 2 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program
 * (in the directory docs);
 * if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA  02110-1301, USA.
 *
 * Contact : galawa@free.fr
 *
 * Web : http://smi.no-ip.org
 ****************************************************************************************/


// vérification des tentatives de hack
$pos = strpos($_SERVER['PHP_SELF'], "inc.php");
if ($pos === FALSE)
    $ok_inc = TRUE;
else
    $ok_inc = FALSE;
if ($ok_inc == FALSE) header("Location: ../index.php");

include_once("../inc/func.inc.php");
include_once("../inc/func_date.inc.php");
include_once("../inc/func_geo.inc.php");
include_once("../inc/func_txt.inc.php");
include_once("../inc/fic_age.inc.php");
include_once("../inc/fic_cli.inc.php");
include_once("../inc/fic_droits.inc.php");
include_once("../inc/fic_int.inc.php");
include_once("../inc/fic_tac.inc.php");
include_once("../inc/fic_tec.inc.php");
include_once("../inc/lst.inc.php");
include_once("../classes/ezSQL/shared/ez_sql_core.php");
include_once("../classes/ezSQL/mysqli/ez_sql_mysqli.php");
include_once("../inc/func_sql.inc.php");
Archivelog(@$_SESSION["code_log"]);
// Variables Formulaire
fix_magic_quotes();
$_GET = clean_str($_GET);

$fi = "";
if (isset($_GET['fi']) && (trim($_GET['fi']) <> ""))
    $fi = intval($_GET['fi']);
$tab_cli = [];
if ((@$_SESSION["niv_log"] == 1) AND (@$_SESSION["id_ccli"] == 0))
    $tab_cli = give_tab_rcli($_SESSION["code_log"], TRUE);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>SMI - <?PHP echo _("ESPACE PRIVE"); ?> : <?PHP echo _("Impression Liste Tâches"); ?></title>

    <?PHP include_once("../inc/header.inc.php"); ?>

    <script type="text/javascript">
        <!--
        function init_all() {
            init_Body();
            warn_print(1);
        }

        $(document).ready(function () {
            init_all();
        });
        //-->
    </script>


</head>

<body>
<?php
if (@$_SESSION["niv_log"] >= 5)
    entimplst(_("LISTE DES TACHES"));
else
    entimplst(_("LISTE DE VOS TACHES"));

$db = open_database(DBUSER, DBPASS, DBNAME, DBHOST);

$rech = cree_strrechlsttac();
switch (@$_SESSION["niv_log"]) {
    // Filtre pour les techniciens agences ou sous-traitants
    case 3 :
    case 11 :
        // Si filtre N°9,  on ne prend pas en compte les tâche à faire, mais seulement celles ordonnées
        // On autorise aussi les auteurs à voir les tâches qu'ils ont créé
        if ($fi <> "9") {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE (" . TBTAC . ".tac_codedest='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND (" . TBTAC . ".tac_codedest='" . @$_SESSION["code_log"] . "'";
            $rech .= " OR " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "')";
        } else {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
        }
        break;
    // Filtre pour les agences
    case 4 :
        // On construit la liste des techniciens actifs de l'agence
        $tab_lst_tec = [];
        $rech2 = "SELECT tec_code FROM `" . TBTEC . "` WHERE tec_codeage='" . @$_SESSION["code_log"] . "' AND tec_out=0";
        $rows2 = $db->get_results($rech2, ARRAY_A);
        foreach ($rows2 as $row2) {
            extract($row2);
            $tab_lst_tec[] = $tec_code;
        }

        // Si filtre N°9,  on ne prend pas en compte les tâche à faire, mais seulement celles ordonnées
        // On autorise aussi les auteurs à voir les tâches qu'ils ont créé
        if ($fi <> "9") {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE ((" . TBTAC . ".tac_codedest='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND ((" . TBTAC . ".tac_codedest='" . @$_SESSION["code_log"] . "'";
            // Une agence peut voir les tâches de ses techniciens
            foreach ($tab_lst_tec as $key => $value) {
                $rech .= " OR " . TBTAC . ".tac_codedest='" . $value . "'";
            }
            $rech .= ")";
            // On autorise aussi les auteurs à voir les tâches qu'ils ont créé
            $rech .= " OR (" . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            // Une agence peut voir les tâches créées par ses techniciens
            foreach ($tab_lst_tec as $key => $value) {
                $rech .= " OR " . TBTAC . ".tac_codedest='" . $value . "'";
            }
            $rech .= "))";
        } else {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE (" . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND (" . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            // Une agence peut voir les tâches de ses techniciens
            foreach ($tab_lst_tec as $key => $value) {
                $rech .= " OR " . TBTAC . ".tac_codecrea='" . $value . "'";
            }
            $rech .= ")";
        }
        break;
    // Filtre pour le centre de gestion
    case 5 :
        // Si filtre N°9,  on ne prend pas en compte les tâche à faire, mais seulement celles ordonnées
        // On autorise aussi les auteurs à voir les tâches qu'ils ont créé
        if ($fi <> "9") {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE (" . TBTAC . ".tac_codedest<>'" . $admin_code . "'";
            else
                $rech .= " AND (" . TBTAC . ".tac_codedest<>'" . $admin_code . "'";
            $rech .= " OR " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "')";
        } else {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
        }
        break;
    // Filtre pour les sous-traitants
    case 10 :
        // On construit la liste des techniciens actifs du sous-traitant
        $tab_lst_tec = [];
        $rech2 = "SELECT tec_code FROM `" . TBTEC . "` WHERE tec_codest='" . @$_SESSION["code_log"] . "' AND tec_out=0";
        $rows2 = $db->get_results($rech2, ARRAY_A);
        foreach ($rows2 as $row2) {
            extract($row2);
            $tab_lst_tec[] = $tec_code;
        }

        // Si filtre N°9,  on ne prend pas en compte les tâche à faire, mais seulement celles ordonnées
        // On autorise aussi les auteurs à voir les tâches qu'ils ont créé
        if ($fi <> "9") {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE ((" . TBTAC . ".tac_codedest='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND ((" . TBTAC . ".tac_codedest='" . @$_SESSION["code_log"] . "'";
            // Une agence peut voir les tâches de ses techniciens
            foreach ($tab_lst_tec as $key => $value) {
                $rech .= " OR " . TBTAC . ".tac_codedest='" . $value . "'";
            }
            $rech .= ")";
            // On autorise aussi les auteurs à voir les tâches qu'ils ont créé
            $rech .= " OR (" . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            // Une agence peut voir les tâches créées par ses techniciens
            foreach ($tab_lst_tec as $key => $value) {
                $rech .= " OR " . TBTAC . ".tac_codedest='" . $value . "'";
            }
            $rech .= "))";
        } else {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE (" . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND (" . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            // Une agence peut voir les tâches de ses techniciens
            foreach ($tab_lst_tec as $key => $value) {
                $rech .= " OR " . TBTAC . ".tac_codecrea='" . $value . "'";
            }
            $rech .= ")";
        }
        break;
    // Filtre pour l'administrateur
    case 9 :
        // Si filtre N°9,  on ne prend pas en compte les tâche à faire, mais seulement celles ordonnées
        if ($fi == "9") {
            if (!stristr($rech, "WHERE "))
                $rech .= " WHERE " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
            else
                $rech .= " AND " . TBTAC . ".tac_codecrea='" . @$_SESSION["code_log"] . "'";
        }
        break;
}

switch ($fi) {
    case "1" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_datefin='0000-00-00'";
        else
            $rech .= " AND tac_datefin='0000-00-00'";
        break;
    case "2" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_datefin<>'0000-00-00'";
        else
            $rech .= " AND tac_datefin<>'0000-00-00'";
        break;
    case "3" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_typrat=1";
        else
            $rech .= " AND tac_typrat=1";
        break;
    case "4" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_typrat=2";
        else
            $rech .= " AND tac_typrat=2";
        break;
    case "5" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_typrat=3";
        else
            $rech .= " AND tac_typrat=3";
        break;
    case "6" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_typrat=4";
        else
            $rech .= " AND tac_typrat=4";
        break;
    case "7" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_typrat=5";
        else
            $rech .= " AND tac_typrat=5";
        break;
    case "8" :
        if (!stristr($rech, "WHERE "))
            $rech .= " WHERE tac_typrat=6";
        else
            $rech .= " AND tac_typrat=6";
        break;
    default :
        break;
}
$rech .= crestr_triord($tac_titre_col, "tac_code", FALSE, $limit);

$rows = $db->get_results($rech, ARRAY_A);

// *** Affichage de la table
echo "<table class=\"Mtable\" border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\">\n";

// création entête
titlst($tac_titre_col);
echo "<th>" . _("Cliquer") . "</th>\n";

$i = 0;

// Inclusion module affichage liste tâches
include_once("../inc/tacr_lst.inc.php");

echo "</table>\n";
// *** Fin affichage de la table

$db->disconnect();
?>
</body>
</html>