function mostra_frame_rel($id, $rel, $rel_sup, $id_ut_sel, $cmp, $mostra_cod, $pieno, $titolo, $size = "20", $maxlength = "50")
{
    global $tablerelutenti, $tablenazioni, $tableregioni, $tablecitta, $tabledocumentiid, $tableparentele;
    trova_rel($rel, $rel_sing, $rel_plur, $tablerel);
    trova_rel($rel_sup, $rel_sup_sing, $rel_sup_plur, $tablerel_sup);
    if (get_magic_quotes_gpc()) {
        $id = stripslashes($id);
    }
    $id = htmlspecialchars($id);
    $id_sup = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_ut_sel}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($id) . "' ");
    if (numlin_query($id_sup)) {
        $is_id = "= '" . risul_query($id_sup, 0, "id{$rel_sup_plur}", $tablerel_sup) . "'";
    } else {
        $is_id = "is NULL";
    }
    echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n        \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >\n<title> {$titolo} </title>\n</head>\n<body>\n<div id=\"dati_rel\">";
    $rel_utente = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerel}.codice_{$rel_sing},{$tablerel}.codice2_{$rel_sing},{$tablerel}.codice3_{$rel_sing} from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$id_ut_sel}' and {$tablerelutenti}.idsup {$is_id} order by {$tablerel}.nome_{$rel_sing}");
    $num_rel_utente = numlin_query($rel_utente);
    if ($num_rel_utente) {
        echo "<select name=\"{$cmp}\" id=\"{$cmp}\">";
        if ($pieno != "SI") {
            echo "<option value=\"\">------</option>";
        }
        for ($num1 = 0; $num1 < $num_rel_utente; $num1++) {
            $rel = htmlspecialchars(risul_query($rel_utente, $num1, "nome_{$rel_sing}", $tablerel));
            echo "<option value=\"{$rel}\">{$rel}";
            if ($mostra_cod) {
                $codice = htmlspecialchars(risul_query($rel_utente, $num1, "codice_{$rel_sing}", $tablerel));
                $codice2 = htmlspecialchars(risul_query($rel_utente, $num1, "codice2_{$rel_sing}", $tablerel));
                $codice3 = htmlspecialchars(risul_query($rel_utente, $num1, "codice3_{$rel_sing}", $tablerel));
                if (strcmp($codice, "")) {
                    echo " ({$codice})";
                }
                if (strcmp($codice2, "")) {
                    echo " (" . mex("2°", 'personalizza.php') . " {$codice2})";
                }
                if (strcmp($codice3, "")) {
                    echo " (" . mex("3°", 'personalizza.php') . " {$codice3})";
                }
            }
            # fine if ($mostra_cod)
            echo "</option>";
        }
        # fine for $num1
        echo "</select>";
    } else {
        echo "<input type=\"text\" name=\"{$cmp}\" id=\"{$cmp}\" size=\"{$size}\" maxlength=\"{$maxlength}\">";
    }
    echo "</div>\n</body>\n</html>\n";
}
Esempio n. 2
0
} # fine if ($celle == 3)
$celle++;
} # fine for $numtariffa
if ($celle != 1) {
for ($num1 = $celle ; $num1 <= $num_colonne ; $num1++) echo "<td>&nbsp;</td>";
echo "</tr>";
} # fine if ($celle != 1)
echo "</table><br>";

echo "".mex("Motivazioni delle regole di assegnazone 1 per disponibilità condizionata da tenere in conto",$pag).":<br>
<table style=\"margin-left: auto; margin-right: auto;\" border=\"1\" cellspacing=\"0\" cellpadding=\"4\">";
$celle = 1;
$num_colonne = 3;
$tableregole_modello = $PHPR_TAB_PRE."regole".$anno_modello;
$regole = esegui_query("select * from $tableregole_modello where app_agenzia != '' and (motivazione2 != 'x' or motivazione2 is NULL) order by app_agenzia");
$num_regole = numlin_query($regole);
unset($motivazioni_presenti);
$num_motivazioni = 0;
for ($num1 = 0 ; $num1 < $num_regole ; $num1 = $num1 + 1) {
if ($celle == 1) echo "<tr>";
$idregole = risul_query($regole,$num1,'idregole');
$motivazione = risul_query($regole,$num1,'motivazione');
if (!$motivazione) {
$motivazione = " ";
$motivazione_vedi = mex("nessuna",$pag);
} # fine if (!$motivazione)
else $motivazione_vedi = $motivazione;
if ($motivazioni_presenti[$motivazione] != "SI") {
$motivazioni_presenti[$motivazione] = "SI";
$var_motivazione = "var_mot_".$num_motivazioni;
$num_motivazioni++;
# Pagina iniziale
echo "<h3>".mex("Interconnessioni con sorgenti esterne di data",$pag).".</h3>
<hr style=\"width: 95%\">";

$id_utente_az = esegui_query("select idlocale from $tableinterconnessioni where tipoid = 'id_utente_az' ");
if (numlin_query($id_utente_az) == 1) $id_utente_azione_ic = risul_query($id_utente_az,0,"idlocale");
echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"./interconnessioni.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"modifica_interconnessione\" value=\"SI\">
<input type=\"hidden\" name=\"modifica_utente_agg\" value=\"SI\">
".mex("Utente per l'aggiornamento remoto delle interconnessioni",$pag).":
 <select name=\"n_utente_agg\">";
echo "<option value=\"\"$sel_tutti>----</option>";
$tutti_utenti = esegui_query("select idutenti,nome_utente from $tableutenti where idutenti != '1' order by idutenti");
$num_tutti_utenti = numlin_query($tutti_utenti);
for ($num1 = 0 ; $num1 < $num_tutti_utenti ; $num1++) {
$nome_utente = risul_query($tutti_utenti,$num1,'nome_utente');
$idutenti = risul_query($tutti_utenti,$num1,"idutenti");
if ($idutenti == $id_utente_azione_ic) {
$sel = " selected";
$nome_utente_agg = $nome_utente;
} # fine if ($idutenti == $id_utente_azione_ic)
else $sel = "";
echo "<option value=\"$idutenti\"$sel>$nome_utente</option>";
} # fine for $num1
echo "</select>
<input class=\"sbutton\" type=\"submit\" value=\"".mex("Modifica",$pag)."\">";
if ($nome_utente_agg) {
$url_corr = "http://";
if ($_SERVER['HTTPS']) $url_corr = "https://";
Esempio n. 4
0
 # fine for $num
 fwrite($fileaperto, "\"; \n?>");
 fclose($fileaperto);
 if ($assegna_vicini_nc == "SI") {
     $appart = esegui_query("select * from {$tableappartamenti}");
     for ($num1 = 0; $num1 < $numappartamenti; $num1 = $num1 + 1) {
         $idapp = risul_query($appart, $num1, 'idappartamenti');
         $nc = risul_query($appart, $num1, 'numcasa');
         $np = risul_query($appart, $num1, 'numpiano');
         $query = "select idappartamenti from {$tableappartamenti} where numcasa = '{$nc}' and idappartamenti != '{$idapp}'";
         if ($assegna_vicini_np == "SI") {
             $query = $query . " and numpiano = '{$np}'";
         }
         # fine if ($assegna_vicini_np == "SI")
         $av = esegui_query($query);
         $num_av = numlin_query($av);
         $app_vicini = "";
         for ($num2 = 0; $num2 < $num_av; $num2 = $num2 + 1) {
             $id_av = risul_query($av, $num2, 'idappartamenti');
             if ($app_vicini == "") {
                 $app_vicini = $id_av;
             } else {
                 $app_vicini = $app_vicini . "," . $id_av;
             }
         }
         # fine for $num2
         esegui_query("update {$tableappartamenti} set app_vicini = '{$app_vicini}' where idappartamenti = '{$idapp}'");
     }
     # fine for $num1
 }
 # fine if ($assegna_vicini_nc == "SI")
Esempio n. 5
0
function crea_nuovo_anno($anno, $PHPR_TAB_PRE, $DATETIME, $tipo_periodi, $giorno_ini_fine, $mese_ini, $mese_fine, $importa_anno_prec, $silenzio, $pag)
{
    allunga_tempo_limite();
    global $lingua_mex, $LIKE, $ILIKE, $PHPR_DB_TYPE;
    $lingua_mex_orig = $lingua_mex;
    include_once "./includes/funzioni_menu.php";
    include C_DATA_PATH . "/lingua.php";
    $lingua_mex = $lingua[1];
    $tableanni = $PHPR_TAB_PRE . "anni";
    $tableprivilegi = $PHPR_TAB_PRE . "privilegi";
    $tabletransazioni = $PHPR_TAB_PRE . "transazioni";
    $tabletransazioniweb = $PHPR_TAB_PRE . "transazioniweb";
    $tablepersonalizza = $PHPR_TAB_PRE . "personalizza";
    $tablemessaggi = $PHPR_TAB_PRE . "messaggi";
    $tableinterconnessioni = $PHPR_TAB_PRE . "interconnessioni";
    $tablecontratti = $PHPR_TAB_PRE . "contratti";
    $tableutenti = $PHPR_TAB_PRE . "utenti";
    $tablerelclienti = $PHPR_TAB_PRE . "relclienti";
    if ($PHPR_DB_TYPE == "mysql" or $PHPR_DB_TYPE == "mysqli") {
        @esegui_query("SET default_storage_engine=MYISAM", 1);
    }
    $filelock = fopen(C_DATA_PATH . "/anni.lock", "w+");
    if ($filelock) {
        flock($filelock, 2);
        $anno_esistente = esegui_query("select * from {$tableanni} where idanni = {$anno}");
        if (numlin_query($anno_esistente) == 0) {
            if (C_CAMBIA_TIPO_PERIODI == "NO") {
                $tipo_periodi_esistenti = esegui_query("select * from {$tableanni} order by idanni desc");
                if (numlin_query($tipo_periodi_esistenti) != 0) {
                    $tipo_periodi = risul_query($tipo_periodi_esistenti, 0, 'tipo_periodi');
                }
            }
            # fine if (C_CAMBIA_TIPO_PERIODI == "NO")
            if ($tipo_periodi != "g") {
                $tipo_periodi = "s";
            }
            // creo la tabella con periodi settimanali e prezzi e la tabella con i nomi delle tariffe
            $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno;
            $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno;
            if ($importa_anno_prec == "SI") {
                $anno_prec = $anno - 1;
                $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec;
                $num_tariffe_tab = esegui_query("select nomecostoagg from {$tablenometariffe_prec} where idntariffe = 1");
                $num_tariffe_tab = risul_query($num_tariffe_tab, 0, 'nomecostoagg');
            } else {
                $num_tariffe_tab = 8;
            }
            $query = "create table {$tableperiodi} (idperiodi integer primary key, datainizio date not null, datafine date";
            $query2 = "create table {$tablenometariffe} (idntariffe integer, nomecostoagg varchar(40), tipo_ca varchar(2), valore_ca float8, valore_perc_ca float8, arrotonda_ca float4, tasseperc_ca float4, associasett_ca varchar(1), numsett_ca varchar(20), moltiplica_ca text, periodipermessi_ca text, beniinv_ca text, appincompatibili_ca text, variazione_ca varchar(20), mostra_ca varchar(10), categoria_ca text, letto_ca varchar(1), numlimite_ca integer, regoleassegna_ca varchar(30), utente_inserimento integer";
            $num_col_tariffe_db = $num_tariffe_tab;
            if ($num_col_tariffe_db < 12) {
                $num_col_tariffe_db = 12;
            }
            for ($num1 = 1; $num1 <= $num_col_tariffe_db; $num1++) {
                $nome_nuova_tariffa = "tariffa" . $num1;
                $query .= ", {$nome_nuova_tariffa} float8, {$nome_nuova_tariffa}" . "p float8";
                $query2 .= ", {$nome_nuova_tariffa} varchar(40)";
            }
            # fine for $num1
            $crea_tab = esegui_query($query . ")");
            if ($crea_tab) {
                esegui_query($query2 . ")");
                function estrai_col_tabella($col_table)
                {
                    $col_table = explode(",", $col_table);
                    for ($num1 = 0; $num1 < count($col_table); $num1++) {
                        $col = explode(" ", trim($col_table[$num1]));
                        $tutte_col .= $col[0] . ",";
                    }
                    # fine for $num1
                    return substr($tutte_col, 0, -1);
                }
                # fine function estrai_col_tabella
                # Creo la tabella delle prernotazioni
                $tableprenotazioni = $PHPR_TAB_PRE . "prenota" . $anno;
                $col_tableprenota = "idprenota integer primary key, idclienti integer, idappartamenti varchar(100), iddatainizio integer, iddatafine integer, assegnazioneapp varchar(4), app_assegnabili text, num_persone integer, idprenota_compagna text, tariffa text, tariffesettimanali text, incompatibilita text, sconto float8, tariffa_tot float8, caparra float8, commissioni float8, tasseperc float4, pagato float8, metodo_pagamento text, codice varchar(10), origine varchar(70), commento text, conferma varchar(4), checkin {$DATETIME}, checkout {$DATETIME}, id_anni_prec text, datainserimento {$DATETIME}, hostinserimento varchar(50), data_modifica {$DATETIME}, utente_inserimento integer ";
                esegui_query("create table {$tableprenotazioni} ({$col_tableprenota})");
                $col_tableprenota = estrai_col_tabella($col_tableprenota);
                # Creo la tabella con i costi aggiuntivi delle prenotazioni
                $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno;
                $col_tablecostiprenota = "idcostiprenota integer primary key, idprenota integer, tipo varchar(2), nome varchar(40), valore float8, valore_perc float8, arrotonda float4, tasseperc float4, associasett varchar(1), settimane text, moltiplica text, categoria text, letto varchar(1), numlimite integer, idntariffe integer, variazione varchar(10), varmoltiplica text, varnumsett varchar(20), varperiodipermessi text, varbeniinv text, varappincompatibili text, vartariffeassociate varchar(10), vartariffeincomp text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer";
                esegui_query("create table {$tablecostiprenota} ({$col_tablecostiprenota})");
                $col_tablecostiprenota = estrai_col_tabella($col_tablecostiprenota);
                crea_indice($tablecostiprenota, "idprenota", $PHPR_TAB_PRE . "iidpcostiprenota" . $anno);
                esegui_query("insert into {$tablecostiprenota} (idcostiprenota,numlimite) values ('1','1')");
                # Creo la tabella le relazioni tra prenotazioni e clienti non titolari
                $tablerclientiprenota = $PHPR_TAB_PRE . "rclientiprenota" . $anno;
                $col_tablerclientiprenota = "idprenota integer, idclienti integer, num_ordine integer, parentela varchar(70), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer";
                esegui_query("create table {$tablerclientiprenota} ({$col_tablerclientiprenota})");
                $col_tablerclientiprenota = estrai_col_tabella($col_tablerclientiprenota);
                crea_indice($tablerclientiprenota, "idprenota", $PHPR_TAB_PRE . "iidprclientiprenota" . $anno);
                # Creo la tabella per le regole di assegnazione
                $tableregole = $PHPR_TAB_PRE . "regole" . $anno;
                $col_tableregole = "idregole integer, app_agenzia varchar(100), tariffa_chiusa text, tariffa_per_app text, tariffa_per_utente text, tariffa_per_persone text, tariffa_commissioni integer, iddatainizio integer, iddatafine integer, motivazione text, motivazione2 text";
                esegui_query("create table {$tableregole} ({$col_tableregole})");
                $col_tableregole = estrai_col_tabella($col_tableregole);
                # Creo la tabella con i costi di gestione
                $tablecosti = $PHPR_TAB_PRE . "costi" . $anno;
                $col_tablecosti = "idcosti integer unique,nome_costo text, val_costo float8, tipo_costo text, nome_cassa varchar(70), persona_costo text, provenienza_costo text, metodo_pagamento text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer";
                esegui_query("create table {$tablecosti} ({$col_tablecosti})");
                $col_tablecosti = estrai_col_tabella($col_tablecosti);
                # Creo la tabella per la storia entrate-uscite
                $tablesoldi = $PHPR_TAB_PRE . "soldi" . $anno;
                $col_tablesoldi = "idsoldi integer unique, motivazione text, id_pagamento text, metodo_pagamento text, saldo_prenota float8, saldo_cassa float8, soldi_prima float8, data_inserimento {$DATETIME}, utente_inserimento integer";
                esegui_query("create table {$tablesoldi} ({$col_tablesoldi})");
                $col_tablesoldi = estrai_col_tabella($col_tablesoldi);
                $tabelle_lock = array($tableanni, $tableprenotazioni, $tablecostiprenota, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti, $tableregole, $tablesoldi, $tablepersonalizza, $tableprivilegi, $tabletransazioni);
                if ($importa_anno_prec == "SI") {
                    $anno_prec = $anno - 1;
                    $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec;
                    $tableprenota_prec = $PHPR_TAB_PRE . "prenota" . $anno_prec;
                    $tablecostiprenota_prec = $PHPR_TAB_PRE . "costiprenota" . $anno_prec;
                    $tablerclientiprenota_prec = $PHPR_TAB_PRE . "rclientiprenota" . $anno_prec;
                    $tableperiodi_prec = $PHPR_TAB_PRE . "periodi" . $anno_prec;
                    $tableregole_prec = $PHPR_TAB_PRE . "regole" . $anno_prec;
                    $tablesoldi_prec = $PHPR_TAB_PRE . "soldi" . $anno_prec;
                    $tablecosti_prec = $PHPR_TAB_PRE . "costi" . $anno_prec;
                    $tabelle_lock = array($tableanni, $tableprenota_prec, $tableprenotazioni, $tablecostiprenota_prec, $tablecostiprenota, $tablerclientiprenota_prec, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti_prec, $tablecosti, $tableregole, $tablesoldi_prec, $tablesoldi, $tableinterconnessioni, $tablemessaggi, $tablepersonalizza, $tableprivilegi, $tabletransazioni);
                    $altre_tab_lock = array($tablenometariffe_prec, $tableperiodi_prec, $tableregole_prec, $tablecontratti, $tableutenti);
                    $max_data_ini_prec = esegui_query("select max(datainizio) from {$tableperiodi_prec}");
                    if (numlin_query($max_data_ini_prec) != 0) {
                        $max_data_ini_prec = risul_query($max_data_ini_prec, 0, 0);
                        $max_mese_prec = 0;
                        if (substr($max_data_ini_prec, 0, 4) >= $anno) {
                            $max_mese_prec = substr($max_data_ini_prec, 5, 2);
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 1) {
                            $max_mese_prec = $max_mese_prec + 12;
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 2) {
                            $max_mese_prec = $max_mese_prec + 24;
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 3) {
                            $max_mese_prec = $max_mese_prec + 36;
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 4) {
                            $max_mese_prec = $max_mese_prec + 48;
                        }
                        if ($max_mese_prec > $mese_fine) {
                            $mese_fine = $max_mese_prec;
                        }
                        $data_ini_agg = date("Y-m-d", mktime(0, 0, 0, substr($max_data_ini_prec, 5, 2) + 1, 1, substr($max_data_ini_prec, 0, 4)));
                    } else {
                        $max_data_ini_prec = "";
                        $max_mese_prec = "";
                        $data_ini_agg = "";
                    }
                    # fine else if (numlin_query($max_data_ini_prec) != 0)
                } else {
                    unset($altre_tab_lock);
                }
                $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock);
                # Elimino tutte le transazioni, potrebbero contenere date dell'anno creato
                esegui_query("delete from {$tabletransazioni}");
                # Inserisco l'anno nella tabella anni
                esegui_query("insert into {$tableanni} (idanni,tipo_periodi) values ('{$anno}','{$tipo_periodi}')");
                esegui_query("insert into {$tablecosti} (idcosti) values ('0')");
                esegui_query("insert into {$tablesoldi} (idsoldi,motivazione,soldi_prima) values ('1','soldi_prenotazioni_cancellate','0')");
                // trovo il primo giorno di inizio/fine dell'anno (nel caso di periodi settimanali)
                $numgiorno = 1;
                $giorno_ini_fine = (string) $giorno_ini_fine;
                if ($giorno_ini_fine != "0" and $giorno_ini_fine != "1" and $giorno_ini_fine != "2" and $giorno_ini_fine != "3" and $giorno_ini_fine != "4" and $giorno_ini_fine != "5" and $giorno_ini_fine != "6") {
                    $giorno_ini_fine = 6;
                }
                do {
                    $nomegiorno = date("w", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $numgiorno = $numgiorno + 1;
                } while ($nomegiorno != $giorno_ini_fine);
                $numgiorno = $numgiorno - 1;
                if ($tipo_periodi == "g") {
                    $numgiorno = 1;
                    $aggiungi_giorni = 1;
                } else {
                    $aggiungi_giorni = 7;
                }
                if ($mese_ini > $mese_fine) {
                    if ($silenzio != "SI") {
                        echo mex("I mesi erano indicati erroneamente, sono stati inseriti i mesi da Gennaio a Dicembre", $pag) . ".<br>";
                    }
                    $mese_ini = 1;
                    if ($mese_fine < 12) {
                        $mese_fine = 12;
                    }
                }
                # fine if ($mese_ini > $mese_fine)
                $anno_fine = $anno + 3;
                $idperiodi = 1;
                $fileaperto = fopen(C_DATA_PATH . "/selectperiodi{$anno}.1.php", "a+");
                flock($fileaperto, 2);
                $date_option = "";
                $n_date_menu = 0;
                do {
                    $datainizio = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $annocreato = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $mesecreato = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $nome_giorno = date("D", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $nome_mese = date("M", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $numero_giorno = date("d", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $numero_anno = $annocreato;
                    $numgiorno = $numgiorno + $aggiungi_giorni;
                    $datafine = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $annocreato2 = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $mesecreato2 = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    if ($annocreato > $anno) {
                        $diff = $annocreato - $anno;
                        $mesecreato = $diff * 12 + $mesecreato;
                    }
                    # fine if ($annocreato > $anno)
                    if ($annocreato2 > $anno) {
                        $diff = $annocreato2 - $anno;
                        $mesecreato2 = $diff * 12 + $mesecreato2;
                    }
                    # fine if ($annocreato2 > $anno)
                    if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine) {
                        esegui_query("insert into {$tableperiodi} ( idperiodi, datainizio, datafine) values ( {$idperiodi}, '{$datainizio}', '{$datafine}')");
                        if ($tipo_periodi == "g") {
                            if ($nome_giorno == "Sun") {
                                $nome_giorno = mex(" Do", $pag);
                            }
                            if ($nome_giorno == "Mon") {
                                $nome_giorno = mex(" Lu", $pag);
                            }
                            if ($nome_giorno == "Tue") {
                                $nome_giorno = mex(" Ma", $pag);
                            }
                            if ($nome_giorno == "Wed") {
                                $nome_giorno = mex(" Me", $pag);
                            }
                            if ($nome_giorno == "Thu") {
                                $nome_giorno = mex(" Gi", $pag);
                            }
                            if ($nome_giorno == "Fri") {
                                $nome_giorno = mex(" Ve", $pag);
                            }
                            if ($nome_giorno == "Sat") {
                                $nome_giorno = mex(" Sa", $pag);
                            }
                        } else {
                            $nome_giorno = "";
                        }
                        if ($nome_mese == "Jan") {
                            $nome_mese = mex("Gen", $pag);
                        }
                        if ($nome_mese == "Feb") {
                            $nome_mese = mex("Feb", $pag);
                        }
                        if ($nome_mese == "Mar") {
                            $nome_mese = mex("Mar", $pag);
                        }
                        if ($nome_mese == "Apr") {
                            $nome_mese = mex("Apr", $pag);
                        }
                        if ($nome_mese == "May") {
                            $nome_mese = mex("Mag", $pag);
                        }
                        if ($nome_mese == "Jun") {
                            $nome_mese = mex("Giu", $pag);
                        }
                        if ($nome_mese == "Jul") {
                            $nome_mese = mex("Lug", $pag);
                        }
                        if ($nome_mese == "Aug") {
                            $nome_mese = mex("Ago", $pag);
                        }
                        if ($nome_mese == "Sep") {
                            $nome_mese = mex("Set", $pag);
                        }
                        if ($nome_mese == "Oct") {
                            $nome_mese = mex("Ott", $pag);
                        }
                        if ($nome_mese == "Nov") {
                            $nome_mese = mex("Nov", $pag);
                        }
                        if ($nome_mese == "Dec") {
                            $nome_mese = mex("Dic", $pag);
                        }
                        if (!$date_option) {
                            $a_ini_menu = substr($datainizio, 0, 4);
                            $m_ini_menu = substr($datainizio, 5, 2) - 1;
                            $g_ini_menu = substr($datainizio, 8, 2);
                        }
                        # fine if (!$date_option)
                        $n_date_menu++;
                        $date_option .= "<option value=\\\"{$datainizio}\\\">{$nome_mese} {$numero_giorno}{$nome_giorno}, {$numero_anno}</option>\n";
                        $idperiodi = $idperiodi + 1;
                        $datafine2 = $datafine;
                    }
                    # fine if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine)
                } while ($annocreato2 <= $anno_fine or $mesecreato2 == 48);
                $numero_mese = substr($datafine2, 5, 2);
                if ($numero_mese == "01") {
                    $nome_mese = mex("Gen", $pag);
                }
                if ($numero_mese == "02") {
                    $nome_mese = mex("Feb", $pag);
                }
                if ($numero_mese == "03") {
                    $nome_mese = mex("Mar", $pag);
                }
                if ($numero_mese == "04") {
                    $nome_mese = mex("Apr", $pag);
                }
                if ($numero_mese == "05") {
                    $nome_mese = mex("Mag", $pag);
                }
                if ($numero_mese == "06") {
                    $nome_mese = mex("Giu", $pag);
                }
                if ($numero_mese == "07") {
                    $nome_mese = mex("Lug", $pag);
                }
                if ($numero_mese == "08") {
                    $nome_mese = mex("Ago", $pag);
                }
                if ($numero_mese == "09") {
                    $nome_mese = mex("Set", $pag);
                }
                if ($numero_mese == "10") {
                    $nome_mese = mex("Ott", $pag);
                }
                if ($numero_mese == "11") {
                    $nome_mese = mex("Nov", $pag);
                }
                if ($numero_mese == "12") {
                    $nome_mese = mex("Dic", $pag);
                }
                $numero_giorno = substr($datafine2, 8, 2);
                $numero_anno = substr($datafine2, 0, 4);
                $n_date_menu++;
                $date_option .= "<option value=\\\"{$datafine2}\\\">{$nome_mese} {$numero_giorno}, {$numero_anno}</option>\n";
                fwrite($fileaperto, "<?php \n\n\$y_ini_menu[0] = \"{$a_ini_menu}\";\n\$m_ini_menu[0] = \"{$m_ini_menu}\";\n\$d_ini_menu[0] = \"{$g_ini_menu}\";\n\$n_dates_menu[0] = \"{$n_date_menu}\";\n\$d_increment[0] = \"{$aggiungi_giorni}\";\n\$d_names = \"\\\"" . mex(" Do", $pag) . "\\\",\\\"" . mex(" Lu", $pag) . "\\\",\\\"" . mex(" Ma", $pag) . "\\\",\\\"" . mex(" Me", $pag) . "\\\",\\\"" . mex(" Gi", $pag) . "\\\",\\\"" . mex(" Ve", $pag) . "\\\",\\\"" . mex(" Sa", $pag) . "\\\"\";\n\$m_names = \"\\\"" . mex("Gen", $pag) . "\\\",\\\"" . mex("Feb", $pag) . "\\\",\\\"" . mex("Mar", $pag) . "\\\",\\\"" . mex("Apr", $pag) . "\\\",\\\"" . mex("Mag", $pag) . "\\\",\\\"" . mex("Giu", $pag) . "\\\",\\\"" . mex("Lug", $pag) . "\\\",\\\"" . mex("Ago", $pag) . "\\\",\\\"" . mex("Set", $pag) . "\\\",\\\"" . mex("Ott", $pag) . "\\\",\\\"" . mex("Nov", $pag) . "\\\",\\\"" . mex("Dic", $pag) . "\\\"\";\n\n\$dates_options_list = \"\n\n{$date_option}\n\";\n\n?>");
                flock($fileaperto, 3);
                fclose($fileaperto);
                if ($importa_anno_prec == "SI" and @is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php")) {
                    estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag);
                } else {
                    copy(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php");
                }
                $lista_clienti_importati = "";
                # Importo eventuali prenotazioni, tariffe e regole dell'anno precedente
                if ($importa_anno_prec == "SI") {
                    $tableprenota = $tableprenotazioni;
                    $data_inizio_periodi = esegui_query("select * from {$tableperiodi} where idperiodi = 1");
                    $data_inizio_periodi = risul_query($data_inizio_periodi, 0, 'datainizio');
                    $ini_periodo_interferenza = esegui_query("select * from {$tableperiodi_prec} where datainizio = '{$data_inizio_periodi}'");
                    $num_periodo_interferenza = numlin_query($ini_periodo_interferenza);
                    $tipo_periodi_prec = esegui_query("select * from {$tableanni} where idanni = {$anno_prec}");
                    $tipo_periodi_prec = risul_query($tipo_periodi_prec, 0, 'tipo_periodi');
                    if ($tipo_periodi_prec != $tipo_periodi) {
                        $num_periodo_interferenza = 0;
                    }
                    if ($num_periodo_interferenza == 0) {
                        if ($silenzio != "SI") {
                            echo mex("Non ci sono periodi che riguardano il ", $pag) . $anno . mex(" nel ", $pag) . $anno_prec . mex(", o il giorno di inizio/fine locazione era differente, sono stati importati solo i data riguardanti costi aggiuntivi, caparra, nome delle tariffe, privilegi degli utenti e regole di assegnazione 2 e 3", $pag) . ".<br>";
                        }
                    } else {
                        $id_data_fine_periodi = esegui_query("select max(idperiodi) from {$tableperiodi}");
                        $id_data_fine_periodi = risul_query($id_data_fine_periodi, 0, 0);
                        $id_data_ini_periodi_prec = risul_query($ini_periodo_interferenza, 0, 'idperiodi');
                        $id_data_fine_periodi_prec = esegui_query("select max(idperiodi) from {$tableperiodi_prec}");
                        $id_data_fine_periodi_prec = risul_query($id_data_fine_periodi_prec, 0, 0);
                        $num_periodi_prec = $id_data_fine_periodi_prec - $id_data_ini_periodi_prec + 1;
                        if ($num_periodi_prec > $id_data_fine_periodi) {
                            $id_data_fine_periodi_prec = $id_data_ini_periodi_prec + $id_data_fine_periodi - 1;
                            $prenota_non_importabili = esegui_query("select * from {$tableprenota_prec} where iddatafine > {$id_data_fine_periodi_prec} ");
                            $num_prenota_non_importabili = numlin_query($prenota_non_importabili);
                            if ($num_prenota_non_importabili != 0) {
                                echo "<br>ERROR<br>";
                            }
                        }
                        # fine if ($num_periodi_prec > $id_data_fine_periodi)
                        $idprenota_corr = 0;
                        $max_idprenota_prec = esegui_query("select max(idprenota) from {$tableprenota_prec}");
                        $max_idprenota_prec = risul_query($max_idprenota_prec, 0, 0) + 1;
                        $max_idcostiprenota_prec = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_prec}");
                        $max_idcostiprenota_prec = risul_query($max_idcostiprenota_prec, 0, 0) + 1;
                        $prenota_gia_iniziate = esegui_query("select * from {$tableprenota_prec} where iddatainizio < {$id_data_ini_periodi_prec} and iddatafine >= {$id_data_ini_periodi_prec} and iddatafine <= {$id_data_fine_periodi_prec} ");
                        $num_prenota_gia_iniziate = numlin_query($prenota_gia_iniziate);
                        for ($num1 = 0; $num1 < $num_prenota_gia_iniziate; $num1 = $num1 + 1) {
                            $idprenota = risul_query($prenota_gia_iniziate, $num1, 'idprenota');
                            $idclienti = risul_query($prenota_gia_iniziate, $num1, 'idclienti');
                            $lista_clienti_importati .= "and idclienti != '{$idclienti}' ";
                            $idappartamenti = risul_query($prenota_gia_iniziate, $num1, 'idappartamenti');
                            $iddatafine = risul_query($prenota_gia_iniziate, $num1, 'iddatafine');
                            $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1;
                            $datainserimento = risul_query($prenota_gia_iniziate, $num1, 'datainserimento');
                            $hostinserimento = risul_query($prenota_gia_iniziate, $num1, 'hostinserimento');
                            $data_modifica = risul_query($prenota_gia_iniziate, $num1, 'data_modifica');
                            $utente_inserimento = risul_query($prenota_gia_iniziate, $num1, 'utente_inserimento');
                            $checkin = risul_query($prenota_gia_iniziate, $num1, 'checkin');
                            $checkout = risul_query($prenota_gia_iniziate, $num1, 'checkout');
                            $codice = risul_query($prenota_gia_iniziate, $num1, 'codice');
                            $idprenota_corr++;
                            esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,assegnazioneapp,commento,codice,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota_corr}','{$idclienti}','{$idappartamenti}','0',{$iddatafine},'k','{$idprenota}','{$codice}','{$datainserimento}','{$hostinserimento}','{$utente_inserimento}') ");
                            if ($checkin) {
                                esegui_query("update {$tableprenota} set checkin = '" . aggslashdb($checkin) . "' where idprenota = '{$idprenota_corr}'");
                            }
                            if ($checkout) {
                                esegui_query("update {$tableprenota} set checkout = '" . aggslashdb($checkout) . "' where idprenota = '{$idprenota_corr}'");
                            }
                            esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'");
                        }
                        # fine for $num1
                        $nuovo_idprenota = "";
                        $nuovo_iddatainizio = "";
                        $nuovo_iddatafine = "";
                        $prenota_importate = esegui_query("select * from {$tableprenota_prec} where iddatainizio >= '{$id_data_ini_periodi_prec}' and iddatafine <= '{$id_data_fine_periodi_prec}' order by idprenota ");
                        $num_prenota_importate = numlin_query($prenota_importate);
                        for ($num1 = 0; $num1 < $num_prenota_importate; $num1 = $num1 + 1) {
                            $idprenota = risul_query($prenota_importate, $num1, 'idprenota');
                            $iddatainizio = risul_query($prenota_importate, $num1, 'iddatainizio');
                            $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1;
                            $iddatafine = risul_query($prenota_importate, $num1, 'iddatafine');
                            $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1;
                            $idclienti = risul_query($prenota_importate, $num1, 'idclienti');
                            $lista_clienti_importati .= "and idclienti != '{$idclienti}' ";
                            $id_anni_prec = risul_query($prenota_importate, $num1, 'id_anni_prec');
                            if (!$id_anni_prec) {
                                $id_anni_prec = ";";
                            }
                            $id_anni_prec .= "{$anno_prec},{$idprenota};";
                            $idprenota_corr++;
                            esegui_query("update {$tableprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tableprenota} select {$col_tableprenota} from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tableprenota} set iddatainizio = '{$iddatainizio}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableprenota} set iddatafine = '{$iddatafine}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableprenota} set id_anni_prec = '{$id_anni_prec}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("delete from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("delete from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("delete from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableinterconnessioni} set idlocale = '{$idprenota_corr}', anno = '{$anno}' where idlocale = '{$idprenota}' and ( tipoid = 'prenota' or tipoid = 'mess' ) and anno = '{$anno_prec}' ");
                            $nuovo_idprenota[$idprenota] = $idprenota_corr;
                            $nuovo_iddatainizio[$idprenota] = $iddatainizio;
                            $nuovo_iddatafine[$idprenota] = $iddatafine;
                        }
                        # fine for $num1
                        esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota_corr + 1) . "' where idcostiprenota = '1'");
                        $prenota_compagne = esegui_query("select idprenota,idprenota_compagna from {$tableprenota} where idprenota_compagna != '' ");
                        $num_prenota_compagne = numlin_query($prenota_compagne);
                        for ($num1 = 0; $num1 < $num_prenota_compagne; $num1++) {
                            $idprenota = risul_query($prenota_compagne, $num1, 'idprenota');
                            $idprenota_compagna = risul_query($prenota_compagne, $num1, 'idprenota_compagna');
                            $idprenota_compagna = explode(",", $idprenota_compagna);
                            $n_idprenota_compagna = $nuovo_idprenota[$idprenota_compagna[0]];
                            for ($num2 = 1; $num2 < count($idprenota_compagna); $num2++) {
                                $n_idprenota_compagna .= "," . $nuovo_idprenota[$idprenota_compagna[$num2]];
                            }
                            esegui_query("update {$tableprenota} set idprenota_compagna = '{$n_idprenota_compagna}' where idprenota = '{$idprenota}'");
                        }
                        # fine for $num1
                        $id_costi_agg_importati = esegui_query("select idcostiprenota from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota");
                        $num_id_costi_agg_importati = numlin_query($id_costi_agg_importati);
                        for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) {
                            $idcostiprenota = risul_query($id_costi_agg_importati, $num1, 'idcostiprenota');
                            $max_idcostiprenota_prec++;
                            esegui_query("update {$tablecostiprenota} set idcostiprenota = '{$max_idcostiprenota_prec}' where idcostiprenota = '{$idcostiprenota}'");
                        }
                        # fine for $num1
                        $costi_agg_importati = esegui_query("select * from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota");
                        $num_costi_agg_importati = numlin_query($costi_agg_importati);
                        for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) {
                            $idcostiprenota = risul_query($costi_agg_importati, $num1, 'idcostiprenota');
                            $settimane = risul_query($costi_agg_importati, $num1, 'settimane');
                            if (str_replace(",", "", $settimane) != $settimane) {
                                $settimane = explode(",", $settimane);
                                $settimane_nuove = ",";
                                for ($num2 = 1; $num2 < count($settimane) - 1; $num2++) {
                                    $settimane_nuove .= $settimane[$num2] - $id_data_ini_periodi_prec + 1 . ",";
                                }
                                esegui_query("update {$tablecostiprenota} set settimane = '{$settimane_nuove}' where idcostiprenota = '{$idcostiprenota}'");
                            }
                            # fine if (str_replace(",","",$settimane) != $settimane)
                            $varperiodipermessi = risul_query($costi_agg_importati, $num1, 'varperiodipermessi');
                            if ($varperiodipermessi) {
                                $vpp_nuovi = substr($varperiodipermessi, 0, 1);
                                $varperiodipermessi = explode(",", substr($varperiodipermessi, 1));
                                for ($num2 = 0; $num2 < count($varperiodipermessi); $num2++) {
                                    $id_data_fine_vpp = explode("-", $varperiodipermessi[$num2]);
                                    $id_data_inizio_vpp = $id_data_fine_vpp[0];
                                    $id_data_fine_vpp = $id_data_fine_vpp[1];
                                    if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and $id_data_inizio_vpp <= $id_data_fine_periodi_prec) {
                                        if ($id_data_inizio_vpp < $id_data_ini_periodi_prec) {
                                            $id_data_inizio_vpp = $id_data_ini_periodi_prec;
                                        }
                                        if ($id_data_fine_vpp > $id_data_fine_periodi_prec) {
                                            $id_data_fine_vpp = $id_data_fine_periodi_prec;
                                        }
                                        $id_data_inizio_vpp = $id_data_inizio_vpp - $id_data_ini_periodi_prec + 1;
                                        $id_data_fine_vpp = $id_data_fine_vpp - $id_data_ini_periodi_prec + 1;
                                        $vpp_nuovi .= $id_data_inizio_vpp . "-" . $id_data_fine_vpp . ",";
                                    }
                                    # fine if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and...
                                }
                                # fine for $num2
                                if (strlen($vpp_nuovi) > 1) {
                                    $vpp_nuovi = substr($vpp_nuovi, 0, -1);
                                }
                                esegui_query("update {$tablecostiprenota} set varperiodipermessi = '{$vpp_nuovi}' where idcostiprenota = '{$idcostiprenota}'");
                            }
                            # fine if ($varperiodipermessi)
                            esegui_query("update {$tablecostiprenota} set idcostiprenota = '" . ($num1 + 2) . "' where idcostiprenota = '{$idcostiprenota}'");
                        }
                        # fine for $num1
                        $tariffe_importate = esegui_query("select * from {$tableperiodi_prec} where idperiodi >= '{$id_data_ini_periodi_prec}' and idperiodi <= '{$id_data_fine_periodi_prec}' ");
                        $num_tariffe_iportate = numlin_query($tariffe_importate);
                        for ($num1 = 0; $num1 < $num_tariffe_iportate; $num1 = $num1 + 1) {
                            $idperiodi = risul_query($tariffe_importate, $num1, 'idperiodi');
                            $idperiodi = $idperiodi - $id_data_ini_periodi_prec + 1;
                            for ($num2 = 1; $num2 <= $num_tariffe_tab; $num2++) {
                                $tariffa = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2);
                                if (strcmp($tariffa, "")) {
                                    esegui_query("update {$tableperiodi} set tariffa{$num2} = '{$tariffa}' where idperiodi = {$idperiodi} ");
                                }
                                $tariffap = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2 . "p");
                                if (strcmp($tariffap, "")) {
                                    esegui_query("update {$tableperiodi} set tariffa{$num2}" . "p = '{$tariffap}' where idperiodi = {$idperiodi} ");
                                }
                            }
                            # fine for $num2
                        }
                        # fine for $num1
                        $regole_prec = esegui_query("select * from {$tableregole_prec} where iddatafine >= '{$id_data_ini_periodi_prec}' ");
                        $num_regole_prec = numlin_query($regole_prec);
                        for ($num1 = 0; $num1 < $num_regole_prec; $num1 = $num1 + 1) {
                            $idregole = risul_query($regole_prec, $num1, 'idregole');
                            $app_agenzia = risul_query($regole_prec, $num1, 'app_agenzia');
                            $tariffa_chiusa = risul_query($regole_prec, $num1, 'tariffa_chiusa');
                            $tariffa_commissioni = risul_query($regole_prec, $num1, 'tariffa_commissioni');
                            $iddatainizio = risul_query($regole_prec, $num1, 'iddatainizio');
                            $motivazione = risul_query($regole_prec, $num1, 'motivazione');
                            $motivazione2 = risul_query($regole_prec, $num1, 'motivazione2');
                            if ($iddatainizio < $id_data_ini_periodi_prec) {
                                $iddatainizio = $id_data_ini_periodi_prec;
                            }
                            $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1;
                            $iddatafine = risul_query($regole_prec, $num1, 'iddatafine');
                            if ($iddatafine > $id_data_fine_periodi_prec) {
                                $iddatafine = $id_data_fine_periodi_prec;
                            }
                            $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1;
                            if ($tariffa_commissioni) {
                                esegui_query("insert into {$tableregole} (idregole,tariffa_commissioni,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_commissioni}','{$iddatainizio}','{$iddatafine}') ");
                            } else {
                                if ($tariffa_chiusa) {
                                    esegui_query("insert into {$tableregole} (idregole,tariffa_chiusa,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_chiusa}','{$iddatainizio}','{$iddatafine}') ");
                                } else {
                                    esegui_query("insert into {$tableregole} (idregole,app_agenzia,iddatainizio,iddatafine) values ('{$idregole}','{$app_agenzia}','{$iddatainizio}','{$iddatafine}') ");
                                }
                            }
                            # fine else $tariffa_commissioni)
                            if (strcmp($motivazione, "")) {
                                esegui_query("update {$tableregole} set motivazione = '" . aggslashdb($motivazione) . "' where idregole = '{$idregole}' ");
                            }
                            if (strcmp($motivazione2, "")) {
                                esegui_query("update {$tableregole} set motivazione2 = '" . aggslashdb($motivazione2) . "' where idregole = '{$idregole}' ");
                            }
                        }
                        # fine for $num1
                        $soldi_importati = esegui_query("select * from {$tablesoldi_prec} where data_inserimento >= '{$data_inizio_periodi}' and  saldo_prenota is not NULL order by idsoldi");
                        $num_soldi_importati = numlin_query($soldi_importati);
                        $idsoldi_corr = 1;
                        for ($num1 = 0; $num1 < $num_soldi_importati; $num1++) {
                            $motiv = explode(";", risul_query($soldi_importati, $num1, 'motivazione'));
                            if ($nuovo_idprenota[$motiv[3]]) {
                                $idsoldi_corr++;
                                $idsoldi_prec = risul_query($soldi_importati, $num1, 'idsoldi');
                                $n_motiv = $motiv[0] . ";" . $nuovo_iddatainizio[$motiv[3]] . ";" . $nuovo_iddatafine[$motiv[3]] . ";" . $nuovo_idprenota[$motiv[3]];
                                esegui_query("insert into {$tablesoldi} select {$col_tablesoldi} from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' ");
                                esegui_query("delete from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' ");
                                esegui_query("update {$tablesoldi} set motivazione = '{$n_motiv}' where idsoldi = '{$idsoldi_prec}' ");
                                esegui_query("update {$tablesoldi} set idsoldi = '{$idsoldi_corr}' where idsoldi = '{$idsoldi_prec}' ");
                            }
                            # fine if ($nuovo_idprenota[$motiv[3]])
                        }
                        # fine for $num1
                        $costi_importati = esegui_query("select * from {$tablecosti_prec} where datainserimento >= '{$data_inizio_periodi}' and  tipo_costo is not NULL order by idcosti");
                        $num_costi_importati = numlin_query($costi_importati);
                        $idcosti_corr = 0;
                        for ($num1 = 0; $num1 < $num_costi_importati; $num1++) {
                            $idcosti_corr++;
                            $idcosti_prec = risul_query($costi_importati, $num1, 'idcosti');
                            esegui_query("insert into {$tablecosti} select {$col_tablecosti} from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' ");
                            esegui_query("delete from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' ");
                            esegui_query("update {$tablecosti} set idcosti = '{$idcosti_corr}' where idcosti = '{$idcosti_prec}' ");
                        }
                        # fine for $num1
                        $costo_cassa = 0;
                        $data_lim = $anno + 1 . "-01-01 00:00:00";
                        $costi_cassa = esegui_query("select * from {$tablecosti} where tipo_costo = 'e' and provenienza_costo = 'p' and datainserimento < '{$data_lim}' ");
                        $num_costi_cassa = numlin_query($costi_cassa);
                        for ($num2 = 0; $num2 < $num_costi_cassa; $num2++) {
                            $costo_cassa = $costo_cassa + risul_query($costi_cassa, $num2, 'val_costo');
                        }
                        if ($costo_cassa) {
                            esegui_query("update {$tablecosti} set val_costo = '{$costo_cassa}' where idcosti = '0' ");
                        }
                        unset($cassa_prec);
                        $costi_non_importati = esegui_query("select * from {$tablecosti_prec} where tipo_costo is not NULL order by idcosti");
                        $num_costi_non_importati = numlin_query($costi_non_importati);
                        for ($num1 = 0; $num1 < $num_costi_non_importati; $num1++) {
                            $tipo_costo = risul_query($costi_non_importati, $num1, 'tipo_costo');
                            $val_costo = risul_query($costi_non_importati, $num1, 'val_costo');
                            $utente_costo = risul_query($costi_non_importati, $num1, 'utente_inserimento');
                            if ($tipo_costo == "e") {
                                $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] + (double) $val_costo;
                            } else {
                                $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] - (double) $val_costo;
                            }
                        }
                        # fine for $num1
                        if (@is_array($cassa_prec)) {
                            $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
                            reset($cassa_prec);
                            while (list($utente_costo, $val_costo) = each($cassa_prec)) {
                                $idcosti_corr++;
                                esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,persona_costo,tipo_costo,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti_corr}','{$anno_prec}','{$val_costo}','','e','{$datainserimento}','{$HOSTNAME}','{$utente_costo}') ");
                            }
                            # fine (list($utente_costo,$val_costo) = each($cassa_prec))
                        }
                        # fine if (@is_array($cassa_prec))
                        # aggiorno i messaggi con prenotazioni del nuovo anno già inserite, quelli da inserire sono aggiornati con i modelli internet
                        $messaggi_importati = esegui_query("select * from {$tablemessaggi} where stato = 'ins' and dati_messaggio18 = '{$anno_prec}' ");
                        $num_messaggi_importati = numlin_query($messaggi_importati);
                        for ($num1 = 0; $num1 < $num_messaggi_importati; $num1++) {
                            $agg_mess = 1;
                            $n_lista_pren = "";
                            $lista_pren = explode(",", risul_query($messaggi_importati, $num1, 'dati_messaggio1'));
                            for ($num2 = 0; $num2 < count($lista_pren); $num2++) {
                                if ($nuovo_idprenota[$lista_pren[$num2]]) {
                                    $n_lista_pren .= $nuovo_idprenota[$lista_pren[$num2]] . ",";
                                } else {
                                    $agg_mess = 0;
                                }
                            }
                            # fine for $num2
                            if ($agg_mess) {
                                $idmess = risul_query($messaggi_importati, $num1, 'idmessaggi');
                                $n_lista_pren = substr($n_lista_pren, 0, -1);
                                esegui_query("update {$tablemessaggi} set dati_messaggio1 = '{$n_lista_pren}', dati_messaggio18 = '{$anno}' where idmessaggi = '{$idmess}' ");
                            }
                            # fine if ($agg_mess)
                        }
                        # fine for $num1
                        # aggiorno i numeri delle prenotazioni importate nei nomi dei documenti già creati nel nuovo anno
                        $dirs_salva = esegui_query("select * from {$tablecontratti} where tipo = 'dir'");
                        $num_dirs_salva = numlin_query($dirs_salva);
                        if ($num_dirs_salva) {
                            unset($contr_salva_in);
                            $max_contr = esegui_query("select max(numero) from {$tablecontratti} where tipo {$LIKE} 'contr%'");
                            $max_contr = risul_query($max_contr, 0, 0);
                            if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") {
                                if (C_CARTELLA_DOC != "" and @is_dir(C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC)) {
                                    $dir_salva_home = C_CARTELLA_DOC;
                                } else {
                                    $dir_salva_home = "";
                                }
                            } else {
                                $dir_salva_home = C_DATA_PATH;
                            }
                            $utenti = esegui_query("select * from " . $PHPR_TAB_PRE . "utenti order by idutenti");
                            $num_utenti = numlin_query($utenti);
                            unset($nomi_contr_ut);
                            $parola_documento = mex("documento", 'visualizza_contratto.php');
                            for ($num1 = 0; $num1 < $num_utenti; $num1++) {
                                $idutente_contr = risul_query($utenti, $num1, 'idutenti');
                                for ($num2 = 1; $num2 <= $max_contr; $num2++) {
                                    $nomi_contr_ut[$idutente_contr][$num2] = $parola_documento . $num2;
                                }
                                $nomi_contratti = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}'");
                                $nomi_contratti = risul_query($nomi_contratti, 0, 'valpersonalizza');
                                $nomi_contratti = explode("#@&", $nomi_contratti);
                                $num_nomi_contratti = count($nomi_contratti);
                                for ($num2 = 0; $num2 < $num_nomi_contratti; $num2++) {
                                    $dati_nome_contratto = explode("#?&", $nomi_contratti[$num2]);
                                    $nomi_contr_ut[$idutente_contr][$dati_nome_contratto[0]] = $dati_nome_contratto[1];
                                }
                                # fine for $num2
                            }
                            # fine for $num1
                            unset($prefissi_contr);
                            for ($num1 = 0; $num1 < $num_dirs_salva; $num1++) {
                                $dir_salva = risul_query($dirs_salva, 0, 'testo');
                                if ($dir_salva == "~") {
                                    $dir_salva = $dir_salva_home;
                                }
                                if (defined('C_CARTELLA_CREA_MODELLI') and C_CARTELLA_CREA_MODELLI != "") {
                                    $dir_salva = C_CARTELLA_CREA_MODELLI . "/" . str_replace("..", "", $dir_salva);
                                }
                                if (!@is_dir($dir_salva)) {
                                    $dir_salva = "";
                                }
                                $num_contr = risul_query($dirs_salva, 0, 'numero');
                                $tipo_contratto = esegui_query("select tipo from " . $PHPR_TAB_PRE . "contratti where numero = '{$num_contr}' and tipo {$LIKE} 'contr%' ");
                                $tipo_contratto = risul_query($tipo_contratto, 0, 'tipo');
                                $suff_file = "html";
                                if ($tipo_contratto == "contrrtf") {
                                    $suff_file = "rtf";
                                }
                                if ($tipo_contratto == "contrtxt") {
                                    $suff_file = "txt";
                                }
                                $filelock_contr = fopen($dir_salva . "/crea_contr.lock", "w+");
                                flock($filelock_contr, 2);
                                for ($num2 = 0; $num2 < $num_utenti; $num2++) {
                                    $idutente_contr = risul_query($utenti, $num1, 'idutenti');
                                    if (!$prefissi_contr[$dir_salva . "/" . $nomi_contr_ut[$idutente_contr][$num_contr]]) {
                                        $nome_contratto = $nomi_contr_ut[$idutente_contr][$num_contr];
                                        $prefissi_contr[$dir_salva . "/" . $nome_contratto] = 1;
                                        $contr_dir = opendir($dir_salva . "/");
                                        while ($contr_corr = readdir($contr_dir)) {
                                            if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva . "/" . $contr_corr)) {
                                                if (substr($contr_corr, 0, strlen($nome_contratto)) == $nome_contratto) {
                                                    $resto_nome_contr = substr($contr_corr, strlen($nome_contratto));
                                                    if (substr($resto_nome_contr, 0, 6) == "_{$anno}" . "_") {
                                                        if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}(_[0-9]+(-[0-9]+)?)*\\.{$suff_file}/", "", $resto_nome_contr) == "") {
                                                            $num_pren_esist = substr($resto_nome_contr, 12);
                                                            $num_pren_esist = substr($num_pren_esist, 0, -1 * (strlen($suff_file) + 1));
                                                            if ($num_pren_esist) {
                                                                $agg_contr = 1;
                                                                $n_lista_pren = "";
                                                                $num_pren_esist = explode("_", $num_pren_esist);
                                                                for ($num3 = 0; $num3 < count($num_pren_esist); $num3++) {
                                                                    $num_pren_esist2 = explode("-", $num_pren_esist[$num3]);
                                                                    $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1];
                                                                    for ($num4 = $num_pren_esist2[0]; $num4 <= $fine_for; $num4++) {
                                                                        if (!$nuovo_idprenota[$num4]) {
                                                                            $agg_contr = 0;
                                                                            break;
                                                                        }
                                                                        # fine if (!$nuovo_idprenota[$num4])
                                                                        if ($num4 == $num_pren_esist2[0]) {
                                                                            $n_lista_pren .= "_" . $nuovo_idprenota[$num4];
                                                                        } elseif ($num4 == $fine_for) {
                                                                            $n_lista_pren .= "-" . $nuovo_idprenota[$num4];
                                                                        }
                                                                    }
                                                                    # fine for $num4
                                                                }
                                                                # fine for $num3
                                                                if ($agg_contr) {
                                                                    $n_nome_contr = $nome_contratto . substr($resto_nome_contr, 0, 11) . $n_lista_pren . ".{$suff_file}";
                                                                    rename($dir_salva . "/" . $contr_corr, $dir_salva . "/" . $n_nome_contr);
                                                                }
                                                                # fine if ($agg_contr)
                                                            }
                                                            # fine if ($num_pren_esist)
                                                        }
                                                        # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file/","",$resto_nome_contr) == "")
                                                    }
                                                    # fine if (substr($resto_nome_contr,0,6) == "_$anno"."_")
                                                }
                                                # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto)
                                            }
                                            # fine if ($contr_corr != "." and $contr_corr != ".." and...
                                        }
                                        # fine while ($fattura_corr = readdir($fatture_dir))
                                        closedir($contr_dir);
                                    }
                                    # fine if (!$prefissi_contr[$dir_salva."/".$nomi_contr_ut[$idutente_contr][$num_contr]])
                                }
                                # fine for $num2
                                flock($filelock_contr, 3);
                                fclose($filelock_contr);
                                unlink($dir_salva . "/crea_contr.lock");
                            }
                            # fine for $num1
                        }
                        # fine if ($num_dirs_salva)
                    }
                    # fine else if ($num_periodo_interferenza == 0)
                    $colonne = "idntariffe,nomecostoagg,tipo_ca,valore_ca,valore_perc_ca,arrotonda_ca,tasseperc_ca,associasett_ca,numsett_ca,moltiplica_ca,periodipermessi_ca,beniinv_ca,appincompatibili_ca,variazione_ca,mostra_ca,categoria_ca,letto_ca,numlimite_ca,regoleassegna_ca,utente_inserimento";
                    for ($num1 = 1; $num1 <= $num_tariffe_tab; $num1++) {
                        $nome_nuova_tariffa = "tariffa" . $num1;
                        $colonne .= ",{$nome_nuova_tariffa}";
                    }
                    # fine for $num1
                    esegui_query("insert into {$tablenometariffe} ({$colonne}) select {$colonne} from {$tablenometariffe_prec}");
                    $costi_agg_importati = esegui_query("select * from {$tablenometariffe} where idntariffe > 10 ");
                    $num_costi_agg_importati = numlin_query($costi_agg_importati);
                    for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) {
                        $idntariffe = risul_query($costi_agg_importati, $num1, 'idntariffe');
                        $periodipermessi = risul_query($costi_agg_importati, $num1, 'periodipermessi_ca');
                        if ($periodipermessi) {
                            $pp_nuovi = substr($periodipermessi, 0, 1);
                            $periodipermessi = explode(",", substr($periodipermessi, 1));
                            for ($num2 = 0; $num2 < count($periodipermessi); $num2++) {
                                $id_data_fine_pp = explode("-", $periodipermessi[$num2]);
                                $id_data_inizio_pp = $id_data_fine_pp[0];
                                $id_data_fine_pp = $id_data_fine_pp[1];
                                if ($id_data_fine_pp >= $id_data_ini_periodi_prec and $id_data_inizio_pp <= $id_data_fine_periodi_prec) {
                                    if ($id_data_inizio_pp < $id_data_ini_periodi_prec) {
                                        $id_data_inizio_pp = $id_data_ini_periodi_prec;
                                    }
                                    if ($id_data_fine_pp > $id_data_fine_periodi_prec) {
                                        $id_data_fine_pp = $id_data_fine_periodi_prec;
                                    }
                                    $id_data_inizio_pp = $id_data_inizio_pp - $id_data_ini_periodi_prec + 1;
                                    $id_data_fine_pp = $id_data_fine_pp - $id_data_ini_periodi_prec + 1;
                                    $pp_nuovi .= $id_data_inizio_pp . "-" . $id_data_fine_pp . ",";
                                }
                                # fine if ($id_data_fine_pp >= $id_data_ini_periodi_prec and...
                            }
                            # fine for $num2
                            if (strlen($pp_nuovi) > 1) {
                                $pp_nuovi = substr($pp_nuovi, 0, -1);
                            }
                            esegui_query("update {$tablenometariffe} set periodipermessi_ca = '{$pp_nuovi}' where idntariffe = '{$idntariffe}'");
                        }
                        # fine if ($periodipermessi)
                    }
                    # fine for $num1
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_app != ''");
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_utente != ''");
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_persone != ''");
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_commissioni is not NULL and iddatainizio is NULL ");
                    $privilegi_prec = esegui_query("select * from {$tableprivilegi} where anno = '{$anno_prec}'");
                    for ($num1 = 0; $num1 < numlin_query($privilegi_prec); $num1++) {
                        $idutente_p = risul_query($privilegi_prec, $num1, 'idutente');
                        $regole1_consentite_p = risul_query($privilegi_prec, $num1, 'regole1_consentite');
                        $tariffe_consentite_p = risul_query($privilegi_prec, $num1, 'tariffe_consentite');
                        $costi_agg_consentiti_p = risul_query($privilegi_prec, $num1, 'costi_agg_consentiti');
                        $contratti_consentiti_p = risul_query($privilegi_prec, $num1, 'contratti_consentiti');
                        $cassa_pagamenti_p = aggslashdb(risul_query($privilegi_prec, $num1, 'cassa_pagamenti'));
                        $priv_ins_prenota_p = risul_query($privilegi_prec, $num1, 'priv_ins_prenota');
                        $priv_mod_prenota_p = risul_query($privilegi_prec, $num1, 'priv_mod_prenota');
                        $priv_mod_pers_p = risul_query($privilegi_prec, $num1, 'priv_mod_pers');
                        $priv_ins_clienti_p = risul_query($privilegi_prec, $num1, 'priv_ins_clienti');
                        $prefisso_clienti_p = risul_query($privilegi_prec, $num1, 'prefisso_clienti');
                        $priv_ins_costi_p = risul_query($privilegi_prec, $num1, 'priv_ins_costi');
                        $priv_vedi_tab_p = risul_query($privilegi_prec, $num1, 'priv_vedi_tab');
                        $priv_ins_tariffe_p = risul_query($privilegi_prec, $num1, 'priv_ins_tariffe');
                        $priv_ins_regole_p = risul_query($privilegi_prec, $num1, 'priv_ins_regole');
                        esegui_query("insert into {$tableprivilegi} (idutente,anno,regole1_consentite,tariffe_consentite,costi_agg_consentiti,contratti_consentiti,cassa_pagamenti,priv_ins_prenota,priv_mod_prenota,priv_mod_pers,priv_ins_clienti,prefisso_clienti,priv_ins_costi,priv_vedi_tab,priv_ins_tariffe,priv_ins_regole) values ('{$idutente_p}','{$anno}','{$regole1_consentite_p}','{$tariffe_consentite_p}','{$costi_agg_consentiti_p}','{$contratti_consentiti_p}','{$cassa_pagamenti_p}','{$priv_ins_prenota_p}','{$priv_mod_prenota_p}','{$priv_mod_pers_p}','{$priv_ins_clienti_p}','{$prefisso_clienti_p}','{$priv_ins_costi_p}','{$priv_vedi_tab_p}','{$priv_ins_tariffe_p}','{$priv_ins_regole_p}')");
                        $lingua_mex = $lingua[$idutente_p];
                        crea_menu_date(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", $tipo_periodi);
                        if (@is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php")) {
                            estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag);
                        } else {
                            copy(C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php");
                        }
                        $lingua_mex = $lingua[1];
                        $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '{$idutente_p}'");
                        if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") {
                            esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','{$idutente_p}')");
                        }
                    }
                    # fine for $num1
                    $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '1'");
                    if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") {
                        esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','1')");
                    }
                    $inserisci_in_ntariffe = "NO";
                }
                # fine if ($importa_anno_prec == "SI")
                if ($inserisci_in_ntariffe != "NO") {
                    # rigo 1: nomi tariffe; 2-3: caparra (% e arrotondo).
                    for ($numtariffe = 1; $numtariffe <= 6; $numtariffe = $numtariffe + 1) {
                        esegui_query("insert into {$tablenometariffe} (idntariffe) values ('{$numtariffe}')");
                    }
                    # fine for $numtariffe
                    esegui_query("update {$tablenometariffe} set nomecostoagg = '8' where idntariffe = '1'");
                    esegui_query("update {$tablenometariffe} set numlimite_ca = '11' where idntariffe = '1'");
                }
                # fine if ($inserisci_in_ntariffe != "NO")
                esegui_query("delete from {$tablerelclienti} where tipo = 'cc' {$lista_clienti_importati}");
                unlock_tabelle($tabelle_lock);
                if ($silenzio != "SI") {
                    echo "<br> " . mex("Anno ", $pag) . $anno . mex(" creato", $pag) . "! <br><br>";
                }
                if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI") {
                    if ($silenzio != "SI") {
                        $silenzio_mod = "SI";
                    } else {
                        $silenzio_mod = "totale";
                    }
                    global $anno_modello_presente, $num_periodi_date, $modello_esistente, $cambia_frasi, $lingua_modello, $percorso_cartella_modello, $nome_file;
                    $pag_orig = $pag;
                    $pag = "crea_modelli.php";
                    include "./includes/templates/funzioni_modelli.php";
                    $modello_esistente = "SI";
                    $cambia_frasi = "NO";
                    $anno_modello = $anno;
                    include "./includes/templates/frasi_mod_disp.php";
                    include "./includes/templates/funzioni_mod_disp.php";
                    for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                        $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                        if (@is_file("{$percorso_cartella_modello}/mdl_disponibilita.php")) {
                            $lingua_modello = "ita";
                            $nome_file = mex2("mdl_disponibilita", $pag, $lingua_modello) . ".php";
                            $num_periodi_date = "";
                            recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                            if ($anno_modello_presente == $anno_prec) {
                                aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                            }
                            # fine if ($anno_modello_presente == $anno_prec)
                        }
                        # fine if (@is_file("$percorso_cartella_modello/modello_disponibilita.php"))
                    }
                    # fine for $num_cart
                    $lang_dir = opendir("./includes/lang/");
                    include C_DATA_PATH . "/lingua.php";
                    while ($ini_lingua = readdir($lang_dir)) {
                        if ($ini_lingua != "." && $ini_lingua != "..") {
                            $nome_file = mex2("mdl_disponibilita", $pag, $ini_lingua) . ".php";
                            for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                                $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                                if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) {
                                    $lingua_modello = $ini_lingua;
                                    $num_periodi_date = "";
                                    recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                                    if ($anno_modello_presente == $anno_prec) {
                                        aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                        crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                                    }
                                    # fine if ($anno_modello_presente == $anno_prec)
                                }
                                # fine if (@is_file("$percorso_cartella_modello/$nome_file"))
                            }
                            # fine for $num_cart
                        }
                        # fine if ($file != "." && $file != "..")
                    }
                    # fine while ($file = readdir($lang_dig))
                    closedir($lang_dir);
                    $templates_dir = opendir("./includes/templates/");
                    while ($modello_ext = readdir($templates_dir)) {
                        if ($modello_ext != "." and $modello_ext != ".." and @is_dir("./includes/templates/{$modello_ext}")) {
                            include "./includes/templates/{$modello_ext}/name.php";
                            include "./includes/templates/{$modello_ext}/phrases.php";
                            include "./includes/templates/{$modello_ext}/functions.php";
                            $funz_recupera_var_modello = "recupera_var_modello_" . $modello_ext;
                            $funz_crea_modello = "crea_modello_" . $modello_ext;
                            $funz_aggiorna_var_anno_modello = "aggiorna_var_anno_modello_" . $modello_ext;
                            if ($template_file_name["ita"]) {
                                $nome_file = $template_file_name["ita"];
                            } else {
                                $nome_file = "ita_" . $template_file_name["en"];
                            }
                            for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                                $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                                if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) {
                                    $lingua_modello = "ita";
                                    $num_periodi_date = "";
                                    $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                                    if ($anno_modello_presente == $anno_prec) {
                                        $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                        $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                                    }
                                    # fine if ($anno_modello_presente == $anno_prec)
                                }
                                # fine if (@is_file("$percorso_cartella_modello/$nome_file"))
                            }
                            # fine for $num_cart
                            $lang_dir = opendir("./includes/lang/");
                            while ($ini_lingua = readdir($lang_dir)) {
                                if ($ini_lingua != "." && $ini_lingua != "..") {
                                    if ($template_file_name[$ini_lingua]) {
                                        $nome_file = $template_file_name[$ini_lingua];
                                    } else {
                                        $nome_file = $ini_lingua . "_" . $template_file_name["en"];
                                    }
                                    for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                                        $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                                        if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) {
                                            $lingua_modello = $ini_lingua;
                                            $num_periodi_date = "";
                                            $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                                            if ($anno_modello_presente == $anno_prec) {
                                                $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                                $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                                            }
                                            # fine if ($anno_modello_presente == $anno_prec)
                                        }
                                        # fine if (@is_file("$percorso_cartella_modello/$nome_file"))
                                    }
                                    # fine for $num_cart
                                }
                                # fine if ($file != "." && $file != "..")
                            }
                            # fine while ($file = readdir($lang_dir))
                            closedir($lang_dir);
                        }
                        # fine if ($modello_ext != "." and $modello_ext != ".." and...
                    }
                    # fine while ($file = readdir($lang_dig))
                    closedir($templates_dir);
                    $pag = $pag_orig;
                    if ($silenzio != "SI") {
                        echo "<br>";
                    }
                }
                # fine if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI")
            } else {
                if ($silenzio != "SI") {
                    echo mex("Non ho i permessi per creare nuove tabelle nel database", $pag) . ".<br>";
                }
            }
        } else {
            if ($silenzio != "SI") {
                echo mex("Anno già creato", $pag) . ".<br>";
            }
        }
        flock($filelock, 3);
        fclose($filelock);
        unlink(C_DATA_PATH . "/anni.lock");
    } else {
        if ($silenzio != "SI") {
            echo mex("Non ho i permessi di scrittura sulla cartella data", $pag) . ".<br>";
        }
    }
    $lingua_mex = $lingua_mex_orig;
}
Esempio n. 6
0
else {
$nome_tariffa[$numtariffa] = $dati_tariffe["tariffa$numtariffa"]['nome'];
if ($nome_tariffa[$numtariffa] == "") $nome_tariffa[$numtariffa] = $fr_tariffa.$numtariffa;
} # fine else if ($n_tariffe_imposte[$numtariffa])
} # fine if ($mostra_quadro_disp == "reg2")
if (!$app_regola2_orig[$numtariffa]) $tutti_consentiti = "SI";
if ($tutti_consentiti != "SI") {
$appartamenti_regola2 = explode(",",$app_regola2_orig[$numtariffa]);
for ($num1 = 0 ; $num1 < count($appartamenti_regola2) ; $num1++) $app_consentito[$appartamenti_regola2[$num1]] = "SI";
} # fine if ($tutti_consentiti != "SI")
} # fine if ($tariffe_mostra[$numtariffa] == "SI")
} # fine for $numtariffa
if ($tutti_consentiti == "SI") for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) $app_consentito[$dati_app['posizione'][$num1]] = "SI";

# Calcolo gli appartamenti consentiti dalla regola 1
$num_app_agenzia = numlin_query($app_agenzia);
if ($num_app_agenzia != 0 and is_array($motivazioni_regola1)) {
for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1 = $num1 + 1) {
$id_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'app_agenzia');
$idinizio_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'iddatainizio');
$idfine_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'iddatafine');
$motivazione_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'motivazione');
if ($motivazione_app_agenzia[$num1] == "") $motivazione_app_agenzia[$num1] = " ";
} # fine for $num1
$app_consentito_sett[",attivo,"] = "SI";
for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) {
for ($num2 = $id_data_inizio_tab_disp ; $num2 <= ($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1) ; $num2++) {
$app_consentito_sett[$dati_app['posizione'][$num1]][$num2] = "SI";
} # fine for $num2
} # fine for $num1
for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1++) {
function aggiorna_tariffe_esporta($dati_tariffe, $tariffa_da, $idperiodo, $prezzoperiodo, $prezzoperiodop, $tableperiodi, &$agg_vett, &$num_agg)
{
    if ($dati_tariffe[$tariffa_da]['esporta_prezzi']) {
        if (str_replace("-", "", $idperiodo) != $idperiodo) {
            $fine_per = explode("-", $idperiodo);
            $ini_per = $fine_per[0];
            $fine_per = $fine_per[1];
        } else {
            $ini_per = $idperiodo;
            $fine_per = $idperiodo;
        }
        # fine else if (str_replace("-","",$idperiodo) != $idperiodo)
        $tar_esporta = explode(",", $dati_tariffe[$tariffa_da]['esporta_prezzi']);
        for ($num_tar = 0; $num_tar < count($tar_esporta) - 1; $num_tar++) {
            $tariffa = "tariffa" . $tar_esporta[$num_tar];
            if ($idperiodo == "opztariffa") {
                $tablenometariffe = $prezzoperiodop;
                $opztariffa = esegui_query("select * from {$tableperiodi} where {$tariffa}" . "p is not NULL and {$tariffa}" . "p != '' and {$tariffa}" . "p != '0' ");
                if (numlin_query($opztariffa)) {
                    $opztariffa = "p";
                } else {
                    $opztariffa = "s";
                }
                esegui_query("update {$tablenometariffe} set {$tariffa} = '{$opztariffa}' where idntariffe = '4' ");
            } else {
                $importa_percent = (double) $dati_tariffe[$tariffa]['val_importa'];
                $importa_arrotond = (double) $dati_tariffe[$tariffa]['arrotond_importa'];
                $tipo_percent = $dati_tariffe[$tariffa]['tipo_importa'];
                if ($tipo_percent == "s" and !$agg_vett[$tariffa]) {
                    $agg_int = floor($importa_percent);
                    $resto_int = $importa_percent - (double) $agg_int;
                    $agg_gio = floor($agg_int / 7);
                    for ($num1 = 1; $num1 <= 7; $num1++) {
                        $agg_vett[$tariffa][$num1] = $agg_gio;
                    }
                    $resto = $agg_int - $agg_gio * 7;
                    if ($resto >= 1) {
                        $agg_vett[$tariffa][1]++;
                        $resto--;
                    }
                    # fine if ($resto >= 1)
                    for ($num1 = 7; $num1 > 7 - $resto; $num1--) {
                        $agg_vett[$tariffa][$num1]++;
                    }
                    $agg_vett[$tariffa][1] += $resto_int;
                    $num_agg[$tariffa]['s'] = 0;
                    $num_agg[$tariffa]['p'] = 0;
                }
                # fine if ($tipo_percent == "s" and !$agg_vett[$tariffa])
                if ($tipo_percent == "g") {
                    $perc = $importa_percent;
                }
                for ($num1 = $ini_per; $num1 <= $fine_per; $num1++) {
                    if ((string) $prezzoperiodo != "NO") {
                        if ($tipo_percent == "s") {
                            $num_agg[$tariffa]['s']++;
                            $perc = $agg_vett[$tariffa][$num_agg[$tariffa]['s']];
                            if ($num_agg[$tariffa]['s'] == 7) {
                                $num_agg[$tariffa]['s'] = 0;
                            }
                        }
                        # fine if ($tipo_percent == "s")
                        $prezzo_a = (double) $prezzoperiodo;
                        if ($dati_tariffe[$tariffa]['parte_prezzo'] != "p") {
                            if ($tipo_percent == "p") {
                                $perc = (double) ($prezzo_a / 100.0 * $importa_percent);
                            }
                            if ($perc) {
                                if ($tipo_percent == "p") {
                                    $perc = round($perc / $importa_arrotond, 0) * $importa_arrotond;
                                }
                                $prezzo_a = $prezzo_a + $perc;
                            }
                            # fine if ($perc)
                        }
                        # fine if ($dati_tariffe[$tariffa]['parte_prezzo'] != "p")
                        if ($prezzo_a) {
                            esegui_query("update {$tableperiodi} set {$tariffa} = '{$prezzo_a}' where idperiodi = '{$num1}'");
                        } else {
                            esegui_query("update {$tableperiodi} set {$tariffa} = NULL where idperiodi = '{$num1}'");
                        }
                    }
                    # fine if ((string) $prezzoperiodo != "NO")
                    if ((string) $prezzoperiodop != "NO") {
                        if ($tipo_percent == "s") {
                            $num_agg[$tariffa]['p']++;
                            $perc = $agg_vett[$tariffa][$num_agg[$tariffa]['p']];
                            if ($num_agg[$tariffa]['p'] == 7) {
                                $num_agg[$tariffa]['p'] = 0;
                            }
                        }
                        # fine if ($tipo_percent == "s")
                        $prezzo_a_p = (double) $prezzoperiodop;
                        if ($dati_tariffe[$tariffa]['parte_prezzo'] != "f") {
                            if ($tipo_percent == "p") {
                                $perc = (double) ($prezzo_a_p / 100.0 * $importa_percent);
                            }
                            if ($perc) {
                                if ($tipo_percent == "p") {
                                    $perc = round($perc / $importa_arrotond, 0) * $importa_arrotond;
                                }
                                $prezzo_a_p = $prezzo_a_p + $perc;
                            }
                            # fine if ($perc)
                        }
                        # fine if ($dati_tariffe[$tariffa]['parte_prezzo'] != "f")
                        if ($prezzo_a_p) {
                            esegui_query("update {$tableperiodi} set {$tariffa}" . "p = '{$prezzo_a_p}' where idperiodi = '{$num1}'");
                        } else {
                            esegui_query("update {$tableperiodi} set {$tariffa}" . "p = NULL where idperiodi = '{$num1}'");
                        }
                    }
                    # fine if ((string) $prezzoperiodop != "NO")
                }
                # fine for $num1
            }
            # fine else if ($idperiodo == "opztariffa")
        }
        # fine for $num_tar
    }
    # fine if ($dati_tariffe[$tipotariffa]['esporta_prezzi'])
}
Esempio n. 8
0
         esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,tipo_costo,nome_cassa,persona_costo,provenienza_costo,metodo_pagamento,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti}','{$nome_costo}','{$val_costo}','{$tipo_costo}','" . aggslashdb($nome_cassa) . "','{$persona_costo}','{$provenienza_costo}','{$metodo_pagamento}','{$datainserimento}','{$HOSTNAME}','{$id_utente}') ");
         if ($inserisci_entrata) {
             echo mex("L'entrata è stata inserita", $pag) . ".<br>";
         }
         if ($inserisci_spesa) {
             echo mex("La spesa è stata inserita", $pag) . ".<br>";
         }
     }
     # fine if ($inserire != "NO")
     echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"costi.php\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input class=\"sbutton\" type=\"submit\" name=\"torna\" value=\"" . mex("OK", $pag) . "\">\n</div></form>";
     unlock_tabelle($tabelle_lock);
 }
 # fine if ($inserisci_entrata or $inserisci_spesa)
 if ($mostra_form_inserimento != "NO") {
     $casse = esegui_query("select * from {$tablecasse} order by idcasse");
     $num_casse = numlin_query($casse);
     $opt_casse = "";
     $num_casse_attive = 0;
     for ($num1 = 0; $num1 < $num_casse; $num1++) {
         $id_cassa = risul_query($casse, $num1, 'idcasse');
         if ($attiva_casse_consentite == "n" or $casse_consentite_vett[$id_cassa] == "SI") {
             if ($id_cassa == 1) {
                 $nome_cassa = mex("cassa principale", $pag);
             } else {
                 $nome_cassa = risul_query($casse, $num1, 'nome_cassa');
             }
             $opt_casse .= "<option value=\"{$id_cassa}\">{$nome_cassa}</option>";
             $hidden_cassa = "<input type=\"hidden\" name=\"id_cassa\" value=\"{$id_cassa}\">";
             $num_casse_attive++;
         }
         # fine if ($attiva_casse_consentite == "n" or $casse_consentite_vett[$id_cassa] == "SI")
Esempio n. 9
0
} # fine if ($priv_prenota_gruppi == "SI")
$condizione_prenota_propria .= " )";
} # fine if ($priv_vedi_tab_mesi == "p")
else $condizione_prenota_propria = "";
} # fine else if ($num1 < $num_appartamenti)
if ($priv_vedi_tab_mesi != "p" or $appartamenti_consentiti[$id_appartamento] != "NO" or $num1 >= $num_appartamenti) {

if ($num1 < $num_appartamenti) echo "<tr><td>";
else echo "<tr><td style=\"color: red;\">";
if (num_caratteri_testo($id_appartamento) > 2) echo "<small><small>";
else echo "<small>";
echo "$id_appartamento";
if (num_caratteri_testo($id_appartamento) > 2) echo "</small></small></td>";
else echo "</small></td>";
$prenotazione_presente = esegui_query("select * from $tableprenota where idappartamenti = '$id_appartamento' and iddatainizio <= '".($id_data_inizio_tab + $num_colonne - 1)."' and iddatafine >= '$id_data_inizio_tab'$condizione_prenota_propria order by iddatainizio");
$num_prenotazione_presente = numlin_query($prenotazione_presente);
$prenota_succ = 0;
if ($num_prenotazione_presente > 0) $ini_prenota_succ = risul_query($prenotazione_presente,0,'iddatainizio');
else $ini_prenota_succ = $id_data_inizio_tab + $num_colonne + 1;

for ($num2 = 0 ; $num2 < $num_colonne ; $num2 = $num2 + 1) {
$id_settimana = $id_data_inizio_tab + $num2;
if ($id_settimana >= $ini_prenota_succ) {
$esiste = 1;
$prenota_corr = $prenota_succ;
$prenota_succ++;
if ($num_prenotazione_presente > $prenota_succ) $ini_prenota_succ = risul_query($prenotazione_presente,$prenota_succ,'iddatainizio');
else {
$ini_prenota_succ = (risul_query($prenotazione_presente,$prenota_corr,'iddatafine') + 1);
if (($id_data_inizio_tab + $num_colonne + 1) > $ini_prenota_succ) $ini_prenota_succ = $id_data_inizio_tab + $num_colonne + 1;
} # fine else if ($num_prenotazione_presente > $prenota_succ)
$righe_pagamenti = "";
if ($id_anni_prec) {
while (list($anno_prec_paga,$id_anno_prec) = each($id_anni_prec_vett)) {
$pagamenti = esegui_query("select metodo_pagamento,saldo_prenota,data_inserimento,utente_inserimento from $PHPR_TAB_PRE"."soldi$anno_prec_paga where saldo_prenota is not NULL and motivazione $LIKE '%;$id_anno_prec' order by data_inserimento");
$num_pagamenti2 = numlin_query($pagamenti);
for ($num1 = 0 ; $num1 < $num_pagamenti2 ; $num1++) {
$data_paga[$num_pagamenti] = substr(risul_query($pagamenti,$num1,'data_inserimento'),0,10);
$utente_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'utente_inserimento');
$metodo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'metodo_pagamento');
$saldo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'saldo_prenota');
$num_pagamenti++;
} # fine for $num1
} # fine while (list($anno_prec,$id_anno_prec) = each($id_anni_prec_vett))
} # fine if ($id_anni_prec)
$pagamenti = esegui_query("select metodo_pagamento,saldo_prenota,data_inserimento,utente_inserimento from $tablesoldi where saldo_prenota is not NULL and motivazione $LIKE '%;$id_prenota' order by data_inserimento");
$num_pagamenti2 = numlin_query($pagamenti);
for ($num1 = 0 ; $num1 < $num_pagamenti2 ; $num1++) {
$data_paga[$num_pagamenti] = substr(risul_query($pagamenti,$num1,'data_inserimento'),0,10);
$utente_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'utente_inserimento');
$metodo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'metodo_pagamento');
$saldo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'saldo_prenota');
$num_pagamenti++;
} # fine for $num1
if ($num_pagamenti >= 1) {
for ($num1 = 0 ; $num1 < $num_pagamenti ; $num1++) {
if (substr($saldo_paga[$num1],0,1) != "-") $saldo_paga[$num1] = "+".$saldo_paga[$num1];
$data_paga_f = formatta_data($data_paga[$num1]);
if (!$metodo_paga[$num1]) $metodo_paga_v = "&nbsp;";
else $metodo_paga_v = $metodo_paga[$num1];
if (!$nomi_utenti[$utente_paga[$num1]]) {
$n_ut_paga = esegui_query("select nome_utente from $tableutenti where idutenti = '".$utente_paga[$num1]."'");
Esempio n. 11
0
         $telefono2 = $dati_mess[13];
         $telefono3 = $dati_mess[14];
         $fax = $dati_mess[15];
     }
     # fine if (numlin_query($dati_mess) == 1)
 }
 # fine if ($idmessaggi)
 if ($datiprenota) {
     echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"98%\"><tr><td style=\"font-size: 80%;\" align=\"right\">\n<form accept-charset=\"utf-8\" method=\"post\" action=\"{$origine}\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"id_transazione\" value=\"{$id_transazione}\">\n<input type=\"hidden\" name=\"annulla\" value=\"SI\">\n<input class=\"sbutton\" type=\"submit\" style=\"font-size: 80%;\" value=\"" . mex("Annulla", $pag) . "\">\n</div></form></td></tr></table>";
 } else {
     echo "<br>";
 }
 mostra_funzjs_cpval();
 echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$origine}\"><div class=\"linhbox\">\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"origine\" value=\"{$origine}\">\n<hr style=\"width: 95%\">";
 $titoli_cliente = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'titoli_cliente' and idutente = '{$id_utente}'");
 if (numlin_query($titoli_cliente) == 1) {
     $titoli_cliente = risul_query($titoli_cliente, 0, "valpersonalizza");
 } else {
     $titoli_cliente = "";
 }
 if ($titoli_cliente) {
     echo "<select name=\"titolo_cli\">\n<option value=\"\">--</option>";
     $titoli_cliente = explode(">", $titoli_cliente);
     for ($num1 = 0; $num1 < count($titoli_cliente); $num1++) {
         $opt = explode("<", $titoli_cliente[$num1]);
         echo "<option value=\"" . $opt[0] . "\">" . $opt[0] . "</option>";
     }
     # fine for $num1
     echo "</select> ";
 }
 # fine if ($titoli_cliente)
function aggiorna_relutenti($aggiungi_rel, $rel_predefinite, $elimina_tutte_rel, $importa_rel, $id_utente, $id_utente_mod, $nuova_rel, $sup_n_rel, $cod_n_rel, $cod2_n_rel, $cod3_n_rel, $utente_importa_rel, $pag, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_sup_sing = "", $rel_sup_plur = "", $tablerel_sup = "", $rel_inf_sing = "", $rel_inf_plur = "", $tablerel_inf = "")
{
    if ($id_utente != 1 or $id_utente_mod == $utente_importa_rel) {
        $importa_rel = "";
    }
    if ($aggiungi_rel or $rel_predefinite or $elimina_tutte_rel or $importa_rel) {
        if (get_magic_quotes_gpc()) {
            $nuova_rel = stripslashes($nuova_rel);
            $cod_n_rel = stripslashes($cod_n_rel);
            $cod2_n_rel = stripslashes($cod2_n_rel);
            $cod3_n_rel = stripslashes($cod3_n_rel);
            $sup_n_rel = stripslashes($sup_n_rel);
        }
        # fine if (get_magic_quotes_gpc())
        $nuova_rel = htmlspecialchars($nuova_rel);
        $cod_n_rel = htmlspecialchars($cod_n_rel);
        $cod2_n_rel = htmlspecialchars($cod2_n_rel);
        $cod3_n_rel = htmlspecialchars($cod3_n_rel);
        $sup_n_rel = htmlspecialchars($sup_n_rel);
        if (!$aggiungi_rel or str_replace(" ", "", $nuova_rel)) {
            echo "<div id=\"avanz_{$rel_plur}\"><br>";
            if ($tablerel_inf) {
                $tabelle_lock = array($tablerel, $tablerel_inf, $tablerelutenti);
            } else {
                $tabelle_lock = array($tablerel, $tablerelutenti);
            }
            if ($tablerel_sup) {
                $altre_tab_lock = array($tablerel_sup);
            } else {
                $altre_tab_lock = "";
            }
            $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock);
            unset($lista_rel);
            unset($cod_rel);
            unset($cod2_rel);
            unset($cod3_rel);
            unset($cod_rel_sup);
            if ($aggiungi_rel) {
                $lista_rel[0] = $nuova_rel;
                $cod_rel[0] = $cod_n_rel;
                $cod2_rel[0] = $cod2_n_rel;
                $cod3_rel[0] = $cod3_n_rel;
                if ($rel_sup_sing and $sup_n_rel) {
                    $sup_n_rel_esist = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_utente_mod}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($sup_n_rel) . "' ");
                    if (numlin_query($sup_n_rel_esist) > 0) {
                        $id_rel_sup_vett[0] = risul_query($sup_n_rel_esist, 0, "id{$rel_sup_plur}", $tablerel_sup);
                    }
                }
                # fine if ($rel_sup_sing and $sup_n_rel)
            } else {
                $rel_canc = esegui_query("select id{$rel_sing} from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL ");
                $num_rel_canc = numlin_query($rel_canc);
                esegui_query("delete from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL ");
                $rel_usate = esegui_query("select distinct id{$rel_sing} from {$tablerelutenti} where id{$rel_sing} is not NULL");
                $num_rel_usate = numlin_query($rel_usate);
                for ($num1 = 0; $num1 < $num_rel_usate; $num1++) {
                    $relutente_usate[(int) risul_query($rel_usate, $num1, "id{$rel_sing}")] = 1;
                }
                # fine for $num1
                for ($num1 = 0; $num1 < $num_rel_canc; $num1++) {
                    if (substr($num1, -3) == "000") {
                        http_keep_alive(". ");
                    }
                    if ($num1 > 20) {
                        $nolog = 1;
                    } else {
                        $nolog = 0;
                    }
                    cancella_relutente(risul_query($rel_canc, $num1, "id{$rel_sing}"), $id_utente_mod, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_inf_sing, $rel_inf_plur, $tablerel_inf, "SI", $relutente_usate, $nolog);
                }
                # fine for $num1
                unset($rel_canc);
                unset($rel_usate);
                unset($relutente_usate);
                if ($rel_predefinite) {
                    include C_DATA_PATH . "/lingua.php";
                    global ${"lista_" . $rel_plur}, ${"cod_" . $rel_plur}, ${"cod2_" . $rel_plur}, ${"cod3_" . $rel_plur}, ${"cod_" . $rel_sup_sing . "_" . $rel_plur};
                    if ($lingua[$id_utente_mod] == "ita") {
                        include_once "./includes/lista_{$rel_plur}.php";
                    } else {
                        if (@is_file("./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php")) {
                            include_once "./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php";
                        }
                    }
                    $lista_rel = ${"lista_" . $rel_plur};
                    $cod_rel = ${"cod_" . $rel_plur};
                    $cod2_rel = ${"cod2_" . $rel_plur};
                    $cod3_rel = ${"cod3_" . $rel_plur};
                    if ($rel_sup_sing) {
                        $cod_rel_sup = ${"cod_" . $rel_sup_sing . "_" . $rel_plur};
                    }
                    if (@is_array($lista_rel)) {
                        $num_rel = count($lista_rel);
                    } else {
                        $num_rel = 0;
                    }
                    for ($num1 = 0; $num1 < $num_rel; $num1++) {
                        $lista_rel[$num1] = htmlspecialchars($lista_rel[$num1]);
                        $cod_rel[$num1] = htmlspecialchars($cod_rel[$num1]);
                        $cod2_rel[$num1] = htmlspecialchars($cod2_rel[$num1]);
                        $cod3_rel[$num1] = htmlspecialchars($cod3_rel[$num1]);
                        $cod_rel_sup[$num1] = htmlspecialchars($cod_rel_sup[$num1]);
                    }
                    # fine for $num1
                } else {
                    if ($importa_rel) {
                        $utente_importa_rel = aggslashdb($utente_importa_rel);
                        $rel_ut_imp = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerelutenti}.idsup from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$utente_importa_rel}' order by {$tablerel}.nome_{$rel_sing}");
                        $num_rel_ut_imp = numlin_query($rel_ut_imp);
                        for ($num1 = 0; $num1 < $num_rel_ut_imp; $num1++) {
                            $rel = risul_query($rel_ut_imp, $num1, "nome_{$rel_sing}", $tablerel);
                            $lista_rel[$num1] = $rel;
                            if ($rel_sup_sing) {
                                $id_rel_sup_vett[$num1] = risul_query($rel_ut_imp, $num1, 'idsup', $tablerelutenti);
                            }
                        }
                        # fine for $num1
                        unset($rel_ut_imp);
                    }
                }
                # fine if ($importa_rel)
            }
            # fine else if ($aggiungi_rel)
            $num_passa_a_var = 2;
            if (@is_array($lista_rel)) {
                $num_rel_agg = count($lista_rel);
            } else {
                $num_rel_agg = 0;
            }
            if ($num_rel_agg >= $num_passa_a_var) {
                $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} is not NULL ");
                $num_rel_esistenti = numlin_query($rel_esistenti);
                for ($num1 = 0; $num1 < $num_rel_esistenti; $num1++) {
                    $nome_rel = risul_query($rel_esistenti, $num1, "nome_{$rel_sing}");
                    $rel_esistente[$nome_rel] = 1;
                    $id_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "id{$rel_plur}");
                    $cod_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "codice_{$rel_sing}");
                }
                # fine for $num1
                unset($rel_esistenti);
                $rel_esistenti2 = esegui_query("select id{$rel_sing},idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL ");
                $num_rel_esistenti2 = numlin_query($rel_esistenti2);
                for ($num1 = 0; $num1 < $num_rel_esistenti2; $num1++) {
                    $id_rel = risul_query($rel_esistenti2, $num1, "id{$rel_sing}");
                    $rel_esistente2[$id_rel] = 1;
                    $idsup_esistente2[$id_rel] = risul_query($rel_esistenti2, $num1, 'idsup');
                }
                # fine for $num1
                unset($rel_esistenti2);
            }
            # fine if ($num_rel_agg > $num_passa_a_var)
            unset($num_max);
            for ($num1 = 0; $num1 < $num_rel_agg; $num1++) {
                if (substr($num1, -3) == "000") {
                    http_keep_alive(". ");
                }
                if ($num1 > 20) {
                    $nolog = 1;
                } else {
                    $nolog = 0;
                }
                $id_rel_sup = "";
                if ($rel_sup_sing and $cod_rel_sup[$num1]) {
                    if ($cod_sup_esist[$cod_rel_sup[$num1]]) {
                        $id_rel_sup = $cod_sup_esist[$cod_rel_sup[$num1]];
                    } else {
                        $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where codice_{$rel_sup_sing} = '" . aggslashdb($cod_rel_sup[$num1]) . "' ");
                        if (numlin_query($rel_sup) > 0) {
                            $id_rel_sup = risul_query($rel_sup, 0, "id{$rel_sup_plur}");
                            $cod_sup_esist[$cod_rel_sup[$num1]] = $id_rel_sup;
                        }
                        # fine if (numlin_query($rel_sup) > 0)
                    }
                    # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]])
                }
                # fine if ($rel_sup_sing and $cod_rel_sup[$num1])
                if ($rel_sup_sing and $id_rel_sup_vett[$num1]) {
                    if ($id_sup_esist[$id_rel_sup_vett[$num1]]) {
                        $id_rel_sup = $id_sup_esist[$id_rel_sup_vett[$num1]];
                    } else {
                        $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where id{$rel_sup_plur} = '" . aggslashdb($id_rel_sup_vett[$num1]) . "' ");
                        if (numlin_query($rel_sup) > 0) {
                            $id_rel_sup = $id_rel_sup_vett[$num1];
                            $id_sup_esist[$id_rel_sup_vett[$num1]] = $id_rel_sup;
                        }
                        # fine if (numlin_query($rel_sup) > 0)
                    }
                    # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]])
                }
                # fine if ($rel_sup_sing and $id_rel_sup_vett[$num1])
                if ($num_rel_agg < $num_passa_a_var) {
                    $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} = '" . aggslashdb($lista_rel[$num1]) . "' ");
                    if (numlin_query($rel_esistenti)) {
                        $nome_rel = risul_query($rel_esistenti, 0, "nome_{$rel_sing}");
                        $rel_esistente[$nome_rel] = 1;
                        $id_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "id{$rel_plur}");
                        $cod_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "codice_{$rel_sing}");
                    }
                    # fine if (numlin_query($rel_esistenti))
                }
                # fine if ($num_rel_agg <= $num_passa_a_var)
                if (!$rel_esistente[$lista_rel[$num1]]) {
                    if (!$num_max) {
                        $num_max = esegui_query("select max(id{$rel_plur}) from {$tablerel} ");
                        $num_max = risul_query($num_max, 0, 0) + 1;
                    } else {
                        $num_max++;
                    }
                    $num_n_rel = $num_max;
                    esegui_query("insert into {$tablerel} (id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing},codice2_{$rel_sing},codice3_{$rel_sing}) values ('{$num_n_rel}','" . aggslashdb($lista_rel[$num1]) . "','" . aggslashdb($cod_rel[$num1]) . "','" . aggslashdb($cod2_rel[$num1]) . "','" . aggslashdb($cod3_rel[$num1]) . "') ", "", $nolog);
                    $rel_esistente[$lista_rel[$num1]] = 1;
                    $id_esistente[$lista_rel[$num1]] = $num_n_rel;
                    $cod_esistente[$lista_rel[$num1]] = $cod_rel[$num1];
                } else {
                    $num_n_rel = $id_esistente[$lista_rel[$num1]];
                    $r_cod = $cod_esistente[$lista_rel[$num1]];
                    if (!$r_cod and $cod_rel[$num1]) {
                        esegui_query("update {$tablerel} set codice_{$rel_sing} = '" . aggslashdb($cod_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' ");
                    }
                    if ($cod2_rel[$num1]) {
                        esegui_query("update {$tablerel} set codice2_{$rel_sing} = '" . aggslashdb($cod2_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' ");
                    }
                    if ($cod3_rel[$num1]) {
                        esegui_query("update {$tablerel} set codice3_{$rel_sing} = '" . aggslashdb($cod3_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' ");
                    }
                    if ($num_rel_agg < $num_passa_a_var) {
                        $rel_esistenti2 = esegui_query("select idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' ");
                        if (numlin_query($rel_esistenti2)) {
                            $rel_esistente2[$num_n_rel] = 1;
                            $idsup_esistente2[$num_n_rel] = risul_query($rel_esistenti2, 0, 'idsup');
                        }
                        # fine if (numlin_query($rel_esistenti2))
                    }
                    # fine if ($num_rel_agg < $num_passa_a_var)
                }
                # fine else if (!$rel_esistente[$lista_rel[$num1]])
                if (!$rel_esistente2[$num_n_rel]) {
                    if ($id_rel_sup) {
                        esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing},idsup) values ('{$id_utente_mod}','{$num_n_rel}','{$id_rel_sup}') ", "", $nolog);
                    } else {
                        esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing}) values ('{$id_utente_mod}','{$num_n_rel}') ", "", $nolog);
                    }
                    $rel_esistente2[$num_n_rel] = 1;
                    $idsup_esistente2[$num_n_rel] = $id_rel_sup;
                } elseif ($id_rel_sup) {
                    $idsup = $idsup_esistente2[$num_n_rel];
                    if (!$idsup) {
                        esegui_query("update {$tablerelutenti} set idsup = '{$id_rel_sup}' where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' ");
                    }
                }
                # fine elseif ($id_rel_sup)
            }
            # fine for $num1
            unlock_tabelle($tabelle_lock);
            echo "<br></div>\n<script type=\"text/javascript\">\n<!--\nvar avanz = document.getElementById('avanz_{$rel_plur}');\navanz.style.display = 'none';\n-->\n</script>\n";
            switch ($rel_sing) {
                case "regione":
                    if ($aggiungi_rel and $pag) {
                        echo mex("Nuova regione/provincia aggiunta", $pag) . ".<br>";
                    }
                    if ($rel_predefinite and $pag) {
                        echo mex("Regioni/provincie predefinite ripristinate", $pag) . ".<br>";
                    }
                    if ($elimina_tutte_rel and $pag) {
                        echo mex("Regioni/provincie cancellate", $pag) . ".<br>";
                    }
                    if ($importa_rel and $pag) {
                        echo mex("Regioni/provincie importate", $pag) . ".<br>";
                    }
                    break;
                case "documentoid":
                    if ($aggiungi_rel and $pag) {
                        echo mex("Nuovo tipo di documento di identità aggiunto", $pag) . ".<br>";
                    }
                    if ($rel_predefinite and $pag) {
                        echo mex("Tipi di documento di identità predefiniti ripristinati", $pag) . ".<br>";
                    }
                    if ($elimina_tutte_rel and $pag) {
                        echo mex("Tipi di documento di identità cancellati", $pag) . ".<br>";
                    }
                    if ($importa_rel and $pag) {
                        echo mex("Tipi di documento di identità importati", $pag) . ".<br>";
                    }
                    break;
                case "citta":
                    $rel_sing = "città";
                    $rel_plur = "città";
                default:
                    if ($aggiungi_rel and $pag) {
                        echo mex("Nuova {$rel_sing} aggiunta", $pag) . ".<br>";
                    }
                    if ($rel_predefinite and $pag) {
                        echo mex(ucfirst($rel_plur) . " predefinite ripristinate", $pag) . ".<br>";
                    }
                    if ($elimina_tutte_rel and $pag) {
                        echo mex(ucfirst($rel_plur) . " cancellate", $pag) . ".<br>";
                    }
                    if ($importa_rel and $pag) {
                        echo mex(ucfirst($rel_plur) . " importate", $pag) . ".<br>";
                    }
            }
            # fine switch ($rel_sing)
            unset($lista_rel);
            unset($cod_rel);
            unset($cod2_rel);
            unset($cod3_rel);
            unset($cod_rel_sup);
            unset($rel_esistente);
            unset($id_esistente);
            unset($cod_esistente);
            unset($rel_esistente2);
            unset($idsup_esistente2);
        }
        # fine if (!$aggiungi_rel or str_replace(" ","",$nuova_rel))
    }
    # fine if ($aggiungi_rel or $rel_predefinite or...
}
Esempio n. 13
0
</select></td>";
} # fine if ($priv_mod_beni != "n")
if ($priv_ins_beni != "n" or $priv_mod_beni != "n") {
if ($tipoid == "idappartamento" or $priv_mod_checkin != "s") {
$attiva_checkin = esegui_query("select valpersonalizza from $tablepersonalizza where idpersonalizza = 'attiva_checkin' and idutente = '$id_utente'");
$attiva_checkin = risul_query($attiva_checkin,0,'valpersonalizza');
if ($attiva_checkin == "SI") echo "<td style=\"line-height: 70%\"><small><small>".str_replace("_","&nbsp;",mex("richiesto_per registrare entrata",$pag))."</small></small></td>";
} # fine if ($tipoid == "idappartamento" or $priv_mod_checkin != "s")
echo "<td>".mex("Modifica",$pag)."</td>";
} # fine if ($priv_ins_beni != "n" or $priv_mod_beni != "n")
echo "</tr>";

$beni_in_mag = esegui_query("select * from $tablerelinventario where $tipoid = '$idmag' order by idbeneinventario ");
$num_beni_in_mag = numlin_query($beni_in_mag);
$beni_inv = esegui_query("select * from $tablebeniinventario $condizione_beni_propri order by idbeniinventario");
$num_beni_inv = numlin_query($beni_inv);
if ($priv_vedi_beni_inv == "n") $num_beni_inv = 0;

unset($nomi_beni);
unset($codici_beni);
unset($bene_permesso);
for ($num1 = 0 ; $num1 < $num_beni_inv ; $num1++) {
$idinv = risul_query($beni_inv,$num1,'idbeniinventario');
$bene_permesso[$idinv] = 1;
$nomi_beni[$idinv] = risul_query($beni_inv,$num1,'nome_bene');
$codici_beni[$idinv] = risul_query($beni_inv,$num1,'codice_bene');
} # fine for $num1

unset($id_in_mag);
for ($num1 = 0 ; $num1 < $num_beni_in_mag ; $num1++) {
$id_bene_in_mag = risul_query($beni_in_mag,$num1,'idbeneinventario');
Esempio n. 14
0
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"nuovo_mess\" value=\"$nuovo_mess\">
<input class=\"sbutton\" type=\"submit\" name=\"creaanno\" value=\"".mex("Crea l'anno",$pag)." $anno \">
 ".mex("con periodi",$pag).":<br>";
unset($tipo_periodi_obbligati);
unset($checked_g);
unset($checked_s);
if (!$numconnessione) {
include(C_DATA_PATH."/dati_connessione.php");
include("./includes/funzioni_$PHPR_DB_TYPE.php");
$numconnessione = connetti_db($PHPR_DB_NAME,$PHPR_DB_HOST,$PHPR_DB_PORT,$PHPR_DB_USER,$PHPR_DB_PASS,$PHPR_LOAD_EXT);
} # fine if (!$numconnessione)
$tableanni = $PHPR_TAB_PRE."anni";
$tipo_periodi_esistenti = esegui_query("select * from $tableanni order by idanni desc");
if (numlin_query($tipo_periodi_esistenti) != 0) $tipo_periodi_prec = risul_query($tipo_periodi_esistenti,0,'tipo_periodi');
if ($tipo_periodi_prec == "s") $checked_s = " checked";
else $checked_g = " checked";
if (C_CAMBIA_TIPO_PERIODI == "NO") $tipo_periodi_obbligati = $tipo_periodi_prec;
if (!$tipo_periodi_obbligati or $tipo_periodi_obbligati == "s") {
echo "<label><input type=\"radio\" name=\"tipo_periodi\" value=\"s\"$checked_s>
".mex("settimanali",$pag)."</label> (<em>".mex("obsoleti",$pag)."</em>): 
 <select name=\"giorno_ini_fine\">
<option value=\"0\">".mex("Domenica",$pag)."</option>
<option value=\"1\">".mex("Lunedì",$pag)."</option>
<option value=\"2\">".mex("Martedì",$pag)."</option>
<option value=\"3\">".mex("Mercoledì",$pag)."</option>
<option value=\"4\">".mex("Giovedì",$pag)."</option>
<option value=\"5\">".mex("Venerdì",$pag)."</option>
<option value=\"6\" selected>".mex("Sabato",$pag)."</option>
</select> ".mex("come giorno di inizio/fine locazione",$pag)."<br>";
Esempio n. 15
0
if (!$num_periodi_permessi_sel) $num_periodi_permessi_sel = count($dati_ca[$num_costo]['sett_periodipermessi_ini']);
if (!$num_periodi_permessi_sel) $num_periodi_permessi_sel = 1;
if ($aggiungi_periodo_permesso) $num_periodi_permessi_sel++;
if ($elimina_periodo_permesso) $num_periodi_permessi_sel--;
for ($num1 = 1 ; $num1 <= $num_periodi_permessi_sel ; $num1++) {
if ($num1 > 1) echo "<tr><td></td><td>";
if (!${"pp_dal".$num1} and $num1 <= count($dati_ca[$num_costo]['sett_periodipermessi_ini'])) {
${"pp_dal".$num1} = esegui_query("select datainizio from $tableperiodi where idperiodi = '".$dati_ca[$num_costo]['sett_periodipermessi_ini'][($num1 - 1)]."'");
if (numlin_query(${"pp_dal".$num1}) == 1) ${"pp_dal".$num1} = risul_query(${"pp_dal".$num1},0,'datainizio');
} # fine if (!${"pp_dal".$num1} and...
echo mex("dal",$pag)." ";
$pp_dal = ${"pp_dal".$num1};
mostra_menu_date(C_DATA_PATH."/selectperiodi$anno.1.php","pp_dal$num1",$pp_dal,"","",$id_utente,$tema);
if (!${"pp_al".$num1} and $num1 <= count($dati_ca[$num_costo]['sett_periodipermessi_ini'])) {
${"pp_al".$num1} = esegui_query("select datafine from $tableperiodi where idperiodi = '".$dati_ca[$num_costo]['sett_periodipermessi_fine'][($num1 - 1)]."'");
if (numlin_query(${"pp_al".$num1}) == 1) ${"pp_al".$num1} = risul_query(${"pp_al".$num1},0,'datafine');
} # fine if (!${"pp_al".$num1} and...
echo mex("al",$pag)." ";
$pp_al = ${"pp_al".$num1};
mostra_menu_date(C_DATA_PATH."/selectperiodi$anno.1.php","pp_al$num1",$pp_al,"","",$id_utente,$tema);
if ($num1 == $num_periodi_permessi_sel) {
$id_minus = " id=\"minus_pp".($num1 + 1)."\"";
if ($num1 > 1) echo "</td><td id=\"minus_pp$num1\"><input class=\"sbutton\" type=\"submit\" name=\"elimina_periodo_permesso\" value=\"".mex("Elimina un periodo",$pag)."\" onclick=\"elim_lin_per_perm();\"></td></tr><tr><td></td><td>";
else $id_minus = " id=\"minus_pp$num1\"";
echo "</td><td$id_minus><input class=\"sbutton\" type=\"submit\" name=\"aggiungi_periodo_permesso\" value=\"".mex("Aggiungi un periodo",$pag)."\" onclick=\"agg_lin_per_perm();\">";
} # fine if ($num1 == $num_periodi_permessi_sel)
else echo "</td><td id=\"minus_pp$num1\">";
echo "</td></tr>";
} # fine for $num1
echo "</table>
<script type=\"text/javascript\">
function genera_statistiche (&$entrate_ins_mese,&$num_prenota_ins_mese,&$entrate_prog_ins_mese,&$num_prenota_prog_ins_mese,&$percent_occupazione,&$entrate_mese,&$num_prenota_mese,&$num_origine,&$entrate_origine,&$percent_num_origine,&$percent_entrate_origine,&$num_nazionalita,&$entrate_nazionalita,&$percent_num_nazionalita,&$percent_entrate_nazionalita,&$app_occupati,&$prezzo_medio_prenota,&$revpar,&$revpar_ca,&$pagamenti,&$nazionalita_mese,&$num_giorni_mese,$anno_stat,$mesi,$date_ins,$prezzi,$appartamenti_sel,$condizione_prenota_proprie,$PHPR_TAB_PRE) {
global $LIKE,$ILIKE;

$tableprenota_stat = $PHPR_TAB_PRE."prenota".$anno_stat;
$tablecostiprenota_stat = $PHPR_TAB_PRE."costiprenota".$anno_stat;
$tableperiodi_stat = $PHPR_TAB_PRE."periodi".$anno_stat;
$tablesoldi_stat = $PHPR_TAB_PRE."soldi".$anno_stat;
$tableclienti = $PHPR_TAB_PRE."clienti";
$tableappartamenti = $PHPR_TAB_PRE."appartamenti";

$num_giorni_mese[$anno_stat][1] = 31;
if (date("n",mktime(0,0,0,2,29,$anno_stat)) == "2") $num_giorni_mese[$anno_stat][2] = 29;
else $num_giorni_mese[$anno_stat][2] = 28;
$num_giorni_mese[$anno_stat][3] = 31;
$num_giorni_mese[$anno_stat][4] = 30;
$num_giorni_mese[$anno_stat][5] = 31;
$num_giorni_mese[$anno_stat][6] = 30;
$num_giorni_mese[$anno_stat][7] = 31;
$num_giorni_mese[$anno_stat][8] = 31;
$num_giorni_mese[$anno_stat][9] = 30;
$num_giorni_mese[$anno_stat][10] = 31;
$num_giorni_mese[$anno_stat][11] = 30;
$num_giorni_mese[$anno_stat][12] = 31;

if (strcmp($appartamenti_sel,"")) {
$appartamenti_sel = explode(",",$appartamenti_sel);
$num_appartamenti_sel = count($appartamenti_sel);
for ($num1 = 0 ; $num1 < $num_appartamenti_sel ; $num1++) {
if ($num1 == 0) $cond_app = " where (";
else $cond_app .= " or ";
$cond_app .= "$tableprenota_stat.idappartamenti = '".aggslashdb($appartamenti_sel[$num1])."'";
} # fine for $num1
$cond_app .= ")";
} # fine if (strcmp($appartamenti_sel,""))
else $cond_app = "";

if ($date_ins['ini'] or $date_ins['fine']) {
if ($cond_app) $cond_ins = " and (";
else $cond_ins = " where (";
if ($date_ins['ini']) $cond_ins .= "$tableprenota_stat.datainserimento >= '$anno_stat".$date_ins['ini']." 00:00:00'";
if ($date_ins['ini'] and $date_ins['fine']) $cond_ins .= " and ";
if ($date_ins['fine']) $cond_ins .= "$tableprenota_stat.datainserimento <= '$anno_stat".$date_ins['fine']." 23:59:59'";
$cond_ins .= ")";
} # fine if ($date_ins['ini'] or $date_ins['fine'])
else $cond_ins = "";

if ($condizione_prenota_proprie) {
$condizione_prenota_proprie = str_replace("utente_inserimento","$tableprenota_stat.utente_inserimento",$condizione_prenota_proprie);
if ($cond_app or $cond_ins) $condizione_prenota_proprie = " and".$condizione_prenota_proprie;
else $condizione_prenota_proprie = " where".$condizione_prenota_proprie;
} # fine if ($condizione_prenota_proprie)

$appartamenti = esegui_query("select idappartamenti from $tableappartamenti".str_replace("$tableprenota_stat.idappartamenti = '","idappartamenti = '",$cond_app)." order by idappartamenti");
$num_appartamenti = numlin_query($appartamenti);
$periodi = esegui_query("select idperiodi,datainizio,datafine from $tableperiodi_stat order by idperiodi ");
$num_periodi = numlin_query($periodi);
for ($num1 = 0 ; $num1 < $num_periodi ; $num1++) {
$idper = risul_query($periodi,$num1,'idperiodi');
$datainizio[$idper] = risul_query($periodi,$num1,'datainizio');
$datafine[$idper] = risul_query($periodi,$num1,'datafine');
$anno_inizio = (integer) substr($datainizio[$idper],0,4);
$mese_inizio = (integer) substr($datainizio[$idper],5,2);
$num_periodi_mese[$anno_inizio][$mese_inizio]++;
} # fine for $num1
$tutte_prenota = esegui_query("select distinct $tableprenota_stat.idprenota,$tableprenota_stat.iddatainizio,$tableprenota_stat.iddatafine,$tableprenota_stat.datainserimento,$tableprenota_stat.num_persone,$tableprenota_stat.tariffa,$tableprenota_stat.sconto,$tableprenota_stat.tariffa_tot,$tableprenota_stat.tariffesettimanali,$tableprenota_stat.caparra,$tableprenota_stat.commissioni,$tableprenota_stat.tasseperc,$tableprenota_stat.origine,$tableclienti.nazionalita from $tableprenota_stat inner join $tableclienti on $tableprenota_stat.idclienti = $tableclienti.idclienti$cond_app$cond_ins$condizione_prenota_proprie");
$num_tutte_prenota = numlin_query($tutte_prenota);
$entrate_mese[$anno_stat][1] = 0;
$num_prenota_mese[$anno_stat][1] = 0;
for ($num1 = 0 ; $num1 < $num_tutte_prenota ; $num1++) {
$id_prenota = risul_query($tutte_prenota,$num1,'idprenota',$tableprenota_stat);
$id_data_inizio = risul_query($tutte_prenota,$num1,'iddatainizio',$tableprenota_stat);
$id_data_fine = risul_query($tutte_prenota,$num1,'iddatafine',$tableprenota_stat);
$num_sett = $id_data_fine - $id_data_inizio + 1;
$data_inserimento = risul_query($tutte_prenota,$num1,'datainserimento',$tableprenota_stat);
$tariffa = explode("#@&",risul_query($tutte_prenota,$num1,'tariffa',$tableprenota_stat));
$sconto = risul_query($tutte_prenota,$num1,'sconto',$tableprenota_stat);
if ((double) $sconto > (double) $tariffa[1]) $sconto = $tariffa[1];
$prezzo_tariffa = (double) $tariffa[1];
$tariffa_tot = risul_query($tutte_prenota,$num1,'tariffa_tot',$tableprenota_stat);
$tariffe_settimanali_int = risul_query($tutte_prenota,$num1,'tariffesettimanali',$tableprenota_stat);
$tariffe_settimanali = explode(";",$tariffe_settimanali_int);
$tariffe_settimanali = explode(",",$tariffe_settimanali[0]);

if (!$prezzi['commissioni']) {
$commissioni = (double) risul_query($tutte_prenota,$num1,'commissioni',$tableprenota_stat);
if ($commissioni > 0) {
$tariffa_tot = (double) $tariffa_tot - (double) $commissioni;
$prezzo_tariffa = (double) $prezzo_tariffa - (double) $commissioni;
$commissioni_sett = round(((double) $commissioni / ($id_data_fine - $id_data_inizio + 1)),2);
for ($num2 = 0 ; $num2 < count($tariffe_settimanali) ; $num2++) $tariffe_settimanali[$num2] = (double) $tariffe_settimanali[$num2] - (double) $commissioni_sett;
$resto_arr = (double) $commissioni - ((double) $commissioni_sett * ($id_data_fine - $id_data_inizio + 1));
$tariffe_settimanali[0] = (double) $tariffe_settimanali[0] - (double) $resto_arr;
} # fine if ($commissioni > 0)
} # fine if (!$prezzi['commissioni'])
if (!$prezzi['tasse']) {
$tasse_tot = 0;
$tasse_perc = (double) risul_query($tutte_prenota,$num1,'tasseperc',$tableprenota_stat);
$caparra = (double) risul_query($tutte_prenota,$num1,'caparra',$tableprenota_stat);
$numpersone = risul_query($tutte_prenota,$num1,'num_persone',$tableprenota_stat);
if ($tasse_perc) {
$tasse = (((double) $tariffa[1] - (double) $sconto) / ($tasse_perc + 100)) * $tasse_perc;
$tasse = $tasse / (double) $prezzi['tasse_arrotond'];
$tasse = round($tasse);
$tasse = $tasse * (double) $prezzi['tasse_arrotond'];
$tasse_tot = (double) $tasse_tot + $tasse;
} # fine if ($tasse_perc)
$prezzo_tariffa = (double) $prezzo_tariffa - (double) $tasse_tot;
$tasse_sett = round(((double) $tasse_tot / ($id_data_fine - $id_data_inizio + 1)),2);
for ($num2 = 0 ; $num2 < count($tariffe_settimanali) ; $num2++) $tariffe_settimanali[$num2] = (double) $tariffe_settimanali[$num2] - (double) $tasse_sett;
$resto_arr = (double) $tasse_tot - ((double) $tasse_sett * ($id_data_fine - $id_data_inizio + 1));
$tariffe_settimanali[0] = (double) $tariffe_settimanali[0] - (double) $resto_arr;
$dati_cap = dati_costi_agg_prenota($tablecostiprenota_stat,$id_prenota);
$costo_agg_tot = 0;
$costo_escludi_perc = 0;
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
$costo_agg_parziale = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$id_data_inizio,$id_data_fine,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],$tariffa[1],$tariffe_settimanali_int,((double) $tariffa[1] + $costo_agg_tot - (double) $sconto),$caparra,$numpersone,$costo_escludi_perc);
$costo_agg_tot = (double) $costo_agg_tot + $costo_agg_parziale;
if ($dati_cap[$numca]['escludi_tot_perc'] == "s") $costo_escludi_perc = (double) $costo_escludi_perc + $costo_agg_parziale;
if ($dati_cap[$numca]['tasseperc']) {
if ($dati_cap[$numca]['tasseperc'] == -1) $tasse_ca = (double) $costo_agg_parziale;
else {
$tasse_ca = ($costo_agg_parziale / (double) ($dati_cap[$numca]['tasseperc'] + 100)) * (double) $dati_cap[$numca]['tasseperc'];
$tasse_ca = $tasse_ca / $prezzi['tasse_arrotond'];
$tasse_ca = round($tasse_ca);
$tasse_ca = $tasse_ca * (double) $prezzi['tasse_arrotond'];
} # fine else if ($dati_cap[$numca]['tasseperc'] == -1)
$tasse_tot = (double) $tasse_tot + (double) $tasse_ca;
} # fine if ($dati_cap[$numca]['tasseperc'])
} # fine for $numca
$tariffa_tot = (double) $tariffa_tot - (double) $tasse_tot;
} # fine if (!$prezzi['tasse'])

$val_medio_costi_agg_e_sconto_per_sett = round((((double) $tariffa_tot - (double) $prezzo_tariffa) / (double) $num_sett),2);
$val_medio_sconto_per_sett = round(((double) $sconto  / (double) $num_sett),2);
$origine = risul_query($tutte_prenota,$num1,'origine',$tableprenota_stat);
$nazionalita = risul_query($tutte_prenota,$num1,'nazionalita',$tableprenota_stat);
$anno_ins = (integer) substr($data_inserimento,0,4);
$mese_ins = (integer) substr($data_inserimento,5,2);
if (substr($datainizio[$id_data_inizio],0,4) == $anno_stat) {
if ($anno_ins < $anno_stat) {
$anno_ins = (integer) $anno_stat;
$mese_ins = (integer) 0;
} # fine if ($anno_ins < $anno_stat)
$entrate_ins_mese[$anno_ins][$mese_ins] = (double) $entrate_ins_mese[$anno_ins][$mese_ins] + (double) $tariffa_tot;
$num_prenota_ins_mese[$anno_ins][$mese_ins]++;
} # fine if (substr($datainizio[$id_data_inizio],0,4) == $anno_stat)
$ultimo_mese_inizio = "";
for ($num2 = $id_data_inizio ; $num2 <= $id_data_fine ; $num2++) {
$anno_inizio = (integer) substr($datainizio[$num2],0,4);
$mese_inizio = (integer) substr($datainizio[$num2],5,2);
$app_occupati[$anno_inizio][$mese_inizio]++;
$entrate_mese[$anno_inizio][$mese_inizio] = (double) $entrate_mese[$anno_inizio][$mese_inizio] + (double) $tariffe_settimanali[($num2 - $id_data_inizio)] + (double) $val_medio_costi_agg_e_sconto_per_sett;
$entrate_mese_no_ca[$anno_inizio][$mese_inizio] = (double) $entrate_mese_no_ca[$anno_inizio][$mese_inizio] + (double) $tariffe_settimanali[($num2 - $id_data_inizio)] - (double) $val_medio_sconto_per_sett;
if ($mese_inizio != $ultimo_mese_inizio) $num_prenota_mese[$anno_inizio][$mese_inizio]++;
$ultimo_mese_inizio = $mese_inizio;
} # fine for $num2
$anno_inizio = (integer) substr($datainizio[$id_data_inizio],0,4);
$mese_inizio = (integer) substr($datainizio[$id_data_inizio],5,2);
if ($mesi[$mese_inizio]) {
$num_prenota_mese[$anno_inizio]['TOT']++;
if ($origine != "") {
$num_origine[$anno_inizio][$origine]++;
$entrate_origine[$anno_inizio][$origine] = (double) $entrate_origine[$anno_inizio][$origine] + (double) $tariffa_tot;
} # fine if ($origine != "")
if ($nazionalita != "") {
$num_nazionalita[$anno_inizio][$nazionalita]++;
$entrate_nazionalita[$anno_inizio][$nazionalita] = (double) $entrate_nazionalita[$anno_inizio][$nazionalita] + (double) $tariffa_tot;
} # fine if ($nazionalita != "")
$pagamenti_p = esegui_query("select metodo_pagamento,saldo_prenota from $tablesoldi_stat where saldo_prenota is not NULL and motivazione $LIKE '%;$id_prenota' order by data_inserimento");
$num_pagamenti_p = numlin_query($pagamenti_p);
for ($num2 = 0 ; $num2 < $num_pagamenti_p ; $num2++) {
$metodo_pagamento = risul_query($pagamenti_p,$num2,'metodo_pagamento');
$saldo_prenota = risul_query($pagamenti_p,$num2,'saldo_prenota');
if ($metodo_pagamento) $pagamenti[$anno_inizio][$metodo_pagamento] = (double) $pagamenti[$anno_inizio][$metodo_pagamento] + (double) $saldo_prenota;
} # fine for $num2
} # fine if ($mesi[$mese_inizio])
} # fine for $num1

$percent_occupazione[$anno_stat]['TOT'] = 0;
$revpar[$anno_stat]['TOT'] = 0;
$revpar_ca[$anno_stat]['TOT'] = 0;
$num_mesi_media = 0;
$num_giorni_revpar = 0;
$num_giorni_revpar_ca = 0;
$entrate_prog_ins_mese[$anno_stat][0] = (double) $entrate_ins_mese[$anno_stat][0];
$num_prenota_prog_ins_mese[$anno_stat][0] = $num_prenota_ins_mese[$anno_stat][0];
for ($num1 = 1 ; $num1 <= 12 ; $num1++) {
$entrate_prog_ins_mese[$anno_stat][$num1] = (double) $entrate_prog_ins_mese[$anno_stat][($num1 - 1)] + (double) $entrate_ins_mese[$anno_stat][$num1];
$num_prenota_prog_ins_mese[$anno_stat][$num1] = $num_prenota_prog_ins_mese[$anno_stat][($num1 - 1)] + $num_prenota_ins_mese[$anno_stat][$num1];
if (!$app_occupati[$anno_stat][$num1] or !$num_periodi_mese[$anno_stat][$num1] or !$num_appartamenti) $percent_occupazione[$anno_stat][$num1] = 0;
else $percent_occupazione[$anno_stat][$num1] = round(($app_occupati[$anno_stat][$num1] / ($num_appartamenti * $num_periodi_mese[$anno_stat][$num1]) * 100),1);
if ($mesi[$num1]) {
$percent_occupazione[$anno_stat]['TOT'] = (double) $percent_occupazione[$anno_stat]['TOT'] + (double) $percent_occupazione[$anno_stat][$num1];
$num_mesi_media++;
if ($num_appartamenti) {
$revpar[$anno_stat][$num1] = round(((double) $entrate_mese_no_ca[$anno_stat][$num1] / ((double) $num_appartamenti * (double) $num_giorni_mese[$anno_stat][$num1])),2);
$revpar_ca[$anno_stat][$num1] = round(((double) $entrate_mese[$anno_stat][$num1] / ((double) $num_appartamenti * (double) $num_giorni_mese[$anno_stat][$num1])),2);
} # fine if ($num_appartamenti)
$entrate_mese[$anno_stat]['TOT'] = (double) $entrate_mese[$anno_stat]['TOT'] + (double) $entrate_mese[$anno_stat][$num1];
$entrate_mese_no_ca[$anno_stat]['TOT'] = (double) $entrate_mese_no_ca[$anno_stat]['TOT'] + (double) $entrate_mese_no_ca[$anno_stat][$num1];
$app_occupati[$anno_stat]['TOT'] = (double) $app_occupati[$anno_stat]['TOT'] + (double) $app_occupati[$anno_stat][$num1];
$num_giorni_revpar = $num_giorni_revpar + $num_giorni_mese[$anno_stat][$num1];
$num_giorni_revpar_ca = $num_giorni_revpar_ca + $num_giorni_mese[$anno_stat][$num1];
if ($app_occupati[$anno_stat][$num1]) $prezzo_medio_prenota[$anno_stat][$num1] = (double) $entrate_mese[$anno_stat][$num1] / (double) $app_occupati[$anno_stat][$num1];
else $prezzo_medio_prenota[$anno_stat][$num1] = (double) 0;
} # fine if ($mesi[$num1])
} # fine for $num1
if ($num_mesi_media) $percent_occupazione[$anno_stat]['TOT'] = round(((double) $percent_occupazione[$anno_stat]['TOT'] / (double) $num_mesi_media),1);
if ($num_giorni_revpar and $num_appartamenti) $revpar[$anno_stat]['TOT'] = round(((double) $entrate_mese_no_ca[$anno_stat]['TOT'] / ((double) $num_appartamenti * (double) $num_giorni_revpar)),2);
if ($num_giorni_revpar_ca and $num_appartamenti) $revpar_ca[$anno_stat]['TOT'] = round(((double) $entrate_mese[$anno_stat]['TOT'] / ((double) $num_appartamenti * (double) $num_giorni_revpar_ca)),2);
if ($app_occupati[$anno_stat]['TOT']) $prezzo_medio_prenota[$anno_stat]['TOT'] = (double) $entrate_mese[$anno_stat]['TOT'] / (double) $app_occupati[$anno_stat]['TOT'];

if (@is_array($num_origine)) {
$num_origine_anno = $num_origine[$anno_stat];
if (@is_array($num_origine_anno)) {
reset($num_origine_anno);
while (list($orig,$val) = each($num_origine_anno)) {
if (!$val or !$num_prenota_mese[$anno_stat]['TOT']) $percent_num_origine[$anno_stat][$orig] = 0;
else $percent_num_origine[$anno_stat][$orig] = round(((double) $val / (double) $num_prenota_mese[$anno_stat]['TOT'] * 100),1);
if (!$entrate_origine[$anno_stat][$orig] or !$entrate_mese[$anno_stat]['TOT']) $percent_entrate_origine[$anno_stat][$orig] = 0;
else $percent_entrate_origine[$anno_stat][$orig] = round(((double) $entrate_origine[$anno_stat][$orig] / (double) $entrate_mese[$anno_stat]['TOT'] * 100),1);
} # fine while (list($orig,$val) = each($num_origine_anno))
} # fine if (@is_array($num_origine_anno))
} # fine if (@is_array($num_origine))

if (@is_array($num_nazionalita)) {
$num_nazionalita_anno = $num_nazionalita[$anno_stat];
reset($num_nazionalita_anno);
while (list($nazion,$val) = each($num_nazionalita_anno)) {
if (!$val or !$num_prenota_mese[$anno_stat]['TOT']) $percent_num_nazionalita[$anno_stat][$nazion] = 0;
else $percent_num_nazionalita[$anno_stat][$nazion] = round(((double) $val / (double) $num_prenota_mese[$anno_stat]['TOT'] * 100),1);
if (!$entrate_nazionalita[$anno_stat][$nazion] or !$entrate_mese[$anno_stat]['TOT']) $percent_entrate_nazionalita[$anno_stat][$nazion] = 0;
else $percent_entrate_nazionalita[$anno_stat][$nazion] = round(((double) $entrate_nazionalita[$anno_stat][$nazion] / (double) $entrate_mese[$anno_stat]['TOT'] * 100),1);
} # fine while (list($nazion,$val) = each($num_nazionalita_anno))
} # fine if (@is_array($num_nazionalita))

} # fine function genera_statistiche
header("Content-Transfer-Encoding: none");
header("Content-Type: application/rtf; name=\"$nome_file\"");
#header("Content-Type: application/octetstream; name=\"$nome_file\"");
#header("Content-Type: application/octet-stream; name=\"$nome_file\"");
header("Content-Disposition: inline; filename=\"$nome_file\"");
#header("Content-length: $lunghezza_file");
} # fine if ($tipo_contratto == "contrrtf" and !$dir_salva)
if ($tipo_contratto == "contrtxt" and !$dir_salva) {
$mostra_headers = "NO";
if ($nome_file_contr) {
$nome_file = $nome_file_contr[$n_file];
if (substr($nome_file,-3) == ".gz") $nome_file = substr($nome_file,0,-3);
} # fine if ($nome_file_contr)
else $nome_file = str_replace("\\","_",str_replace("/","_",str_replace(" ","_",$nome_contratto))).".txt";
$est_txt = esegui_query("select * from $tablecontratti where numero = '$numero_contratto' and tipo = 'est_txt'");
if (numlin_query($est_txt)) {
$est_txt = risul_query($est_txt,0,'testo');
$nome_file = substr($nome_file,0,-4).".$est_txt";
} # fine if (numlin_query($est_txt))
header("Pragma: public");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: pre-check=0, post-check=0, max-age=0");
header("Content-Transfer-Encoding: none");
header("Content-Type: application/text; name=\"$nome_file\"");
#header("Content-Type: application/octetstream; name=\"$nome_file\"");
#header("Content-Type: application/octet-stream; name=\"$nome_file\"");
header("Content-Disposition: inline; filename=\"$nome_file\"");
#header("Content-length: $lunghezza_file");
} # fine if ($tipo_contratto == "contrtxt" and !$dir_salva)
else $num_campi_pers_cliente = 0;
$campo_personalizzato_ = mex2("campo_personalizzato")."_";
include("./includes/variabili_contratto.php");
$num_var_predef--;
$num_int_contr = $num_contratto;
while ((string) substr($num_int_contr,0,1) == (string) "0") $num_int_contr = substr($num_int_contr,1);
$variabili_pers = esegui_query("select * from $tablecontratti where tipo = 'var' or tipo = 'var$num_int_contr' order by tipo, numero");
$num_variabili_pers = numlin_query($variabili_pers);
for ($num1 = 0 ; $num1 < $num_variabili_pers ; $num1++) {
$var_pers = risul_query($variabili_pers,$num1,'testo');
$num_var_pers = risul_query($variabili_pers,$num1,'numero');
$var_predef[$num_var_predef] = $var_pers;
$num_var_predef++;
} # fine for $num1
$array_pers = esegui_query("select * from $tablecontratti where tipo = 'vett' or tipo = 'vett$num_int_contr' order by tipo, numero");
$num_array_pers = numlin_query($array_pers);
for ($num1 = 0 ; $num1 < $num_array_pers ; $num1++) {
$arr_pers_vett = explode(";",risul_query($array_pers,$num1,'testo'));
$arr_pers = $arr_pers_vett[0];
$var_arr_pers = $arr_pers_vett[1];
$num_arr_pers = risul_query($array_pers,$num1,'numero');
$var_predef[$num_var_predef] = "$arr_pers(".mex2($var_arr_pers).")";
$num_var_predef++;
$option_array .= "<option value=\"a$arr_pers\">".mex("ripetizione array",$pag)." $arr_pers</option>";
} # fine for $num1

for ($num1 = 0 ; $num1 < $num_var_predef ; $num1++) {
$linea_mod .= "<option value=\"".mex2($var_predef[$num1])."\">".mex2($var_predef[$num1])."</option>";
} # fine for $num1
$linea_mod .= "</select>
<input class=\"sbutton\" type=\"submit\" name=\"aggiungi_var\" value=\"".mex("Aggiungi",$pag)."\">
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;
}
Esempio n. 21
0
function aggiorna_var_anno_modello_rat ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) {

global $num_periodi_date,$LIKE,$anno,$estendi_ultima_data;
$n_num_periodi_date = 0;
if ($id_data_ini_periodi_prec) {
for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) {
global ${"inizioperiodo".$num1},${"fineperiodo".$num1},${"intervalloperiodo".$num1};
$inizioperiodo = aggslashdb(${"inizioperiodo".$num1});
$fineperiodo = aggslashdb(${"fineperiodo".$num1});
$idinizioperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datainizio = '$inizioperiodo' ");
$num_idinizioperiodo = numlin_query($idinizioperiodo);
if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; }
else { $idinizioperiodo = risul_query($idinizioperiodo,0,idperiodi); }
$inizioperiodo = $idinizioperiodo;
$idfineperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datafine = '$fineperiodo' ");
$num_idfineperiodo = numlin_query($idfineperiodo);
if ($num_idfineperiodo == 0) { $idfineperiodo = -1; }
else { $idfineperiodo = risul_query($idfineperiodo,0,idperiodi); }
$fineperiodo = $idfineperiodo;
$intervalloperiodo = aggslashdb(${"intervalloperiodo".$num1});
if ($estendi_ultima_data == "SI" and $num1 == ($num_periodi_date - 1)) $fineperiodo = $id_data_ini_periodi_prec + $intervalloperiodo;
if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec) {
if ($inizioperiodo < $id_data_ini_periodi_prec) {
for ($num2 = $inizioperiodo ; $num2 <= $fineperiodo ; $num2 = $num2 + $intervalloperiodo) {
if ($num2 >= $id_data_ini_periodi_prec) {
$inizioperiodo = $num2;
break;
} # fine if ($num2 >= $id_data_ini_periodi_prec)
} # fine for $num2
} # fine if ($inizioperiodo < $id_data_ini_periodi_prec)
$n_inizioperiodo[$n_num_periodi_date] = $inizioperiodo - $id_data_ini_periodi_prec + 1;
$n_fineperiodo[$n_num_periodi_date] = $fineperiodo - $id_data_ini_periodi_prec + 1;
$n_intervalloperiodo[$n_num_periodi_date] = $intervalloperiodo;
$n_num_periodi_date++;
} # fine if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec or...
} # fine for $num1
} # fine if ($id_data_ini_periodi_prec)

if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) {
$n_num_periodi_date = 1;
global $inizioperiodo0,$fineperiodo0,$intervalloperiodo0;
if (($num_periodi_date - 1) != 0) global ${"fineperiodo".($num_periodi_date - 1)},${"intervalloperiodo".($num_periodi_date - 1)};
$n_intervalloperiodo[0] = ${"intervalloperiodo".($num_periodi_date - 1)};
$inizioperiodo = ${"fineperiodo".($num_periodi_date - 1)};
if ($tipo_periodi == "g") $aggiungi_giorni = 1;
else $aggiungi_giorni = 7;
$anno_inizio = substr($inizioperiodo,0,4);
$mese_inizio = substr($inizioperiodo,5,2);
$giorno_inizio = substr($inizioperiodo,8,2);
for ($num1 = 0 ; $num1 < 2000 ; $num1++) {
$datainizio = date("Y-m-d",mktime(0,0,0,$mese_inizio,$giorno_inizio,$anno_inizio));
$datainizio = esegui_query("select * from $tableperiodi where datainizio = '$datainizio'");
if (numlin_query($datainizio) == 1) {
$n_inizioperiodo[0] = risul_query($datainizio,0,idperiodi);
break;
} # fine if (numlin_query($datainizio) == 1)
$giorno_inizio = $giorno_inizio + ($n_intervalloperiodo[0] * $aggiungi_giorni);
} # fine for $num1
$n_fineperiodo[0] = $n_inizioperiodo[0];
} # fine if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec)

for ($num1 = 0 ; $num1 < $n_num_periodi_date ; $num1++) {
$inizioperiodo = $n_inizioperiodo[$num1];
$fineperiodo = $n_fineperiodo[$num1];
$inizioperiodo = esegui_query("select datainizio from $tableperiodi where idperiodi = '$inizioperiodo' ");
$inizioperiodo = @risul_query($inizioperiodo,0,datainizio);
$fineperiodo = esegui_query("select datafine from $tableperiodi where idperiodi = '$fineperiodo' ");
$fineperiodo = @risul_query($fineperiodo,0,datafine);
if (!$inizioperiodo or !$fineperiodo) $n_num_periodi_date = 0;
${"inizioperiodo".$num1} = $inizioperiodo;
${"fineperiodo".$num1} = $fineperiodo;
${"intervalloperiodo".$num1} = $n_intervalloperiodo[$num1];
} # fine for $num1
$num_periodi_date = $n_num_periodi_date;
if (!$num_periodi_date) $inizioperiodo0 = "";

} # fine funtcion aggiorna_var_anno_modello_rat
Esempio n. 22
0
$numconnessione = connetti_db($PHPR_DB_NAME, $PHPR_DB_HOST, $PHPR_DB_PORT, $PHPR_DB_USER, $PHPR_DB_PASS, $PHPR_LOAD_EXT);
include "./includes/funzioni.php";
include "./includes/sett_gio.php";
include "./includes/funzioni_dati_relutenti.php";
$tablerelutenti = $PHPR_TAB_PRE . "relutenti";
$tablenazioni = $PHPR_TAB_PRE . "nazioni";
$tableregioni = $PHPR_TAB_PRE . "regioni";
$tablecitta = $PHPR_TAB_PRE . "citta";
$tabledocumentiid = $PHPR_TAB_PRE . "documentiid";
$tableparentele = $PHPR_TAB_PRE . "parentele";
$id_utente = controlla_login($numconnessione, $PHPR_TAB_PRE, $id_sessione, $nome_utente_phpr, $password_phpr, $anno);
if ($id_utente) {
    if ($id_utente != 1) {
        $tableprivilegi = $PHPR_TAB_PRE . "privilegi";
        $privilegi_annuali_utente = esegui_query("select * from {$tableprivilegi} where idutente = '{$id_utente}' and anno = '{$anno}'");
        if (numlin_query($privilegi_annuali_utente) == 0) {
            $anno_utente_attivato = "NO";
        } else {
            $anno_utente_attivato = "SI";
            $privilegi_globali_utente = esegui_query("select * from {$tableprivilegi} where idutente = '{$id_utente}' and anno = '1'");
            $priv_mod_pers = risul_query($privilegi_globali_utente, 0, 'priv_mod_pers');
            if (substr($priv_mod_pers, 0, 1) != "s") {
                $modifica_pers = "NO";
            }
            $priv_ins_clienti = risul_query($privilegi_globali_utente, 0, 'priv_ins_clienti');
            if (substr($priv_ins_clienti, 0, 1) == "s") {
                $inserimento_nuovi_clienti = "SI";
            } else {
                $inserimento_nuovi_clienti = "NO";
            }
            $modifica_clienti = "NO";
Esempio n. 23
0
 function cancella_relazioni_utente($tablerelutenti, $idrelutenti, $tablerel, $idrel)
 {
     $relazioni = esegui_query("select {$idrel} from {$tablerel}");
     $num_rel = numlin_query($relazioni);
     for ($num1 = 0; $num1 < $num_rel; $num1++) {
         $relazione = aggslashdb(risul_query($relazioni, $num1, $idrel));
         $rel_esist = esegui_query("select {$idrelutenti} from {$tablerelutenti} where {$idrelutenti} = '{$relazione}' ");
         if (numlin_query($rel_esist) == 0) {
             esegui_query("delete from {$tablerel} where {$idrel} = '{$relazione}' ");
         }
     }
     # fine for $num1
 }
function crea_quadro_disp($id_data_inizio_tab_disp, $num_colonne_tab_disp, $mostra_quadro_disp, $mostra_num_liberi, $app_consentito, $app_consentito_sett, $app_regola2_orig, $tipo_periodi, $numero_tariffe, $nome_tariffa, $dati_app, $prenota_in_app_sett, $app_orig_prenota_id, $tableperiodi, $allinea_disp = "", $dati_tariffe = "")
{
    global $c_sfondo_tab_disp, $c_inisett_tab_disp, $c_libero_tab_disp, $c_occupato_tab_disp, $aper_font_tab_disp, $chiu_font_tab_disp, $fr_persone, $fr_persona, $nome_mese, $colonna_destra_tab_disp, $tablepersonalizza, $id_utente, $anno;
    if ($tipo_periodi == "s") {
        $colspan = 14;
    } else {
        $colspan = 2;
    }
    $num_raggr = 0;
    unset($nome_raggr);
    unset($app_ric_raggr);
    unset($tipotariffa);
    unset($num_app_ric_raggr);
    if ($mostra_quadro_disp == "app") {
        $mostra_num_liberi = "NO";
        ksort($dati_app['maxocc']);
        reset($dati_app['maxocc']);
        while (list($key, $val) = each($dati_app['maxocc'])) {
            if ($app_consentito[$key] == "SI") {
                $app_ric_raggr[$num_raggr] = $key;
                $nome_raggr[$num_raggr] = $key;
                $num_raggr++;
            }
            # fine if ($app_consentito[$numapp] == "SI")
        }
        # fine while (list($key, $val) = each($dati_app['maxocc']))
    }
    # fine if ($mostra_quadro_disp == "app")
    if ($mostra_quadro_disp == "reg2") {
        for ($numtariffa = 1; $numtariffa <= $numero_tariffe; $numtariffa++) {
            if ($app_regola2_orig[$numtariffa]) {
                $app_regola2 = explode(",", $app_regola2_orig[$numtariffa]);
                for ($num1 = 0; $num1 < count($app_regola2); $num1++) {
                    if ($app_consentito[$app_regola2[$num1]] == "SI") {
                        $app_ric_raggr[$num_raggr] .= "{$app_regola2[$num1]},";
                    }
                }
                if ($app_ric_raggr[$num_raggr]) {
                    $app_ric_raggr[$num_raggr] = substr($app_ric_raggr[$num_raggr], 0, -1);
                    $nome_raggr[$num_raggr] = str_replace(" ", "&nbsp;", $nome_tariffa[$numtariffa]);
                    $tipotariffa[$num_raggr] = "tariffa{$numtariffa}";
                    $num_raggr++;
                }
                # fine if ($app_ric_raggr[$num_raggr])
            }
            # fine if ($app_regola2_orig[$numtariffa])
        }
        # fine for $numtariffa
    }
    # fine if ($mostra_quadro_disp == "reg2")
    if ($mostra_quadro_disp == "pers") {
        asort($dati_app['maxocc']);
        reset($dati_app['maxocc']);
        $ultime_persone_casa = "vuoto";
        while (list($key, $val) = each($dati_app['maxocc'])) {
            $persone_casa = $val;
            if ($persone_casa != $ultime_persone_casa) {
                if ($app_ric_raggr[$num_raggr]) {
                    $app_ric_raggr[$num_raggr] = substr($app_ric_raggr[$num_raggr], 0, -1);
                    if ($ultime_persone_casa) {
                        if ($ultime_persone_casa == 1) {
                            $nome_raggr[$num_raggr] = $ultime_persone_casa . "&nbsp;" . $fr_persona;
                        } else {
                            $nome_raggr[$num_raggr] = $ultime_persone_casa . "&nbsp;" . $fr_persone;
                        }
                    } else {
                        $nome_raggr[$num_raggr] = "?&nbsp;{$fr_persone}";
                    }
                    $num_raggr++;
                }
                # fine if ($app_ric_raggr[$num_raggr])
                $ultime_persone_casa = $persone_casa;
            }
            # fine if ($persone_casa != $ultimepersone_casa)
            if ($app_consentito[$key] == "SI") {
                $app_ric_raggr[$num_raggr] .= "{$key},";
            }
        }
        # fine while (list($key, $val) = each($dati_app[maxocc]))
        if ($app_ric_raggr[$num_raggr]) {
            $app_ric_raggr[$num_raggr] = substr($app_ric_raggr[$num_raggr], 0, -1);
            if ($ultime_persone_casa) {
                if ($ultime_persone_casa == 1) {
                    $nome_raggr[$num_raggr] = $ultime_persone_casa . "&nbsp;" . $fr_persona;
                } else {
                    $nome_raggr[$num_raggr] = $ultime_persone_casa . "&nbsp;" . $fr_persone;
                }
            } else {
                $nome_raggr[$num_raggr] = "?&nbsp;{$fr_persone}";
            }
            $num_raggr++;
        }
        # fine if ($app_ric_raggr[$num_raggr])
    }
    # fine if ($mostra_quadro_disp == "pers")
    $righe_tab_disp = "";
    for ($num1 = 0; $num1 < $num_raggr; $num1++) {
        if ($app_ric_raggr[$num1]) {
            $righe_tab_disp .= "<tr><td style=\"text-align: right;\">{$aper_font_tab_disp}" . $nome_raggr[$num1] . "{$chiu_font_tab_disp}</td>";
            $max_app_liberi = explode(",", $app_ric_raggr[$num1]);
            $max_app_liberi = count($max_app_liberi);
            $app_ric_colonna = "," . $app_ric_raggr[$num1] . ",";
            for ($num2 = 0; $num2 < $num_colonne_tab_disp; $num2++) {
                $id_periodo = $id_data_inizio_tab_disp + $num2;
                $num_app_liberi = $max_app_liberi;
                if ($app_consentito_sett[",attivo,"] == "SI") {
                    if ($num2 == 0) {
                        $app_ric_col_vett = explode(",", $app_ric_raggr[$num1]);
                        $num_app_ric_col = count($app_ric_col_vett);
                    }
                    # fine if ($num2 == 0)
                    $app_ric_colonna = "," . $app_ric_raggr[$num1] . ",";
                    for ($num3 = 0; $num3 < $num_app_ric_col; $num3++) {
                        if ($app_consentito_sett[$app_ric_col_vett[$num3]][$id_periodo] != "SI") {
                            $app_ric_colonna = str_replace("," . $app_ric_col_vett[$num3] . ",", ",", $app_ric_colonna);
                            $num_app_liberi--;
                        }
                        # fine if ($app_consentito_sett[$app_ric_col_vett[$num3]][$id_periodo] != "SI")
                    }
                    # fine for $num3
                }
                # fine if ($app_consentito_sett[",attivo,"] == "SI")
                $pren_pres_in_lista = "";
                $lista_prenota_periodo = "";
                $num_lista_pren_per = 0;
                lista_prenota_periodo($id_periodo, $id_periodo, $dati_app, $prenota_in_app_sett, $pren_pres_in_lista, $lista_prenota_periodo, $num_lista_pren_per);
                for ($num3 = 0; $num3 < $num_lista_pren_per; $num3++) {
                    if (str_replace("," . $app_orig_prenota_id[$lista_prenota_periodo[$num3]] . ",", "", $app_ric_colonna) != $app_ric_colonna) {
                        $num_app_liberi--;
                    }
                }
                # fine for $num3
                if ($mostra_quadro_disp == "reg2" and $dati_tariffe and $dati_tariffe[$tipotariffa[$num1]]['chiusa'][$id_periodo]) {
                    $num_app_liberi = 0;
                }
                if ($num_app_liberi > 0) {
                    $color = $c_libero_tab_disp;
                } else {
                    $color = $c_occupato_tab_disp;
                }
                if ($num_app_liberi > 0 and $mostra_num_liberi == "SI") {
                    $val_liberi = $num_app_liberi;
                } else {
                    $val_liberi = "&nbsp;";
                }
                if ($num2 == 0 and $allinea_disp == "SI") {
                    $colspan_v = $colspan / 2;
                } else {
                    $colspan_v = $colspan;
                }
                $righe_tab_disp .= "<td style=\"background-color: {$color};\" colspan=\"{$colspan_v}\">{$aper_font_tab_disp}{$val_liberi}{$chiu_font_tab_disp}</td>";
            }
            # fine for $num2
            if ($colonna_destra_tab_disp != "NO") {
                $righe_tab_disp .= "<td>{$aper_font_tab_disp}" . $nome_raggr[$num1] . "{$chiu_font_tab_disp}</td></tr>";
            } else {
                $righe_tab_disp .= "</tr>";
            }
        }
        # fine if ($app_ric_raggr[$num1])
    }
    # fine for $num1
    if ($righe_tab_disp) {
        if ($tipo_periodi == "s") {
            $ripeti_giorni = 7;
        } else {
            $ripeti_giorni = 1;
            if (!$id_utente) {
                $id_utente_gio = 1;
            } else {
                $id_utente_gio = $id_utente;
            }
            $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno}' and idutente = '{$id_utente_gio}'");
            if (numlin_query($giorno_vedi_ini_sett) == 1) {
                $giorno_vedi_ini_sett = risul_query($giorno_vedi_ini_sett, 0, 'valpersonalizza_num');
            } else {
                $giorno_vedi_ini_sett = 0;
            }
        }
        # fine else if ($tipo_periodi == "s")
        $ultimo_mese = "";
        $num_col_mese = 0;
        $riga_mese = "<tr><td rowspan=\"2\">{$aper_font_tab_disp}&nbsp;{$chiu_font_tab_disp}</td>";
        $riga_giorni = "<tr>";
        for ($num1 = 0; $num1 < $num_colonne_tab_disp + 1; $num1++) {
            if ($allinea_disp != "SI" or $num1 != $num_colonne_tab_disp) {
                if ($num1 != $num_colonne_tab_disp) {
                    $id_periodo = $id_data_inizio_tab_disp + $num1;
                } else {
                    $id_periodo = $id_data_inizio_tab_disp + $num1 - 1;
                }
                $riga_periodo = esegui_query("select * from {$tableperiodi} where idperiodi = '{$id_periodo}'");
                if ($num1 != $num_colonne_tab_disp) {
                    $inizio_periodo = risul_query($riga_periodo, 0, 'datainizio');
                } else {
                    $inizio_periodo = risul_query($riga_periodo, 0, 'datafine');
                }
                $inizio_periodo = explode("-", $inizio_periodo);
                $g_inizio_periodo = $inizio_periodo[2];
                $m_inizio_periodo = $inizio_periodo[1];
                $a_inizio_periodo = $inizio_periodo[0];
                if ($num1 == $num_colonne_tab_disp) {
                    $ripeti_giorni = 1;
                }
                for ($num2 = 0; $num2 < $ripeti_giorni; $num2++) {
                    $timestamp_periodo = mktime(0, 0, 0, $m_inizio_periodo, $g_inizio_periodo + $num2, $a_inizio_periodo);
                    $g_mostra = date("d", $timestamp_periodo);
                    $m_mostra = date("m", $timestamp_periodo);
                    if ($ultimo_mese != $m_mostra) {
                        if ($ultimo_mese) {
                            $a_mostra = date("Y", mktime(0, 0, 0, $m_inizio_periodo, $g_inizio_periodo + $num2 - 1, $a_inizio_periodo));
                            $riga_mese .= "<td colspan=\"{$num_col_mese}\">{$aper_font_tab_disp}";
                            if ($num_col_mese > 7) {
                                $riga_mese .= $nome_mese[$ultimo_mese] . "&nbsp;{$a_mostra}";
                            } else {
                                $riga_mese .= "&nbsp;";
                            }
                            $riga_mese .= "{$chiu_font_tab_disp}</td>";
                            $num_col_mese = 0;
                        }
                        # fine if ($ultimo_mese)
                        $ultimo_mese = $m_mostra;
                    }
                    # fine if ($ultimo_mese != $m_mostra)
                    if (($num1 != 0 or $num2 != 0) and $num1 != $num_colonne_tab_disp) {
                        $num_col_mese = $num_col_mese + 2;
                    } else {
                        $num_col_mese++;
                    }
                    $bgcolor = "";
                    if ($tipo_periodi != "s") {
                        $giorno_sett_corr = date("w", $timestamp_periodo);
                        if ($giorno_sett_corr == $giorno_vedi_ini_sett) {
                            $bgcolor = "{$c_inisett_tab_disp}";
                        }
                    } else {
                        if ($num2 == 0) {
                            $bgcolor = "{$c_inisett_tab_disp}";
                        }
                    }
                    $riga_giorni .= "<td";
                    if ($bgcolor) {
                        $riga_giorni .= " style=\"background-color: {$bgcolor};\"";
                    }
                    if (($num1 != 0 or $num2 != 0) and $num1 != $num_colonne_tab_disp) {
                        $riga_giorni .= " colspan=2";
                    }
                    $riga_giorni .= ">{$aper_font_tab_disp}{$g_mostra}{$chiu_font_tab_disp}</td>";
                }
                # fine for $num2
            }
            # fine if ($allinea_disp != "SI" or $num1 != $num_colonne_tab_disp)
        }
        # fine for $num1
        $a_mostra = date("Y", mktime(0, 0, 0, $m_inizio_periodo, $g_inizio_periodo + $num2 - 1, $a_inizio_periodo));
        $riga_mese .= "<td colspan=\"{$num_col_mese}\">{$aper_font_tab_disp}";
        if ($num_col_mese > 6) {
            $riga_mese .= $nome_mese[$ultimo_mese] . "&nbsp;{$a_mostra}";
        } else {
            $riga_mese .= "&nbsp;";
        }
        if ($colonna_destra_tab_disp != "NO") {
            $riga_mese .= "{$chiu_font_tab_disp}</td><td rowspan=\"2\">{$aper_font_tab_disp}&nbsp;{$chiu_font_tab_disp}</td></tr>";
        } else {
            $riga_mese .= "{$chiu_font_tab_disp}</td></tr>";
        }
        $riga_giorni .= "</tr>";
        $righe_tab_disp = "{$riga_mese}\n{$riga_giorni}\n{$righe_tab_disp}";
    }
    # fine if ($righe_tab_disp)
    return $righe_tab_disp;
}
Esempio n. 25
0
 $nome_mese["10"] = mex("Ottobre", "giorni_mesi.php");
 $nome_mese["11"] = mex("Novembre", "giorni_mesi.php");
 $nome_mese["12"] = mex("Dicembre", "giorni_mesi.php");
 if ($priv_ins_multiple != "n") {
     $mostra_num_liberi = "SI";
 } else {
     $mostra_num_liberi = "NO";
 }
 unset($app_consentito);
 unset($app_consentito_sett);
 # Calcolo gli appartamenti consentiti dalla regola 1
 if ($attiva_regole1_consentite == "s") {
     $app_consentito_sett[",attivo,"] = "SI";
     $quadro_non_preciso = "SI";
     $regole1_consentite = esegui_query("select idregole,app_agenzia,iddatainizio,iddatafine from {$tableregole} where app_agenzia != '' and {$condizioni_regole1_consentite}");
     $num_regole1_consentite = numlin_query($regole1_consentite);
     for ($num1 = 0; $num1 < $num_regole1_consentite; $num1++) {
         $idapp = risul_query($regole1_consentite, $num1, 'app_agenzia');
         $app_consentito[$idapp] = "SI";
         $iddatainizio_reg1 = risul_query($regole1_consentite, $num1, 'iddatainizio');
         $iddatafine_reg1 = risul_query($regole1_consentite, $num1, 'iddatafine');
         for ($num2 = $iddatainizio_reg1; $num2 <= $iddatafine_reg1; $num2++) {
             $app_consentito_sett[$idapp][$num2] = "SI";
         }
         # fine for $num2
     }
     # fine for $num1
 } else {
     for ($num1 = 0; $num1 < $dati_app['totapp']; $num1++) {
         $app_consentito[$dati_app['posizione'][$num1]] = "SI";
     }
function aggiorna_var_anno_modello_disponibilita ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) {

global $num_periodi_date,$LIKE,$anno,$estendi_ultima_data;
$n_num_periodi_date = 0;
if ($id_data_ini_periodi_prec) {
for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) {
global ${"inizioperiodo".$num1},${"fineperiodo".$num1},${"intervalloperiodo".$num1};
$inizioperiodo = aggslashdb(${"inizioperiodo".$num1});
$fineperiodo = aggslashdb(${"fineperiodo".$num1});
$idinizioperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datainizio = '$inizioperiodo' ");
$num_idinizioperiodo = numlin_query($idinizioperiodo);
if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; }
else { $idinizioperiodo = risul_query($idinizioperiodo,0,'idperiodi'); }
$inizioperiodo = $idinizioperiodo;
$idfineperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datafine = '$fineperiodo' ");
$num_idfineperiodo = numlin_query($idfineperiodo);
if ($num_idfineperiodo == 0) { $idfineperiodo = -1; }
else { $idfineperiodo = risul_query($idfineperiodo,0,'idperiodi'); }
$fineperiodo = $idfineperiodo;
$intervalloperiodo = aggslashdb(${"intervalloperiodo".$num1});
if ($estendi_ultima_data == "SI" and $num1 == ($num_periodi_date - 1)) $fineperiodo = $id_data_ini_periodi_prec + $intervalloperiodo;
if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec) {
if ($inizioperiodo < $id_data_ini_periodi_prec) {
for ($num2 = $inizioperiodo ; $num2 <= $fineperiodo ; $num2 = $num2 + $intervalloperiodo) {
if ($num2 >= $id_data_ini_periodi_prec) {
$inizioperiodo = $num2;
break;
} # fine if ($num2 >= $id_data_ini_periodi_prec)
} # fine for $num2
} # fine if ($inizioperiodo < $id_data_ini_periodi_prec)
$n_inizioperiodo[$n_num_periodi_date] = $inizioperiodo - $id_data_ini_periodi_prec + 1;
$n_fineperiodo[$n_num_periodi_date] = $fineperiodo - $id_data_ini_periodi_prec + 1;
$n_intervalloperiodo[$n_num_periodi_date] = $intervalloperiodo;
$n_num_periodi_date++;
} # fine if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec or...
} # fine for $num1
} # fine if ($id_data_ini_periodi_prec)

if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) {
$n_num_periodi_date = 1;
global $inizioperiodo0,$fineperiodo0,$intervalloperiodo0;
if (($num_periodi_date - 1) != 0) global ${"fineperiodo".($num_periodi_date - 1)},${"intervalloperiodo".($num_periodi_date - 1)};
$n_intervalloperiodo[0] = ${"intervalloperiodo".($num_periodi_date - 1)};
$inizioperiodo = ${"fineperiodo".($num_periodi_date - 1)};
if ($tipo_periodi == "g") $aggiungi_giorni = 1;
else $aggiungi_giorni = 7;
$anno_inizio = substr($inizioperiodo,0,4);
$mese_inizio = substr($inizioperiodo,5,2);
$giorno_inizio = substr($inizioperiodo,8,2);
for ($num1 = 0 ; $num1 < 2000 ; $num1++) {
$datainizio = date("Y-m-d",mktime(0,0,0,$mese_inizio,$giorno_inizio,$anno_inizio));
$datainizio = esegui_query("select * from $tableperiodi where datainizio = '$datainizio'");
if (numlin_query($datainizio) == 1) {
$n_inizioperiodo[0] = risul_query($datainizio,0,'idperiodi');
break;
} # fine if (numlin_query($datainizio) == 1)
$giorno_inizio = $giorno_inizio + ($n_intervalloperiodo[0] * $aggiungi_giorni);
} # fine for $num1
$n_fineperiodo[0] = $n_inizioperiodo[0];
} # fine if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec)

for ($num1 = 0 ; $num1 < $n_num_periodi_date ; $num1++) {
$inizioperiodo = $n_inizioperiodo[$num1];
$fineperiodo = $n_fineperiodo[$num1];
$inizioperiodo = esegui_query("select datainizio from $tableperiodi where idperiodi = '$inizioperiodo' ");
$inizioperiodo = @risul_query($inizioperiodo,0,'datainizio');
$fineperiodo = esegui_query("select datafine from $tableperiodi where idperiodi = '$fineperiodo' ");
$fineperiodo = @risul_query($fineperiodo,0,'datafine');
if (!$inizioperiodo or !$fineperiodo) $n_num_periodi_date = 0;
${"inizioperiodo".$num1} = $inizioperiodo;
${"fineperiodo".$num1} = $fineperiodo;
${"intervalloperiodo".$num1} = $n_intervalloperiodo[$num1];
} # fine for $num1
$num_periodi_date = $n_num_periodi_date;
if (!$num_periodi_date) $inizioperiodo0 = "";

if ($num_periodi_date != 0) {
if ($id_data_ini_periodi_prec) {
$tabelle_lock = array("$tabletransazioniweb","$tablemessaggi");
$altre_tab_lock = array("$tableperiodi_prec","$tableperiodi");
$tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock);
$data_ini_periodi_prec = esegui_query("select datainizio from $tableperiodi_prec where idperiodi = '$id_data_ini_periodi_prec' ");
$data_ini_periodi_prec = risul_query($data_ini_periodi_prec,0,'datainizio');
$da_aggiornare = esegui_query("select idmessaggi,dati_messaggio3,dati_messaggio4,dati_messaggio9,dati_messaggio14 from $tablemessaggi where tipo_messaggio = 'rprenota' and dati_messaggio1 = 'da_inserire' and dati_messaggio18 = '".($anno - 1)."' ");
$num_da_aggiornare = numlin_query($da_aggiornare);
for ($num1 = 0 ; $num1 < $num_da_aggiornare ; $num1++) {
$num_tipologie = risul_query($da_aggiornare,$num1,'dati_messaggio3');
$id_messaggio = risul_query($da_aggiornare,$num1,'idmessaggi');
$date_inizio = explode(",",risul_query($da_aggiornare,$num1,'dati_messaggio4'));
$aggiornare = "SI";
for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) {
if ($date_inizio[($n_t - 1)] < $data_ini_periodi_prec) $aggiornare = "NO";
} # fine for $n_t
if ($aggiornare == "SI") {
$numcostiagg_dt = explode(",",risul_query($da_aggiornare,$num1,'dati_messaggio9'));
$id_periodi_costo_dt = explode(";",risul_query($da_aggiornare,$num1,'dati_messaggio14'));
$n_id_periodi_costo = "";
for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) {
if ($n_t != 1) $n_id_periodi_costo .= ";";
$numcostiagg = $numcostiagg_dt[($n_t - 1)];
$id_periodi_costo_dt2 = explode(":",$id_periodi_costo_dt[($n_t - 1)]);
for ($numca = 1 ; $numca <= $numcostiagg ; $numca++) {
if ($numca != 1) $n_id_periodi_costo .= ":";
$id_periodi_costo = explode(",",$id_periodi_costo_dt2[($numca - 1)]);
$num_id_periodi_costo = count($id_periodi_costo);
for ($numpc = 0 ; $numpc < $num_id_periodi_costo ; $numpc++) {
if ($numpc != 0) $n_id_periodi_costo .= ",";
if ($id_periodi_costo[$numpc]) $n_id_periodi_costo .= $id_periodi_costo[$numpc] - $id_data_ini_periodi_prec + 1;
} # fine for $numpc
} # fine for $numca
} # fine for $n_t
esegui_query("update $tablemessaggi set dati_messaggio14 = '$n_id_periodi_costo', dati_messaggio18 = '$anno' where idmessaggi = '".aggslashdb($id_messaggio)."' ");
} # fine if ($aggiornare == "SI")
} # fine for $num1
unlock_tabelle($tabelle_lock);
} # fine if ($id_data_ini_periodi_prec)
} # fine if ($num_periodi_date != 0)

} # fine funtcion aggiorna_var_anno_modello_disponibilita
$lista_date = explode("<option value=\"",$menu_periodi);
$n_lista_date = count($lista_date);
for ($num1 = 1 ; $num1 < $n_lista_date ; $num1++) {
$data_corr = substr($lista_date[$num1],0,10);
if ((int) str_replace("-","",$data_corr) >= (int) str_replace("-","",$data_sel)) {
if ($pos == "prec") $data_sel = $data_corr;
else $data_sel = substr($lista_date[($num1 + 1)],0,10);
break;
} # fine if ((int) str_replace("-","",$data_corr) > (int) str_replace("-","",$inizio_select))
} # fine for $num1
if (strlen($data_sel) != 10) $data_sel = "";
return $data_sel;
} # fine function seleziona_data_vicina
$date_select = esegui_query("select idperiodi from $tableperiodi where datainizio <= '$oggi' and datafine > '$oggi' ");
if (numlin_query($date_select) == 1) $date_select = esegui_query("select datainizio,datafine from $tableperiodi where idperiodi = '".(risul_query($date_select,0,idperiodi) + $sett_no_prenota)."'");
if (numlin_query($date_select) == 1) {
$inizio_select = risul_query($date_select,0,'datainizio');
$fine_select = risul_query($date_select,0,'datafine');
if (!strpos($menu_periodi,$inizio_select)) $inizio_select = seleziona_data_vicina($menu_periodi,$inizio_select,"prec");
$menu_periodi_vett = explode("<option value=\"$inizio_select\">",$menu_periodi);
if ($menu_periodi_vett[1]) {
$menu_periodi = "<option value=\"$inizio_select\">".$menu_periodi_vett[1];
$fine_select = seleziona_data_vicina($menu_periodi,$inizio_select,"succ");
} # fine if ($menu_periodi_vett[1])
} # fine if (numlin_query($date_select) == 1)
else {
$inizio_select = explode("<option value=\"",$menu_periodi);
$inizio_select = substr($inizio_select[1],0,10);
$fine_select = seleziona_data_vicina($menu_periodi,$inizio_select,"succ");
} # fine else if (numlin_query($date_select) == 1)
$dati_tariffe = dati_tariffe($tablenometariffe);
Esempio n. 28
0
function ripristina_backup_contr($linee_backup, $silenzio, $pag, $PHPR_TAB_PRE, $modalita, $contr_agg = "")
{
    global $LIKE, $MEDIUMTEXT;
    include "./includes/variabili_contratto.php";
    unset($var_predef);
    $versione_corrente = esegui_query("select * from " . $PHPR_TAB_PRE . "versioni where idversioni = 1");
    $versione_corrente = risul_query($versione_corrente, 0, 'num_versione');
    for ($num1 = 0; $num1 < count($linee_backup); $num1++) {
        $linea = togli_acapo($linee_backup[$num1]);
        if (substr($linea, 0, 10) == "<versione>") {
            $versione_file = substr($linea, 10);
            $versione_file = substr($versione_file, 0, -11);
            break;
        }
        # fine if (substr($linea,0,10) == "<versione>")
    }
    # fine for $num1
    if ($versione_file and ($versione_file <= $versione_corrente and $versione_file >= "2.00")) {
        if ($modalita != "aggiungi") {
            $contr_agg = "";
        }
        $contr_agg_var = $contr_agg;
        $contr_agg_all = "";
        $contr_agg_trovato = 0;
        # Prima lettura di controllo del file contratti
        $file_coerente = "SI";
        $num_err = "";
        $leggendo_righe = "NO";
        unset($tab_presente);
        $info_contr['max_contr'] = 0;
        $num_linee_backup = count($linee_backup);
        for ($num1 = 0; $num1 < $num_linee_backup; $num1++) {
            $linea = togli_acapo($linee_backup[$num1]);
            if ($linea == "</backup>" and $leggendo_righe != "SI") {
                $leggendo_backup = "NO";
            }
            if ($leggendo_backup == "SI") {
                if ($linea == "</database>" and $leggendo_righe != "SI") {
                    $leggendo_database = "NO";
                }
                if ($leggendo_database == "SI") {
                    if ($linea == "</tabella>" and $leggendo_righe != "SI") {
                        $leggendo_tabella = "NO";
                    }
                    if ($leggendo_tabella == "SI") {
                        if (substr($linea, 0, 13) == "<nometabella>") {
                            $nome_tabella = substr($linea, 13);
                            $nome_tabella = substr($nome_tabella, 0, -14);
                        }
                        # fine if (substr($linea,0,13) == "<nometabella>")
                        if ($linea == "</colonnetabella>") {
                            $leggendo_colonne == "NO";
                            if ($nome_tabella == "contratti") {
                                $tab_presente["contratti"] = "SI";
                            }
                            if ($nome_tabella != "contratti") {
                                $file_coerente = "NO";
                                $num_err .= "#1";
                            }
                        }
                        # fine if ($linea == "</colonnetabella>")
                        if ($leggendo_colonne == "SI") {
                            if (substr($linea, 0, 13) == "<nomecolonna>") {
                                $num_colonne++;
                                $nome_colonna[$num_colonne] = substr($linea, 13);
                                $nome_colonna[$num_colonne] = substr($nome_colonna[$num_colonne], 0, -14);
                                $num_colonna[$nome_colonna[$num_colonne]] = $num_colonne - 1;
                            }
                            # fine if (substr($linea,0,13) == "<nomecolonna>")
                            if (substr($linea, 0, 13) == "<tipocolonna>") {
                                $tipo_colonna[$num_colonne] = substr($linea, 13);
                                $tipo_colonna[$num_colonne] = substr($tipo_colonna[$num_colonne], 0, -14);
                            }
                            # fine if (substr($linea,0,13) == "<tipocolonna>")
                        }
                        # fine if ($leggendo_colonne == "SI")
                        if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") {
                            $leggendo_colonne = "SI";
                            $num_colonne = 0;
                        }
                        # fine if ($linea == "<colonnetabella>" and $leggendo_righe != "SI")
                        if ($linea == "</righetabella>") {
                            $leggendo_righe = "NO";
                        }
                        if ($leggendo_righe == "SI") {
                            if (substr($linea, 0, 6) == "<riga>") {
                                $riga = substr($linea, 11);
                            } else {
                                $riga .= "\n" . $linea;
                            }
                            # fine else if (substr($linea,0,6) == "<riga>")
                            if (substr($linea, -7) == "</riga>") {
                                $riga = substr($riga, 0, -13);
                                $riga = explode("</cmp><cmp>", $riga);
                                if ($nome_tabella == "contratti") {
                                    $tipo_contr = $riga[$num_colonna['tipo']];
                                    if (substr($tipo_contr, 0, 3) == "var") {
                                        $nome = $riga[$num_colonna['testo']];
                                        if ($var_riserv[$nome]) {
                                            $file_coerente = "NO";
                                            $num_err .= "#2";
                                        }
                                    }
                                    # fine if (substr($tipo_contr,0,3) == "var")
                                    if (substr($tipo_contr, 0, 4) == "vett") {
                                        $nome = explode(";", $riga[$num_colonna['testo']]);
                                        if ($var_riserv[$nome[0]]) {
                                            $file_coerente = "NO";
                                            $num_err .= "#3";
                                        }
                                        if ($var_riserv[$nome[1]]) {
                                            $file_coerente = "NO";
                                            $num_err .= "#4";
                                        }
                                    }
                                    # fine if (substr($tipo_contr,0,4) == "vett")
                                    if ($modalita == "info") {
                                        if ($riga[$num_colonna['tipo']] == "nomi_con" and $riga[$num_colonna['numero']] == "1") {
                                            $info_contr['nomi_con'] = $riga[$num_colonna['testo']];
                                        }
                                        if (substr($riga[$num_colonna['tipo']], 0, 5) == "contr" and $riga[$num_colonna['numero']] > $info_contr['max_contr']) {
                                            $info_contr['max_contr'] = $riga[$num_colonna['numero']];
                                        }
                                    }
                                    # fine if ($modalita == "info")
                                    if ($contr_agg and $riga[$num_colonna['numero']] == $contr_agg) {
                                        if (substr($riga[$num_colonna['tipo']], 0, 5) == "contr") {
                                            $contr_agg_trovato = 1;
                                        }
                                        if ($riga[$num_colonna['tipo']] == "impor_vc") {
                                            $contr_agg_var = $riga[$num_colonna['testo']];
                                        }
                                        if ($riga[$num_colonna['tipo']] == "allegato") {
                                            $contr_agg_all .= "," . $riga[$num_colonna['testo']] . ",";
                                        }
                                    }
                                    # fine if ($contr_agg and $riga[$num_colonna['numero']] == $contr_agg)
                                }
                                # fine if ($nome_tabella == "contratti")
                                $lista_valori = "";
                                $lista_colonne = "";
                                unset($valore_colonna);
                                for ($num2 = 0; $num2 < count($riga); $num2++) {
                                    $valore = aggslashdb($riga[$num2]);
                                    if ($valore != "") {
                                        $valore = str_replace("</righetabella@%&@>", "</righetabella>", $valore);
                                        $valore = str_replace("</riga@%&@>", "</riga>", $valore);
                                        $valore = str_replace("<riga@%&@>", "<riga>", $valore);
                                        $valore = str_replace("</cmp@%&@>", "</cmp>", $valore);
                                        $valore = str_replace("@%&@@%&@", "@%&@", $valore);
                                        $valore_colonna[$nome_colonna[$num2 + 1]] = $valore;
                                    }
                                    # fine if ($valore != "")
                                }
                                # fine for $num2
                                if (defined("C_MASSIMO_NUM_CONTRATTI") and C_MASSIMO_NUM_CONTRATTI != 0 and $nome_tabella == "contratti" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CONTRATTI * 200 + 100) {
                                    $file_coerente = "NO";
                                    $num_err .= "#5";
                                }
                                $linee_inserite_in_tabella[$nome_tabella]++;
                            }
                            # fine if (substr($linea,-7) == "</riga>")
                        }
                        # fine if ($leggendo_righe == "SI")
                        if ($linea == "<righetabella>") {
                            $leggendo_righe = "SI";
                            $linee_inserite_in_tabella[$nome_tabella] = 0;
                        }
                        # fine if ($linea == "<righetabella>")
                    }
                    # fine if ($leggendo_tabella == "SI")
                    if ($linea == "<tabella>") {
                        $leggendo_tabella = "SI";
                    }
                }
                # fine if ($leggendo_database == "SI")
                if ($linea == "<database>") {
                    $leggendo_database = "SI";
                }
            }
            # fine if ($leggendo_backup == "SI")
            if ($linea == "<backup>") {
                $leggendo_backup = "SI";
            }
        }
        # fine for $num1
        if ($tab_presente["contratti"] != "SI") {
            $file_coerente = "NO";
            $num_err .= "#6";
        }
        if ($contr_agg and !$contr_agg_trovato) {
            $file_coerente = "NO";
            $num_err .= "#7";
        }
        if ($file_coerente == "NO") {
            if ($silenzio != "SI") {
                echo mex("Il formato del file è errato", $pag) . ".<br>";
            }
            # debug backup DOCUMENTI
            #if ($num_err) echo $num_err.".<br>";
        } else {
            unset($var_riserv);
            if ($modalita == "info") {
                return $info_contr;
            }
            if ($modalita == "rimpiazza") {
                esegui_query("delete from " . $PHPR_TAB_PRE . "contratti");
            }
            $max_contr = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'contr%'");
            if (numlin_query($max_contr) != 0) {
                $max_contr = risul_query($max_contr, 0, 0);
            } else {
                $max_contr = 0;
            }
            if (!$max_contr) {
                $max_contr = 0;
            }
            $max_var = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'var%'");
            if (numlin_query($max_var) != 0) {
                $max_var = risul_query($max_var, 0, 0);
            } else {
                $max_var = 0;
            }
            if (!$max_var) {
                $max_var = 0;
            }
            $max_arr = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'vett%'");
            if (numlin_query($max_arr) != 0) {
                $max_arr = risul_query($max_arr, 0, 0);
            } else {
                $max_arr = 0;
            }
            if (!$max_arr) {
                $max_arr = 0;
            }
            $max_cond = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo = 'cond'");
            if (numlin_query($max_cond) != 0) {
                $max_cond = risul_query($max_cond, 0, 0);
            } else {
                $max_cond = 0;
            }
            if (!$max_cond) {
                $max_cond = 0;
            }
            $max_all = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo = 'file_all'");
            if (numlin_query($max_all) != 0) {
                $max_all = risul_query($max_all, 0, 0);
            } else {
                $max_all = 0;
            }
            if (!$max_all) {
                $max_all = 0;
            }
            unset($nuovo_num_contr);
            unset($nuovo_num_var);
            $nuovo_num_var['-1'] = '-1';
            $nuovo_num_var['-2'] = '-2';
            unset($nuovo_nome_var);
            unset($nuovo_num_all);
            $leggendo_backup = "NO";
            $leggendo_database = "NO";
            $leggendo_tabella = "NO";
            $leggendo_colonne = "NO";
            $leggendo_righe = "NO";
            $leggendo_file = "NO";
            $leggendo_contenuto = "NO";
            $nome_file = "";
            unset($linee_inserite_in_tabella);
            if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") {
                if (C_CARTELLA_DOC != "" and @is_dir(C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC)) {
                    $dir_salva_home = C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC;
                } else {
                    $dir_salva_home = C_CARTELLA_CREA_MODELLI;
                }
            } else {
                $dir_salva_home = C_DATA_PATH;
            }
            for ($num1 = 0; $num1 < $num_linee_backup; $num1++) {
                $linea = togli_acapo($linee_backup[$num1]);
                if ($linea == "</backup>" and $leggendo_righe != "SI") {
                    $leggendo_backup = "NO";
                }
                if ($leggendo_backup == "SI") {
                    if ($linea == "</database>" and $leggendo_righe != "SI") {
                        $leggendo_database = "NO";
                    }
                    # restore del database
                    if ($leggendo_database == "SI") {
                        if ($linea == "</tabella>" and $leggendo_righe != "SI") {
                            $leggendo_tabella = "NO";
                        }
                        if ($leggendo_tabella == "SI") {
                            if (substr($linea, 0, 13) == "<nometabella>") {
                                $nome_tabella = substr($linea, 13);
                                $nome_tabella = substr($nome_tabella, 0, -14);
                            }
                            # fine if (substr($linea,0,13) == "<nometabella>")
                            if ($linea == "</colonnetabella>" and $leggendo_righe != "SI") {
                                $leggendo_colonne == "NO";
                                #if ($nome_tabella == "contratti") esegui_query2("create table ".$N_PHPR_TAB_PRE."contratti (numero integer, tipo varchar(8), testo $MEDIUMTEXT )",$N_PHPR_DB_TYPE);
                            }
                            # fine if ($linea == "</colonnetabella>")
                            if ($leggendo_colonne == "SI") {
                                if (substr($linea, 0, 13) == "<nomecolonna>") {
                                    $num_colonne++;
                                    $nome_colonna[$num_colonne] = substr($linea, 13);
                                    $nome_colonna[$num_colonne] = substr($nome_colonna[$num_colonne], 0, -14);
                                    $num_colonna[$nome_colonna[$num_colonne]] = $num_colonne - 1;
                                }
                                # fine if (substr($linea,0,13) == "<nomecolonna>")
                                if (substr($linea, 0, 13) == "<tipocolonna>") {
                                    $tipo_colonna[$num_colonne] = substr($linea, 13);
                                    $tipo_colonna[$num_colonne] = substr($tipo_colonna[$num_colonne], 0, -14);
                                }
                                # fine if (substr($linea,0,13) == "<tipocolonna>")
                            }
                            # fine if ($leggendo_colonne == "SI")
                            if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") {
                                $leggendo_colonne = "SI";
                                $num_colonne = 0;
                                $lista_tariffe = "";
                            }
                            # fine if ($linea == "<colonnetabella>" and $leggendo_righe != "SI")
                            if ($linea == "</righetabella>") {
                                $leggendo_righe = "NO";
                            }
                            if ($leggendo_righe == "SI") {
                                if (substr($linea, 0, 6) == "<riga>") {
                                    $riga = substr($linea, 11);
                                } else {
                                    $riga .= "\n" . $linea;
                                }
                                # fine else if (substr($linea,0,6) == "<riga>")
                                if (substr($linea, -7) == "</riga>") {
                                    $riga = substr($riga, 0, -13);
                                    $riga = explode("</cmp><cmp>", $riga);
                                    $lista_valori = "";
                                    $lista_colonne = "";
                                    unset($valore_colonna);
                                    $inserire_riga = "SI";
                                    $tipo_contr = $riga[$num_colonna['tipo']];
                                    $vecchio_num = $riga[$num_colonna['numero']];
                                    if (substr($tipo_contr, 0, 5) == "contr" or $tipo_contr == "opzeml" or $tipo_contr == "oggetto" or $tipo_contr == "allegato" or $tipo_contr == "headhtm" or $tipo_contr == "foothtm" or $tipo_contr == "est_txt" or $tipo_contr == "dir" or substr($tipo_contr, 0, 4) == "mln_" or $tipo_contr == "impor_vc" or $tipo_contr == "num_prog" or $tipo_contr == "nomefile" or $tipo_contr == "autosalv" or $tipo_contr == "compress" or $tipo_contr == "incr_np") {
                                        if (!$contr_agg or $vecchio_num == $contr_agg) {
                                            if (!$nuovo_num_contr[$vecchio_num]) {
                                                if ($contr_agg) {
                                                    $nuovo_num_contr[$vecchio_num] = $max_contr + 1;
                                                } else {
                                                    $nuovo_num_contr[$vecchio_num] = $max_contr + $vecchio_num;
                                                }
                                            }
                                            # fine if (!$nuovo_num_contr[$vecchio_num])
                                            $riga[$num_colonna['numero']] = $nuovo_num_contr[$vecchio_num];
                                            if (substr($tipo_contr, 0, 5) == "contr" or substr($tipo_contr, 0, 4) == "mln_") {
                                                if (@is_array($nuovo_nome_var)) {
                                                    reset($nuovo_nome_var);
                                                    while (list($v_nome, $n_nome) = each($nuovo_nome_var)) {
                                                        $riga[$num_colonna['testo']] = str_replace("[{$v_nome}]", "[{$n_nome}]", $riga[$num_colonna['testo']]);
                                                        $riga[$num_colonna['testo']] = str_replace("[c {$v_nome}=", "[c {$n_nome}=", $riga[$num_colonna['testo']]);
                                                        $riga[$num_colonna['testo']] = str_replace("[c {$v_nome}!=", "[c {$n_nome}!=", $riga[$num_colonna['testo']]);
                                                        if (substr($v_nome, -1) == ")") {
                                                            $v_nome_arr = explode("(", $v_nome);
                                                            $v_nome_arr = $v_nome_arr[0];
                                                            $n_nome_arr = explode("(", $n_nome);
                                                            $n_nome_arr = $n_nome_arr[0];
                                                            $riga[$num_colonna['testo']] = str_replace("[r4 array=\"{$v_nome_arr}\"]", "[r4 array=\"{$n_nome_arr}\"]", $riga[$num_colonna['testo']]);
                                                            $riga[$num_colonna['testo']] = str_replace("[{$v_nome_arr}('", "[{$n_nome_arr}('", $riga[$num_colonna['testo']]);
                                                            $riga[$num_colonna['testo']] = str_replace("[c {$v_nome_arr}('", "[c {$n_nome_arr}('", $riga[$num_colonna['testo']]);
                                                        }
                                                        # fine if (substr($v_nome,-1) == ")")
                                                    }
                                                    # fine while (list($v_nome,$n_nome) = each($nuovo_nome_var))
                                                }
                                                # fine if (@is_array($nuovo_nome_var))
                                            }
                                            # fine if (substr($tipo_contr,0,5) == "contr" or substr($tipo_contr,0,4) == "mln_")
                                            if ($tipo_contr == "dir") {
                                                if (!function_exists('formatta_dir_salva_doc')) {
                                                    include './includes/funzioni_contratti.php';
                                                }
                                                $dir_salva = formatta_dir_salva_doc($riga[$num_colonna['testo']]);
                                                if ($dir_salva == "~") {
                                                    $dir_salva = $dir_salva_home;
                                                }
                                                if (!@is_dir($dir_salva)) {
                                                    $inserire_riga = "NO";
                                                } else {
                                                    $fileaperto = @fopen("{$dir_salva}/prova.tmp", "a+");
                                                    if (!$fileaperto) {
                                                        $inserire_riga = "NO";
                                                    } else {
                                                        fclose($fileaperto);
                                                        unlink("{$dir_salva}/prova.tmp");
                                                    }
                                                    # fine else if (!$fileaperto)
                                                }
                                                # fine else if (!@is_dir($dir_salva))
                                            }
                                            # fine if ($tipo_contr == "dir")
                                            if ($tipo_contr == "allegato") {
                                                $vecchio_all = $riga[$num_colonna['testo']];
                                                if (!$nuovo_num_all[$vecchio_all]) {
                                                    $nuovo_num_all[$vecchio_all] = $max_all + $vecchio_all;
                                                }
                                                $riga[$num_colonna['testo']] = $nuovo_num_all[$vecchio_all];
                                            }
                                            # fine if ($tipo_contr == "allegato")
                                            if ($tipo_contr == "impor_vc") {
                                                if (!$contr_agg) {
                                                    $vecchio_num_impor_vc = $riga[$num_colonna['testo']];
                                                    if (!$nuovo_num_contr[$vecchio_num_impor_vc]) {
                                                        $nuovo_num_contr[$vecchio_num_impor_vc] = $max_contr + $vecchio_num_impor_vc;
                                                    }
                                                    $riga[$num_colonna['testo']] = $nuovo_num_contr[$vecchio_num_impor_vc];
                                                } else {
                                                    $inserire_riga = "NO";
                                                }
                                            }
                                            # fine if ($tipo_contr == "impor_vc")
                                            if ($tipo_contr == "num_prog") {
                                                if (!$contr_agg) {
                                                    $vecchio_num_np = $riga[$num_colonna['testo']];
                                                    if (!$nuovo_num_contr[$vecchio_num_np]) {
                                                        $nuovo_num_contr[$vecchio_num_np] = $max_contr + $vecchio_num_np;
                                                    }
                                                    $riga[$num_colonna['testo']] = $nuovo_num_contr[$vecchio_num_np];
                                                } else {
                                                    $inserire_riga = "NO";
                                                }
                                            }
                                            # fine if ($tipo_contr == "num_prog")
                                        } else {
                                            $inserire_riga = "NO";
                                        }
                                    }
                                    # fine if (substr($tipo_contr,0,5) == "contr" or $tipo_contr == "opzeml" or...
                                    if (substr($tipo_contr, 0, 3) == "var") {
                                        $contr_cond = substr($tipo_contr, 3);
                                        if (!$contr_agg or $contr_agg_var == $contr_cond) {
                                            if (strcmp($contr_cond, "")) {
                                                if (!$nuovo_num_contr[$contr_cond]) {
                                                    if ($contr_agg) {
                                                        $nuovo_num_contr[$contr_cond] = $max_contr + 1;
                                                    } else {
                                                        $nuovo_num_contr[$contr_cond] = $max_contr + $contr_cond;
                                                    }
                                                }
                                                # fine if (!$nuovo_num_contr[$contr_cond])
                                                $contr_cond = $nuovo_num_contr[$contr_cond];
                                                $tipo_contr = "var{$contr_cond}";
                                                $riga[$num_colonna['tipo']] = $tipo_contr;
                                            }
                                            # fine if (strcmp($contr_cond,""))
                                            if (!$nuovo_num_var[$vecchio_num]) {
                                                $num_var_esistente = "";
                                                $testo = $riga[$num_colonna['testo']];
                                                $var_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($testo) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($testo) . ";%') ");
                                                for ($num2 = 0; $num2 < numlin_query($var_esistente); $num2++) {
                                                    if ($testo == risul_query($var_esistente, $num2, 'testo') and $tipo_contr == risul_query($var_esistente, $num2, 'tipo')) {
                                                        $num_var_esistente = $num2 + 1;
                                                    }
                                                }
                                                if ($num_var_esistente) {
                                                    $nuovo_num_var[$vecchio_num] = risul_query($var_esistente, $num_var_esistente - 1, 'numero');
                                                    $inserire_riga = "NO";
                                                } else {
                                                    $nuovo_num_var[$vecchio_num] = $max_var + $vecchio_num;
                                                    if (numlin_query($var_esistente)) {
                                                        $nuovo_nome_trovato = "NO";
                                                        $nuovo_nome = $testo;
                                                        while ($nuovo_nome_trovato == "NO") {
                                                            $nuovo_nome .= "_";
                                                            $var_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nuovo_nome) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nuovo_nome) . ";%') ");
                                                            if (!numlin_query($var_esistente)) {
                                                                $nuovo_nome_trovato = "SI";
                                                            }
                                                        }
                                                        # fine while ($nuovo_nome_trovato == "NO")
                                                        $nuovo_nome_var[$testo] = $nuovo_nome;
                                                        # cambio il nome della variabile anche negli array già inseriti
                                                        reset($nuovo_nome_var);
                                                        while (list($key, $val) = each($nuovo_nome_var)) {
                                                            $nuovo_nome_var[$key] = str_replace("({$testo})", "({$nuovo_nome})", $val);
                                                            if ($val != $nuovo_nome_var[$key]) {
                                                                $nome_arr = substr($nuovo_nome_var[$key], 0, -1 * (strlen($nuovo_nome) + 2));
                                                                $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where tipo = 'vett{$contr_cond}' and testo = '" . aggslashdb($nome_arr) . ";" . aggslashdb($testo) . "' ");
                                                                if (numlin_query($arr_esistente)) {
                                                                    $testo_arr = explode(";", risul_query($arr_esistente, 0, 'testo'));
                                                                    $testo_arr[1] = $nuovo_nome;
                                                                    $testo_arr = implode(";", $testo_arr);
                                                                    esegui_query("update " . $PHPR_TAB_PRE . "contratti set testo = '" . aggslashdb($testo_arr) . "' where tipo = 'vett{$contr_cond}' and testo = '" . aggslashdb($nome_arr) . ";" . aggslashdb($testo) . "' ");
                                                                }
                                                                # fine if (numlin_query($arr_esistente))
                                                            }
                                                            # fine if ($val != $nuovo_nome_var[$key])
                                                        }
                                                        # fine while (list($key,$val) = each($nuovo_nome_var))
                                                        $riga[$num_colonna['testo']] = $nuovo_nome;
                                                    }
                                                    # fine if (numlin_query($var_esistente))
                                                }
                                                # fine else if ($num_var_esistente)
                                            }
                                            # fine if (!$nuovo_num_contr[$vecchio_num])
                                            $riga[$num_colonna['numero']] = $nuovo_num_var[$vecchio_num];
                                        } else {
                                            $inserire_riga = "NO";
                                        }
                                    }
                                    # fine if (substr($tipo_contr,0,3) == "var")
                                    if (substr($tipo_contr, 0, 4) == "vett") {
                                        $contr_cond = substr($tipo_contr, 4);
                                        if (!$contr_agg or $contr_agg_var == $contr_cond) {
                                            if (strcmp($contr_cond, "")) {
                                                if (!$nuovo_num_contr[$contr_cond]) {
                                                    if ($contr_agg) {
                                                        $nuovo_num_contr[$contr_cond] = $max_contr + 1;
                                                    } else {
                                                        $nuovo_num_contr[$contr_cond] = $max_contr + $contr_cond;
                                                    }
                                                }
                                                # fine if (!$nuovo_num_contr[$contr_cond])
                                                $contr_cond = $nuovo_num_contr[$contr_cond];
                                                $tipo_contr = "vett{$contr_cond}";
                                                $riga[$num_colonna['tipo']] = $tipo_contr;
                                            }
                                            # fine if (strcmp($contr_cond,""))
                                            if (!$nuovo_num_var["a{$vecchio_num}"]) {
                                                $num_arr_esistente = "";
                                                $testo = $riga[$num_colonna['testo']];
                                                $nome_arr = explode(";", $testo);
                                                $var_arr = $nome_arr[1];
                                                $nome_arr = $nome_arr[0];
                                                $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nome_arr) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nome_arr) . ";%') ");
                                                for ($num2 = 0; $num2 < numlin_query($arr_esistente); $num2++) {
                                                    if ($testo == risul_query($arr_esistente, $num2, 'testo') and $tipo_contr == risul_query($arr_esistente, $num2, 'tipo')) {
                                                        $num_arr_esistente = $num2 + 1;
                                                    }
                                                }
                                                if ($num_arr_esistente) {
                                                    $nuovo_num_var["a{$vecchio_num}"] = "a" . risul_query($arr_esistente, $num_arr_esistente - 1, 'numero');
                                                    $inserire_riga = "NO";
                                                } else {
                                                    $nuovo_num_var["a{$vecchio_num}"] = "a" . ($max_arr + $vecchio_num);
                                                    if (numlin_query($arr_esistente)) {
                                                        $nuovo_nome_trovato = "NO";
                                                        $nuovo_nome = $nome_arr;
                                                        while ($nuovo_nome_trovato == "NO") {
                                                            $nuovo_nome .= "_";
                                                            $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nuovo_nome) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nuovo_nome) . ";%') ");
                                                            if (!numlin_query($arr_esistente)) {
                                                                $nuovo_nome_trovato = "SI";
                                                            }
                                                        }
                                                        # fine while ($nuovo_nome_trovato == "NO")
                                                        $nuovo_nome_var["{$nome_arr}({$var_arr})"] = "{$nuovo_nome}({$var_arr})";
                                                        $riga[$num_colonna["testo"]] = $nuovo_nome . substr($testo, strlen($nome_arr));
                                                    } else {
                                                        $nuovo_nome_var["{$nome_arr}({$var_arr})"] = "{$nome_arr}({$var_arr})";
                                                    }
                                                }
                                                # fine else if ($num_arr_esistente)
                                            }
                                            # fine if (!$nuovo_num_contr["a$vecchio_num"])
                                            $riga[$num_colonna['numero']] = substr($nuovo_num_var["a{$vecchio_num}"], 1);
                                        } else {
                                            $inserire_riga = "NO";
                                        }
                                    }
                                    # fine if (substr($tipo_contr,0,4) == "vett")
                                    if (substr($tipo_contr, 0, 4) == "cond") {
                                        $contr_cond = substr($tipo_contr, 4);
                                        if (!$contr_agg or $contr_agg_var == $contr_cond) {
                                            if (!strcmp($contr_cond, "")) {
                                                $riga[$num_colonna['numero']] = $max_cond + $vecchio_num;
                                            } else {
                                                $vecchio_num = $contr_cond;
                                                if (!$nuovo_num_contr[$vecchio_num]) {
                                                    if ($contr_agg) {
                                                        $nuovo_num_contr[$vecchio_num] = $max_contr + 1;
                                                    } else {
                                                        $nuovo_num_contr[$vecchio_num] = $max_contr + $vecchio_num;
                                                    }
                                                }
                                                # fine if (!$nuovo_num_contr[$vecchio_num])
                                                $riga[$num_colonna['tipo']] = "cond" . $nuovo_num_contr[$vecchio_num];
                                                $contr_cond = $nuovo_num_contr[$vecchio_num];
                                            }
                                            # fine else if (!strcmp($contr_cond,""))
                                            $cond_vecchia = $riga[$num_colonna['testo']];
                                            $cond_vecchia = explode("#@?", $cond_vecchia);
                                            $azione_vecchia = explode("#%?", $cond_vecchia[2]);
                                            $cond_nuova = $cond_vecchia[0] . "#@?";
                                            if ($cond_vecchia[1]) {
                                                $cond_vecchia = explode("#\$?", $cond_vecchia[1]);
                                                $cond_nuova .= $cond_vecchia[0];
                                                $num_cond = count($cond_vecchia);
                                                for ($num2 = 1; $num2 < $num_cond; $num2++) {
                                                    $cond_nuova .= "#\$?";
                                                    $cond_vett = explode("#%?", $cond_vecchia[$num2]);
                                                    if ($cond_vett[2] == "var") {
                                                        ripristina_nome_var_cond(array(0, 3), $cond_vett, $nuovo_nome_var);
                                                    } else {
                                                        ripristina_nome_var_cond(array('0'), $cond_vett, $nuovo_nome_var);
                                                    }
                                                    for ($num3 = 0; $num3 < count($cond_vett); $num3++) {
                                                        $cond_nuova .= $cond_vett[$num3] . "#%?";
                                                    }
                                                    $cond_nuova = substr($cond_nuova, 0, -3);
                                                }
                                                # fine for $num2
                                            }
                                            # fine ($cond_vecchia[1])
                                            $cond_nuova .= "#@?" . $azione_vecchia[0];
                                            if ($azione_vecchia[0] == "set") {
                                                $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]];
                                                if ($azione_vecchia[3] == "var") {
                                                    ripristina_nome_var_cond(array(4), $azione_vecchia, $nuovo_nome_var);
                                                }
                                                if ($azione_vecchia[5] == "var") {
                                                    ripristina_nome_var_cond(array(6), $azione_vecchia, $nuovo_nome_var);
                                                }
                                                if ($azione_vecchia[7] == "var") {
                                                    ripristina_nome_var_cond(array(8), $azione_vecchia, $nuovo_nome_var);
                                                }
                                            }
                                            # fine if ($azione_vecchia[0] == "set")
                                            if ($azione_vecchia[0] == "trunc") {
                                                $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]];
                                            }
                                            if ($azione_vecchia[0] == "oper") {
                                                $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]];
                                                if ($azione_vecchia[4] == "var") {
                                                    ripristina_nome_var_cond(array(2, 5), $azione_vecchia, $nuovo_nome_var);
                                                } else {
                                                    ripristina_nome_var_cond(array(2), $azione_vecchia, $nuovo_nome_var);
                                                }
                                            }
                                            # fine if ($azione_vecchia[0] == "oper")
                                            if ($azione_vecchia[0] == "date") {
                                                $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]];
                                                ripristina_nome_var_cond(array(2), $azione_vecchia, $nuovo_nome_var);
                                            }
                                            # fine if ($azione_vecchia[0] == "date")
                                            if ($azione_vecchia[0] == "unset") {
                                                $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]];
                                            }
                                            if ($azione_vecchia[0] == "array") {
                                                $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]];
                                                if ($azione_vecchia[2] == "cop") {
                                                    $azione_vecchia[3] = $nuovo_num_var[$azione_vecchia[3]];
                                                }
                                            }
                                            # fine if ($azione_vecchia[0] == "array")
                                            for ($num2 = 1; $num2 < count($azione_vecchia); $num2++) {
                                                $cond_nuova .= "#%?" . $azione_vecchia[$num2];
                                            }
                                            $riga[$num_colonna['testo']] = $cond_nuova;
                                            $testo = aggslashdb($riga[$num_colonna['testo']]);
                                            #$cond_esistente = esegui_query("select * from ".$PHPR_TAB_PRE."contratti where tipo = 'cond$contr_cond' and testo = '$testo' ");
                                            #for ($num2 = 0 ; $num2 < numlin_query($cond_esistente) ; $num2++) if ($cond_nuova == risul_query($cond_esistente,$num2,'testo')) $inserire_riga = "NO";
                                        } else {
                                            $inserire_riga = "NO";
                                        }
                                    }
                                    # fine if (substr($tipo_contr,0,4) == "cond")
                                    if ($tipo_contr == "file_all") {
                                        $vecchio_all = $riga[$num_colonna['numero']];
                                        if (!$contr_agg or str_replace(",{$vecchio_all},", "", $contr_agg_all) != $contr_agg_all) {
                                            if (!$nuovo_num_all[$vecchio_all]) {
                                                $nuovo_num_all[$vecchio_all] = $max_all + $vecchio_all;
                                            }
                                            $riga[$num_colonna['numero']] = $nuovo_num_all[$vecchio_all];
                                        } else {
                                            $inserire_riga = "NO";
                                        }
                                    }
                                    # fine if ($tipo_contr == "file_all")
                                    for ($num2 = 0; $num2 < count($riga); $num2++) {
                                        $valore = aggslashdb($riga[$num2]);
                                        if ($valore != "") {
                                            $valore = str_replace("</righetabella@%&@>", "</righetabella>", $valore);
                                            $valore = str_replace("</riga@%&@>", "</riga>", $valore);
                                            $valore = str_replace("<riga@%&@>", "<riga>", $valore);
                                            $valore = str_replace("</cmp@%&@>", "</cmp>", $valore);
                                            $valore = str_replace("@%&@@%&@", "@%&@", $valore);
                                            $lista_valori .= ",'" . $valore . "'";
                                            $lista_colonne .= "," . $nome_colonna[$num2 + 1];
                                        }
                                        # fine if ($valore != "")
                                    }
                                    # fine for $num2
                                    $lista_valori = substr($lista_valori, 1);
                                    $lista_colonne = substr($lista_colonne, 1);
                                    #echo "insert into $nome_tabella ($lista_colonne) values ($lista_valori)<br>";
                                    if ($inserire_riga != "NO") {
                                        esegui_query("insert into " . $PHPR_TAB_PRE . "{$nome_tabella} ({$lista_colonne}) values ({$lista_valori}) ");
                                    }
                                }
                                # fine if (substr($linea,-7) == "</riga>")
                            }
                            # fine if ($leggendo_righe == "SI")
                            if ($linea == "<righetabella>") {
                                $leggendo_righe = "SI";
                                $linee_inserite_in_tabella[$nome_tabella] = 0;
                            }
                            # fine if ($linea == "<righetabella>")
                        }
                        # fine if ($leggendo_tabella == "SI")
                        if ($linea == "<tabella>") {
                            $leggendo_tabella = "SI";
                        }
                    }
                    # fine if ($leggendo_database == "SI")
                    if ($linea == "<database>") {
                        $leggendo_database = "SI";
                    }
                }
                # fine if ($leggendo_backup == "SI")
                if ($linea == "<backup>") {
                    $leggendo_backup = "SI";
                }
            }
            # fine for $num1
            $tabelle_lock = array($PHPR_TAB_PRE . "contratti", $PHPR_TAB_PRE . "personalizza");
            $altre_tab_lock = array($PHPR_TAB_PRE . "versioni");
            $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock);
            $nomi_contratti = esegui_query("select testo from {$PHPR_TAB_PRE}" . "contratti where numero = '1' and tipo = 'nomi_con' ");
            $nomi_contratti = risul_query($nomi_contratti, 0, 'testo');
            if ($modalita == "rimpiazza") {
                esegui_query("update {$PHPR_TAB_PRE}" . "personalizza set valpersonalizza = '" . aggslashdb($nomi_contratti) . "' where idpersonalizza = 'nomi_contratti'");
            } else {
                $nomi_contratti = explode("#@&", $nomi_contratti);
                $n_nomi_contratti = "";
                for ($num1 = 0; $num1 < count($nomi_contratti); $num1++) {
                    $nome_contr = explode("#?&", $nomi_contratti[$num1]);
                    if (!$contr_agg or $nome_contr[0] == $contr_agg) {
                        $n_nomi_contratti .= "#@&" . $nuovo_num_contr[$nome_contr[0]] . "#?&" . $nome_contr[1];
                    }
                }
                # fine for $num1
                $d_nomi_contr = esegui_query("select * from {$PHPR_TAB_PRE}" . "personalizza where idpersonalizza = 'nomi_contratti' ");
                for ($num1 = 0; $num1 < numlin_query($d_nomi_contr); $num1++) {
                    $idutente_contr = risul_query($d_nomi_contr, $num1, 'idutente');
                    $nomi_contr_utente = risul_query($d_nomi_contr, $num1, 'valpersonalizza') . $n_nomi_contratti;
                    esegui_query("update {$PHPR_TAB_PRE}" . "personalizza set valpersonalizza = '" . aggslashdb($nomi_contr_utente) . "' where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}' ");
                }
                # fine for $num1
            }
            # fine else if ($modalita == "rimpiazza")
            esegui_query("delete from {$PHPR_TAB_PRE}" . "contratti where numero = '1' and tipo = 'nomi_con' ");
            unlock_tabelle($tabelle_lock);
            if ($silenzio != "SI") {
                echo mex("Documenti ripristinati", $pag) . ".<br>";
            }
        }
        # fine else if ($file_coerente == "NO")
    } else {
        if ($silenzio != "SI") {
            echo mex("La versione attuale di hoteldruid e quella del file non coincidono", $pag) . ".<br>";
        }
    }
}
Esempio n. 29
0
<form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div class=\"linhbox\">
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"idappartamenti\" value=\"".$idappartamenti."\">
<input type=\"hidden\" name=\"commentofoto\" value=\"SI\">
<input type=\"hidden\" name=\"numfoto\" value=\"$numfoto\">
".ucfirst(mex("commento",$pag)).":<br>";
$d_commento = esegui_query("select testo from $tabledescrizioni where nome = '$idappartamenti' and tipo = 'appcommfoto' and lingua = 'ita' and numero = '$numfoto' ");
if (numlin_query($d_commento)) $d_commento = risul_query($d_commento,0,'testo');
else $d_commento = "";
if ($priv_mod_tariffe != "n") echo "Italiano: <input type=\"text\" name=\"n_commento_ita\" value=\"$d_commento\" size=\"24\"><br>";
else echo "<div style=\"width: 300px;\">Italiano: \"<em>$d_commento</em>\"</div>";
reset($lingue_vett);
while (list($ini_lingua,$nome_lingua) = each($lingue_vett)) {
$d_commento = esegui_query("select testo from $tabledescrizioni where nome = '$idappartamenti' and tipo = 'appcommfoto' and lingua = '$ini_lingua' and numero = '$numfoto' ");
if (numlin_query($d_commento)) $d_commento = risul_query($d_commento,0,'testo');
else $d_commento = "";
echo "".ucfirst($nome_lingua).": <input type=\"text\" name=\"n_commento_$ini_lingua\" value=\"$d_commento\" size=\"24\"><br>";
} # fine while (list($ini_lingua,$nome_lingua) = each($lingue_vett))
echo "<input class=\"sbutton\" type=\"submit\" value=\"".ucfirst(mex("modifica",$pag))."\">
</div></form><br></td><td style=\"width: 20px;\"></td><td valign=\"middle\">
<form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"idappartamenti\" value=\"".$idappartamenti."\">
<input type=\"hidden\" name=\"cancurlfoto\" value=\"SI\">
<input type=\"hidden\" name=\"numfoto\" value=\"$numfoto\">
<input class=\"sbutton\" type=\"submit\" value=\"".ucfirst(mex("elimina",$pag))."\">
</div></form></td></tr></table>";
} # fine for $num1
function controlla_var_se ($var_se,&$continua,$var_predef,$num_var_predef,$contr_cond) {
global $tablecontratti,$LIKE;
$var_se = aggslashdb($var_se);
$var_se_trovata = "NO";
if (str_replace("(","",$var_se) == $var_se) $var_se_contr = $var_se;
else {
$var_se_contr = explode("(",$var_se);
$var_se_contr = $var_se_contr[0];
} # fine else if (str_replace("(","",$var_se) == $var_se)
$var_esistente = esegui_query("select * from $tablecontratti where ((tipo = 'var' or tipo = 'var$contr_cond') and testo $LIKE '$var_se_contr') or ((tipo = 'vett' or tipo = 'vett$contr_cond') and testo $LIKE '$var_se_contr;%')");
if (numlin_query($var_esistente) == 1) $var_se_trovata = "SI";
for ($num1 = 0 ; $num1 < $num_var_predef ; $num1++) {
if ($var_predef[$num1] == $var_se) $var_se_trovata = "SI";
} # fine for $num1
if ($var_se_trovata != "SI") $continua = "NO";
return $var_se;
} # fine function controlla_var_se