<?php
	include_once(__DIR__."/../../core.php");
	$module_name = "Agenda";
	include_once( $docroot."/modules/agenda/modutil.php" );


	switch( $html->form('op', 'post') ){
		case "update":
			$idintervento = $html->form('id_record');

			if( $modules_info[$module_name]["permessi"] == 'rw' ){
				
				include ($docroot . "/lib/salva_personalizzati.php");	
				
				$idtipoagenda = save( $_POST['idtipoagenda'] );
				$idstatoagenda = save( $_POST['idstatoagenda'] );
				$data = saveDate( $_POST['data'] );
				$data_richiesta = saveDate( $_POST['data_richiesta'] );
				$richiesta = save($_POST['richiesta']);
				$descrizione = save($_POST['descrizione']);
				$idsede = save( $_POST['idsede'] );
				$ora_sla = saveTime( $_POST['ora_sla'] );
				$filename = save( $_POST['componente_filename'] );
				
				$idtipodoc = save( $_POST['idtipodoc'] );
				$iddocumento = save( $_POST['iddocumento'] );
				$data_documento=query_secca("","data","co_documenti","where id ='".$iddocumento."'");
				
				if( $_POST['data_sla']!="" ){
					$data_sla = saveDate( $_POST['data_sla'] );
				}
				$n_tecnici = 0;
				$array_interventi = array();
				foreach( $_POST['orario'] as $idriga => $valore ){
					$orario = $_POST['orario'][$idriga];
					$v = explode( ' - ', $orario );
					$orario_inizio = saveDateTime( $v[0] );
					$orario_fine = saveDateTime( $v[1] );
					if( $user_idanagrafica!='' && $_SESSION['gruppo']=='Tecnici' ){
						if ($_POST['idtecnico'][$idriga] == $user_idanagrafica){
							if( !$dbo->query("UPDATE agenda_anagrafica SET idintervento=\"".$idintervento."\", idtecnico=\"".$_POST['idtecnico'][$idriga]."\", idtipoagenda=\"".$_POST['idtipoagendat'][$idriga]."\", orario_inizio=\"".$orario_inizio."\", orario_fine=\"".$orario_fine."\", km=\"".$km."\", prezzo_ore_unitario=\"".$prezzo_ore_unitario."\", prezzo_km_unitario=\"".$prezzo_km_unitario."\", prezzo_ore_consuntivo=\"".$prezzo_ore_consuntivo."\", prezzo_km_consuntivo=\"".$prezzo_km_consuntivo."\", prezzo_dirittochiamata=\"".$prezzo_dirittochiamata."\", prezzo_ore_unitario_tecnico=\"".$prezzo_ore_unitario_tecnico."\", prezzo_km_unitario_tecnico=\"".$prezzo_km_unitario_tecnico."\", prezzo_ore_consuntivo_tecnico=\"".$prezzo_ore_consuntivo_tecnico."\", prezzo_km_consuntivo_tecnico=\"".$prezzo_km_consuntivo_tecnico."\", prezzo_dirittochiamata_tecnico=\"".$prezzo_dirittochiamata_tecnico."\", ore=\"".force_decimal($_POST['ore'][$idriga])."\" WHERE id=\"".$idriga."\" " ) ){
								array_push( $_SESSION['infos'], "Errore durante il salvataggio della sessione di lavoro #".$idriga."!" );
							}
						} else {
							array_push( $_SESSION['infos'], "Non hai i permessi per apportare queste modifiche!" );
						}
					}
					else{
						if( !$dbo->query("UPDATE agenda_anagrafica SET idintervento=\"".$idintervento."\", idtecnico=\"".$_POST['idtecnico'][$idriga]."\", idtipoagenda=\"".$_POST['idtipoagendat'][$idriga]."\", orario_inizio=\"".$orario_inizio."\", orario_fine=\"".$orario_fine."\" WHERE id=\"".$idriga."\" " ) ){
							array_push( $_SESSION['infos'], "Errore durante il salvataggio della sessione di lavoro #".$idriga."!" );
						}
					}
				}
				
				$query = "UPDATE agenda SET data_richiesta=\"$data_richiesta\",".
															"richiesta=\"$richiesta\",".
															"descrizione=\"$descrizione\",".
															"idstatoagenda=\"$idstatoagenda\",".
															"idsede=\"$idsede\",".
															"data_sla=\"$data_sla\",".
															"ora_sla=\"$ora_sla\",".
															"ass_idtipodocumento=\"$idtipodoc\",".
															"ass_iddocumento=\"$iddocumento\",".
															"ass_data_documento=\"$data_documento\",".
															"componente_filename=\"$filename\",".
															"idtipoagenda=\"$idtipoagenda\" WHERE idintervento=\"$idintervento\" ".$additional_where['Interventi'];
				$dbo->query( $query );

				
				$post_array = array();

				foreach( $_POST as $impostazione_post=>$valore_impostazione_post ){
					//Creo l'array con tutti i valori passati dal POST
					$impostazione_post = str_replace( "_", " ", $impostazione_post );
					$post_array[$impostazione_post] = save($valore_impostazione_post);
				}
				$nome = save($_POST['Nome']);

				//Lettura info componente
				if( file_exists($docroot."/files/my_impianti/".$filename) )
					$contenuto = file_get_contents( $docroot."/files/my_impianti/".$filename );
				else
					$contenuto = '';


				//Converto 'contenuto' di questo componente in un array
				$ini_array = parse_ini_string( $contenuto, true );

				//Creo variabile contenuto temporaneo
				$contenuto_tmp = array();

				//Resetto il valore di contenuto
				$contenuto = '';
			
				//Per ogni sezione dell'array estratto dal file ini
				foreach ($ini_array as $sezione => $array_impostazioni){
					$sezione = str_replace( "\r\n", "\n", $sezione );
					$sezione = str_replace( "\n", "<br/>", $sezione );
					$contenuto .= "[&quot;".$sezione."&quot;]\n";
					//Per ogni impostazione 
					foreach ($array_impostazioni as $impostazione => $valore_impostazione){
						if ($impostazione=='valore'){				
							$da = array($impostazione => $valore_impostazione);
							$a = array($impostazione => $post_array[$sezione]);						
							$contenuto_tmp = array_replace($ini_array[$sezione], $da, $a);						
							foreach ($contenuto_tmp as $impostazione_tmp => $valore_impostazione_tmp){
								$valore = $valore_impostazione_tmp;
								$valore = str_replace( "\r\n", "\n", $valore );
								$valore = str_replace( "\n", "<br/>", $valore );								
								$contenuto .= save($impostazione_tmp)." = &quot;".save($valore)."&quot;\n";
							}
						}
					}
				}

				$dbo->query("UPDATE agenda SET contenuto=\"".($contenuto)."\" WHERE idintervento='".$idintervento."'");
				
				
				
				array_push( $_SESSION['infos'], "Informazioni salvate correttamente!" );
			}
			break;

		case "add":
			$idintervento = save ($_POST['idintervento']);
			$rs = $dbo->fetchArray( "SELECT idintervento FROM agenda WHERE idintervento=\"".$idintervento."\"" );
			$n = sizeof($rs);
			if ($n>0){
				do{

					if( $html->form('ref', 'post') != 'agenda' ){
						array_push( $_SESSION['warnings'], "Numero appuntamento '".$idintervento."' saltato perchè già esistente!" );
					}

					$rs = $dbo->fetchArray( "SELECT idintervento FROM agenda WHERE idintervento=\"".$idintervento."\"" );
					$n = sizeof($rs);

					$new_codice = get_next_code( $idintervento, 1, get_var("Formato codice agenda") );

					if (!is_numeric($new_codice)):
						$new_codice = get_next_code( $idintervento, 1, get_var("Formato codice agenda") );
					endif;

					$idintervento = $new_codice;

				} while ($n==0);

				if( $html->form('ref', 'post') != 'agenda' ){
					array_push( $_SESSION['warnings'], "Nuovo numero appuntamento calcolato '".$idintervento."'" );
				}
			}
			//controllo permessi
			if( $modules_info[$module_name]["permessi"] == 'rw' ){
				$idanagrafica = save( $_POST['idanagrafica'] );
				$idtipoagenda = save( $_POST['idtipoagenda'] );
				$idstatoagenda = save( $_POST['idstatoagenda'] );
				$idsede = save( $_POST['idsede'] );
				$data = savedate( $_POST['data'] );
				$data_richiesta = savedate( $_POST['data_richiesta'] );
				$richiesta = save( $_POST['richiesta'] );
				$orario_inizio = str_replace( ".", ":", $_POST['orario_inizio'] );
				$orario_fine = str_replace( ".", ":", $_POST['orario_fine'] );
				$n_tecnici = sizeof($_POST['idtecnici']);
				$q = "SELECT * FROM agenda_tipi WHERE idtipoagenda='".$idtipoagenda."'";
				if ( $dbo->fetchNum($q) == 1 ){
					$rs = $dbo->fetchArray( $q );
					if( isset($_POST['idintervento']) && isset($_POST['idanagrafica']) && isset($_POST['idtipoagenda']) ){
						$dbo->query("INSERT INTO agenda( idintervento, idanagrafica,  idtipoagenda, idstatoagenda, idsede, data_richiesta, richiesta ) VALUES (\"".$idintervento."\", \"".$idanagrafica."\",  \"".$idtipoagenda."\", \"".$idstatoagenda."\", \"".$idsede."\", \"".$data_richiesta."\", \"".$richiesta."\" )" );
						$id_record = $idintervento;

						if( $html->form('ref', 'post') != 'agenda' ){
							array_push( $_SESSION['infos'], "Aggiunto nuovo appuntamento!" );
						}
					}
					( !is_array($_POST['idtecnico']) ) ? $idtecnici=array( $_POST['idtecnico'] ) : $idtecnici=$_POST['idtecnico'];

					foreach( $idtecnici as $idtecnico ){
						
						$dbo->query("INSERT INTO agenda_anagrafica( idintervento, idtecnico, idtipoagenda, idstatoagenda, orario_inizio, orario_fine ) VALUES( \"".$idintervento."\", \"".$idtecnico."\", \"".$idtipoagenda."\", \"".$idstatoagenda."\", \"".( date("Y-m-d", strtotime($data)) )." ".$orario_inizio."\", \"".( date("Y-m-d", strtotime($data)) )." ".$orario_fine."\")");
					}
				}else{
					array_push( $_SESSION['errors'], "Il tipo di appuntamento scelto non &eacute; valido!" );
				}
			}
			//fine controllo permessi
			if($html->form('ref', 'post') != 'agenda'){
				
				echo $idintervento;
			}
			break;

		case "delete":
			$idintervento = $id_record;
			if( $modules_info[$module_name]["permessi"] == 'rw' ){
				$query="DELETE FROM agenda WHERE idintervento=\"$idintervento\" ".$additional_where['Interventi'];
				$rs = $dbo->query($query);
				$query = "DELETE FROM agenda_anagrafica WHERE idintervento=\"$idintervento\"";
				$rs = $dbo->query($query);
				array_push( $_SESSION['infos'], "Appuntamento  \"".$idintervento."\" eliminato!" );
			}

		break;

	}
?>
