function mostra_frame_rel($id, $rel, $rel_sup, $id_ut_sel, $cmp, $mostra_cod, $pieno, $titolo, $size = "20", $maxlength = "50") { global $tablerelutenti, $tablenazioni, $tableregioni, $tablecitta, $tabledocumentiid, $tableparentele; trova_rel($rel, $rel_sing, $rel_plur, $tablerel); trova_rel($rel_sup, $rel_sup_sing, $rel_sup_plur, $tablerel_sup); if (get_magic_quotes_gpc()) { $id = stripslashes($id); } $id = htmlspecialchars($id); $id_sup = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_ut_sel}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($id) . "' "); if (numlin_query($id_sup)) { $is_id = "= '" . risul_query($id_sup, 0, "id{$rel_sup_plur}", $tablerel_sup) . "'"; } else { $is_id = "is NULL"; } echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >\n<title> {$titolo} </title>\n</head>\n<body>\n<div id=\"dati_rel\">"; $rel_utente = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerel}.codice_{$rel_sing},{$tablerel}.codice2_{$rel_sing},{$tablerel}.codice3_{$rel_sing} from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$id_ut_sel}' and {$tablerelutenti}.idsup {$is_id} order by {$tablerel}.nome_{$rel_sing}"); $num_rel_utente = numlin_query($rel_utente); if ($num_rel_utente) { echo "<select name=\"{$cmp}\" id=\"{$cmp}\">"; if ($pieno != "SI") { echo "<option value=\"\">------</option>"; } for ($num1 = 0; $num1 < $num_rel_utente; $num1++) { $rel = htmlspecialchars(risul_query($rel_utente, $num1, "nome_{$rel_sing}", $tablerel)); echo "<option value=\"{$rel}\">{$rel}"; if ($mostra_cod) { $codice = htmlspecialchars(risul_query($rel_utente, $num1, "codice_{$rel_sing}", $tablerel)); $codice2 = htmlspecialchars(risul_query($rel_utente, $num1, "codice2_{$rel_sing}", $tablerel)); $codice3 = htmlspecialchars(risul_query($rel_utente, $num1, "codice3_{$rel_sing}", $tablerel)); if (strcmp($codice, "")) { echo " ({$codice})"; } if (strcmp($codice2, "")) { echo " (" . mex("2°", 'personalizza.php') . " {$codice2})"; } if (strcmp($codice3, "")) { echo " (" . mex("3°", 'personalizza.php') . " {$codice3})"; } } # fine if ($mostra_cod) echo "</option>"; } # fine for $num1 echo "</select>"; } else { echo "<input type=\"text\" name=\"{$cmp}\" id=\"{$cmp}\" size=\"{$size}\" maxlength=\"{$maxlength}\">"; } echo "</div>\n</body>\n</html>\n"; }
if (${"ospite".$id_prenota."_".$id_clienti_osp} == "SI") { if ($app_letto_idpr[$num_idpr] and $num_ospiti > 0) { $mess_letto = 1; $canc_ospite = 1; } # fine if ($app_letto_idpr[$num_idpr] and $num_ospiti > 0) else { $num_ospiti++; $lista_ospiti[$num_ospiti] = $id_clienti_osp; $lista_ospiti['lista'] .= $id_clienti_osp.","; $presente_id[$id_clienti_osp] = "SI"; $parentela = ${"parentela_".$id_prenota."_".$id_clienti_osp}; if (@get_magic_quotes_gpc()) $parentela = stripslashes($parentela); $parentela = htmlspecialchars($parentela); $d_parentela = risul_query($ospiti,($osp_presente[$id_clienti_osp] - 1),'parentela'); if ($parentela != $d_parentela) { esegui_query("update $tablerclientiprenota set parentela = '".aggslashdb($parentela)."' where idprenota = '$id_prenota' and idclienti = '$id_clienti_osp' "); $lista_parentela_cambiata .= " and idclienti != '$id_clienti_osp'"; } # fine if ($parentela != $d_parentela) } # fine else if ($app_letto_idpr[$num_idpr] and $num_ospiti > 0) } # fine if (${"ospite".$id_prenota."_".$id_clienti_osp} == "SI") else $canc_ospite = 1; if ($canc_ospite) esegui_query("delete from $tablerclientiprenota where idprenota = '$id_prenota' and idclienti = '$id_clienti_osp' "); } # fine if ($osp_presente[$id_clienti_osp]) } # fine if ($id_clienti_osp and... if (!$id_clienti_osp and ${"cognome".$id_prenota."_".$num1} and $inserimento_nuovi_clienti == "SI") { if ($app_letto_idpr[$num_idpr] and $num_ospiti > 0) $mess_letto = 1; else { $cognome_aux = ${"cognome".$id_prenota."_".$num1}; $nome_aux = ${"nome".$id_prenota."_".$num1}; $titolo_cli_aux = ${"titolo_cli".$id_prenota."_".$num1}; $sesso_aux = ${"sesso".$id_prenota."_".$num1};
echo mex("Impossibile effettuare il collegamento, controllare i data immessi",$pag).".<br>"; } # fine else if ($errore != "SI") @unlink($file_backup); distruggi_lock_file($filelock,$file_backup); } # fine if ($crea_subordinazione) if ($cancella_subordinazione) { @unlink(C_DATA_PATH."/dati_subordinazione.php"); esegui_query("update $tablepersonalizza set valpersonalizza = 'NO' where idpersonalizza = 'subordinazione' and idutente = '1'"); echo mex("Subordinazione cancellata",$pag).".<br>"; } # fine if ($cancella_subordinazione) if ($modifica_utente_agg and $n_utente_agg and $n_utente_agg != "1") { $utente_esistente = esegui_query("select * from $tableutenti where idutenti = '".aggslashdb($n_utente_agg)."'"); if (numlin_query($utente_esistente) > 0) { $id_utente_az = esegui_query("select idlocale from $tableinterconnessioni where tipoid = 'id_utente_az' "); if (numlin_query($id_utente_az) > 0) esegui_query("update $tableinterconnessioni set idlocale = '$n_utente_agg' where tipoid = 'id_utente_az' "); else esegui_query("insert into $tableinterconnessioni (idlocale,tipoid) values ('$n_utente_agg','id_utente_az') "); echo "".mex("Utente per l'aggiornamento remoto modificato",$pag).".<br>"; } # fine if (numlin_query($utente_esistente) > 0) } # fine if ($modifica_utente_agg and $n_utente_agg and... } # fine else if ($modulo) if ($mostra_form_iniziale == "NO") { echo "<div style=\"text-align: center;\"> <form accept-charset=\"utf-8\" method=\"post\" action=\"./interconnessioni.php\"><div> <input type=\"hidden\" name=\"anno\" value=\"$anno\">
$dati_transazione14 .= aggslashdb(${"id_periodi_costo".$numca."_".$n_t}); } # fine for $numca } # fine for $n_t $dati_transazione4 = substr($dati_transazione4,1); $dati_transazione5 = substr($dati_transazione5,1); $dati_transazione6 = substr($dati_transazione6,1); $dati_transazione7 = substr($dati_transazione7,1); $dati_transazione8 = substr($dati_transazione8,1); $dati_transazione9 = substr($dati_transazione9,1); $dati_transazione10 = substr($dati_transazione10,1); $dati_transazione11 = substr($dati_transazione11,1); $dati_transazione12 = substr($dati_transazione12,1); $dati_transazione13 = substr($dati_transazione13,1); $dati_transazione14 = substr($dati_transazione14,1); $dati_transazione15 = aggslashdb($cognome_richiedente)."<d>".aggslashdb($nome_richiedente)."<d>".aggslashdb($email_richiedente)."<d>".aggslashdb($sesso)."<d>".aggslashdb($datanascita)."<d>".aggslashdb($documento)."<d>".aggslashdb($nazione)."<d>".aggslashdb($regione)."<d>"; $dati_transazione15 .= aggslashdb($citta)."<d>".aggslashdb($via)."<d>".aggslashdb($numcivico)."<d>".aggslashdb($cap)."<d>".aggslashdb($telefono)."<d>".aggslashdb($telefono2)."<d>".aggslashdb($telefono3)."<d>".aggslashdb($fax)."<d>".aggslashdb($oracheckin)."<d>".aggslashdb($metodo_pagamento)."<d>".aggslashdb($tipodoc)."<d>".aggslashdb($lingua_modello); $dati_transazione16 = substr($dati_transazione16,1); esegui_query("insert into $tablemessaggi (idmessaggi,tipo_messaggio,idutenti,idutenti_visto,datavisione,mittente,testo,dati_messaggio1,dati_messaggio2,dati_messaggio3,dati_messaggio4,dati_messaggio5,dati_messaggio6,dati_messaggio7,dati_messaggio8,dati_messaggio9,dati_messaggio10,dati_messaggio11,dati_messaggio12,dati_messaggio13,dati_messaggio14,dati_messaggio15,dati_messaggio16,dati_messaggio17,dati_messaggio18,dati_messaggio19,datainserimento) values ('$max_mess','rprenota','$lista_utenti','$lista_utenti','$datainserimento','$mittente','$testo_email','da_inserire','$costo_totale,$caparra_totale','$dati_transazione3','$dati_transazione4','$dati_transazione5','$dati_transazione6','$dati_transazione7','$dati_transazione8','$dati_transazione9','$dati_transazione10','$dati_transazione11','$dati_transazione12','$dati_transazione13','$dati_transazione14','$dati_transazione15','$dati_transazione16','$REMOTE_ADDR','$anno','$origine_prenotazione','$datainserimento')"); $inviato = "SI"; } # fine if ($utente_trovato == "SI") unlock_tabelle($tabelle_lock); $tabelle_lock = ""; } # fine if ($utente_messaggio) if ($inviato) { echo "<br>".$fr_Richiesta_di_prenotazione_inviata; if ($email_richiedente) echo " $fr_da <b>$email_richiedente</b>"; echo ".<br>"; if ($inviato_c and $email_richiedente) echo "<br>$fr_Copia_della_richiesta_e_stata_inviata_a $email_richiedente.<br>";
# se vi sono costi con beni inventario dall'appartamento for ($numca = 1; $numca <= $numcostiagg; $numca++) { $costoagg = "costoagg" . $numca; $idcostoagg = "idcostoagg" . $numca; $num_costo = $dati_ca['id'][${$idcostoagg}]; if ($dati_ca[$num_costo]['tipo_beniinv'] == "app" and ${$costoagg} == "SI" and $dati_ca[$num_costo]['mostra'] == "s") { $nrc = ""; $numsettimane_aux = ${"numsettimane" . $numca}; $settimane_costo = calcola_settimane_costo($tableperiodi, $dati_ca, $num_costo, $idinizioperiodo, $idfineperiodo, "", aggslashdb($numsettimane_aux)); for ($n_r = 1; $n_r <= $app_richiesti[',numero,']; $n_r++) { $numpersone_corr = $numpersone; if ($numpersone_vett[$n_r]) { $numpersone_corr = $numpersone_vett[$n_r]; } $nummoltiplica_ca_aux = ${"nummoltiplica_ca" . $numca}; calcola_moltiplica_costo($dati_ca, $num_costo, $moltiplica_costo, $idinizioperiodo, $idfineperiodo, $settimane_costo, aggslashdb($nummoltiplica_ca_aux), $numpersone_corr, ""); $lista_app_richiesti = "," . $app_richiesti[$n_r] . ","; for ($num1 = 0; $num1 < $numappartamenti; $num1++) { $idapp = risul_query($appartamenti, $num1, 'idappartamenti'); if (str_replace(",{$idapp},", "", "," . $app_richiesti[$n_r] . ",") != "," . $app_richiesti[$n_r] . ",") { $risul = controlla_beni_inventario_costo($tablerelinventario, $dati_ca, $num_costo, $beniinv_presenti, $nrc, "", $idinizioperiodo, $idfineperiodo, $settimane_costo, $moltiplica_costo, $idapp); if ($risul != "SI") { $app_richiesti[$n_r] = substr(str_replace(",{$idapp},", ",", "," . $app_richiesti[$n_r] . ","), 1, -1); $app_incomp_costi = "SI"; } # fine ($risul != "SI") } # fine if (str_replace(",$idapp,","",",".$app_richiesti[$n_r].",") != ",".$app_richiesti[$n_r].",") } # fine for $num1 }
function cancella_relazioni_utente($tablerelutenti, $idrelutenti, $tablerel, $idrel) { $relazioni = esegui_query("select {$idrel} from {$tablerel}"); $num_rel = numlin_query($relazioni); for ($num1 = 0; $num1 < $num_rel; $num1++) { $relazione = aggslashdb(risul_query($relazioni, $num1, $idrel)); $rel_esist = esegui_query("select {$idrelutenti} from {$tablerelutenti} where {$idrelutenti} = '{$relazione}' "); if (numlin_query($rel_esist) == 0) { esegui_query("delete from {$tablerel} where {$idrel} = '{$relazione}' "); } } # fine for $num1 }
function aggiorna_var_anno_modello_rat ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) { global $num_periodi_date,$LIKE,$anno,$estendi_ultima_data; $n_num_periodi_date = 0; if ($id_data_ini_periodi_prec) { for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) { global ${"inizioperiodo".$num1},${"fineperiodo".$num1},${"intervalloperiodo".$num1}; $inizioperiodo = aggslashdb(${"inizioperiodo".$num1}); $fineperiodo = aggslashdb(${"fineperiodo".$num1}); $idinizioperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datainizio = '$inizioperiodo' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo,0,idperiodi); } $inizioperiodo = $idinizioperiodo; $idfineperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datafine = '$fineperiodo' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo,0,idperiodi); } $fineperiodo = $idfineperiodo; $intervalloperiodo = aggslashdb(${"intervalloperiodo".$num1}); if ($estendi_ultima_data == "SI" and $num1 == ($num_periodi_date - 1)) $fineperiodo = $id_data_ini_periodi_prec + $intervalloperiodo; if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec) { if ($inizioperiodo < $id_data_ini_periodi_prec) { for ($num2 = $inizioperiodo ; $num2 <= $fineperiodo ; $num2 = $num2 + $intervalloperiodo) { if ($num2 >= $id_data_ini_periodi_prec) { $inizioperiodo = $num2; break; } # fine if ($num2 >= $id_data_ini_periodi_prec) } # fine for $num2 } # fine if ($inizioperiodo < $id_data_ini_periodi_prec) $n_inizioperiodo[$n_num_periodi_date] = $inizioperiodo - $id_data_ini_periodi_prec + 1; $n_fineperiodo[$n_num_periodi_date] = $fineperiodo - $id_data_ini_periodi_prec + 1; $n_intervalloperiodo[$n_num_periodi_date] = $intervalloperiodo; $n_num_periodi_date++; } # fine if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec or... } # fine for $num1 } # fine if ($id_data_ini_periodi_prec) if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) { $n_num_periodi_date = 1; global $inizioperiodo0,$fineperiodo0,$intervalloperiodo0; if (($num_periodi_date - 1) != 0) global ${"fineperiodo".($num_periodi_date - 1)},${"intervalloperiodo".($num_periodi_date - 1)}; $n_intervalloperiodo[0] = ${"intervalloperiodo".($num_periodi_date - 1)}; $inizioperiodo = ${"fineperiodo".($num_periodi_date - 1)}; if ($tipo_periodi == "g") $aggiungi_giorni = 1; else $aggiungi_giorni = 7; $anno_inizio = substr($inizioperiodo,0,4); $mese_inizio = substr($inizioperiodo,5,2); $giorno_inizio = substr($inizioperiodo,8,2); for ($num1 = 0 ; $num1 < 2000 ; $num1++) { $datainizio = date("Y-m-d",mktime(0,0,0,$mese_inizio,$giorno_inizio,$anno_inizio)); $datainizio = esegui_query("select * from $tableperiodi where datainizio = '$datainizio'"); if (numlin_query($datainizio) == 1) { $n_inizioperiodo[0] = risul_query($datainizio,0,idperiodi); break; } # fine if (numlin_query($datainizio) == 1) $giorno_inizio = $giorno_inizio + ($n_intervalloperiodo[0] * $aggiungi_giorni); } # fine for $num1 $n_fineperiodo[0] = $n_inizioperiodo[0]; } # fine if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) for ($num1 = 0 ; $num1 < $n_num_periodi_date ; $num1++) { $inizioperiodo = $n_inizioperiodo[$num1]; $fineperiodo = $n_fineperiodo[$num1]; $inizioperiodo = esegui_query("select datainizio from $tableperiodi where idperiodi = '$inizioperiodo' "); $inizioperiodo = @risul_query($inizioperiodo,0,datainizio); $fineperiodo = esegui_query("select datafine from $tableperiodi where idperiodi = '$fineperiodo' "); $fineperiodo = @risul_query($fineperiodo,0,datafine); if (!$inizioperiodo or !$fineperiodo) $n_num_periodi_date = 0; ${"inizioperiodo".$num1} = $inizioperiodo; ${"fineperiodo".$num1} = $fineperiodo; ${"intervalloperiodo".$num1} = $n_intervalloperiodo[$num1]; } # fine for $num1 $num_periodi_date = $n_num_periodi_date; if (!$num_periodi_date) $inizioperiodo0 = ""; } # fine funtcion aggiorna_var_anno_modello_rat
if ($anno >= substr($datainserimento, 0, 4)) { $costo0 = esegui_query("select * from {$tablecosti} where idcosti = 0"); $costo0 = risul_query($costo0, 0, 'val_costo'); $costo0 = $costo0 + $val_costo; esegui_query("update {$tablecosti} set val_costo = '{$costo0}' where idcosti = 0 "); } # fine if ($anno >= substr($datainserimento,0,4)) } # fine if ($inserisci_entrata and $entrata_da_prenota) $idcosti = esegui_query("select max(idcosti) from {$tablecosti}"); $idcosti = risul_query($idcosti, 0, 0) + 1; $tipo_costo = "e"; if ($inserisci_spesa) { $tipo_costo = "s"; } esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,tipo_costo,nome_cassa,persona_costo,provenienza_costo,metodo_pagamento,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti}','{$nome_costo}','{$val_costo}','{$tipo_costo}','" . aggslashdb($nome_cassa) . "','{$persona_costo}','{$provenienza_costo}','{$metodo_pagamento}','{$datainserimento}','{$HOSTNAME}','{$id_utente}') "); if ($inserisci_entrata) { echo mex("L'entrata è stata inserita", $pag) . ".<br>"; } if ($inserisci_spesa) { echo mex("La spesa è stata inserita", $pag) . ".<br>"; } } # fine if ($inserire != "NO") echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"costi.php\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input class=\"sbutton\" type=\"submit\" name=\"torna\" value=\"" . mex("OK", $pag) . "\">\n</div></form>"; unlock_tabelle($tabelle_lock); } # fine if ($inserisci_entrata or $inserisci_spesa) if ($mostra_form_inserimento != "NO") { $casse = esegui_query("select * from {$tablecasse} order by idcasse"); $num_casse = numlin_query($casse);
# fine if ($inseriscicliente or $inserire) } # fine else if ($inserire == "SI_NO") if ($mostra_form_dati_cliente != "NO") { if (!$titolo_form_dati_cliente) { $titolo_form_dati_cliente = mex("Inserisci o modifica i data di un cliente", $pag); } echo "<h4>{$titolo_form_dati_cliente}.</h4>"; # Questa è la form di inserimento if ($origine == "") { $origine = "clienti.php"; } # fine if ($origine == "") $annonascita = 19; if ($idmessaggi) { $dati_mess = esegui_query("select dati_messaggio15 from {$tablemessaggi} where idmessaggi = '" . aggslashdb($idmessaggi) . "' and idutenti {$LIKE} '%,{$id_utente},%' "); if (numlin_query($dati_mess) == 1) { $dati_mess = explode("<d>", risul_query($dati_mess, 0, 'dati_messaggio15')); $cognome_richiedente = $dati_mess[0]; #$nome = $dati_mess[1]; $email = $dati_mess[2]; $sesso = $dati_mess[3]; if ($sesso == "F") { $sel_f = " selected"; } if ($sesso == "M") { $sel_m = " selected"; } $datanascita = $dati_mess[4]; $annonascita = substr($datanascita, 0, 4); $mesenascita = substr($datanascita, 5, 2);
function aggiorna_relutenti($aggiungi_rel, $rel_predefinite, $elimina_tutte_rel, $importa_rel, $id_utente, $id_utente_mod, $nuova_rel, $sup_n_rel, $cod_n_rel, $cod2_n_rel, $cod3_n_rel, $utente_importa_rel, $pag, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_sup_sing = "", $rel_sup_plur = "", $tablerel_sup = "", $rel_inf_sing = "", $rel_inf_plur = "", $tablerel_inf = "") { if ($id_utente != 1 or $id_utente_mod == $utente_importa_rel) { $importa_rel = ""; } if ($aggiungi_rel or $rel_predefinite or $elimina_tutte_rel or $importa_rel) { if (get_magic_quotes_gpc()) { $nuova_rel = stripslashes($nuova_rel); $cod_n_rel = stripslashes($cod_n_rel); $cod2_n_rel = stripslashes($cod2_n_rel); $cod3_n_rel = stripslashes($cod3_n_rel); $sup_n_rel = stripslashes($sup_n_rel); } # fine if (get_magic_quotes_gpc()) $nuova_rel = htmlspecialchars($nuova_rel); $cod_n_rel = htmlspecialchars($cod_n_rel); $cod2_n_rel = htmlspecialchars($cod2_n_rel); $cod3_n_rel = htmlspecialchars($cod3_n_rel); $sup_n_rel = htmlspecialchars($sup_n_rel); if (!$aggiungi_rel or str_replace(" ", "", $nuova_rel)) { echo "<div id=\"avanz_{$rel_plur}\"><br>"; if ($tablerel_inf) { $tabelle_lock = array($tablerel, $tablerel_inf, $tablerelutenti); } else { $tabelle_lock = array($tablerel, $tablerelutenti); } if ($tablerel_sup) { $altre_tab_lock = array($tablerel_sup); } else { $altre_tab_lock = ""; } $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); unset($lista_rel); unset($cod_rel); unset($cod2_rel); unset($cod3_rel); unset($cod_rel_sup); if ($aggiungi_rel) { $lista_rel[0] = $nuova_rel; $cod_rel[0] = $cod_n_rel; $cod2_rel[0] = $cod2_n_rel; $cod3_rel[0] = $cod3_n_rel; if ($rel_sup_sing and $sup_n_rel) { $sup_n_rel_esist = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_utente_mod}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($sup_n_rel) . "' "); if (numlin_query($sup_n_rel_esist) > 0) { $id_rel_sup_vett[0] = risul_query($sup_n_rel_esist, 0, "id{$rel_sup_plur}", $tablerel_sup); } } # fine if ($rel_sup_sing and $sup_n_rel) } else { $rel_canc = esegui_query("select id{$rel_sing} from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $num_rel_canc = numlin_query($rel_canc); esegui_query("delete from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $rel_usate = esegui_query("select distinct id{$rel_sing} from {$tablerelutenti} where id{$rel_sing} is not NULL"); $num_rel_usate = numlin_query($rel_usate); for ($num1 = 0; $num1 < $num_rel_usate; $num1++) { $relutente_usate[(int) risul_query($rel_usate, $num1, "id{$rel_sing}")] = 1; } # fine for $num1 for ($num1 = 0; $num1 < $num_rel_canc; $num1++) { if (substr($num1, -3) == "000") { http_keep_alive(". "); } if ($num1 > 20) { $nolog = 1; } else { $nolog = 0; } cancella_relutente(risul_query($rel_canc, $num1, "id{$rel_sing}"), $id_utente_mod, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_inf_sing, $rel_inf_plur, $tablerel_inf, "SI", $relutente_usate, $nolog); } # fine for $num1 unset($rel_canc); unset($rel_usate); unset($relutente_usate); if ($rel_predefinite) { include C_DATA_PATH . "/lingua.php"; global ${"lista_" . $rel_plur}, ${"cod_" . $rel_plur}, ${"cod2_" . $rel_plur}, ${"cod3_" . $rel_plur}, ${"cod_" . $rel_sup_sing . "_" . $rel_plur}; if ($lingua[$id_utente_mod] == "ita") { include_once "./includes/lista_{$rel_plur}.php"; } else { if (@is_file("./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php")) { include_once "./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php"; } } $lista_rel = ${"lista_" . $rel_plur}; $cod_rel = ${"cod_" . $rel_plur}; $cod2_rel = ${"cod2_" . $rel_plur}; $cod3_rel = ${"cod3_" . $rel_plur}; if ($rel_sup_sing) { $cod_rel_sup = ${"cod_" . $rel_sup_sing . "_" . $rel_plur}; } if (@is_array($lista_rel)) { $num_rel = count($lista_rel); } else { $num_rel = 0; } for ($num1 = 0; $num1 < $num_rel; $num1++) { $lista_rel[$num1] = htmlspecialchars($lista_rel[$num1]); $cod_rel[$num1] = htmlspecialchars($cod_rel[$num1]); $cod2_rel[$num1] = htmlspecialchars($cod2_rel[$num1]); $cod3_rel[$num1] = htmlspecialchars($cod3_rel[$num1]); $cod_rel_sup[$num1] = htmlspecialchars($cod_rel_sup[$num1]); } # fine for $num1 } else { if ($importa_rel) { $utente_importa_rel = aggslashdb($utente_importa_rel); $rel_ut_imp = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerelutenti}.idsup from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$utente_importa_rel}' order by {$tablerel}.nome_{$rel_sing}"); $num_rel_ut_imp = numlin_query($rel_ut_imp); for ($num1 = 0; $num1 < $num_rel_ut_imp; $num1++) { $rel = risul_query($rel_ut_imp, $num1, "nome_{$rel_sing}", $tablerel); $lista_rel[$num1] = $rel; if ($rel_sup_sing) { $id_rel_sup_vett[$num1] = risul_query($rel_ut_imp, $num1, 'idsup', $tablerelutenti); } } # fine for $num1 unset($rel_ut_imp); } } # fine if ($importa_rel) } # fine else if ($aggiungi_rel) $num_passa_a_var = 2; if (@is_array($lista_rel)) { $num_rel_agg = count($lista_rel); } else { $num_rel_agg = 0; } if ($num_rel_agg >= $num_passa_a_var) { $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} is not NULL "); $num_rel_esistenti = numlin_query($rel_esistenti); for ($num1 = 0; $num1 < $num_rel_esistenti; $num1++) { $nome_rel = risul_query($rel_esistenti, $num1, "nome_{$rel_sing}"); $rel_esistente[$nome_rel] = 1; $id_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "id{$rel_plur}"); $cod_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "codice_{$rel_sing}"); } # fine for $num1 unset($rel_esistenti); $rel_esistenti2 = esegui_query("select id{$rel_sing},idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $num_rel_esistenti2 = numlin_query($rel_esistenti2); for ($num1 = 0; $num1 < $num_rel_esistenti2; $num1++) { $id_rel = risul_query($rel_esistenti2, $num1, "id{$rel_sing}"); $rel_esistente2[$id_rel] = 1; $idsup_esistente2[$id_rel] = risul_query($rel_esistenti2, $num1, 'idsup'); } # fine for $num1 unset($rel_esistenti2); } # fine if ($num_rel_agg > $num_passa_a_var) unset($num_max); for ($num1 = 0; $num1 < $num_rel_agg; $num1++) { if (substr($num1, -3) == "000") { http_keep_alive(". "); } if ($num1 > 20) { $nolog = 1; } else { $nolog = 0; } $id_rel_sup = ""; if ($rel_sup_sing and $cod_rel_sup[$num1]) { if ($cod_sup_esist[$cod_rel_sup[$num1]]) { $id_rel_sup = $cod_sup_esist[$cod_rel_sup[$num1]]; } else { $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where codice_{$rel_sup_sing} = '" . aggslashdb($cod_rel_sup[$num1]) . "' "); if (numlin_query($rel_sup) > 0) { $id_rel_sup = risul_query($rel_sup, 0, "id{$rel_sup_plur}"); $cod_sup_esist[$cod_rel_sup[$num1]] = $id_rel_sup; } # fine if (numlin_query($rel_sup) > 0) } # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]]) } # fine if ($rel_sup_sing and $cod_rel_sup[$num1]) if ($rel_sup_sing and $id_rel_sup_vett[$num1]) { if ($id_sup_esist[$id_rel_sup_vett[$num1]]) { $id_rel_sup = $id_sup_esist[$id_rel_sup_vett[$num1]]; } else { $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where id{$rel_sup_plur} = '" . aggslashdb($id_rel_sup_vett[$num1]) . "' "); if (numlin_query($rel_sup) > 0) { $id_rel_sup = $id_rel_sup_vett[$num1]; $id_sup_esist[$id_rel_sup_vett[$num1]] = $id_rel_sup; } # fine if (numlin_query($rel_sup) > 0) } # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]]) } # fine if ($rel_sup_sing and $id_rel_sup_vett[$num1]) if ($num_rel_agg < $num_passa_a_var) { $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} = '" . aggslashdb($lista_rel[$num1]) . "' "); if (numlin_query($rel_esistenti)) { $nome_rel = risul_query($rel_esistenti, 0, "nome_{$rel_sing}"); $rel_esistente[$nome_rel] = 1; $id_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "id{$rel_plur}"); $cod_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "codice_{$rel_sing}"); } # fine if (numlin_query($rel_esistenti)) } # fine if ($num_rel_agg <= $num_passa_a_var) if (!$rel_esistente[$lista_rel[$num1]]) { if (!$num_max) { $num_max = esegui_query("select max(id{$rel_plur}) from {$tablerel} "); $num_max = risul_query($num_max, 0, 0) + 1; } else { $num_max++; } $num_n_rel = $num_max; esegui_query("insert into {$tablerel} (id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing},codice2_{$rel_sing},codice3_{$rel_sing}) values ('{$num_n_rel}','" . aggslashdb($lista_rel[$num1]) . "','" . aggslashdb($cod_rel[$num1]) . "','" . aggslashdb($cod2_rel[$num1]) . "','" . aggslashdb($cod3_rel[$num1]) . "') ", "", $nolog); $rel_esistente[$lista_rel[$num1]] = 1; $id_esistente[$lista_rel[$num1]] = $num_n_rel; $cod_esistente[$lista_rel[$num1]] = $cod_rel[$num1]; } else { $num_n_rel = $id_esistente[$lista_rel[$num1]]; $r_cod = $cod_esistente[$lista_rel[$num1]]; if (!$r_cod and $cod_rel[$num1]) { esegui_query("update {$tablerel} set codice_{$rel_sing} = '" . aggslashdb($cod_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($cod2_rel[$num1]) { esegui_query("update {$tablerel} set codice2_{$rel_sing} = '" . aggslashdb($cod2_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($cod3_rel[$num1]) { esegui_query("update {$tablerel} set codice3_{$rel_sing} = '" . aggslashdb($cod3_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($num_rel_agg < $num_passa_a_var) { $rel_esistenti2 = esegui_query("select idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' "); if (numlin_query($rel_esistenti2)) { $rel_esistente2[$num_n_rel] = 1; $idsup_esistente2[$num_n_rel] = risul_query($rel_esistenti2, 0, 'idsup'); } # fine if (numlin_query($rel_esistenti2)) } # fine if ($num_rel_agg < $num_passa_a_var) } # fine else if (!$rel_esistente[$lista_rel[$num1]]) if (!$rel_esistente2[$num_n_rel]) { if ($id_rel_sup) { esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing},idsup) values ('{$id_utente_mod}','{$num_n_rel}','{$id_rel_sup}') ", "", $nolog); } else { esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing}) values ('{$id_utente_mod}','{$num_n_rel}') ", "", $nolog); } $rel_esistente2[$num_n_rel] = 1; $idsup_esistente2[$num_n_rel] = $id_rel_sup; } elseif ($id_rel_sup) { $idsup = $idsup_esistente2[$num_n_rel]; if (!$idsup) { esegui_query("update {$tablerelutenti} set idsup = '{$id_rel_sup}' where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' "); } } # fine elseif ($id_rel_sup) } # fine for $num1 unlock_tabelle($tabelle_lock); echo "<br></div>\n<script type=\"text/javascript\">\n<!--\nvar avanz = document.getElementById('avanz_{$rel_plur}');\navanz.style.display = 'none';\n-->\n</script>\n"; switch ($rel_sing) { case "regione": if ($aggiungi_rel and $pag) { echo mex("Nuova regione/provincia aggiunta", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex("Regioni/provincie predefinite ripristinate", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex("Regioni/provincie cancellate", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex("Regioni/provincie importate", $pag) . ".<br>"; } break; case "documentoid": if ($aggiungi_rel and $pag) { echo mex("Nuovo tipo di documento di identità aggiunto", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex("Tipi di documento di identità predefiniti ripristinati", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex("Tipi di documento di identità cancellati", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex("Tipi di documento di identità importati", $pag) . ".<br>"; } break; case "citta": $rel_sing = "città"; $rel_plur = "città"; default: if ($aggiungi_rel and $pag) { echo mex("Nuova {$rel_sing} aggiunta", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex(ucfirst($rel_plur) . " predefinite ripristinate", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex(ucfirst($rel_plur) . " cancellate", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex(ucfirst($rel_plur) . " importate", $pag) . ".<br>"; } } # fine switch ($rel_sing) unset($lista_rel); unset($cod_rel); unset($cod2_rel); unset($cod3_rel); unset($cod_rel_sup); unset($rel_esistente); unset($id_esistente); unset($cod_esistente); unset($rel_esistente2); unset($idsup_esistente2); } # fine if (!$aggiungi_rel or str_replace(" ","",$nuova_rel)) } # fine if ($aggiungi_rel or $rel_predefinite or... }
} # fine if (numlin_query($bene_in_app_da) == 1) } # fine if ($priv_vedi_inv_app == "s" or $appartamenti_consentiti[$idapp] != "NO") } # fine if (${"app_da".$idapp_da} and... } # fine for $num1 if ($ricaricato == "SI") $frase_modifica .= "<b>".mex("Bene ricaricato",$pag)."</b>.<br>"; } # fine else if ($ricarica != "continua") } # fine if ($num_diff < 0) } # fine if (numlin_query($bene_in_mag) == 1) unlock_tabelle($tabelle_lock); } # fine if ($bene_permesso[$id_bene]) } # fine if ($ricarica and $id_bene and $priv_mod_beni != "n") if ($elimina and $id_bene and $priv_ins_beni != "n") { $id_bene = aggslashdb($id_bene); if ($bene_permesso[$id_bene]) { $tabelle_lock = array("$tablerelinventario"); $altre_tab_lock = array("$tablebeniinventario"); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $id_bene_in_mag = esegui_query("select idbeneinventario from $tablerelinventario where idbeneinventario = '$id_bene' and $tipoid = '$idmag' limit 1"); if (numlin_query($id_bene_in_mag)) { $nome_bene = esegui_query("select nome_bene from $tablebeniinventario where idbeniinventario = '$id_bene'"); $nome_bene = risul_query($nome_bene,0,'nome_bene'); if (!$elimina_cont) { $mostra_form_inventario = "NO"; echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div> <input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"origine\" value=\"$origine\"> <input type=\"hidden\" name=\"origine_vecchia\" value=\"$origine_vecchia\">
if ($errore != "SI") { if ($note_mantenere) { echo "<span class=\"colblu\">".mex("Attenzione",$pag)."</span>, ".mex("le seguenti opzioni sono state attivate senza essere mantenute quando la prenotazione viene modificata",$pag).": "; $note_mantenere = explode(";",substr($note_mantenere,0,-1)); for ($num1 = 0 ; $num1 < count($note_mantenere) ; $num1++) { if ($num1) echo ", "; echo "<em>".$note_mantenere[$num1]."</em>"; } # fine for $num1 echo ".<br><br>"; } # fine if ($note_mantenere) $modificato = "NO"; if ($nomecostoagg != $dati_ca[$num_costo]['nome']) { $nomecostoagg = aggslashdb($nomecostoagg); esegui_query("update $tablenometariffe set nomecostoagg = '$nomecostoagg' where idntariffe = '$idntariffe'"); $modificato = "SI"; } # fine if ($nomecostoagg != $dati_ca[$num_costo]['nome']) if ($valore_p_ca) $tipo_valore_ca = "p"; else $tipo_valore_ca = "f"; if ($tipo_valore_ca == "f") $valore_p_ca = ""; if ($tipo_valore_ca == "p" and $tipo_percentuale == "tariffafissa") $tipo_valore_ca = "q"; if ($tipo_valore_ca == "p" and $tipo_percentuale == "tariffapers") $tipo_valore_ca = "s"; if ($tipo_valore_ca == "p" and $tipo_percentuale == "totale") $tipo_valore_ca = "t"; if ($tipo_valore_ca == "p" and $tipo_percentuale == "caparra") $tipo_valore_ca = "c"; if ($tipo_valore_ca == "p" and $tipo_percentuale == "resto") $tipo_valore_ca = "r"; if ($tipo_ca != $dati_ca[$num_costo]['tipo'] or $tipo_valore_ca != $dati_ca[$num_costo]['tipo_val']) { esegui_query("update $tablenometariffe set tipo_ca = '$tipo_ca$tipo_valore_ca' where idntariffe = '$idntariffe'"); $modificato = "SI"; } # fine if ($tipo_ca != $dati_ca[$num_costo]['tipo'] or $tipo_valore_ca != $dati_ca[$num_costo]['tipo_val'])
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. ################################################################################## if (preg_replace("/[a-z]/","",$template_data_dir) != "") $template_data_dir = ""; include("./includes/templates/$template_data_dir/phrases.php"); esegui_query("delete from $tablepersonalizza where idpersonalizza = 'ultime_sel_crea_modelli' and idutente = '$id_utente'"); esegui_query("insert into $tablepersonalizza (idpersonalizza,valpersonalizza,idutente) values ('ultime_sel_crea_modelli','".aggslashdb($anno_modello).";;".aggslashdb($lingua_modello).";;".aggslashdb($perc_cart_mod_sel)."','$id_utente') "); # Prendo i data dal file se già esistente if ($template_file_name[$lingua_modello]) $nome_file = $template_file_name[$lingua_modello]; else { $nome_file = mext_cal($template_file_name["ita"],$pag,$lingua_modello); if ($nome_file == $template_file_name["en"] or $nome_file == $template_file_name["ita"]) $nome_file = $lingua_modello."_".$template_file_name['en']; } # fine else if ($template_file_name[$lingua_modello]) $SI = mex("SI",$pag); $NO = mex("NO",$pag); $modello_esistente = "NO"; if (@is_file("$percorso_cartella_modello/$nome_file")) { $modello_esistente = "SI"; include("./includes/templates/$template_data_dir/functions.php"); recupera_var_modello_cal($nome_file,$percorso_cartella_modello,$pag,$fr_frase,$num_frasi,$var_mod,$num_var_mod,$tipo_periodi,"NO",$anno_modello,$PHPR_TAB_PRE);
function controlla_testo_input ($var_txt) { if (@get_magic_quotes_gpc()) $var_txt = stripslashes($var_txt); if (C_RESTRIZIONI_DEMO_ADMIN == "SI") $var_txt = htmlspecialchars($var_txt); $var_txt = str_replace("#%?","#?",$var_txt); $var_txt = str_replace("#@?","#?",$var_txt); $var_txt = str_replace("#$?","#?",$var_txt); $var_txt = str_replace("|","/",$var_txt); $var_txt = aggslashdb($var_txt); return $var_txt; } # fine function controlla_testo_input
if ($modp_attiva_ore_canc == "n") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,15)."000".substr($nuovi_priv_mod_prenota,18); if ($modp_attiva_ore_canc == "s") { if (strlen($modp_num_ore_canc) == 1) $modp_num_ore_canc = "00".$modp_num_ore_canc; if (strlen($modp_num_ore_canc) == 2) $modp_num_ore_canc = "0".$modp_num_ore_canc; if (strlen($modp_num_ore_canc) != 3) $modp_num_ore_canc = "000"; $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,15).$modp_num_ore_canc.substr($nuovi_priv_mod_prenota,18); } # fine if ($modp_attiva_ore_canc == "s") if ($modp_canc == "n" or $modp_canc == "f" or $modp_canc == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,18).$modp_canc.substr($nuovi_priv_mod_prenota,19); if ($modp_canc_dopo_conf == "n" or $modp_canc_dopo_conf == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,19).$modp_canc_dopo_conf.substr($nuovi_priv_mod_prenota,20); if ($modp_checkin == "n" or $modp_checkin == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,20).$modp_checkin.substr($nuovi_priv_mod_prenota,21); if ($modp_codice == "n" or $modp_codice == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,21).$modp_codice.substr($nuovi_priv_mod_prenota,22); if ($modp_cliente == "n" or $modp_cliente == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,22).$modp_cliente.substr($nuovi_priv_mod_prenota,23); if ($modp_pren_comp == "n" or $modp_pren_comp == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,23).$modp_pren_comp.substr($nuovi_priv_mod_prenota,24); if ($modp_origine_prenota == "n" or $modp_origine_prenota == "s") $nuovi_priv_mod_prenota = substr($nuovi_priv_mod_prenota,0,24).$modp_origine_prenota; if ($nuovi_priv_mod_prenota != $priv_mod_prenota) esegui_query("update $tableprivilegi set priv_mod_prenota = '$nuovi_priv_mod_prenota' where idutente = '$id_utente_privilegi' and anno = '$anno_modifica'"); if ($modp_cassa_pagamenti != $cassa_pagamenti) esegui_query("update $tableprivilegi set cassa_pagamenti = '".aggslashdb($modp_cassa_pagamenti)."' where idutente = '$id_utente_privilegi' and anno = '$anno_modifica'"); $nuovi_priv_ins_costi = $priv_ins_costi; if ($ins_spese == "n" or $ins_spese == "s") $nuovi_priv_ins_costi = $ins_spese.substr($nuovi_priv_ins_costi,1); if ($ins_entrate == "n" or $ins_entrate == "s") $nuovi_priv_ins_costi = substr($nuovi_priv_ins_costi,0,1).$ins_entrate.substr($nuovi_priv_ins_costi,2); if ($sottrai_entrate == "n" or $sottrai_entrate == "c" or $sottrai_entrate == "s") $nuovi_priv_ins_costi = substr($nuovi_priv_ins_costi,0,2).$sottrai_entrate.substr($nuovi_priv_ins_costi,3); if ($persona_spese == "n" or $persona_spese == "u" or $persona_spese == "c") $nuovi_priv_ins_costi = substr($nuovi_priv_ins_costi,0,3).$persona_spese; if ($nuovi_priv_ins_costi != $priv_ins_costi) esegui_query("update $tableprivilegi set priv_ins_costi = '$nuovi_priv_ins_costi' where idutente = '$id_utente_privilegi' and anno = '$anno_modifica'"); $nuovi_priv_ins_tariffe = $priv_ins_tariffe; if ($mod_tariffe == "n" or $mod_tariffe == "s") $nuovi_priv_ins_tariffe = $mod_tariffe.substr($nuovi_priv_ins_tariffe,1); if ($ins_costi_agg == "n" or $ins_costi_agg == "g" or $ins_costi_agg == "s") $nuovi_priv_ins_tariffe = substr($nuovi_priv_ins_tariffe,0,1).$ins_costi_agg.substr($nuovi_priv_ins_tariffe,2); if ($mod_costi_agg == "n" or $mod_costi_agg == "s") $nuovi_priv_ins_tariffe = substr($nuovi_priv_ins_tariffe,0,2).$mod_costi_agg.substr($nuovi_priv_ins_tariffe,3); if ($canc_costi_agg == "n" or $canc_costi_agg == "s") $nuovi_priv_ins_tariffe = substr($nuovi_priv_ins_tariffe,0,3).$canc_costi_agg.substr($nuovi_priv_ins_tariffe,4); if ($nuovi_priv_ins_tariffe != $priv_ins_tariffe) esegui_query("update $tableprivilegi set priv_ins_tariffe = '$nuovi_priv_ins_tariffe' where idutente = '$id_utente_privilegi' and anno = '$anno_modifica'"); $nuovi_priv_vedi_tab = $priv_vedi_tab; if ($vedi_tab_mesi == "n" or $vedi_tab_mesi == "p" or $vedi_tab_mesi == "q" or $vedi_tab_mesi == "r" or $vedi_tab_mesi == "g" or $vedi_tab_mesi == "s") $nuovi_priv_vedi_tab = $vedi_tab_mesi.substr($nuovi_priv_vedi_tab,1); if ($vedi_tab_tutte_prenota == "n" or $vedi_tab_tutte_prenota == "p" or $vedi_tab_tutte_prenota == "g" or $vedi_tab_tutte_prenota == "s") $nuovi_priv_vedi_tab = substr($nuovi_priv_vedi_tab,0,1).$vedi_tab_tutte_prenota.substr($nuovi_priv_vedi_tab,2);
function genera_statistiche (&$entrate_ins_mese,&$num_prenota_ins_mese,&$entrate_prog_ins_mese,&$num_prenota_prog_ins_mese,&$percent_occupazione,&$entrate_mese,&$num_prenota_mese,&$num_origine,&$entrate_origine,&$percent_num_origine,&$percent_entrate_origine,&$num_nazionalita,&$entrate_nazionalita,&$percent_num_nazionalita,&$percent_entrate_nazionalita,&$app_occupati,&$prezzo_medio_prenota,&$revpar,&$revpar_ca,&$pagamenti,&$nazionalita_mese,&$num_giorni_mese,$anno_stat,$mesi,$date_ins,$prezzi,$appartamenti_sel,$condizione_prenota_proprie,$PHPR_TAB_PRE) { global $LIKE,$ILIKE; $tableprenota_stat = $PHPR_TAB_PRE."prenota".$anno_stat; $tablecostiprenota_stat = $PHPR_TAB_PRE."costiprenota".$anno_stat; $tableperiodi_stat = $PHPR_TAB_PRE."periodi".$anno_stat; $tablesoldi_stat = $PHPR_TAB_PRE."soldi".$anno_stat; $tableclienti = $PHPR_TAB_PRE."clienti"; $tableappartamenti = $PHPR_TAB_PRE."appartamenti"; $num_giorni_mese[$anno_stat][1] = 31; if (date("n",mktime(0,0,0,2,29,$anno_stat)) == "2") $num_giorni_mese[$anno_stat][2] = 29; else $num_giorni_mese[$anno_stat][2] = 28; $num_giorni_mese[$anno_stat][3] = 31; $num_giorni_mese[$anno_stat][4] = 30; $num_giorni_mese[$anno_stat][5] = 31; $num_giorni_mese[$anno_stat][6] = 30; $num_giorni_mese[$anno_stat][7] = 31; $num_giorni_mese[$anno_stat][8] = 31; $num_giorni_mese[$anno_stat][9] = 30; $num_giorni_mese[$anno_stat][10] = 31; $num_giorni_mese[$anno_stat][11] = 30; $num_giorni_mese[$anno_stat][12] = 31; if (strcmp($appartamenti_sel,"")) { $appartamenti_sel = explode(",",$appartamenti_sel); $num_appartamenti_sel = count($appartamenti_sel); for ($num1 = 0 ; $num1 < $num_appartamenti_sel ; $num1++) { if ($num1 == 0) $cond_app = " where ("; else $cond_app .= " or "; $cond_app .= "$tableprenota_stat.idappartamenti = '".aggslashdb($appartamenti_sel[$num1])."'"; } # fine for $num1 $cond_app .= ")"; } # fine if (strcmp($appartamenti_sel,"")) else $cond_app = ""; if ($date_ins['ini'] or $date_ins['fine']) { if ($cond_app) $cond_ins = " and ("; else $cond_ins = " where ("; if ($date_ins['ini']) $cond_ins .= "$tableprenota_stat.datainserimento >= '$anno_stat".$date_ins['ini']." 00:00:00'"; if ($date_ins['ini'] and $date_ins['fine']) $cond_ins .= " and "; if ($date_ins['fine']) $cond_ins .= "$tableprenota_stat.datainserimento <= '$anno_stat".$date_ins['fine']." 23:59:59'"; $cond_ins .= ")"; } # fine if ($date_ins['ini'] or $date_ins['fine']) else $cond_ins = ""; if ($condizione_prenota_proprie) { $condizione_prenota_proprie = str_replace("utente_inserimento","$tableprenota_stat.utente_inserimento",$condizione_prenota_proprie); if ($cond_app or $cond_ins) $condizione_prenota_proprie = " and".$condizione_prenota_proprie; else $condizione_prenota_proprie = " where".$condizione_prenota_proprie; } # fine if ($condizione_prenota_proprie) $appartamenti = esegui_query("select idappartamenti from $tableappartamenti".str_replace("$tableprenota_stat.idappartamenti = '","idappartamenti = '",$cond_app)." order by idappartamenti"); $num_appartamenti = numlin_query($appartamenti); $periodi = esegui_query("select idperiodi,datainizio,datafine from $tableperiodi_stat order by idperiodi "); $num_periodi = numlin_query($periodi); for ($num1 = 0 ; $num1 < $num_periodi ; $num1++) { $idper = risul_query($periodi,$num1,'idperiodi'); $datainizio[$idper] = risul_query($periodi,$num1,'datainizio'); $datafine[$idper] = risul_query($periodi,$num1,'datafine'); $anno_inizio = (integer) substr($datainizio[$idper],0,4); $mese_inizio = (integer) substr($datainizio[$idper],5,2); $num_periodi_mese[$anno_inizio][$mese_inizio]++; } # fine for $num1 $tutte_prenota = esegui_query("select distinct $tableprenota_stat.idprenota,$tableprenota_stat.iddatainizio,$tableprenota_stat.iddatafine,$tableprenota_stat.datainserimento,$tableprenota_stat.num_persone,$tableprenota_stat.tariffa,$tableprenota_stat.sconto,$tableprenota_stat.tariffa_tot,$tableprenota_stat.tariffesettimanali,$tableprenota_stat.caparra,$tableprenota_stat.commissioni,$tableprenota_stat.tasseperc,$tableprenota_stat.origine,$tableclienti.nazionalita from $tableprenota_stat inner join $tableclienti on $tableprenota_stat.idclienti = $tableclienti.idclienti$cond_app$cond_ins$condizione_prenota_proprie"); $num_tutte_prenota = numlin_query($tutte_prenota); $entrate_mese[$anno_stat][1] = 0; $num_prenota_mese[$anno_stat][1] = 0; for ($num1 = 0 ; $num1 < $num_tutte_prenota ; $num1++) { $id_prenota = risul_query($tutte_prenota,$num1,'idprenota',$tableprenota_stat); $id_data_inizio = risul_query($tutte_prenota,$num1,'iddatainizio',$tableprenota_stat); $id_data_fine = risul_query($tutte_prenota,$num1,'iddatafine',$tableprenota_stat); $num_sett = $id_data_fine - $id_data_inizio + 1; $data_inserimento = risul_query($tutte_prenota,$num1,'datainserimento',$tableprenota_stat); $tariffa = explode("#@&",risul_query($tutte_prenota,$num1,'tariffa',$tableprenota_stat)); $sconto = risul_query($tutte_prenota,$num1,'sconto',$tableprenota_stat); if ((double) $sconto > (double) $tariffa[1]) $sconto = $tariffa[1]; $prezzo_tariffa = (double) $tariffa[1]; $tariffa_tot = risul_query($tutte_prenota,$num1,'tariffa_tot',$tableprenota_stat); $tariffe_settimanali_int = risul_query($tutte_prenota,$num1,'tariffesettimanali',$tableprenota_stat); $tariffe_settimanali = explode(";",$tariffe_settimanali_int); $tariffe_settimanali = explode(",",$tariffe_settimanali[0]); if (!$prezzi['commissioni']) { $commissioni = (double) risul_query($tutte_prenota,$num1,'commissioni',$tableprenota_stat); if ($commissioni > 0) { $tariffa_tot = (double) $tariffa_tot - (double) $commissioni; $prezzo_tariffa = (double) $prezzo_tariffa - (double) $commissioni; $commissioni_sett = round(((double) $commissioni / ($id_data_fine - $id_data_inizio + 1)),2); for ($num2 = 0 ; $num2 < count($tariffe_settimanali) ; $num2++) $tariffe_settimanali[$num2] = (double) $tariffe_settimanali[$num2] - (double) $commissioni_sett; $resto_arr = (double) $commissioni - ((double) $commissioni_sett * ($id_data_fine - $id_data_inizio + 1)); $tariffe_settimanali[0] = (double) $tariffe_settimanali[0] - (double) $resto_arr; } # fine if ($commissioni > 0) } # fine if (!$prezzi['commissioni']) if (!$prezzi['tasse']) { $tasse_tot = 0; $tasse_perc = (double) risul_query($tutte_prenota,$num1,'tasseperc',$tableprenota_stat); $caparra = (double) risul_query($tutte_prenota,$num1,'caparra',$tableprenota_stat); $numpersone = risul_query($tutte_prenota,$num1,'num_persone',$tableprenota_stat); if ($tasse_perc) { $tasse = (((double) $tariffa[1] - (double) $sconto) / ($tasse_perc + 100)) * $tasse_perc; $tasse = $tasse / (double) $prezzi['tasse_arrotond']; $tasse = round($tasse); $tasse = $tasse * (double) $prezzi['tasse_arrotond']; $tasse_tot = (double) $tasse_tot + $tasse; } # fine if ($tasse_perc) $prezzo_tariffa = (double) $prezzo_tariffa - (double) $tasse_tot; $tasse_sett = round(((double) $tasse_tot / ($id_data_fine - $id_data_inizio + 1)),2); for ($num2 = 0 ; $num2 < count($tariffe_settimanali) ; $num2++) $tariffe_settimanali[$num2] = (double) $tariffe_settimanali[$num2] - (double) $tasse_sett; $resto_arr = (double) $tasse_tot - ((double) $tasse_sett * ($id_data_fine - $id_data_inizio + 1)); $tariffe_settimanali[0] = (double) $tariffe_settimanali[0] - (double) $resto_arr; $dati_cap = dati_costi_agg_prenota($tablecostiprenota_stat,$id_prenota); $costo_agg_tot = 0; $costo_escludi_perc = 0; for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) { $costo_agg_parziale = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$id_data_inizio,$id_data_fine,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],$tariffa[1],$tariffe_settimanali_int,((double) $tariffa[1] + $costo_agg_tot - (double) $sconto),$caparra,$numpersone,$costo_escludi_perc); $costo_agg_tot = (double) $costo_agg_tot + $costo_agg_parziale; if ($dati_cap[$numca]['escludi_tot_perc'] == "s") $costo_escludi_perc = (double) $costo_escludi_perc + $costo_agg_parziale; if ($dati_cap[$numca]['tasseperc']) { if ($dati_cap[$numca]['tasseperc'] == -1) $tasse_ca = (double) $costo_agg_parziale; else { $tasse_ca = ($costo_agg_parziale / (double) ($dati_cap[$numca]['tasseperc'] + 100)) * (double) $dati_cap[$numca]['tasseperc']; $tasse_ca = $tasse_ca / $prezzi['tasse_arrotond']; $tasse_ca = round($tasse_ca); $tasse_ca = $tasse_ca * (double) $prezzi['tasse_arrotond']; } # fine else if ($dati_cap[$numca]['tasseperc'] == -1) $tasse_tot = (double) $tasse_tot + (double) $tasse_ca; } # fine if ($dati_cap[$numca]['tasseperc']) } # fine for $numca $tariffa_tot = (double) $tariffa_tot - (double) $tasse_tot; } # fine if (!$prezzi['tasse']) $val_medio_costi_agg_e_sconto_per_sett = round((((double) $tariffa_tot - (double) $prezzo_tariffa) / (double) $num_sett),2); $val_medio_sconto_per_sett = round(((double) $sconto / (double) $num_sett),2); $origine = risul_query($tutte_prenota,$num1,'origine',$tableprenota_stat); $nazionalita = risul_query($tutte_prenota,$num1,'nazionalita',$tableprenota_stat); $anno_ins = (integer) substr($data_inserimento,0,4); $mese_ins = (integer) substr($data_inserimento,5,2); if (substr($datainizio[$id_data_inizio],0,4) == $anno_stat) { if ($anno_ins < $anno_stat) { $anno_ins = (integer) $anno_stat; $mese_ins = (integer) 0; } # fine if ($anno_ins < $anno_stat) $entrate_ins_mese[$anno_ins][$mese_ins] = (double) $entrate_ins_mese[$anno_ins][$mese_ins] + (double) $tariffa_tot; $num_prenota_ins_mese[$anno_ins][$mese_ins]++; } # fine if (substr($datainizio[$id_data_inizio],0,4) == $anno_stat) $ultimo_mese_inizio = ""; for ($num2 = $id_data_inizio ; $num2 <= $id_data_fine ; $num2++) { $anno_inizio = (integer) substr($datainizio[$num2],0,4); $mese_inizio = (integer) substr($datainizio[$num2],5,2); $app_occupati[$anno_inizio][$mese_inizio]++; $entrate_mese[$anno_inizio][$mese_inizio] = (double) $entrate_mese[$anno_inizio][$mese_inizio] + (double) $tariffe_settimanali[($num2 - $id_data_inizio)] + (double) $val_medio_costi_agg_e_sconto_per_sett; $entrate_mese_no_ca[$anno_inizio][$mese_inizio] = (double) $entrate_mese_no_ca[$anno_inizio][$mese_inizio] + (double) $tariffe_settimanali[($num2 - $id_data_inizio)] - (double) $val_medio_sconto_per_sett; if ($mese_inizio != $ultimo_mese_inizio) $num_prenota_mese[$anno_inizio][$mese_inizio]++; $ultimo_mese_inizio = $mese_inizio; } # fine for $num2 $anno_inizio = (integer) substr($datainizio[$id_data_inizio],0,4); $mese_inizio = (integer) substr($datainizio[$id_data_inizio],5,2); if ($mesi[$mese_inizio]) { $num_prenota_mese[$anno_inizio]['TOT']++; if ($origine != "") { $num_origine[$anno_inizio][$origine]++; $entrate_origine[$anno_inizio][$origine] = (double) $entrate_origine[$anno_inizio][$origine] + (double) $tariffa_tot; } # fine if ($origine != "") if ($nazionalita != "") { $num_nazionalita[$anno_inizio][$nazionalita]++; $entrate_nazionalita[$anno_inizio][$nazionalita] = (double) $entrate_nazionalita[$anno_inizio][$nazionalita] + (double) $tariffa_tot; } # fine if ($nazionalita != "") $pagamenti_p = esegui_query("select metodo_pagamento,saldo_prenota from $tablesoldi_stat where saldo_prenota is not NULL and motivazione $LIKE '%;$id_prenota' order by data_inserimento"); $num_pagamenti_p = numlin_query($pagamenti_p); for ($num2 = 0 ; $num2 < $num_pagamenti_p ; $num2++) { $metodo_pagamento = risul_query($pagamenti_p,$num2,'metodo_pagamento'); $saldo_prenota = risul_query($pagamenti_p,$num2,'saldo_prenota'); if ($metodo_pagamento) $pagamenti[$anno_inizio][$metodo_pagamento] = (double) $pagamenti[$anno_inizio][$metodo_pagamento] + (double) $saldo_prenota; } # fine for $num2 } # fine if ($mesi[$mese_inizio]) } # fine for $num1 $percent_occupazione[$anno_stat]['TOT'] = 0; $revpar[$anno_stat]['TOT'] = 0; $revpar_ca[$anno_stat]['TOT'] = 0; $num_mesi_media = 0; $num_giorni_revpar = 0; $num_giorni_revpar_ca = 0; $entrate_prog_ins_mese[$anno_stat][0] = (double) $entrate_ins_mese[$anno_stat][0]; $num_prenota_prog_ins_mese[$anno_stat][0] = $num_prenota_ins_mese[$anno_stat][0]; for ($num1 = 1 ; $num1 <= 12 ; $num1++) { $entrate_prog_ins_mese[$anno_stat][$num1] = (double) $entrate_prog_ins_mese[$anno_stat][($num1 - 1)] + (double) $entrate_ins_mese[$anno_stat][$num1]; $num_prenota_prog_ins_mese[$anno_stat][$num1] = $num_prenota_prog_ins_mese[$anno_stat][($num1 - 1)] + $num_prenota_ins_mese[$anno_stat][$num1]; if (!$app_occupati[$anno_stat][$num1] or !$num_periodi_mese[$anno_stat][$num1] or !$num_appartamenti) $percent_occupazione[$anno_stat][$num1] = 0; else $percent_occupazione[$anno_stat][$num1] = round(($app_occupati[$anno_stat][$num1] / ($num_appartamenti * $num_periodi_mese[$anno_stat][$num1]) * 100),1); if ($mesi[$num1]) { $percent_occupazione[$anno_stat]['TOT'] = (double) $percent_occupazione[$anno_stat]['TOT'] + (double) $percent_occupazione[$anno_stat][$num1]; $num_mesi_media++; if ($num_appartamenti) { $revpar[$anno_stat][$num1] = round(((double) $entrate_mese_no_ca[$anno_stat][$num1] / ((double) $num_appartamenti * (double) $num_giorni_mese[$anno_stat][$num1])),2); $revpar_ca[$anno_stat][$num1] = round(((double) $entrate_mese[$anno_stat][$num1] / ((double) $num_appartamenti * (double) $num_giorni_mese[$anno_stat][$num1])),2); } # fine if ($num_appartamenti) $entrate_mese[$anno_stat]['TOT'] = (double) $entrate_mese[$anno_stat]['TOT'] + (double) $entrate_mese[$anno_stat][$num1]; $entrate_mese_no_ca[$anno_stat]['TOT'] = (double) $entrate_mese_no_ca[$anno_stat]['TOT'] + (double) $entrate_mese_no_ca[$anno_stat][$num1]; $app_occupati[$anno_stat]['TOT'] = (double) $app_occupati[$anno_stat]['TOT'] + (double) $app_occupati[$anno_stat][$num1]; $num_giorni_revpar = $num_giorni_revpar + $num_giorni_mese[$anno_stat][$num1]; $num_giorni_revpar_ca = $num_giorni_revpar_ca + $num_giorni_mese[$anno_stat][$num1]; if ($app_occupati[$anno_stat][$num1]) $prezzo_medio_prenota[$anno_stat][$num1] = (double) $entrate_mese[$anno_stat][$num1] / (double) $app_occupati[$anno_stat][$num1]; else $prezzo_medio_prenota[$anno_stat][$num1] = (double) 0; } # fine if ($mesi[$num1]) } # fine for $num1 if ($num_mesi_media) $percent_occupazione[$anno_stat]['TOT'] = round(((double) $percent_occupazione[$anno_stat]['TOT'] / (double) $num_mesi_media),1); if ($num_giorni_revpar and $num_appartamenti) $revpar[$anno_stat]['TOT'] = round(((double) $entrate_mese_no_ca[$anno_stat]['TOT'] / ((double) $num_appartamenti * (double) $num_giorni_revpar)),2); if ($num_giorni_revpar_ca and $num_appartamenti) $revpar_ca[$anno_stat]['TOT'] = round(((double) $entrate_mese[$anno_stat]['TOT'] / ((double) $num_appartamenti * (double) $num_giorni_revpar_ca)),2); if ($app_occupati[$anno_stat]['TOT']) $prezzo_medio_prenota[$anno_stat]['TOT'] = (double) $entrate_mese[$anno_stat]['TOT'] / (double) $app_occupati[$anno_stat]['TOT']; if (@is_array($num_origine)) { $num_origine_anno = $num_origine[$anno_stat]; if (@is_array($num_origine_anno)) { reset($num_origine_anno); while (list($orig,$val) = each($num_origine_anno)) { if (!$val or !$num_prenota_mese[$anno_stat]['TOT']) $percent_num_origine[$anno_stat][$orig] = 0; else $percent_num_origine[$anno_stat][$orig] = round(((double) $val / (double) $num_prenota_mese[$anno_stat]['TOT'] * 100),1); if (!$entrate_origine[$anno_stat][$orig] or !$entrate_mese[$anno_stat]['TOT']) $percent_entrate_origine[$anno_stat][$orig] = 0; else $percent_entrate_origine[$anno_stat][$orig] = round(((double) $entrate_origine[$anno_stat][$orig] / (double) $entrate_mese[$anno_stat]['TOT'] * 100),1); } # fine while (list($orig,$val) = each($num_origine_anno)) } # fine if (@is_array($num_origine_anno)) } # fine if (@is_array($num_origine)) if (@is_array($num_nazionalita)) { $num_nazionalita_anno = $num_nazionalita[$anno_stat]; reset($num_nazionalita_anno); while (list($nazion,$val) = each($num_nazionalita_anno)) { if (!$val or !$num_prenota_mese[$anno_stat]['TOT']) $percent_num_nazionalita[$anno_stat][$nazion] = 0; else $percent_num_nazionalita[$anno_stat][$nazion] = round(((double) $val / (double) $num_prenota_mese[$anno_stat]['TOT'] * 100),1); if (!$entrate_nazionalita[$anno_stat][$nazion] or !$entrate_mese[$anno_stat]['TOT']) $percent_entrate_nazionalita[$anno_stat][$nazion] = 0; else $percent_entrate_nazionalita[$anno_stat][$nazion] = round(((double) $entrate_nazionalita[$anno_stat][$nazion] / (double) $entrate_mese[$anno_stat]['TOT'] * 100),1); } # fine while (list($nazion,$val) = each($num_nazionalita_anno)) } # fine if (@is_array($num_nazionalita)) } # fine function genera_statistiche
${"num_pagamenti_".$num1} = $num_pagamenti; } # fine if ($priv_vedi_tab_costi != "n") } # fine if ($id_data_inizio) } # fine if ($cont == "SI") } # fine if (numlin_query($dati_prenota) == 1) } # fine for $num1 if ($tabelle_lock) unlock_tabelle($tabelle_lock); } # fine if ($priv_vedi_tab_mesi == "s" or ($priv_vedi_tab_mesi == "s" and $priv_mod_prenotazioni != "n")) } # fine if ($lista_prenota) if ($lista_clienti) { if ($vedi_clienti != "NO") { $lista_clienti = explode(",",$lista_clienti); $num_ripeti = count($lista_clienti) - 2; for ($num1 = 1 ; $num1 <= $num_ripeti ; $num1++) { $id_clienti = aggslashdb($lista_clienti[$num1]); $dati_cliente = esegui_query("select * from $tableclienti where idclienti = '$id_clienti' "); if ($vedi_clienti == "PROPRI" or $vedi_clienti == "GRUPPI") { $mostra_cliente = "SI"; $utente_inserimento = risul_query($dati_cliente,0,'utente_inserimento'); if ($vedi_clienti == "PROPRI" and $utente_inserimento != $id_utente) $mostra_cliente = "NO"; if ($vedi_clienti == "GRUPPI" and !$utenti_gruppi[$utente_inserimento]) $mostra_cliente = "NO"; } # fine if ($vedi_clienti == "PROPRI" or $vedi_clienti == "GRUPPI") if (($vedi_clienti != "PROPRI" and $vedi_clienti != "GRUPPI") or $mostra_cliente != "NO") { ${"cognome_".$num1} = risul_query($dati_cliente,0,'cognome'); # I controlli di non vuoto servono a risparmiare memoria, creando solo le variabili necessarie if (strcmp(risul_query($dati_cliente,0,'nome'),"")) ${"nome_".$num1} = risul_query($dati_cliente,0,'nome'); if (strcmp(risul_query($dati_cliente,0,'soprannome'),"")) ${"soprannome_".$num1} = risul_query($dati_cliente,0,'soprannome'); if (strcmp(risul_query($dati_cliente,0,'titolo'),"")) ${"titolo_".$num1} = risul_query($dati_cliente,0,'titolo'); if (strcmp(risul_query($dati_cliente,0,'sesso'),"")) ${"sesso_".$num1} = risul_query($dati_cliente,0,'sesso'); if (strcmp(risul_query($dati_cliente,0,'datanascita'),"")) ${"data_nascita_".$num1} = risul_query($dati_cliente,0,'datanascita');
} # fine if ($priv_mod_checkin == "s") echo "</td></tr>"; } # fine if (!$d_checkin_min) $inv = ""; if ($priv_vedi_beni_inv != "n" and $priv_vedi_inv_app != "n" and $d_appartamento != "~~~~") { if ($priv_vedi_beni_inv == "p" or $priv_vedi_beni_inv == "g") { $condizione_beni_propri = " and ( $tablebeniinventario.utente_inserimento = '$id_utente'"; if ($priv_vedi_beni_inv == "g") { reset($utenti_gruppi); while (list($idut_gr,$val) = each($utenti_gruppi)) if ($idut_gr != $id_utente) $condizione_beni_propri .= " or $tablebeniinventario.utente_inserimento = '$idut_gr'"; } # fine if ($priv_vedi_beni_inv == "g") $condizione_beni_propri .= " )"; } # fine if ($priv_vedi_beni_inv == "p" or $priv_vedi_beni_inv == "g") else $condizione_beni_propri = ""; $inv_mancante = esegui_query("select distinct $tablerelinventario.quantita from $tablerelinventario inner join $tablebeniinventario on $tablerelinventario.idbeneinventario = $tablebeniinventario.idbeniinventario where $tablerelinventario.idappartamento = '".aggslashdb($d_appartamento)."' and $tablerelinventario.quantita < $tablerelinventario.quantita_min_predef $condizione_beni_propri "); if (numlin_query($inv_mancante)) { $inv = " <a style=\"text-decoration: none; color: red;\" href=\"inventario.php?anno=$anno&id_sessione=$id_sessione&origine=modifica_prenota.php?id_prenota=$id_prenota_int&idmag=a".htmlspecialchars($d_appartamento)."&origine_vecchia=$origine\">".mex("<b><big>i</big></b>",$pag)."</a> "; } # fine if (numlin_query($inv_mancante)) } # fine if ($priv_vedi_beni_inv != "n" and $priv_vedi_inv_app != "n" and... echo "<tr style=\"background-color: ".rowbgcolor().";\"><td>".str_replace(" "," ",mex("Nº di persone",$pag)).": <b>".mex("$d_num_persone",$pag)."</b>"; if ($num_letti_agg['max']) echo " (+<b>".$num_letti_agg['max']."</b>)"; echo "</td><td>"; if ($priv_mod_num_persone == "s") echo mex("cambia in",$pag)." <input type=\"text\" name=\"n_numpersone\" value=\"$n_numpersone\" size=\"2\" maxlength=\"2\">"; $n_letti_agg = $num_letti_agg['max']; echo "</td></tr>"; echo "<tr style=\"background-color: ".rowbgcolor().";\"><td>".mex("Appartamento",'unit.php')." <b>$d_appartamento</b>$inv"; if ($d_assegnazione_app != "~~~~") { echo " (";
if (!strcmp($pos_fine_sel,"")) $testo_contratto_mod = substr($n_contratto,0,$pos_curs).$testo_agg1.$testo_agg2.$testo_agg3.substr($n_contratto,$pos_curs); else { $pos_fine_sel = strlen(utf8_encode(substr(utf8_decode($n_contratto),0,$pos_fine_sel))); $testo_contratto_mod = substr($n_contratto,0,$pos_curs).$testo_agg1.substr($n_contratto,$pos_curs,($pos_fine_sel - $pos_curs)).$testo_agg3.substr($n_contratto,$pos_fine_sel); } # fine else if (!strcmp($pos_fine_sel,"")) } # fine else if (!strcmp($pos_curs,"")) } # fine if ($aggiungi_ripetizione or $aggiungi_ripetizione2) if ($salva_foot) { $tabelle_lock = array($tablecontratti); $tabelle_lock = lock_tabelle($tabelle_lock); $vecchio_foot = esegui_query("select numero from $tablecontratti where numero = '$num_contratto' and tipo = 'foothtm' "); if (numlin_query($vecchio_foot)) { $mostra_form_iniziale = "NO"; if (@get_magic_quotes_gpc()) $n_foot = stripslashes($n_foot); $n_foot = aggslashdb($n_foot); esegui_query("update $tablecontratti set testo = '$n_foot' where numero = '$num_contratto' and tipo = 'foothtm' "); echo "".mex("Chiusura html cambiata",$pag).".<br>"; } # fine if (numlin_query($vecchio_foot)) unlock_tabelle($tabelle_lock); } # fine if ($salva_foot) if ($mostra_form_iniziale == "NO") { echo "<br><form accept-charset=\"utf-8\" method=\"post\" action=\"$pag$anchor\"><div> <input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"num_contratto\" value=\"$num_contratto\"> <input class=\"sbutton\" type=\"submit\" name=\"torna\" value=\"".mex("Torna indietro",$pag)."\"> </div></form>"; } # fine if ($mostra_form_iniziale == "NO")
function crea_messaggio_contr_salva($nome_file_contr, $num_file_salva, $num_contr_esist, $nome_file_contr_esist, $numero_contratto, $nomi_contratti, $dir_salva, $tipo_contratto, $num_ripeti, $origine, $origine_vecchia, $lista_var_form, $mostra_headers, $anno, $id_sessione, $id_utente, $tema, $tableversioni, $tabletransazioni, $pag) { global $PHPR_TAB_PRE, $priv_cancella_contratti; $nome_file_contr_orig = $nome_file_contr; $num_file_salva_orig = $num_file_salva; if ($num_contr_esist) { $nome_file_contr = $nome_file_contr_esist; $num_file_salva = count($nome_file_contr); } # fine if ($num_contr_esist) $tabelle_lock = array($tableversioni, $tabletransazioni); $adesso = date("YmdHis", time() + C_DIFF_ORE * 3600); list($usec, $sec) = explode(' ', microtime()); mt_srand((double) $sec + (double) $usec * 100000); $val_casuale = mt_rand(100000, 999999); $versione_transazione = prendi_numero_versione($tableversioni); $ultimo_accesso = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); $id_transazione = $adesso . $val_casuale . $versione_transazione; esegui_query("insert into {$tabletransazioni} (idtransazioni,idsessione,tipo_transazione,anno,dati_transazione1,dati_transazione2,dati_transazione3,dati_transazione4,dati_transazione5,ultimo_accesso) values ('{$id_transazione}','{$id_sessione}','con_s','{$anno}','" . aggslashdb($dir_salva) . "','" . aggslashdb(serialize($nome_file_contr)) . "','{$tipo_contratto}','" . aggslashdb($origine) . "','" . aggslashdb($origine_vecchia) . "','{$ultimo_accesso}')"); unlock_tabelle($tabelle_lock); if ($tipo_contratto == "contrrtf") { $sec_aspetta = 2; } else { $sec_aspetta = 6; } $url_reload = "./{$pag}?id_sessione={$id_sessione}&anno={$anno}&id_transazione={$id_transazione}&numero_contratto={$numero_contratto}"; if ($num_file_salva == 1) { $target = ""; } else { $target = " target=\"_blank\""; } if ($mostra_headers == "NO") { if ($num_file_salva == 1) { $extra_head = "<meta http-equiv=\"refresh\" content=\"{$sec_aspetta}; url={$url_reload}&n_file=1\">\n"; } if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/" . $tema[$id_utente] . "/php")) { include "./themes/" . $tema[$id_utente] . "/php/head.php"; } else { include "./includes/head.php"; } } # fine if ($mostra_headers == "NO") if ($num_contr_esist and $num_file_salva_orig == 1) { echo "<div style=\"line-height: 180%\"><br>"; } else { echo "<div style=\"line-height: 130%\"><br>"; } if ($num_contr_esist) { if ($num_ripeti > 1) { echo mex("Documenti già esistenti riguardanti queste prenotazioni", $pag) . ":<br>"; } else { echo mex("Documenti già esistenti riguardanti questa prenotazione", $pag) . ":<br>"; } } # fine if ($num_contr_esist) for ($num1 = 1; $num1 <= $num_file_salva; $num1++) { if ($num_contr_esist and $num_file_salva_orig == 1) { echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div>\n{$lista_var_form}\n<input type=\"hidden\" name=\"sovrascrivi\" value=\"" . htmlspecialchars($nome_file_contr[$num1]) . "\">"; } # fine if ($num_contr_esist and $num_file_salva_orig == 1) if (!$num_contr_esist) { echo ucfirst(mex("documento", $pag)) . " "; if ($nomi_contratti['salv'][$numero_contratto] != $nomi_contratti[$numero_contratto]) { echo "\"" . $nomi_contratti[$numero_contratto] . "\" "; } echo mex("<span class=\"colblu\">salvato</span> come", $pag); } # fine if (!$num_contr_esist) echo " <b><a style=\"color: #000000;\" href=\"{$url_reload}&n_file={$num1}\"{$target}>" . $nome_file_contr[$num1] . "</a></b>"; if ($num_contr_esist and $num_file_salva_orig == 1 and $priv_cancella_contratti != "n") { echo " " . bottone_submit_contr(mex("Sovrascrivi", $pag)) . "\n.</div></form>"; } else { echo ".<br>"; } } # fine for $num1 echo "<br></div>"; if (!$num_contr_esist) { if ($priv_cancella_contratti != "n") { echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"numero_contratto\" value=\"{$numero_contratto}\">\n<input type=\"hidden\" name=\"id_transazione\" value=\"{$id_transazione}\">\n<input type=\"hidden\" name=\"cancella\" value=\"SI\">"; if ($num_file_salva == 1) { echo " " . bottone_submit_contr(mex("Cancella il documento", $pag)); } else { echo bottone_submit_contr(mex("Cancella i documenti", $pag)); } echo "</div></form><br>"; } # fine if ($priv_cancella_contratti != "n") } else { echo "<br>\n<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div>\n{$lista_var_form}\n<input type=\"hidden\" name=\"cont_salva\" value=\"SI\">"; if ($num_file_salva_orig == 1) { echo " " . bottone_submit_contr(mex("Salva un nuovo documento", $pag)); } else { echo bottone_submit_contr(mex("Salva dei nuovi documenti", $pag)); } echo "</div></form><br>"; } # fine else if (!$num_contr_esist) }
$tabelle_lock = ""; $altre_tab_lock = array($tableprenota,$tablenometariffe,$tableperiodi,$tableappartamenti,$tableregole,$tablepersonalizza); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $min_periodo = esegui_query("select idperiodi from $tableperiodi where datainizio = '".aggslashdb($inizioperiodi[0])."'"); $min_periodo = risul_query($min_periodo,0,'idperiodi'); $max_periodo = esegui_query("select idperiodi from $tableperiodi where datafine = '".aggslashdb($fineperiodi[0])."'"); $max_periodo = risul_query($max_periodo,0,'idperiodi'); $num_colonne_tab_disp = $numero_giorni; $limiti_var['idperiodocorrente'] = calcola_id_periodo_corrente($anno); if ((string) $id_data_inizio_tab_disp == "") { if (!$data_preselezionata) $id_data_inizio_tab_disp = $limiti_var['idperiodocorrente']; else { $id_data_inizio_tab_disp = esegui_query("select idperiodi from $tableperiodi where datainizio = '".aggslashdb($data_preselezionata)."'"); if (numlin_query($id_data_inizio_tab_disp) == 1) $id_data_inizio_tab_disp = risul_query($id_data_inizio_tab_disp,0,'idperiodi'); else $id_data_inizio_tab_disp = $limiti_var['idperiodocorrente']; } # fine else if (!$data_preselezionata) } # fine if ((string) $id_data_inizio_tab_disp == "") if (controlla_num_pos($id_data_inizio_tab_disp) != "SI") $id_data_inizio_tab_disp = "0"; if (($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1) > $max_periodo) $id_data_inizio_tab_disp = ($max_periodo - $num_colonne_tab_disp + 1); if ($id_data_inizio_tab_disp < $min_periodo) $id_data_inizio_tab_disp = $min_periodo; if ($num_colonne_tab_disp > ($max_periodo - $min_periodo)) $num_colonne_tab_disp = ($max_periodo - $min_periodo); $limiti_var['n_ini'] = $id_data_inizio_tab_disp; $limiti_var['n_fine'] = ($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1); $profondita['iniziale'] = ""; $profondita['attuale'] = 1; $max_prenota = esegui_query("select max(idprenota) from $tableprenota"); $tot_prenota = risul_query($max_prenota,0,0);
function inserisci_prenotazione($inizioperiodo, $fineperiodo, $lista_app, $tipotariffa, $numpersone, $prenota_vicine, $idclienti, $conferma, $pagato, $caparra, $met_paga_caparra, $commissioni, $origine_prenota, $sconto, $giorno_stima_checkin, $ora_stima_checkin, $min_stima_checkin, $commento, &$stato, $anno, $PHPR_TAB_PRE, $ins_passato = "", $id_utente_imp = "", $id_prenota_imp = "", $tariffe_sett_imp = "", $ins_costi_agg = "") { global $id_utente, $HOSTNAME; $PHPR_TAB_PRE = aggslashdb($PHPR_TAB_PRE); $anno = aggslashdb($anno); $tableprenota = $PHPR_TAB_PRE . "prenota" . $anno; $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno; $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno; $tableregole = $PHPR_TAB_PRE . "regole" . $anno; $tableappartamenti = $PHPR_TAB_PRE . "appartamenti"; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tableclienti = $PHPR_TAB_PRE . "clienti"; $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno; if (!function_exists('tab_a_var')) { include "./includes/liberasettimane.php"; } if (!function_exists('dati_tariffe')) { include "./includes/funzioni_tariffe.php"; } include "./includes/sett_gio.php"; $Euro = nome_valuta(); $stile_soldi = stile_soldi(); $stile_data = stile_data(); $num_tipologie = count($inizioperiodo); $appartamenti = esegui_query("select * from {$tableappartamenti} "); $numappartamenti = numlin_query($appartamenti); $id_app_richiesti = 0; $dati_tariffe = dati_tariffe($tablenometariffe, "", "", $tableregole); if ($ins_costi_agg) { if (!function_exists('dati_costi_agg_ntariffe')) { include "./includes/funzioni_costi_agg.php"; } $dati_ca = dati_costi_agg_ntariffe($tablenometariffe, $dati_tariffe['num'], "NO", "", $tableappartamenti); } # fine if ($ins_costi_agg) for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $inizioperiodo_orig[$n_t] = $inizioperiodo[$n_t]; $fineperiodo_orig[$n_t] = $fineperiodo[$n_t]; $idinizioperiodo = esegui_query("select idperiodi from {$tableperiodi} where datainizio = '" . aggslashdb($inizioperiodo[$n_t]) . "' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo, 0, 'idperiodi'); } $inizioperiodo[$n_t] = $idinizioperiodo; if (!$idinizioperiodo_tot or $idinizioperiodo < $idinizioperiodo_tot) { $idinizioperiodo_tot = $idinizioperiodo; } $idfineperiodo = esegui_query("select idperiodi from {$tableperiodi} where datafine = '" . aggslashdb($fineperiodo[$n_t]) . "' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo, 0, 'idperiodi'); } $fineperiodo[$n_t] = $idfineperiodo; if (!$idfineperiodo_tot or $idfineperiodo > $idfineperiodo_tot) { $idfineperiodo_tot = $idfineperiodo; } $id_periodo_corrente = calcola_id_periodo_corrente($anno); if ($id_periodo_corrente > $idinizioperiodo and !$ins_passato) { $data_sbagliata = "SI"; } if ($idfineperiodo < $idinizioperiodo or $data_sbagliata == "SI") { $inserire = "NO"; $mess_errore .= mex("Le date sono sbagliate", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if ($idfineperiodo < $idinizioperiodo or... if (substr($tipotariffa[$n_t], 0, 7) != "tariffa" or controlla_num_pos(substr($tipotariffa[$n_t], 7)) == "NO") { $tariffa_sbagliata = "SI"; } else { $tar_sett_imp = $tariffe_sett_imp[$n_t]; for ($num1 = $inizioperiodo[$n_t]; $num1 <= $fineperiodo[$n_t]; $num1++) { $rigasettimana = esegui_query("select * from {$tableperiodi} where idperiodi = '{$num1}' "); $esistetariffa = risul_query($rigasettimana, 0, $tipotariffa[$n_t]); $esistetariffap = risul_query($rigasettimana, 0, $tipotariffa[$n_t] . "p"); if ((!strcmp($esistetariffa, "") or $esistetariffa < 0) and (!strcmp($esistetariffap, "") or $esistetariffap < 0) and !strcmp($tar_sett_imp[$num1], "")) { $tariffa_sbagliata = "SI"; } if ($dati_tariffe[$tipotariffa[$n_t]]['chiusa'][$num1] and !strcmp($tar_sett_imp[$num1], "")) { $tariffa_sbagliata = "SI"; } } # fine for $num1 } # fine else if (substr($tipotariffa[$n_t],0,7) != "tariffa" or... if ($tariffa_sbagliata == "SI") { $inserire = "NO"; $mess_errore .= mex("Si deve inserire il tipo di tariffa", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= "(" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } else { # se vi è una regola 2 per la tariffa unset($app_regola2_predef); if (!$lista_app[$n_t]) { $lista_app[$n_t] = trova_app_regola2($tipotariffa[$n_t], $regole2, $num_regole2, $app_regola2_predef, $id_periodo_corrente, $idinizioperiodo, $idfineperiodo, $tipo_periodi, $anno, $tableregole); } # fine if (!$lista_app[$n_t]) $id_utente_ins = ""; # se vi è una regola 3 per la tariffa if ($id_utente == 1) { $regole3 = esegui_query("select * from {$tableregole} where tariffa_per_utente = '" . aggslashdb($tipotariffa[$n_t]) . "'"); if (numlin_query($regole3) == 1) { $id_utente_ins = risul_query($regole3, 0, 'iddatainizio'); } } # fine if ($id_utente == 1) if (!$id_utente_ins and $id_utente_imp) { $id_utente_ins = $id_utente_imp; } if (!$id_utente_ins and $id_utente) { $id_utente_ins = $id_utente; } if (!$id_utente_ins) { $id_utente_ins = 1; } # se vi è una regola 4 per la tariffa if (!$numpersone[$n_t]) { $regole4 = esegui_query("select * from {$tableregole} where tariffa_per_persone = '" . aggslashdb($tipotariffa[$n_t]) . "'"); if (numlin_query($regole4) == 1) { $numpersone[$n_t] = risul_query($regole4, 0, 'iddatainizio'); } } # fine if (!$numpersone[$n_t]) if (!$numpersone) { if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { $inserire = "NO"; $mess_errore .= mex("Si deve inserire il numero delle persone per questa tariffa", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= "(" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") } # fine if (!$numpersone) } # fine else if ($tariffa_sbagliata == "SI") if (controlla_num_pos($idclienti[$n_t]) == "NO") { $inserire = "NO"; } else { $cliente_esistente = esegui_query("select cognome from {$tableclienti} where idclienti = '" . $idclienti[$n_t] . "' "); if (numlin_query($cliente_esistente) != 1) { $inserire = "NO"; } else { $cognome = risul_query($cliente_esistente, 0, "cognome"); } } # fine else if (controlla_num_pos($idclienti[$n_t]) == "NO") $app_richiesti_id[$n_t] = ""; $assegnazioneapp[$n_t] = "v"; if ($lista_app[$n_t]) { $assegnazioneapp[$n_t] = "c"; $vett_app = explode(",", $lista_app[$n_t]); $num_app = count($vett_app); if ($num_app == 1) { $assegnazioneapp[$n_t] = "k"; } for ($num1 = 0; $num1 < $num_app; $num1++) { $appo = aggslashdb($vett_app[$num1]); $app_richiesti_id[$n_t][$appo] = "SI"; $appartamento_esistente = esegui_query("select idappartamenti from {$tableappartamenti} where idappartamenti = '{$appo}' "); if (numlin_query($appartamento_esistente) != 1) { $inserire = "NO"; $mess_errore .= mex("L'appartamento", 'unit.php') . " <div style=\"display: inline; color: red;\">{$appo}</div> " . mex("contenuto nella lista non esiste", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if (numlin_query($appartamento_esistente) != 1) } # fine for $num1 } # fine if ($lista_app[$n_t]) if ($numpersone[$n_t]) { if (controlla_num_pos($numpersone[$n_t]) == "NO") { $inserire = "NO"; $mess_errore .= mex("Il numero di persone è sbagliato", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if (controlla_num_pos($numpersone[$n_t]) == "NO") $app_richiesti_copia = $app_richiesti_id[$n_t]; $posti = 0; if ($app_regola2_predef) { $app_regola2_predef = ",{$app_regola2_predef},"; $posto_reg2_orig = 0; } # fine if ($app_regola2_predef) for ($num1 = 0; $num1 < $numappartamenti; $num1++) { $idapp = risul_query($appartamenti, $num1, 'idappartamenti'); $maxoccupanti = risul_query($appartamenti, $num1, 'maxoccupanti'); if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") { if ($maxoccupanti and $maxoccupanti < $numpersone[$n_t]) { $app_richiesti_id[$n_t][$idapp] = "NO"; } else { $app_richiesti_id[$n_t][$idapp] = "SI"; $posti++; } # fine else if ($maxoccupanti and $maxoccupanti < $numpersone[$n_t]) } # fine if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") if ($app_regola2_predef) { if (str_replace(",{$idapp},", "", $app_regola2_predef) != $app_regola2_predef) { if (!$maxoccupanti or $maxoccupanti >= $numpersone[$n_t]) { $posto_reg2_orig = 1; } } # fine if (str_replace(",$idapp,","",$app_regola2_predef) != $app_regola2_predef) } # fine if ($app_regola2_predef) } # fine for $num1 if ($posti == 0 or $app_regola2_predef and !$posto_reg2_orig) { $mess_errore .= mex("Non c'è nessun appartamento tra quelli richiesti che possa ospitare", 'unit.php') . " " . $numpersone[$n_t] . " " . mex("persone", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; $inserire = "NO"; } # fine if ($posti == 0 or... } # fine if ($numpersone[$n_t]) unset($lista_app_richiesti); if (!$app_richiesti_id[$n_t]) { $lista_app_richiesti = ",tutti,,"; } else { while (list($key, $val) = each($app_richiesti_id[$n_t])) { if ($val == "SI") { $lista_app_richiesti .= $key . ","; } } } $lista_app_richiesti = substr($lista_app_richiesti, 0, -1); $id_app_richiesti++; $app_richiesti[$id_app_richiesti] = $lista_app_richiesti; $idinizioperiodo_vett[$id_app_richiesti] = $idinizioperiodo; $idfineperiodo_vett[$id_app_richiesti] = $idfineperiodo; $app_richiesti[",numero,"] = $id_app_richiesti; if ($num_tipologie > 1 and $prenota_vicine == "SI") { $app_richiesti[",vicini,"] = "SI"; } if ($id_prenota_imp) { if (controlla_num_pos($id_prenota_imp[$n_t]) == "SI") { $id_esistente = esegui_query("select idprenota from {$tableprenota} where idprenota = '" . $id_prenota_imp[$n_t] . "' "); if (numlin_query($id_esistente)) { unset($id_prenota_imp); } } else { unset($id_prenota_imp); } } # fine if ($id_prenota_imp) } # fine for $n_t if ($inserire != "NO") { $app_agenzia = esegui_query("select * from {$tableregole} where app_agenzia != ''{$condizioni_regole1_non_sel}"); $num_app_agenzia = numlin_query($app_agenzia); $minuti_durata_insprenota = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'minuti_durata_insprenota' and idutente = '1'"); $minuti_durata_insprenota = risul_query($minuti_durata_insprenota, 0, 'valpersonalizza_num'); $lim_prenota_temp = aggslashdb(date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600 - $minuti_durata_insprenota * 60)); esegui_query("delete from {$tableprenota} where idclienti = '0' and datainserimento < '" . $lim_prenota_temp . "' "); #Se ci sono regole per $app_agenzia inserisco false prenotazioni fisse in $app_prenota_id2 if ($num_app_agenzia != 0) { unset($limiti_var); unset($app_prenota_id); unset($app_orig_prenota_id); unset($inizio_prenota_id); unset($fine_prenota_id); unset($app_assegnabili_id); unset($prenota_in_app_sett); unset($dati_app); unset($profondita); $limiti_var['n_ini'] = $idinizioperiodo_tot; $limiti_var['n_fine'] = $idfineperiodo_tot; $limiti_var['lim_prenota_temp'] = $lim_prenota_temp; $profondita['iniziale'] = ""; $profondita['attuale'] = 1; $max_prenota = esegui_query("select max(idprenota) from {$tableprenota}"); if (numlin_query($max_prenota) != 0) { $tot_prenota = risul_query($max_prenota, 0, 0); } else { $tot_prenota = 0; } $profondita['tot_prenota_ini'] = $tot_prenota; $profondita['tot_prenota_attuale'] = $tot_prenota; tab_a_var($limiti_var, $app_prenota_id, $app_orig_prenota_id, $inizio_prenota_id, $fine_prenota_id, $app_assegnabili_id, $prenota_in_app_sett, $anno, $dati_app, $profondita, $PHPR_TAB_PRE . "prenota"); unset($info_periodi_ag); $info_periodi_ag['numero'] = 0; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 == "x") { $info_periodi_ag['app'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'app_agenzia'); $info_periodi_ag['ini'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatainizio'); $info_periodi_ag['fine'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatafine'); $info_periodi_ag['numero']++; } # fine if ($mot2 == "x") } # fine for $num1 if ($info_periodi_ag['numero']) { inserisci_prenota_fittizie($info_periodi_ag, $profondita, $app_prenota_id, $inizio_prenota_id, $fine_prenota_id, $prenota_in_app_sett, $app_assegnabili_id); } $limiti_var2 = $limiti_var; $profondita2 = $profondita; $prenota_in_app_sett2 = $prenota_in_app_sett; $inizio_prenota_id2 = $inizio_prenota_id; $fine_prenota_id2 = $fine_prenota_id; $app_prenota_id2 = $app_prenota_id; $app_assegnabili_id2 = $app_assegnabili_id; unset($info_periodi_ag); $info_periodi_ag['numero'] = 0; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 != "x") { $info_periodi_ag['app'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'app_agenzia'); $info_periodi_ag['ini'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatainizio'); $info_periodi_ag['fine'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatafine'); $info_periodi_ag['numero']++; } # fine if ($mot2 != "x") } # fine for $num1 if ($info_periodi_ag['numero']) { inserisci_prenota_fittizie($info_periodi_ag, $profondita2, $app_prenota_id2, $inizio_prenota_id2, $fine_prenota_id2, $prenota_in_app_sett2, $app_assegnabili_id2); } $occupare_app_agenzia_sempre = "NO"; for ($num1 = $idinizioperiodo_tot; $num1 <= $idfineperiodo_tot; $num1++) { $numprenotazioni = 0; for ($num2 = 0; $num2 < $dati_app['totapp']; $num2++) { if ($prenota_in_app_sett2[$dati_app['posizione'][$num2]][$num1]) { $numprenotazioni++; } } if ($numprenotazioni >= $numappartamenti) { $occupare_app_agenzia_sempre = "SI"; } } # fine for $num1 if ($occupare_app_agenzia_sempre != "SI") { $app_orig_prenota_id = $app_prenota_id2; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var2, $anno, $fatto_libera, $app_liberato, $profondita2, $app_richiesti, $app_prenota_id2, $app_orig_prenota_id, $inizio_prenota_id2, $fine_prenota_id2, $app_assegnabili_id2, $prenota_in_app_sett2, $dati_app, $PHPR_TAB_PRE . "prenota"); } else { $fatto_libera = "NO"; } if ($fatto_libera == "SI") { $risul_agg = aggiorna_tableprenota($app_prenota_id2, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $fatto_libera = "NO"; } else { $occupare_app_agenzia = "NO"; $appartamento = $app_liberato; } # fine else if (!$risul_agg) } else { $occupare_app_agenzia = "SI"; $limiti_var['t_limite'] = time() + $sec_limite_libsett; $app_liberato = ""; $app_orig_prenota_id = $app_prenota_id; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var, $anno, $fatto_libera2, $app_liberato, $profondita, $app_richiesti, $app_prenota_id, $app_orig_prenota_id, $inizio_prenota_id, $fine_prenota_id, $app_assegnabili_id, $prenota_in_app_sett, $dati_app, $PHPR_TAB_PRE . "prenota"); if ($fatto_libera2 != "NO") { $risul_agg = aggiorna_tableprenota($app_prenota_id, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $fatto_libera2 = "NO"; } } # fine if ($fatto_libera2 != "NO") if ($fatto_libera2 == "NO") { $inserire = "NO"; $mess_errore .= mex("Nel periodo selezionato non è possibile ospitare il cliente negli appartamenti richiesti", 'unit.php') . ".<br>"; for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $mess_prenota .= mex("Prenotazione", "prenota.php") . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b>"; $mess_prenota .= " " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= " " . mex("per", "prenota.php") . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", "prenota.php") . ""; } if ($dati_tariffe[$tipotariffa[$n_t]]['nome']) { $nometariffa_vedi = $dati_tariffe[$tipotariffa[$n_t]]['nome']; } else { $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } $mess_prenota .= ", " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\".<br><br>"; } # fine for $n_t } else { $appartamento = $app_liberato; $mess_regola1 .= mex("Sono stati fatti i seguenti spostamenti nei periodi della <div style=\"display: inline; color: blue;\">regola di assegnazione 1</div>", "clienti.php") . ":<br>"; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 != "x") { $id_app_agenzia = risul_query($app_agenzia, $num1, 'app_agenzia'); $idinizio_app_agenzia = risul_query($app_agenzia, $num1, 'iddatainizio'); $idfine_app_agenzia = risul_query($app_agenzia, $num1, 'iddatafine'); $motivazione_app_agenzia = risul_query($app_agenzia, $num1, 'motivazione'); $idprenota_cambiate_da_ag = esegui_query("select idprenota from {$tableprenota} where idappartamenti = '{$id_app_agenzia}' and iddatainizio <= '{$idfine_app_agenzia}' and iddatafine >= '{$idinizio_app_agenzia}'"); $num_idprenota_cambiate_da_ag = numlin_query($idprenota_cambiate_da_ag); for ($num2 = 0; $num2 < $num_idprenota_cambiate_da_ag; $num2 = $num2 + 1) { $idprenota_cambiata = risul_query($idprenota_cambiate_da_ag, $num2, 'idprenota'); if ($app_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $id_app_agenzia) { $idapp_camb = $app_prenota_id[$idprenota_cambiata]; $dati_cambiati = esegui_query("select * from {$tableprenota} where idprenota = '{$idprenota_cambiata}'"); $idclienti_camb = risul_query($dati_cambiati, 0, 'idclienti'); $cliente_camb = esegui_query("select cognome from {$tableclienti} where idclienti = '{$idclienti_camb}'"); if ($idclienti_camb) { $cliente_camb = risul_query($cliente_camb, 0, 'cognome'); } else { $cliente_camb = "?"; } $iddatainizio_camb = $inizio_prenota_id[$idprenota_cambiata]; $datainizio_camb = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '{$iddatainizio_camb}'"); $datainizio_camb = risul_query($datainizio_camb, 0, 'datainizio'); $datainizio_camb_f = formatta_data($datainizio_camb, $stile_data); $iddatafine_camb = $fine_prenota_id[$idprenota_cambiata]; $datafine_camb = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$iddatafine_camb}'"); $datafine_camb = risul_query($datafine_camb, 0, 'datafine'); $datafine_camb_f = formatta_data($datafine_camb, $stile_data); $mess_regola1 .= mex("La prenotazione dal", "clienti.php") . " {$datainizio_camb_f} " . mex("al", "clienti.php") . " {$datafine_camb_f} " . mex("a nome di", "clienti.php") . " {$cliente_camb} " . mex("verrà spostata dall'appartamento", 'unit.php') . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>) " . mex("al", "clienti.php") . " {$idapp_camb}.<br>"; } # fine if ($app_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $id_app_agenzia) } # fine for $num2 $idprenota_cambiate_a_ag = prenota_in_app_e_periodo($id_app_agenzia, $idinizio_app_agenzia, $idfine_app_agenzia, $prenota_in_app_sett, $fine_prenota_id, $num_pca); for ($num2 = 1; $num2 <= $num_pca; $num2++) { $idprenota_cambiata = $idprenota_cambiate_a_ag[$num2]; if ($app_orig_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $app_orig_prenota_id[$idprenota_cambiata]) { $dati_cambiati = esegui_query("select * from {$tableprenota} where idprenota = {$idprenota_cambiata}"); $idapp_camb = $app_orig_prenota_id[$idprenota_cambiata]; $idclienti_camb = risul_query($dati_cambiati, 0, 'idclienti'); $cliente_camb = esegui_query("select cognome from {$tableclienti} where idclienti = {$idclienti_camb}"); if ($idclienti_camb) { $cliente_camb = risul_query($cliente_camb, 0, 'cognome'); } else { $cliente_camb = "?"; } $iddatainizio_camb = $inizio_prenota_id[$idprenota_cambiata]; $datainizio_camb = esegui_query("select datainizio from {$tableperiodi} where idperiodi = {$iddatainizio_camb}"); $datainizio_camb = risul_query($datainizio_camb, 0, 'datainizio'); $datainizio_camb_f = formatta_data($datainizio_camb, $stile_data); $iddatafine_camb = $fine_prenota_id[$idprenota_cambiata]; $datafine_camb = esegui_query("select datafine from {$tableperiodi} where idperiodi = {$iddatafine_camb}"); $datafine_camb = risul_query($datafine_camb, 0, 'datafine'); $datafine_camb_f = formatta_data($datafine_camb, $stile_data); $mess_regola1 .= mex("La prenotazione dal", "clienti.php") . " {$datainizio_camb_f} " . mex("al", "clienti.php") . " {$datafine_camb_f} " . mex("a nome di", "clienti.php") . " {$cliente_camb} " . mex("verrà spostata dall'appartamento", 'unit.php') . " {$idapp_camb} " . mex("al", "clienti.php") . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>).<br>"; } # fine if ($app_orig_prenota_id[$idprenota_cambiata] and... } # fine for $num2 for ($num2 = 1; $num2 <= $id_app_richiesti; $num2++) { if ($id_app_richiesti > 1) { $appartamento_controlla = $appartamento[$num2]; } else { $appartamento_controlla = $appartamento; } if ($id_app_agenzia == $appartamento_controlla and $idinizio_app_agenzia <= $idfineperiodo and $idfine_app_agenzia >= $idinizioperiodo) { $mess_regola1 .= mex("La nuova prenotazione verrà inserita nell'appartamento", 'unit.php') . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>).<br>"; } # fine if ($id_app_agenzia == $appartamento_controlla and ... } # fine for $num2 } # fine if ($mot2 != "x") } # fine for $num1 } # fine else if ($fatto_libera2 == "NO") } # fine else if ($fatto_libera == "SI") } else { # se non ci sono app_agenzia della regola di assegnazione 1 unset($limiti_var); unset($profondita_); unset($app_prenota_id_); unset($app_orig_prenota_id_); unset($inizio_prenota_id_); unset($fine_prenota_id_); unset($app_assegnabili_id_); unset($prenota_in_app_sett_); unset($dati_app_); unset($app_liberato); $limiti_var["lim_prenota_temp"] = $lim_prenota_temp; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var, $anno, $fatto_libera, $app_liberato, $profondita_, $app_richiesti, $app_prenota_id_, $app_orig_prenota_id_, $inizio_prenota_id_, $fine_prenota_id_, $app_assegnabili_id_, $prenota_in_app_sett_, $dati_app_, $PHPR_TAB_PRE . "prenota"); if ($fatto_libera == "NO") { $inserire = "NO"; $mess_errore .= mex("Nel periodo selezionato non è possibile ospitare il cliente in un appartamento tra quelli richiesti", 'unit.php') . ".<br>"; for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $mess_prenota .= mex("Prenotazione", "prenota.php") . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b>"; $mess_prenota .= " " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= " " . mex("per", "prenota.php") . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", "prenota.php") . ""; } if ($dati_tariffe[$tipotariffa[$n_t]]['nome']) { $nometariffa_vedi = $dati_tariffe[$tipotariffa[$n_t]]['nome']; } else { $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } $mess_prenota .= ", " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\".<br><br>"; } # fine for $n_t } else { $appartamento = $app_liberato; } } # fine else if ($num_app_agenzia != 0) } # fine if ($inserire != "NO") if ($inserire != "NO") { $metodi_pagamento = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'metodi_pagamento' and idutente = '{$id_utente}'"); $metodi_pagamento = risul_query($metodi_pagamento, 0, 'valpersonalizza'); if ($metodi_pagamento) { $metodi_pagamento = explode(",", $metodi_pagamento); } $origini_prenota = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'origini_prenota' and idutente = '{$id_utente}'"); $origini_prenota = risul_query($origini_prenota, 0, 'valpersonalizza'); if ($origini_prenota) { $origini_prenota = explode(",", $origini_prenota); } for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $lunghezza_periodo = $fineperiodo[$n_t] - $inizioperiodo[$n_t] + 1; $max_idprenota = esegui_query("select numlimite from {$tablecostiprenota} where idcostiprenota = '1'"); $max_idprenota = risul_query($max_idprenota, 0, 'numlimite'); if ($id_prenota_imp[$n_t]) { $idprenota = $id_prenota_imp[$n_t]; } else { $idprenota = $max_idprenota; } if ($idprenota >= $max_idprenota) { esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota + 1) . "' where idcostiprenota = '1'"); } $mess_prenota .= mex("Prenotazione", "prenota.php") . " {$idprenota} " . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b> ({$lunghezza_periodo} " . mex("{$parola_settiman}", "prenota.php"); if ($lunghezza_periodo == 1) { $mess_prenota .= mex("{$lettera_a}", "prenota.php"); } else { $mess_prenota .= mex("{$lettera_e}", "prenota.php"); } $mess_prenota .= ") " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= mex("per", 'prenota.php') . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", 'prenota.php') . " "; } $mess_prenota .= mex("nell'appartamento", 'unit.php') . " <b>" . $appartamento[$n_t] . "</b>"; if ($assegnazioneapp[$n_t] == "k") { $mess_prenota .= " (" . mex("fisso", "unit.php") . ")"; } else { $mess_prenota .= " (" . mex("mobile", "prenota.php"); if ($lista_app[$n_t]) { $mess_prenota .= " " . mex("in", "prenota.php") . " " . str_replace(",", ", ", $lista_app[$n_t]); } $mess_prenota .= ")"; } # fine else if ($assegnazioneapp[$n_t] == "k") $mess_prenota .= ":<br><br>"; $costo_tariffa_tot = (double) 0; unset($lista_tariffe_sett); unset($lista_tariffep_sett); $tar_sett_imp = $tariffe_sett_imp[$n_t]; for ($num2 = $inizioperiodo[$n_t]; $num2 <= $fineperiodo[$n_t]; $num2++) { $riga_tariffa = esegui_query("select * from {$tableperiodi} where idperiodi = {$num2}"); if (strcmp($tar_sett_imp[$num2], "")) { $costo_tariffa = $tar_sett_imp[$num2]; } else { $costo_tariffa = risul_query($riga_tariffa, 0, $tipotariffa[$n_t]); } if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { if (!strcmp($costo_tariffa, "")) { $costo_tariffa = 0; } if (strcmp($tar_sett_imp[$num2], "")) { $costo_tariffap = 0; } else { $costo_tariffap = risul_query($riga_tariffa, 0, $tipotariffa[$n_t] . "p"); } if (!strcmp($costo_tariffap, "")) { $costo_tariffap = 0; } $costo_tariffap = (double) $costo_tariffap * (double) $numpersone[$n_t]; $lista_tariffep_sett .= "," . $costo_tariffap; $costo_tariffa = (double) $costo_tariffa + $costo_tariffap; } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") $costo_tariffa_tot = (double) $costo_tariffa_tot + (double) $costo_tariffa; $lista_tariffe_sett .= "," . $costo_tariffa; } # fine for $num2 $lista_tariffe_sett = substr($lista_tariffe_sett, 1); if ($lista_tariffep_sett) { $lista_tariffep_sett = substr($lista_tariffep_sett, 1); $lista_tariffe_sett .= ";{$lista_tariffep_sett}"; } # fine if ($lista_tariffep_sett) $costo_tariffa = $costo_tariffa_tot; $nometariffa = $dati_tariffe[$tipotariffa[$n_t]]['nome']; if ($nometariffa == "") { $nometariffa = $tipotariffa[$n_t]; $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } else { $nometariffa_vedi = $nometariffa; } $nometariffa = aggslashdb($nometariffa); $tariffa = $nometariffa . "#@&" . $costo_tariffa_tot; if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { $tariffa .= "#@&p"; } $costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot, $stile_soldi); $mess_prenota .= "{$costo_tariffa_tot_p} {$Euro} " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\"<br>"; $valori = "abcdefghijkmnpqrstuvwxz"; srand((double) microtime() * 1000000); unset($cod_prenota); for ($num2 = 0; $num2 < 4; $num2++) { $cod_prenota .= substr($valori, rand(0, 22), 1); } if ($conferma[$n_t] == "SI") { $conf = "S"; } else { $conf = "N"; } if ($pagato[$n_t] > 0) { $conf = "S"; } $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,tariffa,tariffesettimanali,codice,conferma,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota}','" . $idclienti[$n_t] . "','" . aggslashdb($appartamento[$n_t]) . "','" . $inizioperiodo[$n_t] . "','" . $fineperiodo[$n_t] . "','{$tariffa}','{$lista_tariffe_sett}','{$cod_prenota}','{$conf}','{$datainserimento}','{$HOSTNAME}','{$id_utente_ins}')"); if ($numpersone[$n_t]) { esegui_query("update {$tableprenota} set num_persone = '" . $numpersone[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($numpersone[$n_t]) if ($dati_tariffe[$tipotariffa[$n_t]]['tasse_percent']) { esegui_query("update {$tableprenota} set tasseperc = '" . $dati_tariffe[$tipotariffa[$n_t]]['tasse_percent'] . "' where idprenota = '{$idprenota}' "); } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['tasse_percent']) $caparra[$n_t] = formatta_soldi($caparra[$n_t]); if (controlla_soldi($caparra[$n_t], "pos") == "NO") { $caparra[$n_t] = ""; } if (!$caparra[$n_t]) { $caparra[$n_t] = calcola_caparra($dati_tariffe, $tipotariffa[$n_t], $inizioperiodo[$n_t], $fineperiodo[$n_t], $costo_tariffa_tot, $lista_tariffe_sett); } $sconto[$n_t] = (double) formatta_soldi($sconto[$n_t]); if ($sconto[$n_t] and controlla_soldi($sconto[$n_t]) == "SI") { if ($sconto[$n_t] > $costo_tariffa_tot) { $sconto[$n_t] = $costo_tariffa_tot; } esegui_query("update {$tableprenota} set sconto = '" . $sconto[$n_t] . "' where idprenota = '{$idprenota}' "); $sconto_p = punti_in_num($sconto[$n_t], $stile_soldi); if (substr($sconto_p, 0, 1) == "-") { $sconto_p = substr($sconto_p, 1); } else { $mess_prenota .= "-"; } $mess_prenota .= "{$sconto_p} {$Euro} " . mex("Sconto", "prenota.php") . "<br>"; $costo_tariffa_tot = (double) $costo_tariffa_tot - (double) $sconto[$n_t]; } # fine if ($sconto[$n_t] and... $commissioni[$n_t] = formatta_soldi($commissioni[$n_t]); if (controlla_soldi($commissioni[$n_t], "pos") == "NO") { $commissioni[$n_t] = ""; } if (!$commissioni[$n_t]) { $commissioni[$n_t] = calcola_commissioni($dati_tariffe, $tipotariffa[$n_t], $inizioperiodo[$n_t], $fineperiodo[$n_t], $lista_tariffe_sett, $sconto[$n_t], 0); } esegui_query("update {$tableprenota} set tariffa_tot = '{$costo_tariffa_tot}' where idprenota = '{$idprenota}' "); $costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot, $stile_soldi); $mess_prenota .= "<b>{$costo_tariffa_tot_p} {$Euro} " . mex("TOTALE", "prenota.php") . "</b><br>"; if ($lista_app[$n_t]) { esegui_query("update {$tableprenota} set app_assegnabili = '" . $lista_app[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($lista_app[$n_t]) if ($assegnazioneapp[$n_t]) { esegui_query("update {$tableprenota} set assegnazioneapp = '" . $assegnazioneapp[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($assegnazioneapp[$n_t]) if ($caparra[$n_t]) { if ($caparra[$n_t] > $costo_tariffa_tot) { $caparra[$n_t] = $costo_tariffa_tot; } esegui_query("update {$tableprenota} set caparra = '" . $caparra[$n_t] . "' where idprenota = '{$idprenota}' "); $da_pagare = $costo_tariffa_tot - $caparra[$n_t]; $caparra_p = punti_in_num($caparra[$n_t], $stile_soldi); $da_pagare_p = punti_in_num($da_pagare, $stile_soldi); $mess_prenota .= "<br>" . mex("Caparra", "prenota.php") . ": <b>{$caparra_p}</b> {$Euro} (" . mex("resto da pagare", "prenota.php") . ": {$da_pagare_p} {$Euro}).<br>"; } # fine if ($caparra[$n_t]) $met_trovato = "NO"; if ($met_paga_caparra[$n_t] and $metodi_pagamento) { for ($num2 = 0; $num2 < count($metodi_pagamento); $num2++) { if ($met_paga_caparra[$n_t] == $metodi_pagamento[$num2]) { $met_trovato = "SI"; } } # fine for $num2 if ($met_trovato == "SI") { esegui_query("update {$tableprenota} set metodo_pagamento = '" . aggslashdb($met_paga_caparra[$n_t]) . "' where idprenota = '{$idprenota}' "); if (!$caparra) { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Metodo pagamento caparra", "prenota.php") . ": <b>" . $met_paga_caparra[$n_t] . "</b>.<br>"; } # fine if ($met_trovato == "SI") } # fine if ($met_paga_caparra[$n_t] and $metodi_pagamento) if ($commissioni[$n_t]) { esegui_query("update {$tableprenota} set commissioni = '" . $commissioni[$n_t] . "' where idprenota = '{$idprenota}' "); $resto_comm = $costo_tariffa_tot - $commissioni[$n_t]; $commissioni_p = punti_in_num($commissioni[$n_t], $stile_soldi); $resto_comm_p = punti_in_num($resto_comm, $stile_soldi); if (!$caparra[$n_t] and $met_trovato == "NO") { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Commissioni", "prenota.php") . ": <b>{$commissioni_p}</b> {$Euro} (" . mex("resto commissioni", "prenota.php") . ": {$resto_comm_p} {$Euro}).<br>"; } # fine if ($commissioni[$n_t]) # calcolo costi nulli, non letto e senza inventario da associare alla tariffa, tutti come se fossero "se possibile" if ($ins_costi_agg == "costi_nulli") { unset($num_letti_agg); unset($num_costi_presenti); $oggi_costo = date("Ymd", time() + C_DIFF_ORE * 3600); for ($num_costo = 0; $num_costo < $dati_ca['num']; $num_costo++) { if (!$dati_ca[$num_costo]['valore'] and !$dati_ca[$num_costo]['valore_perc'] and $dati_ca[$num_costo]['letto'] != "s" and !$dati_ca[$num_costo]['tipo_beniinv']) { $associa_costo = "NO"; $associa_costo_tariffa = associa_costo_a_tariffa($dati_ca, $num_costo, $tipotariffa[$n_t], $fineperiodo[$n_t] - $inizioperiodo[$n_t] + 1); if ($associa_costo_tariffa == "SI") { $associa_costo = "SI"; } if ($associa_costo_tariffa != "SI" and !$dati_ca[$num_costo]["incomp_" . $tipotariffa[$n_t]]) { if ($dati_ca[$num_costo]['assegna_con_num_prenota'] and count($inizioperiodo) >= $dati_ca[$num_costo]['assegna_con_num_prenota']) { $associa_costo = "SI"; } if ($dati_ca[$num_costo]['assegna_da_ini_prenota']) { $giorni_lim = substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 1); $limite = date("Ymd", mktime(0, 0, 0, substr($inizioperiodo_orig[$n_t], 5, 2), substr($inizioperiodo_orig[$n_t], 8, 2) - $giorni_lim, substr($inizioperiodo_orig[$n_t], 0, 4))); if (substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 0, 1) == ">" and $oggi_costo < $limite) { $associa_costo = "SI"; } if (substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 0, 1) == "<" and $oggi_costo > $limite) { $associa_costo = "SI"; } } # fine if ($dati_ca[$num_costo][assegna_da_ini_prenota]) } # fine if ($associa_costo_tariffa != "SI" and... if ($associa_costo == "SI") { #if ($dati_ca[$num_costo][tipo_val] == "q" and $costo_totale_presente = "SI") $associa_costo = "NO"; $settimane_costo = calcola_settimane_costo($tableperiodi, $dati_ca, $num_costo, $inizioperiodo[$n_t], $fineperiodo[$n_t], "", ""); calcola_moltiplica_costo($dati_ca, $num_costo, $moltiplica, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo, "", $numpersone[$n_t], $num_letti_agg); $num_costi_presenti_copia = $num_costi_presenti; $periodo_costo_trovato = trova_periodo_permesso_costo($dati_ca, $num_costo, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo); if ($periodo_costo_trovato == "NO") { $associa_costo = "NO"; } else { if (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_ca, $num_costo, $num_costi_presenti_copia, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo, $moltiplica) == "NO") { $associa_costo = "NO"; } } if ($associa_costo == "SI") { $num_costi_presenti = $num_costi_presenti_copia; $idcostiprenota = esegui_query("select max(idcostiprenota) from {$tablecostiprenota}"); $idcostiprenota = risul_query($idcostiprenota, 0, 0) + 1; $tipo_ca = $dati_ca[$num_costo]['tipo'] . $dati_ca[$num_costo]['tipo_val']; $valore_ca = $dati_ca[$num_costo]['valore']; $valore_perc_ca = $dati_ca[$num_costo]['valore_perc']; $associasett_ca = $dati_ca[$num_costo]['associasett']; if ($dati_ca[$num_costo]['var_percentuale'] != "s" and $dati_ca[$num_costo]['tipo_val'] != "f") { $tipo_ca = $dati_ca[$num_costo]['tipo'] . "f"; $moltiplica = 1; if ($dati_ca[$num_costo]['tipo'] == "s") { $settimane_costo = 1; $associasett_ca = "n"; } # fine if ($dati_ca[$num_costo][tipo] == "s") } # fine if ($dati_ca[$num_costo][var_percentuale] != "s" and... if ($dati_ca[$num_costo]['var_moltiplica'] == "s") { $varmoltiplica_ca = $dati_ca[$num_costo]['moltiplica'] . $dati_ca[$num_costo]['molt_max'] . $dati_ca[$num_costo]['molt_agg'] . "," . $dati_ca[$num_costo]['molt_max_num']; } else { $varmoltiplica_ca = "cx0,"; } if ($dati_ca[$num_costo]['var_numsett'] == "s") { $varnumsett_ca = $dati_ca[$num_costo]['numsett_orig']; } else { $varnumsett_ca = "c"; } if ($dati_ca[$num_costo]['var_periodip'] == "s") { $varperiodipermessi_ca = $dati_ca[$num_costo]['periodipermessi_orig']; } else { $varperiodipermessi_ca = ""; } $varbeniinv_ca = ""; $varappincompatibili_ca = ""; if ($dati_ca[$num_costo]['var_tariffea'] == "s") { $vartariffeassociate_ca = "p" . $dati_ca[$num_costo][$tipotariffa[$n_t]]; } else { $vartariffeassociate_ca = ""; } $vartariffeincomp_ca = ""; if ($dati_ca[$num_costo]['var_tariffei'] == "s") { for ($numtariffa = 1; $numtariffa <= $dati_tariffe['num']; $numtariffa++) { if ($dati_ca[$num_costo]["incomp_tariffa" . $numtariffa] == "i") { $vartariffeincomp_ca .= "," . $numtariffa; } } # fine for $numtariffa if ($vartariffeincomp_ca) { $vartariffeincomp_ca = substr($vartariffeincomp_ca, 1); } } # fine if ($dati_ca[$num_costo][var_tariffei] == "s") if ($dati_ca[$num_costo]['var_comb'] == "s") { $variazione_ca = $dati_ca[$num_costo]['combina']; } else { $variazione_ca = "n"; } $variazione_ca .= $dati_ca[$num_costo]['escludi_tot_perc']; esegui_query("insert into {$tablecostiprenota} (idcostiprenota,idprenota,tipo,nome,valore,associasett,settimane,moltiplica,letto,idntariffe,variazione,varmoltiplica,varnumsett,varperiodipermessi,varbeniinv,varappincompatibili,vartariffeassociate,vartariffeincomp,datainserimento,hostinserimento,utente_inserimento) values ('{$idcostiprenota}','{$idprenota}','{$tipo_ca}','" . aggslashdb($dati_ca[$num_costo]['nome']) . "','{$valore_ca}','{$associasett_ca}','{$settimane_costo}','{$moltiplica}','" . $dati_ca[$num_costo]['letto'] . "','" . $dati_ca[$num_costo]['id'] . "','{$variazione_ca}','{$varmoltiplica_ca}','{$varnumsett_ca}','{$varperiodipermessi_ca}','{$varbeniinv_ca}','{$varappincompatibili_ca}','{$vartariffeassociate_ca}','{$vartariffeincomp_ca}','{$datainserimento}','{$HOSTNAME}','{$id_utente_ins}')"); if (substr($tipo_ca, 1, 1) != "f") { esegui_query("update {$tablecostiprenota} set valore_perc = '{$valore_perc_ca}', arrotonda = '" . $dati_ca[$num_costo]['arrotonda'] . "' where idcostiprenota = '{$idcostiprenota}'"); } if ($dati_ca[$num_costo]['tasseperc']) { esegui_query("update {$tablecostiprenota} set tasseperc = '" . $dati_ca[$num_costo]['tasseperc'] . "' where idcostiprenota = '{$idcostiprenota}'"); } if (strcmp($dati_ca[$num_costo]['categoria'], "")) { esegui_query("update {$tablecostiprenota} set categoria = '" . $dati_ca[$num_costo]['categoria'] . "' where idcostiprenota = '{$idcostiprenota}'"); } } # fine if ($associa_costo == "SI") } # fine if ($associa_costo == "SI") } # fine if (!$dati_ca[$num_costo]['valore'] and !$dati_ca[$num_costo]['valore_perc'] and... } # fine for $num_costo } # fine if ($ins_costi_agg == "costi_nulli") if ($origine_prenota[$n_t] and $origini_prenota) { $orig_trovata = "NO"; for ($num2 = 0; $num2 < count($origini_prenota); $num2++) { if ($origine_prenota[$n_t] == $origini_prenota[$num2]) { $orig_trovata = "SI"; } } # fine for $num2 if ($orig_trovata == "SI") { $origine_prenota[$n_t] = aggslashdb($origine_prenota[$n_t]); esegui_query("update {$tableprenota} set origine = '" . $origine_prenota[$n_t] . "' where idprenota = '{$idprenota}' "); if (!$caparra[$n_t] and $met_trovato == "NO" and !$commissioni[$n_t]) { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Origine", "prenota.php") . ": <b>" . stripslashes($origine_prenota[$n_t]) . "</b>.<br>"; } # fine if ($orig_trovata == "SI") } # fine if ($origine_prenota[$n_t] and $origini_prenota) if ($giorno_stima_checkin[$n_t] and $ora_stima_checkin[$n_t] and $min_stima_checkin[$n_t]) { if ($tipo_periodi == "g") { $giorni_periodo = $lunghezza_periodo; } else { $giorni_periodo = $lunghezza_periodo * 7; } if (controlla_num_pos($giorno_stima_checkin[$n_t]) == "SI" and $giorno_stima_checkin[$n_t] >= 1 and $giorno_stima_checkin[$n_t] <= 7 and $giorno_stima_checkin[$n_t] <= $giorni_periodo + 1) { $data_stima_checkin = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '" . $inizioperiodo[$n_t] . "'"); $data_stima_checkin = risul_query($data_stima_checkin, 0, 'datainizio'); $data_ini_prenota_f = formatta_data($data_stima_checkin, $stile_data); $anno_dts = substr($data_stima_checkin, 0, 4); $mese_dts = substr($data_stima_checkin, 5, 2); $giorno_dts = substr($data_stima_checkin, 8, 2); $data_stima_checkin = date("Y-m-d", mktime(0, 0, 0, $mese_dts, $giorno_dts + $giorno_stima_checkin[$n_t] - 1, $anno_dts)); $stima_checkin = $data_stima_checkin . " " . $ora_stima_checkin[$n_t] . ":" . $min_stima_checkin[$n_t] . ":00"; if (preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/", $stima_checkin)) { esegui_query("update {$tableprenota} set checkout = '{$stima_checkin}' where idprenota = '{$idprenota}' "); $mess_prenota .= "<br>" . mex("Orario stimato di entrata", "prenota.php") . ": <b>" . substr(str_replace($data_ini_prenota_f, "", formatta_data($stima_checkin, $stile_data)), 0, -3) . "</b>.<br>"; } # fine if (preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/",$stima_checkin)) } # fine if (controlla_num_pos($giorno_stima_checkin) == "SI" and... } # fine if ($giorno_stima_checkin[$n_t] and $ora_stima_checkin[$n_t] and $min_stima_checkin[$n_t]) if ($commento[$n_t]) { $commento[$n_t] = htmlspecialchars($commento[$n_t]); $mess_prenota .= "<br>" . mex("Commento", "prenota.php") . ": " . $commento[$n_t] . "<br>"; $commento[$n_t] = aggslashdb($commento[$n_t]); esegui_query("update {$tableprenota} set commento = '" . $commento[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($commento[$n_t]) $mess_prenota .= "<br>" . mex("Prenotazione", "prenota.php") . " {$idprenota} " . mex("inserita", "prenota.php") . "!<br>"; if ($n_t != $num_tipologie) { $mess_prenota .= "<hr style=\"width: 95%\">"; } $lista_idprenota .= ",{$idprenota}"; $lista_idini .= "," . $inizioperiodo[$n_t]; $lista_idfine .= "," . $fineperiodo[$n_t]; #$costo_tot_mess = (double) $costo_tot_mess + (double) $costo_tariffa_tot; #$caparra_mess = (double) $caparra_mess + (double) $caparra; } # fine for $n_t $lista_idprenota = substr($lista_idprenota, 1); $lista_idini = substr($lista_idini, 1); $lista_idfine = substr($lista_idfine, 1); if ($prenota_vicine == "SI") { $lista_idprenota_vett = explode(",", $lista_idprenota); for ($num1 = 0; $num1 < count($lista_idprenota_vett); $num1++) { $idprenota = $lista_idprenota_vett[$num1]; $idprenota_vicine = substr(str_replace("," . $idprenota . ",", ",", "," . $lista_idprenota . ","), 1, -1); esegui_query("update {$tableprenota} set idprenota_compagna = '{$idprenota_vicine}' where idprenota = '{$idprenota}' "); } # fine for $num1 } # fine if ($prenota_vicine == "SI") $stato['inserita'] = "SI"; } # fine if ($inserire != "NO") if (!@is_array($stato) or $stato['inserita'] != "SI") { $stato['inserita'] = "NO"; } $stato['mess_errore'] = $mess_errore; $stato['mess_regola1'] = $mess_regola1; $stato['mess_prenota'] = $mess_prenota; $stato['lista_idprenota'] = $lista_idprenota; $stato['idinizioperiodo'] = $lista_idini; $stato['idfineperiodo'] = $lista_idfine; return $lista_idprenota; }
function crea_nuovo_anno($anno, $PHPR_TAB_PRE, $DATETIME, $tipo_periodi, $giorno_ini_fine, $mese_ini, $mese_fine, $importa_anno_prec, $silenzio, $pag) { allunga_tempo_limite(); global $lingua_mex, $LIKE, $ILIKE, $PHPR_DB_TYPE; $lingua_mex_orig = $lingua_mex; include_once "./includes/funzioni_menu.php"; include C_DATA_PATH . "/lingua.php"; $lingua_mex = $lingua[1]; $tableanni = $PHPR_TAB_PRE . "anni"; $tableprivilegi = $PHPR_TAB_PRE . "privilegi"; $tabletransazioni = $PHPR_TAB_PRE . "transazioni"; $tabletransazioniweb = $PHPR_TAB_PRE . "transazioniweb"; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tablemessaggi = $PHPR_TAB_PRE . "messaggi"; $tableinterconnessioni = $PHPR_TAB_PRE . "interconnessioni"; $tablecontratti = $PHPR_TAB_PRE . "contratti"; $tableutenti = $PHPR_TAB_PRE . "utenti"; $tablerelclienti = $PHPR_TAB_PRE . "relclienti"; if ($PHPR_DB_TYPE == "mysql" or $PHPR_DB_TYPE == "mysqli") { @esegui_query("SET default_storage_engine=MYISAM", 1); } $filelock = fopen(C_DATA_PATH . "/anni.lock", "w+"); if ($filelock) { flock($filelock, 2); $anno_esistente = esegui_query("select * from {$tableanni} where idanni = {$anno}"); if (numlin_query($anno_esistente) == 0) { if (C_CAMBIA_TIPO_PERIODI == "NO") { $tipo_periodi_esistenti = esegui_query("select * from {$tableanni} order by idanni desc"); if (numlin_query($tipo_periodi_esistenti) != 0) { $tipo_periodi = risul_query($tipo_periodi_esistenti, 0, 'tipo_periodi'); } } # fine if (C_CAMBIA_TIPO_PERIODI == "NO") if ($tipo_periodi != "g") { $tipo_periodi = "s"; } // creo la tabella con periodi settimanali e prezzi e la tabella con i nomi delle tariffe $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno; $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno; if ($importa_anno_prec == "SI") { $anno_prec = $anno - 1; $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec; $num_tariffe_tab = esegui_query("select nomecostoagg from {$tablenometariffe_prec} where idntariffe = 1"); $num_tariffe_tab = risul_query($num_tariffe_tab, 0, 'nomecostoagg'); } else { $num_tariffe_tab = 8; } $query = "create table {$tableperiodi} (idperiodi integer primary key, datainizio date not null, datafine date"; $query2 = "create table {$tablenometariffe} (idntariffe integer, nomecostoagg varchar(40), tipo_ca varchar(2), valore_ca float8, valore_perc_ca float8, arrotonda_ca float4, tasseperc_ca float4, associasett_ca varchar(1), numsett_ca varchar(20), moltiplica_ca text, periodipermessi_ca text, beniinv_ca text, appincompatibili_ca text, variazione_ca varchar(20), mostra_ca varchar(10), categoria_ca text, letto_ca varchar(1), numlimite_ca integer, regoleassegna_ca varchar(30), utente_inserimento integer"; $num_col_tariffe_db = $num_tariffe_tab; if ($num_col_tariffe_db < 12) { $num_col_tariffe_db = 12; } for ($num1 = 1; $num1 <= $num_col_tariffe_db; $num1++) { $nome_nuova_tariffa = "tariffa" . $num1; $query .= ", {$nome_nuova_tariffa} float8, {$nome_nuova_tariffa}" . "p float8"; $query2 .= ", {$nome_nuova_tariffa} varchar(40)"; } # fine for $num1 $crea_tab = esegui_query($query . ")"); if ($crea_tab) { esegui_query($query2 . ")"); function estrai_col_tabella($col_table) { $col_table = explode(",", $col_table); for ($num1 = 0; $num1 < count($col_table); $num1++) { $col = explode(" ", trim($col_table[$num1])); $tutte_col .= $col[0] . ","; } # fine for $num1 return substr($tutte_col, 0, -1); } # fine function estrai_col_tabella # Creo la tabella delle prernotazioni $tableprenotazioni = $PHPR_TAB_PRE . "prenota" . $anno; $col_tableprenota = "idprenota integer primary key, idclienti integer, idappartamenti varchar(100), iddatainizio integer, iddatafine integer, assegnazioneapp varchar(4), app_assegnabili text, num_persone integer, idprenota_compagna text, tariffa text, tariffesettimanali text, incompatibilita text, sconto float8, tariffa_tot float8, caparra float8, commissioni float8, tasseperc float4, pagato float8, metodo_pagamento text, codice varchar(10), origine varchar(70), commento text, conferma varchar(4), checkin {$DATETIME}, checkout {$DATETIME}, id_anni_prec text, datainserimento {$DATETIME}, hostinserimento varchar(50), data_modifica {$DATETIME}, utente_inserimento integer "; esegui_query("create table {$tableprenotazioni} ({$col_tableprenota})"); $col_tableprenota = estrai_col_tabella($col_tableprenota); # Creo la tabella con i costi aggiuntivi delle prenotazioni $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno; $col_tablecostiprenota = "idcostiprenota integer primary key, idprenota integer, tipo varchar(2), nome varchar(40), valore float8, valore_perc float8, arrotonda float4, tasseperc float4, associasett varchar(1), settimane text, moltiplica text, categoria text, letto varchar(1), numlimite integer, idntariffe integer, variazione varchar(10), varmoltiplica text, varnumsett varchar(20), varperiodipermessi text, varbeniinv text, varappincompatibili text, vartariffeassociate varchar(10), vartariffeincomp text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer"; esegui_query("create table {$tablecostiprenota} ({$col_tablecostiprenota})"); $col_tablecostiprenota = estrai_col_tabella($col_tablecostiprenota); crea_indice($tablecostiprenota, "idprenota", $PHPR_TAB_PRE . "iidpcostiprenota" . $anno); esegui_query("insert into {$tablecostiprenota} (idcostiprenota,numlimite) values ('1','1')"); # Creo la tabella le relazioni tra prenotazioni e clienti non titolari $tablerclientiprenota = $PHPR_TAB_PRE . "rclientiprenota" . $anno; $col_tablerclientiprenota = "idprenota integer, idclienti integer, num_ordine integer, parentela varchar(70), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer"; esegui_query("create table {$tablerclientiprenota} ({$col_tablerclientiprenota})"); $col_tablerclientiprenota = estrai_col_tabella($col_tablerclientiprenota); crea_indice($tablerclientiprenota, "idprenota", $PHPR_TAB_PRE . "iidprclientiprenota" . $anno); # Creo la tabella per le regole di assegnazione $tableregole = $PHPR_TAB_PRE . "regole" . $anno; $col_tableregole = "idregole integer, app_agenzia varchar(100), tariffa_chiusa text, tariffa_per_app text, tariffa_per_utente text, tariffa_per_persone text, tariffa_commissioni integer, iddatainizio integer, iddatafine integer, motivazione text, motivazione2 text"; esegui_query("create table {$tableregole} ({$col_tableregole})"); $col_tableregole = estrai_col_tabella($col_tableregole); # Creo la tabella con i costi di gestione $tablecosti = $PHPR_TAB_PRE . "costi" . $anno; $col_tablecosti = "idcosti integer unique,nome_costo text, val_costo float8, tipo_costo text, nome_cassa varchar(70), persona_costo text, provenienza_costo text, metodo_pagamento text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer"; esegui_query("create table {$tablecosti} ({$col_tablecosti})"); $col_tablecosti = estrai_col_tabella($col_tablecosti); # Creo la tabella per la storia entrate-uscite $tablesoldi = $PHPR_TAB_PRE . "soldi" . $anno; $col_tablesoldi = "idsoldi integer unique, motivazione text, id_pagamento text, metodo_pagamento text, saldo_prenota float8, saldo_cassa float8, soldi_prima float8, data_inserimento {$DATETIME}, utente_inserimento integer"; esegui_query("create table {$tablesoldi} ({$col_tablesoldi})"); $col_tablesoldi = estrai_col_tabella($col_tablesoldi); $tabelle_lock = array($tableanni, $tableprenotazioni, $tablecostiprenota, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti, $tableregole, $tablesoldi, $tablepersonalizza, $tableprivilegi, $tabletransazioni); if ($importa_anno_prec == "SI") { $anno_prec = $anno - 1; $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec; $tableprenota_prec = $PHPR_TAB_PRE . "prenota" . $anno_prec; $tablecostiprenota_prec = $PHPR_TAB_PRE . "costiprenota" . $anno_prec; $tablerclientiprenota_prec = $PHPR_TAB_PRE . "rclientiprenota" . $anno_prec; $tableperiodi_prec = $PHPR_TAB_PRE . "periodi" . $anno_prec; $tableregole_prec = $PHPR_TAB_PRE . "regole" . $anno_prec; $tablesoldi_prec = $PHPR_TAB_PRE . "soldi" . $anno_prec; $tablecosti_prec = $PHPR_TAB_PRE . "costi" . $anno_prec; $tabelle_lock = array($tableanni, $tableprenota_prec, $tableprenotazioni, $tablecostiprenota_prec, $tablecostiprenota, $tablerclientiprenota_prec, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti_prec, $tablecosti, $tableregole, $tablesoldi_prec, $tablesoldi, $tableinterconnessioni, $tablemessaggi, $tablepersonalizza, $tableprivilegi, $tabletransazioni); $altre_tab_lock = array($tablenometariffe_prec, $tableperiodi_prec, $tableregole_prec, $tablecontratti, $tableutenti); $max_data_ini_prec = esegui_query("select max(datainizio) from {$tableperiodi_prec}"); if (numlin_query($max_data_ini_prec) != 0) { $max_data_ini_prec = risul_query($max_data_ini_prec, 0, 0); $max_mese_prec = 0; if (substr($max_data_ini_prec, 0, 4) >= $anno) { $max_mese_prec = substr($max_data_ini_prec, 5, 2); } if (substr($max_data_ini_prec, 0, 4) == $anno + 1) { $max_mese_prec = $max_mese_prec + 12; } if (substr($max_data_ini_prec, 0, 4) == $anno + 2) { $max_mese_prec = $max_mese_prec + 24; } if (substr($max_data_ini_prec, 0, 4) == $anno + 3) { $max_mese_prec = $max_mese_prec + 36; } if (substr($max_data_ini_prec, 0, 4) == $anno + 4) { $max_mese_prec = $max_mese_prec + 48; } if ($max_mese_prec > $mese_fine) { $mese_fine = $max_mese_prec; } $data_ini_agg = date("Y-m-d", mktime(0, 0, 0, substr($max_data_ini_prec, 5, 2) + 1, 1, substr($max_data_ini_prec, 0, 4))); } else { $max_data_ini_prec = ""; $max_mese_prec = ""; $data_ini_agg = ""; } # fine else if (numlin_query($max_data_ini_prec) != 0) } else { unset($altre_tab_lock); } $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); # Elimino tutte le transazioni, potrebbero contenere date dell'anno creato esegui_query("delete from {$tabletransazioni}"); # Inserisco l'anno nella tabella anni esegui_query("insert into {$tableanni} (idanni,tipo_periodi) values ('{$anno}','{$tipo_periodi}')"); esegui_query("insert into {$tablecosti} (idcosti) values ('0')"); esegui_query("insert into {$tablesoldi} (idsoldi,motivazione,soldi_prima) values ('1','soldi_prenotazioni_cancellate','0')"); // trovo il primo giorno di inizio/fine dell'anno (nel caso di periodi settimanali) $numgiorno = 1; $giorno_ini_fine = (string) $giorno_ini_fine; if ($giorno_ini_fine != "0" and $giorno_ini_fine != "1" and $giorno_ini_fine != "2" and $giorno_ini_fine != "3" and $giorno_ini_fine != "4" and $giorno_ini_fine != "5" and $giorno_ini_fine != "6") { $giorno_ini_fine = 6; } do { $nomegiorno = date("w", mktime(0, 0, 0, 1, $numgiorno, $anno)); $numgiorno = $numgiorno + 1; } while ($nomegiorno != $giorno_ini_fine); $numgiorno = $numgiorno - 1; if ($tipo_periodi == "g") { $numgiorno = 1; $aggiungi_giorni = 1; } else { $aggiungi_giorni = 7; } if ($mese_ini > $mese_fine) { if ($silenzio != "SI") { echo mex("I mesi erano indicati erroneamente, sono stati inseriti i mesi da Gennaio a Dicembre", $pag) . ".<br>"; } $mese_ini = 1; if ($mese_fine < 12) { $mese_fine = 12; } } # fine if ($mese_ini > $mese_fine) $anno_fine = $anno + 3; $idperiodi = 1; $fileaperto = fopen(C_DATA_PATH . "/selectperiodi{$anno}.1.php", "a+"); flock($fileaperto, 2); $date_option = ""; $n_date_menu = 0; do { $datainizio = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno)); $annocreato = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno)); $mesecreato = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno)); $nome_giorno = date("D", mktime(0, 0, 0, 1, $numgiorno, $anno)); $nome_mese = date("M", mktime(0, 0, 0, 1, $numgiorno, $anno)); $numero_giorno = date("d", mktime(0, 0, 0, 1, $numgiorno, $anno)); $numero_anno = $annocreato; $numgiorno = $numgiorno + $aggiungi_giorni; $datafine = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno)); $annocreato2 = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno)); $mesecreato2 = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno)); if ($annocreato > $anno) { $diff = $annocreato - $anno; $mesecreato = $diff * 12 + $mesecreato; } # fine if ($annocreato > $anno) if ($annocreato2 > $anno) { $diff = $annocreato2 - $anno; $mesecreato2 = $diff * 12 + $mesecreato2; } # fine if ($annocreato2 > $anno) if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine) { esegui_query("insert into {$tableperiodi} ( idperiodi, datainizio, datafine) values ( {$idperiodi}, '{$datainizio}', '{$datafine}')"); if ($tipo_periodi == "g") { if ($nome_giorno == "Sun") { $nome_giorno = mex(" Do", $pag); } if ($nome_giorno == "Mon") { $nome_giorno = mex(" Lu", $pag); } if ($nome_giorno == "Tue") { $nome_giorno = mex(" Ma", $pag); } if ($nome_giorno == "Wed") { $nome_giorno = mex(" Me", $pag); } if ($nome_giorno == "Thu") { $nome_giorno = mex(" Gi", $pag); } if ($nome_giorno == "Fri") { $nome_giorno = mex(" Ve", $pag); } if ($nome_giorno == "Sat") { $nome_giorno = mex(" Sa", $pag); } } else { $nome_giorno = ""; } if ($nome_mese == "Jan") { $nome_mese = mex("Gen", $pag); } if ($nome_mese == "Feb") { $nome_mese = mex("Feb", $pag); } if ($nome_mese == "Mar") { $nome_mese = mex("Mar", $pag); } if ($nome_mese == "Apr") { $nome_mese = mex("Apr", $pag); } if ($nome_mese == "May") { $nome_mese = mex("Mag", $pag); } if ($nome_mese == "Jun") { $nome_mese = mex("Giu", $pag); } if ($nome_mese == "Jul") { $nome_mese = mex("Lug", $pag); } if ($nome_mese == "Aug") { $nome_mese = mex("Ago", $pag); } if ($nome_mese == "Sep") { $nome_mese = mex("Set", $pag); } if ($nome_mese == "Oct") { $nome_mese = mex("Ott", $pag); } if ($nome_mese == "Nov") { $nome_mese = mex("Nov", $pag); } if ($nome_mese == "Dec") { $nome_mese = mex("Dic", $pag); } if (!$date_option) { $a_ini_menu = substr($datainizio, 0, 4); $m_ini_menu = substr($datainizio, 5, 2) - 1; $g_ini_menu = substr($datainizio, 8, 2); } # fine if (!$date_option) $n_date_menu++; $date_option .= "<option value=\\\"{$datainizio}\\\">{$nome_mese} {$numero_giorno}{$nome_giorno}, {$numero_anno}</option>\n"; $idperiodi = $idperiodi + 1; $datafine2 = $datafine; } # fine if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine) } while ($annocreato2 <= $anno_fine or $mesecreato2 == 48); $numero_mese = substr($datafine2, 5, 2); if ($numero_mese == "01") { $nome_mese = mex("Gen", $pag); } if ($numero_mese == "02") { $nome_mese = mex("Feb", $pag); } if ($numero_mese == "03") { $nome_mese = mex("Mar", $pag); } if ($numero_mese == "04") { $nome_mese = mex("Apr", $pag); } if ($numero_mese == "05") { $nome_mese = mex("Mag", $pag); } if ($numero_mese == "06") { $nome_mese = mex("Giu", $pag); } if ($numero_mese == "07") { $nome_mese = mex("Lug", $pag); } if ($numero_mese == "08") { $nome_mese = mex("Ago", $pag); } if ($numero_mese == "09") { $nome_mese = mex("Set", $pag); } if ($numero_mese == "10") { $nome_mese = mex("Ott", $pag); } if ($numero_mese == "11") { $nome_mese = mex("Nov", $pag); } if ($numero_mese == "12") { $nome_mese = mex("Dic", $pag); } $numero_giorno = substr($datafine2, 8, 2); $numero_anno = substr($datafine2, 0, 4); $n_date_menu++; $date_option .= "<option value=\\\"{$datafine2}\\\">{$nome_mese} {$numero_giorno}, {$numero_anno}</option>\n"; fwrite($fileaperto, "<?php \n\n\$y_ini_menu[0] = \"{$a_ini_menu}\";\n\$m_ini_menu[0] = \"{$m_ini_menu}\";\n\$d_ini_menu[0] = \"{$g_ini_menu}\";\n\$n_dates_menu[0] = \"{$n_date_menu}\";\n\$d_increment[0] = \"{$aggiungi_giorni}\";\n\$d_names = \"\\\"" . mex(" Do", $pag) . "\\\",\\\"" . mex(" Lu", $pag) . "\\\",\\\"" . mex(" Ma", $pag) . "\\\",\\\"" . mex(" Me", $pag) . "\\\",\\\"" . mex(" Gi", $pag) . "\\\",\\\"" . mex(" Ve", $pag) . "\\\",\\\"" . mex(" Sa", $pag) . "\\\"\";\n\$m_names = \"\\\"" . mex("Gen", $pag) . "\\\",\\\"" . mex("Feb", $pag) . "\\\",\\\"" . mex("Mar", $pag) . "\\\",\\\"" . mex("Apr", $pag) . "\\\",\\\"" . mex("Mag", $pag) . "\\\",\\\"" . mex("Giu", $pag) . "\\\",\\\"" . mex("Lug", $pag) . "\\\",\\\"" . mex("Ago", $pag) . "\\\",\\\"" . mex("Set", $pag) . "\\\",\\\"" . mex("Ott", $pag) . "\\\",\\\"" . mex("Nov", $pag) . "\\\",\\\"" . mex("Dic", $pag) . "\\\"\";\n\n\$dates_options_list = \"\n\n{$date_option}\n\";\n\n?>"); flock($fileaperto, 3); fclose($fileaperto); if ($importa_anno_prec == "SI" and @is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php")) { estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag); } else { copy(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php"); } $lista_clienti_importati = ""; # Importo eventuali prenotazioni, tariffe e regole dell'anno precedente if ($importa_anno_prec == "SI") { $tableprenota = $tableprenotazioni; $data_inizio_periodi = esegui_query("select * from {$tableperiodi} where idperiodi = 1"); $data_inizio_periodi = risul_query($data_inizio_periodi, 0, 'datainizio'); $ini_periodo_interferenza = esegui_query("select * from {$tableperiodi_prec} where datainizio = '{$data_inizio_periodi}'"); $num_periodo_interferenza = numlin_query($ini_periodo_interferenza); $tipo_periodi_prec = esegui_query("select * from {$tableanni} where idanni = {$anno_prec}"); $tipo_periodi_prec = risul_query($tipo_periodi_prec, 0, 'tipo_periodi'); if ($tipo_periodi_prec != $tipo_periodi) { $num_periodo_interferenza = 0; } if ($num_periodo_interferenza == 0) { if ($silenzio != "SI") { echo mex("Non ci sono periodi che riguardano il ", $pag) . $anno . mex(" nel ", $pag) . $anno_prec . mex(", o il giorno di inizio/fine locazione era differente, sono stati importati solo i data riguardanti costi aggiuntivi, caparra, nome delle tariffe, privilegi degli utenti e regole di assegnazione 2 e 3", $pag) . ".<br>"; } } else { $id_data_fine_periodi = esegui_query("select max(idperiodi) from {$tableperiodi}"); $id_data_fine_periodi = risul_query($id_data_fine_periodi, 0, 0); $id_data_ini_periodi_prec = risul_query($ini_periodo_interferenza, 0, 'idperiodi'); $id_data_fine_periodi_prec = esegui_query("select max(idperiodi) from {$tableperiodi_prec}"); $id_data_fine_periodi_prec = risul_query($id_data_fine_periodi_prec, 0, 0); $num_periodi_prec = $id_data_fine_periodi_prec - $id_data_ini_periodi_prec + 1; if ($num_periodi_prec > $id_data_fine_periodi) { $id_data_fine_periodi_prec = $id_data_ini_periodi_prec + $id_data_fine_periodi - 1; $prenota_non_importabili = esegui_query("select * from {$tableprenota_prec} where iddatafine > {$id_data_fine_periodi_prec} "); $num_prenota_non_importabili = numlin_query($prenota_non_importabili); if ($num_prenota_non_importabili != 0) { echo "<br>ERROR<br>"; } } # fine if ($num_periodi_prec > $id_data_fine_periodi) $idprenota_corr = 0; $max_idprenota_prec = esegui_query("select max(idprenota) from {$tableprenota_prec}"); $max_idprenota_prec = risul_query($max_idprenota_prec, 0, 0) + 1; $max_idcostiprenota_prec = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_prec}"); $max_idcostiprenota_prec = risul_query($max_idcostiprenota_prec, 0, 0) + 1; $prenota_gia_iniziate = esegui_query("select * from {$tableprenota_prec} where iddatainizio < {$id_data_ini_periodi_prec} and iddatafine >= {$id_data_ini_periodi_prec} and iddatafine <= {$id_data_fine_periodi_prec} "); $num_prenota_gia_iniziate = numlin_query($prenota_gia_iniziate); for ($num1 = 0; $num1 < $num_prenota_gia_iniziate; $num1 = $num1 + 1) { $idprenota = risul_query($prenota_gia_iniziate, $num1, 'idprenota'); $idclienti = risul_query($prenota_gia_iniziate, $num1, 'idclienti'); $lista_clienti_importati .= "and idclienti != '{$idclienti}' "; $idappartamenti = risul_query($prenota_gia_iniziate, $num1, 'idappartamenti'); $iddatafine = risul_query($prenota_gia_iniziate, $num1, 'iddatafine'); $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1; $datainserimento = risul_query($prenota_gia_iniziate, $num1, 'datainserimento'); $hostinserimento = risul_query($prenota_gia_iniziate, $num1, 'hostinserimento'); $data_modifica = risul_query($prenota_gia_iniziate, $num1, 'data_modifica'); $utente_inserimento = risul_query($prenota_gia_iniziate, $num1, 'utente_inserimento'); $checkin = risul_query($prenota_gia_iniziate, $num1, 'checkin'); $checkout = risul_query($prenota_gia_iniziate, $num1, 'checkout'); $codice = risul_query($prenota_gia_iniziate, $num1, 'codice'); $idprenota_corr++; esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,assegnazioneapp,commento,codice,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota_corr}','{$idclienti}','{$idappartamenti}','0',{$iddatafine},'k','{$idprenota}','{$codice}','{$datainserimento}','{$hostinserimento}','{$utente_inserimento}') "); if ($checkin) { esegui_query("update {$tableprenota} set checkin = '" . aggslashdb($checkin) . "' where idprenota = '{$idprenota_corr}'"); } if ($checkout) { esegui_query("update {$tableprenota} set checkout = '" . aggslashdb($checkout) . "' where idprenota = '{$idprenota_corr}'"); } esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'"); } # fine for $num1 $nuovo_idprenota = ""; $nuovo_iddatainizio = ""; $nuovo_iddatafine = ""; $prenota_importate = esegui_query("select * from {$tableprenota_prec} where iddatainizio >= '{$id_data_ini_periodi_prec}' and iddatafine <= '{$id_data_fine_periodi_prec}' order by idprenota "); $num_prenota_importate = numlin_query($prenota_importate); for ($num1 = 0; $num1 < $num_prenota_importate; $num1 = $num1 + 1) { $idprenota = risul_query($prenota_importate, $num1, 'idprenota'); $iddatainizio = risul_query($prenota_importate, $num1, 'iddatainizio'); $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1; $iddatafine = risul_query($prenota_importate, $num1, 'iddatafine'); $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1; $idclienti = risul_query($prenota_importate, $num1, 'idclienti'); $lista_clienti_importati .= "and idclienti != '{$idclienti}' "; $id_anni_prec = risul_query($prenota_importate, $num1, 'id_anni_prec'); if (!$id_anni_prec) { $id_anni_prec = ";"; } $id_anni_prec .= "{$anno_prec},{$idprenota};"; $idprenota_corr++; esegui_query("update {$tableprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tableprenota} select {$col_tableprenota} from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tableprenota} set iddatainizio = '{$iddatainizio}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableprenota} set iddatafine = '{$iddatafine}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableprenota} set id_anni_prec = '{$id_anni_prec}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("delete from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("delete from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("delete from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableinterconnessioni} set idlocale = '{$idprenota_corr}', anno = '{$anno}' where idlocale = '{$idprenota}' and ( tipoid = 'prenota' or tipoid = 'mess' ) and anno = '{$anno_prec}' "); $nuovo_idprenota[$idprenota] = $idprenota_corr; $nuovo_iddatainizio[$idprenota] = $iddatainizio; $nuovo_iddatafine[$idprenota] = $iddatafine; } # fine for $num1 esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota_corr + 1) . "' where idcostiprenota = '1'"); $prenota_compagne = esegui_query("select idprenota,idprenota_compagna from {$tableprenota} where idprenota_compagna != '' "); $num_prenota_compagne = numlin_query($prenota_compagne); for ($num1 = 0; $num1 < $num_prenota_compagne; $num1++) { $idprenota = risul_query($prenota_compagne, $num1, 'idprenota'); $idprenota_compagna = risul_query($prenota_compagne, $num1, 'idprenota_compagna'); $idprenota_compagna = explode(",", $idprenota_compagna); $n_idprenota_compagna = $nuovo_idprenota[$idprenota_compagna[0]]; for ($num2 = 1; $num2 < count($idprenota_compagna); $num2++) { $n_idprenota_compagna .= "," . $nuovo_idprenota[$idprenota_compagna[$num2]]; } esegui_query("update {$tableprenota} set idprenota_compagna = '{$n_idprenota_compagna}' where idprenota = '{$idprenota}'"); } # fine for $num1 $id_costi_agg_importati = esegui_query("select idcostiprenota from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota"); $num_id_costi_agg_importati = numlin_query($id_costi_agg_importati); for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) { $idcostiprenota = risul_query($id_costi_agg_importati, $num1, 'idcostiprenota'); $max_idcostiprenota_prec++; esegui_query("update {$tablecostiprenota} set idcostiprenota = '{$max_idcostiprenota_prec}' where idcostiprenota = '{$idcostiprenota}'"); } # fine for $num1 $costi_agg_importati = esegui_query("select * from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota"); $num_costi_agg_importati = numlin_query($costi_agg_importati); for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) { $idcostiprenota = risul_query($costi_agg_importati, $num1, 'idcostiprenota'); $settimane = risul_query($costi_agg_importati, $num1, 'settimane'); if (str_replace(",", "", $settimane) != $settimane) { $settimane = explode(",", $settimane); $settimane_nuove = ","; for ($num2 = 1; $num2 < count($settimane) - 1; $num2++) { $settimane_nuove .= $settimane[$num2] - $id_data_ini_periodi_prec + 1 . ","; } esegui_query("update {$tablecostiprenota} set settimane = '{$settimane_nuove}' where idcostiprenota = '{$idcostiprenota}'"); } # fine if (str_replace(",","",$settimane) != $settimane) $varperiodipermessi = risul_query($costi_agg_importati, $num1, 'varperiodipermessi'); if ($varperiodipermessi) { $vpp_nuovi = substr($varperiodipermessi, 0, 1); $varperiodipermessi = explode(",", substr($varperiodipermessi, 1)); for ($num2 = 0; $num2 < count($varperiodipermessi); $num2++) { $id_data_fine_vpp = explode("-", $varperiodipermessi[$num2]); $id_data_inizio_vpp = $id_data_fine_vpp[0]; $id_data_fine_vpp = $id_data_fine_vpp[1]; if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and $id_data_inizio_vpp <= $id_data_fine_periodi_prec) { if ($id_data_inizio_vpp < $id_data_ini_periodi_prec) { $id_data_inizio_vpp = $id_data_ini_periodi_prec; } if ($id_data_fine_vpp > $id_data_fine_periodi_prec) { $id_data_fine_vpp = $id_data_fine_periodi_prec; } $id_data_inizio_vpp = $id_data_inizio_vpp - $id_data_ini_periodi_prec + 1; $id_data_fine_vpp = $id_data_fine_vpp - $id_data_ini_periodi_prec + 1; $vpp_nuovi .= $id_data_inizio_vpp . "-" . $id_data_fine_vpp . ","; } # fine if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and... } # fine for $num2 if (strlen($vpp_nuovi) > 1) { $vpp_nuovi = substr($vpp_nuovi, 0, -1); } esegui_query("update {$tablecostiprenota} set varperiodipermessi = '{$vpp_nuovi}' where idcostiprenota = '{$idcostiprenota}'"); } # fine if ($varperiodipermessi) esegui_query("update {$tablecostiprenota} set idcostiprenota = '" . ($num1 + 2) . "' where idcostiprenota = '{$idcostiprenota}'"); } # fine for $num1 $tariffe_importate = esegui_query("select * from {$tableperiodi_prec} where idperiodi >= '{$id_data_ini_periodi_prec}' and idperiodi <= '{$id_data_fine_periodi_prec}' "); $num_tariffe_iportate = numlin_query($tariffe_importate); for ($num1 = 0; $num1 < $num_tariffe_iportate; $num1 = $num1 + 1) { $idperiodi = risul_query($tariffe_importate, $num1, 'idperiodi'); $idperiodi = $idperiodi - $id_data_ini_periodi_prec + 1; for ($num2 = 1; $num2 <= $num_tariffe_tab; $num2++) { $tariffa = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2); if (strcmp($tariffa, "")) { esegui_query("update {$tableperiodi} set tariffa{$num2} = '{$tariffa}' where idperiodi = {$idperiodi} "); } $tariffap = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2 . "p"); if (strcmp($tariffap, "")) { esegui_query("update {$tableperiodi} set tariffa{$num2}" . "p = '{$tariffap}' where idperiodi = {$idperiodi} "); } } # fine for $num2 } # fine for $num1 $regole_prec = esegui_query("select * from {$tableregole_prec} where iddatafine >= '{$id_data_ini_periodi_prec}' "); $num_regole_prec = numlin_query($regole_prec); for ($num1 = 0; $num1 < $num_regole_prec; $num1 = $num1 + 1) { $idregole = risul_query($regole_prec, $num1, 'idregole'); $app_agenzia = risul_query($regole_prec, $num1, 'app_agenzia'); $tariffa_chiusa = risul_query($regole_prec, $num1, 'tariffa_chiusa'); $tariffa_commissioni = risul_query($regole_prec, $num1, 'tariffa_commissioni'); $iddatainizio = risul_query($regole_prec, $num1, 'iddatainizio'); $motivazione = risul_query($regole_prec, $num1, 'motivazione'); $motivazione2 = risul_query($regole_prec, $num1, 'motivazione2'); if ($iddatainizio < $id_data_ini_periodi_prec) { $iddatainizio = $id_data_ini_periodi_prec; } $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1; $iddatafine = risul_query($regole_prec, $num1, 'iddatafine'); if ($iddatafine > $id_data_fine_periodi_prec) { $iddatafine = $id_data_fine_periodi_prec; } $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1; if ($tariffa_commissioni) { esegui_query("insert into {$tableregole} (idregole,tariffa_commissioni,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_commissioni}','{$iddatainizio}','{$iddatafine}') "); } else { if ($tariffa_chiusa) { esegui_query("insert into {$tableregole} (idregole,tariffa_chiusa,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_chiusa}','{$iddatainizio}','{$iddatafine}') "); } else { esegui_query("insert into {$tableregole} (idregole,app_agenzia,iddatainizio,iddatafine) values ('{$idregole}','{$app_agenzia}','{$iddatainizio}','{$iddatafine}') "); } } # fine else $tariffa_commissioni) if (strcmp($motivazione, "")) { esegui_query("update {$tableregole} set motivazione = '" . aggslashdb($motivazione) . "' where idregole = '{$idregole}' "); } if (strcmp($motivazione2, "")) { esegui_query("update {$tableregole} set motivazione2 = '" . aggslashdb($motivazione2) . "' where idregole = '{$idregole}' "); } } # fine for $num1 $soldi_importati = esegui_query("select * from {$tablesoldi_prec} where data_inserimento >= '{$data_inizio_periodi}' and saldo_prenota is not NULL order by idsoldi"); $num_soldi_importati = numlin_query($soldi_importati); $idsoldi_corr = 1; for ($num1 = 0; $num1 < $num_soldi_importati; $num1++) { $motiv = explode(";", risul_query($soldi_importati, $num1, 'motivazione')); if ($nuovo_idprenota[$motiv[3]]) { $idsoldi_corr++; $idsoldi_prec = risul_query($soldi_importati, $num1, 'idsoldi'); $n_motiv = $motiv[0] . ";" . $nuovo_iddatainizio[$motiv[3]] . ";" . $nuovo_iddatafine[$motiv[3]] . ";" . $nuovo_idprenota[$motiv[3]]; esegui_query("insert into {$tablesoldi} select {$col_tablesoldi} from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' "); esegui_query("delete from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' "); esegui_query("update {$tablesoldi} set motivazione = '{$n_motiv}' where idsoldi = '{$idsoldi_prec}' "); esegui_query("update {$tablesoldi} set idsoldi = '{$idsoldi_corr}' where idsoldi = '{$idsoldi_prec}' "); } # fine if ($nuovo_idprenota[$motiv[3]]) } # fine for $num1 $costi_importati = esegui_query("select * from {$tablecosti_prec} where datainserimento >= '{$data_inizio_periodi}' and tipo_costo is not NULL order by idcosti"); $num_costi_importati = numlin_query($costi_importati); $idcosti_corr = 0; for ($num1 = 0; $num1 < $num_costi_importati; $num1++) { $idcosti_corr++; $idcosti_prec = risul_query($costi_importati, $num1, 'idcosti'); esegui_query("insert into {$tablecosti} select {$col_tablecosti} from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' "); esegui_query("delete from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' "); esegui_query("update {$tablecosti} set idcosti = '{$idcosti_corr}' where idcosti = '{$idcosti_prec}' "); } # fine for $num1 $costo_cassa = 0; $data_lim = $anno + 1 . "-01-01 00:00:00"; $costi_cassa = esegui_query("select * from {$tablecosti} where tipo_costo = 'e' and provenienza_costo = 'p' and datainserimento < '{$data_lim}' "); $num_costi_cassa = numlin_query($costi_cassa); for ($num2 = 0; $num2 < $num_costi_cassa; $num2++) { $costo_cassa = $costo_cassa + risul_query($costi_cassa, $num2, 'val_costo'); } if ($costo_cassa) { esegui_query("update {$tablecosti} set val_costo = '{$costo_cassa}' where idcosti = '0' "); } unset($cassa_prec); $costi_non_importati = esegui_query("select * from {$tablecosti_prec} where tipo_costo is not NULL order by idcosti"); $num_costi_non_importati = numlin_query($costi_non_importati); for ($num1 = 0; $num1 < $num_costi_non_importati; $num1++) { $tipo_costo = risul_query($costi_non_importati, $num1, 'tipo_costo'); $val_costo = risul_query($costi_non_importati, $num1, 'val_costo'); $utente_costo = risul_query($costi_non_importati, $num1, 'utente_inserimento'); if ($tipo_costo == "e") { $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] + (double) $val_costo; } else { $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] - (double) $val_costo; } } # fine for $num1 if (@is_array($cassa_prec)) { $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); reset($cassa_prec); while (list($utente_costo, $val_costo) = each($cassa_prec)) { $idcosti_corr++; esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,persona_costo,tipo_costo,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti_corr}','{$anno_prec}','{$val_costo}','','e','{$datainserimento}','{$HOSTNAME}','{$utente_costo}') "); } # fine (list($utente_costo,$val_costo) = each($cassa_prec)) } # fine if (@is_array($cassa_prec)) # aggiorno i messaggi con prenotazioni del nuovo anno già inserite, quelli da inserire sono aggiornati con i modelli internet $messaggi_importati = esegui_query("select * from {$tablemessaggi} where stato = 'ins' and dati_messaggio18 = '{$anno_prec}' "); $num_messaggi_importati = numlin_query($messaggi_importati); for ($num1 = 0; $num1 < $num_messaggi_importati; $num1++) { $agg_mess = 1; $n_lista_pren = ""; $lista_pren = explode(",", risul_query($messaggi_importati, $num1, 'dati_messaggio1')); for ($num2 = 0; $num2 < count($lista_pren); $num2++) { if ($nuovo_idprenota[$lista_pren[$num2]]) { $n_lista_pren .= $nuovo_idprenota[$lista_pren[$num2]] . ","; } else { $agg_mess = 0; } } # fine for $num2 if ($agg_mess) { $idmess = risul_query($messaggi_importati, $num1, 'idmessaggi'); $n_lista_pren = substr($n_lista_pren, 0, -1); esegui_query("update {$tablemessaggi} set dati_messaggio1 = '{$n_lista_pren}', dati_messaggio18 = '{$anno}' where idmessaggi = '{$idmess}' "); } # fine if ($agg_mess) } # fine for $num1 # aggiorno i numeri delle prenotazioni importate nei nomi dei documenti già creati nel nuovo anno $dirs_salva = esegui_query("select * from {$tablecontratti} where tipo = 'dir'"); $num_dirs_salva = numlin_query($dirs_salva); if ($num_dirs_salva) { unset($contr_salva_in); $max_contr = esegui_query("select max(numero) from {$tablecontratti} where tipo {$LIKE} 'contr%'"); $max_contr = risul_query($max_contr, 0, 0); if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") { if (C_CARTELLA_DOC != "" and @is_dir(C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC)) { $dir_salva_home = C_CARTELLA_DOC; } else { $dir_salva_home = ""; } } else { $dir_salva_home = C_DATA_PATH; } $utenti = esegui_query("select * from " . $PHPR_TAB_PRE . "utenti order by idutenti"); $num_utenti = numlin_query($utenti); unset($nomi_contr_ut); $parola_documento = mex("documento", 'visualizza_contratto.php'); for ($num1 = 0; $num1 < $num_utenti; $num1++) { $idutente_contr = risul_query($utenti, $num1, 'idutenti'); for ($num2 = 1; $num2 <= $max_contr; $num2++) { $nomi_contr_ut[$idutente_contr][$num2] = $parola_documento . $num2; } $nomi_contratti = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}'"); $nomi_contratti = risul_query($nomi_contratti, 0, 'valpersonalizza'); $nomi_contratti = explode("#@&", $nomi_contratti); $num_nomi_contratti = count($nomi_contratti); for ($num2 = 0; $num2 < $num_nomi_contratti; $num2++) { $dati_nome_contratto = explode("#?&", $nomi_contratti[$num2]); $nomi_contr_ut[$idutente_contr][$dati_nome_contratto[0]] = $dati_nome_contratto[1]; } # fine for $num2 } # fine for $num1 unset($prefissi_contr); for ($num1 = 0; $num1 < $num_dirs_salva; $num1++) { $dir_salva = risul_query($dirs_salva, 0, 'testo'); if ($dir_salva == "~") { $dir_salva = $dir_salva_home; } if (defined('C_CARTELLA_CREA_MODELLI') and C_CARTELLA_CREA_MODELLI != "") { $dir_salva = C_CARTELLA_CREA_MODELLI . "/" . str_replace("..", "", $dir_salva); } if (!@is_dir($dir_salva)) { $dir_salva = ""; } $num_contr = risul_query($dirs_salva, 0, 'numero'); $tipo_contratto = esegui_query("select tipo from " . $PHPR_TAB_PRE . "contratti where numero = '{$num_contr}' and tipo {$LIKE} 'contr%' "); $tipo_contratto = risul_query($tipo_contratto, 0, 'tipo'); $suff_file = "html"; if ($tipo_contratto == "contrrtf") { $suff_file = "rtf"; } if ($tipo_contratto == "contrtxt") { $suff_file = "txt"; } $filelock_contr = fopen($dir_salva . "/crea_contr.lock", "w+"); flock($filelock_contr, 2); for ($num2 = 0; $num2 < $num_utenti; $num2++) { $idutente_contr = risul_query($utenti, $num1, 'idutenti'); if (!$prefissi_contr[$dir_salva . "/" . $nomi_contr_ut[$idutente_contr][$num_contr]]) { $nome_contratto = $nomi_contr_ut[$idutente_contr][$num_contr]; $prefissi_contr[$dir_salva . "/" . $nome_contratto] = 1; $contr_dir = opendir($dir_salva . "/"); while ($contr_corr = readdir($contr_dir)) { if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva . "/" . $contr_corr)) { if (substr($contr_corr, 0, strlen($nome_contratto)) == $nome_contratto) { $resto_nome_contr = substr($contr_corr, strlen($nome_contratto)); if (substr($resto_nome_contr, 0, 6) == "_{$anno}" . "_") { if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}(_[0-9]+(-[0-9]+)?)*\\.{$suff_file}/", "", $resto_nome_contr) == "") { $num_pren_esist = substr($resto_nome_contr, 12); $num_pren_esist = substr($num_pren_esist, 0, -1 * (strlen($suff_file) + 1)); if ($num_pren_esist) { $agg_contr = 1; $n_lista_pren = ""; $num_pren_esist = explode("_", $num_pren_esist); for ($num3 = 0; $num3 < count($num_pren_esist); $num3++) { $num_pren_esist2 = explode("-", $num_pren_esist[$num3]); $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1]; for ($num4 = $num_pren_esist2[0]; $num4 <= $fine_for; $num4++) { if (!$nuovo_idprenota[$num4]) { $agg_contr = 0; break; } # fine if (!$nuovo_idprenota[$num4]) if ($num4 == $num_pren_esist2[0]) { $n_lista_pren .= "_" . $nuovo_idprenota[$num4]; } elseif ($num4 == $fine_for) { $n_lista_pren .= "-" . $nuovo_idprenota[$num4]; } } # fine for $num4 } # fine for $num3 if ($agg_contr) { $n_nome_contr = $nome_contratto . substr($resto_nome_contr, 0, 11) . $n_lista_pren . ".{$suff_file}"; rename($dir_salva . "/" . $contr_corr, $dir_salva . "/" . $n_nome_contr); } # fine if ($agg_contr) } # fine if ($num_pren_esist) } # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file/","",$resto_nome_contr) == "") } # fine if (substr($resto_nome_contr,0,6) == "_$anno"."_") } # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto) } # fine if ($contr_corr != "." and $contr_corr != ".." and... } # fine while ($fattura_corr = readdir($fatture_dir)) closedir($contr_dir); } # fine if (!$prefissi_contr[$dir_salva."/".$nomi_contr_ut[$idutente_contr][$num_contr]]) } # fine for $num2 flock($filelock_contr, 3); fclose($filelock_contr); unlink($dir_salva . "/crea_contr.lock"); } # fine for $num1 } # fine if ($num_dirs_salva) } # fine else if ($num_periodo_interferenza == 0) $colonne = "idntariffe,nomecostoagg,tipo_ca,valore_ca,valore_perc_ca,arrotonda_ca,tasseperc_ca,associasett_ca,numsett_ca,moltiplica_ca,periodipermessi_ca,beniinv_ca,appincompatibili_ca,variazione_ca,mostra_ca,categoria_ca,letto_ca,numlimite_ca,regoleassegna_ca,utente_inserimento"; for ($num1 = 1; $num1 <= $num_tariffe_tab; $num1++) { $nome_nuova_tariffa = "tariffa" . $num1; $colonne .= ",{$nome_nuova_tariffa}"; } # fine for $num1 esegui_query("insert into {$tablenometariffe} ({$colonne}) select {$colonne} from {$tablenometariffe_prec}"); $costi_agg_importati = esegui_query("select * from {$tablenometariffe} where idntariffe > 10 "); $num_costi_agg_importati = numlin_query($costi_agg_importati); for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) { $idntariffe = risul_query($costi_agg_importati, $num1, 'idntariffe'); $periodipermessi = risul_query($costi_agg_importati, $num1, 'periodipermessi_ca'); if ($periodipermessi) { $pp_nuovi = substr($periodipermessi, 0, 1); $periodipermessi = explode(",", substr($periodipermessi, 1)); for ($num2 = 0; $num2 < count($periodipermessi); $num2++) { $id_data_fine_pp = explode("-", $periodipermessi[$num2]); $id_data_inizio_pp = $id_data_fine_pp[0]; $id_data_fine_pp = $id_data_fine_pp[1]; if ($id_data_fine_pp >= $id_data_ini_periodi_prec and $id_data_inizio_pp <= $id_data_fine_periodi_prec) { if ($id_data_inizio_pp < $id_data_ini_periodi_prec) { $id_data_inizio_pp = $id_data_ini_periodi_prec; } if ($id_data_fine_pp > $id_data_fine_periodi_prec) { $id_data_fine_pp = $id_data_fine_periodi_prec; } $id_data_inizio_pp = $id_data_inizio_pp - $id_data_ini_periodi_prec + 1; $id_data_fine_pp = $id_data_fine_pp - $id_data_ini_periodi_prec + 1; $pp_nuovi .= $id_data_inizio_pp . "-" . $id_data_fine_pp . ","; } # fine if ($id_data_fine_pp >= $id_data_ini_periodi_prec and... } # fine for $num2 if (strlen($pp_nuovi) > 1) { $pp_nuovi = substr($pp_nuovi, 0, -1); } esegui_query("update {$tablenometariffe} set periodipermessi_ca = '{$pp_nuovi}' where idntariffe = '{$idntariffe}'"); } # fine if ($periodipermessi) } # fine for $num1 esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_app != ''"); esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_utente != ''"); esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_persone != ''"); esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_commissioni is not NULL and iddatainizio is NULL "); $privilegi_prec = esegui_query("select * from {$tableprivilegi} where anno = '{$anno_prec}'"); for ($num1 = 0; $num1 < numlin_query($privilegi_prec); $num1++) { $idutente_p = risul_query($privilegi_prec, $num1, 'idutente'); $regole1_consentite_p = risul_query($privilegi_prec, $num1, 'regole1_consentite'); $tariffe_consentite_p = risul_query($privilegi_prec, $num1, 'tariffe_consentite'); $costi_agg_consentiti_p = risul_query($privilegi_prec, $num1, 'costi_agg_consentiti'); $contratti_consentiti_p = risul_query($privilegi_prec, $num1, 'contratti_consentiti'); $cassa_pagamenti_p = aggslashdb(risul_query($privilegi_prec, $num1, 'cassa_pagamenti')); $priv_ins_prenota_p = risul_query($privilegi_prec, $num1, 'priv_ins_prenota'); $priv_mod_prenota_p = risul_query($privilegi_prec, $num1, 'priv_mod_prenota'); $priv_mod_pers_p = risul_query($privilegi_prec, $num1, 'priv_mod_pers'); $priv_ins_clienti_p = risul_query($privilegi_prec, $num1, 'priv_ins_clienti'); $prefisso_clienti_p = risul_query($privilegi_prec, $num1, 'prefisso_clienti'); $priv_ins_costi_p = risul_query($privilegi_prec, $num1, 'priv_ins_costi'); $priv_vedi_tab_p = risul_query($privilegi_prec, $num1, 'priv_vedi_tab'); $priv_ins_tariffe_p = risul_query($privilegi_prec, $num1, 'priv_ins_tariffe'); $priv_ins_regole_p = risul_query($privilegi_prec, $num1, 'priv_ins_regole'); esegui_query("insert into {$tableprivilegi} (idutente,anno,regole1_consentite,tariffe_consentite,costi_agg_consentiti,contratti_consentiti,cassa_pagamenti,priv_ins_prenota,priv_mod_prenota,priv_mod_pers,priv_ins_clienti,prefisso_clienti,priv_ins_costi,priv_vedi_tab,priv_ins_tariffe,priv_ins_regole) values ('{$idutente_p}','{$anno}','{$regole1_consentite_p}','{$tariffe_consentite_p}','{$costi_agg_consentiti_p}','{$contratti_consentiti_p}','{$cassa_pagamenti_p}','{$priv_ins_prenota_p}','{$priv_mod_prenota_p}','{$priv_mod_pers_p}','{$priv_ins_clienti_p}','{$prefisso_clienti_p}','{$priv_ins_costi_p}','{$priv_vedi_tab_p}','{$priv_ins_tariffe_p}','{$priv_ins_regole_p}')"); $lingua_mex = $lingua[$idutente_p]; crea_menu_date(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", $tipo_periodi); if (@is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php")) { estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag); } else { copy(C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php"); } $lingua_mex = $lingua[1]; $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '{$idutente_p}'"); if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") { esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','{$idutente_p}')"); } } # fine for $num1 $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '1'"); if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") { esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','1')"); } $inserisci_in_ntariffe = "NO"; } # fine if ($importa_anno_prec == "SI") if ($inserisci_in_ntariffe != "NO") { # rigo 1: nomi tariffe; 2-3: caparra (% e arrotondo). for ($numtariffe = 1; $numtariffe <= 6; $numtariffe = $numtariffe + 1) { esegui_query("insert into {$tablenometariffe} (idntariffe) values ('{$numtariffe}')"); } # fine for $numtariffe esegui_query("update {$tablenometariffe} set nomecostoagg = '8' where idntariffe = '1'"); esegui_query("update {$tablenometariffe} set numlimite_ca = '11' where idntariffe = '1'"); } # fine if ($inserisci_in_ntariffe != "NO") esegui_query("delete from {$tablerelclienti} where tipo = 'cc' {$lista_clienti_importati}"); unlock_tabelle($tabelle_lock); if ($silenzio != "SI") { echo "<br> " . mex("Anno ", $pag) . $anno . mex(" creato", $pag) . "! <br><br>"; } if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI") { if ($silenzio != "SI") { $silenzio_mod = "SI"; } else { $silenzio_mod = "totale"; } global $anno_modello_presente, $num_periodi_date, $modello_esistente, $cambia_frasi, $lingua_modello, $percorso_cartella_modello, $nome_file; $pag_orig = $pag; $pag = "crea_modelli.php"; include "./includes/templates/funzioni_modelli.php"; $modello_esistente = "SI"; $cambia_frasi = "NO"; $anno_modello = $anno; include "./includes/templates/frasi_mod_disp.php"; include "./includes/templates/funzioni_mod_disp.php"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/mdl_disponibilita.php")) { $lingua_modello = "ita"; $nome_file = mex2("mdl_disponibilita", $pag, $lingua_modello) . ".php"; $num_periodi_date = ""; recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/modello_disponibilita.php")) } # fine for $num_cart $lang_dir = opendir("./includes/lang/"); include C_DATA_PATH . "/lingua.php"; while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != "..") { $nome_file = mex2("mdl_disponibilita", $pag, $ini_lingua) . ".php"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) { $lingua_modello = $ini_lingua; $num_periodi_date = ""; recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/$nome_file")) } # fine for $num_cart } # fine if ($file != "." && $file != "..") } # fine while ($file = readdir($lang_dig)) closedir($lang_dir); $templates_dir = opendir("./includes/templates/"); while ($modello_ext = readdir($templates_dir)) { if ($modello_ext != "." and $modello_ext != ".." and @is_dir("./includes/templates/{$modello_ext}")) { include "./includes/templates/{$modello_ext}/name.php"; include "./includes/templates/{$modello_ext}/phrases.php"; include "./includes/templates/{$modello_ext}/functions.php"; $funz_recupera_var_modello = "recupera_var_modello_" . $modello_ext; $funz_crea_modello = "crea_modello_" . $modello_ext; $funz_aggiorna_var_anno_modello = "aggiorna_var_anno_modello_" . $modello_ext; if ($template_file_name["ita"]) { $nome_file = $template_file_name["ita"]; } else { $nome_file = "ita_" . $template_file_name["en"]; } for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) { $lingua_modello = "ita"; $num_periodi_date = ""; $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/$nome_file")) } # fine for $num_cart $lang_dir = opendir("./includes/lang/"); while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != "..") { if ($template_file_name[$ini_lingua]) { $nome_file = $template_file_name[$ini_lingua]; } else { $nome_file = $ini_lingua . "_" . $template_file_name["en"]; } for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) { $lingua_modello = $ini_lingua; $num_periodi_date = ""; $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/$nome_file")) } # fine for $num_cart } # fine if ($file != "." && $file != "..") } # fine while ($file = readdir($lang_dir)) closedir($lang_dir); } # fine if ($modello_ext != "." and $modello_ext != ".." and... } # fine while ($file = readdir($lang_dig)) closedir($templates_dir); $pag = $pag_orig; if ($silenzio != "SI") { echo "<br>"; } } # fine if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI") } else { if ($silenzio != "SI") { echo mex("Non ho i permessi per creare nuove tabelle nel database", $pag) . ".<br>"; } } } else { if ($silenzio != "SI") { echo mex("Anno già creato", $pag) . ".<br>"; } } flock($filelock, 3); fclose($filelock); unlink(C_DATA_PATH . "/anni.lock"); } else { if ($silenzio != "SI") { echo mex("Non ho i permessi di scrittura sulla cartella data", $pag) . ".<br>"; } } $lingua_mex = $lingua_mex_orig; }
} $modifica_clienti = "NO"; if (substr($priv_ins_clienti, 1, 1) == "s") { $modifica_clienti = "SI"; } if (substr($priv_ins_clienti, 1, 1) == "p") { $modifica_clienti = "PROPRI"; } if (substr($priv_ins_clienti, 1, 1) == "g") { $modifica_clienti = "GRUPPI"; } } # fine else if (numlin_query($privilegi_annuali_utente) == 0) } else { $anno_utente_attivato = "SI"; $modifica_pers = "SI"; $inserimento_nuovi_clienti = "SI"; $modifica_clienti = "SI"; } # fine else if ($id_utente != 1) if ($anno_utente_attivato == "SI" and ($modifica_pers != "NO" or $inserimento_nuovi_clienti != "NO" or $modifica_clienti != "NO")) { if ($id_utente != 1) { $id_ut_sel = $id_utente; } else { $id_ut_sel = aggslashdb($id_ut_sel); } mostra_frame_rel($id, $rel, $rel_sup, $id_ut_sel, $cmp, $mostra_cod, $pieno, $titolo); } # fine if ($anno_utente_attivato == "SI" and... } # fine if ($id_utente)
# fine if (strcmp($passw,"")) } # fine if (strcmp($admin,"")) @unlink(C_DATA_PATH . "/ini.php"); } # fine if (C_UTILIZZA_SEMPRE_DEFAULTS == "AUTO" and @is_file(C_DATI_PATH."/ini.php")) $tablemessaggi = $PHPR_TAB_PRE . "messaggi"; $testo = "<div style=\"max-width: 600px; line-height: 1.1;\">"; if (C_NASCONDI_MARCA != "SI") { $testo .= "<h4>" . mex("Benvenuto a HotelDruid!", $pag) . "</h4><br>"; } $testo .= "" . mex("Questi sono alcuni semplici passi che puoi seguire per configurare le funzionalità di base di HotelDruid", $pag) . ":<br>\n<ul style=\"line-height: 1.2;\">\n<li>" . mex("Inserisci le informazioni sugli appartamenti dalla", 'unit.php') . "\n <em><b><a href=\"./visualizza_tabelle.php?tipo_tabella=appartamenti&<sessione>\">" . mex("tabella appartamenti", 'unit.php') . "</a></b></em>, \n " . mex("utilizzando l'apposito tasto al di sotto di essa", $pag) . ". " . mex("Gli appartamenti possono essere creati, cancellati e rinominati", 'unit.php') . ". \n " . mex("Si consiglia di inserire almeno la capienza massima per ogni appartamento", 'unit.php') . ".<br><br></li>\n<li>" . mex("Inserisci il numero di tariffe, un nome per ciascuna di esse ed i prezzi corrispondenti dalla", $pag) . " \n <em><b><a href=\"./creaprezzi.php?<sessione>\">" . mex("pagina inserimento prezzi", $pag) . "</a></b></em>.\n " . mex("Considera che le tariffe di HotelDruid fungono anche da tipologie di appartamenti", 'unit.php') . " (" . mex("vedi passo successivo", $pag) . ").<br><br></li>\n<li>" . mex("Associa una lista di appartamenti ad ogni tariffa, inserendo una regola di assegnazione 2 per ognuna di esse, dalla", 'unit.php') . " \n <em><b><a href=\"./crearegole.php?<sessione>#regola2\">" . mex("pagina inserimento regole", $pag) . "</a></b></em>.\n " . mex("Ogni appatamento può essere associato a più tariffe", 'unit.php') . ".<br><br></li>\n<li>" . mex("Se questo server web è pubblico si può abilitare il login e creare nuovi utenti dalla", $pag) . "\n <em><b><a href=\"./gestione_utenti.php?<sessione>\">" . mex("pagina gestione utenti", $pag) . "</a></b></em>.<br><br></li>\n<li>" . mex("Vai alla pagina", $pag) . "\n \"<em><b><a href=\"./personalizza.php?<sessione>\">" . mex("configura e personalizza", $pag) . "</a></b></em>\"\n " . mex("per cambiare il nome della valuta, abilitare la registrazione delle entrate, inserire i metodi di pagamento, ed impostare molte altre opzioni", $pag) . ".<br><br></li>\n</ul></div>"; if (C_NASCONDI_MARCA == "SI") { $testo = str_replace("HotelDruid", mex("questo programma", $pag), $testo); } $testo = aggslashdb($testo); $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); esegui_query("insert into {$tablemessaggi} (idmessaggi,tipo_messaggio,idutenti,idutenti_visto,datavisione,mittente,testo,datainserimento) values ('1','sistema',',1,',',1,','{$datainserimento}','1','{$testo}','{$datainserimento}')"); echo mex("Dati inseriti", $pag) . "!<br>" . mex("Tutti i data permanenti sono stati inseriti", $pag) . ".<br>"; echo "><br>\n</div></form>\""; if (C_CREA_ULTIMO_ACCESSO == "SI") { $fileaperto = @fopen(C_DATA_PATH . "/ultimo_accesso", "w+"); @fwrite($fileaperto, date("d-m-Y H:i:s")); @fclose($fileaperto); @chmod(C_DATA_PATH . "/ultimo_accesso", 0644); } # fine if (C_CREA_ULTIMO_ACCESSO == "SI") } # fine if ($insappartamenti and !@is_file(C_DATI_PATH."/selectappartamenti.php")) if ($mostra_form_iniziale != "NO") { // prima form di inserimento
function aggiorna_var_anno_modello_disponibilita ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) { global $num_periodi_date,$LIKE,$anno,$estendi_ultima_data; $n_num_periodi_date = 0; if ($id_data_ini_periodi_prec) { for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) { global ${"inizioperiodo".$num1},${"fineperiodo".$num1},${"intervalloperiodo".$num1}; $inizioperiodo = aggslashdb(${"inizioperiodo".$num1}); $fineperiodo = aggslashdb(${"fineperiodo".$num1}); $idinizioperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datainizio = '$inizioperiodo' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo,0,'idperiodi'); } $inizioperiodo = $idinizioperiodo; $idfineperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datafine = '$fineperiodo' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo,0,'idperiodi'); } $fineperiodo = $idfineperiodo; $intervalloperiodo = aggslashdb(${"intervalloperiodo".$num1}); if ($estendi_ultima_data == "SI" and $num1 == ($num_periodi_date - 1)) $fineperiodo = $id_data_ini_periodi_prec + $intervalloperiodo; if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec) { if ($inizioperiodo < $id_data_ini_periodi_prec) { for ($num2 = $inizioperiodo ; $num2 <= $fineperiodo ; $num2 = $num2 + $intervalloperiodo) { if ($num2 >= $id_data_ini_periodi_prec) { $inizioperiodo = $num2; break; } # fine if ($num2 >= $id_data_ini_periodi_prec) } # fine for $num2 } # fine if ($inizioperiodo < $id_data_ini_periodi_prec) $n_inizioperiodo[$n_num_periodi_date] = $inizioperiodo - $id_data_ini_periodi_prec + 1; $n_fineperiodo[$n_num_periodi_date] = $fineperiodo - $id_data_ini_periodi_prec + 1; $n_intervalloperiodo[$n_num_periodi_date] = $intervalloperiodo; $n_num_periodi_date++; } # fine if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec or... } # fine for $num1 } # fine if ($id_data_ini_periodi_prec) if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) { $n_num_periodi_date = 1; global $inizioperiodo0,$fineperiodo0,$intervalloperiodo0; if (($num_periodi_date - 1) != 0) global ${"fineperiodo".($num_periodi_date - 1)},${"intervalloperiodo".($num_periodi_date - 1)}; $n_intervalloperiodo[0] = ${"intervalloperiodo".($num_periodi_date - 1)}; $inizioperiodo = ${"fineperiodo".($num_periodi_date - 1)}; if ($tipo_periodi == "g") $aggiungi_giorni = 1; else $aggiungi_giorni = 7; $anno_inizio = substr($inizioperiodo,0,4); $mese_inizio = substr($inizioperiodo,5,2); $giorno_inizio = substr($inizioperiodo,8,2); for ($num1 = 0 ; $num1 < 2000 ; $num1++) { $datainizio = date("Y-m-d",mktime(0,0,0,$mese_inizio,$giorno_inizio,$anno_inizio)); $datainizio = esegui_query("select * from $tableperiodi where datainizio = '$datainizio'"); if (numlin_query($datainizio) == 1) { $n_inizioperiodo[0] = risul_query($datainizio,0,'idperiodi'); break; } # fine if (numlin_query($datainizio) == 1) $giorno_inizio = $giorno_inizio + ($n_intervalloperiodo[0] * $aggiungi_giorni); } # fine for $num1 $n_fineperiodo[0] = $n_inizioperiodo[0]; } # fine if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) for ($num1 = 0 ; $num1 < $n_num_periodi_date ; $num1++) { $inizioperiodo = $n_inizioperiodo[$num1]; $fineperiodo = $n_fineperiodo[$num1]; $inizioperiodo = esegui_query("select datainizio from $tableperiodi where idperiodi = '$inizioperiodo' "); $inizioperiodo = @risul_query($inizioperiodo,0,'datainizio'); $fineperiodo = esegui_query("select datafine from $tableperiodi where idperiodi = '$fineperiodo' "); $fineperiodo = @risul_query($fineperiodo,0,'datafine'); if (!$inizioperiodo or !$fineperiodo) $n_num_periodi_date = 0; ${"inizioperiodo".$num1} = $inizioperiodo; ${"fineperiodo".$num1} = $fineperiodo; ${"intervalloperiodo".$num1} = $n_intervalloperiodo[$num1]; } # fine for $num1 $num_periodi_date = $n_num_periodi_date; if (!$num_periodi_date) $inizioperiodo0 = ""; if ($num_periodi_date != 0) { if ($id_data_ini_periodi_prec) { $tabelle_lock = array("$tabletransazioniweb","$tablemessaggi"); $altre_tab_lock = array("$tableperiodi_prec","$tableperiodi"); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $data_ini_periodi_prec = esegui_query("select datainizio from $tableperiodi_prec where idperiodi = '$id_data_ini_periodi_prec' "); $data_ini_periodi_prec = risul_query($data_ini_periodi_prec,0,'datainizio'); $da_aggiornare = esegui_query("select idmessaggi,dati_messaggio3,dati_messaggio4,dati_messaggio9,dati_messaggio14 from $tablemessaggi where tipo_messaggio = 'rprenota' and dati_messaggio1 = 'da_inserire' and dati_messaggio18 = '".($anno - 1)."' "); $num_da_aggiornare = numlin_query($da_aggiornare); for ($num1 = 0 ; $num1 < $num_da_aggiornare ; $num1++) { $num_tipologie = risul_query($da_aggiornare,$num1,'dati_messaggio3'); $id_messaggio = risul_query($da_aggiornare,$num1,'idmessaggi'); $date_inizio = explode(",",risul_query($da_aggiornare,$num1,'dati_messaggio4')); $aggiornare = "SI"; for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) { if ($date_inizio[($n_t - 1)] < $data_ini_periodi_prec) $aggiornare = "NO"; } # fine for $n_t if ($aggiornare == "SI") { $numcostiagg_dt = explode(",",risul_query($da_aggiornare,$num1,'dati_messaggio9')); $id_periodi_costo_dt = explode(";",risul_query($da_aggiornare,$num1,'dati_messaggio14')); $n_id_periodi_costo = ""; for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) { if ($n_t != 1) $n_id_periodi_costo .= ";"; $numcostiagg = $numcostiagg_dt[($n_t - 1)]; $id_periodi_costo_dt2 = explode(":",$id_periodi_costo_dt[($n_t - 1)]); for ($numca = 1 ; $numca <= $numcostiagg ; $numca++) { if ($numca != 1) $n_id_periodi_costo .= ":"; $id_periodi_costo = explode(",",$id_periodi_costo_dt2[($numca - 1)]); $num_id_periodi_costo = count($id_periodi_costo); for ($numpc = 0 ; $numpc < $num_id_periodi_costo ; $numpc++) { if ($numpc != 0) $n_id_periodi_costo .= ","; if ($id_periodi_costo[$numpc]) $n_id_periodi_costo .= $id_periodi_costo[$numpc] - $id_data_ini_periodi_prec + 1; } # fine for $numpc } # fine for $numca } # fine for $n_t esegui_query("update $tablemessaggi set dati_messaggio14 = '$n_id_periodi_costo', dati_messaggio18 = '$anno' where idmessaggi = '".aggslashdb($id_messaggio)."' "); } # fine if ($aggiornare == "SI") } # fine for $num1 unlock_tabelle($tabelle_lock); } # fine if ($id_data_ini_periodi_prec) } # fine if ($num_periodi_date != 0) } # fine funtcion aggiorna_var_anno_modello_disponibilita
if (strcmp($n_commento_ita,"")) { if (get_magic_quotes_gpc()) $n_commento_ita = stripslashes($n_commento_ita); $n_commento_ita = aggslashdb(htmlspecialchars($n_commento_ita)); $comm_esistente = esegui_query("select testo from $tabledescrizioni where nome = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = 'ita' and numero = '$numfoto' "); if (numlin_query($comm_esistente)) esegui_query("update $tabledescrizioni set testo = '$n_commento_ita' where nome = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = 'ita' and numero = '$numfoto' "); else esegui_query("insert into $tabledescrizioni (nome,tipo,lingua,numero,testo) values ('tariffa".$numtariffa1."','tarcommfoto','ita','$numfoto','$n_commento_ita') "); } # fine if (strcmp($n_commento_ita,"")) else esegui_query("delete from $tabledescrizioni where nome = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = 'ita' and numero = '$numfoto' "); $lang_dir = opendir("./includes/lang/"); include(C_DATA_PATH."/lingua.php"); while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != ".." and strlen($ini_lingua) <= 3 and preg_replace("/[a-z]/","",$ini_lingua) == "") { $n_commento = ${"n_commento_".$ini_lingua}; if (strcmp($n_commento,"")) { if (get_magic_quotes_gpc()) $n_commento = stripslashes($n_commento); $n_commento = aggslashdb(htmlspecialchars($n_commento)); $comm_esistente = esegui_query("select testo from $tabledescrizioni where nome = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = '$ini_lingua' and numero = '$numfoto' "); if (numlin_query($comm_esistente)) esegui_query("update $tabledescrizioni set testo = '$n_commento' where nome = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = '$ini_lingua' and numero = '$numfoto' "); else esegui_query("insert into $tabledescrizioni (nome,tipo,lingua,numero,testo) values ('tariffa".$numtariffa1."','tarcommfoto','$ini_lingua','$numfoto','$n_commento') "); } # fine if (strcmp($n_commento,"")) else esegui_query("delete from $tabledescrizioni where nome = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = '$ini_lingua' and numero = '$numfoto' "); } # fine if ($file != "." && $file != ".." and... } # fine while ($file = readdir($lang_dig)) closedir($lang_dir); echo "<br>".ucfirst(mex("commento della foto",$pag))." $numfoto ".mex("aggiornato",$pag).".<br>"; } # fine if (numlin_query($foto_esistente)) unlock_tabelle($tabelle_lock); } # fine if ($numfoto and controlla_num_pos($numfoto) == "SI") } # fine if ($commentofoto and $priv_mod_tariffe != "n")
function ripristina_backup_contr($linee_backup, $silenzio, $pag, $PHPR_TAB_PRE, $modalita, $contr_agg = "") { global $LIKE, $MEDIUMTEXT; include "./includes/variabili_contratto.php"; unset($var_predef); $versione_corrente = esegui_query("select * from " . $PHPR_TAB_PRE . "versioni where idversioni = 1"); $versione_corrente = risul_query($versione_corrente, 0, 'num_versione'); for ($num1 = 0; $num1 < count($linee_backup); $num1++) { $linea = togli_acapo($linee_backup[$num1]); if (substr($linea, 0, 10) == "<versione>") { $versione_file = substr($linea, 10); $versione_file = substr($versione_file, 0, -11); break; } # fine if (substr($linea,0,10) == "<versione>") } # fine for $num1 if ($versione_file and ($versione_file <= $versione_corrente and $versione_file >= "2.00")) { if ($modalita != "aggiungi") { $contr_agg = ""; } $contr_agg_var = $contr_agg; $contr_agg_all = ""; $contr_agg_trovato = 0; # Prima lettura di controllo del file contratti $file_coerente = "SI"; $num_err = ""; $leggendo_righe = "NO"; unset($tab_presente); $info_contr['max_contr'] = 0; $num_linee_backup = count($linee_backup); for ($num1 = 0; $num1 < $num_linee_backup; $num1++) { $linea = togli_acapo($linee_backup[$num1]); if ($linea == "</backup>" and $leggendo_righe != "SI") { $leggendo_backup = "NO"; } if ($leggendo_backup == "SI") { if ($linea == "</database>" and $leggendo_righe != "SI") { $leggendo_database = "NO"; } if ($leggendo_database == "SI") { if ($linea == "</tabella>" and $leggendo_righe != "SI") { $leggendo_tabella = "NO"; } if ($leggendo_tabella == "SI") { if (substr($linea, 0, 13) == "<nometabella>") { $nome_tabella = substr($linea, 13); $nome_tabella = substr($nome_tabella, 0, -14); } # fine if (substr($linea,0,13) == "<nometabella>") if ($linea == "</colonnetabella>") { $leggendo_colonne == "NO"; if ($nome_tabella == "contratti") { $tab_presente["contratti"] = "SI"; } if ($nome_tabella != "contratti") { $file_coerente = "NO"; $num_err .= "#1"; } } # fine if ($linea == "</colonnetabella>") if ($leggendo_colonne == "SI") { if (substr($linea, 0, 13) == "<nomecolonna>") { $num_colonne++; $nome_colonna[$num_colonne] = substr($linea, 13); $nome_colonna[$num_colonne] = substr($nome_colonna[$num_colonne], 0, -14); $num_colonna[$nome_colonna[$num_colonne]] = $num_colonne - 1; } # fine if (substr($linea,0,13) == "<nomecolonna>") if (substr($linea, 0, 13) == "<tipocolonna>") { $tipo_colonna[$num_colonne] = substr($linea, 13); $tipo_colonna[$num_colonne] = substr($tipo_colonna[$num_colonne], 0, -14); } # fine if (substr($linea,0,13) == "<tipocolonna>") } # fine if ($leggendo_colonne == "SI") if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") { $leggendo_colonne = "SI"; $num_colonne = 0; } # fine if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") if ($linea == "</righetabella>") { $leggendo_righe = "NO"; } if ($leggendo_righe == "SI") { if (substr($linea, 0, 6) == "<riga>") { $riga = substr($linea, 11); } else { $riga .= "\n" . $linea; } # fine else if (substr($linea,0,6) == "<riga>") if (substr($linea, -7) == "</riga>") { $riga = substr($riga, 0, -13); $riga = explode("</cmp><cmp>", $riga); if ($nome_tabella == "contratti") { $tipo_contr = $riga[$num_colonna['tipo']]; if (substr($tipo_contr, 0, 3) == "var") { $nome = $riga[$num_colonna['testo']]; if ($var_riserv[$nome]) { $file_coerente = "NO"; $num_err .= "#2"; } } # fine if (substr($tipo_contr,0,3) == "var") if (substr($tipo_contr, 0, 4) == "vett") { $nome = explode(";", $riga[$num_colonna['testo']]); if ($var_riserv[$nome[0]]) { $file_coerente = "NO"; $num_err .= "#3"; } if ($var_riserv[$nome[1]]) { $file_coerente = "NO"; $num_err .= "#4"; } } # fine if (substr($tipo_contr,0,4) == "vett") if ($modalita == "info") { if ($riga[$num_colonna['tipo']] == "nomi_con" and $riga[$num_colonna['numero']] == "1") { $info_contr['nomi_con'] = $riga[$num_colonna['testo']]; } if (substr($riga[$num_colonna['tipo']], 0, 5) == "contr" and $riga[$num_colonna['numero']] > $info_contr['max_contr']) { $info_contr['max_contr'] = $riga[$num_colonna['numero']]; } } # fine if ($modalita == "info") if ($contr_agg and $riga[$num_colonna['numero']] == $contr_agg) { if (substr($riga[$num_colonna['tipo']], 0, 5) == "contr") { $contr_agg_trovato = 1; } if ($riga[$num_colonna['tipo']] == "impor_vc") { $contr_agg_var = $riga[$num_colonna['testo']]; } if ($riga[$num_colonna['tipo']] == "allegato") { $contr_agg_all .= "," . $riga[$num_colonna['testo']] . ","; } } # fine if ($contr_agg and $riga[$num_colonna['numero']] == $contr_agg) } # fine if ($nome_tabella == "contratti") $lista_valori = ""; $lista_colonne = ""; unset($valore_colonna); for ($num2 = 0; $num2 < count($riga); $num2++) { $valore = aggslashdb($riga[$num2]); if ($valore != "") { $valore = str_replace("</righetabella@%&@>", "</righetabella>", $valore); $valore = str_replace("</riga@%&@>", "</riga>", $valore); $valore = str_replace("<riga@%&@>", "<riga>", $valore); $valore = str_replace("</cmp@%&@>", "</cmp>", $valore); $valore = str_replace("@%&@@%&@", "@%&@", $valore); $valore_colonna[$nome_colonna[$num2 + 1]] = $valore; } # fine if ($valore != "") } # fine for $num2 if (defined("C_MASSIMO_NUM_CONTRATTI") and C_MASSIMO_NUM_CONTRATTI != 0 and $nome_tabella == "contratti" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CONTRATTI * 200 + 100) { $file_coerente = "NO"; $num_err .= "#5"; } $linee_inserite_in_tabella[$nome_tabella]++; } # fine if (substr($linea,-7) == "</riga>") } # fine if ($leggendo_righe == "SI") if ($linea == "<righetabella>") { $leggendo_righe = "SI"; $linee_inserite_in_tabella[$nome_tabella] = 0; } # fine if ($linea == "<righetabella>") } # fine if ($leggendo_tabella == "SI") if ($linea == "<tabella>") { $leggendo_tabella = "SI"; } } # fine if ($leggendo_database == "SI") if ($linea == "<database>") { $leggendo_database = "SI"; } } # fine if ($leggendo_backup == "SI") if ($linea == "<backup>") { $leggendo_backup = "SI"; } } # fine for $num1 if ($tab_presente["contratti"] != "SI") { $file_coerente = "NO"; $num_err .= "#6"; } if ($contr_agg and !$contr_agg_trovato) { $file_coerente = "NO"; $num_err .= "#7"; } if ($file_coerente == "NO") { if ($silenzio != "SI") { echo mex("Il formato del file è errato", $pag) . ".<br>"; } # debug backup DOCUMENTI #if ($num_err) echo $num_err.".<br>"; } else { unset($var_riserv); if ($modalita == "info") { return $info_contr; } if ($modalita == "rimpiazza") { esegui_query("delete from " . $PHPR_TAB_PRE . "contratti"); } $max_contr = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'contr%'"); if (numlin_query($max_contr) != 0) { $max_contr = risul_query($max_contr, 0, 0); } else { $max_contr = 0; } if (!$max_contr) { $max_contr = 0; } $max_var = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'var%'"); if (numlin_query($max_var) != 0) { $max_var = risul_query($max_var, 0, 0); } else { $max_var = 0; } if (!$max_var) { $max_var = 0; } $max_arr = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'vett%'"); if (numlin_query($max_arr) != 0) { $max_arr = risul_query($max_arr, 0, 0); } else { $max_arr = 0; } if (!$max_arr) { $max_arr = 0; } $max_cond = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo = 'cond'"); if (numlin_query($max_cond) != 0) { $max_cond = risul_query($max_cond, 0, 0); } else { $max_cond = 0; } if (!$max_cond) { $max_cond = 0; } $max_all = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo = 'file_all'"); if (numlin_query($max_all) != 0) { $max_all = risul_query($max_all, 0, 0); } else { $max_all = 0; } if (!$max_all) { $max_all = 0; } unset($nuovo_num_contr); unset($nuovo_num_var); $nuovo_num_var['-1'] = '-1'; $nuovo_num_var['-2'] = '-2'; unset($nuovo_nome_var); unset($nuovo_num_all); $leggendo_backup = "NO"; $leggendo_database = "NO"; $leggendo_tabella = "NO"; $leggendo_colonne = "NO"; $leggendo_righe = "NO"; $leggendo_file = "NO"; $leggendo_contenuto = "NO"; $nome_file = ""; unset($linee_inserite_in_tabella); if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") { if (C_CARTELLA_DOC != "" and @is_dir(C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC)) { $dir_salva_home = C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC; } else { $dir_salva_home = C_CARTELLA_CREA_MODELLI; } } else { $dir_salva_home = C_DATA_PATH; } for ($num1 = 0; $num1 < $num_linee_backup; $num1++) { $linea = togli_acapo($linee_backup[$num1]); if ($linea == "</backup>" and $leggendo_righe != "SI") { $leggendo_backup = "NO"; } if ($leggendo_backup == "SI") { if ($linea == "</database>" and $leggendo_righe != "SI") { $leggendo_database = "NO"; } # restore del database if ($leggendo_database == "SI") { if ($linea == "</tabella>" and $leggendo_righe != "SI") { $leggendo_tabella = "NO"; } if ($leggendo_tabella == "SI") { if (substr($linea, 0, 13) == "<nometabella>") { $nome_tabella = substr($linea, 13); $nome_tabella = substr($nome_tabella, 0, -14); } # fine if (substr($linea,0,13) == "<nometabella>") if ($linea == "</colonnetabella>" and $leggendo_righe != "SI") { $leggendo_colonne == "NO"; #if ($nome_tabella == "contratti") esegui_query2("create table ".$N_PHPR_TAB_PRE."contratti (numero integer, tipo varchar(8), testo $MEDIUMTEXT )",$N_PHPR_DB_TYPE); } # fine if ($linea == "</colonnetabella>") if ($leggendo_colonne == "SI") { if (substr($linea, 0, 13) == "<nomecolonna>") { $num_colonne++; $nome_colonna[$num_colonne] = substr($linea, 13); $nome_colonna[$num_colonne] = substr($nome_colonna[$num_colonne], 0, -14); $num_colonna[$nome_colonna[$num_colonne]] = $num_colonne - 1; } # fine if (substr($linea,0,13) == "<nomecolonna>") if (substr($linea, 0, 13) == "<tipocolonna>") { $tipo_colonna[$num_colonne] = substr($linea, 13); $tipo_colonna[$num_colonne] = substr($tipo_colonna[$num_colonne], 0, -14); } # fine if (substr($linea,0,13) == "<tipocolonna>") } # fine if ($leggendo_colonne == "SI") if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") { $leggendo_colonne = "SI"; $num_colonne = 0; $lista_tariffe = ""; } # fine if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") if ($linea == "</righetabella>") { $leggendo_righe = "NO"; } if ($leggendo_righe == "SI") { if (substr($linea, 0, 6) == "<riga>") { $riga = substr($linea, 11); } else { $riga .= "\n" . $linea; } # fine else if (substr($linea,0,6) == "<riga>") if (substr($linea, -7) == "</riga>") { $riga = substr($riga, 0, -13); $riga = explode("</cmp><cmp>", $riga); $lista_valori = ""; $lista_colonne = ""; unset($valore_colonna); $inserire_riga = "SI"; $tipo_contr = $riga[$num_colonna['tipo']]; $vecchio_num = $riga[$num_colonna['numero']]; if (substr($tipo_contr, 0, 5) == "contr" or $tipo_contr == "opzeml" or $tipo_contr == "oggetto" or $tipo_contr == "allegato" or $tipo_contr == "headhtm" or $tipo_contr == "foothtm" or $tipo_contr == "est_txt" or $tipo_contr == "dir" or substr($tipo_contr, 0, 4) == "mln_" or $tipo_contr == "impor_vc" or $tipo_contr == "num_prog" or $tipo_contr == "nomefile" or $tipo_contr == "autosalv" or $tipo_contr == "compress" or $tipo_contr == "incr_np") { if (!$contr_agg or $vecchio_num == $contr_agg) { if (!$nuovo_num_contr[$vecchio_num]) { if ($contr_agg) { $nuovo_num_contr[$vecchio_num] = $max_contr + 1; } else { $nuovo_num_contr[$vecchio_num] = $max_contr + $vecchio_num; } } # fine if (!$nuovo_num_contr[$vecchio_num]) $riga[$num_colonna['numero']] = $nuovo_num_contr[$vecchio_num]; if (substr($tipo_contr, 0, 5) == "contr" or substr($tipo_contr, 0, 4) == "mln_") { if (@is_array($nuovo_nome_var)) { reset($nuovo_nome_var); while (list($v_nome, $n_nome) = each($nuovo_nome_var)) { $riga[$num_colonna['testo']] = str_replace("[{$v_nome}]", "[{$n_nome}]", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[c {$v_nome}=", "[c {$n_nome}=", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[c {$v_nome}!=", "[c {$n_nome}!=", $riga[$num_colonna['testo']]); if (substr($v_nome, -1) == ")") { $v_nome_arr = explode("(", $v_nome); $v_nome_arr = $v_nome_arr[0]; $n_nome_arr = explode("(", $n_nome); $n_nome_arr = $n_nome_arr[0]; $riga[$num_colonna['testo']] = str_replace("[r4 array=\"{$v_nome_arr}\"]", "[r4 array=\"{$n_nome_arr}\"]", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[{$v_nome_arr}('", "[{$n_nome_arr}('", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[c {$v_nome_arr}('", "[c {$n_nome_arr}('", $riga[$num_colonna['testo']]); } # fine if (substr($v_nome,-1) == ")") } # fine while (list($v_nome,$n_nome) = each($nuovo_nome_var)) } # fine if (@is_array($nuovo_nome_var)) } # fine if (substr($tipo_contr,0,5) == "contr" or substr($tipo_contr,0,4) == "mln_") if ($tipo_contr == "dir") { if (!function_exists('formatta_dir_salva_doc')) { include './includes/funzioni_contratti.php'; } $dir_salva = formatta_dir_salva_doc($riga[$num_colonna['testo']]); if ($dir_salva == "~") { $dir_salva = $dir_salva_home; } if (!@is_dir($dir_salva)) { $inserire_riga = "NO"; } else { $fileaperto = @fopen("{$dir_salva}/prova.tmp", "a+"); if (!$fileaperto) { $inserire_riga = "NO"; } else { fclose($fileaperto); unlink("{$dir_salva}/prova.tmp"); } # fine else if (!$fileaperto) } # fine else if (!@is_dir($dir_salva)) } # fine if ($tipo_contr == "dir") if ($tipo_contr == "allegato") { $vecchio_all = $riga[$num_colonna['testo']]; if (!$nuovo_num_all[$vecchio_all]) { $nuovo_num_all[$vecchio_all] = $max_all + $vecchio_all; } $riga[$num_colonna['testo']] = $nuovo_num_all[$vecchio_all]; } # fine if ($tipo_contr == "allegato") if ($tipo_contr == "impor_vc") { if (!$contr_agg) { $vecchio_num_impor_vc = $riga[$num_colonna['testo']]; if (!$nuovo_num_contr[$vecchio_num_impor_vc]) { $nuovo_num_contr[$vecchio_num_impor_vc] = $max_contr + $vecchio_num_impor_vc; } $riga[$num_colonna['testo']] = $nuovo_num_contr[$vecchio_num_impor_vc]; } else { $inserire_riga = "NO"; } } # fine if ($tipo_contr == "impor_vc") if ($tipo_contr == "num_prog") { if (!$contr_agg) { $vecchio_num_np = $riga[$num_colonna['testo']]; if (!$nuovo_num_contr[$vecchio_num_np]) { $nuovo_num_contr[$vecchio_num_np] = $max_contr + $vecchio_num_np; } $riga[$num_colonna['testo']] = $nuovo_num_contr[$vecchio_num_np]; } else { $inserire_riga = "NO"; } } # fine if ($tipo_contr == "num_prog") } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,5) == "contr" or $tipo_contr == "opzeml" or... if (substr($tipo_contr, 0, 3) == "var") { $contr_cond = substr($tipo_contr, 3); if (!$contr_agg or $contr_agg_var == $contr_cond) { if (strcmp($contr_cond, "")) { if (!$nuovo_num_contr[$contr_cond]) { if ($contr_agg) { $nuovo_num_contr[$contr_cond] = $max_contr + 1; } else { $nuovo_num_contr[$contr_cond] = $max_contr + $contr_cond; } } # fine if (!$nuovo_num_contr[$contr_cond]) $contr_cond = $nuovo_num_contr[$contr_cond]; $tipo_contr = "var{$contr_cond}"; $riga[$num_colonna['tipo']] = $tipo_contr; } # fine if (strcmp($contr_cond,"")) if (!$nuovo_num_var[$vecchio_num]) { $num_var_esistente = ""; $testo = $riga[$num_colonna['testo']]; $var_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($testo) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($testo) . ";%') "); for ($num2 = 0; $num2 < numlin_query($var_esistente); $num2++) { if ($testo == risul_query($var_esistente, $num2, 'testo') and $tipo_contr == risul_query($var_esistente, $num2, 'tipo')) { $num_var_esistente = $num2 + 1; } } if ($num_var_esistente) { $nuovo_num_var[$vecchio_num] = risul_query($var_esistente, $num_var_esistente - 1, 'numero'); $inserire_riga = "NO"; } else { $nuovo_num_var[$vecchio_num] = $max_var + $vecchio_num; if (numlin_query($var_esistente)) { $nuovo_nome_trovato = "NO"; $nuovo_nome = $testo; while ($nuovo_nome_trovato == "NO") { $nuovo_nome .= "_"; $var_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nuovo_nome) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nuovo_nome) . ";%') "); if (!numlin_query($var_esistente)) { $nuovo_nome_trovato = "SI"; } } # fine while ($nuovo_nome_trovato == "NO") $nuovo_nome_var[$testo] = $nuovo_nome; # cambio il nome della variabile anche negli array già inseriti reset($nuovo_nome_var); while (list($key, $val) = each($nuovo_nome_var)) { $nuovo_nome_var[$key] = str_replace("({$testo})", "({$nuovo_nome})", $val); if ($val != $nuovo_nome_var[$key]) { $nome_arr = substr($nuovo_nome_var[$key], 0, -1 * (strlen($nuovo_nome) + 2)); $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where tipo = 'vett{$contr_cond}' and testo = '" . aggslashdb($nome_arr) . ";" . aggslashdb($testo) . "' "); if (numlin_query($arr_esistente)) { $testo_arr = explode(";", risul_query($arr_esistente, 0, 'testo')); $testo_arr[1] = $nuovo_nome; $testo_arr = implode(";", $testo_arr); esegui_query("update " . $PHPR_TAB_PRE . "contratti set testo = '" . aggslashdb($testo_arr) . "' where tipo = 'vett{$contr_cond}' and testo = '" . aggslashdb($nome_arr) . ";" . aggslashdb($testo) . "' "); } # fine if (numlin_query($arr_esistente)) } # fine if ($val != $nuovo_nome_var[$key]) } # fine while (list($key,$val) = each($nuovo_nome_var)) $riga[$num_colonna['testo']] = $nuovo_nome; } # fine if (numlin_query($var_esistente)) } # fine else if ($num_var_esistente) } # fine if (!$nuovo_num_contr[$vecchio_num]) $riga[$num_colonna['numero']] = $nuovo_num_var[$vecchio_num]; } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,3) == "var") if (substr($tipo_contr, 0, 4) == "vett") { $contr_cond = substr($tipo_contr, 4); if (!$contr_agg or $contr_agg_var == $contr_cond) { if (strcmp($contr_cond, "")) { if (!$nuovo_num_contr[$contr_cond]) { if ($contr_agg) { $nuovo_num_contr[$contr_cond] = $max_contr + 1; } else { $nuovo_num_contr[$contr_cond] = $max_contr + $contr_cond; } } # fine if (!$nuovo_num_contr[$contr_cond]) $contr_cond = $nuovo_num_contr[$contr_cond]; $tipo_contr = "vett{$contr_cond}"; $riga[$num_colonna['tipo']] = $tipo_contr; } # fine if (strcmp($contr_cond,"")) if (!$nuovo_num_var["a{$vecchio_num}"]) { $num_arr_esistente = ""; $testo = $riga[$num_colonna['testo']]; $nome_arr = explode(";", $testo); $var_arr = $nome_arr[1]; $nome_arr = $nome_arr[0]; $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nome_arr) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nome_arr) . ";%') "); for ($num2 = 0; $num2 < numlin_query($arr_esistente); $num2++) { if ($testo == risul_query($arr_esistente, $num2, 'testo') and $tipo_contr == risul_query($arr_esistente, $num2, 'tipo')) { $num_arr_esistente = $num2 + 1; } } if ($num_arr_esistente) { $nuovo_num_var["a{$vecchio_num}"] = "a" . risul_query($arr_esistente, $num_arr_esistente - 1, 'numero'); $inserire_riga = "NO"; } else { $nuovo_num_var["a{$vecchio_num}"] = "a" . ($max_arr + $vecchio_num); if (numlin_query($arr_esistente)) { $nuovo_nome_trovato = "NO"; $nuovo_nome = $nome_arr; while ($nuovo_nome_trovato == "NO") { $nuovo_nome .= "_"; $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nuovo_nome) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nuovo_nome) . ";%') "); if (!numlin_query($arr_esistente)) { $nuovo_nome_trovato = "SI"; } } # fine while ($nuovo_nome_trovato == "NO") $nuovo_nome_var["{$nome_arr}({$var_arr})"] = "{$nuovo_nome}({$var_arr})"; $riga[$num_colonna["testo"]] = $nuovo_nome . substr($testo, strlen($nome_arr)); } else { $nuovo_nome_var["{$nome_arr}({$var_arr})"] = "{$nome_arr}({$var_arr})"; } } # fine else if ($num_arr_esistente) } # fine if (!$nuovo_num_contr["a$vecchio_num"]) $riga[$num_colonna['numero']] = substr($nuovo_num_var["a{$vecchio_num}"], 1); } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,4) == "vett") if (substr($tipo_contr, 0, 4) == "cond") { $contr_cond = substr($tipo_contr, 4); if (!$contr_agg or $contr_agg_var == $contr_cond) { if (!strcmp($contr_cond, "")) { $riga[$num_colonna['numero']] = $max_cond + $vecchio_num; } else { $vecchio_num = $contr_cond; if (!$nuovo_num_contr[$vecchio_num]) { if ($contr_agg) { $nuovo_num_contr[$vecchio_num] = $max_contr + 1; } else { $nuovo_num_contr[$vecchio_num] = $max_contr + $vecchio_num; } } # fine if (!$nuovo_num_contr[$vecchio_num]) $riga[$num_colonna['tipo']] = "cond" . $nuovo_num_contr[$vecchio_num]; $contr_cond = $nuovo_num_contr[$vecchio_num]; } # fine else if (!strcmp($contr_cond,"")) $cond_vecchia = $riga[$num_colonna['testo']]; $cond_vecchia = explode("#@?", $cond_vecchia); $azione_vecchia = explode("#%?", $cond_vecchia[2]); $cond_nuova = $cond_vecchia[0] . "#@?"; if ($cond_vecchia[1]) { $cond_vecchia = explode("#\$?", $cond_vecchia[1]); $cond_nuova .= $cond_vecchia[0]; $num_cond = count($cond_vecchia); for ($num2 = 1; $num2 < $num_cond; $num2++) { $cond_nuova .= "#\$?"; $cond_vett = explode("#%?", $cond_vecchia[$num2]); if ($cond_vett[2] == "var") { ripristina_nome_var_cond(array(0, 3), $cond_vett, $nuovo_nome_var); } else { ripristina_nome_var_cond(array('0'), $cond_vett, $nuovo_nome_var); } for ($num3 = 0; $num3 < count($cond_vett); $num3++) { $cond_nuova .= $cond_vett[$num3] . "#%?"; } $cond_nuova = substr($cond_nuova, 0, -3); } # fine for $num2 } # fine ($cond_vecchia[1]) $cond_nuova .= "#@?" . $azione_vecchia[0]; if ($azione_vecchia[0] == "set") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; if ($azione_vecchia[3] == "var") { ripristina_nome_var_cond(array(4), $azione_vecchia, $nuovo_nome_var); } if ($azione_vecchia[5] == "var") { ripristina_nome_var_cond(array(6), $azione_vecchia, $nuovo_nome_var); } if ($azione_vecchia[7] == "var") { ripristina_nome_var_cond(array(8), $azione_vecchia, $nuovo_nome_var); } } # fine if ($azione_vecchia[0] == "set") if ($azione_vecchia[0] == "trunc") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; } if ($azione_vecchia[0] == "oper") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; if ($azione_vecchia[4] == "var") { ripristina_nome_var_cond(array(2, 5), $azione_vecchia, $nuovo_nome_var); } else { ripristina_nome_var_cond(array(2), $azione_vecchia, $nuovo_nome_var); } } # fine if ($azione_vecchia[0] == "oper") if ($azione_vecchia[0] == "date") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; ripristina_nome_var_cond(array(2), $azione_vecchia, $nuovo_nome_var); } # fine if ($azione_vecchia[0] == "date") if ($azione_vecchia[0] == "unset") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; } if ($azione_vecchia[0] == "array") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; if ($azione_vecchia[2] == "cop") { $azione_vecchia[3] = $nuovo_num_var[$azione_vecchia[3]]; } } # fine if ($azione_vecchia[0] == "array") for ($num2 = 1; $num2 < count($azione_vecchia); $num2++) { $cond_nuova .= "#%?" . $azione_vecchia[$num2]; } $riga[$num_colonna['testo']] = $cond_nuova; $testo = aggslashdb($riga[$num_colonna['testo']]); #$cond_esistente = esegui_query("select * from ".$PHPR_TAB_PRE."contratti where tipo = 'cond$contr_cond' and testo = '$testo' "); #for ($num2 = 0 ; $num2 < numlin_query($cond_esistente) ; $num2++) if ($cond_nuova == risul_query($cond_esistente,$num2,'testo')) $inserire_riga = "NO"; } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,4) == "cond") if ($tipo_contr == "file_all") { $vecchio_all = $riga[$num_colonna['numero']]; if (!$contr_agg or str_replace(",{$vecchio_all},", "", $contr_agg_all) != $contr_agg_all) { if (!$nuovo_num_all[$vecchio_all]) { $nuovo_num_all[$vecchio_all] = $max_all + $vecchio_all; } $riga[$num_colonna['numero']] = $nuovo_num_all[$vecchio_all]; } else { $inserire_riga = "NO"; } } # fine if ($tipo_contr == "file_all") for ($num2 = 0; $num2 < count($riga); $num2++) { $valore = aggslashdb($riga[$num2]); if ($valore != "") { $valore = str_replace("</righetabella@%&@>", "</righetabella>", $valore); $valore = str_replace("</riga@%&@>", "</riga>", $valore); $valore = str_replace("<riga@%&@>", "<riga>", $valore); $valore = str_replace("</cmp@%&@>", "</cmp>", $valore); $valore = str_replace("@%&@@%&@", "@%&@", $valore); $lista_valori .= ",'" . $valore . "'"; $lista_colonne .= "," . $nome_colonna[$num2 + 1]; } # fine if ($valore != "") } # fine for $num2 $lista_valori = substr($lista_valori, 1); $lista_colonne = substr($lista_colonne, 1); #echo "insert into $nome_tabella ($lista_colonne) values ($lista_valori)<br>"; if ($inserire_riga != "NO") { esegui_query("insert into " . $PHPR_TAB_PRE . "{$nome_tabella} ({$lista_colonne}) values ({$lista_valori}) "); } } # fine if (substr($linea,-7) == "</riga>") } # fine if ($leggendo_righe == "SI") if ($linea == "<righetabella>") { $leggendo_righe = "SI"; $linee_inserite_in_tabella[$nome_tabella] = 0; } # fine if ($linea == "<righetabella>") } # fine if ($leggendo_tabella == "SI") if ($linea == "<tabella>") { $leggendo_tabella = "SI"; } } # fine if ($leggendo_database == "SI") if ($linea == "<database>") { $leggendo_database = "SI"; } } # fine if ($leggendo_backup == "SI") if ($linea == "<backup>") { $leggendo_backup = "SI"; } } # fine for $num1 $tabelle_lock = array($PHPR_TAB_PRE . "contratti", $PHPR_TAB_PRE . "personalizza"); $altre_tab_lock = array($PHPR_TAB_PRE . "versioni"); $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); $nomi_contratti = esegui_query("select testo from {$PHPR_TAB_PRE}" . "contratti where numero = '1' and tipo = 'nomi_con' "); $nomi_contratti = risul_query($nomi_contratti, 0, 'testo'); if ($modalita == "rimpiazza") { esegui_query("update {$PHPR_TAB_PRE}" . "personalizza set valpersonalizza = '" . aggslashdb($nomi_contratti) . "' where idpersonalizza = 'nomi_contratti'"); } else { $nomi_contratti = explode("#@&", $nomi_contratti); $n_nomi_contratti = ""; for ($num1 = 0; $num1 < count($nomi_contratti); $num1++) { $nome_contr = explode("#?&", $nomi_contratti[$num1]); if (!$contr_agg or $nome_contr[0] == $contr_agg) { $n_nomi_contratti .= "#@&" . $nuovo_num_contr[$nome_contr[0]] . "#?&" . $nome_contr[1]; } } # fine for $num1 $d_nomi_contr = esegui_query("select * from {$PHPR_TAB_PRE}" . "personalizza where idpersonalizza = 'nomi_contratti' "); for ($num1 = 0; $num1 < numlin_query($d_nomi_contr); $num1++) { $idutente_contr = risul_query($d_nomi_contr, $num1, 'idutente'); $nomi_contr_utente = risul_query($d_nomi_contr, $num1, 'valpersonalizza') . $n_nomi_contratti; esegui_query("update {$PHPR_TAB_PRE}" . "personalizza set valpersonalizza = '" . aggslashdb($nomi_contr_utente) . "' where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}' "); } # fine for $num1 } # fine else if ($modalita == "rimpiazza") esegui_query("delete from {$PHPR_TAB_PRE}" . "contratti where numero = '1' and tipo = 'nomi_con' "); unlock_tabelle($tabelle_lock); if ($silenzio != "SI") { echo mex("Documenti ripristinati", $pag) . ".<br>"; } } # fine else if ($file_coerente == "NO") } else { if ($silenzio != "SI") { echo mex("La versione attuale di hoteldruid e quella del file non coincidono", $pag) . ".<br>"; } } }
if ($aggurlfoto) { $mostra_form_modifica = "NO"; if (get_magic_quotes_gpc()) $n_urlfoto = stripslashes($n_urlfoto); $lowurl = strtolower($n_urlfoto); if (substr($lowurl,-4) != ".jpg" and substr($lowurl,-5) != ".jpeg" and substr($lowurl,-4) != ".gif" and substr($lowurl,-4) != ".png") $errore = "SI"; if (str_replace("<","",$n_urlfoto) != $n_urlfoto or str_replace(">","",$n_urlfoto) != $n_urlfoto or str_replace("\"","",$n_urlfoto) != $n_urlfoto) $errore = "SI"; $app_esist = esegui_query("select idappartamenti from $tableappartamenti where idappartamenti = '$idappartamenti' "); if (!numlin_query($app_esist)) $errore = "SI"; if ($errore != "SI") { $tabelle_lock = array($tabledescrizioni); $tabelle_lock = lock_tabelle($tabelle_lock); $foto_esistenti = esegui_query("select * from $tabledescrizioni where nome = '$idappartamenti' and tipo = 'appfoto' order by numero desc "); if (numlin_query($foto_esistenti)) $numfoto = (risul_query($foto_esistenti,0,'numero') + 1); else $numfoto = 1; esegui_query("insert into $tabledescrizioni (nome,tipo,numero,testo) values ('$idappartamenti','appfoto','$numfoto','".aggslashdb($n_urlfoto)."') "); echo "<br>".ucfirst(mex("la nuova foto è stata aggiunta",$pag)).".<br>"; unlock_tabelle($tabelle_lock); } # fine if ($errore != "SI") else echo "".ucfirst(mex("l'url della foto è sbagliata",$pag)).".<br>"; $mostra_torna_indietro = "SI"; } # fine if ($aggurlfoto) if ($mostra_torna_indietro == "SI") { echo "<div style=\"text-align: center;\"> <form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div> <input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"idappartamenti\" value=\"$idappartamenti\">";
function aggiorna_tableprenota($app_prenota_id, $app_orig_prenota_id, $nome_tableprenota) { $fatto = 1; if (@is_array($app_orig_prenota_id)) { reset($app_orig_prenota_id); while (list($idprenota, $app_prenota) = each($app_orig_prenota_id)) { if (!strcmp($app_prenota_id[$idprenota], "")) { $fatto = 0; } } if ($fatto) { reset($app_orig_prenota_id); while (list($idprenota, $app_prenota) = each($app_orig_prenota_id)) { if ($app_prenota_id[$idprenota] != $app_prenota) { esegui_query("update {$nome_tableprenota} set idappartamenti = '" . aggslashdb($app_prenota_id[$idprenota]) . "' where idprenota = '{$idprenota}'"); #$adesso = date("Y-M-d H:i:s",(time() + (C_DIFF_ORE * 3600))); #esegui_query("update $tableprenota set data_modifica = '$adesso' where idprenota = '$idprenota'"); } # fine if ($app_prenota_id[$idprenota] != $app_prenota) } # fine while (list($key, $val) = each($app_orig_prenota_id)) } else { echo "<span class=\"colred\">ERROR in assignment engine: please report this bug to <a href=\"mailto:info@digitaldruid.net\">info@digitaldruid.net</a></span><br>"; } } # fine if (@is_array($app_orig_prenota_id)) return $fatto; }