← Back
Editing: inserimento.php
<?php namespace Unicom\Ricestat; use mysqli; use Unicom\Ricestat\Service\REST; # autoloader $path = __DIR__; include "autoload.php"; \Unicom_Autoload::register(); \Unicom_Autoload::registerPath( $path.'/src' ); #require_once ($path."/../../funct.php"); require_once ("/var/www/vhosts/smartmedia2000.it/httpdocs/funct.php"); //require_once ($path."/../conn.php"); $dbName = "bookings"; #$conn = mysql_connect ("localhost", "bookings", "bo0k,7nGs") or die ("Impossibile stabilire una connessione a $db_nome."); #$db = mysql_select_db ($dbName, $conn) or die("Impossibile selezionare il database $db_nome."); $dbi = new \mysqli ("localhost", "bookings", "bo0k,7nGs", $dbName) or die ("Impossibile stabilire una connessione a $db_name."); require_once ("/var/www/vhosts/smartmedia2000.it/httpdocs/class.php"); $id_utente = $_GET['user']; $mm = $_GET['mm'] < 10 ? "0".$_GET['mm'] : $_GET['mm']; $aa = $_GET['aa'] ? $_GET['aa'] : date("Y"); $gMesi = array('01'=>31, '02'=>28, '03'=>31, '04'=>30, '05'=>31, '06'=>30, '07'=>31, '08'=>31, '09'=>30, '10'=>31, '11'=>30, '12'=>31); $table = "persone"; $ptitolo = "Persone"; require_once ($path."/../../lan_it.php"); if ($id_utente == 21) { require_once ($path."/../campingilsole.it/param_b.php"); } else { require_once ($path."/../camping-bungalows.com/param_b.php"); } $query = new doQuery (); $oggi = date ("Y-m-d"); $ieri = date ("Y-m-d", time()-(3600*24)); //for ($t=1461276000 ; $t<time()-(3600*24); $t+=(3600*24)) { //$ieri = date ("Y-m-d", $t); # init request //$src1 = new Source (4, 'smart-ebooking', 'Prova39360'); //$src2 = new Source (10, '052032ALB0043', 'password39360'); $src1 = new Source (4, 'smart-ebooking', 'yMj9aVF.ZUvTz.et'); if ($id_utente == 21) { $src2 = new Source (10, '053011CAM0003', 'lEz47AKPNDDZ8xns'); } else { $src2 = new Source (10, '053024CAM0005', 'KQMV1zaln99W5yRn'); } $rq = new SchedineRQ( $src1, $src2 ); $sql = "SELECT `presenze`.*, `presenze`.`id` AS `id_pres`, `persone`.*, `contratti`.`tipo` AS `tipo_con` FROM `presenze` INNER JOIN `persone` ON `persone`.`id` = `id_persona` INNER JOIN `contratti` ON `contratti`.`id` = `id_contratto` WHERE `presenze`.`id_utente` = ".$id_utente." AND `tipo_all` > 0 AND (`presenze`.`data_in` <= '".$aa."-".$mm."-".$gMesi[$mm]."%' AND `presenze`.`data_out` >= '".$aa."-".$mm."-01%') ORDER BY `presenze`.`data_out`, `id_contratto`, `tipo_all`"; #AND `presenze`.`data_in` LIKE '".$ieri."%' AND `presenze`.`data_out` NOT LIKE '".$ieri."%' #$ris = mysql_query ($sql, $conn); $ris = $dbi->query ($sql); //echo $sql; //eco($sql);exit; # controllo della colonna dei tipo alloggiato $cg = 0; # indice del capogruppo $ok = 1; $groups = array(); $oldTipo = 0; #while ($row = mysql_fetch_object ($ris)) { while ($row = $ris->fetch_object ()) { $codImpSogg = ''; $tipoAll = $row->tipo_all; # $taxSogg = array (0.5, 14, 7, '2018-06-01', '2020-10-01'); # tassa di soggiorno: x euro applicato da y anni fino a z giorni dalla data t # dati per tassa soggiorno $dataN = explode ('-', $row->data_nasc); if ($row->comune_res == 4409) # residenti $codImpSogg = 'RES'; if (($dataN[0]+$taxSogg[1])."-".$dataN[1]."-".$dataN[2] < $oggi) { $numTs++; $dataIn = $row->data_in < $taxSogg[3] ? explode ('-', $taxSogg[3]) : explode ('-', substr ($row->data_in, 0, 10)); $timeIn = mktime (0,0,0, $dataIn[1], $dataIn[2], $dataIn[0]); if ($row->data_out > $taxSogg[4]) $dataOut = explode ('-', $taxSogg[4]); else $dataOut = strpos ($row->data_out, "00-00-00") ? explode ('-', $oggi) : explode ('-', substr ($row->data_out, 0, 10)); //eco($dataOut); $timeOut = mktime (0,0,0, $dataOut[1], $dataOut[2], $dataOut[0]); $ggPres = ($timeOut - $timeIn)/(3600*24); # calcolo notti residue $ggPresP = 0; $sqlR = "SELECT datediff (`data_out`, `data_in`) AS `diff` FROM `presenze` WHERE `id_persona` = ".$row->id_persona." AND `data_in` LIKE '".$dataOut[0]."%' AND `data_out` < '".$row->data_out."'"; #$risR = mysql_query ($sqlR, $conn); //eco($sqlR); $risR = $dbi->query ($sql); #while ($rowR = mysql_fetch_object ($risR)) { while ($rowR = $risR->fetch_object ()) { $ggPresP+= $rowR->diff; } $nottiImp = $ggPresP >= $taxSogg[2] ? 0 : $taxSogg[2]-$ggPresP; //eco($row->id_persona." ".$row->nome." ".$row->cognome." ".$ggPresP." pass - att ".$ggPres." - da pag ".$nottiImp." ".$codImpSogg); } else { # minore $codImpSogg = 'MN'; } # soliti trucchi if (!$oldTipo && $tipoAll > 18) $tipoAll = 18; if ($oldTipo == 16 && $tipoAll > 18) $tipoAll = $tipoAll-2; else if (($oldTipo == 17 || $oldTipo == 18) && $tipoAll != ($oldTipo+2)) $tipoAll = $oldTipo+2; $luogoNasc = $query->getPlace ($row->comune_nasc, $row->stato_nasc); $luogoRes = $query->getPlace ($row->comune_res, $row->stato_res); $cittadin = $query->getPlace (0, $row->cittadinanza); list ($dataIn, $x) = explode (' ', $row->data_in); list ($dataOut, $x) = explode (' ', $row->data_out_pr); $idCamera = $row->tipo_con == 1 ? "piazzola" : "casa mobile"; //if ($tipoAll < 19) echo "<br>"; echo $tipoAll." "; if ($oldTipo == 16 || ($oldTipo > $tipoAll)) # chiude grupopo $groups[] = $group; if ($tipoAll == 16) # apre singolo $group = new OspiteSingolo ($row->id_pres.$tipoAll); else if ($tipoAll == 17 || $tipoAll == 18) # apre gruppo $group = new Gruppo ($row->id_pres.$tipoAll); //$elenco.= generaRiga (array ($row->id_pres, $row->id_sistemaz, $tipoAll, $dataIn, $dataOut, $luogoRes['stato'], $luogoRes['codPS_com'], $luogoRes['codPS_pr'], $luogoRes['codPS_st'], $row->sesso, $dataNasc, $luogoNasc['stato'], $luogoNasc['codPS_st'], $cittadin['codPS_st'])); $ospite = new Ospite ($row->id_pres, $idCamera, $tipoAll); # Id, IdCamera, TipoAlloggiato $ospite->setDataDiArrivo ($dataIn) ->setDataDiPartenza ($dataOut) ->setDataDiNascita ($row->data_nasc) ->setCittadinanza (new Cittadinanza ($cittadin['codPS_st'])) ->setCampiStatistici (new CampiStatistici (TipoTurismo::ALTRO, MezzoDiTrasporto::ALTRO, TipoPrenotazione::ALTRO ) ) ->setImpostaDiSoggiorno ( new ImpostaDiSoggiorno($codImpSogg, $valImp, $nottiImp) ); if ($sesso == 2) $ospite->setSesso (Sesso::FEMMINA); else $ospite->setSesso (Sesso::MASCHIO); if ($luogoRes['stato'] == 'Italia') $ospite->setProvenienza (new Italia ($luogoRes['codPS_com'], $luogoRes['codPS_pr'], $luogoRes['codPS_st'])); else $ospite->setProvenienza (new Estero ($luogoRes['codPS_st'])); if ($luogoNasc['stato'] == 'Italia') $ospite->setNascita (new Italia ($luogoNasc['codPS_com'], $luogoNasc['codPS_pr'], $luogoNasc['codPS_st'])); else $ospite->setNascita (new Estero ($luogoNasc['codPS_st'])); $group->setOspite( $ospite ); //eco($ospite); $oldTipo = $tipoAll; } $groups[] = $group; $xml = $rq->inserimentoAlloggiati ($groups); $arIn = array ("><",); $arOut = array (">\r\n<"); $xml = str_replace ($arIn, $arOut, $xml); file_put_contents ($path.'/xml/inserimento.xml', $xml); # log data //eco($xml); //echo "<p><textarea cols='100' rows='30'>$xml0</textarea></p>"; //exit(); # init client and send data to service $rest_cli = new REST\Client(); $rest_cli->setLogFile ($path.'/logs/inserimento.txt'); $resp = $rest_cli->send ($xml); print_r ($resp->getError()); #print_r ($resp); //} exit; /* for ($i=0; $i<count ($tipoAll); $i++) { # se è singolo o capogruppo if ($tipoAll[$i] == 16 || $tipoAll[$i] == 17 || $tipoAll[$i] == 18) { # se il gruppo precedente non va bene lo sistema if (!$ok) { $tipoAll[$cg] = 18; for ($j=$cg+1; $j<$i; $j++) $tipoAll[$j] = 20; } # se ci sono due capigruppo attaccati if ($i == $cg+1 && $tipoAll[$cg] != 16) $tipoAll[$cg] = 16; # resetta i parametri $cg = $i; $ok = 1; } # se è componente gruppo controlla il codice else if ($tipoAll[$i] != $tipoAll[$cg]+2) $ok = 0; } if (!$ok) { $tipoAll[$cg] = 18; for ($j=$cg+1; $j<$i; $j++) $tipoAll[$j] = 20; } # se il primo è minore senza documenti if ($i == 0 && !$row->docum_tipo) { for ($j=1; $j<count ($tipoAll); $j++) if ($tipoAll[$j] == 20) { $k = $j; break; } $elenco2.= generaRiga (array ($tipoAll[$k], $row->id_pres, $row->id_sistemaz, $dataIn, $dataOut, $row->cognome, $row->nome, $row->sesso, $dataNas, $luogoNasc['codPS_com'],$luogoNasc['targa'], $luogoNasc['codPS_st'], $cittadin['codPS_st']), $row->tipo_all); } else { # minore if ($row->tipo_all < 19 && !$row->docum_tipo && getAge($row->data_nasc, $oggi) < 18) { $rowO = $query->freeQuery ("SELECT `id_ospitante` FROM `contratti` WHERE `id` = ".$row->id_contratto." LIMIT 1", 0); if ($rowO[0]->id_ospitante) $idCO = $rowO[0]->id_ospitante; else { $rowO = $query->freeQuery ("SELECT `id` FROM `contratti` WHERE `id_ospitante` = ".$row->id_contratto." AND `data_in` < '".$oggi."' AND `data_in` NOT LIKE '0000%' AND (`data_out` > '$ieri' OR `data_out` LIKE '0000%') ORDER BY `data_in` DESC LIMIT 1", 0); $idCO = $rowO[0]->id; if (!$idCO) $idCO = $row->id_contratto; } $sqlO = "SELECT `presenze`.`id` FROM `presenze`, `persone` WHERE `persone`.`id`=`id_persona` AND `id_contratto` = ".$idCO." AND `data_in` < '".$oggi."' AND `data_in` NOT LIKE '0000%' AND (`data_out` > '".$ieri."' OR `data_out` LIKE '0000%') AND `docum_tipo` > 0 AND `docum_num` != '' ORDER BY `data_in` ASC, `tipo_all` ASC"; $rowsO = $query->freeQuery ($sqlO, 0); if ($rowsO[0]->id) { $sqlO = "SELECT `persone`.*, `presenze`.* FROM `persone`, `presenze` WHERE `persone`.`id`=`id_persona` AND `presenze`.`id` = ".$rowsO[0]->id." LIMIT 1"; $rowO = $query->freeQuery ($sqlO, 0); } // else echo "C'e' un problema: controllare l'ospite dopo la riga bianca!\n\n"; $luogoNascO = $query->getPlace ($rowO[0]->comune_nasc, $rowO[0]->stato_nasc); // $luogoResO = $query->getPlace ($rowO[0]->comune_res, $rowO[0]->stato_res); $cittadinO = $query->getPlace (0, $rowO[0]->cittadinanza); $luogoDocO = $query->getPlace ($rowO[0]->docum_rilasc, abs ($rowO[0]->docum_rilasc)); # se il campo è negativo il luogo è estero $fieldDocRilO = $rowO[0]->docum_rilasc > 0 ? "codPS_com" : "codPS_st"; list ($dataInO, $x) = explode (' ', date2data ($rowO[0]->data_in)); list ($dataNasO, $x) = explode (' ', date2data ($rowO[0]->data_nasc)); if ($tipoAll[$i] > 16) $tipoAllO = $tipoAll[$i]; else $tipoAllO = $tipoAll[$i]+2; $rigaP.= generaRiga (array ($tipoAllO, date2data ($ieri), $ggPres, $rowO[0]->cognome, $rowO[0]->nome, $rowO[0]->sesso, $dataNasO, $luogoNascO['codPS_com'],$luogoNascO['targa'], $luogoNascO['codPS_st'], $cittadinO['codPS_st'], $arDocum[$rowO[0]->docum_tipo], $rowO[0]->docum_num, $luogoDocO[$fieldDocRilO]), 18)."\r\n"; $ctrlR = substr ($rigaP, 2); if ($cR = strpos ($elenco, $ctrlR)) { $nEl = substr ($elenco, 0, $cR-2); $nEl.= substr ($elenco, $cR+236); $elenco = $nEl; } $elenco.= $rigaP.generaRiga (array ($tipoAllO+2, $row->id_pres, $row->id_sistemaz, $dataOut, $row->cognome, $row->nome, $row->sesso, $dataNas, $luogoNasc['codPS_com'], $luogoNasc['targa'], $luogoNasc['codPS_st'], $cittadin['codPS_st'], $arDocum[$row->docum_tipo],$row->docum_num, $luogoDoc[$fieldDocRil]), $row->tipo_all); $rigaP = ""; } # magigorennes else { $elenco.= generaRiga (array ($row->id_pres, $row->id_sistemaz, $tipoAll[$i], $dataIn, $dataOut, $luogoRes['stato'], $luogoRes['codPS_com'], $luogoRes['codPS_pr'], $luogoRes['codPS_st'], $row->sesso, $dataNas, $luogoNasc['stato'], $luogoNasc['codPS_st'], $cittadin['codPS_st'], $row->tipo_all)); } } if ($elenco2 && $i == $k) $elenco.= $elenco2; */ ?>
Save File
Cancel