$iniperiodo = $periodo[0];
$fineperiodo = $periodo[1];
} # fine if (str_replace("-","",$periodo) != $periodo)
else {
$iniperiodo = $periodo;
$fineperiodo = $periodo;
} # fine else if (str_replace("-","",$periodo) != $periodo)
$prezzo_esist = esegui_query("select * from $tableperiodi where idperiodi = '$iniperiodo' ");
$agg_vett_tar_esp = array();
unset($num_agg_tar_esp);
for ($num2 = 1 ; $num2 <= $numero_tariffe ; $num2++) {
if (($attiva_tariffe_consentite_ut == "n" or $tariffe_consentite_vett_ut[$num2] == "SI") and !$dati_tariffe["tariffa$num2"]['importa_prezzi']) {
if (!$tariffe_sel or ${"tariffa_sel".$num2}) {
$prezzo = formatta_soldi(${"per".$iniperiodo."tar".$num2});
$prezzop = formatta_soldi(${"per".$iniperiodo."tar".$num2."p"});
if (controlla_soldi($prezzo) != "NO" and controlla_soldi($prezzop) != "NO" and numlin_query($prezzo_esist)) {

if ((string) $prezzo != (string) risul_query($prezzo_esist,0,"tariffa$num2") or $lista_sett_in_per[$num1] > 1) {
if (strcmp($prezzo,"")) {
if ($lista_sett_in_per[$num1] == 1) {
esegui_query("update $tableperiodi set tariffa$num2 = '$prezzo' where idperiodi >= '$iniperiodo' and idperiodi <= '$fineperiodo' ");
aggiorna_tariffe_esporta($dati_tariffe,"tariffa$num2","$iniperiodo-$fineperiodo",$prezzo,"NO",$tableperiodi,$agg_vett_tar_esp,$num_agg_tar_esp);
} # fine if ($lista_sett_in_per[$num1] == 1)
else {
unset($prezzo_vett);
$num_sett = $lista_sett_in_per[$num1];
$prezzo_int = floor($prezzo);
$resto_int = $prezzo - (double) $prezzo_int;
$prezzo_sett = floor($prezzo_int / (double) $num_sett);
for ($num3 = 1 ; $num3 <= $num_sett ; $num3++) $prezzo_vett[$num3] = $prezzo_sett;
$resto = $prezzo_int - ($prezzo_sett * $num_sett);
Example #2
0
         echo mex("Si deve inserire un nome per la spesa", $pag) . ".<br>";
     }
     $inserire = "NO";
 }
 # fine if (!$nome_costo)
 if (!$val_costo) {
     if ($inserisci_entrata) {
         echo mex("Si deve inserire il valore dell' entrata", $pag) . ".<br>";
     }
     if ($inserisci_spesa) {
         echo mex("Si deve inserire il valore della spesa", $pag) . ".<br>";
     }
     $inserire = "NO";
 } else {
     $val_costo = formatta_soldi($val_costo);
     if (controlla_soldi($val_costo) == "NO") {
         if ($inserisci_entrata) {
             echo mex("Il valore dell' entrata è sbagliato", $pag) . ".<br>";
         }
         if ($inserisci_spesa) {
             echo mex("Il valore della spesa è sbagliato", $pag) . ".<br>";
         }
         $inserire = "NO";
     }
     # fine if (controlla_soldi($val_costo) == "NO")
 }
 # fine else if (!$val_costo)
 $nome_cassa = "";
 if (!$id_cassa or controlla_num_pos($id_cassa) != "SI") {
     $inserire = "NO";
 } else {
function crea_contratto($numero_contratto, &$tipo_contratto, $id_utente, $id_sessione, $origine, $origine_vecchia, $trad_var_vett = "", $set_glob = "")
{
    global $var_predef, $num_var_predef, $num_var_predef_ripeti, $num_ripeti, $tariffa_selezionata, $num_costo_agg_sel, $anno, $pag, $lingua_mex, $LIKE, $ILIKE, $modifica_pers, $vedi_clienti, $dir_salva, $nome_file_contr, $utenti_gruppi;
    global $tablecontratti, $tableclienti, $tablerclientiprenota, $tablepersonalizza, $tableutenti, $tablerelutenti, $tablenazioni, $tableregioni, $tablecitta, $tabledocumentiid, $tableparentele, $tableappartamenti, $tableperiodi;
    global $data_inizio_selezione, $data_fine_selezione, $var_riserv, $var_predef_data, $messaggio_di_errore, $testo_email_richiesta, $num_campi_pers_cliente, $numero_inserimento_pers;
    $n_utenti = esegui_query("select idutenti,nome_utente from {$tableutenti} ");
    for ($num1 = 0; $num1 < numlin_query($n_utenti); $num1++) {
        $n_utente_contr[risul_query($n_utenti, $num1, 'idutenti')] = risul_query($n_utenti, $num1, 'nome_utente');
    }
    if (!$set_glob and $n_r > 100) {
        $unset_glob = 1;
    }
    $data_inizio_selezione_orig = $data_inizio_selezione;
    $data_fine_selezione_orig = $data_fine_selezione;
    for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) {
        for ($num1 = 0; $num1 < $num_var_predef_ripeti; $num1++) {
            if (strcmp($GLOBALS[$var_predef[$num1] . "_" . $n_r], "")) {
                ${$var_predef[$num1] . "_" . $n_r} = $GLOBALS[$var_predef[$num1] . "_" . $n_r];
            }
            if ($unset_glob) {
                unset($GLOBALS[$var_predef[$num1] . "_" . $n_r]);
            }
        }
        # fine for $num1
        if (!$data_primo_arrivo or ${"data_inizio_" . $n_r} < $data_primo_arrivo) {
            $data_primo_arrivo = ${"data_inizio_" . $n_r};
        }
        if (!$data_ultima_partenza or ${"data_fine_" . $n_r} > $data_ultima_partenza) {
            $data_ultima_partenza = ${"data_fine_" . $n_r};
        }
        ${"utente_inserimento_prenotazione" . "_" . $n_r} = $n_utente_contr[${"utente_inserimento_prenotazione" . "_" . $n_r}];
    }
    # fine for $n_r
    if (!$data_inizio_selezione_orig) {
        $data_inizio_selezione = $data_primo_arrivo;
    }
    if (!$data_fine_selezione_orig) {
        $data_fine_selezione = $data_ultima_partenza;
    }
    if ($unset_glob) {
        for ($num1 = $num_var_predef_ripeti; $num1 < $num_var_predef; $num1++) {
            unset($var_predef[$num1]);
        }
    }
    $messaggio_di_errore = "";
    $stile_soldi = stile_soldi($id_utente);
    $stile_data = stile_data($id_utente);
    $dati_app = esegui_query("select * from {$tableappartamenti} order by idappartamenti ");
    $num_unita = numlin_query($dati_app);
    for ($num1 = 1; $num1 <= $num_unita; $num1++) {
        $dati_app_contr[$num1]['nome'] = risul_query($dati_app, $num1 - 1, 'idappartamenti');
        $dati_app_contr[$num1]['casa'] = risul_query($dati_app, $num1 - 1, 'numcasa');
        $dati_app_contr[$num1]['piano'] = risul_query($dati_app, $num1 - 1, 'numpiano');
        $dati_app_contr[$num1]['capacita'] = risul_query($dati_app, $num1 - 1, 'maxoccupanti');
        $dati_app_contr[$num1]['priorita'] = risul_query($dati_app, $num1 - 1, 'priorita');
    }
    # fine for $num1
    unset($dati_app);
    $data_inizio_selezione_orig = $data_inizio_selezione;
    $data_fine_selezione_orig = $data_fine_selezione;
    if ($data_inizio_selezione) {
        $data_inizio_selezione_f = formatta_data_contr($data_inizio_selezione, $stile_data);
    }
    if ($data_fine_selezione) {
        $data_fine_selezione_f = formatta_data_contr($data_fine_selezione, $stile_data);
    }
    $ritorno_a_capo = "\r";
    $avanzamento_riga = "\n";
    $nome_valuta = nome_valuta($id_utente);
    $oggi = date("Y-m-d", time() + C_DIFF_ORE * 3600);
    $oggi_orig = $oggi;
    $oggi_f = formatta_data_contr($oggi, $stile_data);
    if ($lingua_mex) {
        $fr_via = mex("via", $pag);
    }
    if ($testo_email_richiesta) {
        if (get_magic_quotes_gpc()) {
            $testo_email_richiesta = stripslashes($testo_email_richiesta);
        }
        $testo_quotato_email_richiesta_orig = "> " . str_replace("\n", "\n> ", $testo_email_richiesta);
        if ($lingua_mex) {
            $testo_quotato_email_richiesta_orig = "<email_richiesta> " . mex("ha scritto", $pag) . ":\n" . $testo_quotato_email_richiesta_orig;
        }
    } else {
        $testo_quotato_email_richiesta_orig = "";
    }
    $arrotond_tasse = esegui_query("select * from {$tablepersonalizza} where idpersonalizza = 'arrotond_tasse' and idutente = '{$id_utente}'");
    $arrotond_tasse = risul_query($arrotond_tasse, 0, 'valpersonalizza');
    $nome_struttura = esegui_query("select * from {$tablepersonalizza} where idpersonalizza = 'dati_struttura' and idutente = '{$id_utente}'");
    $nome_struttura = explode("#@&", risul_query($nome_struttura, 0, 'valpersonalizza'));
    $tipo_struttura = $nome_struttura[1];
    $email_struttura = $nome_struttura[2];
    $ragione_sociale_struttura = $nome_struttura[3];
    $sito_web_struttura = $nome_struttura[4];
    $nome_contatto_struttura = $nome_struttura[5];
    $nazione_struttura = $nome_struttura[6];
    $comune_struttura = $nome_struttura[7];
    $indirizzo_struttura = $nome_struttura[8];
    $CAP_struttura = $nome_struttura[9];
    $telefono_struttura = $nome_struttura[10];
    $fax_struttura = $nome_struttura[11];
    $codice_fiscale_struttura = $nome_struttura[12];
    $partita_iva_struttura = $nome_struttura[13];
    $numero_stelle_struttura = $nome_struttura[14];
    $logo_struttura = $nome_struttura[15];
    $nome_struttura = $nome_struttura[0];
    $num_contr_vc = $numero_contratto;
    $contr_imp_vc = esegui_query("select testo from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'impor_vc' ");
    if (numlin_query($contr_imp_vc)) {
        $num_contr_vc = risul_query($contr_imp_vc, 0, 'testo');
    }
    $variabili = esegui_query("select * from {$tablecontratti} where tipo = 'var' or tipo = 'var{$num_contr_vc}' order by tipo, numero");
    $num_variabili = numlin_query($variabili);
    $arrays = esegui_query("select * from {$tablecontratti} where tipo = 'vett' or tipo = 'vett{$num_contr_vc}' order by tipo, numero");
    $num_arrays = numlin_query($arrays);
    $condizioni_ini_d = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'ind%' order by tipo, numero");
    $num_condizioni_ini_d = numlin_query($condizioni_ini_d);
    $condizioni_ini_r = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'inr%' order by tipo, numero");
    $num_condizioni_ini_r = numlin_query($condizioni_ini_r);
    $condizioni = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'rpt%' order by tipo, numero");
    $num_condizioni = numlin_query($condizioni);
    $dir_salva = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'dir'");
    if (numlin_query($dir_salva) == 1) {
        $dir_salva = formatta_dir_salva_doc(risul_query($dir_salva, 0, 'testo'));
    } else {
        $dir_salva = "";
    }
    $dati_contratto = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo {$LIKE} 'contr%'");
    $tipo_contratto = risul_query($dati_contratto, 0, 'tipo');
    $contratto_orig = risul_query($dati_contratto, 0, 'testo');
    $contr_multilingua = 0;
    unset($contratti_orig_mln);
    unset($lingue_contr);
    $num_contr_mln = 1;
    if (substr($contratto_orig, 0, 7) == "#!mln!#") {
        $contr_multilingua = 1;
        $contratti_orig_mln['predef'] = substr($contratto_orig, 7);
        $dati_contratti_mln = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo {$LIKE} 'mln_%'");
        $num_contr_mln = numlin_query($dati_contratti_mln);
        for ($num1 = 0; $num1 < $num_contr_mln; $num1++) {
            $lingua_contr = substr(risul_query($dati_contratti_mln, $num1, 'tipo'), 4);
            $lingue_contr[$num1] = $lingua_contr;
            $contratti_orig_mln[$lingua_contr] = risul_query($dati_contratti_mln, $num1, 'testo');
        }
        # fine for $num1
        $contratto_orig = $contratti_orig_mln[$contratti_orig_mln['predef']];
    }
    # fine if (substr($contratto_orig,0,7) == "#!mln!#")
    if ($tipo_contratto == "contrhtm") {
        $tag_b = "<b>";
        $tag_no_b = "</b>";
        $tag_spazio = "&nbsp;";
        $tag_acapo = "<br>";
    }
    # fine if ($tipo_contratto == "contrhtm")
    if ($tipo_contratto == "contreml") {
        $tag_spazio = " ";
        $tag_acapo = "\n";
        $oggetto_email = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'oggetto'");
        $oggetto_email = risul_query($oggetto_email, 0, 'testo');
        $allegato_email = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'allegato'");
        $allegato_email = risul_query($allegato_email, 0, 'testo');
        if ($allegato_email) {
            $allegato_email = esegui_query("select * from {$tablecontratti} where numero = '{$allegato_email}' and tipo = 'file_all'");
            $allegato_email = risul_query($allegato_email, 0, 'testo');
            $allegato_email = explode(",", $allegato_email);
            $allegato_email = $allegato_email[0];
        }
        # fine if ($allegato_email)
        $nome_mittente_email = $nome_contatto_struttura;
        $mittente_email = $email_struttura;
        if ($nome_mittente_email) {
            $mittente_email = "{$nome_mittente_email} &lt;{$mittente_email}&gt;";
        }
    }
    # fine if ($tipo_contratto == "contreml")
    if ($tipo_contratto == "contrrtf") {
        $tag_spazio = " ";
        $tag_acapo = "}\n\\par \\pard\\plain \\ltrpar\\s1\\cf0{\\*\\hyphen2\\hyphlead2\\hyphtrail2\\hyphmax0}\\rtlch\\af3\\afs24\\lang255\\ltrch\\dbch\\af3\\langfe255\\hich\\f0\\fs24\\lang1040\\loch\\f0\\fs24\\lang1040 {\\rtlch \\ltrch\\loch\\f0\\fs24\\lang1040\\i0\\b0 ";
    }
    # fine if ($tipo_contratto == "contrrtf")
    if ($tipo_contratto == "contrtxt") {
        $tag_spazio = " ";
        $tag_acapo = "\n";
    }
    # fine if ($tipo_contratto == "contrtxt")
    if (str_replace("[r]", "", $contratto_orig) == $contratto_orig or $contr_multilingua) {
        $ripeti_tutto = 1;
    } else {
        $ripeti_tutto = 0;
    }
    $nome_file_contr = "";
    $filecontr = "";
    $num_prog_contr = "";
    $num_prog_contr_max = "";
    $incr_np = 0;
    if ($dir_salva) {
        global $nomi_contratti, $num_contr_esist, $nome_file_contr_esist, $cont_salva, $lista_var_form, $num_file_salva, $sovrascrivi, $priv_cancella_contratti;
        $nome_contratto = $nomi_contratti['salv'][$numero_contratto];
        if (get_magic_quotes_gpc()) {
            $sovrascrivi = stripslashes($sovrascrivi);
        }
        if ($priv_cancella_contratti == "n") {
            $sovrascrivi = "";
        }
        if ($ripeti_tutto) {
            $num_file_salva = $num_ripeti;
        } else {
            $num_file_salva = 1;
        }
        $anno_corr = date("Y");
        if ($anno_corr != $anno + 1 or @is_file(C_DATA_PATH . "/selectperiodi{$anno_corr}.1.php")) {
            $anno_corr = $anno;
        }
        $incrementa_num_prog = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'incr_np'");
        if (numlin_query($incrementa_num_prog)) {
            $incr_np = risul_query($incrementa_num_prog, 0, 'testo');
        }
        $lista_var_form = "";
        if (@is_array($_POST)) {
            reset($_POST);
        }
        for ($num1 = 0; $num1 < count($_POST); $num1++) {
            $lista_var_form .= "<input type=\"hidden\" name=\"" . htmlspecialchars(key($_POST)) . "\" value=\"" . htmlspecialchars(strip_magic_slashs($_POST[key($_POST)])) . "\">";
            next($_POST);
        }
        # fine for $num1
        if (@is_array($_GET)) {
            reset($_GET);
        }
        for ($num1 = 0; $num1 < count($_GET); $num1++) {
            $lista_var_form .= "<input type=\"hidden\" name=\"" . htmlspecialchars(key($_GET)) . "\" value=\"" . htmlspecialchars(strip_magic_slashs($_GET[key($_GET)])) . "\">";
            next($_GET);
        }
        # fine for $num1
        $filelock = fopen(C_DATA_PATH . "/crea_contr.lock", "w+");
        flock($filelock, 2);
        if ($tipo_contratto == "contrrtf") {
            $suff_file = "rtf";
        }
        if ($tipo_contratto == "contrhtm") {
            $suff_file = "html";
        }
        if ($tipo_contratto == "contrtxt") {
            $suff_file = "txt";
        }
        for ($num1 = 1; $num1 <= $num_ripeti; $num1++) {
            global ${"id_anni_prec_" . $num1};
            $id_pren[$num1] = ${"numero_prenotazione_" . $num1};
        }
        # fine for $num1
        $num_contr_esist = 0;
        $nome_file_contr_esist = "";
        $n_prog_contr = 0;
        $num_sovrascrivi = 0;
        $num_sovrascrivi_max = 0;
        $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) {
                    $contr_corr_orig = $contr_corr;
                    if (substr($contr_corr, -3) == ".gz") {
                        $contr_corr = substr($contr_corr, 0, -3);
                    }
                    $suff_file_corr = "";
                    if (substr($contr_corr, -4) == ".rtf") {
                        $suff_file_corr = "rtf";
                    }
                    if (substr($contr_corr, -5) == ".html") {
                        $suff_file_corr = "html";
                    }
                    if (substr($contr_corr, -4) == ".txt") {
                        $suff_file_corr = "txt";
                    }
                    if ($suff_file_corr) {
                        $resto_nome_contr = substr($contr_corr, strlen($nome_contratto));
                        if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\\.{$suff_file_corr}/", "", $resto_nome_contr) == "") {
                            $anno_contr = substr($resto_nome_contr, 1, 4);
                            $n_contr_corr = explode("_", $resto_nome_contr);
                            $n_contr_corr = $n_contr_corr[2];
                            $resto_nome_contr = substr($resto_nome_contr, 7 + strlen($n_contr_corr));
                            if (str_replace("-", "", $n_contr_corr) != $n_contr_corr) {
                                $n_contr_corr = explode("-", $n_contr_corr);
                                $n_contr_ini_corr = $n_contr_corr[0];
                                $n_contr_corr = $n_contr_corr[1];
                            } else {
                                $n_contr_ini_corr = 0;
                            }
                            if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) {
                                $n_prog_contr = $n_contr_corr;
                            }
                            if (!$cont_salva and $lista_var_form) {
                                $num_pren_esist = substr($resto_nome_contr, 0, -1 * (strlen($suff_file_corr) + 1));
                                if ($num_pren_esist) {
                                    $num_pren_esist = explode("_", $num_pren_esist);
                                    for ($num1 = 0; $num1 < count($num_pren_esist); $num1++) {
                                        $num_pren_esist2 = explode("-", $num_pren_esist[$num1]);
                                        $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1];
                                        for ($num2 = $num_pren_esist2[0]; $num2 <= $fine_for; $num2++) {
                                            for ($num3 = 1; $num3 <= $num_ripeti; $num3++) {
                                                if ($num2 == $id_pren[$num3] and ($anno_contr == $anno or $anno_contr == $anno_corr) or str_replace(";{$anno_contr},{$num2};", "", ${"id_anni_prec_" . $num3}) != ${"id_anni_prec_" . $num3} and $anno_contr != $anno and $anno_contr != $anno_corr) {
                                                    $num_contr_esist++;
                                                    $nome_file_contr_esist[$num_contr_esist] = $contr_corr_orig;
                                                    if ($contr_corr_orig == $sovrascrivi and $num_file_salva == 1) {
                                                        $num_sovrascrivi_max = $n_contr_corr;
                                                        if ($n_contr_ini_corr) {
                                                            $num_sovrascrivi = $n_contr_ini_corr;
                                                        } else {
                                                            $num_sovrascrivi = $n_contr_corr;
                                                        }
                                                        $anno_corr = $anno_contr;
                                                        unlink($dir_salva . "/" . $contr_corr_orig);
                                                        if ($id_pren[$num3] != $num2) {
                                                            ${"numero_prenotazione_" . $num3} = $num2;
                                                        }
                                                    }
                                                    # fine if ($contr_corr_orig == $sovrascrivi and...
                                                    break 3;
                                                }
                                                # fine if (($num2 == $id_prenota[$num3] and...
                                            }
                                            # fine for $num3
                                        }
                                        # fine for $num2
                                    }
                                    # fine for $num1
                                }
                                # fine if ($num_pren_esist)
                            }
                            # fine if (!$cont_salva and $lista_var_form)
                        }
                        # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file_corr/","",$resto_nome_contr) == "")
                    }
                    # fine if ($suff_file_corr)
                }
                # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto)
            }
            # fine if ($contr_corr != "." and $contr_corr != ".." and...
        }
        # fine while ($contr_corr = readdir($contr_dir))
        closedir($contr_dir);
        if ($num_sovrascrivi) {
            $num_contr_esist = 0;
            if ($incr_np and $num_sovrascrivi_max < $n_prog_contr) {
                $num_prog_contr_max = $num_sovrascrivi_max;
            }
            $n_prog_contr = $num_sovrascrivi - 1;
        }
        # fine if ($num_sovrascrivi)
        if (!$num_sovrascrivi or $incr_np and !$num_prog_contr_max) {
            # se il contratto condivide il numero progressivo con altri contratti
            if (@is_array($nomi_contratti['num_prog'])) {
                $altri_contr_np = $nomi_contratti['num_prog'][$dir_salva . "/" . $nome_contratto];
                if (@is_array($altri_contr_np)) {
                    reset($altri_contr_np);
                    while (list($contr_np, $val_contr) = each($altri_contr_np)) {
                        $nome_contratto_np = explode("/", $contr_np);
                        $nome_contratto_np = $nome_contratto_np[count($nome_contratto_np) - 1];
                        $dir_salva_np = substr($contr_np, 0, -1 * (strlen($nome_contratto_np) + 1));
                        $contr_dir = opendir($dir_salva_np . "/");
                        while ($contr_corr = readdir($contr_dir)) {
                            if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva_np . "/" . $contr_corr)) {
                                if (substr($contr_corr, 0, strlen($nome_contratto_np)) == $nome_contratto_np) {
                                    if (substr($contr_corr, -3) == ".gz") {
                                        $contr_corr = substr($contr_corr, 0, -3);
                                    }
                                    $suff_file_corr = "";
                                    if (substr($contr_corr, -4) == ".rtf") {
                                        $suff_file_corr = "rtf";
                                    }
                                    if (substr($contr_corr, -5) == ".html") {
                                        $suff_file_corr = "html";
                                    }
                                    if (substr($contr_corr, -4) == ".txt") {
                                        $suff_file_corr = "txt";
                                    }
                                    if ($suff_file_corr) {
                                        $resto_nome_contr = substr($contr_corr, strlen($nome_contratto_np));
                                        if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\\.{$suff_file_corr}/", "", $resto_nome_contr) == "") {
                                            $anno_contr = substr($resto_nome_contr, 1, 4);
                                            $n_contr_corr = explode("_", $resto_nome_contr);
                                            $n_contr_corr = $n_contr_corr[2];
                                            if (str_replace("-", "", $n_contr_corr) != $n_contr_corr) {
                                                $n_contr_corr = explode("-", $n_contr_corr);
                                                $n_contr_corr = $n_contr_corr[1];
                                            }
                                            # fine if (str_replace("-","",$n_contr_corr) != $n_contr_corr)
                                            if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) {
                                                if (!$num_sovrascrivi) {
                                                    $n_prog_contr = $n_contr_corr;
                                                } else {
                                                    $num_prog_contr_max = $num_sovrascrivi_max;
                                                    break;
                                                }
                                                # fine else if (!$num_sovrascrivi)
                                            }
                                            # fine if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr)
                                        }
                                        # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\.$suff_file_corr/","",$resto_nome_contr) == "")
                                    }
                                    # fine if ($suff_file_corr)
                                }
                                # fine if (substr($contr_corr,0,strlen($nome_contratto_np)) == $nome_contratto_np)
                            }
                            # fine if ($contr_corr != "." and $contr_corr != ".." and...
                        }
                        # fine while ($fattura_corr = readdir($fatture_dir))
                        closedir($contr_dir);
                    }
                    # fine while (list($contr_np,$val_contr) = each($altri_contr_np))
                }
                # fine if (@is_array($altri_contr_np))
            }
            # fine if (@is_array($nomi_contratti['num_prog']))
        }
        # fine if (!$num_sovrascrivi or ($incr_np and !$num_prog_contr_max))
        if ($num_contr_esist) {
            return 0;
        }
        for ($num1 = 1; $num1 <= $num_file_salva; $num1++) {
            $n_prog_contr++;
            $num_prog_contr[$num1] = $n_prog_contr;
            $nome_file_contr[$num1] = $n_prog_contr;
            for ($num2 = strlen($nome_file_contr[$num1]); $num2 < 5; $num2++) {
                $nome_file_contr[$num1] = "0" . $nome_file_contr[$num1];
            }
            if ($incr_np) {
                $nome_file_contr[$num1] .= " ";
            }
            if ($ripeti_tutto) {
                if (${"numero_prenotazione_" . $num1} and preg_replace("/[0-9]+/", "", ${"numero_prenotazione_" . $num1}) == "") {
                    $nome_file_contr[$num1] .= "_" . ${"numero_prenotazione_" . $num1};
                }
            } else {
                unset($lista_num_prenota);
                for ($num2 = 1; $num2 <= $num_ripeti; $num2++) {
                    if (${"numero_prenotazione_" . $num1} and preg_replace("/[0-9]+/", "", ${"numero_prenotazione_" . $num1}) == "") {
                        $lista_num_prenota[$num2] = ${"numero_prenotazione_" . $num2};
                    }
                }
                # fine for $num2
                if (@is_array($lista_num_prenota)) {
                    asort($lista_num_prenota);
                    reset($lista_num_prenota);
                    $ultimo_num_prenota = -2;
                    while (list($num2, $num_prenota) = each($lista_num_prenota)) {
                        if ($ultimo_num_prenota != $num_prenota) {
                            if ($ultimo_num_prenota < 0) {
                                $nome_file_contr[$num1] .= "_" . $num_prenota . "_";
                                $ultimo_num_prenota = $num_prenota - 1;
                            } else {
                                if ($num_prenota - 1 != $ultimo_num_prenota) {
                                    if (substr($nome_file_contr[$num1], -1) != "_") {
                                        $nome_file_contr[$num1] .= "-" . $ultimo_num_prenota . "_";
                                    }
                                    $nome_file_contr[$num1] .= $num_prenota . "_";
                                } elseif (substr($nome_file_contr[$num1], -1) == "_") {
                                    $nome_file_contr[$num1] = substr($nome_file_contr[$num1], 0, -1);
                                }
                            }
                            # fine else if ($ultimo_num_prenota < 0)
                            $ultimo_num_prenota = $num_prenota;
                        }
                        # fine if ($ultimo_num_prenota != $num_prenota)
                    }
                    # fine while (list($num2,$num_prenota) = each($lista_num_prenota))
                    if (substr($nome_file_contr[$num1], -1) != "_") {
                        $nome_file_contr[$num1] .= "-" . $ultimo_num_prenota;
                    } else {
                        $nome_file_contr[$num1] = substr($nome_file_contr[$num1], 0, -1);
                    }
                }
                # fine (@is_array($lista_num_prenota))
            }
            # fine else if ($ripeti_tutto)
            $nome_file_contr[$num1] = $nome_contratto . "_" . $anno_corr . "_" . $nome_file_contr[$num1] . ".{$suff_file}";
            if (!$incr_np) {
                if ($nomi_contratti['compress'][$numero_contratto]) {
                    $nome_file_contr[$num1] .= ".gz";
                    $lock_compress[$num1] = crea_lock_file($dir_salva . "/" . $nome_file_contr[$num1]);
                    $filecontr[$num1] = gzopen($dir_salva . "/" . $nome_file_contr[$num1], "wb9");
                } else {
                    $filecontr[$num1] = fopen($dir_salva . "/" . $nome_file_contr[$num1], "w+");
                    flock($filecontr[$num1], 2);
                }
                # fine else if ($nomi_contratti['compress'][$numero_contratto])
            } else {
                $filecontr['esist'] = 1;
            }
        }
        # fine for $num1
        if (!$incr_np) {
            flock($filelock, 3);
            fclose($filelock);
            unlink(C_DATA_PATH . "/crea_contr.lock");
        }
        # fine if (!$incr_np)
    }
    # fine if ($dir_salva)
    unset($tablepersonalizza);
    unset($tablecontratti);
    if (!defined('C_ID_UTENTE_CONTR')) {
        define(C_ID_UTENTE_CONTR, $id_utente);
    }
    $utente_attuale = $n_utente_contr[C_ID_UTENTE_CONTR];
    unset($id_utente);
    for ($num1 = 0; $num1 < $num_variabili; $num1++) {
        $nome_var = risul_query($variabili, $num1, 'testo');
        $num_var = risul_query($variabili, $num1, 'numero');
        if (!$var_riserv[$nome_var]) {
            $variabile[$num_var] = $nome_var;
        }
    }
    # fine for $num1
    $variabile['-1'] = "messaggio_di_errore";
    $variabile['-2'] = "errore_ripetizione";
    for ($num1 = 0; $num1 < $num_arrays; $num1++) {
        $nome_arr = explode(";", risul_query($arrays, $num1, 'testo'));
        $var_array = $nome_arr[1];
        $tipo_arr = $nome_arr[2];
        $nome_arr = $nome_arr[0];
        if (!$var_riserv[$nome_arr]) {
            $num_arr = risul_query($arrays, $num1, 'numero');
            $array[$num_arr] = $nome_arr;
            $var_arr[$num_arr] = $var_array;
            $var_arr_nome[$nome_arr] = $var_array;
            $arr_var_esist[$var_array] = "SI";
        }
        # fine if (!$var_riserv[$nome_arr])
    }
    # fine for $num1
    unset($var_riserv);
    for ($num1 = 0; $num1 < $num_condizioni_ini_d; $num1++) {
        $condizione = risul_query($condizioni_ini_d, $num1, 'testo');
        $condizione_ini_d_vett[$num1] = explode("#@?", $condizione);
        $azione_ini_d_vett[$num1] = explode("#%?", $condizione_ini_d_vett[$num1][2]);
        if ($condizione_ini_d_vett[$num1][1]) {
            $condizione_ini_d_vett[$num1] = explode("#\$?", $condizione_ini_d_vett[$num1][1]);
            $num_cond_ini_d_vett[$num1] = count($condizione_ini_d_vett[$num1]);
            for ($num2 = 1; $num2 < $num_cond_ini_d_vett[$num1]; $num2++) {
                $condizione_ini_d_vett[$num1][$num2] = explode("#%?", $condizione_ini_d_vett[$num1][$num2]);
            }
        } else {
            $condizione_vett[$num1] = "";
        }
    }
    # fine for $num1
    for ($num1 = 0; $num1 < $num_condizioni_ini_r; $num1++) {
        $condizione = risul_query($condizioni_ini_r, $num1, 'testo');
        $condizione_ini_r_vett[$num1] = explode("#@?", $condizione);
        $azione_ini_r_vett[$num1] = explode("#%?", $condizione_ini_r_vett[$num1][2]);
        if ($condizione_ini_r_vett[$num1][1]) {
            $condizione_ini_r_vett[$num1] = explode("#\$?", $condizione_ini_r_vett[$num1][1]);
            $num_cond_ini_r_vett[$num1] = count($condizione_ini_r_vett[$num1]);
            for ($num2 = 1; $num2 < $num_cond_ini_r_vett[$num1]; $num2++) {
                $condizione_ini_r_vett[$num1][$num2] = explode("#%?", $condizione_ini_r_vett[$num1][$num2]);
            }
        } else {
            $condizione_vett[$num1] = "";
        }
    }
    # fine for $num1
    for ($num1 = 0; $num1 < $num_condizioni; $num1++) {
        $condizione = risul_query($condizioni, $num1, 'testo');
        $condizione_vett[$num1] = explode("#@?", $condizione);
        $azione_vett[$num1] = explode("#%?", $condizione_vett[$num1][2]);
        if ($condizione_vett[$num1][1]) {
            $condizione_vett[$num1] = explode("#\$?", $condizione_vett[$num1][1]);
            $num_cond_vett[$num1] = count($condizione_vett[$num1]);
            for ($num2 = 1; $num2 < $num_cond_vett[$num1]; $num2++) {
                $condizione_vett[$num1][$num2] = explode("#%?", $condizione_vett[$num1][$num2]);
            }
        } else {
            $condizione_vett[$num1] = "";
        }
    }
    # fine for $num1
    if (!@is_array($trad_var_vett)) {
        $lang_dir = opendir("./includes/lang/");
        while ($ini_lingua = readdir($lang_dir)) {
            if ($ini_lingua != "." && $ini_lingua != ".." && $ini_lingua != $lingua_mex) {
                unset($trad_var);
                include "./includes/lang/{$ini_lingua}/visualizza_contratto_var.php";
                while (list($var_trad_ita, $var_trad_ext) = each($trad_var)) {
                    $trad_var_vett[$var_trad_ext] = $var_trad_ita;
                }
            }
            # fine if ($file != "." && $file != ".." && $ini_lingua != $lingua)
        }
        # fine while ($file = readdir($lang_dig))
        closedir($lang_dir);
        if ($lingua_mex != "ita") {
            unset($trad_var);
            include "./includes/lang/" . $lingua_mex . "/visualizza_contratto_var.php";
            while (list($var_trad_ita, $var_trad_ext) = each($trad_var)) {
                $trad_var_vett[$var_trad_ext] = $var_trad_ita;
            }
        }
        # fine if ($lingua_mex != "ita")
        unset($trad_var);
    }
    # fine if (!@is_array($trad_var_vett))
    while (list($var_trad_ext, $var_trad_ita) = each($trad_var_vett)) {
        if ($var_trad_ita == "campo_personalizzato") {
            for ($num1 = 0; $num1 < $num_campi_pers_cliente; $num1++) {
                $var_trad_ita = $var_predef[$numero_inserimento_pers + $num1];
                $trad_var_vett[$var_trad_ext . "_" . substr($var_trad_ita, 21)] = $var_trad_ita;
            }
            # fine for $num1
        }
        # fine if ($var_trad_ita == "campo_personalizzato")
    }
    # fine while (list($var_trad_ext,$var_trad_ita) = each($trad_var_vett))
    for ($num_mln = 0; $num_mln < $num_contr_mln; $num_mln++) {
        if ($contr_multilingua) {
            $contratto_orig = $contratti_orig_mln[$lingue_contr[$num_mln]];
        }
        reset($trad_var_vett);
        while (list($var_trad_ext, $var_trad_ita) = each($trad_var_vett)) {
            $contratto_orig = str_replace("[" . $var_trad_ext . "]", "[" . $var_trad_ita . "]", $contratto_orig);
            if ($arr_var_esist[$var_trad_ita] == "SI") {
                for ($num1 = 0; $num1 < $num_arrays; $num1++) {
                    $num_arr = risul_query($arrays, $num1, 'numero');
                    if ($var_arr[$num_arr] == $var_trad_ita) {
                        $contratto_orig = str_replace("[" . $array[$num_arr] . "(" . $var_trad_ext . ")]", "[" . $array[$num_arr] . "(" . $var_trad_ita . ")]", $contratto_orig);
                    }
                    # fine if ($var_arr[$num_arr] == $var_trad_ita)
                }
                # fine for $num1
            }
            # fine if ($arr_var_esist[$var_trad_ita] == "SI")
        }
        # fine while (list($var_trad_ext,$var_trad_ita) = each($trad_var_vett))
        while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_orig)) {
            $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_orig, 2);
            $contr_parziale = substr($contratto_orig, strlen($contr_vett[0]));
            $contratto_orig = $contr_vett[0];
            $condizione = preg_split("/\" *\\]/", $contr_parziale, 2);
            $condizione = $condizione[0];
            $contr_parziale = substr($contr_parziale, strlen($condizione) + 1);
            while (substr($contr_parziale, 0, 1) == " ") {
                $contr_parziale = substr($contr_parziale, 1);
            }
            $contr_parziale = substr($contr_parziale, 1);
            $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione));
            $var_if = trim($val_if[0]);
            if (str_replace("(", "", $var_if) != $var_if) {
                $parti_arr = explode("(", substr($var_if, 0, -1));
                $val_var_if = ${$parti_arr[0]}[${$parti_arr[1]}];
                if ($trad_var_vett[$parti_arr[1]]) {
                    $var_if = $parti_arr[0] . "(" . $trad_var_vett[$parti_arr[1]] . ")";
                }
            } elseif ($trad_var_vett[$var_if]) {
                $var_if = $trad_var_vett[$var_if];
            }
            $val_if = $val_if[1];
            if (preg_match("/!= *\"/", $condizione)) {
                $condizione = "[[c] {$var_if}!=\"{$val_if}\"]";
            } else {
                $condizione = "[[c] {$var_if}=\"{$val_if}\"]";
            }
            $contratto_orig .= $condizione;
            $contratto_orig .= $contr_parziale;
        }
        # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]* *!?= *\"[^\"]*\" *\\]/",$contratto_orig))
        $contratto_orig = str_replace("[[c] ", "[c ", $contratto_orig);
        if ($contr_multilingua) {
            $contratti_orig_mln[$lingue_contr[$num_mln]] = $contratto_orig;
        }
    }
    # fine for $num_mln
    unset($trad_var_vett);
    if ($tipo_contratto == "contreml") {
        $contratto .= "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div><br>\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=\"origine\" value=\"" . htmlspecialchars($origine) . "\">\n<input type=\"hidden\" name=\"origine_vecchia\" value=\"" . htmlspecialchars($origine_vecchia) . "\">\n<input type=\"hidden\" name=\"manda_mail\" value=\"SI\">";
        if ($ripeti_tutto) {
            $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"{$num_ripeti}\">";
        } else {
            $email_gia_inviata = 0;
            for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) {
                if (${"email_" . $n_r}) {
                    $cliente = esegui_query("select idclienti from {$tableclienti} where email = '" . aggslashdb(${"email_" . $n_r}) . "' and cognome = '" . aggslashdb(${"cognome_" . $n_r}) . "' and doc_inviati {$ILIKE} '%#@?" . aggslashdb($oggetto_email) . "#@?%' ");
                    if (numlin_query($cliente) >= 1) {
                        $email_gia_inviata = 1;
                        $contratto .= "" . mex("<span class=\"colblu\">Attenzione</span>: una email con lo stesso oggetto è già stata inviata al cliente", $pag) . " " . ${"cognome_" . $n_r} . "<br>";
                    }
                    # fine if (numlin_query($cliente) >= 1)
                }
                # fine if (${"email_".$n_r})
            }
            # fine for $n_r
            if ($email_gia_inviata) {
                $contratto .= "<br>";
            }
            $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"1\">\n<table><tr><td align=\"right\">" . mex("Da", $pag) . ":</td><td>";
            if ($modifica_pers != "NO") {
                $contratto .= "<input type=\"text\" name=\"mittente_email1\" size=\"60\" value=\"{$mittente_email}\">";
            } else {
                $contratto .= "<b>{$mittente_email}</b>";
            }
            $contratto .= "</td></tr><tr><td align=\"right\">\n" . mex("A", $pag) . ":</td><td>\n<input type=\"text\" name=\"destinatario_email1\" size=\"60\" value=\"";
            for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) {
                if (${"email_" . $n_r}) {
                    $contratto .= ${"email_" . $n_r} . ",";
                }
            }
            if (substr($contratto, -1) == ",") {
                $contratto = substr($contratto, 0, -1);
            }
            $contratto .= "\"></td></tr><tr><td align=\"right\">\n" . mex("Oggetto", $pag) . ":</td><td>\n<input type=\"text\" name=\"oggetto_email1\" size=\"60\" value=\"{$oggetto_email}\"></td></tr>";
            if ($allegato_email) {
                $contratto .= "<tr><td></td><td><label><input type=\"checkbox\" name=\"allega1\" value=\"SI\" checked>\n" . mex("Allega", $pag) . " <b>{$allegato_email}</b></label></td></tr>";
            }
            # fine if ($allegato_email)
            $contratto .= "<tr><td style=\"height: 3px;\"></td></tr></table>\n&nbsp;&nbsp;<textarea name=\"testo_email1\" rows=32 cols=90>";
        }
        # fine else if ($ripeti_tutto)
    }
    # fine if ($tipo_contratto == "contreml")
    unset($id_sessione);
    unset($origine);
    # Condizioni applicate all'inizio del documento
    $break_cont = 0;
    for ($num1 = 0; $num1 < $num_condizioni_ini_d; $num1++) {
        $condizione = $condizione_ini_d_vett[$num1];
        $num_se = $num_cond_ini_d_vett[$num1];
        $azione = $azione_ini_d_vett[$num1];
        $cond_verificata = 1;
        if ($break_cont and $azione[0] != "cont") {
            $condizione = "";
            $cond_verificata = 0;
        }
        # fine if ($break_cont and $azione[0] != "cont")
        if ($condizione) {
            if ($condizione[0] == "or") {
                $cond_verificata = 0;
            }
            for ($num2 = 1; $num2 < $num_se; $num2++) {
                $se_cond_corr = $condizione[$num2];
                $var_if = $se_cond_corr[0];
                if (substr($var_if, -1) != ")") {
                    $var_if = ${$var_if};
                } else {
                    $var_if = explode("(", substr($var_if, 0, -1));
                    $var_if = ${$var_if[0]}[${$var_if[1]}];
                }
                # fine else if (substr($var_if,-1) != ")")
                $val_if = $se_cond_corr[3];
                if ($se_cond_corr[2] == "var") {
                    if (substr($val_if, -1) != ")") {
                        $val_if = ${$val_if};
                    } else {
                        $val_if = explode("(", substr($val_if, 0, -1));
                        $val_if = ${$val_if[0]}[${$val_if[1]}];
                    }
                    # fine else if (substr($val_if,-1) != ")")
                }
                # fine if ($se_cond_corr[2] == "var")
                $cond_verificata = 0;
                if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) {
                    $cond_verificata = 1;
                }
                if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) {
                    $cond_verificata = 1;
                }
                if ($condizione[0] == "or" and $cond_verificata) {
                    break;
                }
                if ($condizione[0] == "and" and !$cond_verificata) {
                    break;
                }
            }
            # fine for $num2
        }
        # fine if ($condizione)
        if ($cond_verificata) {
            if ($azione[0] == "set") {
                $val_then = $azione[4];
                if ($azione[3] == "var") {
                    if (substr($val_then, -1) != ")") {
                        if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") {
                            $val_then = formatta_data_contr(${$val_then}, $stile_data);
                        } else {
                            $val_then = ${$val_then};
                        }
                    } else {
                        $val_then = explode("(", substr($val_then, 0, -1));
                        $val_then = ${$val_then[0]}[${$val_then[1]}];
                    }
                    # fine else if (substr($val_then,-1) != ")")
                }
                # fine if ($azione[3] == "var")
                if (strcmp($azione[6], "")) {
                    $txt_sost1 = $azione[6];
                    if ($azione[5] == "var") {
                        if (substr($txt_sost1, -1) != ")") {
                            $txt_sost1 = ${$txt_sost1};
                        } else {
                            $txt_sost1 = explode("(", substr($txt_sost1, 0, -1));
                            $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}];
                        }
                        # fine else if (substr($txt_sost1,-1) != ")")
                    }
                    # fine if ($azione[5] == "var")
                    $txt_sost2 = $azione[8];
                    if ($azione[7] == "var") {
                        if (substr($txt_sost2, -1) != ")") {
                            $txt_sost2 = ${$txt_sost2};
                        } else {
                            $txt_sost2 = explode("(", substr($txt_sost2, 0, -1));
                            $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}];
                        }
                        # fine else if (substr($txt_sost2,-1) != ")")
                    }
                    # fine if ($azione[7] == "var")
                    $val_then = str_replace($txt_sost1, $txt_sost2, $val_then);
                }
                # fine if (strcmp($azione[6],""))
                if ($azione[2] == ".=") {
                    if (substr($azione[1], 0, 1) != "a") {
                        $var_then_orig = ${$variabile[$azione[1]]};
                    } else {
                        $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}];
                    }
                } else {
                    $var_then_orig = "";
                }
                if (substr($azione[1], 0, 1) != "a") {
                    ${$variabile[$azione[1]]} = $var_then_orig . $val_then;
                } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                    ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then;
                    $array_date_contr[$array[substr($azione[1], 1)]] = "";
                }
                # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
            }
            # fine if ($azione[0] == "set")
            if ($azione[0] == "trunc") {
                if (substr($azione[1], 0, 1) != "a") {
                    $var_da_assegnare = ${$variabile[$azione[1]]};
                } else {
                    $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}];
                }
                if (strcmp($azione[3], "")) {
                    while (num_caratteri_testo($var_da_assegnare) < $azione[2]) {
                        if ($azione[4] == "ini") {
                            $var_da_assegnare = $azione[3] . $var_da_assegnare;
                        }
                        if ($azione[4] == "fin") {
                            $var_da_assegnare .= $azione[3];
                        }
                    }
                    # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2])
                }
                # fine if (strcmp($azione[3],""))
                if (substr($azione[1], 0, 1) != "a") {
                    ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]);
                } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                    ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]);
                    $array_date_contr[$array[substr($azione[1], 1)]] = "";
                }
                # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
            }
            # fine if ($azione[0] == "trunc")
            if ($azione[0] == "oper") {
                $cont_oper = "SI";
                $var_con_punti = "NO";
                $var_da_oper = $azione[2];
                if (substr($var_da_oper, -1) != ")") {
                    if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) {
                        $var_da_oper = ${$var_da_oper};
                    } else {
                        $var_da_oper = ${substr($var_da_oper, 0, -2)};
                    }
                } else {
                    $var_da_oper = explode("(", substr($var_da_oper, 0, -1));
                    if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) {
                        $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}];
                    } else {
                        $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}];
                    }
                }
                # fine else if (substr($var_da_oper,-1) != ")")
                $var_da_oper = formatta_soldi($var_da_oper);
                if (controlla_soldi($var_da_oper) == "NO") {
                    $cont_oper = "NO";
                }
                $var_da_oper2 = $azione[5];
                if ($azione[4] == "var") {
                    if (substr($var_da_oper2, -1) != ")") {
                        if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) {
                            $var_da_oper2 = ${$var_da_oper2};
                        } else {
                            $var_da_oper2 = ${substr($var_da_oper2, 0, -2)};
                        }
                    } else {
                        $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1));
                        if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) {
                            $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}];
                        } else {
                            $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}];
                        }
                    }
                    # fine else if (substr($var_da_oper2,-1) != ")")
                }
                # fine if ($azione[4] == "var")
                $var_da_oper2 = formatta_soldi($var_da_oper2);
                if (controlla_soldi($var_da_oper2) == "NO") {
                    $cont_oper = "NO";
                }
                if ($cont_oper != "NO") {
                    if ($azione[3] == "+") {
                        $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2;
                    }
                    if ($azione[3] == "-") {
                        $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2;
                    }
                    if ($azione[3] == "*") {
                        $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2;
                    }
                    if ($azione[3] == "/") {
                        $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2;
                    }
                    if ($azione[6]) {
                        $var_da_assegnare = $var_da_assegnare / (double) $azione[6];
                        $var_da_assegnare = round($var_da_assegnare);
                        $var_da_assegnare = $var_da_assegnare * (double) $azione[6];
                    }
                    # fine if ($azione[6])
                    if (substr($azione[1], 0, 1) != "a") {
                        if (substr($variabile[$azione[1]], -2) != "_p") {
                            ${$variabile[$azione[1]]} = $var_da_assegnare;
                        } else {
                            ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2);
                        }
                    } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                        $array_date_contr[$array[substr($azione[1], 1)]] = "";
                        if (substr($array[substr($azione[1], 1)], -2) != "_p") {
                            ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare;
                        } else {
                            ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2);
                        }
                    }
                    # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                }
                # fine if ($cont_oper != "NO")
            }
            # fine if ($azione[0] == "oper")
            if ($azione[0] == "date") {
                $cont_oper = 1;
                $var_da_oper = $azione[2];
                if (substr($var_da_oper, -1) != ")") {
                    $var_da_oper = ${$var_da_oper};
                } else {
                    $var_da_oper = explode("(", substr($var_da_oper, 0, -1));
                    $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}];
                }
                # fine else if (substr($var_da_oper,-1) != ")")
                $var_da_oper = substr($var_da_oper, 0, 10);
                if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) {
                    if ($stile_data == "usa") {
                        $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2);
                    } else {
                        $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2);
                    }
                }
                # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper))
                if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) {
                    $cont_oper = 0;
                }
                if ($cont_oper) {
                    if ($azione[3] == "gi") {
                        $var_da_assegnare = "d";
                    }
                    if ($azione[3] == "me") {
                        $var_da_assegnare = "m";
                    }
                    if ($azione[3] == "an") {
                        $var_da_assegnare = "Y";
                    }
                    if ($azione[3] == "gs") {
                        $var_da_assegnare = "w";
                    }
                    if ($azione[3] == "is") {
                        $var_da_assegnare = "Y-m-d";
                    }
                    if ($azione[3] == "da") {
                        if ($stile_data == "usa") {
                            $var_da_assegnare = "m-d-Y";
                        } else {
                            $var_da_assegnare = "d-m-Y";
                        }
                    }
                    # fine if ($azione[3] == "da")
                    $txt_sost1 = 0;
                    $num2 = 0;
                    $num3 = 0;
                    if ($azione[5] == "g") {
                        $txt_sost1 = $azione[4];
                    }
                    if ($azione[5] == "m") {
                        $num2 = $azione[4];
                    }
                    if ($azione[5] == "a") {
                        $num3 = $azione[4];
                    }
                    $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3));
                    if (substr($azione[1], 0, 1) != "a") {
                        ${$variabile[$azione[1]]} = $var_da_assegnare;
                    } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                        if ($azione[3] != "is") {
                            $array_date_contr[$array[substr($azione[1], 1)]] = "";
                        }
                        ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare;
                    }
                    # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                }
                # fine if ($cont_oper)
            }
            # fine if ($azione[0] == "date")
            if ($azione[0] == "unset") {
                unset(${$array[substr($azione[1], 1)]});
                $array_date_contr[$array[substr($azione[1], 1)]] = "";
            }
            # fine if ($azione[0] == "unset")
            if ($azione[0] == "array") {
                $nome_arr = $array[substr($azione[1], 1)];
                if ($azione[2] == "val") {
                    unset(${$nome_arr});
                    $array_date_contr[$nome_arr] = "";
                    $lista_val = explode(",", $azione[3]);
                    $num_lista_val = count($lista_val);
                    for ($num2 = 1; $num2 <= $num_lista_val; $num2++) {
                        ${$nome_arr}[$num2] = $lista_val[$num2 - 1];
                    }
                }
                # fine if ($azione[2] == "val")
                if ($azione[2] == "dat" or $azione[2] == "dap") {
                    unset(${$nome_arr});
                    if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) {
                        $array_date_contr[$nome_arr] = "SI";
                        if ($azione[2] == "dat") {
                            $data_corr_arr = $data_inizio_selezione_orig;
                            $txt_sost1 = $data_fine_selezione_orig;
                        }
                        # fine if ($azione[2] == "dat")
                        if ($azione[2] == "dap") {
                            $data_corr_arr = $data_primo_arrivo;
                            $txt_sost1 = $data_ultima_partenza;
                        }
                        # fine if ($azione[2] == "dap")
                        $num2 = 1;
                        ${$nome_arr}[$num2] = $data_corr_arr;
                        while ($data_corr_arr != $txt_sost1) {
                            $num2++;
                            $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4)));
                            ${$nome_arr}[$num2] = $data_corr_arr;
                        }
                        # fine while ($data_corr_arr != $txt_sost1)
                    }
                    # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or...
                }
                # fine if ($azione[2] == "dat" or $azione[2] == "dap")
                if ($azione[2] == "cop") {
                    $lista_val = ${$array[substr($azione[3], 1)]};
                    ${$nome_arr} = $lista_val;
                    $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]];
                }
                # fine if ($azione[2] == "cop")
            }
            # fine if ($azione[0] == "array")
            if ($azione[0] == "break") {
                if ($azione[1] == "cont") {
                    $break_cont = 1;
                } else {
                    break;
                }
            }
            # fine if ($azione[0] == "break")
            if ($azione[0] == "cont") {
                $break_cont = 0;
            }
        }
        # fine if ($cond_verificata)
    }
    # fine for $num1
    unset($condizione_ini_d_vett);
    unset($num_cond_ini_d_vett);
    unset($azione_ini_d_vett);
    if ($ripeti_tutto) {
        $contratto_parte0[1] = $contratto_orig;
        $ripeti_parte0[1] = "NO";
        $tipo_parte0 = "";
        $num_parti0_contr = 1;
    } else {
        if ($dir_salva) {
            $numero_progressivo_documento = $num_prog_contr[1];
        }
        $num_parti0_contr = 0;
        $contratto_vett = explode("[", $contratto_orig);
        $num_contratto_vett = count($contratto_vett);
        $livello = 0;
        $contratto_presente = $contratto_vett[0];
        for ($num1 = 1; $num1 < $num_contratto_vett; $num1++) {
            $parte = $contratto_vett[$num1];
            $apertura = "";
            $chiusura = "";
            if (substr($parte, 0, 2) == "r]") {
                $apertura = "r";
            }
            if (substr($parte, 0, 10) == "r4 array=\"") {
                $parte_vett = explode("\"]", substr($parte, 10));
                if (strcmp($parte_vett[0], "")) {
                    if (!strcmp(preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parte_vett[0]), "")) {
                        $apertura = "r4 array=\"" . $parte_vett[0] . "\"";
                    }
                }
                # fine if (strcmp($parte_vett[0],""))
            }
            # fine if (substr($parte,0,10) == "r4 array=\"")
            if (substr($parte, 0, 3) == "r6]") {
                $apertura = "r6";
            }
            if (substr($parte, 0, 3) == "/r]") {
                $chiusura = "r";
            }
            if (substr($parte, 0, 4) == "/r4]") {
                $chiusura = "r4";
            }
            if (substr($parte, 0, 4) == "/r6]") {
                $chiusura = "r6";
            }
            if ($apertura) {
                $livello++;
                if ($livello == 1 and (substr($apertura, 0, 2) == "r4" or $apertura == "r6")) {
                    if (strcmp($contratto_presente, "")) {
                        $num_parti0_contr++;
                        $contratto_parte0[$num_parti0_contr] = $contratto_presente;
                        $ripeti_parte0[$num_parti0_contr] = "NO";
                    }
                    # fine if (strcmp($contratto_presente,""))
                    $contratto_presente = substr($contratto_vett[$num1], strlen($apertura) + 1);
                    $var_arr_presente = substr($apertura, 10, -1);
                } else {
                    $apertura = "";
                }
            }
            # fine ($apertura)
            if ($chiusura) {
                if ($livello == 1 and ($chiusura == "r4" or $chiusura == "r6")) {
                    if (strcmp($contratto_presente, "")) {
                        $num_parti0_contr++;
                        $contratto_parte0[$num_parti0_contr] = $contratto_presente;
                        $ripeti_parte0[$num_parti0_contr] = "SI";
                        if ($chiusura == "r4") {
                            $tipo_parte0[$num_parti0_contr] = "4";
                            $arr_parte0[$num_parti0_contr] = $var_arr_presente;
                        }
                        # fine if ($chiusura == "r4")
                        if ($chiusura == "r6") {
                            $tipo_parte0[$num_parti0_contr] = "6";
                        }
                    }
                    # fine if (strcmp($contratto_presente,""))
                    $contratto_presente = substr($contratto_vett[$num1], strlen($chiusura) + 2);
                } else {
                    $chiusura = "";
                }
                $livello--;
            }
            # fine if ($chiusura)
            if (!$apertura and !$chiusura) {
                $contratto_presente .= "[" . $contratto_vett[$num1];
            }
        }
        # fine for $num1
        if (strcmp($contratto_presente, "")) {
            $num_parti0_contr++;
            $contratto_parte0[$num_parti0_contr] = $contratto_presente;
            $ripeti_parte0[$num_parti0_contr] = "NO";
        }
        # fine if (strcmp($contratto_presente,""))
    }
    # fine else if ($ripeti_tutto)
    # parti n_p0: parti del contratto se c'è una ripetizione di array o unità esternamente
    for ($n_p0 = 1; $n_p0 <= $num_parti0_contr; $n_p0++) {
        $contratto_orig0 = $contratto_parte0[$n_p0];
        unset($contratto_parte);
        if (str_replace("[r]", "", $contratto_orig0) == $contratto_orig0 or $contr_multilingua) {
            $contratto_parte[1] = $contratto_orig0;
            if ($ripeti_tutto) {
                $ripeti_parte[1] = "SI";
            } else {
                $ripeti_parte[1] = "NO";
            }
            $num_parti_contr = 1;
        } else {
            $num_parti_contr = 0;
            $contratto_restante = $contratto_orig0;
            while (str_replace("[r]", "", $contratto_restante) != $contratto_restante) {
                $contr_vett = explode("[r]", $contratto_restante);
                if ($contr_vett[0] != "") {
                    $num_parti_contr++;
                    $contratto_parte[$num_parti_contr] = $contr_vett[0];
                    $ripeti_parte[$num_parti_contr] = "NO";
                }
                # fine if ($contr_vett[0] != "")
                $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 3);
                $contr_vett = explode("[/r]", $contratto_restante);
                $num_parti_contr++;
                $contratto_parte[$num_parti_contr] = $contr_vett[0];
                $ripeti_parte[$num_parti_contr] = "SI";
                $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 4);
            }
            # fine while (str_replace("[r]","",$contratto_restante) != $contratto_restante)
            if ($contratto_restante != "") {
                $num_parti_contr++;
                $contratto_parte[$num_parti_contr] = $contratto_restante;
                $ripeti_parte[$num_parti_contr] = "NO";
            }
            # fine if ($contratto_restante != "")
        }
        # fine else if (str_replace("[r]","",$contratto_orig0) == $contratto_orig0 or $contr_multilingua)
        if ($ripeti_parte0[$n_p0] == "NO") {
            $num_ripeti0 = 1;
        } else {
            $num_ripeti0 = 0;
            if ($tipo_parte0[$n_p0] == "6") {
                $num_ripeti0 = $num_unita;
            }
            if ($tipo_parte0[$n_p0] == "4" and @is_array(${$arr_parte0[$n_p0]})) {
                $num_ripeti0 = count(${$arr_parte0[$n_p0]});
                reset(${$arr_parte0[$n_p0]});
            }
            # fine if ($tipo_parte0[$n_p0] == "4" and @is_array(${$arr_parte0[$n_p0]}))
        }
        # fine else if ($ripeti_parte0[$n_p0] == "NO")
        # ripetizione n_r0: ripetere parte del contratto se esternamente c'è una ripetizione di array o unità
        for ($n_r0 = 1; $n_r0 <= $num_ripeti0; $n_r0++) {
            $ripeti_prenota_data = "";
            if ($ripeti_parte0[$n_p0] != "NO") {
                if ($tipo_parte0[$n_p0] == "6") {
                    $nome_unita = $dati_app_contr[$n_r0]['nome'];
                    $casa_unita = $dati_app_contr[$n_r0]['casa'];
                    $piano_unita = $dati_app_contr[$n_r0]['piano'];
                    $capacita_unita = $dati_app_contr[$n_r0]['capacita'];
                    $priorita_unita = $dati_app_contr[$n_r0]['priorita'];
                } else {
                    $nome_unita = "";
                    $casa_unita = "";
                    $piano_unita = "";
                    $capacita_unita = "";
                    $priorita_unita = "";
                }
                # fine else if ($tipo_parte0[$n_p0] == "6")
                if ($tipo_parte0[$n_p0] == "4") {
                    ${$var_arr_nome[$arr_parte0[$n_p0]]} = key(${$arr_parte0[$n_p0]});
                    if ($array_date_contr[$arr_parte0[$n_p0]] == "SI") {
                        $ripeti_prenota_data = current(${$arr_parte0[$n_p0]});
                    }
                    next(${$arr_parte0[$n_p0]});
                }
                # fine if ($tipo_parte0[$n_p0] == "4")
            }
            # fine if ($ripeti_parte0[$n_p0] != "NO")
            # parti n_p: parti del contratto se ci sono ripetizioni prenotazioni
            for ($n_p = 1; $n_p <= $num_parti_contr; $n_p++) {
                $numero_ripetizione_prenotazioni = 1;
                if ($ripeti_parte[$n_p] == "SI") {
                    $costo_tot_somma_ripetizioni = 0;
                    $caparra_somma_ripetizioni = 0;
                    $resto_caparra_somma_ripetizioni = 0;
                    $pagato_somma_ripetizioni = 0;
                    $resto_da_pagare_somma_ripetizioni = 0;
                    $num_persone_tot_somma_ripetizioni = 0;
                    $numero_ripetizione_prenotazioni_orig = 0;
                    # Condizioni applicate all'inizio di ogni ripetizione di prenotazioni
                    $break_cont = 0;
                    for ($num1 = 0; $num1 < $num_condizioni_ini_r; $num1++) {
                        $condizione = $condizione_ini_r_vett[$num1];
                        $num_se = $num_cond_ini_r_vett[$num1];
                        $azione = $azione_ini_r_vett[$num1];
                        $cond_verificata = 1;
                        if ($break_cont and $azione[0] != "cont") {
                            $condizione = "";
                            $cond_verificata = 0;
                        }
                        # fine if ($break_cont and $azione[0] != "cont")
                        if ($condizione) {
                            if ($condizione[0] == "or") {
                                $cond_verificata = 0;
                            }
                            for ($num2 = 1; $num2 < $num_se; $num2++) {
                                $se_cond_corr = $condizione[$num2];
                                $var_if = $se_cond_corr[0];
                                if (substr($var_if, -1) != ")") {
                                    $var_if = ${$var_if};
                                } else {
                                    $var_if = explode("(", substr($var_if, 0, -1));
                                    $var_if = ${$var_if[0]}[${$var_if[1]}];
                                }
                                # fine else if (substr($var_if,-1) != ")")
                                $val_if = $se_cond_corr[3];
                                if ($se_cond_corr[2] == "var") {
                                    if (substr($val_if, -1) != ")") {
                                        $val_if = ${$val_if};
                                    } else {
                                        $val_if = explode("(", substr($val_if, 0, -1));
                                        $val_if = ${$val_if[0]}[${$val_if[1]}];
                                    }
                                    # fine else if (substr($val_if,-1) != ")")
                                }
                                # fine if ($se_cond_corr[2] == "var")
                                $cond_verificata = 0;
                                if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) {
                                    $cond_verificata = 1;
                                }
                                if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) {
                                    $cond_verificata = 1;
                                }
                                if ($condizione[0] == "or" and $cond_verificata) {
                                    break;
                                }
                                if ($condizione[0] == "and" and !$cond_verificata) {
                                    break;
                                }
                            }
                            # fine for $num2
                        }
                        # fine if ($condizione)
                        if ($cond_verificata) {
                            if ($azione[0] == "set") {
                                $val_then = $azione[4];
                                if ($azione[3] == "var") {
                                    if (substr($val_then, -1) != ")") {
                                        if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") {
                                            $val_then = formatta_data_contr(${$val_then}, $stile_data);
                                        } else {
                                            $val_then = ${$val_then};
                                        }
                                    } else {
                                        $val_then = explode("(", substr($val_then, 0, -1));
                                        $val_then = ${$val_then[0]}[${$val_then[1]}];
                                    }
                                    # fine else if (substr($val_then,-1) != ")")
                                }
                                # fine if ($azione[3] == "var")
                                if (strcmp($azione[6], "")) {
                                    $txt_sost1 = $azione[6];
                                    if ($azione[5] == "var") {
                                        if (substr($txt_sost1, -1) != ")") {
                                            $txt_sost1 = ${$txt_sost1};
                                        } else {
                                            $txt_sost1 = explode("(", substr($txt_sost1, 0, -1));
                                            $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}];
                                        }
                                        # fine else if (substr($txt_sost1,-1) != ")")
                                    }
                                    # fine if ($azione[5] == "var")
                                    $txt_sost2 = $azione[8];
                                    if ($azione[7] == "var") {
                                        if (substr($txt_sost2, -1) != ")") {
                                            $txt_sost2 = ${$txt_sost2};
                                        } else {
                                            $txt_sost2 = explode("(", substr($txt_sost2, 0, -1));
                                            $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}];
                                        }
                                        # fine else if (substr($txt_sost2,-1) != ")")
                                    }
                                    # fine if ($azione[7] == "var")
                                    $val_then = str_replace($txt_sost1, $txt_sost2, $val_then);
                                }
                                # fine if (strcmp($azione[6],""))
                                if ($azione[2] == ".=") {
                                    if (substr($azione[1], 0, 1) != "a") {
                                        $var_then_orig = ${$variabile[$azione[1]]};
                                    } else {
                                        $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}];
                                    }
                                } else {
                                    $var_then_orig = "";
                                }
                                if (substr($azione[1], 0, 1) != "a") {
                                    ${$variabile[$azione[1]]} = $var_then_orig . $val_then;
                                } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                    ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then;
                                    $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                }
                                # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                            }
                            # fine if ($azione[0] == "set")
                            if ($azione[0] == "trunc") {
                                if (substr($azione[1], 0, 1) != "a") {
                                    $var_da_assegnare = ${$variabile[$azione[1]]};
                                } else {
                                    $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}];
                                }
                                if (strcmp($azione[3], "")) {
                                    while (num_caratteri_testo($var_da_assegnare) < $azione[2]) {
                                        if ($azione[4] == "ini") {
                                            $var_da_assegnare = $azione[3] . $var_da_assegnare;
                                        }
                                        if ($azione[4] == "fin") {
                                            $var_da_assegnare .= $azione[3];
                                        }
                                    }
                                    # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2])
                                }
                                # fine if (strcmp($azione[3],""))
                                if (substr($azione[1], 0, 1) != "a") {
                                    ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]);
                                } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                    ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]);
                                    $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                }
                                # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                            }
                            # fine if ($azione[0] == "trunc")
                            if ($azione[0] == "oper") {
                                $cont_oper = "SI";
                                $var_con_punti = "NO";
                                $var_da_oper = $azione[2];
                                if (substr($var_da_oper, -1) != ")") {
                                    if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) {
                                        $var_da_oper = ${$var_da_oper};
                                    } else {
                                        $var_da_oper = ${substr($var_da_oper, 0, -2)};
                                    }
                                } else {
                                    $var_da_oper = explode("(", substr($var_da_oper, 0, -1));
                                    if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) {
                                        $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}];
                                    } else {
                                        $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}];
                                    }
                                }
                                # fine else if (substr($var_da_oper,-1) != ")")
                                $var_da_oper = formatta_soldi($var_da_oper);
                                if (controlla_soldi($var_da_oper) == "NO") {
                                    $cont_oper = "NO";
                                }
                                $var_da_oper2 = $azione[5];
                                if ($azione[4] == "var") {
                                    if (substr($var_da_oper2, -1) != ")") {
                                        if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) {
                                            $var_da_oper2 = ${$var_da_oper2};
                                        } else {
                                            $var_da_oper2 = ${substr($var_da_oper2, 0, -2)};
                                        }
                                    } else {
                                        $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1));
                                        if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) {
                                            $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}];
                                        } else {
                                            $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}];
                                        }
                                    }
                                    # fine else if (substr($var_da_oper2,-1) != ")")
                                }
                                # fine if ($azione[4] == "var")
                                $var_da_oper2 = formatta_soldi($var_da_oper2);
                                if (controlla_soldi($var_da_oper2) == "NO") {
                                    $cont_oper = "NO";
                                }
                                if ($cont_oper != "NO") {
                                    if ($azione[3] == "+") {
                                        $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2;
                                    }
                                    if ($azione[3] == "-") {
                                        $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2;
                                    }
                                    if ($azione[3] == "*") {
                                        $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2;
                                    }
                                    if ($azione[3] == "/") {
                                        $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2;
                                    }
                                    if ($azione[6]) {
                                        $var_da_assegnare = $var_da_assegnare / (double) $azione[6];
                                        $var_da_assegnare = round($var_da_assegnare);
                                        $var_da_assegnare = $var_da_assegnare * (double) $azione[6];
                                    }
                                    # fine if ($azione[6])
                                    if (substr($azione[1], 0, 1) != "a") {
                                        if (substr($variabile[$azione[1]], -2) != "_p") {
                                            ${$variabile[$azione[1]]} = $var_da_assegnare;
                                        } else {
                                            ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2);
                                        }
                                    } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                        $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                        if (substr($array[substr($azione[1], 1)], -2) != "_p") {
                                            ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare;
                                        } else {
                                            ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2);
                                        }
                                    }
                                    # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                                }
                                # fine if ($cont_oper != "NO")
                            }
                            # fine if ($azione[0] == "oper")
                            if ($azione[0] == "date") {
                                $cont_oper = 1;
                                $var_da_oper = $azione[2];
                                if (substr($var_da_oper, -1) != ")") {
                                    $var_da_oper = ${$var_da_oper};
                                } else {
                                    $var_da_oper = explode("(", substr($var_da_oper, 0, -1));
                                    $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}];
                                }
                                # fine else if (substr($var_da_oper,-1) != ")")
                                $var_da_oper = substr($var_da_oper, 0, 10);
                                if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) {
                                    if ($stile_data == "usa") {
                                        $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2);
                                    } else {
                                        $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2);
                                    }
                                }
                                # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper))
                                if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) {
                                    $cont_oper = 0;
                                }
                                if ($cont_oper) {
                                    if ($azione[3] == "gi") {
                                        $var_da_assegnare = "d";
                                    }
                                    if ($azione[3] == "me") {
                                        $var_da_assegnare = "m";
                                    }
                                    if ($azione[3] == "an") {
                                        $var_da_assegnare = "Y";
                                    }
                                    if ($azione[3] == "gs") {
                                        $var_da_assegnare = "w";
                                    }
                                    if ($azione[3] == "is") {
                                        $var_da_assegnare = "Y-m-d";
                                    }
                                    if ($azione[3] == "da") {
                                        if ($stile_data == "usa") {
                                            $var_da_assegnare = "m-d-Y";
                                        } else {
                                            $var_da_assegnare = "d-m-Y";
                                        }
                                    }
                                    # fine if ($azione[3] == "da")
                                    $txt_sost1 = 0;
                                    $num2 = 0;
                                    $num3 = 0;
                                    if ($azione[5] == "g") {
                                        $txt_sost1 = $azione[4];
                                    }
                                    if ($azione[5] == "m") {
                                        $num2 = $azione[4];
                                    }
                                    if ($azione[5] == "a") {
                                        $num3 = $azione[4];
                                    }
                                    $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3));
                                    if (substr($azione[1], 0, 1) != "a") {
                                        ${$variabile[$azione[1]]} = $var_da_assegnare;
                                    } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                        if ($azione[3] != "is") {
                                            $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                        }
                                        ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare;
                                    }
                                    # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                                }
                                # fine if ($cont_oper)
                            }
                            # fine if ($azione[0] == "date")
                            if ($azione[0] == "unset") {
                                unset(${$array[substr($azione[1], 1)]});
                                $array_date_contr[$array[substr($azione[1], 1)]] = "";
                            }
                            # fine if ($azione[0] == "unset")
                            if ($azione[0] == "array") {
                                $nome_arr = $array[substr($azione[1], 1)];
                                if ($azione[2] == "val") {
                                    unset(${$nome_arr});
                                    $array_date_contr[$nome_arr] = "";
                                    $lista_val = explode(",", $azione[3]);
                                    $num_lista_val = count($lista_val);
                                    for ($num2 = 1; $num2 <= $num_lista_val; $num2++) {
                                        ${$nome_arr}[$num2] = $lista_val[$num2 - 1];
                                    }
                                }
                                # fine if ($azione[2] == "val")
                                if ($azione[2] == "dat" or $azione[2] == "dap") {
                                    unset(${$nome_arr});
                                    if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) {
                                        $array_date_contr[$nome_arr] = "SI";
                                        if ($azione[2] == "dat") {
                                            $data_corr_arr = $data_inizio_selezione_orig;
                                            $txt_sost1 = $data_fine_selezione_orig;
                                        }
                                        # fine if ($azione[2] == "dat")
                                        if ($azione[2] == "dap") {
                                            $data_corr_arr = $data_primo_arrivo;
                                            $txt_sost1 = $data_ultima_partenza;
                                        }
                                        # fine if ($azione[2] == "dap")
                                        $num2 = 1;
                                        ${$nome_arr}[$num2] = $data_corr_arr;
                                        while ($data_corr_arr != $txt_sost1) {
                                            $num2++;
                                            $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4)));
                                            ${$nome_arr}[$num2] = $data_corr_arr;
                                        }
                                        # fine while ($data_corr_arr != $txt_sost1)
                                    }
                                    # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or...
                                }
                                # fine if ($azione[2] == "dat" or $azione[2] == "dap")
                                if ($azione[2] == "cop") {
                                    $lista_val = ${$array[substr($azione[3], 1)]};
                                    ${$nome_arr} = $lista_val;
                                    $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]];
                                }
                                # fine if ($azione[2] == "cop")
                            }
                            # fine if ($azione[0] == "array")
                            if ($azione[0] == "break") {
                                if ($azione[1] == "cont") {
                                    $break_cont = 1;
                                } else {
                                    break;
                                }
                            }
                            # fine if ($azione[0] == "break")
                            if ($azione[0] == "cont") {
                                $break_cont = 0;
                            }
                        }
                        # fine if ($cond_verificata)
                    }
                    # fine for $num1
                    # ripetizione n_r: se c'è da ripetere la parte del contratto per ogni prenotazione
                    for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) {
                        if (!$ripeti_prenota_data or ${"data_fine" . "_" . $n_r} >= $ripeti_prenota_data and ${"data_inizio" . "_" . $n_r} <= $ripeti_prenota_data) {
                            for ($num1 = 0; $num1 < $num_var_predef_ripeti; $num1++) {
                                ${$var_predef[$num1]} = ${$var_predef[$num1] . "_" . $n_r};
                            }
                            # fine for $num1
                            $numero_ripetizione_prenotazioni_orig++;
                            $numero_ripetizione_prenotazioni = $numero_ripetizione_prenotazioni_orig;
                            if ($dir_salva and $ripeti_tutto and (!$numero_progressivo_documento or $numero_progressivo_documento < $num_prog_contr[$n_r])) {
                                $numero_progressivo_documento = $num_prog_contr[$n_r];
                            }
                            if ($tariffa_selezionata) {
                                $c_tot_selez = "c_tot_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$c_tot_selez};
                                if (${$c_tot_selez}) {
                                    $costo_tot = ${$c_tot_selez};
                                }
                                $c_tariffa_selez = "c_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$c_tariffa_selez};
                                if (${$c_tariffa_selez}) {
                                    $costo_tariffa = ${$c_tariffa_selez};
                                }
                                $tarsett_tariffa_selez = "tarsett_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$tarsett_tariffa_selez};
                                if (${$tarsett_tariffa_selez}) {
                                    global ${"tariffesettimanali_" . $n_r};
                                    ${"tariffesettimanali_" . $n_r} = ${$tarsett_tariffa_selez};
                                }
                                # fine if ($$tarsett_tariffa_selez)
                                $n_tariffa_selez = "n_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$n_tariffa_selez};
                                if (${$n_tariffa_selez}) {
                                    $nome_tariffa = ${$n_tariffa_selez};
                                }
                                $perctas_tariffa_selez = "perctas_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$perctas_tariffa_selez};
                                if (${$perctas_tariffa_selez}) {
                                    $percentuale_tasse_tariffa = ${$perctas_tariffa_selez};
                                }
                                $cap_tariffa_selez = "cap_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$cap_tariffa_selez};
                                if (${$cap_tariffa_selez}) {
                                    $caparra = ${$cap_tariffa_selez};
                                }
                                $comm_tariffa_selez = "comm_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$comm_tariffa_selez};
                                if (${$comm_tariffa_selez}) {
                                    $commissioni = ${$comm_tariffa_selez};
                                }
                                $n_letti_agg_tariffa_selez = "n_letti_agg_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$n_letti_agg_tariffa_selez};
                                if (${$n_letti_agg_tariffa_selez}) {
                                    $n_letti_agg = ${$n_letti_agg_tariffa_selez};
                                }
                                $numpers_tariffa_selez = "numpers_tariffa_selez" . $tariffa_selezionata . "_" . $n_r;
                                global ${$numpers_tariffa_selez};
                                if (${$numpers_tariffa_selez}) {
                                    $num_persone = ${$numpers_tariffa_selez};
                                }
                                $num_costi_aggiuntivi_tsel = "num_costi_aggiuntivi_tsel" . $tariffa_selezionata . "_" . $n_r;
                                global ${$num_costi_aggiuntivi_tsel};
                                if (${$num_costi_aggiuntivi_tsel}) {
                                    $num_costi_aggiuntivi = ${$num_costi_aggiuntivi_tsel};
                                    for ($numca = 0; $numca < $num_costi_aggiuntivi; $numca++) {
                                        $nome_costo_agg_tsel = "nome_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r;
                                        $val_costo_agg_tsel = "val_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r;
                                        $perc_tasse_costo_agg_tsel = "percentuale_tasse_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r;
                                        $molt_max_costo_agg_tsel = "moltiplica_max_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r;
                                        $giorni_costo_agg_tsel = "giorni_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r;
                                        global ${$nome_costo_agg_tsel}, ${$val_costo_agg_tsel}, ${$perc_tasse_costo_agg_tsel}, ${$molt_max_costo_agg_tsel}, ${$giorni_costo_agg_tsel};
                                        ${"nome_costo_agg" . $numca . "_" . $n_r} = ${$nome_costo_agg_tsel};
                                        ${"val_costo_agg" . $numca . "_" . $n_r} = ${$val_costo_agg_tsel};
                                        ${"percentuale_tasse_costo_agg" . $numca . "_" . $n_r} = ${$perc_tasse_costo_agg_tsel};
                                        ${"moltiplica_max_costo_agg" . $numca . "_" . $n_r} = ${$molt_max_costo_agg_tsel};
                                        ${"giorni_costo_agg" . $numca . "_" . $n_r} = trasforma_id_in_date(${$giorni_costo_agg_tsel}, $date_id, $tableperiodi);
                                    }
                                    # fine for $numca
                                }
                                # fine if ($$num_costi_aggiuntivi_tsel)
                            }
                            # fine if ($tariffa_selezionata)
                            if ($ripeti_prenota_data) {
                                if (!strcmp($tariffesettimanali[$n_r][$ripeti_prenota_data], "")) {
                                    global ${"tariffesettimanali_" . $n_r};
                                    $var_if = explode(";", ${"tariffesettimanali_" . $n_r});
                                    $var_if = explode(",", $var_if[0]);
                                    $num2 = count($var_if);
                                    for ($num1 = 0; $num1 <= $num2; $num1++) {
                                        if (date("Y-m-d", mktime(0, 0, 0, substr($data_inizio, 5, 2), substr($data_inizio, 8, 2) + $num1, substr($data_inizio, 0, 4))) == $ripeti_prenota_data) {
                                            if (!$var_if[$num1]) {
                                                $tariffesettimanali[$n_r][$ripeti_prenota_data] = 0;
                                            } else {
                                                $tariffesettimanali[$n_r][$ripeti_prenota_data] = $var_if[$num1];
                                            }
                                            break;
                                        }
                                        # fine if (date("Y-m-d",mktime(0,0,0,substr($data_inizio,5,2),(substr($data_inizio,8,2) + $num1),substr($data_inizio,0,4))) == $ripeti_prenota_data)
                                    }
                                    # fine for $num1
                                }
                                # fine if (!strcmp($tariffesettimanali[$n_r][$ripeti_prenota_data],""))
                                $costo_tariffa_giorno_array = $tariffesettimanali[$n_r][$ripeti_prenota_data];
                                $costo_tariffa_giorno_array_p = punti_in_num($costo_tariffa_giorno_array, $stile_soldi);
                            }
                            # fine if ($ripeti_prenota_data)
                            $tutti_i_costi_agg = "";
                            $tutti_i_costi_agg_p = "";
                            $valore_tutti_costi_agg = (double) 0;
                            for ($numca = 0; $numca < $num_costi_aggiuntivi; $numca++) {
                                $nome_costo_agg = "nome_costo_agg" . $numca . "_" . $n_r;
                                $val_costo_agg = "val_costo_agg" . $numca . "_" . $n_r;
                                $percentuale_tasse_costo_agg = "percentuale_tasse_costo_agg" . $numca . "_" . $n_r;
                                $moltiplica_max_costo_agg = "moltiplica_max_costo_agg" . $numca . "_" . $n_r;
                                $giorni_costo_agg = "giorni_costo_agg" . $numca . "_" . $n_r;
                                $data_inserimento_costo_agg = "data_inserimento_costo_agg" . $numca . "_" . $n_r;
                                $utente_inserimento_costo_agg = "utente_inserimento_costo_agg" . $numca . "_" . $n_r;
                                if (!strcmp(${$nome_costo_agg}, "") and !strcmp(${$val_costo_agg}, "")) {
                                    ${$nome_costo_agg} = $GLOBALS[$nome_costo_agg];
                                    ${$val_costo_agg} = $GLOBALS[$val_costo_agg];
                                    ${$percentuale_tasse_costo_agg} = $GLOBALS[$percentuale_tasse_costo_agg];
                                    ${$moltiplica_max_costo_agg} = $GLOBALS[$moltiplica_max_costo_agg];
                                    ${$giorni_costo_agg} = $GLOBALS[$giorni_costo_agg];
                                    ${$data_inserimento_costo_agg} = $GLOBALS[$data_inserimento_costo_agg];
                                    ${$utente_inserimento_costo_agg} = $n_utente_contr[$GLOBALS[$utente_inserimento_costo_agg]];
                                    if ($unset_glob) {
                                        unset($GLOBALS[$nome_costo_agg]);
                                        unset($GLOBALS[$val_costo_agg]);
                                        unset($GLOBALS[$percentuale_tasse_costo_agg]);
                                        unset($GLOBALS[$moltiplica_max_costo_agg]);
                                        unset($GLOBALS[$giorni_costo_agg]);
                                        unset($GLOBALS[$data_inserimento_costo_agg]);
                                        unset($GLOBALS[$utente_inserimento_costo_agg]);
                                    }
                                    # fine if ($unset_glob)
                                }
                                # fine if (!strcmp($$nome_costo_agg,"") and !strcmp($$val_costo_agg,""))
                                $nome_costo_agg = ${$nome_costo_agg};
                                $val_costo_agg = ${$val_costo_agg};
                                $percentuale_tasse_costo_agg = ${$percentuale_tasse_costo_agg};
                                $moltiplica_max_costo_agg = ${$moltiplica_max_costo_agg};
                                ${$giorni_costo_agg} = trasforma_id_in_date(${$giorni_costo_agg}, $date_id, $tableperiodi);
                                $giorni_costo_agg = ${$giorni_costo_agg};
                                $data_inserimento_costo_agg = ${$data_inserimento_costo_agg};
                                $utente_inserimento_costo_agg = ${$utente_inserimento_costo_agg};
                                $val_costo_agg_p = punti_in_num($val_costo_agg, $stile_soldi);
                                $tutti_i_costi_agg .= "{$nome_costo_agg}: {$val_costo_agg}{$tag_acapo}";
                                $tutti_i_costi_agg_p .= "{$nome_costo_agg}: {$val_costo_agg_p}{$tag_acapo}";
                                $valore_tutti_costi_agg = (double) $valore_tutti_costi_agg + (double) $val_costo_agg;
                                calcola_tasse_contr($val_costo_agg, $percentuale_tasse_costo_agg, $arrotond_tasse, $tasse_costo_agg, $tasse_costo_agg_p, $val_costo_agg_senza_tasse, $val_costo_agg_senza_tasse_p, $stile_soldi);
                                if (str_replace(",", "", $moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) {
                                    $moltiplica_max_costo_agg = explode(",", $moltiplica_max_costo_agg);
                                    rsort($moltiplica_max_costo_agg);
                                    $moltiplica_max_costo_agg = $moltiplica_max_costo_agg[0];
                                }
                                # fine if (str_replace(",","",$moltiplica_max_costo_agg) != $moltiplica_max_costo_agg)
                                if ($num_costo_agg_sel == $numca) {
                                    $nome_costo_agg_sel = $nome_costo_agg;
                                    $valore_costo_agg_sel = $val_costo_agg;
                                    $valore_costo_agg_sel_p = $val_costo_agg_p;
                                    $percentuale_tasse_costo_agg_sel = $percentuale_tasse_costo_agg;
                                    $tasse_costo_agg_sel = $tasse_costo_agg;
                                    $tasse_costo_agg_sel_p = $tasse_costo_agg_p;
                                    $moltiplica_max_costo_agg_sel = $moltiplica_max_costo_agg;
                                }
                                # fine if ($num_costo_agg_sel == $numca)
                            }
                            # fine for $numca
                            $valore_tutti_costi_agg_p = punti_in_num($valore_tutti_costi_agg, $stile_soldi);
                            $tutti_i_pagamenti = "";
                            $tutti_i_pagamenti_p = "";
                            for ($num1 = 0; $num1 < $num_pagamenti; $num1++) {
                                $saldo_paga = "saldo_paga" . $num1 . "_" . $n_r;
                                $data_paga = "data_paga" . $num1 . "_" . $n_r;
                                $utente_paga = "utente_paga" . $num1 . "_" . $n_r;
                                $metodo_paga = "metodo_paga" . $num1 . "_" . $n_r;
                                if (!strcmp(${$saldo_paga}, "") and !strcmp(${$data_paga}, "") and !strcmp(${$metodo_paga}, "")) {
                                    ${$saldo_paga} = $GLOBALS[$saldo_paga];
                                    ${$data_paga} = $GLOBALS[$data_paga];
                                    ${$utente_paga} = $n_utente_contr[$GLOBALS[$utente_paga]];
                                    if (strcmp($GLOBALS[$metodo_paga], "")) {
                                        ${$metodo_paga} = $GLOBALS[$metodo_paga];
                                    }
                                    if ($unset_glob) {
                                        unset($GLOBALS[$saldo_paga]);
                                        unset($GLOBALS[$data_paga]);
                                        unset($GLOBALS[$utente_paga]);
                                        unset($GLOBALS[$metodo_paga]);
                                    }
                                    # fine if ($unset_glob)
                                }
                                # fine if (!strcmp($$saldo_paga,"") and !strcmp($$data_paga,"") and !strcmp($$metodo_paga,""))
                                $data_paga_f = formatta_data_contr(${$data_paga}, $stile_data);
                                $saldo_paga_p = punti_in_num(${$saldo_paga}, $stile_soldi);
                                $tutti_i_pagamenti .= str_replace(" ", "{$tag_spazio}", $data_paga_f . "  " . ${$saldo_paga} . " {$nome_valuta}  " . ${$metodo_paga});
                                $tutti_i_pagamenti_p .= str_replace(" ", "{$tag_spazio}", $data_paga_f . "  " . $saldo_paga_p . " {$nome_valuta}  " . ${$metodo_paga});
                                if ($num1 + 1 != $num_pagamenti) {
                                    $tutti_i_pagamenti .= $tag_acapo;
                                    $tutti_i_pagamenti_p .= $tag_acapo;
                                }
                                # fine if (($num1 + 1) != $num_pagamenti)
                            }
                            # fine for $num1
                            $valore_ultimo_pagamento = ${"saldo_paga" . ($num_pagamenti - 1) . "_" . $n_r};
                            $valore_ultimo_pagamento_p = punti_in_num($valore_ultimo_pagamento, $stile_soldi);
                            $data_ultimo_pagamento = formatta_data_contr(${"data_paga" . ($num_pagamenti - 1) . "_" . $n_r}, $stile_data);
                            $utente_ultimo_pagamento = ${"utente_paga" . ($num_pagamenti - 1) . "_" . $n_r};
                            $metodo_ultimo_pagamento = ${"metodo_paga" . ($num_pagamenti - 1) . "_" . $n_r};
                            if ($costo_tot) {
                                $costo_tot_somma_ripetizioni = $costo_tot_somma_ripetizioni + $costo_tot;
                            }
                            if ($caparra) {
                                $caparra_somma_ripetizioni = $caparra_somma_ripetizioni + $caparra;
                            }
                            if ($costo_tot) {
                                $resto_caparra_somma_ripetizioni = $resto_caparra_somma_ripetizioni + $costo_tot;
                            }
                            if ($caparra) {
                                $resto_caparra_somma_ripetizioni = $resto_caparra_somma_ripetizioni - $caparra;
                            }
                            if ($pagato) {
                                $pagato_somma_ripetizioni = $pagato_somma_ripetizioni + $pagato;
                            }
                            if ($costo_tot) {
                                $resto_da_pagare_somma_ripetizioni = $resto_da_pagare_somma_ripetizioni + $costo_tot;
                            }
                            if ($pagato) {
                                $resto_da_pagare_somma_ripetizioni = $resto_da_pagare_somma_ripetizioni - $pagato;
                            }
                            if ($num_persone != "non specificato" and $num_persone != "") {
                                $num_persone_tot_somma_ripetizioni = $num_persone_tot_somma_ripetizioni + $num_persone;
                            }
                            if ($n_letti_agg) {
                                $num_persone_tot_somma_ripetizioni = $num_persone_tot_somma_ripetizioni + $n_letti_agg;
                            }
                            if ($costo_tot and $caparra) {
                                $resto_caparra = $costo_tot - $caparra;
                                $resto_caparra_p = punti_in_num($resto_caparra, $stile_soldi);
                            }
                            # fine if ($costo_tot and $caparra)
                            if ($costo_tot and $commissioni) {
                                $resto_commissioni = $costo_tot - $commissioni;
                                $resto_commissioni_p = punti_in_num($resto_commissioni, $stile_soldi);
                            }
                            # fine if ($costo_tot and $commissioni)
                            if ($costo_tot) {
                                $resto_da_pagare = $costo_tot - $pagato;
                                $resto_da_pagare_p = punti_in_num($resto_da_pagare, $stile_soldi);
                            }
                            # fine if ($costo_tot)
                            $nome_orig = $nome;
                            $soprannome_orig = $soprannome;
                            $cognome_orig = $cognome;
                            $data_nascita_orig = $data_nascita;
                            $documento_orig = $documento;
                            $nazione_orig = $nazione;
                            $regione_orig = $regione;
                            $citta_orig = $citta;
                            $via_orig = $via;
                            $numcivico_orig = $numcivico;
                            $telefono_orig = $telefono;
                            $telefono2_orig = $telefono2;
                            $telefono3_orig = $telefono3;
                            $fax_orig = $fax;
                            $email_orig = $email;
                            $cap_orig = $cap;
                            $codice_fiscale_orig = $codice_fiscale;
                            $partita_iva_orig = $partita_iva;
                            $num_persone_orig = $num_persone;
                            $caparra_orig = $caparra;
                            $commissioni_orig = $commissioni;
                            $data_inizio_orig = $data_inizio;
                            $data_fine_orig = $data_fine;
                            $num_periodi_orig = $num_periodi;
                            $orario_entrata_stimato_orig = $orario_entrata_stimato;
                            $nome_tariffa_orig = $nome_tariffa;
                            $costo_tariffa_orig = $costo_tariffa;
                            $sconto_orig = $sconto;
                            $percentuale_tasse_tariffa_orig = $percentuale_tasse_tariffa;
                            $commento_orig = $commento;
                            $origine_prenotazione_orig = $origine_prenotazione;
                            $unita_occupata_orig = $unita_occupata;
                            $unita_assegnabili_orig = $unita_assegnabili;
                            $pagato_orig = $pagato;
                            $costo_tot_orig = $costo_tot;
                            $n_letti_agg_orig = $n_letti_agg;
                            $numero_prenotazione_orig = $numero_prenotazione;
                            $data_inserimento_prenotazione_orig = $data_inserimento_prenotazione;
                            $codice_cittadinanza = trova_codice_rel($cittadinanza, $rel_esist, "nazione", "nazioni", $codice2_cittadinanza, $codice3_cittadinanza, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_nazione_nascita = trova_codice_rel($nazione_nascita, $rel_esist, "nazione", "nazioni", $codice2_nazione_nascita, $codice3_nazione_nascita, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_regione_nascita = trova_codice_rel($regione_nascita, $rel_esist, "regione", "regioni", $codice2_regione_nascita, $codice3_regione_nascita, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_citta_nascita = trova_codice_rel($citta_nascita, $rel_esist, "citta", "citta", $codice2_citta_nascita, $codice3_citta_nascita, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_nazione = trova_codice_rel($nazione, $rel_esist, "nazione", "nazioni", $codice2_nazione, $codice3_nazione, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_regione = trova_codice_rel($regione, $rel_esist, "regione", "regioni", $codice2_regione, $codice3_regione, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_citta = trova_codice_rel($citta, $rel_esist, "citta", "citta", $codice2_citta, $codice3_citta, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_tipo_documento = trova_codice_rel($tipo_documento, $rel_esist, "documentoid", "documentiid", $codice2_tipo_documento, $codice3_tipo_documento, $tabledocumentiid, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_citta_documento = trova_codice_rel($citta_documento, $rel_esist, "citta", "citta", $codice2_citta_documento, $codice3_citta_documento, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_regione_documento = trova_codice_rel($regione_documento, $rel_esist, "regione", "regioni", $codice2_regione_documento, $codice3_regione_documento, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            $codice_nazione_documento = trova_codice_rel($nazione_documento, $rel_esist, "nazione", "nazioni", $codice2_nazione_documento, $codice3_nazione_documento, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR);
                            calcola_tasse_contr($costo_tariffa, $percentuale_tasse_tariffa, $arrotond_tasse, $tasse_tariffa, $tasse_tariffa_p, $costo_tariffa_senza_tasse, $costo_tariffa_senza_tasse_p, $stile_soldi);
                            calcola_tasse_contr($sconto, $percentuale_tasse_tariffa, $arrotond_tasse, $tasse_sconto, $tasse_sconto_p, $sconto_senza_tasse, $sconto_senza_tasse_p, $stile_soldi);
                            $apertura_rip_contr = "";
                            $chiusura_rip_contr = "";
                            $contratto_ripetizione = "";
                            $errore_ripetizione = "";
                            if ($ripeti_tutto) {
                                $email_gia_inviata = 0;
                            }
                            if ($tipo_contratto == "contreml" and $ripeti_tutto) {
                                if (${"email_" . $n_r}) {
                                    $cliente = esegui_query("select idclienti from {$tableclienti} where email = '" . aggslashdb(${"email_" . $n_r}) . "' and cognome = '" . aggslashdb(${"cognome_" . $n_r}) . "' and doc_inviati {$ILIKE} '%#@?" . aggslashdb($oggetto_email) . "#@?%' ");
                                    if (numlin_query($cliente) >= 1) {
                                        $email_gia_inviata = 1;
                                        $apertura_rip_contr .= "" . mex("<span class=\"colblu\">Attenzione</span>: una email con lo stesso oggetto è già stata inviata al cliente", $pag) . " " . ${"cognome_" . $n_r} . "<br><br>";
                                    }
                                    # fine if (numlin_query($cliente) >= 1)
                                }
                                # fine if (${"email_".$n_r})
                                $apertura_rip_contr .= "<table><tr><td align=\"right\">" . mex("Da", $pag) . ":</td><td>";
                                if ($modifica_pers != "NO") {
                                    $apertura_rip_contr .= "<input type=\"text\" name=\"mittente_email{$n_r}\" size=\"60\" value=\"{$mittente_email}\">";
                                } else {
                                    $apertura_rip_contr .= "<b>{$mittente_email}</b>";
                                }
                                $apertura_rip_contr .= "</td></tr><tr><td align=\"right\">\n" . mex("A", $pag) . ":</td><td>\n<input type=\"text\" name=\"destinatario_email{$n_r}\" size=\"60\" value=\"" . ${"email_" . $n_r} . "\">\n</td></tr><tr><td align=\"right\">\n" . mex("Oggetto", $pag) . ":</td><td>\n<input type=\"text\" name=\"oggetto_email{$n_r}\" size=\"60\" value=\"{$oggetto_email}\"></td></tr>";
                                if ($allegato_email) {
                                    $apertura_rip_contr .= "<tr><td></td><td><label><input type=\"checkbox\" name=\"allega{$n_r}\" value=\"SI\" checked>\n" . mex("Allega", $pag) . " <b>{$allegato_email}</b></label></td></tr>";
                                }
                                # fine if ($allegato_email)
                                $apertura_rip_contr .= "<tr><td style=\"height: 3px;\"></td></tr></table>\n&nbsp;&nbsp;<textarea name=\"testo_email{$n_r}\" rows=32 cols=90>";
                                $chiusura_rip_contr .= "</textarea><br>\n<table><tr><td style=\"height: 3px;\"></td></tr></table>\n<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">";
                            }
                            # fine if ($tipo_contratto == "contreml" and $ripeti_tutto)
                            if ($contr_multilingua) {
                                if (!$codice_lingua) {
                                    $contratto_parte[1] = $contratti_orig_mln[$contratti_orig_mln['predef']];
                                } else {
                                    if (!strcmp($contratti_orig_mln[$codice_lingua], "")) {
                                        $contratto_parte[1] = $contratti_orig_mln[$contratti_orig_mln['predef']];
                                    } else {
                                        $contratto_parte[1] = $contratti_orig_mln[$codice_lingua];
                                    }
                                }
                                # fine else if (!$codice_lingua)
                            }
                            # fine if ($contr_multilingua)
                            # Ripetizioni per gli ospiti, costi aggiuntivi, array e unità all'interno di ogni prenotazione
                            unset($contratto_parte2);
                            if (str_replace("[r2]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and str_replace("[r3]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and !preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_parte[$n_p]) and str_replace("[r5]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and str_replace("[r6]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p]) {
                                $contratto_parte2[1] = $contratto_parte[$n_p];
                                $ripeti_parte2[1] = "NO";
                                $num_parti2_contr = 1;
                            } else {
                                $num_parti2_contr = 0;
                                $contratto_restante = $contratto_parte[$n_p];
                                while (str_replace("[r2]", "", $contratto_restante) != $contratto_restante or str_replace("[r3]", "", $contratto_restante) != $contratto_restante or preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante) or str_replace("[r5]", "", $contratto_restante) != $contratto_restante or str_replace("[r6]", "", $contratto_restante) != $contratto_restante) {
                                    $contr_vett2 = explode("[r2]", $contratto_restante);
                                    $contr_vett3 = explode("[r3]", $contratto_restante);
                                    $contr_vett4 = preg_split("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante);
                                    $contr_vett5 = explode("[r5]", $contratto_restante);
                                    $contr_vett6 = explode("[r6]", $contratto_restante);
                                    $l0_cv2 = strlen($contr_vett2[0]);
                                    $l0_cv3 = strlen($contr_vett3[0]);
                                    $l0_cv4 = strlen($contr_vett4[0]);
                                    $l0_cv5 = strlen($contr_vett5[0]);
                                    $l0_cv6 = strlen($contr_vett6[0]);
                                    if ($l0_cv2 > $l0_cv6 and $l0_cv3 > $l0_cv6 and $l0_cv4 > $l0_cv6 and $l0_cv5 > $l0_cv6) {
                                        $contr_vett = $contr_vett6;
                                        $tipo_contr_vett = 6;
                                    } else {
                                        if ($l0_cv2 > $l0_cv5 and $l0_cv3 > $l0_cv5 and $l0_cv4 > $l0_cv5) {
                                            $contr_vett = $contr_vett5;
                                            $tipo_contr_vett = 5;
                                        } else {
                                            if ($l0_cv2 > $l0_cv4 and $l0_cv3 > $l0_cv4) {
                                                $contr_vett = $contr_vett4;
                                                $tipo_contr_vett = 4;
                                            } else {
                                                if ($l0_cv2 > $l0_cv3) {
                                                    $contr_vett = $contr_vett3;
                                                    $tipo_contr_vett = 3;
                                                } else {
                                                    $contr_vett = $contr_vett2;
                                                    $tipo_contr_vett = 2;
                                                }
                                                # fine else if ($l0_cv2 > $l0_cv3)
                                            }
                                            # fine else if ($l0_cv2 > $l0_cv4 and $l0_cv3 > $l0_cv4)
                                        }
                                        # fine else if ($l0_cv2 > $l0_cv5 and $l0_cv3 > $l0_cv5 and $l0_cv4 > $l0_cv5)
                                    }
                                    # fine else if ($l0_cv2 > $l0_cv6 and $l0_cv3 > $l0_cv6 and $l0_cv4 > $l0_cv6 and $l0_cv5 > $l0_cv6)
                                    if ($contr_vett[0] != "") {
                                        $num_parti2_contr++;
                                        $contratto_parte2[$num_parti2_contr] = $contr_vett[0];
                                        $ripeti_parte2[$num_parti2_contr] = "NO";
                                    }
                                    # fine if ($contr_vett[0] != "")
                                    $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]));
                                    if ($tipo_contr_vett == 4) {
                                        $arr_ripeti = explode("\"]", $contratto_restante, 2);
                                        $arr_ripeti = str_replace("[r4 array=\"", "", $arr_ripeti[0]);
                                        $contratto_restante = substr($contratto_restante, strlen("[r4 array=\"{$arr_ripeti}\"]"));
                                    } else {
                                        $contratto_restante = substr($contratto_restante, 4);
                                    }
                                    $contr_vett = explode("[/r" . $tipo_contr_vett . "]", $contratto_restante);
                                    $num_parti2_contr++;
                                    $contratto_parte2[$num_parti2_contr] = $contr_vett[0];
                                    $ripeti_parte2[$num_parti2_contr] = "SI";
                                    $tipo_parte2[$num_parti2_contr] = $tipo_contr_vett;
                                    if ($tipo_contr_vett == 4) {
                                        $arr_parte2[$num_parti2_contr] = $arr_ripeti;
                                    }
                                    $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 5);
                                }
                                # fine while (str_replace("[r2]","",$contratto_restante) != $contratto_restante or...
                                if ($contratto_restante != "") {
                                    $num_parti2_contr++;
                                    $contratto_parte2[$num_parti2_contr] = $contratto_restante;
                                    $ripeti_parte2[$num_parti2_contr] = "NO";
                                }
                                # fine if ($contratto_restante != "")
                            }
                            # fine else if (str_replace("[r2]","",$contratto_parte[$n_p]) == $contratto_parte[$n_p] and...
                            # parti n_p2: parti del contratto se ci sono ripetizioni ospiti, costi agg o array interni
                            for ($n_p2 = 1; $n_p2 <= $num_parti2_contr; $n_p2++) {
                                if ($ripeti_parte2[$n_p2] != "SI") {
                                    $num_ripeti2 = 1;
                                } else {
                                    if ($tipo_parte2[$n_p2] == 2) {
                                        $ospiti = esegui_query("select idclienti,parentela from {$tablerclientiprenota} where idprenota = '" . aggslashdb($numero_prenotazione_orig) . "' order by num_ordine ");
                                        $num_ripeti2 = numlin_query($ospiti);
                                        $num_ospiti_tot = $num_ripeti2;
                                    }
                                    # fine if ($tipo_parte2[$n_p2] == 2)
                                    if ($tipo_parte2[$n_p2] == 3) {
                                        $num_ripeti2 = $num_costi_aggiuntivi;
                                    }
                                    if ($tipo_parte2[$n_p2] == 4) {
                                        if (@is_array(${$arr_parte2[$n_p2]})) {
                                            $num_ripeti2 = count(${$arr_parte2[$n_p2]});
                                            reset(${$arr_parte2[$n_p2]});
                                        } else {
                                            $num_ripeti2 = 0;
                                        }
                                    }
                                    # fine if ($tipo_parte2[$n_p2] == 4)
                                    if ($tipo_parte2[$n_p2] == 5) {
                                        $num_ripeti2 = $num_pagamenti;
                                    }
                                    if ($tipo_parte2[$n_p2] == 6) {
                                        $num_ripeti2 = $num_unita;
                                    }
                                }
                                # fine else if ($ripeti_parte2[$n_p2] != "SI")
                                # ripetizione n_r2: se c'è da ripetere la parte del contratto per ospiti, costi agg, array o unità interni
                                for ($n_r2 = 1; $n_r2 <= $num_ripeti2; $n_r2++) {
                                    $mostra_ripetizione = 1;
                                    if ($ripeti_parte2[$n_p2] == "SI") {
                                        if ($tipo_parte2[$n_p2] == 2) {
                                            $numero_ospite = $n_r2;
                                            $idospite = risul_query($ospiti, $n_r2 - 1, 'idclienti');
                                            $parentela_ospite = risul_query($ospiti, $n_r2 - 1, 'parentela');
                                            $dati_osp = esegui_query("select * from {$tableclienti} where idclienti = '{$idospite}' ");
                                            $utente_ospite = risul_query($dati_osp, 0, 'utente_inserimento');
                                            $cognome_ospite = "";
                                            $nome_ospite = "";
                                            $soprannome_ospite = "";
                                            $titolo_ospite = "";
                                            $sesso_ospite = "";
                                            $data_nascita_ospite = "";
                                            $citta_nascita_ospite = "";
                                            $regione_nascita_ospite = "";
                                            $nazione_nascita_ospite = "";
                                            $cittadinanza_ospite = "";
                                            $nazione_ospite = "";
                                            $regione_ospite = "";
                                            $citta_ospite = "";
                                            $via_ospite = "";
                                            $numcivico_ospite = "";
                                            $cap_ospite = "";
                                            $documento_ospite = "";
                                            $tipo_documento_ospite = "";
                                            $citta_documento_ospite = "";
                                            $regione_documento_ospite = "";
                                            $nazione_documento_ospite = "";
                                            $scadenza_documento_ospite = "";
                                            $telefono_ospite = "";
                                            $telefono2_ospite = "";
                                            $telefono3_ospite = "";
                                            $fax_ospite = "";
                                            $email_ospite = "";
                                            $codice_fiscale_ospite = "";
                                            $partita_iva_ospite = "";
                                            if (numlin_query($dati_osp) == 1 and $vedi_clienti != "NO" and ($vedi_clienti != "PROPRI" or $utente_ospite == C_ID_UTENTE) and ($vedi_clienti != "GRUPPI" or $utenti_gruppi[$utente_ospite])) {
                                                $cognome_ospite = risul_query($dati_osp, 0, 'cognome');
                                                $nome_ospite = risul_query($dati_osp, 0, 'nome');
                                                $soprannome_ospite = risul_query($dati_osp, 0, 'soprannome');
                                                $titolo_ospite = risul_query($dati_osp, 0, 'titolo');
                                                $sesso_ospite = risul_query($dati_osp, 0, 'sesso');
                                                $data_nascita_ospite = risul_query($dati_osp, 0, 'datanascita');
                                                $citta_nascita_ospite = risul_query($dati_osp, 0, 'cittanascita');
                                                $regione_nascita_ospite = risul_query($dati_osp, 0, 'regionenascita');
                                                $nazione_nascita_ospite = risul_query($dati_osp, 0, 'nazionenascita');
                                                $cittadinanza_ospite = risul_query($dati_osp, 0, 'nazionalita');
                                                $nazione_ospite = risul_query($dati_osp, 0, 'nazione');
                                                $regione_ospite = risul_query($dati_osp, 0, 'regione');
                                                $citta_ospite = risul_query($dati_osp, 0, 'citta');
                                                $via_ospite = risul_query($dati_osp, 0, 'via');
                                                $numcivico_ospite = risul_query($dati_osp, 0, 'numcivico');
                                                $cap_ospite = risul_query($dati_osp, 0, 'cap');
                                                $documento_ospite = risul_query($dati_osp, 0, 'documento');
                                                $tipo_documento_ospite = risul_query($dati_osp, 0, 'tipodoc');
                                                $citta_documento_ospite = risul_query($dati_osp, 0, 'cittadoc');
                                                $regione_documento_ospite = risul_query($dati_osp, 0, 'regionedoc');
                                                $nazione_documento_ospite = risul_query($dati_osp, 0, 'nazionedoc');
                                                $scadenza_documento_ospite = risul_query($dati_osp, 0, 'scadenzadoc');
                                                $telefono_ospite = risul_query($dati_osp, 0, 'telefono');
                                                $telefono2_ospite = risul_query($dati_osp, 0, 'telefono2');
                                                $telefono3_ospite = risul_query($dati_osp, 0, 'telefono3');
                                                $fax_ospite = risul_query($dati_osp, 0, 'fax');
                                                $email_ospite = risul_query($dati_osp, 0, 'email');
                                                $codice_fiscale_ospite = risul_query($dati_osp, 0, 'cod_fiscale');
                                                $partita_iva_ospite = risul_query($dati_osp, 0, 'partita_iva');
                                            }
                                            # fine if (numlin_query($dati_osp) == 1 and...
                                            $codice_cittadinanza_ospite = trova_codice_rel($cittadinanza_ospite, $rel_esist, "nazione", "nazioni", $codice2_cittadinanza_ospite, $codice3_cittadinanza_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE);
                                            $codice_parentela_ospite = trova_codice_rel($parentela_ospite, $rel_esist, "parentela", "parentele", $codice2_parentela_ospite, $codice3_parentela_ospite, $tableparentele, $tablerelutenti, C_ID_UTENTE);
                                            $codice_nazione_nascita_ospite = trova_codice_rel($nazione_nascita_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_nascita_ospite, $codice3_nazione_nascita_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE);
                                            $codice_regione_nascita_ospite = trova_codice_rel($regione_nascita_ospite, $rel_esist, "regione", "regioni", $codice2_regione_nascita_ospite, $codice3_regione_nascita_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE);
                                            $codice_citta_nascita_ospite = trova_codice_rel($citta_nascita_ospite, $rel_esist, "citta", "citta", $codice2_citta_nascita_ospite, $codice3_citta_nascita_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE);
                                            $codice_nazione_ospite = trova_codice_rel($nazione_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_ospite, $codice3_nazione_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE);
                                            $codice_regione_ospite = trova_codice_rel($regione_ospite, $rel_esist, "regione", "regioni", $codice2_regione_ospite, $codice3_regione_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE);
                                            $codice_citta_ospite = trova_codice_rel($citta_ospite, $rel_esist, "citta", "citta", $codice2_citta_ospite, $codice3_citta_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE);
                                            $codice_tipo_documento_ospite = trova_codice_rel($tipo_documento_ospite, $rel_esist, "documentoid", "documentiid", $codice2_tipo_documento_ospite, $codice3_tipo_documento_ospite, $tabledocumentiid, $tablerelutenti, C_ID_UTENTE);
                                            $codice_citta_documento_ospite = trova_codice_rel($citta_documento_ospite, $rel_esist, "citta", "citta", $codice2_citta_documento_ospite, $codice3_citta_documento_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE);
                                            $codice_regione_documento_ospite = trova_codice_rel($regione_documento_ospite, $rel_esist, "regione", "regioni", $codice2_regione_documento_ospite, $codice3_regione_documento_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE);
                                            $codice_nazione_documento_ospite = trova_codice_rel($nazione_documento_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_documento_ospite, $codice3_nazione_documento_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE);
                                        } else {
                                            $numero_ospite = 0;
                                        }
                                        if ($tipo_parte2[$n_p2] == 3) {
                                            $numca = $n_r2 - 1;
                                            $nome_costo_agg = "nome_costo_agg" . $numca . "_" . $n_r;
                                            $val_costo_agg = "val_costo_agg" . $numca . "_" . $n_r;
                                            $percentuale_tasse_costo_agg = "percentuale_tasse_costo_agg" . $numca . "_" . $n_r;
                                            $moltiplica_max_costo_agg = "moltiplica_max_costo_agg" . $numca . "_" . $n_r;
                                            $giorni_costo_agg = "giorni_costo_agg" . $numca . "_" . $n_r;
                                            $data_inserimento_costo_agg = "data_inserimento_costo_agg" . $numca . "_" . $n_r;
                                            $utente_inserimento_costo_agg = "utente_inserimento_costo_agg" . $numca . "_" . $n_r;
                                            $nome_costo_agg = ${$nome_costo_agg};
                                            $valore_costo_agg = ${$val_costo_agg};
                                            $percentuale_tasse_costo_agg = ${$percentuale_tasse_costo_agg};
                                            $moltiplica_max_costo_agg = ${$moltiplica_max_costo_agg};
                                            $giorni_costo_agg = ${$giorni_costo_agg};
                                            if ($giorni_costo_agg and $ripeti_prenota_data and !strstr($giorni_costo_agg, ",{$ripeti_prenota_data},")) {
                                                $mostra_ripetizione = 0;
                                            }
                                            $data_inserimento_costo_agg = ${$data_inserimento_costo_agg};
                                            $utente_inserimento_costo_agg = ${$utente_inserimento_costo_agg};
                                            $valore_costo_agg_p = punti_in_num($valore_costo_agg, $stile_soldi);
                                            calcola_tasse_contr($valore_costo_agg, $percentuale_tasse_costo_agg, $arrotond_tasse, $tasse_costo_agg, $tasse_costo_agg_p, $valore_costo_agg_senza_tasse, $valore_costo_agg_senza_tasse_p, $stile_soldi);
                                            if (str_replace(",", "", $moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) {
                                                $moltiplica_max_costo_agg = explode(",", $moltiplica_max_costo_agg);
                                                rsort($moltiplica_max_costo_agg);
                                                $moltiplica_max_costo_agg = $moltiplica_max_costo_agg[0];
                                            }
                                            # fine if (str_replace(",","",$moltiplica_max_costo_agg) != $moltiplica_max_costo_agg)
                                        } else {
                                            $nome_costo_agg = "";
                                            $valore_costo_agg = 0;
                                            $valore_costo_agg_p = 0;
                                            $percentuale_tasse_costo_agg = 0;
                                            $tasse_costo_agg = 0;
                                            $resto_tasse_costo_agg = 0;
                                            $moltiplica_max_costo_agg = 0;
                                            $giorni_costo_agg = "";
                                            $data_inserimento_costo_agg = "";
                                            $utente_inserimento_costo_agg = "";
                                        }
                                        # fine else if ($tipo_parte2[$n_p2] == 3)
                                        if ($tipo_parte2[$n_p2] == 4) {
                                            ${$var_arr_nome[$arr_parte2[$n_p2]]} = key(${$arr_parte2[$n_p2]});
                                            next(${$arr_parte2[$n_p2]});
                                        }
                                        # fine if ($tipo_parte2[$n_p2] == 4)
                                        if ($tipo_parte2[$n_p2] == 5) {
                                            $valore_pagamento = ${"saldo_paga" . ($n_r2 - 1) . "_" . $n_r};
                                            $valore_pagamento_p = punti_in_num($valore_pagamento, $stile_soldi);
                                            $data_pagamento = ${"data_paga" . ($n_r2 - 1) . "_" . $n_r};
                                            $utente_pagamento = ${"utente_paga" . ($n_r2 - 1) . "_" . $n_r};
                                            $metodo_pagamento = ${"metodo_paga" . ($n_r2 - 1) . "_" . $n_r};
                                        } else {
                                            $valore_pagamento = 0;
                                            $valore_pagamento_p = 0;
                                            $data_pagamento = "";
                                            $utente_pagamento = "";
                                            $metodo_pagamento = "";
                                        }
                                        # fine else if ($tipo_parte2[$n_p2] == 5)
                                        if ($tipo_parte2[$n_p2] == 6) {
                                            $nome_unita = $dati_app_contr[$n_r2]['nome'];
                                            $casa_unita = $dati_app_contr[$n_r2]['casa'];
                                            $piano_unita = $dati_app_contr[$n_r2]['piano'];
                                            $capacita_unita = $dati_app_contr[$n_r2]['capacita'];
                                            $priorita_unita = $dati_app_contr[$n_r2]['priorita'];
                                        } elseif ($tipo_parte0[$n_p0] != "6") {
                                            $nome_unita = "";
                                            $casa_unita = "";
                                            $piano_unita = "";
                                            $capacita_unita = "";
                                            $priorita_unita = "";
                                        }
                                        # fine elseif ($tipo_parte0[$n_p0] != "6")
                                    } else {
                                        $nome_costo_agg = "";
                                        $valore_costo_agg = 0;
                                        $valore_costo_agg_p = 0;
                                        $percentuale_tasse_costo_agg = 0;
                                        $tasse_costo_agg = 0;
                                        $resto_tasse_costo_agg = 0;
                                        $moltiplica_max_costo_agg = 0;
                                        $giorni_costo_agg = "";
                                        $data_inserimento_costo_agg = "";
                                        $utente_inserimento_costo_agg = "";
                                        $numero_ospite = 0;
                                        $valore_pagamento = 0;
                                        $valore_pagamento_p = 0;
                                        $data_pagamento = "";
                                        $utente_pagamento = "";
                                        $metodo_pagamento = "";
                                        if ($tipo_parte0[$n_p0] != "6") {
                                            $nome_unita = "";
                                            $casa_unita = "";
                                            $piano_unita = "";
                                            $capacita_unita = "";
                                            $priorita_unita = "";
                                        }
                                        # fine if ($tipo_parte0[$n_p0] != "6")
                                    }
                                    # fine if else ($ripeti_parte2[$n_p2] == "SI")
                                    if ($mostra_ripetizione) {
                                        #for ($num1 = 0 ; $num1 < $num_variabili ; $num1++) ${$variabile[$num_var]} = "";
                                        if ($num_persone != "non specificato" and $num_persone != "") {
                                            $num_persone_tot = $num_persone + $n_letti_agg;
                                        } else {
                                            $num_persone_tot = "";
                                        }
                                        # Condizioni applicate ad ogni ripetizione di prenotazione
                                        $break_cont = 0;
                                        for ($num1 = 0; $num1 < $num_condizioni; $num1++) {
                                            $condizione = $condizione_vett[$num1];
                                            $num_se = $num_cond_vett[$num1];
                                            $azione = $azione_vett[$num1];
                                            $cond_verificata = 1;
                                            if ($break_cont and $azione[0] != "cont") {
                                                $condizione = "";
                                                $cond_verificata = 0;
                                            }
                                            # fine if ($break_cont and $azione[0] != "cont")
                                            if ($condizione) {
                                                if ($condizione[0] == "or") {
                                                    $cond_verificata = 0;
                                                }
                                                for ($num2 = 1; $num2 < $num_se; $num2++) {
                                                    $se_cond_corr = $condizione[$num2];
                                                    $var_if = $se_cond_corr[0];
                                                    if (substr($var_if, -1) != ")") {
                                                        $var_if = ${$var_if};
                                                    } else {
                                                        $var_if = explode("(", substr($var_if, 0, -1));
                                                        $var_if = ${$var_if[0]}[${$var_if[1]}];
                                                    }
                                                    # fine else if (substr($var_if,-1) != ")")
                                                    $val_if = $se_cond_corr[3];
                                                    if ($se_cond_corr[2] == "var") {
                                                        if (substr($val_if, -1) != ")") {
                                                            $val_if = ${$val_if};
                                                        } else {
                                                            $val_if = explode("(", substr($val_if, 0, -1));
                                                            $val_if = ${$val_if[0]}[${$val_if[1]}];
                                                        }
                                                        # fine else if (substr($val_if,-1) != ")")
                                                    }
                                                    # fine if ($se_cond_corr[2] == "var")
                                                    $cond_verificata = 0;
                                                    if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) {
                                                        $cond_verificata = 1;
                                                    }
                                                    if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) {
                                                        $cond_verificata = 1;
                                                    }
                                                    if ($condizione[0] == "or" and $cond_verificata) {
                                                        break;
                                                    }
                                                    if ($condizione[0] == "and" and !$cond_verificata) {
                                                        break;
                                                    }
                                                }
                                                # fine for $num2
                                            }
                                            # fine if ($condizione)
                                            if ($cond_verificata) {
                                                if ($azione[0] == "set") {
                                                    $val_then = $azione[4];
                                                    if ($azione[3] == "var") {
                                                        if (substr($val_then, -1) != ")") {
                                                            if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") {
                                                                $val_then = formatta_data_contr(${$val_then}, $stile_data);
                                                            } else {
                                                                $val_then = ${$val_then};
                                                            }
                                                        } else {
                                                            $val_then = explode("(", substr($val_then, 0, -1));
                                                            $val_then = ${$val_then[0]}[${$val_then[1]}];
                                                        }
                                                        # fine else if (substr($val_then,-1) != ")")
                                                    }
                                                    # fine if ($azione[3] == "var")
                                                    if (strcmp($azione[6], "")) {
                                                        $txt_sost1 = $azione[6];
                                                        if ($azione[5] == "var") {
                                                            if (substr($txt_sost1, -1) != ")") {
                                                                $txt_sost1 = ${$txt_sost1};
                                                            } else {
                                                                $txt_sost1 = explode("(", substr($txt_sost1, 0, -1));
                                                                $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}];
                                                            }
                                                            # fine else if (substr($txt_sost1,-1) != ")")
                                                        }
                                                        # fine if ($azione[5] == "var")
                                                        $txt_sost2 = $azione[8];
                                                        if ($azione[7] == "var") {
                                                            if (substr($txt_sost2, -1) != ")") {
                                                                $txt_sost2 = ${$txt_sost2};
                                                            } else {
                                                                $txt_sost2 = explode("(", substr($txt_sost2, 0, -1));
                                                                $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}];
                                                            }
                                                            # fine else if (substr($txt_sost2,-1) != ")")
                                                        }
                                                        # fine if ($azione[7] == "var")
                                                        $val_then = str_replace($txt_sost1, $txt_sost2, $val_then);
                                                    }
                                                    # fine if (strcmp($azione[6],""))
                                                    if ($azione[2] == ".=") {
                                                        if (substr($azione[1], 0, 1) != "a") {
                                                            $var_then_orig = ${$variabile[$azione[1]]};
                                                        } else {
                                                            $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}];
                                                        }
                                                    } else {
                                                        $var_then_orig = "";
                                                    }
                                                    if (substr($azione[1], 0, 1) != "a") {
                                                        ${$variabile[$azione[1]]} = $var_then_orig . $val_then;
                                                    } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                                        ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then;
                                                        $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                                    }
                                                    # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                                                }
                                                # fine if ($azione[0] == "set")
                                                if ($azione[0] == "trunc") {
                                                    if (substr($azione[1], 0, 1) != "a") {
                                                        $var_da_assegnare = ${$variabile[$azione[1]]};
                                                    } else {
                                                        $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}];
                                                    }
                                                    if (strcmp($azione[3], "")) {
                                                        while (num_caratteri_testo($var_da_assegnare) < $azione[2]) {
                                                            if ($azione[4] == "ini") {
                                                                $var_da_assegnare = $azione[3] . $var_da_assegnare;
                                                            }
                                                            if ($azione[4] == "fin") {
                                                                $var_da_assegnare .= $azione[3];
                                                            }
                                                        }
                                                        # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2])
                                                    }
                                                    # fine if (strcmp($azione[3],""))
                                                    if (substr($azione[1], 0, 1) != "a") {
                                                        ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]);
                                                    } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                                        ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]);
                                                        $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                                    }
                                                    # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                                                }
                                                # fine if ($azione[0] == "trunc")
                                                if ($azione[0] == "oper") {
                                                    $cont_oper = "SI";
                                                    $var_con_punti = "NO";
                                                    $var_da_oper = $azione[2];
                                                    if (substr($var_da_oper, -1) != ")") {
                                                        if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) {
                                                            $var_da_oper = ${$var_da_oper};
                                                        } else {
                                                            $var_da_oper = ${substr($var_da_oper, 0, -2)};
                                                        }
                                                    } else {
                                                        $var_da_oper = explode("(", substr($var_da_oper, 0, -1));
                                                        if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) {
                                                            $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}];
                                                        } else {
                                                            $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}];
                                                        }
                                                    }
                                                    # fine else if (substr($var_da_oper,-1) != ")")
                                                    $var_da_oper = formatta_soldi($var_da_oper);
                                                    if (controlla_soldi($var_da_oper) == "NO") {
                                                        $cont_oper = "NO";
                                                    }
                                                    $var_da_oper2 = $azione[5];
                                                    if ($azione[4] == "var") {
                                                        if (substr($var_da_oper2, -1) != ")") {
                                                            if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) {
                                                                $var_da_oper2 = ${$var_da_oper2};
                                                            } else {
                                                                $var_da_oper2 = ${substr($var_da_oper2, 0, -2)};
                                                            }
                                                        } else {
                                                            $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1));
                                                            if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) {
                                                                $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}];
                                                            } else {
                                                                $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}];
                                                            }
                                                        }
                                                        # fine else if (substr($var_da_oper2,-1) != ")")
                                                    }
                                                    # fine if ($azione[4] == "var")
                                                    $var_da_oper2 = formatta_soldi($var_da_oper2);
                                                    if (controlla_soldi($var_da_oper2) == "NO") {
                                                        $cont_oper = "NO";
                                                    }
                                                    if ($cont_oper != "NO") {
                                                        if ($azione[3] == "+") {
                                                            $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2;
                                                        }
                                                        if ($azione[3] == "-") {
                                                            $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2;
                                                        }
                                                        if ($azione[3] == "*") {
                                                            $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2;
                                                        }
                                                        if ($azione[3] == "/") {
                                                            $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2;
                                                        }
                                                        if ($azione[6]) {
                                                            $var_da_assegnare = $var_da_assegnare / (double) $azione[6];
                                                            $var_da_assegnare = round($var_da_assegnare);
                                                            $var_da_assegnare = $var_da_assegnare * (double) $azione[6];
                                                        }
                                                        # fine if ($azione[6])
                                                        if (substr($azione[1], 0, 1) != "a") {
                                                            if (substr($variabile[$azione[1]], -2) != "_p") {
                                                                ${$variabile[$azione[1]]} = $var_da_assegnare;
                                                            } else {
                                                                ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2);
                                                            }
                                                        } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                                            $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                                            if (substr($array[substr($azione[1], 1)], -2) != "_p") {
                                                                ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare;
                                                            } else {
                                                                ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2);
                                                            }
                                                        }
                                                        # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                                                    }
                                                    # fine if ($cont_oper != "NO")
                                                }
                                                # fine if ($azione[0] == "oper")
                                                if ($azione[0] == "date") {
                                                    $cont_oper = 1;
                                                    $var_da_oper = $azione[2];
                                                    if (substr($var_da_oper, -1) != ")") {
                                                        $var_da_oper = ${$var_da_oper};
                                                    } else {
                                                        $var_da_oper = explode("(", substr($var_da_oper, 0, -1));
                                                        $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}];
                                                    }
                                                    # fine else if (substr($var_da_oper,-1) != ")")
                                                    $var_da_oper = substr($var_da_oper, 0, 10);
                                                    if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) {
                                                        if ($stile_data == "usa") {
                                                            $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2);
                                                        } else {
                                                            $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2);
                                                        }
                                                    }
                                                    # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper))
                                                    if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) {
                                                        $cont_oper = 0;
                                                    }
                                                    if ($cont_oper) {
                                                        if ($azione[3] == "gi") {
                                                            $var_da_assegnare = "d";
                                                        }
                                                        if ($azione[3] == "me") {
                                                            $var_da_assegnare = "m";
                                                        }
                                                        if ($azione[3] == "an") {
                                                            $var_da_assegnare = "Y";
                                                        }
                                                        if ($azione[3] == "gs") {
                                                            $var_da_assegnare = "w";
                                                        }
                                                        if ($azione[3] == "is") {
                                                            $var_da_assegnare = "Y-m-d";
                                                        }
                                                        if ($azione[3] == "da") {
                                                            if ($stile_data == "usa") {
                                                                $var_da_assegnare = "m-d-Y";
                                                            } else {
                                                                $var_da_assegnare = "d-m-Y";
                                                            }
                                                        }
                                                        # fine if ($azione[3] == "da")
                                                        $txt_sost1 = 0;
                                                        $num2 = 0;
                                                        $num3 = 0;
                                                        if ($azione[5] == "g") {
                                                            $txt_sost1 = $azione[4];
                                                        }
                                                        if ($azione[5] == "m") {
                                                            $num2 = $azione[4];
                                                        }
                                                        if ($azione[5] == "a") {
                                                            $num3 = $azione[4];
                                                        }
                                                        $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3));
                                                        if (substr($azione[1], 0, 1) != "a") {
                                                            ${$variabile[$azione[1]]} = $var_da_assegnare;
                                                        } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) {
                                                            if ($azione[3] != "is") {
                                                                $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                                            }
                                                            ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare;
                                                        }
                                                        # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
                                                    }
                                                    # fine if ($cont_oper)
                                                }
                                                # fine if ($azione[0] == "date")
                                                if ($azione[0] == "unset") {
                                                    unset(${$array[substr($azione[1], 1)]});
                                                    $array_date_contr[$array[substr($azione[1], 1)]] = "";
                                                }
                                                # fine if ($azione[0] == "unset")
                                                if ($azione[0] == "array") {
                                                    $nome_arr = $array[substr($azione[1], 1)];
                                                    if ($azione[2] == "val") {
                                                        unset(${$nome_arr});
                                                        $array_date_contr[$nome_arr] = "";
                                                        $lista_val = explode(",", $azione[3]);
                                                        $num_lista_val = count($lista_val);
                                                        for ($num2 = 1; $num2 <= $num_lista_val; $num2++) {
                                                            ${$nome_arr}[$num2] = $lista_val[$num2 - 1];
                                                        }
                                                    }
                                                    # fine if ($azione[2] == "val")
                                                    if ($azione[2] == "dat" or $azione[2] == "dap") {
                                                        unset(${$nome_arr});
                                                        if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) {
                                                            $array_date_contr[$nome_arr] = "SI";
                                                            if ($azione[2] == "dat") {
                                                                $data_corr_arr = $data_inizio_selezione_orig;
                                                                $txt_sost1 = $data_fine_selezione_orig;
                                                            }
                                                            # fine if ($azione[2] == "dat")
                                                            if ($azione[2] == "dap") {
                                                                $data_corr_arr = $data_primo_arrivo;
                                                                $txt_sost1 = $data_ultima_partenza;
                                                            }
                                                            # fine if ($azione[2] == "dap")
                                                            $num2 = 1;
                                                            ${$nome_arr}[$num2] = $data_corr_arr;
                                                            while ($data_corr_arr != $txt_sost1) {
                                                                $num2++;
                                                                $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4)));
                                                                ${$nome_arr}[$num2] = $data_corr_arr;
                                                            }
                                                            # fine while ($data_corr_arr != $txt_sost1)
                                                        }
                                                        # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or...
                                                    }
                                                    # fine if ($azione[2] == "dat" or $azione[2] == "dap")
                                                    if ($azione[2] == "cop") {
                                                        $lista_val = ${$array[substr($azione[3], 1)]};
                                                        ${$nome_arr} = $lista_val;
                                                        $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]];
                                                    }
                                                    # fine if ($azione[2] == "cop")
                                                }
                                                # fine if ($azione[0] == "array")
                                                if ($azione[0] == "break") {
                                                    if ($azione[1] == "cont") {
                                                        $break_cont = 1;
                                                    } else {
                                                        break;
                                                    }
                                                }
                                                # fine if ($azione[0] == "break")
                                                if ($azione[0] == "cont") {
                                                    $break_cont = 0;
                                                }
                                            }
                                            # fine if ($cond_verificata)
                                        }
                                        # fine for $num1
                                        $contratto_corr = $contratto_parte2[$n_p2];
                                        while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr)) {
                                            $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr, 2);
                                            $contr_parziale = substr($contratto_corr, strlen($contr_vett[0]));
                                            $contratto_corr = $contr_vett[0];
                                            $condizione = preg_split("/\" *\\]/", $contr_parziale, 2);
                                            $condizione = $condizione[0];
                                            $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione));
                                            $var_if = trim($val_if[0]);
                                            $val_if = $val_if[1];
                                            if (str_replace("(", "", $var_if) != $var_if) {
                                                $parti_arr = explode("(", substr($var_if, 0, -1));
                                                if (substr($parti_arr[1], 0, 1) == "'") {
                                                    $val_var_if = substr($parti_arr[1], 1, -1);
                                                } else {
                                                    $val_var_if = ${$parti_arr[1]};
                                                }
                                                $val_var_if = ${$parti_arr[0]}[$val_var_if];
                                            } else {
                                                $val_var_if = ${$var_if};
                                            }
                                            if (preg_match("/!= *\"/", $condizione)) {
                                                $cond = "!=";
                                            } else {
                                                $cond = "=";
                                            }
                                            $contr_parziale = substr($contr_parziale, strlen($condizione) + 1);
                                            while (substr($contr_parziale, 0, 1) == " ") {
                                                $contr_parziale = substr($contr_parziale, 1);
                                            }
                                            $contr_parziale = substr($contr_parziale, 1);
                                            $contr_vett = explode("[/c]", $contr_parziale, 2);
                                            $contr_parziale = substr($contr_parziale, strlen($contr_vett[0]) + 4);
                                            if ($cond == "=" and $val_var_if == $val_if) {
                                                $contratto_corr .= $contr_vett[0];
                                            }
                                            if ($cond == "!=" and $val_var_if != $val_if) {
                                                $contratto_corr .= $contr_vett[0];
                                            }
                                            $contratto_corr .= $contr_parziale;
                                        }
                                        # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[A-Za-z]+[A-Za-z0-9_]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/",$contratto_corr))
                                        if ($data_inizio) {
                                            $data_inizio = formatta_data_contr($data_inizio, $stile_data);
                                        }
                                        if ($data_fine) {
                                            $data_fine = formatta_data_contr($data_fine, $stile_data);
                                        }
                                        if ($data_nascita) {
                                            $data_nascita = formatta_data_contr($data_nascita, $stile_data);
                                        }
                                        if ($data_nascita_ospite) {
                                            $data_nascita_ospite = formatta_data_contr($data_nascita_ospite, $stile_data);
                                        }
                                        if ($data_inserimento_costo_agg) {
                                            $data_inserimento_costo_agg = formatta_data_contr($data_inserimento_costo_agg, $stile_data);
                                        }
                                        if ($data_pagamento) {
                                            $data_pagamento = formatta_data_contr($data_pagamento, $stile_data);
                                        }
                                        if ($data_inserimento_prenotazione) {
                                            $data_inserimento_prenotazione = formatta_data_contr($data_inserimento_prenotazione, $stile_data);
                                        }
                                        $data_inizio_selezione = $data_inizio_selezione_f;
                                        $data_fine_selezione = $data_fine_selezione_f;
                                        $oggi = $oggi_f;
                                        $testo_quotato_email_richiesta = str_replace("<email_richiesta> ", "<{$email}> ", $testo_quotato_email_richiesta_orig);
                                        if (!$nome) {
                                            $nome = "{$tag_b}" . "____________________{$tag_no_b}";
                                        }
                                        if (!$soprannome) {
                                            $soprannome = "{$tag_b}" . "____________________{$tag_no_b}";
                                        }
                                        if (!$cognome) {
                                            $cognome = "{$tag_b}" . "_________________{$tag_no_b}";
                                        }
                                        if (!$data_nascita) {
                                            $data_nascita = "{$tag_b}" . "______________{$tag_no_b}";
                                        }
                                        if (!$documento) {
                                            $documento = " {$tag_b}" . "________________________________{$tag_no_b}";
                                        }
                                        if (!$nazione) {
                                            $nazione = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if (!$regione) {
                                            $regione = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if (!$citta) {
                                            $citta = "{$tag_b}" . "___________________{$tag_no_b}";
                                        }
                                        if (!$via and $lingua_mex) {
                                            $via2 = "{$fr_via} {$tag_b}" . "________________________________{$tag_no_b}";
                                        } else {
                                            $via2 = $via;
                                        }
                                        if (!$via) {
                                            $via = "{$tag_b}" . "________________________________{$tag_no_b}";
                                        }
                                        if (!$numcivico) {
                                            $numcivico = "{$tag_b}" . "_____{$tag_no_b}";
                                        }
                                        if (!$telefono) {
                                            $telefono = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$telefono2) {
                                            $telefono2 = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$telefono3) {
                                            $telefono3 = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$fax) {
                                            $fax = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$email) {
                                            $email = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$cap) {
                                            $cap = "{$tag_b}" . "________{$tag_no_b}";
                                        }
                                        if (!$codice_fiscale) {
                                            $codice_fiscale = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if (!$partita_iva) {
                                            $partita_iva = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if ($num_persone == "non specificato" or $num_persone == "") {
                                            $num_persone = "{$tag_b}" . "_____{$tag_no_b}";
                                            $num_persone_tot = "{$tag_b}" . "_____{$tag_no_b}";
                                        }
                                        # fine if ($num_persone == "non specificato" or $num_persone == "")
                                        if (!$costo_tot or !$caparra) {
                                            $resto_caparra = "{$tag_b}" . "_____________{$tag_no_b}";
                                            $resto_caparra_p = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        # fine if (!$costo_tot or !$caparra)
                                        if (!$caparra) {
                                            $caparra = "{$tag_b}" . "___________{$tag_no_b}";
                                            $caparra_p = "{$tag_b}" . "___________{$tag_no_b}";
                                        } else {
                                            $caparra_p = punti_in_num($caparra, $stile_soldi);
                                        }
                                        if (!$costo_tot or !$commissioni) {
                                            $resto_commissioni = "{$tag_b}" . "_____________{$tag_no_b}";
                                            $resto_commissioni_p = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        # fine if (!$costo_tot or !$commissioni)
                                        if (!$commissioni) {
                                            $commissioni = "{$tag_b}" . "___________{$tag_no_b}";
                                            $commissioni_p = "{$tag_b}" . "___________{$tag_no_b}";
                                        } else {
                                            $commissioni_p = punti_in_num($commissioni, $stile_soldi);
                                        }
                                        if (!$costo_tot) {
                                            $resto_da_pagare = "{$tag_b}" . "_____________{$tag_no_b}";
                                            $resto_da_pagare_p = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        # fine if (!$costo_tot)
                                        if (!$data_inizio) {
                                            $data_inizio = "{$tag_b}" . "______________{$tag_no_b}";
                                        }
                                        if (!$data_fine) {
                                            $data_fine = "{$tag_b}" . "______________{$tag_no_b}";
                                        }
                                        if (!$num_periodi or $num_periodi == "?") {
                                            $num_periodi = "{$tag_b}" . "____{$tag_no_b}";
                                        }
                                        if ($orario_entrata_stimato) {
                                            $orario_entrata_stimato = substr(str_replace("{$data_inizio} ", "", formatta_data_contr($orario_entrata_stimato, $stile_data)), 0, -3);
                                        }
                                        if (!$nome_tariffa) {
                                            $nome_tariffa = "{$tag_b}" . "____________________{$tag_no_b}";
                                        }
                                        if (!$costo_tariffa) {
                                            $costo_tariffa = "{$tag_b}" . "____________________{$tag_no_b}";
                                            $costo_tariffa_p = "{$tag_b}" . "____________________{$tag_no_b}";
                                        } else {
                                            $costo_tariffa_p = punti_in_num($costo_tariffa, $stile_soldi);
                                        }
                                        if (!$sconto) {
                                            $sconto = "{$tag_b}" . "____________{$tag_no_b}";
                                            $sconto_p = "{$tag_b}" . "____________{$tag_no_b}";
                                        } else {
                                            $sconto_p = punti_in_num($sconto, $stile_soldi);
                                        }
                                        if (!$commento) {
                                            $commento = "{$tag_b}" . "______________________{$tag_no_b}";
                                        }
                                        if (!$origine_prenotazione) {
                                            $origine_prenotazione = "{$tag_b}" . "_________________{$tag_no_b}";
                                        }
                                        if (!$unita_occupata) {
                                            $unita_occupata = "{$tag_b}" . "____{$tag_no_b}";
                                        }
                                        $appartamento = $unita_occupata;
                                        $apartment = $unita_occupata;
                                        $apartamento = $unita_occupata;
                                        if (!$unita_assegnabili) {
                                            $unita_assegnabili = "{$tag_b}" . "_________________{$tag_no_b}";
                                        }
                                        $app_assegnabili = $unita_assegnabili;
                                        $apartment_list = $unita_assegnabili;
                                        $lista_apartamentos = $unita_assegnabili;
                                        if (!$pagato) {
                                            $pagato = "{$tag_b}" . "_____________{$tag_no_b}";
                                            $pagato_p = "{$tag_b}" . "_____________{$tag_no_b}";
                                        } else {
                                            $pagato_p = punti_in_num($pagato, $stile_soldi);
                                        }
                                        if (!$costo_tot) {
                                            $costo_tot = "{$tag_b}" . "_____________{$tag_no_b}";
                                            $costo_tot_p = "{$tag_b}" . "_____________{$tag_no_b}";
                                        } else {
                                            $costo_tot_p = punti_in_num($costo_tot, $stile_soldi);
                                        }
                                        if (!$n_letti_agg) {
                                            $n_letti_agg = "{$tag_b}" . "____{$tag_no_b}";
                                        }
                                        if (!$numero_prenotazione) {
                                            $numero_prenotazione = "{$tag_b}" . "____{$tag_no_b}";
                                        }
                                        if (!$nome_ospite) {
                                            $nome_ospite = "{$tag_b}" . "____________________{$tag_no_b}";
                                        }
                                        if (!$soprannome_ospite) {
                                            $soprannome_ospite = "{$tag_b}" . "____________________{$tag_no_b}";
                                        }
                                        if (!$cognome_ospite) {
                                            $cognome_ospite = "{$tag_b}" . "_________________{$tag_no_b}";
                                        }
                                        if (!$data_nascita_ospite) {
                                            $data_nascita_ospite = "{$tag_b}" . "______________{$tag_no_b}";
                                        }
                                        if (!$documento_ospite) {
                                            $documento_ospite = " {$tag_b}" . "________________________________{$tag_no_b}";
                                        }
                                        if (!$nazione_ospite) {
                                            $nazione_ospite = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if (!$regione_ospite) {
                                            $regione_ospite = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if (!$citta_ospite) {
                                            $citta_ospite = "{$tag_b}" . "___________________{$tag_no_b}";
                                        }
                                        if (!$via_ospite and $lingua_mex) {
                                            $via2_ospite = "{$fr_via} {$tag_b}" . "________________________________{$tag_no_b}";
                                        } else {
                                            $via2_ospite = $via_ospite;
                                        }
                                        if (!$via_ospite) {
                                            $via_ospite = "{$tag_b}" . "________________________________{$tag_no_b}";
                                        }
                                        if (!$numcivico_ospite) {
                                            $numcivico_ospite = "{$tag_b}" . "_____{$tag_no_b}";
                                        }
                                        if (!$telefono_ospite) {
                                            $telefono_ospite = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$telefono2_ospite) {
                                            $telefono2_ospite = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$telefono3_ospite) {
                                            $telefono3_ospite = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$fax_ospite) {
                                            $fax_ospite = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$email_ospite) {
                                            $email_ospite = "{$tag_b}" . "__________________{$tag_no_b}";
                                        }
                                        if (!$cap_ospite) {
                                            $cap_ospite = "{$tag_b}" . "________{$tag_no_b}";
                                        }
                                        if (!$codice_fiscale_ospite) {
                                            $codice_fiscale_ospite = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        if (!$partita_iva_ospite) {
                                            $partita_iva_ospite = "{$tag_b}" . "_____________{$tag_no_b}";
                                        }
                                        $contratto_r = $contratto_corr;
                                        $contr_vett = explode("[", $contratto_r);
                                        $num_contr_vett = count($contr_vett);
                                        $contr_parziale = "";
                                        for ($num1 = 0; $num1 < $num_contr_vett; $num1++) {
                                            $contr_parziale .= $contr_vett[$num1] . "[";
                                            $resto_contr = substr($contratto_corr, strlen($contr_parziale));
                                            $lettera = (string) substr($resto_contr, 0, 1);
                                            if ($lettera and preg_replace("/[A-Za-z]/", "", $lettera) == "") {
                                                $num2 = 1;
                                                $lettere_var = $lettera;
                                                $cond = 0;
                                                while ((preg_replace("/[A-Za-z0-9\\(\\)'_]/", "SI", $lettera) == "SI" or $cond == 1) and ($cond != 1 or $lettera != "]" and $lettera != "(")) {
                                                    if ($lettera == "'") {
                                                        if (!$cond) {
                                                            $cond = 1;
                                                        } else {
                                                            $cond = 2;
                                                        }
                                                    }
                                                    # fine if ($lettera == "'")
                                                    $lettera = (string) substr($resto_contr, $num2, 1);
                                                    if ($lettera == "]") {
                                                        if (str_replace("(", "", str_replace(")", "", str_replace("'", "", $lettere_var))) == $lettere_var) {
                                                            if ($incr_np and $lettere_var == "numero_progressivo_documento") {
                                                                if ($num_prog_contr_max and $numero_progressivo_documento > $num_prog_contr_max) {
                                                                    $numero_progressivo_documento--;
                                                                }
                                                                $val_if = strstr($contratto_r, "[numero_progressivo_documento]");
                                                                $contratto_r = substr($contratto_r, 0, strlen($val_if) * -1) . $numero_progressivo_documento . substr($val_if, 30);
                                                                $numero_progressivo_documento++;
                                                            } else {
                                                                $contratto_r = str_replace("[" . $lettere_var . "]", ${$lettere_var}, $contratto_r);
                                                            }
                                                        } else {
                                                            $parti_arr = explode("(", substr($lettere_var, 0, -1));
                                                            if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parti_arr[0]) == "" and preg_replace("/(('[^']*')|([A-Za-z]+[A-Za-z0-9_]*))/", "", $parti_arr[1]) == "") {
                                                                if (substr($parti_arr[1], 0, 1) == "'") {
                                                                    $val_var_if = substr($parti_arr[1], 1, -1);
                                                                } else {
                                                                    $val_var_if = ${$parti_arr[1]};
                                                                }
                                                                if ($array_date_contr[$parti_arr[0]] == "SI") {
                                                                    $contratto_r = str_replace("[" . $lettere_var . "]", formatta_data_contr(${$parti_arr[0]}[$val_var_if], $stile_data), $contratto_r);
                                                                } else {
                                                                    $contratto_r = str_replace("[" . $lettere_var . "]", ${$parti_arr[0]}[$val_var_if], $contratto_r);
                                                                }
                                                            }
                                                            # fine if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/","",$parti_arr[0]) == "" and...
                                                        }
                                                        # fine else if (str_replace("(","",str_replace(")","",str_replace("'","",$lettere_var))) == $lettere_var)
                                                    }
                                                    # fine if ($lettera == "]")
                                                    $lettere_var .= $lettera;
                                                    $num2++;
                                                }
                                                # fine while ((preg_replace("/[A-Za-z0-9\(\)'_]/","SI",$lettera) == "SI" or $cond == 1) and...
                                            }
                                            # fine ($lettera and preg_replace("/[A-Za-z]/","",$lettera) == "")
                                        }
                                        # fine for $num1
                                        $contratto_ripetizione .= $contratto_r;
                                        $nome = $nome_orig;
                                        $soprannome = $soprannome_orig;
                                        $cognome = $cognome_orig;
                                        $data_nascita = $data_nascita_orig;
                                        $documento = $documento_orig;
                                        $nazione = $nazione_orig;
                                        $regione = $regione_orig;
                                        $citta = $citta_orig;
                                        $via = $via_orig;
                                        $numcivico = $numcivico_orig;
                                        $telefono = $telefono_orig;
                                        $telefono2 = $telefono2_orig;
                                        $telefono3 = $telefono3_orig;
                                        $fax = $fax_orig;
                                        $email = $email_orig;
                                        $cap = $cap_orig;
                                        $codice_fiscale = $codice_fiscale_orig;
                                        $partita_iva = $partita_iva_orig;
                                        $num_persone = $num_persone_orig;
                                        $caparra = $caparra_orig;
                                        $commissioni = $commissioni_orig;
                                        $data_inizio = $data_inizio_orig;
                                        $data_fine = $data_fine_orig;
                                        $num_periodi = $num_periodi_orig;
                                        $orario_entrata_stimato = $orario_entrata_stimato_orig;
                                        $nome_tariffa = $nome_tariffa_orig;
                                        $costo_tariffa = $costo_tariffa_orig;
                                        $sconto = $sconto_orig;
                                        $percentuale_tasse_tariffa = $percentuale_tasse_tariffa_orig;
                                        $commento = $commento_orig;
                                        $origine_prenotazione = $origine_prenotazione_orig;
                                        $unita_occupata = $unita_occupata_orig;
                                        $unita_assegnabili = $unita_assegnabili_orig;
                                        $pagato = $pagato_orig;
                                        $costo_tot = $costo_tot_orig;
                                        $n_letti_agg = $n_letti_agg_orig;
                                        $numero_prenotazione = $numero_prenotazione_orig;
                                        $data_inizio_selezione = $data_inizio_selezione_orig;
                                        $data_fine_selezione = $data_fine_selezione_orig;
                                        $data_inserimento_prenotazione = $data_inserimento_prenotazione_orig;
                                        $oggi = $oggi_orig;
                                        $cognome_ospite = "";
                                    }
                                    # fine if ($mostra_ripetizione)
                                }
                                # fine for $n_r2
                            }
                            # fine for $n_p2
                            if (!$errore_ripetizione) {
                                $contratto .= $apertura_rip_contr . $contratto_ripetizione . $chiusura_rip_contr;
                            }
                            if ($filecontr and $ripeti_tutto and !$messaggio_di_errore) {
                                if ($tipo_contratto == "contrrtf") {
                                    $contratto = str_replace("&quot;", "\"", $contratto);
                                    $contratto = str_replace("&#039;", "'", $contratto);
                                    $contratto = str_replace("&lt;", "<", $contratto);
                                    $contratto = str_replace("&gt;", ">", $contratto);
                                    $contratto = str_replace("&amp;", "&", $contratto);
                                    $contratto = str_replace("ñ", "\\u241\\'f1", $contratto);
                                    $contratto = str_replace("à", "\\u224\\'e0", $contratto);
                                    $contratto = str_replace("è", "\\u232\\'e8", $contratto);
                                    $contratto = str_replace("ì", "\\u236\\'ec", $contratto);
                                    $contratto = str_replace("ò", "\\u242\\'f2", $contratto);
                                    $contratto = str_replace("ù", "\\u249\\'f9", $contratto);
                                    $contratto = str_replace("á", "\\u225\\'e1", $contratto);
                                    $contratto = str_replace("é", "\\u233\\'e9", $contratto);
                                    $contratto = str_replace("í", "\\u237\\'ed", $contratto);
                                    $contratto = str_replace("ó", "\\u243\\'f3", $contratto);
                                    $contratto = str_replace("ú", "\\u250\\'fa", $contratto);
                                    $contratto = str_replace("ä", "\\u228\\'e4", $contratto);
                                    $contratto = str_replace("ö", "\\u246\\'f6", $contratto);
                                    $contratto = str_replace("ü", "\\u252\\'fc", $contratto);
                                    $contratto = str_replace("ß", "\\u223\\'df", $contratto);
                                    $contratto = str_replace("ç", "\\u231\\'e7", $contratto);
                                    $contratto = str_replace("ã", "\\u227\\'e3", $contratto);
                                    $contratto = str_replace("õ", "\\u245\\'f5", $contratto);
                                    $contratto = str_replace("ø", "\\u248\\'f8", $contratto);
                                    $contratto = str_replace("€", "\\u8364\\'80", $contratto);
                                    $contratto = str_replace("°", "\\u176\\'b0", $contratto);
                                    $contratto = str_replace("’", "\\u8217\\'92", $contratto);
                                    $contratto = str_replace("Ñ", "\\u209\\'d1", $contratto);
                                    $contratto = str_replace("À", "\\u192\\'c0", $contratto);
                                    $contratto = str_replace("È", "\\u200\\'c8", $contratto);
                                    $contratto = str_replace("Ì", "\\u204\\'cc", $contratto);
                                    $contratto = str_replace("Ò", "\\u210\\'d2", $contratto);
                                    $contratto = str_replace("Ù", "\\u217\\'d9", $contratto);
                                    $contratto = str_replace("Á", "\\u193\\'c1", $contratto);
                                    $contratto = str_replace("É", "\\u201\\'c9", $contratto);
                                    $contratto = str_replace("Í", "\\u205\\'cd", $contratto);
                                    $contratto = str_replace("Ó", "\\u211\\'d3", $contratto);
                                    $contratto = str_replace("Ú", "\\u218\\'da", $contratto);
                                    $contratto = str_replace("Ä", "\\u196\\'c4", $contratto);
                                    $contratto = str_replace("Ö", "\\u214\\'d6", $contratto);
                                    $contratto = str_replace("Ü", "\\u220\\'dc", $contratto);
                                    $contratto = str_replace("Ç", "\\u199\\'c7", $contratto);
                                    $contratto = str_replace("Ã", "\\u195\\'c3", $contratto);
                                    $contratto = str_replace("Õ", "\\u213\\'d5", $contratto);
                                    $contratto = str_replace("Ø", "\\u216\\'d8", $contratto);
                                    $contratto = str_replace("Α", "\\u913\\'91", $contratto);
                                    $contratto = str_replace("α", "\\u945\\'b1", $contratto);
                                    $contratto = str_replace("Β", "\\u914\\'92", $contratto);
                                    $contratto = str_replace("β", "\\u946\\'b2", $contratto);
                                    $contratto = str_replace("Γ", "\\u915\\'93", $contratto);
                                    $contratto = str_replace("γ", "\\u947\\'b3", $contratto);
                                    $contratto = str_replace("Δ", "\\u916\\'94", $contratto);
                                    $contratto = str_replace("δ", "\\u948\\'b4", $contratto);
                                    $contratto = str_replace("Ε", "\\u917\\'95", $contratto);
                                    $contratto = str_replace("ε", "\\u949\\'b5", $contratto);
                                    $contratto = str_replace("Ζ", "\\u918\\'96", $contratto);
                                    $contratto = str_replace("ζ", "\\u950\\'b6", $contratto);
                                    $contratto = str_replace("Η", "\\u919\\'97", $contratto);
                                    $contratto = str_replace("η", "\\u951\\'b7", $contratto);
                                    $contratto = str_replace("Θ", "\\u920\\'98", $contratto);
                                    $contratto = str_replace("θ", "\\u952\\'b8", $contratto);
                                    $contratto = str_replace("Ι", "\\u921\\'99", $contratto);
                                    $contratto = str_replace("ι", "\\u953\\'b9", $contratto);
                                    $contratto = str_replace("Κ", "\\u922\\'9a", $contratto);
                                    $contratto = str_replace("κ", "\\u954\\'ba", $contratto);
                                    $contratto = str_replace("Λ", "\\u923\\'9b", $contratto);
                                    $contratto = str_replace("λ", "\\u955\\'bb", $contratto);
                                    $contratto = str_replace("Μ", "\\u924\\'9c", $contratto);
                                    $contratto = str_replace("μ", "\\u956\\'bc", $contratto);
                                    $contratto = str_replace("Ν", "\\u925\\'9d", $contratto);
                                    $contratto = str_replace("ν", "\\u957\\'bd", $contratto);
                                    $contratto = str_replace("Ξ", "\\u926\\'9e", $contratto);
                                    $contratto = str_replace("ξ", "\\u958\\'be", $contratto);
                                    $contratto = str_replace("Ο", "\\u927\\'9f", $contratto);
                                    $contratto = str_replace("ο", "\\u959\\'bf", $contratto);
                                    $contratto = str_replace("Π", "\\u928\\'a0", $contratto);
                                    $contratto = str_replace("π", "\\u960\\'c0", $contratto);
                                    $contratto = str_replace("Ρ", "\\u929\\'a1", $contratto);
                                    $contratto = str_replace("ρ", "\\u961\\'c1", $contratto);
                                    $contratto = str_replace("Σ", "\\u931\\'a3", $contratto);
                                    $contratto = str_replace("σ", "\\u963\\'c3", $contratto);
                                    $contratto = str_replace("ς", "\\u962\\'c2", $contratto);
                                    $contratto = str_replace("Τ", "\\u932\\'a4", $contratto);
                                    $contratto = str_replace("τ", "\\u964\\'c4", $contratto);
                                    $contratto = str_replace("Υ", "\\u933\\'a5", $contratto);
                                    $contratto = str_replace("υ", "\\u965\\'c5", $contratto);
                                    $contratto = str_replace("Φ", "\\u934\\'a6", $contratto);
                                    $contratto = str_replace("φ", "\\u966\\'c6", $contratto);
                                    $contratto = str_replace("Χ", "\\u935\\'a7", $contratto);
                                    $contratto = str_replace("χ", "\\u967\\'c7", $contratto);
                                    $contratto = str_replace("Ψ", "\\u936\\'a8", $contratto);
                                    $contratto = str_replace("ψ", "\\u968\\'c8", $contratto);
                                    $contratto = str_replace("Ω", "\\u937\\'a9", $contratto);
                                    $contratto = str_replace("ω", "\\u969\\'c9", $contratto);
                                    $contratto = str_replace("Ά", "\\u902\\'86", $contratto);
                                    $contratto = str_replace("ά", "\\u940\\'ce", $contratto);
                                    $contratto = str_replace("Ό", "\\u908\\'8c", $contratto);
                                    $contratto = str_replace("ό", "\\u972\\'cf", $contratto);
                                    $contratto = str_replace("Ή", "\\u905\\'89", $contratto);
                                    $contratto = str_replace("ή", "\\u942\\'ce", $contratto);
                                    $contratto = str_replace("Ί", "\\u906\\'8a", $contratto);
                                    $contratto = str_replace("ί", "\\u943\\'ce", $contratto);
                                    $contratto = str_replace("Ύ", "\\u910\\'8e", $contratto);
                                    $contratto = str_replace("ύ", "\\u973\\'cf", $contratto);
                                    $contratto = str_replace("Ώ", "\\u911\\'8f", $contratto);
                                    $contratto = str_replace("ώ", "\\u974\\'cf", $contratto);
                                    $contratto = str_replace("Έ", "\\u904\\'88", $contratto);
                                    $contratto = str_replace("έ", "\\u941\\'ce", $contratto);
                                    $contratto = str_replace("ý", "\\u253\\'fd", $contratto);
                                    $contratto = str_replace("ž", "\\u382\\'9e", $contratto);
                                    $contratto = str_replace("ř", "\\u345\\'3f", $contratto);
                                    $contratto = str_replace("č", "\\u269\\'3f", $contratto);
                                    $contratto = str_replace("š", "\\u353\\'9a", $contratto);
                                    $contratto = str_replace("ě", "\\u283\\'3f", $contratto);
                                    $contratto = str_replace("ů", "\\u367\\'3f", $contratto);
                                    $contratto = str_replace("Ý", "\\u221\\'dd", $contratto);
                                    $contratto = str_replace("Ž", "\\u381\\'8e", $contratto);
                                    $contratto = str_replace("Ř", "\\u344\\'3f", $contratto);
                                    $contratto = str_replace("Č", "\\u268\\'3f", $contratto);
                                    $contratto = str_replace("Š", "\\u352\\'8a", $contratto);
                                    $contratto = str_replace("Ě", "\\u282\\'3f", $contratto);
                                    $contratto = str_replace("Ů", "\\u366\\'3f", $contratto);
                                }
                                # fine if ($tipo_contratto == "contrrtf")
                                if ($incr_np) {
                                    if ($numero_progressivo_documento > $num_prog_contr[$n_r] + 1) {
                                        $val_if = $numero_progressivo_documento - 1;
                                        for ($num1 = strlen($val_if); $num1 < 5; $num1++) {
                                            $val_if = "0" . $val_if;
                                        }
                                        $nome_file_contr[$n_r] = str_replace(" ", "-{$val_if}", $nome_file_contr[$n_r]);
                                        for ($num1 = $n_r + 1; $num1 <= $num_ripeti; $num1++) {
                                            $val_if = $num_prog_contr[$num1] + $numero_progressivo_documento - 1 - $num_prog_contr[$n_r];
                                            if (strlen($val_if) > strlen($num_prog_contr[$num1]) and strlen($val_if) <= 5) {
                                                $num_prog_contr[$num1] = substr("00000", 0, strlen($val_if) - strlen($num_prog_contr[$num1])) . $num_prog_contr[$num1];
                                            }
                                            $nome_file_contr[$num1] = str_replace($num_prog_contr[$num1] . " ", $val_if . " ", $nome_file_contr[$num1]);
                                            $num_prog_contr[$num1] = $val_if;
                                        }
                                        # fine for $num1
                                    } else {
                                        $nome_file_contr[$n_r] = str_replace(" ", "", $nome_file_contr[$n_r]);
                                    }
                                    if ($nomi_contratti['compress'][$numero_contratto]) {
                                        $nome_file_contr[$n_r] .= ".gz";
                                        $lock_compress[$n_r] = crea_lock_file($nome_file_contr[$n_r]);
                                        $filecontr[$n_r] = gzopen($dir_salva . "/" . $nome_file_contr[$n_r], "wb9");
                                    } else {
                                        $filecontr[$n_r] = fopen($dir_salva . "/" . $nome_file_contr[$n_r], "w+");
                                        flock($filecontr[$n_r], 2);
                                    }
                                    # fine else if ($nomi_contratti['compress'][$numero_contratto])
                                }
                                # fine if ($incr_np)
                                if ($nomi_contratti['compress'][$numero_contratto]) {
                                    gzwrite($filecontr[$n_r], $contratto);
                                    gzclose($filecontr[$n_r]);
                                    distruggi_lock_file($lock_compress[$n_r], $nome_file_contr[$n_r]);
                                } else {
                                    fwrite($filecontr[$n_r], $contratto);
                                    flock($filecontr[$n_r], 3);
                                    fclose($filecontr[$n_r]);
                                }
                                # fine else if ($nomi_contratti['compress'][$numero_contratto])
                                $contratto = "";
                            }
                            # fine if ($filecontr and $ripeti_tutto and !$messaggio_di_errore)
                        }
                        # fine if (!$ripeti_prenota_data or...
                    }
                    # fine for $n_r
                } else {
                    $costo_tot_somma_ripetizioni_p = punti_in_num($costo_tot_somma_ripetizioni, $stile_soldi);
                    $caparra_somma_ripetizioni_p = punti_in_num($caparra_somma_ripetizioni, $stile_soldi);
                    $resto_caparra_somma_ripetizioni_p = punti_in_num($resto_caparra_somma_ripetizioni, $stile_soldi);
                    $pagato_somma_ripetizioni_p = punti_in_num($pagato_somma_ripetizioni, $stile_soldi);
                    $resto_da_pagare_somma_ripetizioni_p = punti_in_num($resto_da_pagare_somma_ripetizioni, $stile_soldi);
                    if ($dir_salva and $ripeti_tutto and (!$numero_progressivo_documento or $numero_progressivo_documento < $num_prog_contr[$n_r])) {
                        $numero_progressivo_documento = $num_prog_contr[$n_r];
                    }
                    # Ripetizioni degli array all'interno delle parti non ripetute con le prenotazioni
                    unset($contratto_parte2);
                    if (!preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_parte[$n_p]) and str_replace("[r6]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p]) {
                        $contratto_parte2[1] = $contratto_parte[$n_p];
                        $ripeti_parte2[1] = "NO";
                        $num_parti2_contr = 1;
                    } else {
                        $num_parti2_contr = 0;
                        $contratto_restante = $contratto_parte[$n_p];
                        while (preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante) or str_replace("[r6]", "", $contratto_restante) != $contratto_restante) {
                            $contr_vett4 = preg_split("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante);
                            $contr_vett6 = explode("[r6]", $contratto_restante);
                            $l0_cv4 = strlen($contr_vett4[0]);
                            $l0_cv6 = strlen($contr_vett6[0]);
                            if ($l0_cv4 > $l0_cv6) {
                                $contr_vett = $contr_vett6;
                                $tipo_contr_vett = 6;
                            } else {
                                $contr_vett = $contr_vett4;
                                $tipo_contr_vett = 4;
                            }
                            # fine else if ($l0_cv4 > $l0_cv6)
                            if ($contr_vett[0] != "") {
                                $num_parti2_contr++;
                                $contratto_parte2[$num_parti2_contr] = $contr_vett[0];
                                $ripeti_parte2[$num_parti2_contr] = "NO";
                            }
                            # fine if ($contr_vett[0] != "")
                            $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]));
                            if ($tipo_contr_vett == 4) {
                                $arr_ripeti = explode("\"]", $contratto_restante, 2);
                                $arr_ripeti = str_replace("[r4 array=\"", "", $arr_ripeti[0]);
                                $contratto_restante = substr($contratto_restante, strlen("[r4 array=\"{$arr_ripeti}\"]"));
                            } else {
                                $contratto_restante = substr($contratto_restante, 4);
                            }
                            $contr_vett = explode("[/r" . $tipo_contr_vett . "]", $contratto_restante);
                            $num_parti2_contr++;
                            $contratto_parte2[$num_parti2_contr] = $contr_vett[0];
                            $ripeti_parte2[$num_parti2_contr] = "SI";
                            $tipo_parte2[$num_parti2_contr] = $tipo_contr_vett;
                            if ($tipo_contr_vett == 4) {
                                $arr_parte2[$num_parti2_contr] = $arr_ripeti;
                            }
                            $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 5);
                        }
                        # fine while (preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/",$contratto_restante) or...
                        if ($contratto_restante != "") {
                            $num_parti2_contr++;
                            $contratto_parte2[$num_parti2_contr] = $contratto_restante;
                            $ripeti_parte2[$num_parti2_contr] = "NO";
                        }
                        # fine if ($contratto_restante != "")
                    }
                    # fine else if (!preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/",$contratto_parte[$n_p]) and...
                    for ($n_p2 = 1; $n_p2 <= $num_parti2_contr; $n_p2++) {
                        if ($ripeti_parte2[$n_p2] != "SI") {
                            $num_ripeti2 = 1;
                        } else {
                            if ($tipo_parte2[$n_p2] == 4) {
                                if (@is_array(${$arr_parte2[$n_p2]})) {
                                    $num_ripeti2 = count(${$arr_parte2[$n_p2]});
                                    reset(${$arr_parte2[$n_p2]});
                                } else {
                                    $num_ripeti2 = 0;
                                }
                            }
                            # fine if ($tipo_parte2[$n_p2] == 4)
                            if ($tipo_parte2[$n_p2] == 6) {
                                $num_ripeti2 = $num_unita;
                            }
                        }
                        # fine else if ($ripeti_parte2[$n_p2] != "SI")
                        for ($n_r2 = 1; $n_r2 <= $num_ripeti2; $n_r2++) {
                            if ($ripeti_parte2[$n_p2] == "SI") {
                                if ($tipo_parte2[$n_p2] == 4) {
                                    ${$var_arr_nome[$arr_parte2[$n_p2]]} = key(${$arr_parte2[$n_p2]});
                                    next(${$arr_parte2[$n_p2]});
                                }
                                # fine if ($tipo_parte2[$n_p2] == 4)
                                if ($tipo_parte2[$n_p2] == 6) {
                                    $nome_unita = $dati_app_contr[$n_r2]['nome'];
                                    $casa_unita = $dati_app_contr[$n_r2]['casa'];
                                    $piano_unita = $dati_app_contr[$n_r2]['piano'];
                                    $capacita_unita = $dati_app_contr[$n_r2]['capacita'];
                                    $priorita_unita = $dati_app_contr[$n_r2]['priorita'];
                                } elseif ($tipo_parte0[$n_p0] != "6") {
                                    $nome_unita = "";
                                    $casa_unita = "";
                                    $piano_unita = "";
                                    $capacita_unita = "";
                                    $priorita_unita = "";
                                }
                                # fine else if ($tipo_parte2[$n_p2] == 6)
                            } elseif ($tipo_parte0[$n_p0] != "6") {
                                $nome_unita = "";
                                $casa_unita = "";
                                $piano_unita = "";
                                $capacita_unita = "";
                                $priorita_unita = "";
                            }
                            # fine elseif ($tipo_parte0[$n_p0] != "6")
                            $contratto_corr = $contratto_parte2[$n_p2];
                            while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr)) {
                                $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr, 2);
                                $contr_parziale = substr($contratto_corr, strlen($contr_vett[0]));
                                $contratto_corr = $contr_vett[0];
                                $condizione = preg_split("/\" *\\]/", $contr_parziale, 2);
                                $condizione = $condizione[0];
                                $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione));
                                $var_if = trim($val_if[0]);
                                $val_if = $val_if[1];
                                if (str_replace("(", "", $var_if) != $var_if) {
                                    $parti_arr = explode("(", substr($var_if, 0, -1));
                                    if (substr($parti_arr[1], 0, 1) == "'") {
                                        $val_var_if = substr($parti_arr[1], 1, -1);
                                    } else {
                                        $val_var_if = ${$parti_arr[1]};
                                    }
                                    $val_var_if = ${$parti_arr[0]}[$val_var_if];
                                } else {
                                    $val_var_if = ${$var_if};
                                }
                                if (preg_match("/!= *\"/", $condizione)) {
                                    $cond = "!=";
                                } else {
                                    $cond = "=";
                                }
                                $contr_parziale = substr($contr_parziale, strlen($condizione) + 1);
                                while (substr($contr_parziale, 0, 1) == " ") {
                                    $contr_parziale = substr($contr_parziale, 1);
                                }
                                $contr_parziale = substr($contr_parziale, 1);
                                $contr_vett = explode("[/c]", $contr_parziale, 2);
                                $contr_parziale = substr($contr_parziale, strlen($contr_vett[0]) + 4);
                                if ($cond == "=" and $val_var_if == $val_if) {
                                    $contratto_corr .= $contr_vett[0];
                                }
                                if ($cond == "!=" and $val_var_if != $val_if) {
                                    $contratto_corr .= $contr_vett[0];
                                }
                                $contratto_corr .= $contr_parziale;
                            }
                            # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[A-Za-z]+[A-Za-z0-9_]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/",$contratto_corr))
                            $data_inizio_selezione = $data_inizio_selezione_f;
                            $data_fine_selezione = $data_fine_selezione_f;
                            $oggi = $oggi_f;
                            $testo_quotato_email_richiesta = str_replace("<email_richiesta> ", "<{$email}> ", $testo_quotato_email_richiesta_orig);
                            $contratto_r = $contratto_corr;
                            $contr_vett = explode("[", $contratto_r);
                            $num_contr_vett = count($contr_vett);
                            $contr_parziale = "";
                            for ($num1 = 0; $num1 < $num_contr_vett; $num1++) {
                                $contr_parziale .= $contr_vett[$num1] . "[";
                                $resto_contr = substr($contratto_corr, strlen($contr_parziale));
                                $lettera = (string) substr($resto_contr, 0, 1);
                                if ($lettera and preg_replace("/[A-Za-z]/", "", $lettera) == "") {
                                    $num2 = 1;
                                    $lettere_var = $lettera;
                                    $cond = 0;
                                    while ((preg_replace("/[A-Za-z0-9\\(\\)'_]/", "SI", $lettera) == "SI" or $cond == 1) and ($cond != 1 or $lettera != "]" and $lettera != "(")) {
                                        if ($lettera == "'") {
                                            if (!$cond) {
                                                $cond = 1;
                                            } else {
                                                $cond = 2;
                                            }
                                        }
                                        # fine if ($lettera == "'")
                                        $lettera = (string) substr($resto_contr, $num2, 1);
                                        if ($lettera == "]") {
                                            if (str_replace("(", "", str_replace(")", "", str_replace("'", "", $lettere_var))) == $lettere_var) {
                                                if ($incr_np and $lettere_var == "numero_progressivo_documento") {
                                                    if ($num_prog_contr_max and $numero_progressivo_documento > $num_prog_contr_max) {
                                                        $numero_progressivo_documento--;
                                                    }
                                                    $val_if = strstr($contratto_r, "[numero_progressivo_documento]");
                                                    $contratto_r = substr($contratto_r, 0, strlen($val_if) * -1) . $numero_progressivo_documento . substr($val_if, 30);
                                                    $numero_progressivo_documento++;
                                                } else {
                                                    $contratto_r = str_replace("[" . $lettere_var . "]", ${$lettere_var}, $contratto_r);
                                                }
                                            } else {
                                                $parti_arr = explode("(", substr($lettere_var, 0, -1));
                                                if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parti_arr[0]) == "" and preg_replace("/(('[^']*')|([A-Za-z]+[A-Za-z0-9_]*))/", "", $parti_arr[1]) == "") {
                                                    if (substr($parti_arr[1], 0, 1) == "'") {
                                                        $val_var_if = substr($parti_arr[1], 1, -1);
                                                    } else {
                                                        $val_var_if = ${$parti_arr[1]};
                                                    }
                                                    if ($array_date_contr[$parti_arr[0]] == "SI") {
                                                        $contratto_r = str_replace("[" . $lettere_var . "]", formatta_data_contr(${$parti_arr[0]}[$val_var_if], $stile_data), $contratto_r);
                                                    } else {
                                                        $contratto_r = str_replace("[" . $lettere_var . "]", ${$parti_arr[0]}[$val_var_if], $contratto_r);
                                                    }
                                                }
                                                # fine if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/","",$parti_arr[0]) == "" and...
                                            }
                                            # fine else if (str_replace("(","",str_replace(")","",str_replace("'","",$lettere_var))) == $lettere_var)
                                        }
                                        # fine if ($lettera == "]")
                                        $lettere_var .= $lettera;
                                        $num2++;
                                    }
                                    # fine while ((preg_replace("/[A-Za-z0-9\(\)'_]/","SI",$lettera) == "SI" or $cond == 1) and...
                                }
                                # fine ($lettera and preg_replace("/[A-Za-z]/","",$lettera) == "")
                            }
                            # fine for $num1
                            $contratto .= $contratto_r;
                            $data_inizio_selezione = $data_inizio_selezione_orig;
                            $data_fine_selezione = $data_fine_selezione_orig;
                            $oggi = $oggi_orig;
                        }
                        # fine for $n_r2
                    }
                    # fine for $n_p2
                }
                # fine else if ($ripeti_parte[$n_p] == "SI")
            }
            # fine for $n_p
        }
        # fine for $n_r0
    }
    # fine for $n_p0
    if ($tipo_contratto == "contreml") {
        if (!$ripeti_tutto) {
            $contratto .= "</textarea><br>\n</table><table><tr><td style=\"height: 3px;\"></td></tr></table>\n<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">";
        }
        # fine if (!$ripeti_tutto)
        $contratto .= "&nbsp;&nbsp;" . bottone_submit_contr(mex("Spedisci", $pag), "inse") . "\n</div></form>";
    }
    # fine if ($tipo_contratto == "contreml")
    if ($tipo_contratto == "contrrtf") {
        $contratto = str_replace("&quot;", "\"", $contratto);
        $contratto = str_replace("&#039;", "'", $contratto);
        $contratto = str_replace("&lt;", "<", $contratto);
        $contratto = str_replace("&gt;", ">", $contratto);
        $contratto = str_replace("&amp;", "&", $contratto);
        $contratto = str_replace("ñ", "\\u241\\'f1", $contratto);
        $contratto = str_replace("à", "\\u224\\'e0", $contratto);
        $contratto = str_replace("è", "\\u232\\'e8", $contratto);
        $contratto = str_replace("ì", "\\u236\\'ec", $contratto);
        $contratto = str_replace("ò", "\\u242\\'f2", $contratto);
        $contratto = str_replace("ù", "\\u249\\'f9", $contratto);
        $contratto = str_replace("á", "\\u225\\'e1", $contratto);
        $contratto = str_replace("é", "\\u233\\'e9", $contratto);
        $contratto = str_replace("í", "\\u237\\'ed", $contratto);
        $contratto = str_replace("ó", "\\u243\\'f3", $contratto);
        $contratto = str_replace("ú", "\\u250\\'fa", $contratto);
        $contratto = str_replace("ä", "\\u228\\'e4", $contratto);
        $contratto = str_replace("ö", "\\u246\\'f6", $contratto);
        $contratto = str_replace("ü", "\\u252\\'fc", $contratto);
        $contratto = str_replace("ß", "\\u223\\'df", $contratto);
        $contratto = str_replace("ç", "\\u231\\'e7", $contratto);
        $contratto = str_replace("ã", "\\u227\\'e3", $contratto);
        $contratto = str_replace("õ", "\\u245\\'f5", $contratto);
        $contratto = str_replace("ø", "\\u248\\'f8", $contratto);
        $contratto = str_replace("€", "\\u8364\\'80", $contratto);
        $contratto = str_replace("°", "\\u176\\'b0", $contratto);
        $contratto = str_replace("’", "\\u8217\\'92", $contratto);
        $contratto = str_replace("Ñ", "\\u209\\'d1", $contratto);
        $contratto = str_replace("À", "\\u192\\'c0", $contratto);
        $contratto = str_replace("È", "\\u200\\'c8", $contratto);
        $contratto = str_replace("Ì", "\\u204\\'cc", $contratto);
        $contratto = str_replace("Ò", "\\u210\\'d2", $contratto);
        $contratto = str_replace("Ù", "\\u217\\'d9", $contratto);
        $contratto = str_replace("Á", "\\u193\\'c1", $contratto);
        $contratto = str_replace("É", "\\u201\\'c9", $contratto);
        $contratto = str_replace("Í", "\\u205\\'cd", $contratto);
        $contratto = str_replace("Ó", "\\u211\\'d3", $contratto);
        $contratto = str_replace("Ú", "\\u218\\'da", $contratto);
        $contratto = str_replace("Ä", "\\u196\\'c4", $contratto);
        $contratto = str_replace("Ö", "\\u214\\'d6", $contratto);
        $contratto = str_replace("Ü", "\\u220\\'dc", $contratto);
        $contratto = str_replace("Ç", "\\u199\\'c7", $contratto);
        $contratto = str_replace("Ã", "\\u195\\'c3", $contratto);
        $contratto = str_replace("Õ", "\\u213\\'d5", $contratto);
        $contratto = str_replace("Ø", "\\u216\\'d8", $contratto);
        $contratto = str_replace("Α", "\\u913\\'91", $contratto);
        $contratto = str_replace("α", "\\u945\\'b1", $contratto);
        $contratto = str_replace("Β", "\\u914\\'92", $contratto);
        $contratto = str_replace("β", "\\u946\\'b2", $contratto);
        $contratto = str_replace("Γ", "\\u915\\'93", $contratto);
        $contratto = str_replace("γ", "\\u947\\'b3", $contratto);
        $contratto = str_replace("Δ", "\\u916\\'94", $contratto);
        $contratto = str_replace("δ", "\\u948\\'b4", $contratto);
        $contratto = str_replace("Ε", "\\u917\\'95", $contratto);
        $contratto = str_replace("ε", "\\u949\\'b5", $contratto);
        $contratto = str_replace("Ζ", "\\u918\\'96", $contratto);
        $contratto = str_replace("ζ", "\\u950\\'b6", $contratto);
        $contratto = str_replace("Η", "\\u919\\'97", $contratto);
        $contratto = str_replace("η", "\\u951\\'b7", $contratto);
        $contratto = str_replace("Θ", "\\u920\\'98", $contratto);
        $contratto = str_replace("θ", "\\u952\\'b8", $contratto);
        $contratto = str_replace("Ι", "\\u921\\'99", $contratto);
        $contratto = str_replace("ι", "\\u953\\'b9", $contratto);
        $contratto = str_replace("Κ", "\\u922\\'9a", $contratto);
        $contratto = str_replace("κ", "\\u954\\'ba", $contratto);
        $contratto = str_replace("Λ", "\\u923\\'9b", $contratto);
        $contratto = str_replace("λ", "\\u955\\'bb", $contratto);
        $contratto = str_replace("Μ", "\\u924\\'9c", $contratto);
        $contratto = str_replace("μ", "\\u956\\'bc", $contratto);
        $contratto = str_replace("Ν", "\\u925\\'9d", $contratto);
        $contratto = str_replace("ν", "\\u957\\'bd", $contratto);
        $contratto = str_replace("Ξ", "\\u926\\'9e", $contratto);
        $contratto = str_replace("ξ", "\\u958\\'be", $contratto);
        $contratto = str_replace("Ο", "\\u927\\'9f", $contratto);
        $contratto = str_replace("ο", "\\u959\\'bf", $contratto);
        $contratto = str_replace("Π", "\\u928\\'a0", $contratto);
        $contratto = str_replace("π", "\\u960\\'c0", $contratto);
        $contratto = str_replace("Ρ", "\\u929\\'a1", $contratto);
        $contratto = str_replace("ρ", "\\u961\\'c1", $contratto);
        $contratto = str_replace("Σ", "\\u931\\'a3", $contratto);
        $contratto = str_replace("σ", "\\u963\\'c3", $contratto);
        $contratto = str_replace("ς", "\\u962\\'c2", $contratto);
        $contratto = str_replace("Τ", "\\u932\\'a4", $contratto);
        $contratto = str_replace("τ", "\\u964\\'c4", $contratto);
        $contratto = str_replace("Υ", "\\u933\\'a5", $contratto);
        $contratto = str_replace("υ", "\\u965\\'c5", $contratto);
        $contratto = str_replace("Φ", "\\u934\\'a6", $contratto);
        $contratto = str_replace("φ", "\\u966\\'c6", $contratto);
        $contratto = str_replace("Χ", "\\u935\\'a7", $contratto);
        $contratto = str_replace("χ", "\\u967\\'c7", $contratto);
        $contratto = str_replace("Ψ", "\\u936\\'a8", $contratto);
        $contratto = str_replace("ψ", "\\u968\\'c8", $contratto);
        $contratto = str_replace("Ω", "\\u937\\'a9", $contratto);
        $contratto = str_replace("ω", "\\u969\\'c9", $contratto);
        $contratto = str_replace("Ά", "\\u902\\'86", $contratto);
        $contratto = str_replace("ά", "\\u940\\'ce", $contratto);
        $contratto = str_replace("Ό", "\\u908\\'8c", $contratto);
        $contratto = str_replace("ό", "\\u972\\'cf", $contratto);
        $contratto = str_replace("Ή", "\\u905\\'89", $contratto);
        $contratto = str_replace("ή", "\\u942\\'ce", $contratto);
        $contratto = str_replace("Ί", "\\u906\\'8a", $contratto);
        $contratto = str_replace("ί", "\\u943\\'ce", $contratto);
        $contratto = str_replace("Ύ", "\\u910\\'8e", $contratto);
        $contratto = str_replace("ύ", "\\u973\\'cf", $contratto);
        $contratto = str_replace("Ώ", "\\u911\\'8f", $contratto);
        $contratto = str_replace("ώ", "\\u974\\'cf", $contratto);
        $contratto = str_replace("Έ", "\\u904\\'88", $contratto);
        $contratto = str_replace("έ", "\\u941\\'ce", $contratto);
        $contratto = str_replace("ý", "\\u253\\'fd", $contratto);
        $contratto = str_replace("ž", "\\u382\\'9e", $contratto);
        $contratto = str_replace("ř", "\\u345\\'3f", $contratto);
        $contratto = str_replace("č", "\\u269\\'3f", $contratto);
        $contratto = str_replace("š", "\\u353\\'9a", $contratto);
        $contratto = str_replace("ě", "\\u283\\'3f", $contratto);
        $contratto = str_replace("ů", "\\u367\\'3f", $contratto);
        $contratto = str_replace("Ý", "\\u221\\'dd", $contratto);
        $contratto = str_replace("Ž", "\\u381\\'8e", $contratto);
        $contratto = str_replace("Ř", "\\u344\\'3f", $contratto);
        $contratto = str_replace("Č", "\\u268\\'3f", $contratto);
        $contratto = str_replace("Š", "\\u352\\'8a", $contratto);
        $contratto = str_replace("Ě", "\\u282\\'3f", $contratto);
        $contratto = str_replace("Ů", "\\u366\\'3f", $contratto);
    }
    # fine if ($tipo_contratto == "contrrtf")
    if ($filecontr and !$ripeti_tutto and !$messaggio_di_errore) {
        if ($incr_np) {
            if ($numero_progressivo_documento > $num_prog_contr[1] + 1) {
                $val_if = $numero_progressivo_documento - 1;
                for ($num1 = strlen($val_if); $num1 < 5; $num1++) {
                    $val_if = "0" . $val_if;
                }
                $nome_file_contr[1] = str_replace(" ", "-{$val_if}", $nome_file_contr[1]);
            } else {
                $nome_file_contr[1] = str_replace(" ", "", $nome_file_contr[1]);
            }
            if ($nomi_contratti['compress'][$numero_contratto]) {
                $nome_file_contr[1] .= ".gz";
                $lock_compress[1] = crea_lock_file($nome_file_contr[1]);
                $filecontr[1] = gzopen($dir_salva . "/" . $nome_file_contr[1], "wb9");
            } else {
                $filecontr[1] = fopen($dir_salva . "/" . $nome_file_contr[1], "w+");
                flock($filecontr[1], 2);
            }
            # fine else if ($nomi_contratti['compress'][$numero_contratto])
        }
        # fine if ($incr_np)
        if ($nomi_contratti['compress'][$numero_contratto]) {
            gzwrite($filecontr[1], $contratto);
            gzclose($filecontr[1]);
            distruggi_lock_file($lock_compress[1], $nome_file_contr[1]);
        } else {
            fwrite($filecontr[1], $contratto);
            flock($filecontr[1], 3);
            fclose($filecontr[1]);
        }
        # fine else if ($nomi_contratti['compress'][$numero_contratto])
    }
    # fine if ($filecontr and !$ripeti_tutto and !$messaggio_di_errore)
    if ($incr_np) {
        flock($filelock, 3);
        fclose($filelock);
        unlink(C_DATA_PATH . "/crea_contr.lock");
    }
    # fine if ($incr_np)
    return $contratto;
}
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;
}
Example #5
0
         }
         echo ".<br>";
     }
     # fine if (controlla_soldi(${"sconto".$n_t}) == "NO" or...
     ${"caparra" . $n_t} = formatta_soldi(${"caparra" . $n_t});
     if (controlla_soldi(${"caparra" . $n_t}) == "NO") {
         $inserire = "NO";
         echo ucfirst(mex("la caparra è sbagliata", $pag));
         if ($num_tipologie > 1) {
             echo "(" . mex("tipologia", $pag) . " {$n_t})";
         }
         echo ".<br>";
     }
     # fine if (controlla_soldi(${"caparra".$n_t}) == "NO")
     ${"commissioni" . $n_t} = formatta_soldi(${"commissioni" . $n_t});
     if (controlla_soldi(${"commissioni" . $n_t}) == "NO") {
         $inserire = "NO";
         echo ucfirst(mex("le commissioni sono sbagliate", $pag));
         if ($num_tipologie > 1) {
             echo "(" . mex("tipologia", $pag) . " {$n_t})";
         }
         echo ".<br>";
     }
     # fine if (controlla_soldi(${"commissioni".$n_t}) == "NO")
 }
 # fine else if ($tipotariffa == "")
 if ($cognome == "") {
     $inserire = "NO";
 }
 # fine if ($cognome == "")
 unset(${"num_letti_agg" . $n_t});
} # fine else if ($d_caparra > $n_costo_tot)
} # fine else if (strcmp($n_caparra,""))

if ($n_met_paga_caparra and $priv_mod_caparra == "s") {
echo mex("Il metodo di pagamento della caparra verrà cambiato a",$pag)." \"<b>$n_met_paga_caparra</b>\"$per_la_prenotazione.<br>";
$met_paga_caparra = $n_met_paga_caparra;
} # fine if ($n_met_paga_caparra and $priv_mod_caparra == "s")
else $met_paga_caparra = $d_met_paga_caparra;

if (strcmp($n_commissioni,"")) {
$d_commissioni_p = punti_in_num($d_commissioni,$stile_soldi);
$n_commissioni_p = punti_in_num($n_commissioni,$stile_soldi);
echo mex("Le commissioni verranno cambiate da",$pag)." <b>$d_commissioni_p</b> ".mex("a",$pag)." <b>$n_commissioni_p</b> $Euro$per_la_prenotazione.<br>";
} # fine if (strcmp($n_commissioni,""))

if ($priv_mod_pagato != "s" or controlla_soldi($n_pagato,"SI") == "NO") {
unset($modo_aggiorna_pagato);
unset($n_pagato);
} # fine if ($priv_mod_pagato != "s" or controlla_soldi($n_pagato,"SI") == "NO")
if ($modo_aggiorna_pagato == "caparra") $n_pagato = $caparra;
if ($modo_aggiorna_pagato == "tutto") $n_pagato = $n_costo_tot;
if ($n_pagato != "") {
if ($modo_aggiorna_pagato == "aggiungi") $n_pagato = $d_pagato + $n_pagato;
if ($n_pagato > $n_costo_tot) {
echo mex("La cifra <div style=\"display: inline; color: red;\">pagata</div> inserita",$pag)." (<b>$n_pagato</b>) ".mex("supera il costo totale",$pag)." (<b>$n_costo_tot</b>)$per_la_prenotazione.<br>";
$inserire = "NO";
} # fine if ($n_pagato > $n_costo_tot)
else {
$d_pagato_p = punti_in_num($d_pagato,$stile_soldi);
$n_pagato_p = punti_in_num($n_pagato,$stile_soldi);
$diff_pagato = ($n_pagato - $d_pagato);
if (numlin_query($esiste_costo) > 0) {
$messaggio_errore = mex("Costo aggiuntivo già esistente",$pag).".<br>";
$errore = "SI";
} # fine if (numlin_query($esiste_costo) > 0)
} # fine if ($errore != "SI" and...

$valore_f_ca = formatta_soldi($valore_f_ca);
$valore_p_ca = formatta_soldi($valore_p_ca);
$arrotonda_ca = formatta_soldi($arrotonda_ca);
$tasseperc_ca = formatta_soldi($tasseperc_ca);
if (!strcmp($valore_f_ca,"") and !strcmp($valore_p_ca,"")) $errore = "SI";
if (strcmp($valore_f_ca,"") and controlla_soldi($valore_f_ca) == "NO") $errore = "SI";
if (strcmp($valore_p_ca,"") and (controlla_soldi($valore_p_ca) == "NO" or !strcmp($arrotonda_ca,"") or controlla_soldi($arrotonda_ca,"SI") == "NO")) $errore = "SI";
if ($valore_p_ca and $tipo_percentuale != "tariffa" and $tipo_percentuale != "tariffafissa" and $tipo_percentuale != "tariffapers" and $tipo_percentuale != "totale" and $tipo_percentuale != "caparra" and $tipo_percentuale != "resto") $errore = "SI";
if ($valore_p_ca and $tipo_ca == "s" and substr($tipo_percentuale,0,7) != "tariffa") { $errore = "SI"; $conflitti .= "2-3;"; }
if (($tasseperc_ca and controlla_soldi($tasseperc_ca) == "NO") or $tasseperc_ca > 100 or $tasseperc_ca < 0) $errore = "SI";
if ($tipo_tasse != "p" and $tipo_tasse != "t") $errore = "SI";

$associa_tariffe_prec = 0;
if ($tipo_ca != "s") $associasett = "";
if ($tipo_ca == "s" and $associasett == "") $errore = "SI";
if ($valore_p_ca and $associasett == "n") { $errore = "SI"; $conflitti .= "3-10;"; }
if ($associasett != "" and $associasett != "n" and $associasett != "s") $errore = "SI";
$associa_tariffe = "n";
for ($numtariffa = 1 ; $numtariffa <= $numero_tariffe ; $numtariffa++) {
if ($attiva_tariffe_consentite == "n" or $tariffe_consentite_vett[$numtariffa] == "SI") {
$tariffa = "tariffa".$numtariffa;
if (${"sel".$tariffa} != "" and ${"sel".$tariffa} != "s") $errore = "SI";
if (${"minmax".$tariffa} != "" and ${"minmax".$tariffa} != "min" and ${"minmax".$tariffa} != "max" and ${"minmax".$tariffa} != "eq" and ${"minmax".$tariffa} != "tra") $errore = "SI";
if (${"valminmax".$tariffa} and (controlla_num_pos(${"valminmax".$tariffa}) == "NO" or ${"valminmax".$tariffa} == 0)) $errore = "SI";
if (${"sel".$tariffa} and ${"minmax".$tariffa} and !${"valminmax".$tariffa}) $errore = "SI";
Example #8
0
if ($crea_ca) {
$prezzo_costo_agg = formatta_soldi($prezzo_costo_agg);
if (strcmp($prezzo_costo_agg,"") and controlla_soldi($prezzo_costo_agg) == "SI") {
if (get_magic_quotes_gpc()) $nome_costo_agg = stripslashes($nome_costo_agg);
$costiagg_esist = esegui_query("select * from $tablenometariffe where nomecostoagg = '".aggslashdb($nome_costo_agg)."' and idntariffe > 10 ");
if (!numlin_query($costiagg_esist)) {
include_once("./includes/funzioni_costi_agg.php");
$idntariffe = esegui_query("select numlimite_ca from $tablenometariffe where idntariffe = 1");
$idntariffe = risul_query($idntariffe,0,0);
if ($tipoid == "idappartamento") $beniinv_ca = "app";
else $beniinv_ca = "mag$idmag";
$beniinv_ca .= ";$n_id,1";
esegui_query("insert into $tablenometariffe (idntariffe,nomecostoagg,tipo_ca,valore_ca,moltiplica_ca,beniinv_ca,variazione_ca,mostra_ca,letto_ca,regoleassegna_ca,utente_inserimento) values ('$idntariffe','".aggslashdb($nome_costo_agg)."','uf','$prezzo_costo_agg','cx0,','$beniinv_ca','nnnnnnsnn','nsns','n',';','$id_utente')");
$tasseperc_ca = formatta_soldi($tasseperc_ca);
if (controlla_soldi($tasseperc_ca) == "SI" and $tasseperc_ca <= 100 and $tasseperc_ca > 0) {
esegui_query("update $tablenometariffe set tasseperc_ca = '".aggslashdb($tasseperc_ca)."' where idntariffe = '$idntariffe' ");
} # fine if (controlla_soldi($tasseperc_ca) == "SI" and $tasseperc_ca <= 100 and $tasseperc_ca > 0)
if ($tipo_categoria_ca != "ce") $categoria = $n_categoria_ca;
else $categoria = $categoria_esist_ca;
if ($categoria) {
if (get_magic_quotes_gpc()) $categoria = stripslashes($categoria);
esegui_query("update $tablenometariffe set categoria_ca = '".aggslashdb($categoria)."' where idntariffe = '$idntariffe' ");
} # fine if ($categoria)
aggiorna_privilegi_ins_costo($idntariffe,$tableprivilegi,$id_utente,$anno,$attiva_costi_agg_consentiti,$priv_ins_costi_agg,$utenti_gruppi);
$idntariffe++;
esegui_query("update $tablenometariffe set numlimite_ca = '$idntariffe' where idntariffe = 1");
$frase_modifica .= "<form accept-charset=\"utf-8\" method=\"post\" action=\"modifica_costi.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"idntariffe\" value=\"".($idntariffe - 1)."\">
if ($pos_trunc2 != "ini" and $pos_trunc2 != "fin") $continua = "NO";
$testo .= "trunc#%?$var_trunc#%?$val_trunc#%?$val_trunc2#%?$pos_trunc2";
} # fine if ($azione == "trunc")
if ($azione == "oper") {
controlla_var_allora($var_oper,$continua,$contr_cond);
controlla_var_se($var_oper2,$continua,$var_predef,$num_var_predef,$contr_cond);
if ($operatore != "+" and $operatore != "-" and $operatore != "*" and $operatore != "/") $continua = "NO";
if ($tipo_val_oper != "txt" and $tipo_val_oper != "var") $continua = "NO";
if ($tipo_val_oper == "txt") {
$val_oper = formatta_soldi($val_oper_txt);
if (controlla_soldi($val_oper,"NO") == "NO") $continua = "NO";
if ($operatore == "/" and !$val_oper) $continua = "NO";
} # fine if ($tipo_val_oper == "txt")
else $val_oper = controlla_var_se($val_oper_sel,$continua,$var_predef,$num_var_predef,$contr_cond);
$val_arrotond = formatta_soldi($val_arrotond);
if (controlla_soldi($val_arrotond) == "NO") $continua = "NO";
if ($operatore == "/" and !$val_arrotond) $continua = "NO";
if (strcmp($val_arrotond,"") and !strcmp(str_replace("0","",$val_arrotond),"")) $continua = "NO";
$testo .= "oper#%?$var_oper#%?$var_oper2#%?$operatore#%?$tipo_val_oper#%?$val_oper#%?$val_arrotond";
} # fine if ($azione == "oper")
if ($azione == "date") {
controlla_var_allora($var_data,$continua,$contr_cond);
controlla_var_se($var_data2,$continua,$var_predef,$num_var_predef,$contr_cond);
if ($subdata != "gi" and $subdata != "me" and $subdata != "an" and $subdata != "gs" and $subdata != "is" and $subdata != "da") $continua = "NO";
if ($oper_giorni != "+" and $oper_giorni != "-") $continua = "NO";
if (!strcmp($num_giorni,"") or controlla_num_pos($num_giorni) == "NO") $continua = "NO";
if ($num_giorni and $oper_giorni == "-") $num_giorni = ($num_giorni * -1);
if ($tipo_giorni != "g" and $tipo_giorni != "m" and $tipo_giorni != "a") $continua = "NO";
$testo .= "date#%?$var_data#%?$var_data2#%?$subdata#%?$num_giorni#%?$tipo_giorni";
} # fine if ($azione == "date")
if ($azione == "unset") {
function esegui_modifiche_prenotazione(&$inserire, &$cancellata, $id_prenota_int, $id_prenota_idpr, $num_id_prenota, $id_transazione, $id_sessione, $anno, $id_nuovo_utente_inserimento, $n_stima_checkin, $n_met_paga_caparra, $n_origine_prenota, $n_pagato, $n_confermato, $tipo_commento, $n_commento, $n_cancella_commento, $tableprenota_da_aggiornare, $tipo_sposta, $dati_da_anno_prec, $prenota_in_anno_succ, $tra_anni, $PHPR_TAB_PRE)
{
    global $id_utente, $priv_mod_checkin, $attiva_regole1_consentite, $regole1_consentite, $attiva_tariffe_consentite, $tariffe_consentite_vett, $priv_mod_date, $priv_ins_periodi_passati, $priv_mod_commento, $priv_mod_sconto, $priv_mod_caparra, $priv_mod_pagato, $priv_mod_orig_prenota, $d_commento, $cassa_pagamenti;
    global $dati_ca, $d_id_utente_inserimento_idpr, $d_appartamento_idpr, $d_id_data_inizio_idpr, $d_nome_tariffa_idpr, $d_app_eliminati_costi_idpr, $d_checkin_idpr, $d_checkout_idpr, $d_prenota_comp_idpr, $fineperiodo_orig;
    global $id_prenota_orig, $tableperiodi_orig, $tableprenota_orig, $tablecostiprenota_orig, $tableperiodi_prec, $tableprenota_prec, $tablecostiprenota_prec, $stile_data;
    $pag = "modifica_prenota.php";
    $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno;
    $tableprenota = $PHPR_TAB_PRE . "prenota" . $anno;
    $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno;
    $tableregole = $PHPR_TAB_PRE . "regole" . $anno;
    $tablesoldi = $PHPR_TAB_PRE . "soldi" . $anno;
    $tableappartamenti = $PHPR_TAB_PRE . "appartamenti";
    $tableclienti = $PHPR_TAB_PRE . "clienti";
    $tablepersonalizza = $PHPR_TAB_PRE . "personalizza";
    $tabletransazioni = $PHPR_TAB_PRE . "transazioni";
    $tableutenti = $PHPR_TAB_PRE . "utenti";
    $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno;
    $tablerelinventario = $PHPR_TAB_PRE . "relinventario";
    $tablecache = $PHPR_TAB_PRE . "cache";
    $tablecosti = $PHPR_TAB_PRE . "costi" . $anno;
    $file_interconnessioni = C_DATA_PATH . "/dati_interconnessioni.php";
    if ($tableprenota_da_aggiornare == "SI") {
        if (@is_file($file_interconnessioni)) {
            include $file_interconnessioni;
            if (@is_array($ic_present)) {
                $dati_transaz = recupera_dati_transazione($id_transazione, $id_sessione, $anno, "SI", $tipo_transaz);
                if ($tipo_transaz == "mod_p" and risul_query($dati_transaz, 0, 'dati_transazione11') == "SI") {
                    unset($interconnection_name);
                    $interconn_dir = opendir("./includes/interconnect/");
                    while ($mod_ext = readdir($interconn_dir)) {
                        if ($mod_ext != "." and $mod_ext != ".." and @is_dir("./includes/interconnect/{$mod_ext}")) {
                            include "./includes/interconnect/{$mod_ext}/name.php";
                            if ($ic_present[$interconnection_name] == "SI") {
                                include "./includes/interconnect/{$mod_ext}/functions_import.php";
                                $funz_import_reservations = "import_reservations_" . $interconnection_name;
                                $id_utente_origi = $id_utente;
                                $id_utente = 1;
                                $funz_import_reservations("", "", $file_interconnessioni, $anno, $PHPR_TAB_PRE, 2, $id_utente, $HOSTNAME);
                                $id_utente = $id_utente_origi;
                            }
                            # fine if ($ic_present[$interconnection_name] == "SI")
                        }
                        # fine if ($modello_ext != "." and $modello_ext != ".." and...
                    }
                    # fine while ($mod_ext = readdir($interconn_dir))
                    closedir($interconn_dir);
                }
                # fine if ($tipo_transaz == "mod_p" and risul_query($dati_transazione,0,'dati_transazione11') == "SI")
            }
            # fine if (@is_array($ic_present))
        }
        # fine if (@is_file($file_interconnessioni))
        $tableprenota_da_aggiornare = "";
    }
    # fine if ($tableprenota_da_aggiornare == "SI")
    if ($dati_da_anno_prec == "SI" or $prenota_in_anno_succ) {
        if (@is_file($file_interconnessioni)) {
            $tabelle_lock = array($tableprenota_prec, $tableprenota_orig, $tablecostiprenota_prec, $tablecostiprenota_orig, $tablerelinventario, $tabletransazioni, $tablecache);
        } else {
            $tabelle_lock = array($tableprenota_prec, $tableprenota_orig, $tablecostiprenota_prec, $tablecostiprenota_orig, $tablerelinventario, $tabletransazioni);
        }
        $altre_tab_lock = array($tablenometariffe, $tableperiodi_prec, $tableperiodi_orig, $tableappartamenti, $tableregole, $tablepersonalizza, $tableutenti);
    } else {
        if (@is_file($file_interconnessioni)) {
            $tabelle_lock = array($tableprenota, $tablecostiprenota, $tablerelinventario, $tabletransazioni, $tablecache);
        } else {
            $tabelle_lock = array($tableprenota, $tablecostiprenota, $tablerelinventario, $tabletransazioni);
        }
        $altre_tab_lock = array($tablenometariffe, $tableperiodi, $tableappartamenti, $tableregole, $tablepersonalizza, $tableutenti);
    }
    # fine else if ($dati_da_anno_prec == "SI")
    $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock);
    $dati_transazione = recupera_dati_transazione($id_transazione, $id_sessione, $anno, "NO", $tipo_transazione);
    if ($tipo_transazione != "mod_p") {
        $inserire = "NO";
    } else {
        if ("," . $id_prenota_int . "," != risul_query($dati_transazione, 0, 'dati_transazione1')) {
            $inserire = "NO";
        }
    }
    if ($inserire != "NO") {
        $d_data_inserimento = risul_query($dati_transazione, 0, 'dati_transazione2');
        $d_host_inserimento = risul_query($dati_transazione, 0, 'dati_transazione3');
        $n_costo_tot_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione4'));
        $n_inizioperiodo = risul_query($dati_transazione, 0, 'dati_transazione5');
        $n_fineperiodo = risul_query($dati_transazione, 0, 'dati_transazione6');
        $n_appartamento_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione7'));
        $n_assegnazioneapp_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione8'));
        $n_lista_app_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione9'));
        $n_numpersone_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione10'));
        $tableprenota_da_aggiornare = risul_query($dati_transazione, 0, 'dati_transazione11');
        $n_nometipotariffa_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione12'));
        $n_costo_tariffa_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione13'));
        $costi_aggiuntivi_modificati_int_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione14'));
        $costi_aggiuntivi_da_inserire_int_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione15'));
        $n_sconto_caparra_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione16'));
        unset($n_sconto_idpr);
        unset($n_caparra_idpr);
        unset($n_commissioni_idpr);
        for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
            $id_prenota = $id_prenota_idpr[$num_idpr];
            if ($tipo_sposta == "fisso" and strcmp($n_appartamento_idpr[$id_prenota], "")) {
                $n_assegnazioneapp_idpr[$id_prenota] = "k";
            }
            $n_sconto = explode("#@&", $n_sconto_caparra_idpr[$id_prenota]);
            if (strcmp($n_sconto[1], "")) {
                $n_caparra = (double) $n_sconto[1];
            } else {
                $n_caparra = "";
            }
            if (strcmp($n_sconto[2], "")) {
                $n_commissioni = (double) $n_sconto[2];
            } else {
                $n_commissioni = "";
            }
            if (strcmp($n_sconto[0], "")) {
                $n_sconto = (double) $n_sconto[0];
            } else {
                $n_sconto = "";
            }
            $n_sconto_idpr[$id_prenota] = $n_sconto;
            $n_caparra_idpr[$id_prenota] = $n_caparra;
            $n_commissioni_idpr[$id_prenota] = $n_commissioni;
        }
        # fine for $num_idpr
        $n_tariffesettimanali_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione17'));
        $id_per_corr_finto = (string) risul_query($dati_transazione, 0, 'dati_transazione18');
        $prenota_comp_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione19'));
        $n_app_eliminati_costi_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione20'));
        if (get_magic_quotes_gpc()) {
            $n_pagato = stripslashes($n_pagato);
            $n_confermato = stripslashes($n_confermato);
        }
        # fine if (get_magic_quotes_gpc())
        $n_pagato_idpr = unserialize($n_pagato);
        $n_confermato_idpr = unserialize($n_confermato);
        esegui_query("delete from {$tabletransazioni} where  idtransazioni = '{$id_transazione}' and idsessione = '{$id_sessione}'");
        if ($tableprenota_da_aggiornare) {
            $spostamenti = risul_query($dati_transazione, 0, 'spostamenti');
            $spostamenti = explode(",", $spostamenti);
        }
        # fine if ($tableprenota_da_aggiornare)
        unset($dati_prenota_idpr);
        unset($beniinv_presenti);
        unset($num_ripetizioni_costo_mod_idpr);
        unset($num_ripetizioni_costo_ins_idpr);
        unset($n_tipotariffa_idpr);
        $d_data_inserimento_idpr = explode(",", $d_data_inserimento);
        $d_host_inserimento_idpr = explode(",", $d_host_inserimento);
        if (get_magic_quotes_gpc()) {
            $n_met_paga_caparra = stripslashes($n_met_paga_caparra);
        }
        $n_met_paga_caparra = htmlspecialchars($n_met_paga_caparra);
        for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
            $id_prenota = $id_prenota_idpr[$num_idpr];
            $d_checkin = $d_checkin_idpr[$id_prenota];
            $d_id_data_inizio = $d_id_data_inizio_idpr[$id_prenota];
            $n_costo_tot = $n_costo_tot_idpr[$id_prenota];
            $n_appartamento = $n_appartamento_idpr[$id_prenota];
            $n_assegnazioneapp = $n_assegnazioneapp_idpr[$id_prenota];
            $n_lista_app = $n_lista_app_idpr[$id_prenota];
            $n_numpersone = $n_numpersone_idpr[$id_prenota];
            $n_nometipotariffa = $n_nometipotariffa_idpr[$id_prenota];
            $n_costo_tariffa = $n_costo_tariffa_idpr[$id_prenota];
            $costi_aggiuntivi_modificati_int = $costi_aggiuntivi_modificati_int_idpr[$id_prenota];
            $costi_aggiuntivi_da_inserire_int = $costi_aggiuntivi_da_inserire_int_idpr[$id_prenota];
            $n_sconto = $n_sconto_idpr[$id_prenota];
            $n_caparra = $n_caparra_idpr[$id_prenota];
            $n_commissioni = $n_commissioni_idpr[$id_prenota];
            $n_tariffesettimanali = $n_tariffesettimanali_idpr[$id_prenota];
            $prenota_comp = $prenota_comp_idpr[$id_prenota];
            $n_pagato = $n_pagato_idpr[$id_prenota];
            $n_confermato = $n_confermato_idpr[$id_prenota];
            global ${"dati_cap" . $id_prenota}, ${"metodo_pagamento" . $id_prenota};
            $dati_cap = ${"dati_cap" . $id_prenota};
            unset($num_costi_presenti);
            $dati_prenota_idpr[$id_prenota] = esegui_query("select * from {$tableprenota} where idprenota = '{$id_prenota}' and idclienti != '0'");
            $num_dati_prenota = numlin_query($dati_prenota_idpr[$id_prenota]);
            if ($num_dati_prenota == 0) {
                $inserire = "NO";
                $cancellata = "SI";
            } else {
                $n_data_inserimento = risul_query($dati_prenota_idpr[$id_prenota], 0, 'datainserimento');
                $n_host_inserimento = risul_query($dati_prenota_idpr[$id_prenota], 0, 'hostinserimento');
                if ($n_data_inserimento != $d_data_inserimento_idpr[$num_idpr] or $n_host_inserimento != $d_host_inserimento_idpr[$num_idpr]) {
                    $inserire = "NO";
                    $cancellata = "SI";
                    $inizioperiodo = "";
                    $fineperiodo = "";
                }
                # fine if ($n_data_inserimento != $d_data_inserimento_idpr[$num_idpr] or ...
                if ($n_appartamento != "") {
                    $appartamento = $n_appartamento;
                } else {
                    $appartamento = risul_query($dati_prenota_idpr[$id_prenota], 0, 'idappartamenti');
                }
                if ($n_numpersone != "") {
                    $numpersone = $n_numpersone;
                } else {
                    $numpersone = risul_query($dati_prenota_idpr[$id_prenota], 0, 'num_persone');
                }
                if (!$numpersone) {
                    $numpersone = 0;
                }
                if ($n_assegnazioneapp != "") {
                    $assegnazioneapp = $n_assegnazioneapp;
                } else {
                    $assegnazioneapp = risul_query($dati_prenota_idpr[$id_prenota], 0, 'assegnazioneapp');
                }
                if ($n_lista_app != "") {
                    $lista_app = $n_lista_app;
                } else {
                    $lista_app = risul_query($dati_prenota_idpr[$id_prenota], 0, 'app_assegnabili');
                }
                if ($n_inizioperiodo != "") {
                    $inizioperiodo = $n_inizioperiodo;
                } else {
                    $inizioperiodo = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatainizio');
                }
                if ($n_fineperiodo != "") {
                    $fineperiodo = $n_fineperiodo;
                } else {
                    $fineperiodo = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatafine');
                }
            }
            # fine else if ($num_dati_prenota == 0)
            if ($n_stima_checkin) {
                $n_stima_checkin = aggslashdb($n_stima_checkin);
                if ($priv_mod_checkin != "s") {
                    $inserire = "NO";
                }
                if (!preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/", $n_stima_checkin)) {
                    $inserire = "NO";
                } else {
                    $id_stima_checkin = esegui_query("select idperiodi from {$tableperiodi} where datainizio <= '" . substr($n_stima_checkin, 0, 10) . "' and datafine > '" . substr($n_stima_checkin, 0, 10) . "' ");
                    if (numlin_query($id_stima_checkin) == 1) {
                        $id_stima_checkin = risul_query($id_stima_checkin, 0, 'idperiodi');
                        if ($id_stima_checkin > $fineperiodo + 1) {
                            $inserire = "NO";
                        }
                        if ($id_stima_checkin < $inizioperiodo) {
                            $inserire = "NO";
                        }
                    } else {
                        $inserire = "NO";
                    }
                    if ($d_checkin) {
                        $inserire = "NO";
                    }
                }
                # fine else if (!preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/",$n_stima_checkin))
            }
            # fine if ($n_stima_checkin)
            $appartamento_esistente = esegui_query("select idappartamenti,maxoccupanti from {$tableappartamenti} where idappartamenti = '{$appartamento}'");
            if (numlin_query($appartamento_esistente) != 1 and $n_appartamento) {
                $inserire = "NO";
            } else {
                $maxoccupanti = risul_query($appartamento_esistente, 0, 'maxoccupanti');
                if ($maxoccupanti and $numpersone > $maxoccupanti and $n_numpersone) {
                    $inserire = "NO";
                }
            }
            # fine else if (numlin_query($appartamento_esistente) != 1)
            $appartamento_chiuso = esegui_query("select idregole from {$tableregole} where iddatainizio <= '{$fineperiodo}' and iddatafine >= '{$inizioperiodo}' and app_agenzia = '{$appartamento}' and motivazione2 = 'x' ");
            if (numlin_query($appartamento_chiuso)) {
                $inserire = "NO";
            }
            if ($assegnazioneapp == "c" and str_replace("," . $appartamento . ",", "", "," . $lista_app . ",") == "," . $lista_app . "," and ($n_appartamento or $n_assegnazioneapp or $n_lista_app)) {
                $inserire = "NO";
            }
            if ($attiva_regole1_consentite == "s" and ($n_appartamento != "" or $n_assegnazioneapp != "" or $n_lista_app != "")) {
                unset($appartameti_in_lista);
                if ($assegnazioneapp != "k" and $assegnazioneapp != "c") {
                    $inserire = "NO";
                }
                if ($assegnazioneapp == "k") {
                    $appartameti_in_lista[0] = $appartamento;
                }
                if ($assegnazioneapp == "c") {
                    $appartameti_in_lista = explode(",", $lista_app);
                }
                for ($n_lista = 0; $n_lista < count($appartameti_in_lista); $n_lista++) {
                    $appartamento_lista = $appartameti_in_lista[$n_lista];
                    $motivazioni_regola1 = esegui_query("select motivazione,iddatainizio,iddatafine from {$tableregole} where iddatainizio <= '{$fineperiodo}' and iddatafine >= '{$inizioperiodo}' and app_agenzia = '{$appartamento_lista}' and (motivazione2 != 'x' or motivazione2 is NULL) order by iddatainizio");
                    if (numlin_query($motivazioni_regola1) == 0) {
                        $inserire = "NO";
                    } else {
                        unset($motivazioni_consentite);
                        for ($num2 = 0; $num2 < count($regole1_consentite); $num2++) {
                            $motivazioni_consentite[$regole1_consentite[$num2]] = "SI";
                        }
                        $iddatainizio_regole_tot = risul_query($motivazioni_regola1, 0, 'iddatainizio');
                        $iddatafine_regole_tot = risul_query($motivazioni_regola1, 0, 'iddatafine');
                        $motivazione = risul_query($motivazioni_regola1, 0, 'motivazione');
                        if (!$motivazione) {
                            $motivazione = " ";
                        }
                        if (!$motivazioni_consentite[$motivazione]) {
                            $inserire = "NO";
                        }
                        for ($num2 = 1; $num2 < numlin_query($motivazioni_regola1); $num2++) {
                            $motivazione = risul_query($motivazioni_regola1, $num2, 'motivazione');
                            if (!$motivazione) {
                                $motivazione = " ";
                            }
                            if (!$motivazioni_consentite[$motivazione]) {
                                $inserire = "NO";
                            }
                            $iddatainizio_regola = risul_query($motivazioni_regola1, $num2, 'iddatainizio');
                            if ($iddatainizio_regola == $iddatafine_regole_tot + 1) {
                                $iddatafine_regole_tot = risul_query($motivazioni_regola1, $num2, 'iddatafine');
                            } else {
                                $inserire = "NO";
                            }
                        }
                        # fine for $num2
                        if ($iddatainizio_regole_tot > $inizioperiodo or $iddatafine_regole_tot < $fineperiodo) {
                            $inserire = "NO";
                        }
                    }
                    # fine else if (numlin_query($motivazioni_regola1) == 0)
                }
                # fine for $n_lista
            }
            # fine if ($attiva_regole1_consentite == "s" and...
            if ($dati_da_anno_prec == "SI") {
                passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica);
            }
            if ($n_nometipotariffa != "") {
                $trovata_tariffa = "NO";
                $dati_tariffe = dati_tariffe($tablenometariffe, "", "", $tableregole);
                for ($numtariffa = 1; $numtariffa <= $dati_tariffe['num']; $numtariffa++) {
                    $tariffa = "tariffa" . $numtariffa;
                    $nometariffa = $dati_tariffe[$tariffa]['nome'];
                    if ($n_nometipotariffa == $tariffa or $n_nometipotariffa == $nometariffa) {
                        $trovata_tariffa = "SI";
                        $n_tipotariffa = $tariffa;
                        $n_tipotariffa_idpr[$id_prenota] = $n_tipotariffa;
                    }
                    # fine if ($n_nometipotariffa == $tariffa or $n_nometipotariffa == $nometariffa)
                }
                # fine for $numtariffa
                if ($attiva_tariffe_consentite == "s" and $tariffe_consentite_vett[substr($n_tipotariffa, 7)] != "SI" and $n_nometipotariffa != $d_nome_tariffa_idpr[$id_prenota] or $trovata_tariffa == "NO") {
                    $inserire = "NO";
                }
                for ($num2 = $inizioperiodo; $num2 <= $fineperiodo; $num2++) {
                    $rigasettimana = esegui_query("select * from {$tableperiodi} where idperiodi = '{$num2}' ");
                    $esistetariffa = risul_query($rigasettimana, 0, $n_tipotariffa);
                    $esistetariffap = risul_query($rigasettimana, 0, $n_tipotariffa . "p");
                    if ((!strcmp($esistetariffa, "") or $esistetariffa < 0) and (!strcmp($esistetariffap, "") or $esistetariffap < 0)) {
                        $inserire = "NO";
                    }
                    if ($n_nometipotariffa != $d_nome_tariffa_idpr[$id_prenota] and $dati_tariffe[$n_tipotariffa]['chiusa'][$num2]) {
                        $inserire = "NO";
                    }
                }
                # fine for $num2
            }
            # fine if ($n_nometipotariffa != "")
            if ($priv_mod_date != "s" and ($n_inizioperiodo != "" or $n_fineperiodo != "")) {
                $inserire = "NO";
            }
            if ($priv_ins_periodi_passati != "s" and $inizioperiodo < $d_id_data_inizio) {
                $id_periodo_corrente = calcola_id_periodo_corrente($anno);
                if ($id_periodo_corrente >= $inizioperiodo) {
                    $inserire = "NO";
                }
            }
            # fine if ($priv_ins_periodi_passati != "s" and $inizioperiodo < $d_id_data_inizio)
            #if ($n_numpersone != "" and $priv_mod_num_persone != "s") $inserire = "NO";
            if ($n_numpersone and controlla_num_pos($n_numpersone) != "SI") {
                $inserire = "NO";
            }
            if ($priv_mod_commento != "s" and ($n_commento != "" or $n_cancella_commento)) {
                $inserire = "NO";
            }
            if (strcmp($n_sconto, "") and ($priv_mod_sconto != "s" or controlla_soldi($n_sconto) == "NO")) {
                $inserire = "NO";
            }
            if (strcmp($n_caparra, "")) {
                if ($priv_mod_caparra != "s" or controlla_soldi($n_caparra, "SI") == "NO") {
                    $inserire = "NO";
                }
                if ($n_caparra > $n_costo_tot) {
                    $inserire = "NO";
                }
            }
            # fine if (strcmp($n_caparra,""))
            if (strcmp($n_commissioni, "") and ($priv_mod_caparra != "s" or controlla_soldi($n_commissioni, "SI") == "NO")) {
                $inserire = "NO";
            }
            if ($costi_aggiuntivi_modificati_int) {
                $costi_aggiuntivi_modificati = explode("#@&", $costi_aggiuntivi_modificati_int);
                for ($numca = 0; $numca < $dati_cap['num']; $numca++) {
                    $num_costo_mod = "NO";
                    for ($num2 = 0; $num2 < count($costi_aggiuntivi_modificati); $num2++) {
                        $costo_agg_modificato = explode("#?&", $costi_aggiuntivi_modificati[$num2]);
                        if ($costo_agg_modificato[0] == $dati_cap[$numca]['id']) {
                            $num_costo_mod = $num2;
                        }
                    }
                    # fine for $num2
                    $costo_agg_modificato = explode("#?&", $costi_aggiuntivi_modificati[$num_costo_mod]);
                    if ($costo_agg_modificato[1] != "cancella") {
                        $num_costo = $dati_ca['id'][$dati_cap[$numca]['idntariffe']];
                        if ($dati_ca[$num_costo]['id'] == $dati_cap[$numca]['idntariffe'] and $dati_cap[$numca]['nome'] == $dati_ca[$num_costo]['nome'] and $dati_ca[$num_costo]['numlimite']) {
                            $num_limite = (string) $dati_ca[$num_costo]['numlimite'];
                        } else {
                            $num_limite = (string) 0;
                        }
                        if ((string) $num_costo_mod != (string) "NO") {
                            $settimane_costo = $costo_agg_modificato[1];
                            $moltiplica = $costo_agg_modificato[2];
                        } else {
                            $settimane_costo = $dati_cap[$numca]['settimane'];
                            $moltiplica = $dati_cap[$numca]['moltiplica_costo'];
                        }
                        # fine else if ((string) $num_costo_mod != (string) "NO")
                        if (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_cap, $numca, $num_costi_presenti, $inizioperiodo, $fineperiodo, $settimane_costo, $moltiplica, $num_limite, $tra_anni) == "NO") {
                            $inserire = "NO";
                        }
                        if (str_replace(",{$appartamento},", "", "," . $dati_cap[$numca]['appincompatibili'] . ",") != "," . $dati_cap[$numca]['appincompatibili'] . ",") {
                            $inserire = "NO";
                        }
                    }
                    # fine if ($costo_agg_modificato[1] != "cancella")
                    if ($dati_cap[$numca]['tipo_beniinv']) {
                        if ($costo_agg_modificato[1] != "cancella") {
                            $num_ripetizioni_costo = "";
                        } else {
                            $num_ripetizioni_costo = "0";
                        }
                        $risul = controlla_beni_inventario_costo($tablerelinventario, $dati_cap, $numca, $beniinv_presenti, $num_ripetizioni_costo, "SI", $inizioperiodo, $fineperiodo, $settimane_costo, $moltiplica, $appartamento);
                        if ($risul != "SI") {
                            $inserire = "NO";
                        }
                        if ($num_ripetizioni_costo != $dati_cap[$numca]['beniinv_ripeti']) {
                            $beniinv_vett = explode(";", $dati_cap[$numca]['beniinv_orig']);
                            $num_ripetizioni_costo_mod_idpr[$id_prenota][$num_costo_mod] = $num_ripetizioni_costo . substr($dati_cap[$numca]['beniinv_orig'], strlen($beniinv_vett[0]));
                        }
                        # fine if ($num_ripetizioni_costo != $dati_cap[$numca]['beniinv_ripeti'])
                    }
                    # fine if ($dati_cap[$numca]['tipo_beniinv'])
                }
                # fine for $numca
            }
            # fine if ($costi_aggiuntivi_modificati_int)
            if ($costi_aggiuntivi_da_inserire_int) {
                $costi_aggiuntivi_da_inserire = explode("#@&", $costi_aggiuntivi_da_inserire_int);
                for ($num2 = 0; $num2 < count($costi_aggiuntivi_da_inserire); $num2++) {
                    $costo_agg_da_inserire = explode("#?&", $costi_aggiuntivi_da_inserire[$num2]);
                    $num_costo = $dati_ca['id'][$costo_agg_da_inserire[9]];
                    if ($costo_agg_da_inserire[9] != $dati_ca[$num_costo]['id'] and $costo_agg_da_inserire[9] != "-1") {
                        $inserire = "NO";
                    } elseif (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_ca, $num_costo, $num_costi_presenti, $inizioperiodo, $fineperiodo, $costo_agg_da_inserire[6], $costo_agg_da_inserire[7], "", $tra_anni) == "NO") {
                        $inserire = "NO";
                    }
                    if (str_replace(",{$appartamento},", "", "," . $dati_ca[$num_costo]['appincompatibili'] . ",") != "," . $dati_ca[$num_costo]['appincompatibili'] . ",") {
                        $inserire = "NO";
                    }
                    if ($dati_ca[$num_costo]['tipo_beniinv']) {
                        $num_ripetizioni_costo_ins_idpr[$id_prenota][$num2] = "";
                        $risul = controlla_beni_inventario_costo($tablerelinventario, $dati_ca, $num_costo, $beniinv_presenti, $num_ripetizioni_costo_ins_idpr[$id_prenota][$num2], "SI", $inizioperiodo, $fineperiodo, $costo_agg_da_inserire[6], $costo_agg_da_inserire[7], $appartamento);
                        if ($risul != "SI") {
                            $inserire = "NO";
                        }
                    }
                    # fine if ($dati_ca[$num_costo]['tipo_beniinv'])
                }
                # fine for $num2
            }
            # fine if ($costi_aggiuntivi_da_inserire_int)
            if ($dati_da_anno_prec == "SI") {
                passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo);
            }
            if ($priv_mod_caparra != "s" and $n_met_paga_caparra) {
                $inserire = "NO";
            }
            if ($n_met_paga_caparra or ${"metodo_pagamento" . $id_prenota}) {
                if (get_magic_quotes_gpc()) {
                    ${"metodo_pagamento" . $id_prenota} = stripslashes(${"metodo_pagamento" . $id_prenota});
                }
                ${"metodo_pagamento" . $id_prenota} = htmlspecialchars(${"metodo_pagamento" . $id_prenota});
                $metodi_pagamento = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'metodi_pagamento' and idutente = '{$id_utente}'");
                $metodi_pagamento = risul_query($metodi_pagamento, 0, 'valpersonalizza');
                $metodi_pagamento = explode(",", $metodi_pagamento);
                if ($n_met_paga_caparra) {
                    $metodo_trovato = "NO";
                    for ($num1 = 0; $num1 < count($metodi_pagamento); $num1++) {
                        if ($metodi_pagamento[$num1] == $n_met_paga_caparra) {
                            $metodo_trovato = "SI";
                        }
                    }
                    if ($metodo_trovato == "NO") {
                        $inserire = "NO";
                    }
                }
                # fine if ($n_met_paga_caparra)
                if (${"metodo_pagamento" . $id_prenota}) {
                    $metodo_trovato = "NO";
                    for ($num1 = 0; $num1 < count($metodi_pagamento); $num1++) {
                        if ($metodi_pagamento[$num1] == ${"metodo_pagamento" . $id_prenota}) {
                            $metodo_trovato = "SI";
                        }
                    }
                    if ($metodo_trovato == "NO") {
                        $inserire = "NO";
                    }
                }
                # fine if (${"metodo_pagamento".$id_prenota})
            }
            # fine if ($n_met_paga_caparra or ${"metodo_pagamento".$id_prenota})
            if ($priv_mod_pagato == "n" and $n_confermato != "") {
                $inserire = "NO";
            }
            if ($n_confermato and $n_confermato != "S" and $n_confermato != "N") {
                $inserire = "NO";
            }
            if ($priv_mod_pagato != "s" and $n_pagato != "") {
                $inserire = "NO";
            }
            if ($n_pagato and controlla_soldi($n_pagato, "SI") == "NO" or $n_pagato > $n_costo_tot) {
                $inserire = "NO";
            }
            if ($inserire == "NO") {
                break;
            }
        }
        # fine for $num_idpr
        if ($priv_mod_orig_prenota != "s" and $n_origine_prenota) {
            $inserire = "NO";
        }
        if ($n_origine_prenota) {
            if (get_magic_quotes_gpc()) {
                $n_origine_prenota = stripslashes($n_origine_prenota);
            }
            $n_origine_prenota = htmlspecialchars($n_origine_prenota);
            $origini_prenota = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'origini_prenota' and idutente = '{$id_utente}'");
            $origini_prenota = risul_query($origini_prenota, 0, 'valpersonalizza');
            $origini_prenota = explode(",", $origini_prenota);
            $origine_trovata = "NO";
            for ($num1 = 0; $num1 < count($origini_prenota); $num1++) {
                if ($origini_prenota[$num1] == $n_origine_prenota) {
                    $origine_trovata = "SI";
                }
            }
            if ($origine_trovata == "NO") {
                $inserire = "NO";
            }
        }
        # fine if ($n_origine_prenota)
        if ($id_nuovo_utente_inserimento != "" and $id_utente == 1) {
            $id_nuovo_utente_inserimento = aggslashdb($id_nuovo_utente_inserimento);
            $verifica_utente = esegui_query("select * from {$tableutenti} where idutenti = '{$id_nuovo_utente_inserimento}'");
            if (numlin_query($verifica_utente) != 1) {
                $inserire = "NO";
            }
        }
        # fine if ($id_nuovo_utente_inserimento != "" and $id_utente == 1)
        if ($n_commento != "") {
            if (get_magic_quotes_gpc()) {
                $n_commento = stripslashes($n_commento);
            }
            $n_commento = htmlspecialchars($n_commento);
        }
        # fine if ($n_commento != "")
    }
    # fine if ($inserire != "NO")
    if ($inserire != "NO") {
        # funzione: se ritorna $prenota_comp vuota sono tutte vicine
        function controlla_prenota_vicine(&$prenota_comp, $dati_app, $app_prenota_id)
        {
            if ($prenota_comp) {
                $prenota_comp_vett = explode(",", $prenota_comp);
                $num_prenota_comp = count($prenota_comp_vett);
                $prenota_comp = substr(str_replace("," . $prenota_comp_vett[0] . ",", ",", ",{$prenota_comp},"), 1, -1);
                $app_corr = $app_prenota_id[$prenota_comp_vett[0]];
                $num_vic = 0;
                for ($num1 = 1; $num1 < $num_prenota_comp; $num1++) {
                    $app_vicini = $dati_app["vicini"][$app_prenota_id[$prenota_comp_vett[$num1]]];
                    if (str_replace(",{$app_corr},", "", ",{$app_vicini},") != ",{$app_vicini},") {
                        $prenota_comp = substr(str_replace("," . $prenota_comp_vett[$num1] . ",", ",", ",{$prenota_comp},"), 1, -1);
                        $pren_vicina[$num_vic] = $prenota_comp_vett[$num1];
                        $num_vic++;
                    }
                    # fine (str_replace(",$app_corr,","",",$app_vicini,") != ",$app_vicini,")
                }
                # fine for $num1
                for ($num1 = 0; $num1 < $num_vic; $num1++) {
                    if (!$prenota_comp) {
                        break;
                    }
                    $prenota_comp = $pren_vicina[$num1] . "," . $prenota_comp;
                    controlla_prenota_vicine($prenota_comp, $dati_app, $app_prenota_id);
                }
                # fine for $num1
            }
            # fine if ($prenota_comp)
        }
        # fine function controlla_prenota_vicine
        # aggiorno le posizioni e faccio i controlli.
        if ($tableprenota_da_aggiornare) {
            if (!function_exists("tab_a_var")) {
                include "./includes/liberasettimane.php";
            }
            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);
            if ($id_per_corr_finto != "") {
                $limiti_var['idperiodocorrente'] = $id_per_corr_finto;
            }
            $limiti_var['n_ini'] = 0;
            $max_periodo = esegui_query("select max(idperiodi) from {$tableperiodi}");
            $max_periodo = risul_query($max_periodo, 0, 0);
            $limiti_var['n_fine'] = $max_periodo;
            $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');
            $limiti_var['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 < '" . $limiti_var['lim_prenota_temp'] . "'", "", 1);
            $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");
            # Sposto gli appartamenti presenti in $spostamenti se possibile
            for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
                $id_prenota = $id_prenota_idpr[$num_idpr];
                for ($num1 = $inizio_prenota_id[$id_prenota]; $num1 <= $fine_prenota_id[$id_prenota]; $num1++) {
                    $prenota_in_app_sett[$app_prenota_id[$id_prenota]][$num1] = "";
                }
                # fine for $num1
            }
            # fine for $num_idpr
            $num_spostamenti = count($spostamenti);
            for ($num1 = 0; $num1 < $num_spostamenti; $num1++) {
                $idprenota_cambiata = $spostamenti[$num1];
                $app_cambiato = $spostamenti[$num1 + 1];
                $applicare_cambio[$num1] = "NO";
                if ($inizio_prenota_id[$idprenota_cambiata]) {
                    $applicare_cambio[$num1] = "SI";
                    if (!$app_assegnabili_id[$idprenota_cambiata]) {
                        $applicare_cambio[$num1] = "NO";
                    }
                    if ($app_assegnabili_id[$idprenota_cambiata] and $app_assegnabili_id[$idprenota_cambiata] != "v") {
                        $lista_app_assegnabili = "," . $app_assegnabili_id[$idprenota_cambiata] . ",";
                        if (str_replace("," . $app_cambiato . ",", "", $lista_app_assegnabili) == $lista_app_assegnabili) {
                            $applicare_cambio[$num1] = "NO";
                        }
                    }
                    # fine if ($app_assegnabili_id[$idprenota_cambiata] and...
                    if (str_replace("," . $app_cambiato . ",", "", $dati_app['lista']) == $dati_app['lista']) {
                        $applicare_cambio[$num1] = "NO";
                    }
                    if ($applicare_cambio[$num1] == "SI") {
                        for ($num2 = $inizio_prenota_id[$idprenota_cambiata]; $num2 <= $fine_prenota_id[$idprenota_cambiata]; $num2++) {
                            $prenota_in_app_sett[$app_prenota_id[$idprenota_cambiata]][$num2] = "";
                        }
                        # fine for $num2
                        $app_prenota_id[$idprenota_cambiata] = $app_cambiato;
                    }
                    # fine if ($applicare_cambio[$num1] == "SI")
                }
                # fine if ($inizio_prenota_id[$idprenota_cambiata])
                $num1++;
            }
            # fine for $num1
            for ($num1 = 0; $num1 < $num_spostamenti; $num1++) {
                $idprenota_cambiata = $spostamenti[$num1];
                if ($applicare_cambio[$num1] == "SI") {
                    for ($num2 = $inizio_prenota_id[$idprenota_cambiata]; $num2 <= $fine_prenota_id[$idprenota_cambiata]; $num2++) {
                        if ($prenota_in_app_sett[$app_prenota_id[$idprenota_cambiata]][$num2]) {
                            $inserire = "NO";
                        } else {
                            $prenota_in_app_sett[$app_prenota_id[$idprenota_cambiata]][$num2] = $idprenota_cambiata;
                        }
                    }
                    # fine for $num2
                    if ($inserire == "NO") {
                        break;
                    }
                }
                # fine if ($applicare_cambio[$num1] == "SI")
                $num1++;
            }
            # fine for $num1
            # Aggiorno la prenotazione e faccio i primi controlli sulla prenotazione modificata
            for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
                $id_prenota = $id_prenota_idpr[$num_idpr];
                $n_appartamento = $n_appartamento_idpr[$id_prenota];
                $n_assegnazioneapp = $n_assegnazioneapp_idpr[$id_prenota];
                $n_lista_app = $n_lista_app_idpr[$id_prenota];
                $n_numpersone = $n_numpersone_idpr[$id_prenota];
                if ($n_appartamento != "") {
                    $app_prenota_id[$id_prenota] = $n_appartamento;
                }
                if ($n_inizioperiodo != "") {
                    $inizio_prenota_id[$id_prenota] = $n_inizioperiodo;
                }
                if ($n_fineperiodo != "") {
                    $fine_prenota_id[$id_prenota] = $n_fineperiodo;
                }
                for ($num1 = $inizio_prenota_id[$id_prenota]; $num1 <= $fine_prenota_id[$id_prenota]; $num1++) {
                    if ($prenota_in_app_sett[$app_prenota_id[$id_prenota]][$num1]) {
                        $inserire = "NO";
                    } else {
                        $prenota_in_app_sett[$app_prenota_id[$id_prenota]][$num1] = $id_prenota;
                    }
                }
                # fine for $num1
                if ($n_assegnazioneapp == "v") {
                    $app_assegnabili_id[$id_prenota] = $dati_app['lista'];
                }
                if ($n_assegnazioneapp == "k") {
                    $app_assegnabili_id[$id_prenota] = "";
                }
                if ($n_assegnazioneapp == "c" and $n_lista_app) {
                    $app_assegnabili_id[$id_prenota] = "," . $n_lista_app . ",";
                }
                $assegnazione_app = risul_query($dati_prenota_idpr[$id_prenota], 0, 'assegnazioneapp');
                if (!$n_assegnazioneapp and $assegnazione_app == "c" and $n_lista_app) {
                    $app_assegnabili_id[$id_prenota] = "," . $n_lista_app . ",";
                }
                if ($n_numpersone) {
                    $num_persone_prenota = $n_numpersone;
                } else {
                    $num_persone_prenota = risul_query($dati_prenota_idpr[$id_prenota], 0, 'num_persone');
                }
                if ($num_persone_prenota and $dati_app['maxocc'][$app_prenota_id[$id_prenota]] and $dati_app['maxocc'][$app_prenota_id[$id_prenota]] < $num_persone_prenota) {
                    $inserire = "NO";
                }
                if (str_replace("," . $app_prenota_id[$id_prenota] . ",", "", $dati_app['lista']) == $dati_app['lista']) {
                    $inserire = "NO";
                }
                if ($app_assegnabili_id[$id_prenota] and $app_assegnabili_id[$id_prenota] != "v") {
                    $lista_app_assegnabili = "," . $app_assegnabili_id[$id_prenota] . ",";
                    if (str_replace("," . $app_prenota_id[$id_prenota] . ",", "", $lista_app_assegnabili) == $lista_app_assegnabili) {
                        $inserire = "NO";
                    }
                }
                # fine if ($app_assegnabili_id[$id_prenota] and...
                if (str_replace("," . $app_prenota_id[$id_prenota] . ",", "", $dati_app['lista']) == $dati_app['lista']) {
                    $inserire = "NO";
                }
            }
            # fine for $num_idpr
            for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
                $id_prenota = $id_prenota_idpr[$num_idpr];
                $d_appartamento = $d_appartamento_idpr[$id_prenota];
                $d_checkin = $d_checkin_idpr[$id_prenota];
                $d_checkout = $d_checkout_idpr[$id_prenota];
                $d_prenota_comp = $d_prenota_comp_idpr[$id_prenota];
                $prenota_comp = $prenota_comp_idpr[$id_prenota];
                $prenota_comp_copia = $prenota_comp;
                if ($prenota_comp_copia != "") {
                    $prenota_comp_copia = $id_prenota . "," . $prenota_comp_copia;
                }
                controlla_prenota_vicine($prenota_comp_copia, $dati_app, $app_prenota_id);
                if ($prenota_comp_copia) {
                    $inserire = "NO";
                }
                $prenota_comp_control = $prenota_comp;
                if ($d_prenota_comp and $prenota_comp_control) {
                    $prenota_comp_control .= ",";
                }
                $prenota_comp_control .= $d_prenota_comp;
                for ($num1 = 0; $num1 < $num_spostamenti; $num1++) {
                    $idprenota_cambiata = $spostamenti[$num1];
                    if ($app_assegnabili_id[0][$idprenota_cambiata]) {
                        if (str_replace(",{$idprenota_cambiata},", "", ",{$prenota_comp_control},") == ",{$prenota_comp_control},") {
                            $prenota_comp_copia = $app_assegnabili_id[0][$idprenota_cambiata];
                            if ($prenota_comp_copia != "") {
                                $prenota_comp_copia = $idprenota_cambiata . "," . $prenota_comp_copia;
                            }
                            controlla_prenota_vicine($prenota_comp_copia, $dati_app, $app_prenota_id);
                            if ($prenota_comp_copia) {
                                $inserire = "NO";
                            } else {
                                $prenota_comp_control .= "," . $app_assegnabili_id[0][$idprenota_cambiata];
                            }
                            if (substr($prenota_comp_control, 0, 1) == ",") {
                                $prenota_comp_control = substr($prenota_comp_control, 1);
                            }
                        }
                        # fine if (str_replace(",$idprenota_cambiata,","",",$prenota_comp_control,") == ",$prenota_comp_control,")
                    }
                    # fine if ($app_assegnabili_id[0][$idprenota_cambiata])
                }
                # fine for $num1
                if ($d_checkin and !$d_checkout and $app_prenota_id[$id_prenota] != $d_appartamento) {
                    $checkin_presente = esegui_query("select idprenota from {$tableprenota} where idappartamenti = '" . aggslashdb($app_prenota_id[$id_prenota]) . "' and checkin is not NULL and checkout is NULL");
                    if (numlin_query($checkin_presente) >= 1) {
                        $inserire = "NO";
                        echo mex("Non si è potuto spostare la prenotazione per la registrazione dell'entrata", $pag) . ".<br>";
                    }
                    # fine if (numlin_query($checkin_presente) >= 1)
                }
                # fine if ($d_checkin and !$d_checkout and...
            }
            # fine for $num_idpr
        }
        # fine if ($tableprenota_da_aggiornare)
    }
    # fine if ($inserire != "NO")
    if ($inserire != "NO" and $tableprenota_da_aggiornare) {
        for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
            $id_prenota = $id_prenota_idpr[$num_idpr];
            if (strcmp($app_prenota_id[$id_prenota], "") and !strcmp($app_orig_prenota_id[$id_prenota], "")) {
                $app_orig_prenota_id[$id_prenota] = $app_prenota_id[$id_prenota] . "x";
            }
        }
        # fine for $num_idpr
        $risul_agg = aggiorna_tableprenota($app_prenota_id, $app_orig_prenota_id, $tableprenota);
        if (!$risul_agg) {
            $inserire = "NO";
        }
    }
    # fine if ($inserire != "NO" and $tableprenota_da_aggiornare)
    if ($inserire == "NO") {
        echo mex("La prenotazione", $pag) . " {$id_prenota} " . mex("<b>non è stata modificata</b> perchè la tabella prenotazioni è cambiata nel frattempo", $pag) . ".<br>";
        unlock_tabelle($tabelle_lock);
    } else {
        for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
            $id_prenota = $id_prenota_idpr[$num_idpr];
            $d_id_utente_inserimento = $d_id_utente_inserimento_idpr[$id_prenota];
            $d_app_eliminati_costi = $d_app_eliminati_costi_idpr[$id_prenota];
            $d_prenota_comp = $d_prenota_comp_idpr[$id_prenota];
            $n_costo_tot = $n_costo_tot_idpr[$id_prenota];
            $n_appartamento = $n_appartamento_idpr[$id_prenota];
            $n_assegnazioneapp = $n_assegnazioneapp_idpr[$id_prenota];
            $n_lista_app = $n_lista_app_idpr[$id_prenota];
            $n_app_eliminati_costi = $n_app_eliminati_costi_idpr[$id_prenota];
            $n_numpersone = $n_numpersone_idpr[$id_prenota];
            $n_nometipotariffa = $n_nometipotariffa_idpr[$id_prenota];
            $n_costo_tariffa = $n_costo_tariffa_idpr[$id_prenota];
            $costi_aggiuntivi_modificati_int = $costi_aggiuntivi_modificati_int_idpr[$id_prenota];
            $costi_aggiuntivi_da_inserire_int = $costi_aggiuntivi_da_inserire_int_idpr[$id_prenota];
            $n_sconto = $n_sconto_idpr[$id_prenota];
            $n_caparra = $n_caparra_idpr[$id_prenota];
            $n_commissioni = $n_commissioni_idpr[$id_prenota];
            $n_tariffesettimanali = $n_tariffesettimanali_idpr[$id_prenota];
            $prenota_comp = $prenota_comp_idpr[$id_prenota];
            $n_pagato = $n_pagato_idpr[$id_prenota];
            $n_confermato = $n_confermato_idpr[$id_prenota];
            $id_utente_inserimento = $d_id_utente_inserimento;
            if ($id_nuovo_utente_inserimento != "" and $id_utente == 1) {
                esegui_query("update {$tableprenota} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota}' ");
                esegui_query("update {$tablecostiprenota} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota}' ");
                $id_utente_inserimento = $id_nuovo_utente_inserimento;
                if ($prenota_in_anno_succ) {
                    esegui_query("update {$tableprenota_orig} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota_orig}' ");
                    esegui_query("update {$tablecostiprenota_orig} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota_orig}' ");
                }
                # fine if ($prenota_in_anno_succ)
            }
            # fine if ($id_nuovo_utente_inserimento != "" and $id_utente == 1)
            if ($n_inizioperiodo != "") {
                esegui_query("update {$tableprenota} set iddatainizio = '{$n_inizioperiodo}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_inizioperiodo != "")
            if ($n_fineperiodo != "") {
                esegui_query("update {$tableprenota} set iddatafine = '{$n_fineperiodo}' where idprenota = '{$id_prenota}' ");
                if ($dati_da_anno_prec == "SI") {
                    passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica);
                    esegui_query("update {$tableprenota} set iddatafine = '{$n_fineperiodo}' where idprenota = '{$id_prenota}' ");
                    passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo);
                }
                # fine if ($dati_da_anno_prec == "SI")
                if ($prenota_in_anno_succ) {
                    $n_data_fine = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$n_fineperiodo}'");
                    $n_data_fine = risul_query($n_data_fine, 0, 'datafine');
                    $data_succ_esistente = esegui_query("select idperiodi from {$tableperiodi_orig} where datafine <= '{$n_data_fine}'");
                    if (numlin_query($data_succ_esistente) < 1) {
                        esegui_query("delete from {$tableprenota_orig} where idprenota = '{$id_prenota_orig}'");
                        esegui_query("delete from {$tablecostiprenota_orig} where idprenota = '{$id_prenota_orig}'");
                    }
                    # fine if (numlin_query($data_succ_esistente) < 1)
                }
                # fine if ($prenota_in_anno_succ)
            }
            # fine if ($n_fineperiodo != "")
            if ($n_stima_checkin) {
                esegui_query("update {$tableprenota} set checkout = '{$n_stima_checkin}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_stima_checkin)
            #if ($n_appartamento != "") {
            #esegui_query("update $tableprenota set idappartamenti = '$n_appartamento' where idprenota = '$id_prenota' ");
            #} # fine if ($n_appartamento != "")
            if ($n_assegnazioneapp != "") {
                esegui_query("update {$tableprenota} set assegnazioneapp = '{$n_assegnazioneapp}' where idprenota = '{$id_prenota}' ");
                if ($n_assegnazioneapp == "v" or $n_assegnazioneapp == "k") {
                    esegui_query("update {$tableprenota} set app_assegnabili = '' where idprenota = '{$id_prenota}' ");
                }
                # fine if ($n_assegnazioneapp == "v" ...)
            }
            # fine if ($n_assegnazioneapp != "")
            if ($n_lista_app != "") {
                esegui_query("update {$tableprenota} set app_assegnabili = '{$n_lista_app}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_lista_app != "")
            if ($d_prenota_comp != $prenota_comp) {
                esegui_query("update {$tableprenota} set idprenota_compagna = '{$prenota_comp}' where idprenota = '{$id_prenota}' ");
                if ($d_prenota_comp) {
                    $d_prenota_comp_vett = explode(",", $d_prenota_comp);
                    $num_d_prenota_comp = count($d_prenota_comp_vett);
                    for ($num1 = 0; $num1 < $num_d_prenota_comp; $num1++) {
                        $d_pren_comp = aggslashdb($d_prenota_comp_vett[$num1]);
                        if (str_replace(",{$d_pren_comp},", "", ",{$prenota_comp},") == ",{$prenota_comp},") {
                            esegui_query("update {$tableprenota} set idprenota_compagna = '' where idprenota = '{$d_pren_comp}' ");
                        }
                    }
                    # fine for $num1
                }
                # fine if ($d_prenota_comp)
                if ($prenota_comp) {
                    $prenota_comp_vett = explode(",", $prenota_comp);
                    $num_prenota_comp = count($prenota_comp_vett);
                    for ($num1 = 0; $num1 < $num_prenota_comp; $num1++) {
                        $pren_comp = aggslashdb($prenota_comp_vett[$num1]);
                        $prenota_comp2 = substr(str_replace(",{$pren_comp},", ",", ",{$prenota_comp},"), 1) . $id_prenota;
                        esegui_query("update {$tableprenota} set idprenota_compagna = '{$prenota_comp2}' where idprenota = '{$pren_comp}' ");
                    }
                    # fine for $num1
                }
                # fine if ($prenota_comp)
            }
            # fine if ($d_prenota_comp != $prenota_comp)
            if ($dati_da_anno_prec == "SI") {
                passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica);
            }
            if ($n_numpersone != "") {
                esegui_query("update {$tableprenota} set num_persone = '{$n_numpersone}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_numpersone != "")
            if ($n_nometipotariffa != "") {
                if (substr($n_costo_tariffa, -1) == "p") {
                    $n_costo_tariffa = substr($n_costo_tariffa, 0, -1) . "#@&p";
                }
                $n_tariffa = aggslashdb($n_nometipotariffa) . "#@&" . $n_costo_tariffa;
                esegui_query("update {$tableprenota} set tariffa = '{$n_tariffa}' where idprenota = '{$id_prenota}' ");
                if (!strcmp($dati_tariffe[$n_tipotariffa_idpr[$id_prenota]]['tasse_percent'], "")) {
                    esegui_query("update {$tableprenota} set tasseperc = NULL where idprenota = '{$id_prenota}' ");
                } else {
                    esegui_query("update {$tableprenota} set tasseperc = '" . $dati_tariffe[$n_tipotariffa_idpr[$id_prenota]]['tasse_percent'] . "' where idprenota = '{$id_prenota}' ");
                }
            }
            # fine if ($n_nometipotariffa != "")
            if ($n_tariffesettimanali != "") {
                $n_tariffesettimanali = aggslashdb($n_tariffesettimanali);
                esegui_query("update {$tableprenota} set tariffesettimanali = '{$n_tariffesettimanali}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_tariffesettimanali != "")
            if ($costi_aggiuntivi_modificati_int) {
                $costi_aggiuntivi_modificati = explode("#@&", $costi_aggiuntivi_modificati_int);
                for ($num2 = 0; $num2 < count($costi_aggiuntivi_modificati); $num2++) {
                    $costo_agg_modificato = explode("#?&", $costi_aggiuntivi_modificati[$num2]);
                    if ($costo_agg_modificato[1] == "cancella") {
                        esegui_query("delete from {$tablecostiprenota} where idcostiprenota = '" . $costo_agg_modificato[0] . "' and idprenota = '{$id_prenota}' ");
                    } else {
                        esegui_query("update {$tablecostiprenota} set settimane = '" . $costo_agg_modificato[1] . "', moltiplica = '" . $costo_agg_modificato[2] . "' where idcostiprenota = '" . $costo_agg_modificato[0] . "' and idprenota = '{$id_prenota}' ");
                        if ($num_ripetizioni_costo_mod_idpr[$id_prenota][$num2]) {
                            esegui_query("update {$tablecostiprenota} set varbeniinv = '" . $num_ripetizioni_costo_mod_idpr[$id_prenota][$num2] . "' where idcostiprenota = '" . $costo_agg_modificato[0] . "' and idprenota = '{$id_prenota}' ");
                        }
                    }
                    # fine else if ($costo_agg_modificato[1] == "cancella")
                }
                # fine for $num2
            }
            # fine if ($costi_aggiuntivi_modificati_int)
            if ($costi_aggiuntivi_da_inserire_int) {
                $costi_aggiuntivi_da_inserire = explode("#@&", $costi_aggiuntivi_da_inserire_int);
                for ($num2 = 0; $num2 < count($costi_aggiuntivi_da_inserire); $num2++) {
                    $costo_agg_da_inserire = explode("#?&", $costi_aggiuntivi_da_inserire[$num2]);
                    $num_costo = $dati_ca['id'][$costo_agg_da_inserire[9]];
                    $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
                    $idcostiprenota = esegui_query("select max(idcostiprenota) from {$tablecostiprenota}");
                    $idcostiprenota = risul_query($idcostiprenota, 0, 0) + 1;
                    if ($costo_agg_da_inserire[15]) {
                        $costo_agg_da_inserire[15] = $num_ripetizioni_costo_ins_idpr[$id_prenota][$num2] . ";" . $costo_agg_da_inserire[15];
                    }
                    esegui_query("insert into {$tablecostiprenota} (idcostiprenota,idprenota,tipo,nome,valore,associasett,settimane,moltiplica,letto,idntariffe,varmoltiplica,varnumsett,varperiodipermessi,vartariffeassociate,vartariffeincomp,varbeniinv,varappincompatibili,variazione,categoria,datainserimento,hostinserimento,utente_inserimento) values ('{$idcostiprenota}','{$id_prenota}','" . $costo_agg_da_inserire[0] . "','" . aggslashdb($costo_agg_da_inserire[1]) . "','" . $costo_agg_da_inserire[2] . "','" . $costo_agg_da_inserire[5] . "','" . $costo_agg_da_inserire[6] . "','" . $costo_agg_da_inserire[7] . "','" . $costo_agg_da_inserire[8] . "','" . $costo_agg_da_inserire[9] . "','" . $costo_agg_da_inserire[10] . "','" . $costo_agg_da_inserire[11] . "','" . $costo_agg_da_inserire[12] . "','" . $costo_agg_da_inserire[13] . "','" . $costo_agg_da_inserire[14] . "','" . $costo_agg_da_inserire[15] . "','" . $costo_agg_da_inserire[16] . "','" . $costo_agg_da_inserire[17] . "','" . $costo_agg_da_inserire[18] . "','{$datainserimento}','{$HOSTNAME}','{$id_utente}')");
                    if (substr($costo_agg_da_inserire[0], 1, 1) != "f") {
                        esegui_query("update {$tablecostiprenota} set valore_perc = '" . $costo_agg_da_inserire[3] . "', arrotonda = '" . $costo_agg_da_inserire[4] . "' where idcostiprenota = '{$idcostiprenota}'");
                    }
                    if ($dati_ca[$num_costo]['tasseperc']) {
                        esegui_query("update {$tablecostiprenota} set tasseperc = '" . $dati_ca[$num_costo]['tasseperc'] . "' where idcostiprenota = '{$idcostiprenota}'");
                    }
                }
                # fine for $num2
            }
            # fine if ($costi_aggiuntivi_da_inserire_int)
            # Se prenotazione da anno precedente copio i costi aggiuntivi anche nell'anno
            # corrente per mantenere il limite dei costi in stesso periodo
            if (($dati_da_anno_prec == "SI" or $prenota_in_anno_succ) and ($costi_aggiuntivi_modificati_int or $costi_aggiuntivi_da_inserire_int)) {
                $idcostiprenota_orig = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_orig}");
                $idcostiprenota_orig = risul_query($idcostiprenota_orig, 0, 0) + 1;
                $idcostiprenota_prec = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_prec}");
                $idcostiprenota_prec = risul_query($idcostiprenota_prec, 0, 0) + 1;
                if ($idcostiprenota_orig > $idcostiprenota_prec) {
                    $max_idcostiprenota = $idcostiprenota_orig;
                } else {
                    $max_idcostiprenota = $idcostiprenota_prec;
                }
                esegui_query("delete from {$tablecostiprenota_orig} where idprenota = '{$id_prenota_orig}'");
                $costiprenota_prec = esegui_query("select * from {$tablecostiprenota_prec} where idprenota = '{$id_prenota_prec}'");
                $num_costiprenota_prec = numlin_query($costiprenota_prec);
                $max_idcostiprenota = $max_idcostiprenota + $num_costiprenota_prec + 1;
                $diff_settimane = $fineperiodo - $fineperiodo_orig;
                for ($num1 = 0; $num1 < $num_costiprenota_prec; $num1++) {
                    $idcostiprenota = risul_query($costiprenota_prec, $num1, 'idcostiprenota');
                    esegui_query("update {$tablecostiprenota_prec} set idcostiprenota = '{$max_idcostiprenota}' where idcostiprenota = '{$idcostiprenota}'");
                    esegui_query("insert into {$tablecostiprenota_orig} select * from {$tablecostiprenota_prec} where idcostiprenota = '{$max_idcostiprenota}' ");
                    esegui_query("update {$tablecostiprenota_prec} set idcostiprenota = '{$idcostiprenota}' where idcostiprenota = '{$max_idcostiprenota}'");
                    esegui_query("update {$tablecostiprenota_orig} set idcostiprenota = '{$idcostiprenota_orig}' where idcostiprenota = '{$max_idcostiprenota}'");
                    $settimane = risul_query($costiprenota_prec, $num1, 'settimane');
                    if (str_replace(",", "", $settimane) != $settimane) {
                        $settimane = explode(",", $settimane);
                        $settimane_nuove = ",";
                        for ($num2 = 1; $num2 < count($settimane) - 1; $num2++) {
                            $settimane_nuove .= $settimane[$num2] - $diff_settimane . ",";
                        }
                        esegui_query("update {$tablecostiprenota_orig} set settimane = '{$settimane_nuove}' where idcostiprenota = '{$idcostiprenota_orig}'");
                    }
                    # fine if (str_replace(",","",$settimane) != $settimane)
                    $idcostiprenota_orig++;
                }
                # fine for $num1
            }
            # fine if (($dati_da_anno_prec == "SI" or $prenota_in_anno_succ) and...
            if ((string) $n_app_eliminati_costi != (string) $d_app_eliminati_costi) {
                esegui_query("update {$tableprenota} set incompatibilita = '" . aggslashdb($n_app_eliminati_costi) . "' where idprenota = '{$id_prenota}' ");
            }
            # fine if ((string) $n_app_eliminati_costi != (string) $d_app_eliminati_costi)
            if (strcmp($n_sconto, "")) {
                esegui_query("update {$tableprenota} set sconto = '{$n_sconto}' where idprenota = '{$id_prenota}' ");
            }
            # fine if (strcmp($n_sconto,""))
            if (strcmp($n_caparra, "")) {
                esegui_query("update {$tableprenota} set caparra = '{$n_caparra}' where idprenota = '{$id_prenota}' ");
            }
            # fine if (strcmp($n_caparra,""))
            if ($n_met_paga_caparra != "") {
                esegui_query("update {$tableprenota} set metodo_pagamento = '" . aggslashdb($n_met_paga_caparra) . "' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_met_paga_caparra != "")
            if (strcmp($n_commissioni, "")) {
                esegui_query("update {$tableprenota} set commissioni = '{$n_commissioni}' where idprenota = '{$id_prenota}' ");
            }
            # fine if (strcmp($n_commissioni,""))
            if ($n_origine_prenota != "") {
                esegui_query("update {$tableprenota} set origine = '" . aggslashdb($n_origine_prenota) . "' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_origine_prenota != "")
            if ($n_pagato != "") {
                esegui_query("update {$tableprenota} set pagato = '{$n_pagato}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_pagato != "")
            if ($n_confermato != "") {
                esegui_query("update {$tableprenota} set conferma = '{$n_confermato}' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_confermato != "")
            if ($n_commento != "" and ($tipo_commento == "checkin" or $tipo_commento == "checkout")) {
                $n_comm_checkin = "";
                $n_comm_checkout = "";
                if ($tipo_commento == "checkin" and !$d_checkin_idpr[$id_prenota]) {
                    $n_comm_checkin = $n_commento;
                }
                if ($tipo_commento == "checkout" and !$d_checkout_idpr[$id_prenota]) {
                    $n_comm_checkout = $n_commento;
                }
                $n_comm = $d_commento;
                if (strstr($n_comm, ">")) {
                    $n_comm = explode(">", $n_comm);
                    if (strcmp($n_comm[1], "")) {
                        if ($n_comm_checkin) {
                            $n_comm_checkin = $n_comm[1] . " - {$n_comm_checkin}";
                        } else {
                            $n_comm_checkin = $n_comm[1];
                        }
                    }
                    # fine if (strcmp($n_comm[1],""))
                    if (strcmp($n_comm[2], "")) {
                        if ($n_comm_checkout) {
                            $n_comm_checkout = $n_comm[2] . " - {$n_comm_checkout}";
                        } else {
                            $n_comm_checkout = $n_comm[2];
                        }
                    }
                    # fine if (strcmp($n_comm[2],""))
                    $n_comm = $n_comm[0];
                }
                # fine if (strstr($n_comm,">"))
                if (strcmp($n_comm_checkin, "") or strcmp($n_comm_checkout, "")) {
                    $n_comm .= ">{$n_comm_checkin}>{$n_comm_checkout}";
                }
                esegui_query("update {$tableprenota} set commento = '" . aggslashdb($n_comm) . "' where idprenota = '{$id_prenota}' ");
            }
            # fine if ($n_commento != "" and ($tipo_commento == "checkin" or...
            if ($n_commento != "" and $tipo_commento != "checkin" and $tipo_commento != "checkout" or $n_cancella_commento == "SI") {
                $n_comm = $n_commento;
                if ($n_cancella_commento == "SI") {
                    $n_comm = "";
                }
                if (strstr($d_commento, ">")) {
                    $n_comm = $n_comm . strstr($d_commento, ">");
                }
                esegui_query("update {$tableprenota} set commento = '" . aggslashdb($n_comm) . "' where idprenota = '{$id_prenota}' ");
            }
            # fine if (($n_commento != "" and $tipo_commento != "checkin" and $tipo_commento != "checkout") or...
            $adesso = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
            esegui_query("update {$tableprenota} set tariffa_tot = '{$n_costo_tot}', data_modifica = '{$adesso}' where idprenota = '{$id_prenota}' ");
            if ($dati_da_anno_prec == "SI") {
                passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo);
            }
        }
        # fine for $num_idpr
        aggiorna_beniinv_presenti($tablerelinventario, $beniinv_presenti);
        if ($tabelle_lock) {
            unlock_tabelle($tabelle_lock);
        }
        if ($tableprenota_da_aggiornare or $n_inizioperiodo != "" or $n_fineperiodo != "") {
            $lock = 1;
            $aggiorna_disp = 1;
            $aggiorna_tar = 0;
            if (@function_exists('pcntl_fork')) {
                include "./includes/interconnect/aggiorna_ic_fork.php";
            } else {
                include "./includes/interconnect/aggiorna_ic.php";
            }
        }
        # fine if ($tableprenota_da_aggiornare or...
        for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
            $id_prenota = $id_prenota_idpr[$num_idpr];
            $n_pagato = $n_pagato_idpr[$id_prenota];
            if ($n_pagato != "") {
                $datainserimento_saldo = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
                $idcliente_saldo = risul_query($dati_prenota_idpr[$id_prenota], 0, 'idclienti');
                $d_idinizioprenota = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatainizio');
                $d_idfineprenota = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatafine');
                if ($n_inizioperiodo != "") {
                    $idinizioperiodo_saldo = $n_inizioperiodo;
                } else {
                    $idinizioperiodo_saldo = $d_idinizioprenota;
                }
                if ($n_fineperiodo != "") {
                    $idfineperiodo_saldo = $n_fineperiodo;
                } else {
                    $idfineperiodo_saldo = $d_idfineprenota;
                }
                $motivazione_saldo = "{$idcliente_saldo};{$idinizioperiodo_saldo};{$idfineperiodo_saldo};{$id_prenota}";
                $pagato_attuale = risul_query($dati_prenota_idpr[$id_prenota], 0, 'pagato');
                if (!$pagato_attuale) {
                    $pagato_attuale = 0;
                }
                $saldo = $n_pagato - $pagato_attuale;
                $metodo_pagamento = ${"metodo_pagamento" . $id_prenota};
                $metodo_pagamento = aggslashdb($metodo_pagamento);
                $tabelle_lock = array($tablesoldi);
                $tabelle_lock = lock_tabelle($tabelle_lock);
                $idsoldi = esegui_query("select max(idsoldi) from {$tablesoldi}");
                $idsoldi = risul_query($idsoldi, 0, 0) + 1;
                esegui_query("insert into {$tablesoldi} (idsoldi,motivazione,metodo_pagamento,saldo_prenota,soldi_prima,data_inserimento,utente_inserimento) values ('{$idsoldi}','{$motivazione_saldo}','{$metodo_pagamento}','{$saldo}','{$pagato_attuale}','{$datainserimento_saldo}','{$id_utente}')");
                unlock_tabelle($tabelle_lock);
                if (strcmp($cassa_pagamenti, "")) {
                    $tabelle_lock = array($tablecosti);
                    $altre_tab_lock = array($tableperiodi, $tableclienti);
                    $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock);
                    if ($anno >= substr($datainserimento_saldo, 0, 4)) {
                        $costo0 = esegui_query("select * from {$tablecosti} where idcosti = '0' ");
                        $costo0 = risul_query($costo0, 0, 'val_costo');
                        $costo0 = (double) $costo0 + (double) $saldo;
                        esegui_query("update {$tablecosti} set val_costo = '{$costo0}' where idcosti = '0' ");
                    }
                    # fine if ($anno_saldo >= substr($datainserimento_saldo,0,4))
                    if (!$idinizioperiodo_saldo) {
                        $data_inizio_costo = "?";
                    } else {
                        $data_inizio_costo = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '{$idinizioperiodo_saldo}' ");
                        $data_inizio_costo = formatta_data(risul_query($data_inizio_costo, 0, 'datainizio'), $stile_data);
                    }
                    # fine else if (!$idinizioperiodo_saldo)
                    $data_fine_costo = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$idfineperiodo_saldo}' ");
                    $data_fine_costo = formatta_data(risul_query($data_fine_costo, 0, 'datafine'), $stile_data);
                    $cognome_saldo = esegui_query("select cognome from {$tableclienti} where idclienti = '{$idcliente_saldo}' ");
                    $cognome_saldo = risul_query($cognome_saldo, 0, 'cognome');
                    $nome_costo = "" . mex("Prenotazione", $pag) . " {$id_prenota} " . mex("dal", $pag) . " {$data_inizio_costo} " . mex("al", $pag) . " {$data_fine_costo} " . mex("per", $pag) . " {$cognome_saldo}";
                    $idcosti = esegui_query("select max(idcosti) from {$tablecosti}");
                    $idcosti = risul_query($idcosti, 0, 0) + 1;
                    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}','" . aggslashdb($nome_costo) . "','{$saldo}','e','" . aggslashdb($cassa_pagamenti) . "','" . aggslashdb($nome_utente) . "','p','{$metodo_pagamento}','{$datainserimento_saldo}','{$HOSTNAME}','{$id_utente}') ");
                    unlock_tabelle($tabelle_lock);
                }
                # fine if (strcmp($cassa_pagamenti,""))
            }
            # fine if ($n_pagato != "")
        }
        # fine for $num_idpr
    }
    # fine else if ($inserire == "NO")
}
Example #11
0
                     echo mex("Il periodo", $pag) . " {$numperiodo} " . mex("si sovrappone ad un periodo precedente", $pag) . ". <br>";
                     $inserire = "NO";
                 } else {
                     $inserirepp[$idinizioperiodo] = "SI";
                     $vecchioprezzoperiodo = esegui_query("select {$tipotariffa} from {$tableperiodi} where idperiodi = '{$idinizioperiodo}' and ({$tipotariffa} is not NULL or {$tipotariffa}" . "p is not NULL)");
                     $esisteprezzoperiodo = numlin_query($vecchioprezzoperiodo);
                     if ($esisteprezzoperiodo > 0 and $inserisci) {
                         echo mex("Un prezzo nel periodo numero", $pag) . " {$numperiodo} " . mex("esiste già, usa il tasto \"modifica i prezzi già inseriti\" per cambiarlo", $pag) . ". <br>";
                         $inserire = "NO";
                     }
                     # fine if ($esisteprezzoperiodo > 0 and $inserisci)
                 }
                 # fine else if (inserirepp[$idinizioperiodo] == "SI")
             }
             # fine for $idinizioperiodo
             if (strcmp(${$prezzoperiodo}, "") and controlla_soldi(${$prezzoperiodo}) == "NO" or strcmp(${$prezzoperiodop}, "") and controlla_soldi(${$prezzoperiodop}) == "NO") {
                 echo mex("Il prezzo del periodo numero", $pag) . " {$numperiodo} " . mex("è sbagliato", $pag) . ". <br>";
                 $inserire = "NO";
             }
             # fine if ((strcmp($$prezzoperiodo,"") and controlla_soldi($$prezzoperiodo) == "NO") or...
         }
         # fine else if ($idfineperiodo < $idinizioperiodo)
     }
     # fine if (strcmp($$prezzoperiodo,"") or strcmp($$prezzoperiodop,""))
 }
 # fine for $numperiodo
 # Inserisco i nuovi data
 if ($inserire == "SI") {
     $aggiorna_tariffe_interconn = "SI";
     esegui_query("delete from {$tablepersonalizza} where idpersonalizza = 'ultime_sel_ins_prezzi' and idutente = '{$id_utente}' ");
     esegui_query("insert into {$tablepersonalizza} (idpersonalizza,idutente,valpersonalizza) values ('ultime_sel_ins_prezzi','{$id_utente}','{$ultime_sel_ins_prezzi}') ");
Example #12
0
} # fine if ($cambiavaluta)

if ($cambiaarrotonda) {
$nuovo_arrotond = formatta_soldi($nuovo_arrotond);
if ((double) $nuovo_arrotond == 0) $nuovo_arrotond = 1;
if (controlla_soldi($nuovo_arrotond) == "SI") {
$nuovo_arrotond = aggslashdb($nuovo_arrotond);
esegui_query("update $tablepersonalizza set valpersonalizza = '$nuovo_arrotond' where idpersonalizza = 'arrotond_predef' and idutente = '$id_utente_mod'");
echo ucfirst(mex("il",$pag))." ".mex("valore predefinito a cui arrotondare le percentuali dei prezzi",$pag)." ".mex("è stato cambiato",$pag).".<br>";
} # fine if (controlla_soldi($nuovo_arrotond) == "SI")
} # fine if ($cambiaarrotonda)

if ($cambiaarrtasse) {
$nuovo_arrotond_tasse = formatta_soldi($nuovo_arrotond_tasse);
if ((double) $nuovo_arrotond_tasse == 0) $nuovo_arrotond_tasse = '0.01';
if (controlla_soldi($nuovo_arrotond_tasse) == "SI") {
$nuovo_arrotond_tasse = aggslashdb($nuovo_arrotond_tasse);
esegui_query("update $tablepersonalizza set valpersonalizza = '$nuovo_arrotond_tasse' where idpersonalizza = 'arrotond_tasse' and idutente = '$id_utente_mod'");
echo ucfirst(mex("il",$pag))." ".mex("valore a cui arrotondare le percentuali delle tasse",$pag)." ".mex("è stato cambiato",$pag).".<br>";
} # fine if (controlla_soldi($nuovo_arrotond) == "SI")
} # fine if ($cambiaarrtasse)

if ($cambia_formato_soldi) {
if ($n_stile_soldi != "europa" and $n_stile_soldi != "usa") $n_stile_soldi = "europa";
esegui_query("update $tablepersonalizza set valpersonalizza = '$n_stile_soldi' where idpersonalizza = 'stile_soldi' and idutente = '$id_utente_mod'");
echo mex("Il formato di visualizzazione dei soldi è stato cambiato",$pag).".<br>";
} # fine if ($cambia_formato_soldi)

if ($cambia_formato_data) {
if ($n_stile_data != "europa" and $n_stile_data != "usa") $n_stile_data = "europa";
esegui_query("update $tablepersonalizza set valpersonalizza='$n_stile_data' where idpersonalizza = 'stile_data' and idutente = '$id_utente_mod'");
Example #13
0
# incompatibili con la modifica della prenotazione, allora questi appartamenti verranno tolti 
# di nuovo dal costo quando si modifica la prenotazione, finchè il costo rimarrà associato)
if ($app_eliminati_costi[$n_t]) {
esegui_query("update $tableprenota set incompatibilita = '".aggslashdb($app_eliminati_costi[$n_t])."' where idprenota = '$idprenota' ");
} # fine if ($app_eliminati_costi[$n_t])

if (strcmp($sconto,"") and $priv_ins_sconto == "s" and controlla_soldi($sconto) == "SI") {
esegui_query("update $tableprenota set sconto = '$sconto' where idprenota = '$idprenota' ");
$sconto_p = punti_in_num($sconto,$stile_soldi);
if (substr($sconto_p,0,1) == "-") $sconto_p = substr($sconto_p,1);
else echo "-";
echo "$sconto_p $Euro &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ".mex("Sconto",$pag)."<br>";
} # fine if (strcmp($sconto,"") and $priv_ins_sconto == "s" and...

$commissioni = formatta_soldi($commissioni);
if ($priv_ins_caparra != "s" or controlla_soldi($commissioni,"pos") == "NO") unset($commissioni);
if (!$commissioni) $commissioni = calcola_commissioni($dati_tariffe,$nometipotariffa,$inizioperiodo,$fineperiodo,$lista_tariffe_sett,$sconto,$prezzo_costi_tot);
elseif ($tipo_val_commissioni == "tar" or $tipo_val_commissioni == "ts" or $tipo_val_commissioni == "tsc") {
$commissioni_arrotond = $dati_tariffe[$nometipotariffa]['commissioni_arrotond']['def'];
if (!strcmp($commissioni_arrotond,"") or $commissioni_arrotond == "val") $commissioni_arrotond = $arrotond_predef;
$costo_base = (double) $costo_tariffa;
if ($tipo_val_commissioni == "ts") $costo_base = $costo_base - (double) $sconto;
if ($tipo_val_commissioni == "tsc") $costo_base = $costo_base - (double) $sconto + (double) $prezzo_costi_tot;
$commissioni = ($costo_base * (double) $commissioni) / 100;
$commissioni = $commissioni / $commissioni_arrotond;
$commissioni = floor(round($commissioni));
$commissioni = $commissioni * $commissioni_arrotond;
} # fine elseif ($tipo_val_commissioni == "tar" or...
$sconto = $sconto_orig;

esegui_query("update $tableprenota set tariffa_tot = '$costo_tariffa_tot' where idprenota = '$idprenota' ");