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";
}
Ejemplo n.º 2
0
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};
Ejemplo n.º 3
0
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>";
Ejemplo n.º 5
0
 # 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
         }
Ejemplo n.º 6
0
 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
 }
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
             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);
Ejemplo n.º 9
0
     # 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);
Ejemplo n.º 10
0
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...
}
Ejemplo n.º 11
0
} # 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\">
Ejemplo n.º 12
0
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'])
Ejemplo n.º 13
0
#    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);
Ejemplo n.º 14
0
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
Ejemplo n.º 15
0
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);
Ejemplo n.º 16
0
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');
Ejemplo n.º 18
0
} # 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&amp;id_sessione=$id_sessione&amp;origine=modifica_prenota.php?id_prenota=$id_prenota_int&amp;idmag=a".htmlspecialchars($d_appartamento)."&amp;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(" ","&nbsp;",mex("Nº di persone",$pag)).":&nbsp;<b>".mex("$d_num_persone",$pag)."</b>";
if ($num_letti_agg['max']) echo "&nbsp;(+<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 " (";
Ejemplo n.º 19
0
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")
Ejemplo n.º 20
0
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}&amp;anno={$anno}&amp;id_transazione={$id_transazione}&amp;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 "&nbsp;" . 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 "&nbsp;" . 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)
}
Ejemplo n.º 21
0
$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} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . 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} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . 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} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . 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;
}
Ejemplo n.º 23
0
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;
}
Ejemplo n.º 24
0
            }
            $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)
Ejemplo n.º 25
0
             # 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&amp;<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
Ejemplo n.º 26
0
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
Ejemplo n.º 27
0
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")

Ejemplo n.º 28
0
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>";
        }
    }
}
Ejemplo n.º 29
0
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\">";
Ejemplo n.º 30
0
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;
}