<?php
include ('../../inc/confNetisse.php');

$eds = isset($_REQUEST['eds']) ? $_REQUEST['eds'] : "";
$ida = isset($_REQUEST['id']) ? $_REQUEST['id'] : "";
$time = isset($_REQUEST['t']) ? $_REQUEST['t'] : "";
$delay = isset($_REQUEST['delay']) ? $_REQUEST['delay'] : 30;
$median = $GLOBALS["BORNE_CONF"]["RDV_CALENDAR_MEDIAN_SCAN"] ? true : false;
$client = isset($_REQUEST['client']) ? $_REQUEST['client'] : "";
$nom_client = isset($_REQUEST['nom_client']) ? $_REQUEST['nom_client'] : "";
$prenom_client = isset($_REQUEST['prenom_client']) ? $_REQUEST['prenom_client'] : "";

$result = array("status" => false, "rdv" => false);
$dt = date('Y-m-d H:i:s');
$dtf = new DateTime($dt, new DateTimeZone('Europe/Paris'));
$dtf->setTimezone(new DateTimeZone('Europe/Paris'));
$dt1 = $dtf->format('Y-m-d 08:00:00');
$dt2 = $dtf->format('Y-m-d 12:59:59');
$dt3 = $dtf->format('Y-m-d 13:00:00');
$dt4 = $dtf->format('Y-m-d 20:00:00');

if($ida && ($client || ($nom_client && $prenom_client))){

    $delay_scan = "";
    $hour = date('H');
    if($median){
        if($hour < 13){
            $delay_scan = "AND date_debut BETWEEN :dt1 AND :dt2";
        }
        else{
            $delay_scan = "AND date_debut BETWEEN :dt1 AND :dt2";
        }
    }
    else{
        $delay_scan = "AND date_debut BETWEEN DATE_SUB(NOW(), INTERVAL :delay1 MINUTE) AND DATE_ADD(NOW(), INTERVAL :delay2 MINUTE)";
    }
    $values = array(":eds" => $eds);
    if ($client) {
      $condition = "r.uid_client = :uid_client ".$delay_scan;
      $values = array(":eds" => $eds, ":id_agence" => $ida, ":uid_client" => $client);
    }elseif($nom_client && $prenom_client){
      $condition = "(UPPER(r.nom_client) = :nom_client AND UPPER(r.prenom_client) = :prenom_client) ".$delay_scan;
      $values = array(":eds" => $eds, ":id_agence" => $ida, ":nom_client" => strtoupper($nom_client), ":prenom_client" => strtoupper($prenom_client));
    }
    $q = "SELECT uid_client, civ_client, matricule, c.id_conseiller, ca.id_entite as entite, nom_client, prenom_client, theme, date_debut, date_fin, c.photo, c.civ as civ_conseiller, c.nom as nom_conseiller, TIMESTAMPDIFF(SECOND,ca.last_active,now()) last_active_sec, c.prenom as prenom_conseiller, ca.id_fonction, COALESCE(ca.id_orientation, c.orientation) as orientation, e.borne_color color FROM ca_rdv_calendar r
          LEFT JOIN ca_conseillers c ON c.id_agent = r.matricule
          LEFT JOIN ca_agences a ON a.eds = r.eds
          LEFT JOIN ca_conseiller_agence ca ON ca.id_conseiller = c.id_conseiller AND ca.id_agence = a.id_agence
          LEFT JOIN ca_entites e ON ca.id_entite = e.id_entite
          WHERE c.supp=0 AND a.supp=0 AND r.eds = :eds AND a.id_agence = :id_agence AND ".$condition;
    if($median){
        if($hour < 13){
            $values[":dt1"] = $dt1;
            $values[":dt2"] = $dt2;
        }
        else{
            $values[":dt1"] = $dt3;
            $values[":dt2"] = $dt4;
        }
    }
    else{
        $values[":delay1"] = $delay;
        $values[":delay2"] = $delay;
    }
    
    // echo $q;
    // var_dump($values);
    $res = excuteQuery($q, $values);
    if (!$res['status']) 
        wts_die (var_dump($res['stmt']->errorInfo()));
    if($res['stmt']->rowCount() > 0){
        $result["status"] = true;
        $o = $res['stmt']->fetch(PDO::FETCH_OBJ);
        $connected_once = ($o->last_active_sec == null)?false:true;
        $last_active =  !empty($o->last_active_sec)?$o->last_active_sec:0;
        $active = $connected_once && isset($last_active) && $last_active <= 15;
        $o->online = $active;
        $o->heure = date('H\hi',strtotime($o->date_debut));
        $result["rdv"] = $o;
    }
}
echo json_encode($result);