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";
}
示例#2
0
#    any later version accepted by Marco Maria Francesco De Santis, which
#    shall act as a proxy as defined in Section 14 of version 3 of the
#    license.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
##################################################################################


$tableanni = $PHPR_TAB_PRE."anni";
$tipo_periodi = esegui_query("select * from $tableanni where idanni = $anno");
$tipo_periodi = risul_query($tipo_periodi,0,'tipo_periodi');
if ($tipo_periodi == "g") {
$parola_settimanale = "giornaliero";
$parola_settimanali = "giornalieri";
$parola_settimane = "giorni";
$parola_Settimane = "Giorni";
$parola_settimana = "giorno";
$parola_settiman = "giorn";
$parola_sett = "gio";
$parola_le = "i";
$parola_Le = "I";
$parola_la = "il";
$parola_La = "Il";
$parola_alla = "al";
$lettera_e = "i";
function scarica_backup_subordinazione ($file_backup,$url_subordinazione,$utente_subordinazione,$password_subordinazione,$anno,$compresso_subordinazione) {
global $tableversioni,$pag;
$errore = "NO";
if ($output = @file($url_subordinazione."crea_backup.php?nome_utente_phpr=$utente_subordinazione&password_phpr=$password_subordinazione&anno=$anno&azione=SI&crea_backup=SI")) {
$backup = @fopen($url_subordinazione."crea_backup.php?nome_utente_phpr=$utente_subordinazione&password_phpr=$password_subordinazione&anno=$anno&azione=SI&mostra_header=NO&salva_backup=SI&compresso=$compresso_subordinazione","r");
if ($backup) {
if ($fileaperto = fopen($file_backup,"w")) {
flock($fileaperto,2);
while (!feof($backup)) {
$linee = fread($backup,524288);
fwrite($fileaperto,$linee);
} # fine while (!feof($fbackup))
flock($fileaperto,3);
fclose($fileaperto);
} # fine if ($fileaperto = fopen($file_backup,"w"))
else {
$errore = "SI";
echo mex("Non ho i permassi di scrittura sulla cartella data",$pag).".<br>";
} # fine else if ($fileaperto = fopen($file_backup,"w"))
fclose ($backup);
if ($errore != "SI") {
if ($compresso_subordinazione == "SI") {
if (rename($file_backup,$file_backup.".gz")) {
if ($fileaperto = fopen($file_backup,"w")) {
flock($fileaperto,2);
$gzbackup = gzopen($file_backup.".gz","r");
if ($gzbackup) {
while (!feof($gzbackup)) {
$linee = gzread($gzbackup,524288);
fwrite($fileaperto,$linee);
} # fine while (!feof($gzbackup))
} # fine if ($gzbackup)
flock($fileaperto,3);
fclose($fileaperto);
} # fine if ($fileaperto = fopen($file_backup,"w"))
unlink($file_backup.".gz");
} # fine if (rename($file_backup,$file_backup.".gz"))
} # fine if ($compresso_subordinazione == "SI")
$linee = "";
if ($fbackup = fopen($file_backup,"r")) {
$linee = fread($fbackup,524288);
fclose($fbackup);
} # fine if ($fbackup = fopen($file,"r"))
$versione_corrente = esegui_query("select * from $tableversioni where idversioni = 1");
$versione_corrente = risul_query($versione_corrente,0,'num_versione');
if (str_replace("<versione>$versione_corrente</versione>","",$linee) == $linee) {
$errore = "SI";
if (str_replace("<versione>","",$linee) == $linee) echo mex("Non si è potuto scaricare il backup remoto",$pag).".<br>";
else echo mex("Versione locale diversa da quella remota",$pag).".<br>";
include("./includes/funzioni_aggiorna.php");
global $agg_cod_sorg;
unset($linee);
$agg_cod_sorg = aggiorna_codice_sorgente_phpr($url_subordinazione);
if ($agg_cod_sorg) echo "<br>".mex("Aggiornamento codice sorgente eseguito con successo",$pag)."!<br><br>";
} # fine if (str_replace("<versione>$versione_corrente</versione>","",$linee) == $linee)
unset($linee);
} # fine if ($errore != "SI")
} # fine if ($backup)
else {
$errore = "SI";
echo mex("Non si è potuto stabilire la connessione",$pag).".<br>";
} # fine else if ($backup)
} # fine if ($output = @file($url_subordinazione."crea_backup.php?nome_utente_phpr=$utente_subordinazione&password_phpr=$password_subordinazione"))
else {
$errore = "SI";
echo mex("Non si è potuto stabilire la connessione",$pag).".<br>";
} # fine else if ($output = @file($url_subordinazione."crea_backup.php?nome_utente_phpr=$utente_subordinazione&password_phpr=$password_subordinazione"))
if ($errore != "SI") $output = @file($url_subordinazione."crea_backup.php?nome_utente_phpr=$utente_subordinazione&password_phpr=$password_subordinazione&anno=$anno&azione=SI&cancella_backup=SI");
return $errore;
} # fine function scarica_backup_subordinazione
function seleziona_data_vicina ($menu_periodi,$data_sel,$pos) {
$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)
 $nome_mese["09"] = mex("Settembre", "giorni_mesi.php");
 $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 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
 }
示例#7
0
function aggiorna_var_anno_modello_rat ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) {

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

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

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

} # fine funtcion aggiorna_var_anno_modello_rat
} # fine if (numlin_query($campi_pers_cliente))
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>
function crea_messaggio_contr_salva($nome_file_contr, $num_file_salva, $num_contr_esist, $nome_file_contr_esist, $numero_contratto, $nomi_contratti, $dir_salva, $tipo_contratto, $num_ripeti, $origine, $origine_vecchia, $lista_var_form, $mostra_headers, $anno, $id_sessione, $id_utente, $tema, $tableversioni, $tabletransazioni, $pag)
{
    global $PHPR_TAB_PRE, $priv_cancella_contratti;
    $nome_file_contr_orig = $nome_file_contr;
    $num_file_salva_orig = $num_file_salva;
    if ($num_contr_esist) {
        $nome_file_contr = $nome_file_contr_esist;
        $num_file_salva = count($nome_file_contr);
    }
    # fine if ($num_contr_esist)
    $tabelle_lock = array($tableversioni, $tabletransazioni);
    $adesso = date("YmdHis", time() + C_DIFF_ORE * 3600);
    list($usec, $sec) = explode(' ', microtime());
    mt_srand((double) $sec + (double) $usec * 100000);
    $val_casuale = mt_rand(100000, 999999);
    $versione_transazione = prendi_numero_versione($tableversioni);
    $ultimo_accesso = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
    $id_transazione = $adesso . $val_casuale . $versione_transazione;
    esegui_query("insert into {$tabletransazioni} (idtransazioni,idsessione,tipo_transazione,anno,dati_transazione1,dati_transazione2,dati_transazione3,dati_transazione4,dati_transazione5,ultimo_accesso) values ('{$id_transazione}','{$id_sessione}','con_s','{$anno}','" . aggslashdb($dir_salva) . "','" . aggslashdb(serialize($nome_file_contr)) . "','{$tipo_contratto}','" . aggslashdb($origine) . "','" . aggslashdb($origine_vecchia) . "','{$ultimo_accesso}')");
    unlock_tabelle($tabelle_lock);
    if ($tipo_contratto == "contrrtf") {
        $sec_aspetta = 2;
    } else {
        $sec_aspetta = 6;
    }
    $url_reload = "./{$pag}?id_sessione={$id_sessione}&amp;anno={$anno}&amp;id_transazione={$id_transazione}&amp;numero_contratto={$numero_contratto}";
    if ($num_file_salva == 1) {
        $target = "";
    } else {
        $target = " target=\"_blank\"";
    }
    if ($mostra_headers == "NO") {
        if ($num_file_salva == 1) {
            $extra_head = "<meta http-equiv=\"refresh\" content=\"{$sec_aspetta}; url={$url_reload}&n_file=1\">\n";
        }
        if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/" . $tema[$id_utente] . "/php")) {
            include "./themes/" . $tema[$id_utente] . "/php/head.php";
        } else {
            include "./includes/head.php";
        }
    }
    # fine if ($mostra_headers == "NO")
    if ($num_contr_esist and $num_file_salva_orig == 1) {
        echo "<div style=\"line-height: 180%\"><br>";
    } else {
        echo "<div style=\"line-height: 130%\"><br>";
    }
    if ($num_contr_esist) {
        if ($num_ripeti > 1) {
            echo mex("Documenti già esistenti riguardanti queste prenotazioni", $pag) . ":<br>";
        } else {
            echo mex("Documenti già esistenti riguardanti questa prenotazione", $pag) . ":<br>";
        }
    }
    # fine if ($num_contr_esist)
    for ($num1 = 1; $num1 <= $num_file_salva; $num1++) {
        if ($num_contr_esist and $num_file_salva_orig == 1) {
            echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div>\n{$lista_var_form}\n<input type=\"hidden\" name=\"sovrascrivi\" value=\"" . htmlspecialchars($nome_file_contr[$num1]) . "\">";
        }
        # fine if ($num_contr_esist and $num_file_salva_orig == 1)
        if (!$num_contr_esist) {
            echo ucfirst(mex("documento", $pag)) . " ";
            if ($nomi_contratti['salv'][$numero_contratto] != $nomi_contratti[$numero_contratto]) {
                echo "\"" . $nomi_contratti[$numero_contratto] . "\" ";
            }
            echo mex("<span class=\"colblu\">salvato</span> come", $pag);
        }
        # fine if (!$num_contr_esist)
        echo " <b><a style=\"color: #000000;\" href=\"{$url_reload}&n_file={$num1}\"{$target}>" . $nome_file_contr[$num1] . "</a></b>";
        if ($num_contr_esist and $num_file_salva_orig == 1 and $priv_cancella_contratti != "n") {
            echo " " . bottone_submit_contr(mex("Sovrascrivi", $pag)) . "\n.</div></form>";
        } else {
            echo ".<br>";
        }
    }
    # fine for $num1
    echo "<br></div>";
    if (!$num_contr_esist) {
        if ($priv_cancella_contratti != "n") {
            echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"numero_contratto\" value=\"{$numero_contratto}\">\n<input type=\"hidden\" name=\"id_transazione\" value=\"{$id_transazione}\">\n<input type=\"hidden\" name=\"cancella\" value=\"SI\">";
            if ($num_file_salva == 1) {
                echo "&nbsp;" . bottone_submit_contr(mex("Cancella il documento", $pag));
            } else {
                echo bottone_submit_contr(mex("Cancella i documenti", $pag));
            }
            echo "</div></form><br>";
        }
        # fine if ($priv_cancella_contratti != "n")
    } else {
        echo "<br>\n<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div>\n{$lista_var_form}\n<input type=\"hidden\" name=\"cont_salva\" value=\"SI\">";
        if ($num_file_salva_orig == 1) {
            echo "&nbsp;" . bottone_submit_contr(mex("Salva un nuovo documento", $pag));
        } else {
            echo bottone_submit_contr(mex("Salva dei nuovi documenti", $pag));
        }
        echo "</div></form><br>";
    }
    # fine else if (!$num_contr_esist)
}
} # fine for $num1
} # fine else if ($num_id_prenota > 1)

echo "".ucfirst(mex("documento di tipo",$pag))."
 <select id=\"lcon\" name=\"numero_contratto\">";
unset($nomi_contratti);
unset($nome_contratto);
$nomi_contratti = esegui_query("select valpersonalizza from $tablepersonalizza where idpersonalizza = 'nomi_contratti' and idutente = '$id_utente'");
$nomi_contratti = risul_query($nomi_contratti,0,'valpersonalizza');
$nomi_contratti = explode("#@&",$nomi_contratti);
$num_nomi_contratti = count($nomi_contratti);
for ($num1 = 0 ; $num1 < $num_nomi_contratti ; $num1++) {
$dati_nome_contratto = explode("#?&",$nomi_contratti[$num1]);
$nome_contratto[$dati_nome_contratto[0]] = $dati_nome_contratto[1];
} # fine for $num1
$max_contr = esegui_query("select max(numero) from $tablecontratti where tipo $LIKE 'contr%'");
$max_contr = risul_query($max_contr,0,0);
for ($num_contratto = 1 ; $num_contratto <= $max_contr ; $num_contratto++) {
if ($attiva_contratti_consentiti == "n" or $contratti_consentiti_vett[$num_contratto] == "SI") {
if ($nome_contratto[$num_contratto]) $num_contratto_vedi = $nome_contratto[$num_contratto];
else $num_contratto_vedi = $num_contratto;
echo "<option value=\"$num_contratto\">$num_contratto_vedi</option>";
} # fine if ($attiva_contratti_consentiti == "n" or...
} # fine for $num_contratto
echo "</select>
 <input class=\"sbutton\" id=\"tcon\" type=\"submit\" value=\"".ucfirst(mex("visualizza",$pag))."\">
<input type=\"hidden\" id=\"hcon\" value=\"".ucfirst(mex("visualizza il documento",$pag))."\">";
if ($dati_cap['num'] > 0 and $num_id_prenota == 1) {
echo "<br>(".mex("con costo agg.",$pag)."
 <select name=\"num_costo_agg_sel\">
<option value=\"\" selected>----</option>
示例#11
0
else {
$colonne_s = ($colonne - $num3) * 2;
echo "<td align=\"center\" colspan=\"$colonne_s\"><b>-</b></td>";
break;
} # fine else if ($id_periodo_corrente > ($id_settimana + $num3))
} # fine for $num3
} # fine if ($priv_oscura_tab_mesi == "f")
$num2 = $num2 + $colonne - 1;
} # fine if ($priv_vedi_tab_mesi == "p" and ($utente_inserimento != $id_utente or...
else {

if ($esiste == 1) {
$id_prenota = risul_query($prenotazione_presente,$prenota_corr,'idprenota');
$id_clienti = risul_query($prenotazione_presente,$prenota_corr,'idclienti');
if ($id_clienti) {
$cognome = esegui_query("select cognome,utente_inserimento from $tableclienti where idclienti = '$id_clienti'");
$mostra_cliente = "SI";
if ($vedi_clienti == "NO") $mostra_cliente = "NO";
if ($vedi_clienti == "PROPRI" or $vedi_clienti == "GRUPPI") {
$utente_inserimento_cli = risul_query($cognome,0,'utente_inserimento');
if ($vedi_clienti == "PROPRI" and $utente_inserimento_cli != $id_utente) $mostra_cliente = "NO";
if ($vedi_clienti == "GRUPPI" and !$utenti_gruppi[$utente_inserimento_cli]) $mostra_cliente = "NO";
} # fine if ($vedi_clienti == "PROPRI" or $vedi_clienti == "GRUPPI")
if ($mostra_cliente == "NO") $cognome = $id_prenota;
else $cognome = risul_query($cognome,0,'cognome');
} # fine if ($id_clienti)
else $cognome = "?";

$colore = "";
$pagato = risul_query($prenotazione_presente,$prenota_corr,'pagato');
if (!$pagato) { $pagato = 0; }
示例#12
0
 function ins_prenota_temp_in_tab($tableprenota, $tablecostiprenota, $num_tipologie, $limiti_var, &$dati_transazione13, $prenota_vicine, $id_utente, $HOSTNAME)
 {
     $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
     if ($limiti_var["lim_prenota_temp"] < $datainserimento) {
         for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) {
             if ($n_t != 1) {
                 $dati_transazione13 .= ", ,";
             }
             global ${"appartamento" . $n_t}, ${"num_app_richiesti" . $n_t}, ${"inizioperiodo" . $n_t}, ${"fineperiodo" . $n_t}, ${"lista_app" . $n_t}, ${"assegnazioneapp" . $n_t}, ${"numpersone" . $n_t};
             $appartamento_vett = explode(",", ${"appartamento" . $n_t});
             $iniper = ${"inizioperiodo" . $n_t};
             if (str_replace(",", "", $iniper) != $iniper) {
                 $iniper = explode(",", $iniper);
                 $iniper = $iniper[0];
             }
             # fine if (str_replace(",","",$iniper) != $iniper)
             $fineper = ${"fineperiodo" . $n_t};
             if (str_replace(",", "", $fineper) != $fineper) {
                 $fineper = explode(",", $fineper);
                 $fineper = $fineper[0];
             }
             # fine if (str_replace(",","",$fineper) != $fineper)
             for ($num1 = 1; $num1 <= ${"num_app_richiesti" . $n_t}; $num1++) {
                 $idprenota = esegui_query("select numlimite from {$tablecostiprenota} where idcostiprenota = '1'");
                 $idprenota = risul_query($idprenota, 0, 'numlimite');
                 esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota + 1) . "' where idcostiprenota = '1'", "", 1);
                 esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,tariffa,tariffa_tot,caparra,conferma,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota}','0','" . $appartamento_vett[$num1 - 1] . "','" . $iniper . "','" . $fineper . "','a#@&1','1','1','N','{$datainserimento}','{$HOSTNAME}','{$id_utente}')", "", 1);
                 if (${"lista_app" . $n_t}) {
                     esegui_query("update {$tableprenota} set app_assegnabili = '" . ${"lista_app" . $n_t} . "' where idprenota = '{$idprenota}' ", "", 1);
                 }
                 if (${"assegnazioneapp" . $n_t}) {
                     esegui_query("update {$tableprenota} set assegnazioneapp = '" . ${"assegnazioneapp" . $n_t} . "' where idprenota = '{$idprenota}' ", "", 1);
                 }
                 if (${"numpersone" . $n_t}) {
                     esegui_query("update {$tableprenota} set num_persone = '" . ${"numpersone" . $n_t} . "' where idprenota = '{$idprenota}' ", "", 1);
                 }
                 if ($num1 != 1) {
                     $dati_transazione13 .= ",";
                 }
                 $dati_transazione13 .= $idprenota;
             }
             # fine for $num1
         }
         # fine for $n_t
         if ($prenota_vicine == "SI") {
             $lista_idprenota = str_replace(", ,", ",", $dati_transazione13);
             $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}' ", "", 1);
             }
             # fine for $num1
         }
         # fine if ($prenota_vicine == "SI")
     }
     # fine if ($limiti_var["lim_prenota_temp"] < $datainserimento)
 }
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...
}
示例#14
0
<option value=\"meno\">".mex("Sottrai",$pag)."</option>
</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++) {
header("Cache-Control: pre-check=0, post-check=0, max-age=0");
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)
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;
}
示例#17
0
             $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")
 }
 # fine for $num1
 if (!$num_casse_attive) {
     echo "<div class=\"txtcenter\">" . mex("Nessuna cassa disponibile", $pag) . "</div>";
 } else {
     $metodo_pagamento_txt = "";
     $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) {
         $metodo_pagamento_txt = "<tr><td>" . mex("Metodo di pagamento", $pag) . ":\n <select name=\"metodo_pagamento\">\n<option value=\"\">----</option>";
         $metodi_pagamento = explode(",", $metodi_pagamento);
         for ($num1 = 0; $num1 < count($metodi_pagamento); $num1++) {
             $metodo_pagamento_txt .= "<option value=\"" . $metodi_pagamento[$num1] . "\"{$sel}>" . $metodi_pagamento[$num1] . "</option>";
         }
         $metodo_pagamento_txt .= "</select>&nbsp;(" . mex("opzionale", $pag) . ").</td></tr>";
     }
     # fine if ($metodi_pagamento)
     if ($priv_ins_entrate == "s") {
         echo "<h3>" . mex("Inserisci le entrate in cassa per l'anno", $pag) . " {$anno}.</h3>\n<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}\"><br>\n<table style=\"margin-left: auto; margin-right: auto;\" cellspacing=2 cellpadding=5>\n<tr><td>";
         if ($num_casse_attive == 1) {
             echo $hidden_cassa;
         } else {
示例#18
0
$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";
            if (substr($priv_ins_clienti, 1, 1) == "s") {
                $modifica_clienti = "SI";
            }
            if (substr($priv_ins_clienti, 1, 1) == "p") {
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'])
}
#    license.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
##################################################################################





$percorso_cartella_modello = esegui_query("select valpersonalizza from $PHPR_TAB_PRE"."personalizza where idpersonalizza = 'percorso_cartella_modello' and idutente = '1'");
$percorso_cartella_modello = risul_query($percorso_cartella_modello,0,'valpersonalizza');
if (defined('C_CARTELLA_CREA_MODELLI') and C_CARTELLA_CREA_MODELLI != "") {
$c_cartella_crea_mod = C_CARTELLA_CREA_MODELLI;
if (substr($c_cartella_crea_mod,-1) == "/") $c_cartella_crea_mod = substr($c_cartella_crea_mod,0,-1);
if (substr($percorso_cartella_modello,0,strlen($c_cartella_crea_mod)) != $c_cartella_crea_mod) $percorso_cartella_modello = $c_cartella_crea_mod;
} # fine if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "")
else $c_cartella_crea_mod = "";
$perc_cart_mod_int = $percorso_cartella_modello;
$perc_cart_mod_vett = explode(",",$percorso_cartella_modello);
$num_perc_cart_mod_vett = count($perc_cart_mod_vett);
$vett_tmp = "";
$num_vett_tmp = 0;
for ($num_cart = 0 ; $num_cart < $num_perc_cart_mod_vett ; $num_cart++) {
if (!$c_cartella_crea_mod or substr($perc_cart_mod_vett[$num_cart]."/",0,strlen($c_cartella_crea_mod."/")) == $c_cartella_crea_mod."/") {
if (@is_dir($perc_cart_mod_vett[$num_cart])) {
示例#21
0
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);
$app_agenzia_c = esegui_query("select * from $tableregole where app_agenzia != '' and motivazione2 = 'x' ");
$info_periodi_ag['numero'] = numlin_query($app_agenzia_c);
if ($info_periodi_ag['numero']) {
for ($num1 = 0 ; $num1 < $info_periodi_ag['numero'] ; $num1++) {
$info_periodi_ag['app'][$num1] = risul_query($app_agenzia_c,$num1,'app_agenzia');
$info_periodi_ag['ini'][$num1] = risul_query($app_agenzia_c,$num1,'iddatainizio');
$info_periodi_ag['fine'][$num1] = risul_query($app_agenzia_c,$num1,'iddatafine');
} # fine for $num1
inserisci_prenota_fittizie($info_periodi_ag,$profondita,$app_prenota_id,$inizio_prenota_id,$fine_prenota_id,$prenota_in_app_sett,$app_assegnabili_id);
$app_orig_prenota_id = $app_prenota_id;
} # fine if ($info_periodi_ag['numero'])

$app_agenzia = esegui_query("select * from $tableregole where app_agenzia != '' and (motivazione2 != 'x' or motivazione2 is NULL) ");
$regole2 = esegui_query("select * from $tableregole where tariffa_per_app != ''");
$dati_tariffe = dati_tariffe($tablenometariffe,"","",$tableregole);

unlock_tabelle($tabelle_lock);


$num_regole2 = numlin_query($regole2);
unset($app_regola2_orig);
for ($num1 = 0 ; $num1 < $num_regole2 ; $num1++) {
$numtariffa_regola2 = str_replace("tariffa","",risul_query($regole2,$num1,'tariffa_per_app'));
if ($tariffe_mostra[$numtariffa_regola2] == "SI") $app_regola2_orig[$numtariffa_regola2] = risul_query($regole2,$num1,'motivazione');
} # fine for $num1

$colonna_destra_tab_disp = "NO";
$nome_mese["01"] = $fr_Gennaio;
$nome_mese["02"] = $fr_Febbraio;
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;
}
示例#23
0
function crea_nuovo_anno($anno, $PHPR_TAB_PRE, $DATETIME, $tipo_periodi, $giorno_ini_fine, $mese_ini, $mese_fine, $importa_anno_prec, $silenzio, $pag)
{
    allunga_tempo_limite();
    global $lingua_mex, $LIKE, $ILIKE, $PHPR_DB_TYPE;
    $lingua_mex_orig = $lingua_mex;
    include_once "./includes/funzioni_menu.php";
    include C_DATA_PATH . "/lingua.php";
    $lingua_mex = $lingua[1];
    $tableanni = $PHPR_TAB_PRE . "anni";
    $tableprivilegi = $PHPR_TAB_PRE . "privilegi";
    $tabletransazioni = $PHPR_TAB_PRE . "transazioni";
    $tabletransazioniweb = $PHPR_TAB_PRE . "transazioniweb";
    $tablepersonalizza = $PHPR_TAB_PRE . "personalizza";
    $tablemessaggi = $PHPR_TAB_PRE . "messaggi";
    $tableinterconnessioni = $PHPR_TAB_PRE . "interconnessioni";
    $tablecontratti = $PHPR_TAB_PRE . "contratti";
    $tableutenti = $PHPR_TAB_PRE . "utenti";
    $tablerelclienti = $PHPR_TAB_PRE . "relclienti";
    if ($PHPR_DB_TYPE == "mysql" or $PHPR_DB_TYPE == "mysqli") {
        @esegui_query("SET default_storage_engine=MYISAM", 1);
    }
    $filelock = fopen(C_DATA_PATH . "/anni.lock", "w+");
    if ($filelock) {
        flock($filelock, 2);
        $anno_esistente = esegui_query("select * from {$tableanni} where idanni = {$anno}");
        if (numlin_query($anno_esistente) == 0) {
            if (C_CAMBIA_TIPO_PERIODI == "NO") {
                $tipo_periodi_esistenti = esegui_query("select * from {$tableanni} order by idanni desc");
                if (numlin_query($tipo_periodi_esistenti) != 0) {
                    $tipo_periodi = risul_query($tipo_periodi_esistenti, 0, 'tipo_periodi');
                }
            }
            # fine if (C_CAMBIA_TIPO_PERIODI == "NO")
            if ($tipo_periodi != "g") {
                $tipo_periodi = "s";
            }
            // creo la tabella con periodi settimanali e prezzi e la tabella con i nomi delle tariffe
            $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno;
            $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno;
            if ($importa_anno_prec == "SI") {
                $anno_prec = $anno - 1;
                $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec;
                $num_tariffe_tab = esegui_query("select nomecostoagg from {$tablenometariffe_prec} where idntariffe = 1");
                $num_tariffe_tab = risul_query($num_tariffe_tab, 0, 'nomecostoagg');
            } else {
                $num_tariffe_tab = 8;
            }
            $query = "create table {$tableperiodi} (idperiodi integer primary key, datainizio date not null, datafine date";
            $query2 = "create table {$tablenometariffe} (idntariffe integer, nomecostoagg varchar(40), tipo_ca varchar(2), valore_ca float8, valore_perc_ca float8, arrotonda_ca float4, tasseperc_ca float4, associasett_ca varchar(1), numsett_ca varchar(20), moltiplica_ca text, periodipermessi_ca text, beniinv_ca text, appincompatibili_ca text, variazione_ca varchar(20), mostra_ca varchar(10), categoria_ca text, letto_ca varchar(1), numlimite_ca integer, regoleassegna_ca varchar(30), utente_inserimento integer";
            $num_col_tariffe_db = $num_tariffe_tab;
            if ($num_col_tariffe_db < 12) {
                $num_col_tariffe_db = 12;
            }
            for ($num1 = 1; $num1 <= $num_col_tariffe_db; $num1++) {
                $nome_nuova_tariffa = "tariffa" . $num1;
                $query .= ", {$nome_nuova_tariffa} float8, {$nome_nuova_tariffa}" . "p float8";
                $query2 .= ", {$nome_nuova_tariffa} varchar(40)";
            }
            # fine for $num1
            $crea_tab = esegui_query($query . ")");
            if ($crea_tab) {
                esegui_query($query2 . ")");
                function estrai_col_tabella($col_table)
                {
                    $col_table = explode(",", $col_table);
                    for ($num1 = 0; $num1 < count($col_table); $num1++) {
                        $col = explode(" ", trim($col_table[$num1]));
                        $tutte_col .= $col[0] . ",";
                    }
                    # fine for $num1
                    return substr($tutte_col, 0, -1);
                }
                # fine function estrai_col_tabella
                # Creo la tabella delle prernotazioni
                $tableprenotazioni = $PHPR_TAB_PRE . "prenota" . $anno;
                $col_tableprenota = "idprenota integer primary key, idclienti integer, idappartamenti varchar(100), iddatainizio integer, iddatafine integer, assegnazioneapp varchar(4), app_assegnabili text, num_persone integer, idprenota_compagna text, tariffa text, tariffesettimanali text, incompatibilita text, sconto float8, tariffa_tot float8, caparra float8, commissioni float8, tasseperc float4, pagato float8, metodo_pagamento text, codice varchar(10), origine varchar(70), commento text, conferma varchar(4), checkin {$DATETIME}, checkout {$DATETIME}, id_anni_prec text, datainserimento {$DATETIME}, hostinserimento varchar(50), data_modifica {$DATETIME}, utente_inserimento integer ";
                esegui_query("create table {$tableprenotazioni} ({$col_tableprenota})");
                $col_tableprenota = estrai_col_tabella($col_tableprenota);
                # Creo la tabella con i costi aggiuntivi delle prenotazioni
                $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno;
                $col_tablecostiprenota = "idcostiprenota integer primary key, idprenota integer, tipo varchar(2), nome varchar(40), valore float8, valore_perc float8, arrotonda float4, tasseperc float4, associasett varchar(1), settimane text, moltiplica text, categoria text, letto varchar(1), numlimite integer, idntariffe integer, variazione varchar(10), varmoltiplica text, varnumsett varchar(20), varperiodipermessi text, varbeniinv text, varappincompatibili text, vartariffeassociate varchar(10), vartariffeincomp text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer";
                esegui_query("create table {$tablecostiprenota} ({$col_tablecostiprenota})");
                $col_tablecostiprenota = estrai_col_tabella($col_tablecostiprenota);
                crea_indice($tablecostiprenota, "idprenota", $PHPR_TAB_PRE . "iidpcostiprenota" . $anno);
                esegui_query("insert into {$tablecostiprenota} (idcostiprenota,numlimite) values ('1','1')");
                # Creo la tabella le relazioni tra prenotazioni e clienti non titolari
                $tablerclientiprenota = $PHPR_TAB_PRE . "rclientiprenota" . $anno;
                $col_tablerclientiprenota = "idprenota integer, idclienti integer, num_ordine integer, parentela varchar(70), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer";
                esegui_query("create table {$tablerclientiprenota} ({$col_tablerclientiprenota})");
                $col_tablerclientiprenota = estrai_col_tabella($col_tablerclientiprenota);
                crea_indice($tablerclientiprenota, "idprenota", $PHPR_TAB_PRE . "iidprclientiprenota" . $anno);
                # Creo la tabella per le regole di assegnazione
                $tableregole = $PHPR_TAB_PRE . "regole" . $anno;
                $col_tableregole = "idregole integer, app_agenzia varchar(100), tariffa_chiusa text, tariffa_per_app text, tariffa_per_utente text, tariffa_per_persone text, tariffa_commissioni integer, iddatainizio integer, iddatafine integer, motivazione text, motivazione2 text";
                esegui_query("create table {$tableregole} ({$col_tableregole})");
                $col_tableregole = estrai_col_tabella($col_tableregole);
                # Creo la tabella con i costi di gestione
                $tablecosti = $PHPR_TAB_PRE . "costi" . $anno;
                $col_tablecosti = "idcosti integer unique,nome_costo text, val_costo float8, tipo_costo text, nome_cassa varchar(70), persona_costo text, provenienza_costo text, metodo_pagamento text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer";
                esegui_query("create table {$tablecosti} ({$col_tablecosti})");
                $col_tablecosti = estrai_col_tabella($col_tablecosti);
                # Creo la tabella per la storia entrate-uscite
                $tablesoldi = $PHPR_TAB_PRE . "soldi" . $anno;
                $col_tablesoldi = "idsoldi integer unique, motivazione text, id_pagamento text, metodo_pagamento text, saldo_prenota float8, saldo_cassa float8, soldi_prima float8, data_inserimento {$DATETIME}, utente_inserimento integer";
                esegui_query("create table {$tablesoldi} ({$col_tablesoldi})");
                $col_tablesoldi = estrai_col_tabella($col_tablesoldi);
                $tabelle_lock = array($tableanni, $tableprenotazioni, $tablecostiprenota, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti, $tableregole, $tablesoldi, $tablepersonalizza, $tableprivilegi, $tabletransazioni);
                if ($importa_anno_prec == "SI") {
                    $anno_prec = $anno - 1;
                    $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec;
                    $tableprenota_prec = $PHPR_TAB_PRE . "prenota" . $anno_prec;
                    $tablecostiprenota_prec = $PHPR_TAB_PRE . "costiprenota" . $anno_prec;
                    $tablerclientiprenota_prec = $PHPR_TAB_PRE . "rclientiprenota" . $anno_prec;
                    $tableperiodi_prec = $PHPR_TAB_PRE . "periodi" . $anno_prec;
                    $tableregole_prec = $PHPR_TAB_PRE . "regole" . $anno_prec;
                    $tablesoldi_prec = $PHPR_TAB_PRE . "soldi" . $anno_prec;
                    $tablecosti_prec = $PHPR_TAB_PRE . "costi" . $anno_prec;
                    $tabelle_lock = array($tableanni, $tableprenota_prec, $tableprenotazioni, $tablecostiprenota_prec, $tablecostiprenota, $tablerclientiprenota_prec, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti_prec, $tablecosti, $tableregole, $tablesoldi_prec, $tablesoldi, $tableinterconnessioni, $tablemessaggi, $tablepersonalizza, $tableprivilegi, $tabletransazioni);
                    $altre_tab_lock = array($tablenometariffe_prec, $tableperiodi_prec, $tableregole_prec, $tablecontratti, $tableutenti);
                    $max_data_ini_prec = esegui_query("select max(datainizio) from {$tableperiodi_prec}");
                    if (numlin_query($max_data_ini_prec) != 0) {
                        $max_data_ini_prec = risul_query($max_data_ini_prec, 0, 0);
                        $max_mese_prec = 0;
                        if (substr($max_data_ini_prec, 0, 4) >= $anno) {
                            $max_mese_prec = substr($max_data_ini_prec, 5, 2);
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 1) {
                            $max_mese_prec = $max_mese_prec + 12;
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 2) {
                            $max_mese_prec = $max_mese_prec + 24;
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 3) {
                            $max_mese_prec = $max_mese_prec + 36;
                        }
                        if (substr($max_data_ini_prec, 0, 4) == $anno + 4) {
                            $max_mese_prec = $max_mese_prec + 48;
                        }
                        if ($max_mese_prec > $mese_fine) {
                            $mese_fine = $max_mese_prec;
                        }
                        $data_ini_agg = date("Y-m-d", mktime(0, 0, 0, substr($max_data_ini_prec, 5, 2) + 1, 1, substr($max_data_ini_prec, 0, 4)));
                    } else {
                        $max_data_ini_prec = "";
                        $max_mese_prec = "";
                        $data_ini_agg = "";
                    }
                    # fine else if (numlin_query($max_data_ini_prec) != 0)
                } else {
                    unset($altre_tab_lock);
                }
                $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock);
                # Elimino tutte le transazioni, potrebbero contenere date dell'anno creato
                esegui_query("delete from {$tabletransazioni}");
                # Inserisco l'anno nella tabella anni
                esegui_query("insert into {$tableanni} (idanni,tipo_periodi) values ('{$anno}','{$tipo_periodi}')");
                esegui_query("insert into {$tablecosti} (idcosti) values ('0')");
                esegui_query("insert into {$tablesoldi} (idsoldi,motivazione,soldi_prima) values ('1','soldi_prenotazioni_cancellate','0')");
                // trovo il primo giorno di inizio/fine dell'anno (nel caso di periodi settimanali)
                $numgiorno = 1;
                $giorno_ini_fine = (string) $giorno_ini_fine;
                if ($giorno_ini_fine != "0" and $giorno_ini_fine != "1" and $giorno_ini_fine != "2" and $giorno_ini_fine != "3" and $giorno_ini_fine != "4" and $giorno_ini_fine != "5" and $giorno_ini_fine != "6") {
                    $giorno_ini_fine = 6;
                }
                do {
                    $nomegiorno = date("w", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $numgiorno = $numgiorno + 1;
                } while ($nomegiorno != $giorno_ini_fine);
                $numgiorno = $numgiorno - 1;
                if ($tipo_periodi == "g") {
                    $numgiorno = 1;
                    $aggiungi_giorni = 1;
                } else {
                    $aggiungi_giorni = 7;
                }
                if ($mese_ini > $mese_fine) {
                    if ($silenzio != "SI") {
                        echo mex("I mesi erano indicati erroneamente, sono stati inseriti i mesi da Gennaio a Dicembre", $pag) . ".<br>";
                    }
                    $mese_ini = 1;
                    if ($mese_fine < 12) {
                        $mese_fine = 12;
                    }
                }
                # fine if ($mese_ini > $mese_fine)
                $anno_fine = $anno + 3;
                $idperiodi = 1;
                $fileaperto = fopen(C_DATA_PATH . "/selectperiodi{$anno}.1.php", "a+");
                flock($fileaperto, 2);
                $date_option = "";
                $n_date_menu = 0;
                do {
                    $datainizio = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $annocreato = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $mesecreato = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $nome_giorno = date("D", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $nome_mese = date("M", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $numero_giorno = date("d", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $numero_anno = $annocreato;
                    $numgiorno = $numgiorno + $aggiungi_giorni;
                    $datafine = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $annocreato2 = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    $mesecreato2 = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno));
                    if ($annocreato > $anno) {
                        $diff = $annocreato - $anno;
                        $mesecreato = $diff * 12 + $mesecreato;
                    }
                    # fine if ($annocreato > $anno)
                    if ($annocreato2 > $anno) {
                        $diff = $annocreato2 - $anno;
                        $mesecreato2 = $diff * 12 + $mesecreato2;
                    }
                    # fine if ($annocreato2 > $anno)
                    if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine) {
                        esegui_query("insert into {$tableperiodi} ( idperiodi, datainizio, datafine) values ( {$idperiodi}, '{$datainizio}', '{$datafine}')");
                        if ($tipo_periodi == "g") {
                            if ($nome_giorno == "Sun") {
                                $nome_giorno = mex(" Do", $pag);
                            }
                            if ($nome_giorno == "Mon") {
                                $nome_giorno = mex(" Lu", $pag);
                            }
                            if ($nome_giorno == "Tue") {
                                $nome_giorno = mex(" Ma", $pag);
                            }
                            if ($nome_giorno == "Wed") {
                                $nome_giorno = mex(" Me", $pag);
                            }
                            if ($nome_giorno == "Thu") {
                                $nome_giorno = mex(" Gi", $pag);
                            }
                            if ($nome_giorno == "Fri") {
                                $nome_giorno = mex(" Ve", $pag);
                            }
                            if ($nome_giorno == "Sat") {
                                $nome_giorno = mex(" Sa", $pag);
                            }
                        } else {
                            $nome_giorno = "";
                        }
                        if ($nome_mese == "Jan") {
                            $nome_mese = mex("Gen", $pag);
                        }
                        if ($nome_mese == "Feb") {
                            $nome_mese = mex("Feb", $pag);
                        }
                        if ($nome_mese == "Mar") {
                            $nome_mese = mex("Mar", $pag);
                        }
                        if ($nome_mese == "Apr") {
                            $nome_mese = mex("Apr", $pag);
                        }
                        if ($nome_mese == "May") {
                            $nome_mese = mex("Mag", $pag);
                        }
                        if ($nome_mese == "Jun") {
                            $nome_mese = mex("Giu", $pag);
                        }
                        if ($nome_mese == "Jul") {
                            $nome_mese = mex("Lug", $pag);
                        }
                        if ($nome_mese == "Aug") {
                            $nome_mese = mex("Ago", $pag);
                        }
                        if ($nome_mese == "Sep") {
                            $nome_mese = mex("Set", $pag);
                        }
                        if ($nome_mese == "Oct") {
                            $nome_mese = mex("Ott", $pag);
                        }
                        if ($nome_mese == "Nov") {
                            $nome_mese = mex("Nov", $pag);
                        }
                        if ($nome_mese == "Dec") {
                            $nome_mese = mex("Dic", $pag);
                        }
                        if (!$date_option) {
                            $a_ini_menu = substr($datainizio, 0, 4);
                            $m_ini_menu = substr($datainizio, 5, 2) - 1;
                            $g_ini_menu = substr($datainizio, 8, 2);
                        }
                        # fine if (!$date_option)
                        $n_date_menu++;
                        $date_option .= "<option value=\\\"{$datainizio}\\\">{$nome_mese} {$numero_giorno}{$nome_giorno}, {$numero_anno}</option>\n";
                        $idperiodi = $idperiodi + 1;
                        $datafine2 = $datafine;
                    }
                    # fine if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine)
                } while ($annocreato2 <= $anno_fine or $mesecreato2 == 48);
                $numero_mese = substr($datafine2, 5, 2);
                if ($numero_mese == "01") {
                    $nome_mese = mex("Gen", $pag);
                }
                if ($numero_mese == "02") {
                    $nome_mese = mex("Feb", $pag);
                }
                if ($numero_mese == "03") {
                    $nome_mese = mex("Mar", $pag);
                }
                if ($numero_mese == "04") {
                    $nome_mese = mex("Apr", $pag);
                }
                if ($numero_mese == "05") {
                    $nome_mese = mex("Mag", $pag);
                }
                if ($numero_mese == "06") {
                    $nome_mese = mex("Giu", $pag);
                }
                if ($numero_mese == "07") {
                    $nome_mese = mex("Lug", $pag);
                }
                if ($numero_mese == "08") {
                    $nome_mese = mex("Ago", $pag);
                }
                if ($numero_mese == "09") {
                    $nome_mese = mex("Set", $pag);
                }
                if ($numero_mese == "10") {
                    $nome_mese = mex("Ott", $pag);
                }
                if ($numero_mese == "11") {
                    $nome_mese = mex("Nov", $pag);
                }
                if ($numero_mese == "12") {
                    $nome_mese = mex("Dic", $pag);
                }
                $numero_giorno = substr($datafine2, 8, 2);
                $numero_anno = substr($datafine2, 0, 4);
                $n_date_menu++;
                $date_option .= "<option value=\\\"{$datafine2}\\\">{$nome_mese} {$numero_giorno}, {$numero_anno}</option>\n";
                fwrite($fileaperto, "<?php \n\n\$y_ini_menu[0] = \"{$a_ini_menu}\";\n\$m_ini_menu[0] = \"{$m_ini_menu}\";\n\$d_ini_menu[0] = \"{$g_ini_menu}\";\n\$n_dates_menu[0] = \"{$n_date_menu}\";\n\$d_increment[0] = \"{$aggiungi_giorni}\";\n\$d_names = \"\\\"" . mex(" Do", $pag) . "\\\",\\\"" . mex(" Lu", $pag) . "\\\",\\\"" . mex(" Ma", $pag) . "\\\",\\\"" . mex(" Me", $pag) . "\\\",\\\"" . mex(" Gi", $pag) . "\\\",\\\"" . mex(" Ve", $pag) . "\\\",\\\"" . mex(" Sa", $pag) . "\\\"\";\n\$m_names = \"\\\"" . mex("Gen", $pag) . "\\\",\\\"" . mex("Feb", $pag) . "\\\",\\\"" . mex("Mar", $pag) . "\\\",\\\"" . mex("Apr", $pag) . "\\\",\\\"" . mex("Mag", $pag) . "\\\",\\\"" . mex("Giu", $pag) . "\\\",\\\"" . mex("Lug", $pag) . "\\\",\\\"" . mex("Ago", $pag) . "\\\",\\\"" . mex("Set", $pag) . "\\\",\\\"" . mex("Ott", $pag) . "\\\",\\\"" . mex("Nov", $pag) . "\\\",\\\"" . mex("Dic", $pag) . "\\\"\";\n\n\$dates_options_list = \"\n\n{$date_option}\n\";\n\n?>");
                flock($fileaperto, 3);
                fclose($fileaperto);
                if ($importa_anno_prec == "SI" and @is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php")) {
                    estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag);
                } else {
                    copy(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php");
                }
                $lista_clienti_importati = "";
                # Importo eventuali prenotazioni, tariffe e regole dell'anno precedente
                if ($importa_anno_prec == "SI") {
                    $tableprenota = $tableprenotazioni;
                    $data_inizio_periodi = esegui_query("select * from {$tableperiodi} where idperiodi = 1");
                    $data_inizio_periodi = risul_query($data_inizio_periodi, 0, 'datainizio');
                    $ini_periodo_interferenza = esegui_query("select * from {$tableperiodi_prec} where datainizio = '{$data_inizio_periodi}'");
                    $num_periodo_interferenza = numlin_query($ini_periodo_interferenza);
                    $tipo_periodi_prec = esegui_query("select * from {$tableanni} where idanni = {$anno_prec}");
                    $tipo_periodi_prec = risul_query($tipo_periodi_prec, 0, 'tipo_periodi');
                    if ($tipo_periodi_prec != $tipo_periodi) {
                        $num_periodo_interferenza = 0;
                    }
                    if ($num_periodo_interferenza == 0) {
                        if ($silenzio != "SI") {
                            echo mex("Non ci sono periodi che riguardano il ", $pag) . $anno . mex(" nel ", $pag) . $anno_prec . mex(", o il giorno di inizio/fine locazione era differente, sono stati importati solo i data riguardanti costi aggiuntivi, caparra, nome delle tariffe, privilegi degli utenti e regole di assegnazione 2 e 3", $pag) . ".<br>";
                        }
                    } else {
                        $id_data_fine_periodi = esegui_query("select max(idperiodi) from {$tableperiodi}");
                        $id_data_fine_periodi = risul_query($id_data_fine_periodi, 0, 0);
                        $id_data_ini_periodi_prec = risul_query($ini_periodo_interferenza, 0, 'idperiodi');
                        $id_data_fine_periodi_prec = esegui_query("select max(idperiodi) from {$tableperiodi_prec}");
                        $id_data_fine_periodi_prec = risul_query($id_data_fine_periodi_prec, 0, 0);
                        $num_periodi_prec = $id_data_fine_periodi_prec - $id_data_ini_periodi_prec + 1;
                        if ($num_periodi_prec > $id_data_fine_periodi) {
                            $id_data_fine_periodi_prec = $id_data_ini_periodi_prec + $id_data_fine_periodi - 1;
                            $prenota_non_importabili = esegui_query("select * from {$tableprenota_prec} where iddatafine > {$id_data_fine_periodi_prec} ");
                            $num_prenota_non_importabili = numlin_query($prenota_non_importabili);
                            if ($num_prenota_non_importabili != 0) {
                                echo "<br>ERROR<br>";
                            }
                        }
                        # fine if ($num_periodi_prec > $id_data_fine_periodi)
                        $idprenota_corr = 0;
                        $max_idprenota_prec = esegui_query("select max(idprenota) from {$tableprenota_prec}");
                        $max_idprenota_prec = risul_query($max_idprenota_prec, 0, 0) + 1;
                        $max_idcostiprenota_prec = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_prec}");
                        $max_idcostiprenota_prec = risul_query($max_idcostiprenota_prec, 0, 0) + 1;
                        $prenota_gia_iniziate = esegui_query("select * from {$tableprenota_prec} where iddatainizio < {$id_data_ini_periodi_prec} and iddatafine >= {$id_data_ini_periodi_prec} and iddatafine <= {$id_data_fine_periodi_prec} ");
                        $num_prenota_gia_iniziate = numlin_query($prenota_gia_iniziate);
                        for ($num1 = 0; $num1 < $num_prenota_gia_iniziate; $num1 = $num1 + 1) {
                            $idprenota = risul_query($prenota_gia_iniziate, $num1, 'idprenota');
                            $idclienti = risul_query($prenota_gia_iniziate, $num1, 'idclienti');
                            $lista_clienti_importati .= "and idclienti != '{$idclienti}' ";
                            $idappartamenti = risul_query($prenota_gia_iniziate, $num1, 'idappartamenti');
                            $iddatafine = risul_query($prenota_gia_iniziate, $num1, 'iddatafine');
                            $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1;
                            $datainserimento = risul_query($prenota_gia_iniziate, $num1, 'datainserimento');
                            $hostinserimento = risul_query($prenota_gia_iniziate, $num1, 'hostinserimento');
                            $data_modifica = risul_query($prenota_gia_iniziate, $num1, 'data_modifica');
                            $utente_inserimento = risul_query($prenota_gia_iniziate, $num1, 'utente_inserimento');
                            $checkin = risul_query($prenota_gia_iniziate, $num1, 'checkin');
                            $checkout = risul_query($prenota_gia_iniziate, $num1, 'checkout');
                            $codice = risul_query($prenota_gia_iniziate, $num1, 'codice');
                            $idprenota_corr++;
                            esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,assegnazioneapp,commento,codice,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota_corr}','{$idclienti}','{$idappartamenti}','0',{$iddatafine},'k','{$idprenota}','{$codice}','{$datainserimento}','{$hostinserimento}','{$utente_inserimento}') ");
                            if ($checkin) {
                                esegui_query("update {$tableprenota} set checkin = '" . aggslashdb($checkin) . "' where idprenota = '{$idprenota_corr}'");
                            }
                            if ($checkout) {
                                esegui_query("update {$tableprenota} set checkout = '" . aggslashdb($checkout) . "' where idprenota = '{$idprenota_corr}'");
                            }
                            esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'");
                        }
                        # fine for $num1
                        $nuovo_idprenota = "";
                        $nuovo_iddatainizio = "";
                        $nuovo_iddatafine = "";
                        $prenota_importate = esegui_query("select * from {$tableprenota_prec} where iddatainizio >= '{$id_data_ini_periodi_prec}' and iddatafine <= '{$id_data_fine_periodi_prec}' order by idprenota ");
                        $num_prenota_importate = numlin_query($prenota_importate);
                        for ($num1 = 0; $num1 < $num_prenota_importate; $num1 = $num1 + 1) {
                            $idprenota = risul_query($prenota_importate, $num1, 'idprenota');
                            $iddatainizio = risul_query($prenota_importate, $num1, 'iddatainizio');
                            $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1;
                            $iddatafine = risul_query($prenota_importate, $num1, 'iddatafine');
                            $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1;
                            $idclienti = risul_query($prenota_importate, $num1, 'idclienti');
                            $lista_clienti_importati .= "and idclienti != '{$idclienti}' ";
                            $id_anni_prec = risul_query($prenota_importate, $num1, 'id_anni_prec');
                            if (!$id_anni_prec) {
                                $id_anni_prec = ";";
                            }
                            $id_anni_prec .= "{$anno_prec},{$idprenota};";
                            $idprenota_corr++;
                            esegui_query("update {$tableprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tableprenota} select {$col_tableprenota} from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tableprenota} set iddatainizio = '{$iddatainizio}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableprenota} set iddatafine = '{$iddatafine}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableprenota} set id_anni_prec = '{$id_anni_prec}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("delete from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("delete from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'");
                            esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' ");
                            esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("delete from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}'");
                            esegui_query("update {$tableinterconnessioni} set idlocale = '{$idprenota_corr}', anno = '{$anno}' where idlocale = '{$idprenota}' and ( tipoid = 'prenota' or tipoid = 'mess' ) and anno = '{$anno_prec}' ");
                            $nuovo_idprenota[$idprenota] = $idprenota_corr;
                            $nuovo_iddatainizio[$idprenota] = $iddatainizio;
                            $nuovo_iddatafine[$idprenota] = $iddatafine;
                        }
                        # fine for $num1
                        esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota_corr + 1) . "' where idcostiprenota = '1'");
                        $prenota_compagne = esegui_query("select idprenota,idprenota_compagna from {$tableprenota} where idprenota_compagna != '' ");
                        $num_prenota_compagne = numlin_query($prenota_compagne);
                        for ($num1 = 0; $num1 < $num_prenota_compagne; $num1++) {
                            $idprenota = risul_query($prenota_compagne, $num1, 'idprenota');
                            $idprenota_compagna = risul_query($prenota_compagne, $num1, 'idprenota_compagna');
                            $idprenota_compagna = explode(",", $idprenota_compagna);
                            $n_idprenota_compagna = $nuovo_idprenota[$idprenota_compagna[0]];
                            for ($num2 = 1; $num2 < count($idprenota_compagna); $num2++) {
                                $n_idprenota_compagna .= "," . $nuovo_idprenota[$idprenota_compagna[$num2]];
                            }
                            esegui_query("update {$tableprenota} set idprenota_compagna = '{$n_idprenota_compagna}' where idprenota = '{$idprenota}'");
                        }
                        # fine for $num1
                        $id_costi_agg_importati = esegui_query("select idcostiprenota from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota");
                        $num_id_costi_agg_importati = numlin_query($id_costi_agg_importati);
                        for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) {
                            $idcostiprenota = risul_query($id_costi_agg_importati, $num1, 'idcostiprenota');
                            $max_idcostiprenota_prec++;
                            esegui_query("update {$tablecostiprenota} set idcostiprenota = '{$max_idcostiprenota_prec}' where idcostiprenota = '{$idcostiprenota}'");
                        }
                        # fine for $num1
                        $costi_agg_importati = esegui_query("select * from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota");
                        $num_costi_agg_importati = numlin_query($costi_agg_importati);
                        for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) {
                            $idcostiprenota = risul_query($costi_agg_importati, $num1, 'idcostiprenota');
                            $settimane = risul_query($costi_agg_importati, $num1, 'settimane');
                            if (str_replace(",", "", $settimane) != $settimane) {
                                $settimane = explode(",", $settimane);
                                $settimane_nuove = ",";
                                for ($num2 = 1; $num2 < count($settimane) - 1; $num2++) {
                                    $settimane_nuove .= $settimane[$num2] - $id_data_ini_periodi_prec + 1 . ",";
                                }
                                esegui_query("update {$tablecostiprenota} set settimane = '{$settimane_nuove}' where idcostiprenota = '{$idcostiprenota}'");
                            }
                            # fine if (str_replace(",","",$settimane) != $settimane)
                            $varperiodipermessi = risul_query($costi_agg_importati, $num1, 'varperiodipermessi');
                            if ($varperiodipermessi) {
                                $vpp_nuovi = substr($varperiodipermessi, 0, 1);
                                $varperiodipermessi = explode(",", substr($varperiodipermessi, 1));
                                for ($num2 = 0; $num2 < count($varperiodipermessi); $num2++) {
                                    $id_data_fine_vpp = explode("-", $varperiodipermessi[$num2]);
                                    $id_data_inizio_vpp = $id_data_fine_vpp[0];
                                    $id_data_fine_vpp = $id_data_fine_vpp[1];
                                    if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and $id_data_inizio_vpp <= $id_data_fine_periodi_prec) {
                                        if ($id_data_inizio_vpp < $id_data_ini_periodi_prec) {
                                            $id_data_inizio_vpp = $id_data_ini_periodi_prec;
                                        }
                                        if ($id_data_fine_vpp > $id_data_fine_periodi_prec) {
                                            $id_data_fine_vpp = $id_data_fine_periodi_prec;
                                        }
                                        $id_data_inizio_vpp = $id_data_inizio_vpp - $id_data_ini_periodi_prec + 1;
                                        $id_data_fine_vpp = $id_data_fine_vpp - $id_data_ini_periodi_prec + 1;
                                        $vpp_nuovi .= $id_data_inizio_vpp . "-" . $id_data_fine_vpp . ",";
                                    }
                                    # fine if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and...
                                }
                                # fine for $num2
                                if (strlen($vpp_nuovi) > 1) {
                                    $vpp_nuovi = substr($vpp_nuovi, 0, -1);
                                }
                                esegui_query("update {$tablecostiprenota} set varperiodipermessi = '{$vpp_nuovi}' where idcostiprenota = '{$idcostiprenota}'");
                            }
                            # fine if ($varperiodipermessi)
                            esegui_query("update {$tablecostiprenota} set idcostiprenota = '" . ($num1 + 2) . "' where idcostiprenota = '{$idcostiprenota}'");
                        }
                        # fine for $num1
                        $tariffe_importate = esegui_query("select * from {$tableperiodi_prec} where idperiodi >= '{$id_data_ini_periodi_prec}' and idperiodi <= '{$id_data_fine_periodi_prec}' ");
                        $num_tariffe_iportate = numlin_query($tariffe_importate);
                        for ($num1 = 0; $num1 < $num_tariffe_iportate; $num1 = $num1 + 1) {
                            $idperiodi = risul_query($tariffe_importate, $num1, 'idperiodi');
                            $idperiodi = $idperiodi - $id_data_ini_periodi_prec + 1;
                            for ($num2 = 1; $num2 <= $num_tariffe_tab; $num2++) {
                                $tariffa = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2);
                                if (strcmp($tariffa, "")) {
                                    esegui_query("update {$tableperiodi} set tariffa{$num2} = '{$tariffa}' where idperiodi = {$idperiodi} ");
                                }
                                $tariffap = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2 . "p");
                                if (strcmp($tariffap, "")) {
                                    esegui_query("update {$tableperiodi} set tariffa{$num2}" . "p = '{$tariffap}' where idperiodi = {$idperiodi} ");
                                }
                            }
                            # fine for $num2
                        }
                        # fine for $num1
                        $regole_prec = esegui_query("select * from {$tableregole_prec} where iddatafine >= '{$id_data_ini_periodi_prec}' ");
                        $num_regole_prec = numlin_query($regole_prec);
                        for ($num1 = 0; $num1 < $num_regole_prec; $num1 = $num1 + 1) {
                            $idregole = risul_query($regole_prec, $num1, 'idregole');
                            $app_agenzia = risul_query($regole_prec, $num1, 'app_agenzia');
                            $tariffa_chiusa = risul_query($regole_prec, $num1, 'tariffa_chiusa');
                            $tariffa_commissioni = risul_query($regole_prec, $num1, 'tariffa_commissioni');
                            $iddatainizio = risul_query($regole_prec, $num1, 'iddatainizio');
                            $motivazione = risul_query($regole_prec, $num1, 'motivazione');
                            $motivazione2 = risul_query($regole_prec, $num1, 'motivazione2');
                            if ($iddatainizio < $id_data_ini_periodi_prec) {
                                $iddatainizio = $id_data_ini_periodi_prec;
                            }
                            $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1;
                            $iddatafine = risul_query($regole_prec, $num1, 'iddatafine');
                            if ($iddatafine > $id_data_fine_periodi_prec) {
                                $iddatafine = $id_data_fine_periodi_prec;
                            }
                            $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1;
                            if ($tariffa_commissioni) {
                                esegui_query("insert into {$tableregole} (idregole,tariffa_commissioni,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_commissioni}','{$iddatainizio}','{$iddatafine}') ");
                            } else {
                                if ($tariffa_chiusa) {
                                    esegui_query("insert into {$tableregole} (idregole,tariffa_chiusa,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_chiusa}','{$iddatainizio}','{$iddatafine}') ");
                                } else {
                                    esegui_query("insert into {$tableregole} (idregole,app_agenzia,iddatainizio,iddatafine) values ('{$idregole}','{$app_agenzia}','{$iddatainizio}','{$iddatafine}') ");
                                }
                            }
                            # fine else $tariffa_commissioni)
                            if (strcmp($motivazione, "")) {
                                esegui_query("update {$tableregole} set motivazione = '" . aggslashdb($motivazione) . "' where idregole = '{$idregole}' ");
                            }
                            if (strcmp($motivazione2, "")) {
                                esegui_query("update {$tableregole} set motivazione2 = '" . aggslashdb($motivazione2) . "' where idregole = '{$idregole}' ");
                            }
                        }
                        # fine for $num1
                        $soldi_importati = esegui_query("select * from {$tablesoldi_prec} where data_inserimento >= '{$data_inizio_periodi}' and  saldo_prenota is not NULL order by idsoldi");
                        $num_soldi_importati = numlin_query($soldi_importati);
                        $idsoldi_corr = 1;
                        for ($num1 = 0; $num1 < $num_soldi_importati; $num1++) {
                            $motiv = explode(";", risul_query($soldi_importati, $num1, 'motivazione'));
                            if ($nuovo_idprenota[$motiv[3]]) {
                                $idsoldi_corr++;
                                $idsoldi_prec = risul_query($soldi_importati, $num1, 'idsoldi');
                                $n_motiv = $motiv[0] . ";" . $nuovo_iddatainizio[$motiv[3]] . ";" . $nuovo_iddatafine[$motiv[3]] . ";" . $nuovo_idprenota[$motiv[3]];
                                esegui_query("insert into {$tablesoldi} select {$col_tablesoldi} from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' ");
                                esegui_query("delete from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' ");
                                esegui_query("update {$tablesoldi} set motivazione = '{$n_motiv}' where idsoldi = '{$idsoldi_prec}' ");
                                esegui_query("update {$tablesoldi} set idsoldi = '{$idsoldi_corr}' where idsoldi = '{$idsoldi_prec}' ");
                            }
                            # fine if ($nuovo_idprenota[$motiv[3]])
                        }
                        # fine for $num1
                        $costi_importati = esegui_query("select * from {$tablecosti_prec} where datainserimento >= '{$data_inizio_periodi}' and  tipo_costo is not NULL order by idcosti");
                        $num_costi_importati = numlin_query($costi_importati);
                        $idcosti_corr = 0;
                        for ($num1 = 0; $num1 < $num_costi_importati; $num1++) {
                            $idcosti_corr++;
                            $idcosti_prec = risul_query($costi_importati, $num1, 'idcosti');
                            esegui_query("insert into {$tablecosti} select {$col_tablecosti} from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' ");
                            esegui_query("delete from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' ");
                            esegui_query("update {$tablecosti} set idcosti = '{$idcosti_corr}' where idcosti = '{$idcosti_prec}' ");
                        }
                        # fine for $num1
                        $costo_cassa = 0;
                        $data_lim = $anno + 1 . "-01-01 00:00:00";
                        $costi_cassa = esegui_query("select * from {$tablecosti} where tipo_costo = 'e' and provenienza_costo = 'p' and datainserimento < '{$data_lim}' ");
                        $num_costi_cassa = numlin_query($costi_cassa);
                        for ($num2 = 0; $num2 < $num_costi_cassa; $num2++) {
                            $costo_cassa = $costo_cassa + risul_query($costi_cassa, $num2, 'val_costo');
                        }
                        if ($costo_cassa) {
                            esegui_query("update {$tablecosti} set val_costo = '{$costo_cassa}' where idcosti = '0' ");
                        }
                        unset($cassa_prec);
                        $costi_non_importati = esegui_query("select * from {$tablecosti_prec} where tipo_costo is not NULL order by idcosti");
                        $num_costi_non_importati = numlin_query($costi_non_importati);
                        for ($num1 = 0; $num1 < $num_costi_non_importati; $num1++) {
                            $tipo_costo = risul_query($costi_non_importati, $num1, 'tipo_costo');
                            $val_costo = risul_query($costi_non_importati, $num1, 'val_costo');
                            $utente_costo = risul_query($costi_non_importati, $num1, 'utente_inserimento');
                            if ($tipo_costo == "e") {
                                $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] + (double) $val_costo;
                            } else {
                                $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] - (double) $val_costo;
                            }
                        }
                        # fine for $num1
                        if (@is_array($cassa_prec)) {
                            $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
                            reset($cassa_prec);
                            while (list($utente_costo, $val_costo) = each($cassa_prec)) {
                                $idcosti_corr++;
                                esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,persona_costo,tipo_costo,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti_corr}','{$anno_prec}','{$val_costo}','','e','{$datainserimento}','{$HOSTNAME}','{$utente_costo}') ");
                            }
                            # fine (list($utente_costo,$val_costo) = each($cassa_prec))
                        }
                        # fine if (@is_array($cassa_prec))
                        # aggiorno i messaggi con prenotazioni del nuovo anno già inserite, quelli da inserire sono aggiornati con i modelli internet
                        $messaggi_importati = esegui_query("select * from {$tablemessaggi} where stato = 'ins' and dati_messaggio18 = '{$anno_prec}' ");
                        $num_messaggi_importati = numlin_query($messaggi_importati);
                        for ($num1 = 0; $num1 < $num_messaggi_importati; $num1++) {
                            $agg_mess = 1;
                            $n_lista_pren = "";
                            $lista_pren = explode(",", risul_query($messaggi_importati, $num1, 'dati_messaggio1'));
                            for ($num2 = 0; $num2 < count($lista_pren); $num2++) {
                                if ($nuovo_idprenota[$lista_pren[$num2]]) {
                                    $n_lista_pren .= $nuovo_idprenota[$lista_pren[$num2]] . ",";
                                } else {
                                    $agg_mess = 0;
                                }
                            }
                            # fine for $num2
                            if ($agg_mess) {
                                $idmess = risul_query($messaggi_importati, $num1, 'idmessaggi');
                                $n_lista_pren = substr($n_lista_pren, 0, -1);
                                esegui_query("update {$tablemessaggi} set dati_messaggio1 = '{$n_lista_pren}', dati_messaggio18 = '{$anno}' where idmessaggi = '{$idmess}' ");
                            }
                            # fine if ($agg_mess)
                        }
                        # fine for $num1
                        # aggiorno i numeri delle prenotazioni importate nei nomi dei documenti già creati nel nuovo anno
                        $dirs_salva = esegui_query("select * from {$tablecontratti} where tipo = 'dir'");
                        $num_dirs_salva = numlin_query($dirs_salva);
                        if ($num_dirs_salva) {
                            unset($contr_salva_in);
                            $max_contr = esegui_query("select max(numero) from {$tablecontratti} where tipo {$LIKE} 'contr%'");
                            $max_contr = risul_query($max_contr, 0, 0);
                            if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") {
                                if (C_CARTELLA_DOC != "" and @is_dir(C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC)) {
                                    $dir_salva_home = C_CARTELLA_DOC;
                                } else {
                                    $dir_salva_home = "";
                                }
                            } else {
                                $dir_salva_home = C_DATA_PATH;
                            }
                            $utenti = esegui_query("select * from " . $PHPR_TAB_PRE . "utenti order by idutenti");
                            $num_utenti = numlin_query($utenti);
                            unset($nomi_contr_ut);
                            $parola_documento = mex("documento", 'visualizza_contratto.php');
                            for ($num1 = 0; $num1 < $num_utenti; $num1++) {
                                $idutente_contr = risul_query($utenti, $num1, 'idutenti');
                                for ($num2 = 1; $num2 <= $max_contr; $num2++) {
                                    $nomi_contr_ut[$idutente_contr][$num2] = $parola_documento . $num2;
                                }
                                $nomi_contratti = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}'");
                                $nomi_contratti = risul_query($nomi_contratti, 0, 'valpersonalizza');
                                $nomi_contratti = explode("#@&", $nomi_contratti);
                                $num_nomi_contratti = count($nomi_contratti);
                                for ($num2 = 0; $num2 < $num_nomi_contratti; $num2++) {
                                    $dati_nome_contratto = explode("#?&", $nomi_contratti[$num2]);
                                    $nomi_contr_ut[$idutente_contr][$dati_nome_contratto[0]] = $dati_nome_contratto[1];
                                }
                                # fine for $num2
                            }
                            # fine for $num1
                            unset($prefissi_contr);
                            for ($num1 = 0; $num1 < $num_dirs_salva; $num1++) {
                                $dir_salva = risul_query($dirs_salva, 0, 'testo');
                                if ($dir_salva == "~") {
                                    $dir_salva = $dir_salva_home;
                                }
                                if (defined('C_CARTELLA_CREA_MODELLI') and C_CARTELLA_CREA_MODELLI != "") {
                                    $dir_salva = C_CARTELLA_CREA_MODELLI . "/" . str_replace("..", "", $dir_salva);
                                }
                                if (!@is_dir($dir_salva)) {
                                    $dir_salva = "";
                                }
                                $num_contr = risul_query($dirs_salva, 0, 'numero');
                                $tipo_contratto = esegui_query("select tipo from " . $PHPR_TAB_PRE . "contratti where numero = '{$num_contr}' and tipo {$LIKE} 'contr%' ");
                                $tipo_contratto = risul_query($tipo_contratto, 0, 'tipo');
                                $suff_file = "html";
                                if ($tipo_contratto == "contrrtf") {
                                    $suff_file = "rtf";
                                }
                                if ($tipo_contratto == "contrtxt") {
                                    $suff_file = "txt";
                                }
                                $filelock_contr = fopen($dir_salva . "/crea_contr.lock", "w+");
                                flock($filelock_contr, 2);
                                for ($num2 = 0; $num2 < $num_utenti; $num2++) {
                                    $idutente_contr = risul_query($utenti, $num1, 'idutenti');
                                    if (!$prefissi_contr[$dir_salva . "/" . $nomi_contr_ut[$idutente_contr][$num_contr]]) {
                                        $nome_contratto = $nomi_contr_ut[$idutente_contr][$num_contr];
                                        $prefissi_contr[$dir_salva . "/" . $nome_contratto] = 1;
                                        $contr_dir = opendir($dir_salva . "/");
                                        while ($contr_corr = readdir($contr_dir)) {
                                            if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva . "/" . $contr_corr)) {
                                                if (substr($contr_corr, 0, strlen($nome_contratto)) == $nome_contratto) {
                                                    $resto_nome_contr = substr($contr_corr, strlen($nome_contratto));
                                                    if (substr($resto_nome_contr, 0, 6) == "_{$anno}" . "_") {
                                                        if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}(_[0-9]+(-[0-9]+)?)*\\.{$suff_file}/", "", $resto_nome_contr) == "") {
                                                            $num_pren_esist = substr($resto_nome_contr, 12);
                                                            $num_pren_esist = substr($num_pren_esist, 0, -1 * (strlen($suff_file) + 1));
                                                            if ($num_pren_esist) {
                                                                $agg_contr = 1;
                                                                $n_lista_pren = "";
                                                                $num_pren_esist = explode("_", $num_pren_esist);
                                                                for ($num3 = 0; $num3 < count($num_pren_esist); $num3++) {
                                                                    $num_pren_esist2 = explode("-", $num_pren_esist[$num3]);
                                                                    $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1];
                                                                    for ($num4 = $num_pren_esist2[0]; $num4 <= $fine_for; $num4++) {
                                                                        if (!$nuovo_idprenota[$num4]) {
                                                                            $agg_contr = 0;
                                                                            break;
                                                                        }
                                                                        # fine if (!$nuovo_idprenota[$num4])
                                                                        if ($num4 == $num_pren_esist2[0]) {
                                                                            $n_lista_pren .= "_" . $nuovo_idprenota[$num4];
                                                                        } elseif ($num4 == $fine_for) {
                                                                            $n_lista_pren .= "-" . $nuovo_idprenota[$num4];
                                                                        }
                                                                    }
                                                                    # fine for $num4
                                                                }
                                                                # fine for $num3
                                                                if ($agg_contr) {
                                                                    $n_nome_contr = $nome_contratto . substr($resto_nome_contr, 0, 11) . $n_lista_pren . ".{$suff_file}";
                                                                    rename($dir_salva . "/" . $contr_corr, $dir_salva . "/" . $n_nome_contr);
                                                                }
                                                                # fine if ($agg_contr)
                                                            }
                                                            # fine if ($num_pren_esist)
                                                        }
                                                        # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file/","",$resto_nome_contr) == "")
                                                    }
                                                    # fine if (substr($resto_nome_contr,0,6) == "_$anno"."_")
                                                }
                                                # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto)
                                            }
                                            # fine if ($contr_corr != "." and $contr_corr != ".." and...
                                        }
                                        # fine while ($fattura_corr = readdir($fatture_dir))
                                        closedir($contr_dir);
                                    }
                                    # fine if (!$prefissi_contr[$dir_salva."/".$nomi_contr_ut[$idutente_contr][$num_contr]])
                                }
                                # fine for $num2
                                flock($filelock_contr, 3);
                                fclose($filelock_contr);
                                unlink($dir_salva . "/crea_contr.lock");
                            }
                            # fine for $num1
                        }
                        # fine if ($num_dirs_salva)
                    }
                    # fine else if ($num_periodo_interferenza == 0)
                    $colonne = "idntariffe,nomecostoagg,tipo_ca,valore_ca,valore_perc_ca,arrotonda_ca,tasseperc_ca,associasett_ca,numsett_ca,moltiplica_ca,periodipermessi_ca,beniinv_ca,appincompatibili_ca,variazione_ca,mostra_ca,categoria_ca,letto_ca,numlimite_ca,regoleassegna_ca,utente_inserimento";
                    for ($num1 = 1; $num1 <= $num_tariffe_tab; $num1++) {
                        $nome_nuova_tariffa = "tariffa" . $num1;
                        $colonne .= ",{$nome_nuova_tariffa}";
                    }
                    # fine for $num1
                    esegui_query("insert into {$tablenometariffe} ({$colonne}) select {$colonne} from {$tablenometariffe_prec}");
                    $costi_agg_importati = esegui_query("select * from {$tablenometariffe} where idntariffe > 10 ");
                    $num_costi_agg_importati = numlin_query($costi_agg_importati);
                    for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) {
                        $idntariffe = risul_query($costi_agg_importati, $num1, 'idntariffe');
                        $periodipermessi = risul_query($costi_agg_importati, $num1, 'periodipermessi_ca');
                        if ($periodipermessi) {
                            $pp_nuovi = substr($periodipermessi, 0, 1);
                            $periodipermessi = explode(",", substr($periodipermessi, 1));
                            for ($num2 = 0; $num2 < count($periodipermessi); $num2++) {
                                $id_data_fine_pp = explode("-", $periodipermessi[$num2]);
                                $id_data_inizio_pp = $id_data_fine_pp[0];
                                $id_data_fine_pp = $id_data_fine_pp[1];
                                if ($id_data_fine_pp >= $id_data_ini_periodi_prec and $id_data_inizio_pp <= $id_data_fine_periodi_prec) {
                                    if ($id_data_inizio_pp < $id_data_ini_periodi_prec) {
                                        $id_data_inizio_pp = $id_data_ini_periodi_prec;
                                    }
                                    if ($id_data_fine_pp > $id_data_fine_periodi_prec) {
                                        $id_data_fine_pp = $id_data_fine_periodi_prec;
                                    }
                                    $id_data_inizio_pp = $id_data_inizio_pp - $id_data_ini_periodi_prec + 1;
                                    $id_data_fine_pp = $id_data_fine_pp - $id_data_ini_periodi_prec + 1;
                                    $pp_nuovi .= $id_data_inizio_pp . "-" . $id_data_fine_pp . ",";
                                }
                                # fine if ($id_data_fine_pp >= $id_data_ini_periodi_prec and...
                            }
                            # fine for $num2
                            if (strlen($pp_nuovi) > 1) {
                                $pp_nuovi = substr($pp_nuovi, 0, -1);
                            }
                            esegui_query("update {$tablenometariffe} set periodipermessi_ca = '{$pp_nuovi}' where idntariffe = '{$idntariffe}'");
                        }
                        # fine if ($periodipermessi)
                    }
                    # fine for $num1
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_app != ''");
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_utente != ''");
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_persone != ''");
                    esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_commissioni is not NULL and iddatainizio is NULL ");
                    $privilegi_prec = esegui_query("select * from {$tableprivilegi} where anno = '{$anno_prec}'");
                    for ($num1 = 0; $num1 < numlin_query($privilegi_prec); $num1++) {
                        $idutente_p = risul_query($privilegi_prec, $num1, 'idutente');
                        $regole1_consentite_p = risul_query($privilegi_prec, $num1, 'regole1_consentite');
                        $tariffe_consentite_p = risul_query($privilegi_prec, $num1, 'tariffe_consentite');
                        $costi_agg_consentiti_p = risul_query($privilegi_prec, $num1, 'costi_agg_consentiti');
                        $contratti_consentiti_p = risul_query($privilegi_prec, $num1, 'contratti_consentiti');
                        $cassa_pagamenti_p = aggslashdb(risul_query($privilegi_prec, $num1, 'cassa_pagamenti'));
                        $priv_ins_prenota_p = risul_query($privilegi_prec, $num1, 'priv_ins_prenota');
                        $priv_mod_prenota_p = risul_query($privilegi_prec, $num1, 'priv_mod_prenota');
                        $priv_mod_pers_p = risul_query($privilegi_prec, $num1, 'priv_mod_pers');
                        $priv_ins_clienti_p = risul_query($privilegi_prec, $num1, 'priv_ins_clienti');
                        $prefisso_clienti_p = risul_query($privilegi_prec, $num1, 'prefisso_clienti');
                        $priv_ins_costi_p = risul_query($privilegi_prec, $num1, 'priv_ins_costi');
                        $priv_vedi_tab_p = risul_query($privilegi_prec, $num1, 'priv_vedi_tab');
                        $priv_ins_tariffe_p = risul_query($privilegi_prec, $num1, 'priv_ins_tariffe');
                        $priv_ins_regole_p = risul_query($privilegi_prec, $num1, 'priv_ins_regole');
                        esegui_query("insert into {$tableprivilegi} (idutente,anno,regole1_consentite,tariffe_consentite,costi_agg_consentiti,contratti_consentiti,cassa_pagamenti,priv_ins_prenota,priv_mod_prenota,priv_mod_pers,priv_ins_clienti,prefisso_clienti,priv_ins_costi,priv_vedi_tab,priv_ins_tariffe,priv_ins_regole) values ('{$idutente_p}','{$anno}','{$regole1_consentite_p}','{$tariffe_consentite_p}','{$costi_agg_consentiti_p}','{$contratti_consentiti_p}','{$cassa_pagamenti_p}','{$priv_ins_prenota_p}','{$priv_mod_prenota_p}','{$priv_mod_pers_p}','{$priv_ins_clienti_p}','{$prefisso_clienti_p}','{$priv_ins_costi_p}','{$priv_vedi_tab_p}','{$priv_ins_tariffe_p}','{$priv_ins_regole_p}')");
                        $lingua_mex = $lingua[$idutente_p];
                        crea_menu_date(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", $tipo_periodi);
                        if (@is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php")) {
                            estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag);
                        } else {
                            copy(C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php");
                        }
                        $lingua_mex = $lingua[1];
                        $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '{$idutente_p}'");
                        if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") {
                            esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','{$idutente_p}')");
                        }
                    }
                    # fine for $num1
                    $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '1'");
                    if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") {
                        esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','1')");
                    }
                    $inserisci_in_ntariffe = "NO";
                }
                # fine if ($importa_anno_prec == "SI")
                if ($inserisci_in_ntariffe != "NO") {
                    # rigo 1: nomi tariffe; 2-3: caparra (% e arrotondo).
                    for ($numtariffe = 1; $numtariffe <= 6; $numtariffe = $numtariffe + 1) {
                        esegui_query("insert into {$tablenometariffe} (idntariffe) values ('{$numtariffe}')");
                    }
                    # fine for $numtariffe
                    esegui_query("update {$tablenometariffe} set nomecostoagg = '8' where idntariffe = '1'");
                    esegui_query("update {$tablenometariffe} set numlimite_ca = '11' where idntariffe = '1'");
                }
                # fine if ($inserisci_in_ntariffe != "NO")
                esegui_query("delete from {$tablerelclienti} where tipo = 'cc' {$lista_clienti_importati}");
                unlock_tabelle($tabelle_lock);
                if ($silenzio != "SI") {
                    echo "<br> " . mex("Anno ", $pag) . $anno . mex(" creato", $pag) . "! <br><br>";
                }
                if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI") {
                    if ($silenzio != "SI") {
                        $silenzio_mod = "SI";
                    } else {
                        $silenzio_mod = "totale";
                    }
                    global $anno_modello_presente, $num_periodi_date, $modello_esistente, $cambia_frasi, $lingua_modello, $percorso_cartella_modello, $nome_file;
                    $pag_orig = $pag;
                    $pag = "crea_modelli.php";
                    include "./includes/templates/funzioni_modelli.php";
                    $modello_esistente = "SI";
                    $cambia_frasi = "NO";
                    $anno_modello = $anno;
                    include "./includes/templates/frasi_mod_disp.php";
                    include "./includes/templates/funzioni_mod_disp.php";
                    for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                        $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                        if (@is_file("{$percorso_cartella_modello}/mdl_disponibilita.php")) {
                            $lingua_modello = "ita";
                            $nome_file = mex2("mdl_disponibilita", $pag, $lingua_modello) . ".php";
                            $num_periodi_date = "";
                            recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                            if ($anno_modello_presente == $anno_prec) {
                                aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                            }
                            # fine if ($anno_modello_presente == $anno_prec)
                        }
                        # fine if (@is_file("$percorso_cartella_modello/modello_disponibilita.php"))
                    }
                    # fine for $num_cart
                    $lang_dir = opendir("./includes/lang/");
                    include C_DATA_PATH . "/lingua.php";
                    while ($ini_lingua = readdir($lang_dir)) {
                        if ($ini_lingua != "." && $ini_lingua != "..") {
                            $nome_file = mex2("mdl_disponibilita", $pag, $ini_lingua) . ".php";
                            for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                                $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                                if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) {
                                    $lingua_modello = $ini_lingua;
                                    $num_periodi_date = "";
                                    recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                                    if ($anno_modello_presente == $anno_prec) {
                                        aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                        crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                                    }
                                    # fine if ($anno_modello_presente == $anno_prec)
                                }
                                # fine if (@is_file("$percorso_cartella_modello/$nome_file"))
                            }
                            # fine for $num_cart
                        }
                        # fine if ($file != "." && $file != "..")
                    }
                    # fine while ($file = readdir($lang_dig))
                    closedir($lang_dir);
                    $templates_dir = opendir("./includes/templates/");
                    while ($modello_ext = readdir($templates_dir)) {
                        if ($modello_ext != "." and $modello_ext != ".." and @is_dir("./includes/templates/{$modello_ext}")) {
                            include "./includes/templates/{$modello_ext}/name.php";
                            include "./includes/templates/{$modello_ext}/phrases.php";
                            include "./includes/templates/{$modello_ext}/functions.php";
                            $funz_recupera_var_modello = "recupera_var_modello_" . $modello_ext;
                            $funz_crea_modello = "crea_modello_" . $modello_ext;
                            $funz_aggiorna_var_anno_modello = "aggiorna_var_anno_modello_" . $modello_ext;
                            if ($template_file_name["ita"]) {
                                $nome_file = $template_file_name["ita"];
                            } else {
                                $nome_file = "ita_" . $template_file_name["en"];
                            }
                            for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                                $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                                if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) {
                                    $lingua_modello = "ita";
                                    $num_periodi_date = "";
                                    $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                                    if ($anno_modello_presente == $anno_prec) {
                                        $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                        $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                                    }
                                    # fine if ($anno_modello_presente == $anno_prec)
                                }
                                # fine if (@is_file("$percorso_cartella_modello/$nome_file"))
                            }
                            # fine for $num_cart
                            $lang_dir = opendir("./includes/lang/");
                            while ($ini_lingua = readdir($lang_dir)) {
                                if ($ini_lingua != "." && $ini_lingua != "..") {
                                    if ($template_file_name[$ini_lingua]) {
                                        $nome_file = $template_file_name[$ini_lingua];
                                    } else {
                                        $nome_file = $ini_lingua . "_" . $template_file_name["en"];
                                    }
                                    for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) {
                                        $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart];
                                        if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) {
                                            $lingua_modello = $ini_lingua;
                                            $num_periodi_date = "";
                                            $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE);
                                            if ($anno_modello_presente == $anno_prec) {
                                                $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi);
                                                $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi);
                                            }
                                            # fine if ($anno_modello_presente == $anno_prec)
                                        }
                                        # fine if (@is_file("$percorso_cartella_modello/$nome_file"))
                                    }
                                    # fine for $num_cart
                                }
                                # fine if ($file != "." && $file != "..")
                            }
                            # fine while ($file = readdir($lang_dir))
                            closedir($lang_dir);
                        }
                        # fine if ($modello_ext != "." and $modello_ext != ".." and...
                    }
                    # fine while ($file = readdir($lang_dig))
                    closedir($templates_dir);
                    $pag = $pag_orig;
                    if ($silenzio != "SI") {
                        echo "<br>";
                    }
                }
                # fine if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI")
            } else {
                if ($silenzio != "SI") {
                    echo mex("Non ho i permessi per creare nuove tabelle nel database", $pag) . ".<br>";
                }
            }
        } else {
            if ($silenzio != "SI") {
                echo mex("Anno già creato", $pag) . ".<br>";
            }
        }
        flock($filelock, 3);
        fclose($filelock);
        unlink(C_DATA_PATH . "/anni.lock");
    } else {
        if ($silenzio != "SI") {
            echo mex("Non ho i permessi di scrittura sulla cartella data", $pag) . ".<br>";
        }
    }
    $lingua_mex = $lingua_mex_orig;
}
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
示例#25
0
         # fine if (strcmp($admin,""))
         @unlink(C_DATA_PATH . "/ini.php");
     }
     # fine if (C_UTILIZZA_SEMPRE_DEFAULTS == "AUTO" and @is_file(C_DATI_PATH."/ini.php"))
     $tablemessaggi = $PHPR_TAB_PRE . "messaggi";
     $testo = "<div style=\"max-width: 600px; line-height: 1.1;\">";
     if (C_NASCONDI_MARCA != "SI") {
         $testo .= "<h4>" . mex("Benvenuto a HotelDruid!", $pag) . "</h4><br>";
     }
     $testo .= "" . mex("Questi sono alcuni semplici passi che puoi seguire per configurare le funzionalità di base di HotelDruid", $pag) . ":<br>\n<ul style=\"line-height: 1.2;\">\n<li>" . mex("Inserisci le informazioni sugli appartamenti dalla", 'unit.php') . "\n <em><b><a href=\"./visualizza_tabelle.php?tipo_tabella=appartamenti&amp;<sessione>\">" . mex("tabella appartamenti", 'unit.php') . "</a></b></em>, \n " . mex("utilizzando l'apposito tasto al di sotto di essa", $pag) . ". " . mex("Gli appartamenti possono essere creati, cancellati e rinominati", 'unit.php') . ". \n " . mex("Si consiglia di inserire almeno la capienza massima per ogni appartamento", 'unit.php') . ".<br><br></li>\n<li>" . mex("Inserisci il numero di tariffe, un nome per ciascuna di esse ed i prezzi corrispondenti dalla", $pag) . " \n <em><b><a href=\"./creaprezzi.php?<sessione>\">" . mex("pagina inserimento prezzi", $pag) . "</a></b></em>.\n " . mex("Considera che le tariffe di HotelDruid fungono anche da tipologie di appartamenti", 'unit.php') . " (" . mex("vedi passo successivo", $pag) . ").<br><br></li>\n<li>" . mex("Associa una lista di appartamenti ad ogni tariffa, inserendo una regola di assegnazione 2 per ognuna di esse, dalla", 'unit.php') . " \n <em><b><a href=\"./crearegole.php?<sessione>#regola2\">" . mex("pagina inserimento regole", $pag) . "</a></b></em>.\n " . mex("Ogni appatamento può essere associato a più tariffe", 'unit.php') . ".<br><br></li>\n<li>" . mex("Se questo server web è pubblico si può abilitare il login e creare nuovi utenti dalla", $pag) . "\n <em><b><a href=\"./gestione_utenti.php?<sessione>\">" . mex("pagina gestione utenti", $pag) . "</a></b></em>.<br><br></li>\n<li>" . mex("Vai alla pagina", $pag) . "\n \"<em><b><a href=\"./personalizza.php?<sessione>\">" . mex("configura e personalizza", $pag) . "</a></b></em>\"\n " . mex("per cambiare il nome della valuta, abilitare la registrazione delle entrate, inserire i metodi di pagamento, ed impostare molte altre opzioni", $pag) . ".<br><br></li>\n</ul></div>";
     if (C_NASCONDI_MARCA == "SI") {
         $testo = str_replace("HotelDruid", mex("questo programma", $pag), $testo);
     }
     $testo = aggslashdb($testo);
     $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600);
     esegui_query("insert into {$tablemessaggi} (idmessaggi,tipo_messaggio,idutenti,idutenti_visto,datavisione,mittente,testo,datainserimento) values ('1','sistema',',1,',',1,','{$datainserimento}','1','{$testo}','{$datainserimento}')");
     echo mex("Dati inseriti", $pag) . "!<br>" . mex("Tutti i data permanenti sono stati inseriti", $pag) . ".<br>";
     echo "><br>\n</div></form>\"";
     if (C_CREA_ULTIMO_ACCESSO == "SI") {
         $fileaperto = @fopen(C_DATA_PATH . "/ultimo_accesso", "w+");
         @fwrite($fileaperto, date("d-m-Y H:i:s"));
         @fclose($fileaperto);
         @chmod(C_DATA_PATH . "/ultimo_accesso", 0644);
     }
     # fine if (C_CREA_ULTIMO_ACCESSO == "SI")
 }
 # fine if ($insappartamenti and !@is_file(C_DATI_PATH."/selectappartamenti.php"))
 if ($mostra_form_iniziale != "NO") {
     // prima form di inserimento
     echo "<h4>" . mex2("Inserimento dei data permanenti", $pag, $lingua) . "</h4><br>\n" . mex2("Inserisci questi data per poi creare il database", $pag, $lingua) . ".<br>\n<br>\n<form accept-charset=\"utf-8\" method=\"post\" action=\"createdb.php\"><div>\n" . mex2("Tipo di database", $pag, $lingua) . ": \n<select name=\"tipo_db\">";
     if (C_CREADB_TIPODB == "postgresql") {
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>";
        }
    }
}
示例#27
0
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"num_tariffe_mostra\" value=\"1\">
<input type=\"hidden\" name=\"numtariffa1\" value=\"".$numtariffa1."\">
<input type=\"hidden\" name=\"azione\" value=\"SI\">
<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 = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' 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 = 'tariffa".$numtariffa1."' and tipo = 'tarcommfoto' and lingua = '$ini_lingua' 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 "".ucfirst($nome_lingua).": <input type=\"text\" name=\"n_commento_$ini_lingua\" value=\"$d_commento\" size=\"24\"><br>";
else echo "<div style=\"width: 300px;\">".ucfirst($nome_lingua).": \"<em>$d_commento</em>\"</div>";
} # fine while (list($ini_lingua,$nome_lingua) = each($lingue_vett))
if ($priv_mod_tariffe != "n") echo "<input class=\"sbutton\" type=\"submit\" value=\"".ucfirst(mex("modifica",$pag))."\">";
echo "</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=\"num_tariffe_mostra\" value=\"1\">
<input type=\"hidden\" name=\"numtariffa1\" value=\"".$numtariffa1."\">
<input type=\"hidden\" name=\"azione\" value=\"SI\">
<input type=\"hidden\" name=\"cancurlfoto\" value=\"SI\">
<input type=\"hidden\" name=\"numfoto\" value=\"$numfoto\">";
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
示例#29
0
</td><td style=\"width: 20px;\"></td><td>
<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
示例#30
0
echo "<br><form accept-charset=\"utf-8\" method=\"post\" action=\"creaanno.php\"><div>
<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>