gest366/modules/agenda_calendar/ajaxreq.php

157 lines
6.4 KiB
PHP
Raw Permalink Normal View History

2021-02-24 20:40:04 +00:00
<?php
include_once(__DIR__."/../../core.php");
$module_name = "Agenda";
if(!isset($user_idanagrafica)) $user_idanagrafica = "";
$additional_where['Interventi'] = str_replace( "|idanagrafica|", "'".$user_idanagrafica."'", $additional_where['Interventi'] );
$additional_where['Interventi'] = str_replace( "|idtecnico|", "'".$user_idanagrafica."'", $additional_where['Interventi'] );
//Lettura calendario tecnici
switch( $_GET['op'] ){
case "get_current_month":
$start = $_GET['start'];
$end = $_GET['end'];
echo "[";
//Lettura calendario tecnici
$query = "SELECT agenda_anagrafica.idintervento, colore,agenda_anagrafica.id, idtecnico, orario_inizio, orario_fine,
(SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico,
(SELECT colore FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS colore_tecnico,
(SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=agenda.idanagrafica) AS cliente ,
(SELECT idzona FROM an_anagrafiche WHERE idanagrafica=agenda.idanagrafica) AS idzona
FROM agenda_anagrafica INNER JOIN (agenda LEFT OUTER JOIN agenda_stati ON agenda.idstatoagenda=agenda_stati.idstatoagenda) ON agenda_anagrafica.idintervento=agenda.idintervento
WHERE agenda_anagrafica.orario_inizio >= '$start' AND agenda_anagrafica.orario_fine <= '$end'
AND (agenda.idstatoagenda IN(".implode(',', $_SESSION['agenda']['idstatoagenda']).") OR agenda.idstatoagenda='')
AND agenda.idtipoagenda IN(".implode(',', $_SESSION['agenda']['idtipoagenda']).") ".$additional_where['Interventi'];
$rs = $dbo->fetchArray($query);
$n = sizeof($rs);
for( $i=0; $i<$n; $i++ ){
echo "{";
echo "\"id\":\"".$rs[$i]['id']."\",";
echo "\"idintervento\":\"".$rs[$i]['idintervento']."\",";
echo "\"idtecnico\":\"".$rs[$i]['idtecnico']."\",";
echo "\"orario\":\"1\",";
echo "\"title\":\"<b>Int. ".$rs[$i]['idintervento']."</b>\\n".clean($rs[$i]['cliente'])."<br>\\n<b>Tecnici: </b>".clean($rs[$i]['nome_tecnico'])."\",";
echo "\"start\": \"".date( "Y-m-d H:i", strtotime($rs[$i]['orario_inizio']) )."\",";
echo "\"end\": \"".date( "Y-m-d H:i", strtotime($rs[$i]['orario_fine']) )."\",";
echo "\"url\":\"".$rootdir."/editor.php?id_module=".$modules_info['Agenda']['id']."&id_record=".$rs[$i]['idintervento']."\",";
echo "\"backgroundColor\":\"".$rs[$i]['colore_tecnico']."\",";
echo "\"textColor\":\"".color_inverse($rs[$i]['colore'])."\",";
//echo "\"tip\":\"".html_entity_decode($tooltip_text)."\",";
if ($rs[$i]['colore_tecnico']=='#FFFFFF')
echo "\"borderColor\":\"".ColorDarken($rs[$i]['colore_tecnico'], 100)."\",";
else
echo "\"borderColor\":\"".$rs[$i]['colore_tecnico']."\",";
echo "\"allDay\":false";
echo "}";
if( $i < $n-1 ) {
// ricerco prospect
echo ",";
}
}
echo "]";
break;
case "update_intervento":
$idintervento = save( $_GET['idintervento'] );
$idtecnico = save( $_GET['idtecnico'] );
$orario = save( $_GET['orario'] );
$dayDelta = save( $_GET['dayDelta'] );
$timeStart = save( $_GET['timeStart'] );
$timeEnd = save( $_GET['timeEnd'] );
$id = save( $_GET['id'] );
//Aggiornamento orario tecnico
$dbo->query( "UPDATE agenda_anagrafica SET orario_inizio = \"".$timeStart."\", orario_fine = \"".$timeEnd."\" WHERE id=\"".$id."\"" );
echo "ok";
break;
case "get_more_info":
$idintervento = save( $_GET['idintervento'] );
$idtecnico = save( $_GET['idtecnico'] );
$orario = save( $_GET['orario'] );
$dayDelta = save( $_GET['dayDelta'] );
$timeStart = save( $_GET['timeStart'] );
$timeEnd = save( $_GET['timeEnd'] );
$id = save( $_GET['id'] );
//Lettura dati intervento di riferimento
$query = "SELECT agenda.richiesta,agenda_anagrafica.idintervento, agenda.id, idtecnico, orario_inizio, orario_fine, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico, (SELECT colore FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS colore FROM agenda_anagrafica INNER JOIN agenda ON agenda_anagrafica.idintervento=agenda.idintervento WHERE agenda_anagrafica.id=\"".$id."\" ".$additional_where['Interventi'];
$rs = $dbo->fetchArray($query);
$n = sizeof($rs);
$idintervento = $rs[0]['idintervento'];
$riga_tecnico = "";
for( $i=0; $i<$n; $i++ ){
$riga_tecnico .= "".$rs[$i]['nome_tecnico'];
$descrizione_att .= "".$rs[$i]['richiesta'];
$riga_tecnico .= " (".readDateTime($rs[$i]['orario_inizio'])." alle ".readDateTimePrint($rs[$i]['orario_fine'],time).")";
}
//Lettura dati intervento
$query = "SELECT *, idstatoagenda AS parent_idstato, idtipoagenda AS parent_idtipo, (SELECT descrizione FROM agenda_stati WHERE idstatoagenda=parent_idstato) AS stato, (SELECT descrizione FROM agenda_tipi WHERE idtipoagenda=parent_idtipo) AS tipo, (SELECT nomesede FROM an_sedi WHERE id=idsede) AS sede, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica=agenda.idanagrafica) AS idzona FROM agenda LEFT JOIN an_anagrafiche ON agenda.idanagrafica=an_anagrafiche.idanagrafica WHERE agenda.idintervento=\"$idintervento\" ".$additional_where['Interventi'];
$rs = $dbo->fetchArray( $query );
$desc_tipointervento = $rs[0]['tipo'];
$tooltip_text = "<b>Numero appuntamento</b>: ".$idintervento."<br/>";
$tooltip_text .= "<b>Ragione sociale</b>: ".fix_str($rs[0]['ragione_sociale'])."<br/>";
if ($rs[0]['telefono']!="")
$tooltip_text.="<b>Telefono</b>: ".fix_str($rs[0]['telefono'])."<br/>";
if ($rs[0]['cellulare']!="")
$tooltip_text.="<b>Cellulare</b>: ".fix_str($rs[0]['cellulare'])."<br/>";
if ( ($rs[0]['indirizzo']!="") or ($rs[0]['citta']!="") or ($rs[0]['provincia']!="") )
$tooltip_text.="<b>Indirizzo</b>: ".fix_str($rs[0]['indirizzo']." ".$rs[0]['citta']." (".$rs[0]['provincia'].")")."<br/>";
if ($rs[0]['note']!="")
$tooltip_text.="<b>Note</b>: ".fix_str($rs[0]['note'])."<br/>";
$tooltip_text.="<b>Data richiesta</b>: ".date( 'd/m/Y', strtotime($rs[0]['data_richiesta']) )."<br/>";
$tooltip_text.="<b>Tipologia</b>: ".fix_str($desc_tipointervento)."<br/>";
$tooltip_text.="<b>Operatore:</b> ".$riga_tecnico."<br/>";
if ($descrizione_att!="")
$tooltip_text.="<b>Richiesta</b>: ".fix_str($descrizione_att)."<br/>";
echo $tooltip_text;
break;
}
?>