<?php

##################################################################################
#    PHP-RESIDENCE
#    Copyright (C) 2001-2009 by Marco Maria Francesco De Santis (marco@digitaldruid.net)
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    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/>.
##################################################################################

$pag = "disponibilita.php";
$titolo = "disponibilità php-residence";

include("./dati/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);
include("./includes/liberasettimane.php");
include("./includes/spezzaprenota.php");
include("./includes/funzioni.php");
include("./includes/funzioni_tariffe.php");
include("./includes/funzioni_costi_agg.php");
include("./includes/sett_gio.php");
$tableperiodi = $PHPR_TAB_PRE."periodi".$anno;
$tableprenota = $PHPR_TAB_PRE."prenota".$anno;
$tablecostiprenota = $PHPR_TAB_PRE."costiprenota".$anno;
$tablenometariffe = $PHPR_TAB_PRE."ntariffe".$anno;
$tableregole = $PHPR_TAB_PRE."regole".$anno;
$tableappartamenti = $PHPR_TAB_PRE."appartamenti";
$tablepersonalizza = $PHPR_TAB_PRE."personalizza";
$tablecontratti = $PHPR_TAB_PRE."contratti";
$tablerelinventario = $PHPR_TAB_PRE."relinventario";


$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";
$regole1_consentite = risul_query($privilegi_annuali_utente,0,'regole1_consentite');
$attiva_regole1_consentite = substr($regole1_consentite,0,1);
$applica_regole1 = substr($regole1_consentite,1,1);
if ($attiva_regole1_consentite != "n" or $applica_regole1 == "n" or $applica_regole1 == "f") $regole1_consentite = explode("#@^",substr($regole1_consentite,3));
$tariffe_consentite = risul_query($privilegi_annuali_utente,0,'tariffe_consentite');
$attiva_tariffe_consentite = substr($tariffe_consentite,0,1);
if ($attiva_tariffe_consentite == "s") {
$tariffe_consentite = explode(",",substr($tariffe_consentite,2));
unset($tariffe_consentite_vett);
for ($num1 = 0 ; $num1 < count($tariffe_consentite) ; $num1++) if ($tariffe_consentite[$num1]) $tariffe_consentite_vett[$tariffe_consentite[$num1]] = "SI";
} # fine if ($attiva_tariffe_consentite == "s")
$costi_agg_consentiti = risul_query($privilegi_annuali_utente,0,'costi_agg_consentiti');
$attiva_costi_agg_consentiti = substr($costi_agg_consentiti,0,1);
if ($attiva_costi_agg_consentiti == "s") {
$costi_agg_consentiti = explode(",",substr($costi_agg_consentiti,2));
unset($costi_agg_consentiti_vett);
for ($num1 = 0 ; $num1 < count($costi_agg_consentiti) ; $num1++) if ($costi_agg_consentiti[$num1]) $costi_agg_consentiti_vett[$costi_agg_consentiti[$num1]] = "SI";
} # fine if ($attiva_costi_agg_consentiti == "s")
$contratti_consentiti = risul_query($privilegi_annuali_utente,0,'contratti_consentiti');
$attiva_contratti_consentiti = substr($contratti_consentiti,0,1);
if ($attiva_contratti_consentiti == "s") {
$contratti_consentiti = explode(",",substr($contratti_consentiti,2));
unset($contratti_consentiti_vett);
for ($num1 = 0 ; $num1 < count($contratti_consentiti) ; $num1++) if ($contratti_consentiti[$num1]) $contratti_consentiti_vett[$contratti_consentiti[$num1]] = "SI";
} # fine if ($attiva_contratti_consentiti == "s")
$priv_ins_prenota = risul_query($privilegi_annuali_utente,0,'priv_ins_prenota');
$priv_ins_nuove_prenota = substr($priv_ins_prenota,0,1);
$priv_ins_assegnazione_app = substr($priv_ins_prenota,1,1);
$priv_ins_costi_agg = substr($priv_ins_prenota,5,1);
$priv_ins_multiple = substr($priv_ins_prenota,9,1);
$priv_mod_prenota = risul_query($privilegi_annuali_utente,0,'priv_mod_prenota');
$priv_mod_prenotazioni = substr($priv_mod_prenota,0,1);
$priv_mod_assegnazione_app = substr($priv_mod_prenota,2,1);
$priv_vedi_tab = risul_query($privilegi_annuali_utente,0,'priv_vedi_tab');
$priv_vedi_tab_mesi = substr($priv_vedi_tab,0,1);
$priv_vedi_tab_prenotazioni = substr($priv_vedi_tab,1,1);
} # fine else if (numlin_query($privilegi_annuali_utente) == 0)
$tableutenti = $PHPR_TAB_PRE."utenti";
$nome_utente = esegui_query("select * from $tableutenti where idutenti = '$id_utente'");
$nome_utente = risul_query($nome_utente,0,'nome_utente');
} # fine if ($id_utente != 1)
else {
$anno_utente_attivato = "SI";
$modifica_pers = "SI";
$attiva_regole1_consentite = "n";
$applica_regole1 = "s";
$attiva_tariffe_consentite = "n";
$attiva_costi_agg_consentiti = "n";
$attiva_contratti_consentiti = "n";
$priv_ins_nuove_prenota = "s";
$priv_ins_assegnazione_app = "s";
$priv_ins_costi_agg = "s";
$priv_ins_multiple = "s";
$priv_mod_prenotazioni = "s";
$priv_mod_assegnazione_app = "s";
$priv_vedi_tab_mesi = "s";
$priv_vedi_tab_prenotazioni = "s";
} # fine else if ($id_utente != 1)
if ($anno_utente_attivato == "SI" and ($priv_ins_nuove_prenota == "s" or $priv_vedi_tab_mesi != "n" or $priv_vedi_tab_prenotazioni != "n")) {

if (@is_file("./dati/dati_subordinazione.php")) $priv_ins_nuove_prenota = "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");


$Euro = nome_valuta();
$stile_soldi = stile_soldi();
$stile_data = stile_data();

$file_interconnessioni = "./dati/dati_interconnessioni.php";
if (@is_file($file_interconnessioni)) {
include($file_interconnessioni);
if (@is_array($ic_present)) {
unset($interconnection_name);
$interconn_dir = opendir("./includes/interconnect/");
while ($mod_ext = readdir($interconn_dir)) {
if ($mod_ext != "." and $mod_ext != ".." and @is_dir("./includes/interconnect/$mod_ext")) {
include("./includes/interconnect/$mod_ext/name.php");
if ($ic_present[$interconnection_name] == "SI") {
include("./includes/interconnect/$mod_ext/functions_import.php");
$funz_import_reservations = "import_reservations_".$interconnection_name;
$id_utente_origi = $id_utente;
$id_utente = 1;
$funz_import_reservations("","",$file_interconnessioni,$anno,$PHPR_TAB_PRE,1,$id_utente,$HOSTNAME);
$id_utente = $id_utente_origi;
} # fine if ($ic_present[$interconnection_name] == "SI")
} # fine if ($modello_ext != "." and $modello_ext != ".." and...
} # fine while ($mod_ext = readdir($interconn_dir))
closedir($interconn_dir);
} # fine if (@is_array($ic_present))
} # fine if (@is_file($file_interconnessioni))

unset($regole2);
unset($id_periodo_corrente);

$tabelle_lock = "";
$altre_tab_lock = array("$tableprenota","$tablenometariffe","$tableperiodi","$tableappartamenti","$tableregole","$tablepersonalizza","$tablerelinventario");
$tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock);

$appartamenti = esegui_query(" select * from $tableappartamenti ");
$numappartamenti = numlin_query($appartamenti);
unset($app_richiesti);
$num_app_richiesti = 1;
$data_inizioperiodo = $inizioperiodo;
$data_inizioperiodo_f = formatta_data($data_inizioperiodo,$stile_data);
$data_fineperiodo = $fineperiodo;
$data_fineperiodo_f = formatta_data($data_fineperiodo,$stile_data);
$idinizioperiodo = esegui_query("select idperiodi from $tableperiodi where datainizio = '$inizioperiodo' ");
$num_idinizioperiodo = numlin_query($idinizioperiodo);
if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; }
else { $idinizioperiodo = risul_query($idinizioperiodo,0,'idperiodi'); }
$idfineperiodo = esegui_query("select idperiodi from $tableperiodi where datafine = '$fineperiodo' ");
$num_idfineperiodo = numlin_query($idfineperiodo);
if ($num_idfineperiodo == 0) { $idfineperiodo = -1; }
else { $idfineperiodo = risul_query($idfineperiodo,0,'idperiodi'); }
if ($modifica_pers == "NO") {
@include("./dati/selperiodimenu$anno.$id_utente.php");
if (!strpos($dates_options_list,$inizioperiodo)) $idinizioperiodo = 10000;
if (!strpos($dates_options_list,$fineperiodo)) $idfineperiodo = -1;
} # fine if ($modifica_pers == "NO")
$inizioperiodo = $idinizioperiodo;
$fineperiodo = $idfineperiodo ;
$idinizioperiodo_vett = $idinizioperiodo;
$idfineperiodo_vett = $idfineperiodo;
unset($numpersone_vett);

if ($idfineperiodo < $idinizioperiodo) {
$verificare = "NO";
echo mex("Le date sono sbagliate",$pag).". <br>";
} # fine if ($idfineperiodo < $idinizioperiodo)

unset($num_app_richiesti_invia);
unset($num_persone_invia);
$num_app_richiesti_invia[1] = 1;

$dati_tariffe = dati_tariffe($tablenometariffe);
$numpersone_orig = $numpersone;


if ($numpersone) {
unset($num_persone_casa);
unset($controlla_tariffe);
$posto = "NO";
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1 = $num1 + 1) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
$maxoccupanti = risul_query($appartamenti,$num1,'maxoccupanti');
if ($maxoccupanti and $maxoccupanti < $numpersone) {
$app_richiesti[$idapp] = "NO";
} # fine if ($maxoccupanti and $maxoccupanti < $numpersone)
else {
$app_richiesti[$idapp] = "SI";
$posto = "SI";
} # fine else if ($maxoccupanti and $maxoccupanti < $numpersone)
} # fine for $num1
$num_persone_invia[1] = $numpersone;
if ($posto == "NO") {
echo mex("Non c'è nessun appartamento che possa ospitare",$pag)." $numpersone ".mex("persone",$pag).".<br>";
$verificare = "NO";
} # fine if ($posto == "NO")
} # fine if ($numpersone)

if ($num_persone_casa) {
unset($controlla_tariffe);
$posto = "NO";
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1 = $num1 + 1) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
$maxoccupanti = risul_query($appartamenti,$num1,'maxoccupanti');
if ($maxoccupanti and $maxoccupanti != $num_persone_casa) {
$app_richiesti[$idapp] = "NO";
} # fine if ($maxoccupanti and $maxoccupanti != $num_persone_casa)
else {
$app_richiesti[$idapp] = "SI";
$posto = "SI";
} # fine else if ($maxoccupanti and $maxoccupanti != $num_persone_casa)
} # fine for $num1
if ($posto == "NO") {
echo mex("Non c'è nessun appartamento da",$pag)." $num_persone_casa ".mex("persone",$pag).".<br>";
$verificare = "NO";
} # fine if ($posto == "NO")
else {
if (controlla_num_pos($molt_app_persone_casa) == "NO" or $molt_app_persone_casa == 0 or strlen($molt_app_persone_casa) > 3 or $priv_ins_multiple == "n") $molt_app_persone_casa = 1;
$num_app_richiesti_invia[1] = $molt_app_persone_casa;
if ($molt_app_persone_casa > 1) {
$num_app_richiesti = $molt_app_persone_casa;
$app_richiesti_copia = $app_richiesti;
unset($app_richiesti);
unset($lista_app_richiesti);
unset($idinizioperiodo_vett);
unset($idfineperiodo_vett);
$app_richiesti[",numero,"] = $molt_app_persone_casa;
if (!$app_richiesti_copia) $lista_app_richiesti = ",tutti,,";
else while (list($key, $val) = each($app_richiesti_copia)) if ($val == "SI") $lista_app_richiesti .= $key.",";
$lista_app_richiesti = substr($lista_app_richiesti,0,-1);
for ($num1 = 1 ; $num1 <= $molt_app_persone_casa ; $num1++) {
$app_richiesti[$num1] = $lista_app_richiesti;
$idinizioperiodo_vett[$num1] = $idinizioperiodo;
$idfineperiodo_vett[$num1] = $idfineperiodo;
} # fine for $num1
} # fine if ($molt_app_persone_casa > 1)
} # fine else if ($posto == "NO")
} # fine if ($num_persone_casa)

if ($priv_ins_multiple == "n") unset($controlla_tariffe);
if ($priv_ins_multiple != "s") $prenota_vicine = "";
if ($controlla_tariffe) {
unset($mostra_tariffa);
unset($persone_tariffa);
$id_richiesti = 0;
$num_tipologie = 0;
unset($app_richiesti);
unset($idinizioperiodo_vett);
unset($idfineperiodo_vett);
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa = $numtariffa + 1) {
if (${"reg2_tariffa".$numtariffa} == "SI") {
if ($attiva_tariffe_consentite == "n" or $tariffe_consentite_vett[$numtariffa] == "SI") {
$tariffa = "tariffa".$numtariffa;
unset($app_regola2_predef);
$appartamenti_regola2 = trova_app_regola2($tariffa,$regole2,$num_regole2,$app_regola2_predef,$id_periodo_corrente,$idinizioperiodo,$idfineperiodo,$tipo_periodi,$anno,$tableregole);
if ($appartamenti_regola2) {
$numpersone_corr = ${"pers_reg2_tariffa".$numtariffa};
if (!$numpersone_corr) {
$regola4 = esegui_query("select * from $tableregole where tariffa_per_persone = '$tariffa'");
if (numlin_query($regola4) == 1) $numpersone_corr = risul_query($regola4,0,'iddatainizio');
} # fine if (!$numpersone_corr)
if ($numpersone_corr) {
if ($app_regola2_predef) $app_regola2_predef_orig = $app_regola2_predef;
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
$maxoccupanti = risul_query($appartamenti,$num1,'maxoccupanti');
if ($maxoccupanti and $maxoccupanti < $numpersone_corr) {
$appartamenti_regola2 = substr(str_replace(",$idapp,",",",",".$appartamenti_regola2.","),1,-1);
if ($app_regola2_predef_orig) $app_regola2_predef = substr(str_replace(",$idapp,",",",",".$app_regola2_predef.","),1,-1);
} # fine if ($maxoccupanti and $maxoccupanti < $numpersone_corr)
} # fine for $num1
if ($app_regola2_predef_orig and !$app_regola2_predef) $appartamenti_regola2 = $app_regola2_predef;
} # fine if ($numpersone_corr)
if (controlla_num_pos(${"molt_reg2_tariffa".$numtariffa}) == "NO" or ${"molt_reg2_tariffa".$numtariffa} == 0 or strlen(${"molt_reg2_tariffa".$numtariffa}) > 3) ${"molt_reg2_tariffa".$numtariffa} = 1;
for ($num1 = 1 ; $num1 <= ${"molt_reg2_tariffa".$numtariffa} ; $num1++) {
$id_richiesti++;
$app_richiesti[$id_richiesti] = $appartamenti_regola2;
$idinizioperiodo_vett[$id_richiesti] = $idinizioperiodo;
$idfineperiodo_vett[$id_richiesti] = $idfineperiodo;
$numpersone_vett[$id_richiesti] = $numpersone_corr;
} # fine for $num1
$mostra_tariffa[$numtariffa] = ${"molt_reg2_tariffa".$numtariffa};
$persone_tariffa[$numtariffa] = $numpersone_corr;
$num_tipologie++;
$tariffa_invia[$num_tipologie] = $tariffa;
$num_app_richiesti_invia[$num_tipologie] = ${"molt_reg2_tariffa".$numtariffa};
$num_persone_invia[$num_tipologie] = $numpersone_corr;
} # fine if ($appartamenti_regola2)
} # fine if ($attiva_tariffe_consentite == "n" or $tariffe_consentite_vett[$numtariffa] == "SI")
} # fine if (${"reg2_tariffa".$numtariffa} == "SI")
} # fine for $numtariffa
$costo_totale_tariffe = 0;
if ($id_richiesti > 0) {
$app_richiesti[',numero,'] = $id_richiesti;
if ($prenota_vicine == "SI") $app_richiesti[',vicini,'] = "SI";
} # fine if ($id_richiesti > 0)
else unset($controlla_tariffe);
} # fine if ($controlla_tariffe)
else $num_tipologie = 1;

$num_prenota_tot = 0;
for ($num1 = 1 ; $num1 <= $num_tipologie ; $num1++) $num_prenota_tot = $num_prenota_tot + $num_app_richiesti_invia[$num1];


# se vi sono costi con appartamenti incompatibili
$app_incomp_costi = "";
$dati_ca = dati_costi_agg_ntariffe($tablenometariffe,$dati_tariffe['num']);
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($dati_ca[$numca]['mostra'] == "s") {
$numcostoagg = ${"numcostoagg".$dati_ca[$numca]['id']};
if ($priv_ins_costi_agg != "s" or ($attiva_costi_agg_consentiti != "n" and $costi_agg_consentiti_vett[$$idcostoagg] != "SI")) ${"costoagg".$numcostoagg} = "";
if (${"costoagg".$numcostoagg} == "SI" and $dati_ca[$numca]['appincompatibili']) $app_incomp_costi .= ",".$dati_ca[$numca]['appincompatibili'];
} # fine if ($dati_ca[$num_costo][mostra] == "s")
} # fine for $numca
if ($app_incomp_costi) {
$app_incomp_costi .= ",";
if ($app_richiesti[',numero,']) {
for ($n_r = 1 ; $n_r <= $app_richiesti[",numero,"] ; $n_r++) {
$lista_app_richiesti = ",".$app_richiesti[$n_r].",";
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
if (str_replace(",$idapp,","",$app_incomp_costi) != $app_incomp_costi) {
$app_richiesti[$n_r] = substr(str_replace(",$idapp,",",",",".$app_richiesti[$n_r].","),1,-1);
} # fine if (str_replace(",$idapp,","",$app_incomp_costi) != $app_incomp_costi)
} # fine for $num1
} # fine for $n_r
} # fine if ($app_richiesti[',numero,'])
else {
$app_richiesti_copia = $app_richiesti;
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") {
if (str_replace(",$idapp,","",$app_incomp_costi) != $app_incomp_costi) $app_richiesti[$idapp] = "NO";
else $app_richiesti[$idapp] = "SI";
} # fine if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI")
} # fine for $num1
} # fine else if ($app_richiesti[',numero,'])
} # fine if ($app_incomp_costi)

# se vi sono costi con beni inventario dall'appartamento
for ($numca = 1 ; $numca <= $dati_ca['num'] ; $numca++) {
$numcostoagg = ${"numcostoagg".$dati_ca[$numca]['id']};
if ($dati_ca[$numca]['tipo_beniinv'] == "app" and ${"costoagg".$numcostoagg} == "SI" and $dati_ca[$numca]['mostra'] == "s") {
$nrc = "";
$settimane_costo = calcola_settimane_costo($tableperiodi,$dati_ca,$numca,$idinizioperiodo,$idfineperiodo,"",aggslashdb(${"numsettimane".$numcostoagg}));
if ($app_richiesti[',numero,']) {
for ($n_r = 1 ; $n_r <= $app_richiesti[",numero,"] ; $n_r++) {
$numpersone_corr = $numpersone;
if ($numpersone_vett[$n_r]) $numpersone_corr = $numpersone_vett[$n_r];
calcola_moltiplica_costo($dati_ca,$numca,$moltiplica_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo,aggslashdb(${"nummoltiplica_ca".$numcostoagg}),$numpersone_corr,"");
$lista_app_richiesti = ",".$app_richiesti[$n_r].",";
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
if (str_replace(",$idapp,","",",".$app_richiesti[$n_r].",") != ",".$app_richiesti[$n_r].",") {
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$numca,$beniinv_presenti,$nrc,"",$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica_costo,$idapp);
if ($risul != "SI") {
$app_richiesti[$n_r] = substr(str_replace(",$idapp,",",",",".$app_richiesti[$n_r].","),1,-1);
$app_incomp_costi = "SI";
} # fine ($risul != "SI")
} # fine if (str_replace(",$idapp,","",",".$app_richiesti[$n_r].",") != ",".$app_richiesti[$n_r].",")
} # fine for $num1
} # fine for $n_r
} # fine if ($app_richiesti[',numero,'])
else {
calcola_moltiplica_costo($dati_ca,$numca,$moltiplica_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo,aggslashdb(${"nummoltiplica_ca".$numcostoagg}),$numpersone,"");
$app_richiesti_copia = $app_richiesti;
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") {
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$numca,$beniinv_presenti,$nrc,"",$idinizioperiodo,$idfineperiodo,$settimane_costo,$moltiplica_costo,$idapp);
if ($risul != "SI") {
$app_richiesti[$idapp] = "NO";
$app_incomp_costi = "SI";
} # fine if ($risul != "SI")
else $app_richiesti[$idapp] = "SI";
} # fine if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI")
} # fine for $num1
} # fine else if ($app_richiesti[',numero,'])
} # fine if ($dati_ca[$num_costo]['tipo_beniinv'] == "app" and ${"costoagg".$numcostoagg} == "SI" and...
} # fine for $numca


if ($attiva_regole1_consentite == "s" and $verificare != "NO") {
unset($condizioni_regole1_consentite);
unset($app_richiesti_copia);
unset($lista_app_richiesti);
for ($num1 = 0 ; $num1 < count($regole1_consentite) ; $num1++) if ($regole1_consentite[$num1]) $condizioni_regole1_consentite .= "motivazione = '".$regole1_consentite[$num1]."' or ";
if (!$condizioni_regole1_consentite) {
echo mex("Non c'è nussun periodo delle regole 1 in cui sia consentito inserire prenotazioni per l'utente",$pag)." $nome_utente.<br>";
$verificare = "NO";
} # fine if (!$condizioni_regole1_consentite)
else {
$condizioni_regole1_consentite = "(".str_replace("motivazione = ' '","motivazione = '' or motivazione is null",substr($condizioni_regole1_consentite,0,-4)).")";
$app_richiesti_copia = $app_richiesti;
if (!$app_richiesti[",numero,"]) {
unset($app_richiesti);
$app_richiesti[",numero,"] = 1;
if (!$app_richiesti_copia) $lista_app_richiesti = ",tutti,,";
else while (list($key, $val) = each($app_richiesti_copia)) if ($val == "SI") $lista_app_richiesti .= $key.",";
$app_richiesti[1] = substr($lista_app_richiesti,0,-1);
$app_richiesti_copia = $app_richiesti;
unset($idinizioperiodo_vett);
unset($idfineperiodo_vett);
$idinizioperiodo_vett[1] = $idinizioperiodo;
$idfineperiodo_vett[1] = $idfineperiodo;
} # fine if (!$app_richiesti[",numero,"])
for ($n_r = 1 ; $n_r <= $app_richiesti[",numero,"] ; $n_r++) {
$lista_app_richiesti = ",".$app_richiesti[$n_r].",";
unset($lista_app_richiesti2);
$posti = 0;
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,idappartamenti);
if ($lista_app_richiesti == ",,tutti,," or str_replace(",$idapp,","",$lista_app_richiesti) != $lista_app_richiesti) {
$appartamento_consentito = esegui_query("select idregole,iddatainizio,iddatafine from $tableregole where app_agenzia = '$idapp' and iddatainizio <= '$idfineperiodo' and iddatafine >= '$idinizioperiodo' and $condizioni_regole1_consentite order by iddatainizio");
unset($iddatainizio_regole_tot);
unset($iddatafine_regole_tot);
for ($num2 = 0 ; $num2 < numlin_query($appartamento_consentito) ; $num2++) {
$iddatainizio_regola = risul_query($appartamento_consentito,$num2,'iddatainizio');
$iddatafine_regola = risul_query($appartamento_consentito,$num2,'iddatafine');
if ($num2 == 0) {
$iddatainizio_regole_tot = $iddatainizio_regola;
$iddatafine_regole_tot = $iddatafine_regola;
} # fine if ($num2 == 0)
else {
if ($iddatainizio_regola == ($iddatafine_regole_tot + 1)) $iddatafine_regole_tot = $iddatafine_regola;
else break;
} # fine else if ($num2 == 0)
} # fine for $num2
if (numlin_query($appartamento_consentito) > 0 and $iddatainizio_regole_tot <= $idinizioperiodo and $iddatafine_regole_tot >= $idfineperiodo) {
$posti++;
$lista_app_richiesti2 .= $idapp.",";
} # fine if (numlin_query($appartamento_consentito) > 0 and...
} # fine if ($lista_app_richiesti == ",,tutti,," or...
} # fine for $num1
$lista_app_richiesti2 = substr($lista_app_richiesti2,0,-1);
if ($posti == 0) {
echo mex("Non c'è nessun appartamento tra quelli richiesti in cui sia consentito inserire prenotazioni per l'utente",$pag)." $nome_utente";
if ($num_tipologie > 1) echo " (".mex("tipologia",$pag)." $n_t)";
echo ".<br>";
$verificare = "NO";
} # fine if ($posti == 0)
else $app_richiesti[$n_r] = $lista_app_richiesti2;
} # fine for $n_r
} # fine else if (!$condizioni_regole1_consentite)
} # fine if ($attiva_regole1_consentite == "s" and $verificare != "NO")

# se si possono usare solo alcuni appartamenti a causa delle tariffe consentite e le rispettive regole 2
if (($priv_mod_assegnazione_app != "s" or $priv_mod_prenotazioni != "s") and ($priv_ins_assegnazione_app != "s" or $priv_ins_nuove_prenota != "s") and $verificare != "NO") {
unset($appartamenti_consentiti_regola2);
unset($app_richiesti_copia);
unset($lista_app_richiesti);
$tutti_app_consentiti = "NO";
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
if ($attiva_tariffe_consentite == "n" or $tariffe_consentite_vett[$numtariffa] == "SI") {
$tariffa = "tariffa".$numtariffa;
$appartamenti_regola2 = trova_app_regola2($tariffa,$regole2,$num_regole2,$app_regola2_predef,$id_periodo_corrente,$idinizioperiodo,$idfineperiodo,$tipo_periodi,$anno,$tableregole);
if (!$appartamenti_regola2) {
$tutti_app_consentiti = "SI";
break;
} # fine if (!$appartamenti_regola2)
else {
$appartamenti_regola2 = explode(",",$appartamenti_regola2);
for ($num1 = 0 ; $num1 < count($appartamenti_regola2) ; $num1++) $appartamenti_consentiti_regola2[$appartamenti_regola2[$num1]] = "SI";
} # fine else if (!$appartamenti_regola2)
} # fine if ($attiva_tariffe_consentite == "n" or $tariffe_consentite_vett[$numtariffa] == "SI")
} # fine for $numtariffa
if ($tutti_app_consentiti != "SI") {
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$id_appartamento = risul_query($appartamenti,$num1,'idappartamenti');
if ($appartamenti_consentiti_regola2[$id_appartamento] != "SI") $appartamenti_consentiti_regola2[$id_appartamento] = "NO";
} # fine for $num1
} # fine if ($tutti_app_consentiti != "SI")
$app_richiesti_copia = $app_richiesti;
if (!$app_richiesti[",numero,"]) {
unset($app_richiesti);
$app_richiesti[",numero,"] = 1;
if (!$app_richiesti_copia) $lista_app_richiesti = ",tutti,,";
else while (list($key, $val) = each($app_richiesti_copia)) if ($val == "SI") $lista_app_richiesti .= $key.",";
$app_richiesti[1] = substr($lista_app_richiesti,0,-1);
$app_richiesti_copia = $app_richiesti;
unset($idinizioperiodo_vett);
unset($idfineperiodo_vett);
$idinizioperiodo_vett[1] = $idinizioperiodo;
$idfineperiodo_vett[1] = $idfineperiodo;
} # fine if (!$app_richiesti[",numero,"])
for ($n_r = 1 ; $n_r <= $app_richiesti[",numero,"] ; $n_r++) {
$lista_app_richiesti = ",".$app_richiesti[$n_r].",";
unset($lista_app_richiesti2);
$posti = 0;
for ($num1 = 0 ; $num1 < $numappartamenti ; $num1++) {
$idapp = risul_query($appartamenti,$num1,'idappartamenti');
if ($lista_app_richiesti == ",,tutti,," or str_replace(",$idapp,","",$lista_app_richiesti) != $lista_app_richiesti) {
if ($appartamenti_consentiti_regola2[$idapp] != "NO") {
$posti++;
$lista_app_richiesti2 .= $idapp.",";
} # fine if ($appartamenti_consentiti_regola2[$idapp] != "NO")
} # fine if ($lista_app_richiesti == ",,tutti,," or...
} # fine for $num1
$lista_app_richiesti2 = substr($lista_app_richiesti2,0,-1);
if ($posti == 0) {
echo mex("Non c'è nessun appartamento tra quelli richiesti in cui sia consentito inserire prenotazioni per l'utente",$pag)." $nome_utente";
if ($num_tipologie > 1) echo " (".mex("tipologia",$pag)." $n_t)";
echo ".<br>";
$verificare = "NO";
} # fine if ($posti == 0)
else $app_richiesti[$n_r] = $lista_app_richiesti2;
} # fine for $n_r
} # fine if (($priv_mod_assegnazione_app != "s" or...

if ($verificare != "NO") {
for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1 = $num1 + 1) {
$prenotazioni=esegui_query("select * from $tableprenota where iddatainizio <= $num1 and iddatafine >= $num1");
$numprenotazioni = numlin_query($prenotazioni);
$rigasettimana = esegui_query("select * from $tableperiodi where idperiodi = '$num1' ");
if ($numprenotazioni >= $numappartamenti) {
$verificare = "NO";
$inizioperiodopieno = risul_query($rigasettimana,0,'datainizio');
$inizioperiodopieno_f = formatta_data($inizioperiodopieno,$stile_data);
$fineperiodopieno = risul_query($rigasettimana,0,'datafine');
$fineperiodopieno_f = formatta_data($fineperiodopieno,$stile_data);
echo mex("$parola_La $parola_settimana dal",$pag)." $inizioperiodopieno_f ".mex("al",$pag)." $fineperiodopieno_f ".mex("è pien$lettera_a",$pag).".<br>";
} # fine if ($numprenotazioni >= $numappartamenti)
} # fine for $num1
} # fine if ($verificare != "NO")



if ($verificare != "NO") {


unset($limiti_var);
unset($profondita);
unset($dati_app);
$limiti_var['idperiodocorrente'] = calcola_id_periodo_corrente($anno);
if ($idinizioperiodo < $limiti_var['idperiodocorrente']) $n_ini = $idinizioperiodo;
else $n_ini = $limiti_var['idperiodocorrente'];
$limiti_var['n_ini'] = $n_ini;
$max_periodo = esegui_query("select max(idperiodi) from $tableperiodi");
$max_periodo = risul_query($max_periodo,0,0);
if ($idfineperiodo <= $limiti_var['idperiodocorrente']) $n_fine = $idfineperiodo;
else $n_fine = $max_periodo;
$limiti_var['n_fine'] = $n_fine;

if ($priv_vedi_tab_mesi != "n") {
$mostra_quadro_disp = esegui_query("select valpersonalizza from $tablepersonalizza where idpersonalizza = 'mostra_quadro_disp' and idutente = '$id_utente'");
$mostra_quadro_disp = risul_query($mostra_quadro_disp,0,'valpersonalizza');
} # fine if ($priv_vedi_tab_mesi != "n")
else $mostra_quadro_disp = "";
if ($mostra_quadro_disp) {
if ($tipo_periodi == "s") $num_colonne_tab_disp = 5;
else $num_colonne_tab_disp = 32;
$id_data_inizio_tab_disp = (floor(( (double) $idinizioperiodo + (double) $idfineperiodo) / 2) - floor((double) $num_colonne_tab_disp / 2));
if (($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1) > $max_periodo) $id_data_inizio_tab_disp = ($max_periodo - $num_colonne_tab_disp + 1);
if ($id_data_inizio_tab_disp < 1) $id_data_inizio_tab_disp = 1;
if ($num_colonne_tab_disp > $max_periodo) $num_colonne_tab_disp = $max_periodo;
if ($limiti_var['n_ini'] > $id_data_inizio_tab_disp) $limiti_var['n_ini'] = $id_data_inizio_tab_disp;
if ($limiti_var['n_fine'] < ($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1)) $limiti_var[n_fine] = ($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1);
} # fine if ($mostra_quadro_disp)

$profondita['iniziale'] = "";
$profondita['attuale'] = 1;
$max_prenota = esegui_query("select max(idprenota) from $tableprenota");
$tot_prenota = risul_query($max_prenota,0,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($condizioni_regole1_non_sel);
if ($applica_regole1 == "n" or ($applica_regole1 == "f" and $attiva_regole1_consentite != "n")) {
for ($num1 = 0 ; $num1 < count($regole1_consentite) ; $num1++) if ($regole1_consentite[$num1]) $condizioni_regole1_non_sel .= "motivazione != '".$regole1_consentite[$num1]."' and ";
if ($condizioni_regole1_non_sel) $condizioni_regole1_non_sel = " and (".str_replace("motivazione != ' '","motivazione != '' and motivazione is not null",substr($condizioni_regole1_non_sel,0,-5)).")";
} # fine if ($applica_regole1 == "n" or ($applica_regole1 == "f" and...
$app_agenzia = esegui_query("select * from $tableregole where app_agenzia != ''$condizioni_regole1_non_sel");
if ($applica_regole1 != "m") $num_app_agenzia = numlin_query($app_agenzia);
else $num_app_agenzia = 0;

unlock_tabelle($tabelle_lock);


if ($num_app_agenzia != 0) {
$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;
$info_periodi_ag['numero'] = $num_app_agenzia;
for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1++) {
$info_periodi_ag['app'][$num1] = risul_query($app_agenzia,$num1,'app_agenzia');
$info_periodi_ag['ini'][$num1] = risul_query($app_agenzia,$num1,'iddatainizio');
$info_periodi_ag['fine'][$num1] = risul_query($app_agenzia,$num1,'iddatafine');
$id_app_agenzia[$num1] = $info_periodi_ag['app'][$num1];
$idinizio_app_agenzia[$num1] = $info_periodi_ag['ini'][$num1];
$idfine_app_agenzia[$num1] = $info_periodi_ag['fine'][$num1];
$motivazione_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'motivazione');
} # fine for $num1
inserisci_prenota_fittizie($info_periodi_ag,$profondita2,$app_prenota_id2,$inizio_prenota_id2,$fine_prenota_id2,$prenota_in_app_sett2,$app_assegnabili_id2);
for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $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_var,$anno,$fatto_libera,$app_liberato_vett,$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");
} # fine if ($occupare_app_agenzia_sempre != "SI")
if ($fatto_libera == "SI") {
echo mex("<b>C'è</b> ancora disponibilità nel periodo richiesto",$pag);
if ($numpersone) echo mex(" in un appartamento da <b>almeno",$pag)." $numpersone ".mex("persone",$pag)."</b>";
if ($num_persone_casa) {
if (!$app_richiesti[",numero,"]) echo mex(" in un appartamento da",$pag)." <b>$num_persone_casa ".mex("persone",$pag)."</b>";
else echo mex(" in",$pag)." <b>".$app_richiesti[",numero,"]."</b> ".mex("appartamenti da",$pag)." <b>$num_persone_casa ".mex("persone",$pag)."</b>";
} # fine if ($num_persone_casa)
if ($controlla_tariffe) {
if ($app_richiesti[",numero,"] == 1) echo mex(" in un appartamento della <b>tariffa selezionata</b>",$pag);
else {
echo mex(" in",$pag)." <b>".$app_richiesti[",numero,"]."</b> ";
if ($app_richiesti[",vicini,"] != "SI") echo mex("appartamenti delle <b>tariffe selezionate</b>",$pag);
else echo mex("appartamenti vicini delle <b>tariffe selezionate</b>",$pag);
} # fine else if ($app_richiesti[",numero,"] == 1)
} # fine if ($controlla_tariffe)
echo ".<br>";
$liberato = "SI";
} # fine if ($fatto_libera == "SI")
else $limiti_var['t_limite'] = (time() + $sec_limite_libsett);
} # fine if ($num_app_agenzia != 0)

if ($liberato != "SI") {
$app_orig_prenota_id = $app_prenota_id;
liberasettimane($idinizioperiodo_vett,$idfineperiodo_vett,$limiti_var,$anno,$fatto_libera,$app_liberato_vett,$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 ($num_app_agenzia != 0 and ($applica_regole1 == "f" and $attiva_regole1_consentite != "n")) $fatto_libera = "NO";
if ($fatto_libera == "SI") {
echo mex("<b>C'è</b> ancora disponibilità nel periodo richiesto",$pag);
if ($numpersone) echo mex(" in un appartamento da <b>almeno",$pag)." $numpersone ".mex("persone",$pag)."</b>";
if ($num_persone_casa) {
if (!$app_richiesti[",numero,"]) echo mex(" in un appartamento da",$pag)." <b>$num_persone_casa ".mex("persone",$pag)."</b>";
else echo mex(" in",$pag)." <b>".$app_richiesti[",numero,"]."</b> ".mex("appartamenti da",$pag)." <b>$num_persone_casa ".mex("persone",$pag)."</b>";
} # fine if ($num_persone_casa)
if ($controlla_tariffe) {
if ($app_richiesti[",numero,"] == 1) echo mex(" in un appartamento della <b>tariffa selezionata</b>",$pag);
else {
echo mex(" in",$pag)." <b>".$app_richiesti[",numero,"]."</b> ";
if ($app_richiesti[",vicini,"] != "SI") echo mex("appartamenti delle <b>tariffe selezionate</b>",$pag);
else echo mex("appartamenti vicini delle <b>tariffe selezionate</b>",$pag);
} # fine else if ($app_richiesti[",numero,"] == 1)
} # fine if ($controlla_tariffe)
if ($num_app_agenzia != 0) {
echo mex(", ma si dovranno fare degli spostamenti nei periodi della <div style=\"display: inline; color: blue;\">regola di assegnazione 1</div>",$pag)." (";
for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1++) {
for ($num2 = 1 ; $num2 <= $num_app_richiesti ; $num2++) {
if ($num_app_richiesti == 1) $app_liberato = $app_liberato_vett;
else $app_liberato = $app_liberato_vett[$num2];
if ($app_liberato == $id_app_agenzia[$num1] and $idinizioperiodo <= $idfine_app_agenzia[$num1] and $idfineperiodo >= $idinizio_app_agenzia[$num1]) {
if ($motivazione_presente[$motivazione_app_agenzia[$num1]] != "SI") {
$motivazione_presente[$motivazione_app_agenzia[$num1]] = "SI";
if (!$lista_motivazione) $lista_motivazione = "<b>".$motivazione_app_agenzia[$num1]."</b>";
else $lista_motivazione .= ", <b>".$motivazione_app_agenzia[$num1]."</b>";
} # fine if ($motivazione_presente[$motivazione_app_agenzia[$num1]] != "SI")
} # fine if ($app_liberato == $id_app_agenzia[$num1] and...
} # fine for $num2
} # fine for $num1
if (@is_array($app_orig_prenota_id)) {
reset($app_orig_prenota_id);
while (list($idprenota, $app_prenota) = each($app_orig_prenota_id)) {
if ($app_prenota_id[$idprenota] != $app_prenota) {
for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1 = $num1 + 1) {
if (($app_prenota_id[$idprenota] == $id_app_agenzia[$num1] or $app_prenota == $id_app_agenzia[$num1]) and $inizio_prenota_id[$idprenota] <= $idfine_app_agenzia[$num1] and $fine_prenota_id[$idprenota] >= $idinizio_app_agenzia[$num1]) {
if ($motivazione_presente[$motivazione_app_agenzia[$num1]] != "SI") {
$motivazione_presente[$motivazione_app_agenzia[$num1]] = "SI";
if (!$lista_motivazione) $lista_motivazione = "<b>".$motivazione_app_agenzia[$num1]."</b>";
else $lista_motivazione .= ", <b>".$motivazione_app_agenzia[$num1]."</b>";
} # fine if ($motivazione_presente[$motivazione_app_agenzia[$num1]] != "SI")
} # fine if (($app_prenota_id[$idprenota] == $id_app_agenzia[$num1] or...
} # fine for $num1
} # fine if ($app_prenota_id[$idprenota] != $app_prenota)
} # fine while (list($key, $val) = each($app_orig_prenota_id))
} # fine if (@is_array($app_orig_prenota_id))
echo $lista_motivazione.")";
} # fine if ($num_app_agenzia != 0)
echo ".<br>";
$liberato = "SI";
} # fine if ($fatto_libera == "SI")
else {
echo mex("<b>Non c'è</b> più disponibilità nel periodo richiesto",$pag);
if ($app_incomp_costi) $frase_app_incomp_costi = " ".mex("con i costi aggiuntivi selezionati",$pag);
else $frase_app_incomp_costi = "";
if ($numpersone) echo mex(" in un appartamento da <b>almeno",$pag)." $numpersone ".mex("persone",$pag)."</b>";
if ($num_persone_casa) {
if (!$app_richiesti[",numero,"]) echo mex(" in un appartamento da",$pag)." <b>$num_persone_casa ".mex("persone",$pag)."</b>";
else echo mex(" in",$pag)." <b>".$app_richiesti[",numero,"]."</b> ".mex("appartamenti da",$pag)." <b>$num_persone_casa ".mex("persone",$pag)."</b>";
} # fine if ($num_persone_casa)
if ($controlla_tariffe) {
if ($app_richiesti[",numero,"] == 1) echo mex(" in un appartamento della <b>tariffa selezionata</b>",$pag)."$frase_app_incomp_costi.<br>";
else {
echo mex(" in",$pag)." <b>".$app_richiesti[",numero,"]."</b> ";
if ($app_richiesti[",vicini,"] != "SI") echo mex("appartamenti delle <b>tariffe selezionate</b>",$pag)."$frase_app_incomp_costi.<br>";
else {
echo mex("appartamenti vicini delle <b>tariffe selezionate</b>",$pag).".<br>
<form accept-charset=\"utf-8\" method=\"post\" action=\"disponibilita.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"inizioperiodo\" value=\"$data_inizioperiodo\">
<input type=\"hidden\" name=\"fineperiodo\" value=\"$data_fineperiodo\">
<input type=\"hidden\" name=\"num_persone_casa\" value=\"$num_persone_casa\">
<input type=\"hidden\" name=\"molt_app_persone_casa\" value=\"$molt_app_persone_casa\">
<input type=\"hidden\" name=\"numpersone\" value=\"$numpersone\">
<input type=\"hidden\" name=\"controlla_tariffe\" value=\"$controlla_tariffe\">";
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
echo "<input type=\"hidden\" name=\"reg2_tariffa$numtariffa\" value=\"".${"reg2_tariffa".$numtariffa}."\">
<input type=\"hidden\" name=\"molt_reg2_tariffa$numtariffa\" value=\"".${"molt_reg2_tariffa".$numtariffa}."\">
<input type=\"hidden\" name=\"pers_reg2_tariffa$numtariffa\" value=\"".${"pers_reg2_tariffa".$numtariffa}."\">";
} # fine for $numtariffa
echo "<input class=\"sbutton\" type=\"submit\" value=\"".mex("Riprova senza cercare appartamenti vicini",$pag)."\">
</div></form>";
} # fine else if ($app_richiesti[",vicini,"] != "SI")
} # fine else if ($app_richiesti[",numero,"] == 1)
} # fine if ($controlla_tariffe)
else echo "$frase_app_incomp_costi.<br>";
} # fine else if ($fatto_libera == "SI")
} # fine if ($liberato != "SI")

if ($liberato != "SI" and !$num_persone_casa and !$controlla_tariffe and !$app_richiesti[",numero,"] and !$app_incomp_costi) {
$app_prenota_id = $app_orig_prenota_id;
spezzaprenota($inizioperiodo,$fineperiodo,$anno,$limiti_var,$profondita,$n_tronchi,$vet_appartamenti,$vett_idinizio,$vett_idfine,$numpersone,$app_prenota_id,$app_orig_prenota_id,$inizio_prenota_id,$fine_prenota_id,$app_assegnabili_id,$prenota_in_app_sett,$dati_app);
if ($n_tronchi != -1) {
echo mex("Si potrebbe inserire la prenotazione dividendola in",$pag)." <b>$n_tronchi ".mex("parti",$pag)."</b>.<br>";
$liberato = "SI";
} # fine if ($n_tronchi != -1)
} # fine if ($liberato != "SI" and !$num_persone_casa and !$controlla_tariffe and...


$tabelle_lock = "";
$altre_tab_lock = array("$tableprenota","$tablecostiprenota","$tablenometariffe","$tableperiodi","$tableappartamenti","$tableregole","$tablepersonalizza","$tablerelinventario");
$tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock);


if ($liberato == "SI") {
$form_regola2 = "NO";
$lunghezza_perioido = $fineperiodo - $inizioperiodo + 1;
echo "<br>".mex("Periodo di",$pag)." <b>$lunghezza_perioido</b> ";
if ($lunghezza_perioido == 1) echo mex("$parola_settimana",$pag);
else echo mex("$parola_settimane",$pag);
echo " ".mex("dal",$pag)." $data_inizioperiodo_f ".mex("al",$pag)." $data_fineperiodo_f.<br><br>
<form accept-charset=\"utf-8\" method=\"post\" action=\"disponibilita.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"inizioperiodo\" value=\"$data_inizioperiodo\">
<input type=\"hidden\" name=\"fineperiodo\" value=\"$data_fineperiodo\">
<input type=\"hidden\" name=\"controlla_tariffe\" value=\"SI\">
<table cellspacing=0 cellpadding=0 border=0>";
$dati_tariffe = dati_tariffe($tablenometariffe);
unset($continuare_vett);
unset($app_regola2_vett);
unset($app_regola2_orig);
unset($num_app_reg2_vett);
unset($num_pers_regola4);

unset($app_richiesti_orig);
for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) {
$numapp = $dati_app['posizione'][$num1];
if (!$app_richiesti) $app_richiesti_orig[$numapp] = "SI";
else if (!$app_richiesti[',numero,'] and $app_richiesti[$numapp] == "SI") $app_richiesti_orig[$numapp] = "SI";
if ($app_richiesti[",numero,"]) {
for ($n_r = 1 ; $n_r <= $app_richiesti[',numero,'] ; $n_r++) {
if (str_replace(",$numapp,","",",".$app_richiesti[$n_r].",") != ",".$app_richiesti[$n_r]."," or $app_richiesti[$n_r] == ",tutti,") $app_richiesti_orig[$numapp] = "SI";
} # fine for $n_r
} # fine ($app_richiesti[",numero,"])
} # fine for $num1

# Controllo per ogni tariffa se esistono i prezzi, i permessi, se vi sono appartamenti compatibili
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
$tariffa = "tariffa".$numtariffa;
if ($attiva_tariffe_consentite != "n" and $tariffe_consentite_vett[$numtariffa] != "SI") $continuare_vett[$numtariffa] = "NO";
else {
$app_richiesti_corr = $app_richiesti_orig;
$numpersone = $numpersone_orig;
if ($persone_tariffa[$numtariffa]) $numpersone = $persone_tariffa[$numtariffa];
if (!$numpersone) {
$regola4 = esegui_query("select * from $tableregole where tariffa_per_persone = '$tariffa'");
if (numlin_query($regola4) == 1) {
$numpersone = risul_query($regola4,0,'iddatainizio');
$num_pers_regola4[$numtariffa] = $numpersone;
for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) {
$numapp = $dati_app['posizione'][$num1];
if ($dati_app['maxocc'][$numapp] and $dati_app['maxocc'][$numapp] < $num_pers_regola4[$numtariffa]) $app_richiesti_corr[$numapp] = "NO";
} # fine for $num1
} # fine if (numlin_query($regola4) == 1)
} # fine if (!$numpersone)
$costo_tariffa_vett[$numtariffa] = 0;
$tariffesettimanali_vett[$numtariffa] = "";
for ($num1 = $idinizioperiodo; $num1 <= $idfineperiodo; $num1++) {
$rigasettimana = esegui_query("select * from $tableperiodi where idperiodi = '$num1' ");
$esistetariffa = risul_query($rigasettimana,0,$tariffa);
if (!$esistetariffa) {
$continuare_vett[$numtariffa] = "NO";
break;
} # fine if (!$esistetariffa)
else {
$costo_tariffa_settimana = risul_query($rigasettimana,0,$tariffa);
if ($dati_tariffe[$tariffa]['moltiplica'] == "p") $costo_tariffa_settimana = (double) $costo_tariffa_settimana * (double) $numpersone;
$costo_tariffa_vett[$numtariffa] = $costo_tariffa_vett[$numtariffa] + $costo_tariffa_settimana;
$tariffesettimanali_vett[$numtariffa] .= ",".$costo_tariffa_settimana;
} # fine else if (!$esistetariffa)
} # fine for $num1
$tariffesettimanali_vett[$numtariffa] = substr($tariffesettimanali_vett[$numtariffa],1);
if (!$controlla_tariffe or $mostra_quadro_disp == "reg2") {
unset($app_regola2_predef);
$appartamenti_regola2 = trova_app_regola2($tariffa,$regole2,$num_regole2,$app_regola2_predef,$id_periodo_corrente,$idinizioperiodo,$idfineperiodo,$tipo_periodi,$anno,$tableregole);
if ($app_regola2_predef) {
$app_regola2_predef = explode(",",$app_regola2_predef);
$app_compatibile_trovato = "NO";
for ($num1 = 0 ; $num1 < count($app_regola2_predef) ; $num1++) {
if ($app_richiesti_corr[$app_regola2_predef[$num1]] == "SI") $app_compatibile_trovato = "SI";
} # fine for $num1
if ($app_compatibile_trovato == "NO") $continuare_vett[$numtariffa] = "NO";
} # fine if ($app_regola2_predef)
if ($appartamenti_regola2) {
$app_regola2_vett[$numtariffa] = $appartamenti_regola2;
$app_regola2_orig[$numtariffa] = $app_regola2_vett[$numtariffa];
$appartamenti_regola2 = explode(",",$app_regola2_vett[$numtariffa]);
$num_app_reg2_vett[$numtariffa] = count($appartamenti_regola2);
$app_compatibile_trovato = "NO";
for ($num1 = 0 ; $num1 < count($appartamenti_regola2) ; $num1++) {
if ($app_richiesti_corr[$appartamenti_regola2[$num1]] == "SI") $app_compatibile_trovato = "SI";
else {
$app_regola2_vett[$numtariffa] = substr(str_replace(",".$appartamenti_regola2[$num1].",",",",",".$app_regola2_vett[$numtariffa].","),1,-1);
$num_app_reg2_vett[$numtariffa]--;
} # fine else if ($app_richiesti_corr[$appartamenti_regola2[$num1]] == "SI")
} # fine for $num1
if ($app_compatibile_trovato == "NO") $continuare_vett[$numtariffa] = "NO";
} # fine if ($appartamenti_regola2)
} # fine if (!$controlla_tariffe or $mostra_quadro_disp == "reg2")
} # fine else if ($attiva_tariffe_consentite != "n" and $tariffe_consentite_vett[$numtariffa] != "SI")
} # fine for $numtariffa


# Se non sono richieste tariffe specifiche controllo per ognuna se ci sono appartamenti liberi
if (!$controlla_tariffe) {
unset($idinizioperiodo_vett);
unset($idfineperiodo_vett);
$idinizioperiodo_vett[1] = $idinizioperiodo;
$idfineperiodo_vett[1] = $idfineperiodo;
unset($app_richiesti);
unset($app_liberato_vett);
$app_richiesti[',numero,'] = 1;
$num_tariffe_contr = 0;
unset($tariffe_contr);
$app_gia_liberati[0] = $app_liberato_vett;
if (@is_array($num_app_reg2_vett)) {
asort ($num_app_reg2_vett);
reset ($num_app_reg2_vett);
while (list($numtariffa, $val) = each($num_app_reg2_vett)) {
$ar_vett = explode(",",$app_regola2_vett[$numtariffa]);
if ($continuare_vett[$numtariffa] != "NO") {
$controllare = "SI";
for ($num1 = 0 ; $num1 <= $num_tariffe_contr ; $num1++) {
if ($continuare_vett[$tariffe_contr[$num1]] != "NO") {
if (str_replace(",".$app_gia_liberati[$num1].",","",",".$app_regola2_vett[$numtariffa].",") != ",".$app_regola2_vett[$numtariffa].",") $controllare = "NO";
} # fine if ($continuare_vett[$tariffe_contr[$num1]] != "NO")
} # fine for $num1
for ($num1 = 1 ; $num1 <= $num_tariffe_contr ; $num1++) {
if ($app_regola2_vett[$tariffe_contr[$num1]] == $app_regola2_vett[$numtariffa]) {
$continuare_vett[$numtariffa] = $continuare_vett[$tariffe_contr[$num1]];
$controllare = "NO";
} # fine if ($app_regola2_vett[$tariffe_contr[$num1]] == $app_regola2_vett[$numtariffa])
else {
# Visto che il numero di app_richiesti sono ordinati crescenti, se vi è una
# lista precedente contenuta nella attuale che è libera allora anche questa è libera
if ($continuare_vett[$tariffe_contr[$num1]] != "NO") {
$contenuto = "SI";
for ($num2 = 0 ; $num2 < $num_ar_prec[$tariffe_contr[$num1]] ; $num2++) {
if (str_replace(",".$ar_vett_prec[$tariffe_contr[$num1]][$num2].",","",",".$app_regola2_vett[$numtariffa].",") == ",".$app_regola2_vett[$numtariffa].",") {
$contenuto = "NO";
break;
} # fine if (str_replace(",".$ar_vett_prec[$tariffe_contr[$num1]][$num2].",","",",".$app_regola2_vett[$numtariffa].",") == ",".$app_regola2_vett[$numtariffa].",")
} # fine for $num2
if ($contenuto == "SI") $controllare = "NO";
} # fine if ($continuare_vett[$tariffe_contr[$num1]] != "NO")
} # fine else if ($app_regola2_vett[$tariffe_contr[$num1]] == $app_regola2_vett[$numtariffa])
} # fine for $num1
if ($controllare == "SI") {
$num_tariffe_contr++;
$tariffe_contr[$num_tariffe_contr] = $numtariffa;
$ar_vett_prec[$numtariffa] = explode(",",$app_regola2_vett[$numtariffa]);
$num_ar_prec[$numtariffa] = count($ar_vett_prec[$numtariffa]);
$app_richiesti[1] = $app_regola2_vett[$numtariffa];
$limiti_var['t_limite'] = (time() + $sec_limite_libsett);
$app_prenota_id = $app_orig_prenota_id;
liberasettimane($idinizioperiodo_vett,$idfineperiodo_vett,$limiti_var,$anno,$fatto_libera,$app_liberato_vett,$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 != "SI") $continuare_vett[$numtariffa] = "NO";
else $app_gia_liberati[$num_tariffe_contr] = $app_liberato_vett[1];
} # fine if ($controllare == "SI")
} # fine if ($continuare_vett[$numtariffa] != "NO")
} # fine while (list($numtariffa, $val) = each($num_app_reg2_vett))
} # fine if (@is_array($num_app_reg2_vett))
} # fine if (!$controlla_tariffe)


# Genero la lista delle tariffe
$continuare_totale = "SI";
$num_ripeti_contr = 0;
$caparra_totale = (double) 0;

for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa = $numtariffa + 1) {
if ($continuare_totale != "NO") {

$tariffa = "tariffa".$numtariffa;
$nometariffa = $dati_tariffe[$tariffa]['nome'];
$nome_tariffa[$numtariffa] = $nometariffa;
if ($nometariffa == "") {
$nometariffa = $numtariffa;
$nome_tariffa[$numtariffa] = mex("tariffa",$pag).$numtariffa;
} # fine if ($nometariffa == "")
$numpersone = $numpersone_orig;
if ($persone_tariffa[$numtariffa]) $numpersone = $persone_tariffa[$numtariffa];
if (!$numpersone and $num_pers_regola4[$numtariffa]) $numpersone = $num_pers_regola4[$numtariffa];
if ($continuare_vett[$numtariffa] == "NO") $continuare = "NO";
else {
$continuare = "SI";
$tariffesettimanali = $tariffesettimanali_vett[$numtariffa];
$costo_tariffa = $costo_tariffa_vett[$numtariffa];
} # fine else if ($continuare_vett[$numtariffa] == "NO")
if ($continuare == "SI") {
if ($controlla_tariffe) {
if ($mostra_tariffa[$numtariffa]) {
$reg2_checkbox = "x <b>".$mostra_tariffa[$numtariffa]."</b>";
if ($numpersone) {
$reg2_checkbox .= " ".mex("per",$pag)." <b>$numpersone</b> ";
if ($numpersone != 1) $reg2_checkbox .= mex("persone",$pag);
else $reg2_checkbox .= mex("persona",$pag);
} # fine if ($numpersone)
} # fine if ($mostra_tariffa[$numtariffa])
else $continuare = "NO";
} # fine if ($controlla_tariffe)
else {
if ($app_regola2_vett[$numtariffa]) {
if ($priv_ins_multiple != "n") {
$form_regola2 = "SI";
$reg2_checkbox = "<input type=\"checkbox\" name=\"reg2_tariffa$numtariffa\" value=\"SI\">
x <input type=\"text\" name=\"molt_reg2_tariffa$numtariffa\" maxlength=\"2\" value =\"1\" style=\"width: 2em;\">
".mex("per",$pag)." <input type=\"text\" name=\"pers_reg2_tariffa$numtariffa\" maxlength=\"2\" value =\"$numpersone\" style=\"width: 2em;\"> ".mex("persone",$pag);
} # fine if ($priv_ins_multiple != "n")
else $reg2_checkbox = "&nbsp;";
} # fine if ($app_regola2_vett[$numtariffa])
else $reg2_checkbox = "&nbsp;";
} # fine else if ($controlla_tariffe)
} # fine if ($continuare == "SI")

if ($continuare == "SI") {
$caparra_percent = $dati_tariffe['tariffa'.$numtariffa]['caparra_percent'];
if ($caparra_percent) {
$caparra_arrotond = $dati_tariffe['tariffa'.$numtariffa]['caparra_arrotond'];
if ($caparra_arrotond == "val") $caparra = $caparra_percent;
else {
$caparra = ($costo_tariffa * (double) $caparra_percent) / 100;
$caparra = $caparra / $caparra_arrotond;
$caparra = floor($caparra);
$caparra = $caparra * $caparra_arrotond;
} # fine else if ($caparra_arrotond == "val")
} # fine if ($caparra_percent)
else $caparra = 0;

# costi aggiuntivi
$costi_agg_tot = 0;
unset($num_letti_agg);
unset($settimane_costo);
unset($ca_associato);
unset($moltiplica_costo);
unset($num_costi_presenti);
unset($beniinv_presenti);
unset($num_ripetizioni_costo);
$asterisco = "NO";
if ($mostra_tariffa[$numtariffa] > 1) $num_controlla_limite = $mostra_tariffa[$numtariffa];
else $num_controlla_limite = 1;
$lunghezza_periodo = $idfineperiodo - $idinizioperiodo + 1;
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$dati_ca[$numca]['id']] == "SI") {
if ($dati_ca[$numca]["tipo_associa_".$tariffa] == "r") $periodo_costo_trovato = trova_periodo_permesso_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,1);
if ($dati_ca[$numca]["tipo_associa_".$tariffa] == "s" or ($dati_ca[$numca]["tipo_associa_".$tariffa] == "r" and $periodo_costo_trovato != "NO")) {
if (associa_costo_a_tariffa($dati_ca,$numca,$tariffa,$lunghezza_periodo) == "SI") $ca_associato[$numca] = "SI";
else {
if ($dati_ca[$numca]["tipo_associa_".$tariffa] == "r" and $dati_ca[$numca]['tipo'] == "s") {
$sett_costo = calcola_settimane_costo($tableperiodi,$dati_ca,$numca,$idinizioperiodo,$idfineperiodo,"","");
if ($sett_costo) $continuare = "NO";
} # fine if ($dati_ca[$numca]["tipo_associa_".$tariffa] == "r" and...
else $continuare = "NO";
} # fine else if (associa_costo_a_tariffa($dati_ca,$numca,$tariffa,$lunghezza_periodo) == "SI")
} # fine if ($dati_ca[$numca]["tipo_associa_".$tariffa] == "s" or...
if ($dati_ca[$numca]['mostra'] == "s") {
$numcostoagg = ${"numcostoagg".$dati_ca[$numca]['id']};
if (${"costoagg".$numcostoagg} == "SI") {
$ca_associato[$numca] = "SI";
$costi_non_fissi = "SI";
} # fine if (${"costoagg".$numcostoagg} == "SI")
} # fine if ($dati_ca[$num_costo][mostra] == "s")
else $numcostoagg = "NO";
if ($ca_associato[$numca] == "SI") {
$numsettimane = "numsettimane".$numcostoagg;
$nummoltiplica_ca = "nummoltiplica_ca".$numcostoagg;
$id_periodi_costo = "id_periodi_costo".$numcostoagg;
if ($dati_ca[$numca]["incomp_".$tariffa] == "i") $continuare = "NO";
if (!$$numsettimane and $dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] != "s") $continuare = "NO";
if ($$numsettimane and ($$numsettimane > $lunghezza_periodo or controlla_num_pos($$numsettimane) == "NO")) $continuare = "NO";
if ($$nummoltiplica_ca and controlla_num_pos($$nummoltiplica_ca) == "NO") $continuare = "NO";
if (trova_periodo_permesso_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,"") == "NO") $continuare = "NO";

if ($$id_periodi_costo == "inserire") {
$$id_periodi_costo = "";
for ($num1 = $idinizioperiodo ; $num1 <= $idfineperiodo ; $num1++) {
if (${"sett".$num1."costo".$numcostoagg} == "SI") $$id_periodi_costo .= ",".$num1;
} # fine for $num1
if ($$id_periodi_costo) $$id_periodi_costo .= ",";
else $$id_periodi_costo = "nessuno";
} # fine if ($$id_periodi_costo == "inserire")
if ($dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] == "s" and $continuare != "NO" and !$$id_periodi_costo) {
$continuare_totale = "NO";
echo "</div></form><hr style=\"width: 30%; margin-left: 0; text-align: left;\">
".mex("Scegliere $parola_le $parola_settimane in cui applicare il costo aggiuntivo",$pag)." ".$dati_ca[$numca]['nome'];
if ($num_tipologie > 1) echo " ($n_t)";
echo ":<br>
<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=\"inizioperiodo\" value=\"$data_inizioperiodo\">
<input type=\"hidden\" name=\"fineperiodo\" value=\"$data_fineperiodo\">
<input type=\"hidden\" name=\"num_persone_casa\" value=\"$num_persone_casa\">
<input type=\"hidden\" name=\"molt_app_persone_casa\" value=\"$molt_app_persone_casa\">
<input type=\"hidden\" name=\"numpersone\" value=\"$numpersone_orig\">";
if ($controlla_tariffe) {
echo "<input type=\"hidden\" name=\"controlla_tariffe\" value=\"$controlla_tariffe\">";
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
echo "<input type=\"hidden\" name=\"reg2_tariffa$numtariffa\" value=\"".${"reg2_tariffa".$numtariffa}."\">
<input type=\"hidden\" name=\"molt_reg2_tariffa$numtariffa\" value=\"".${"molt_reg2_tariffa".$numtariffa}."\">
<input type=\"hidden\" name=\"pers_reg2_tariffa$numtariffa\" value=\"".${"pers_reg2_tariffa".$numtariffa}."\">";
} # fine for $numtariffa
} # fine if ($controlla_tariffe)
for ($num1 = $idinizioperiodo ; $num1 <= $idfineperiodo ; $num1++) {
$periodo_costo_trovato = "NO";
if ($dati_ca[$numca]['periodipermessi'] == "p") {
for ($num2 = 0 ; $num2 < count($dati_ca[$numca]['sett_periodipermessi_ini']) ; $num2++) {
if ($dati_ca[$numca]['sett_periodipermessi_ini'][$num2] <= $num1 and $dati_ca[$numca]['sett_periodipermessi_fine'][$num2] >= $num1) $periodo_costo_trovato = "SI";
} # fine for $num2
} # fine if ($dati_ca[$num_costo]['periodipermessi'] == "p")
else $periodo_costo_trovato = "SI";
if ($periodo_costo_trovato == "SI") {
$date_sett_costo = esegui_query("select datainizio,datafine from $tableperiodi where idperiodi = '$num1'");
echo "<input type=\"checkbox\" name=\"sett$num1"."costo$numcostoagg\" value=\"SI\">".mex("dal",$pag)."
 ".formatta_data(risul_query($date_sett_costo,0,'datainizio'),$stile_data)." ".mex("al",$pag)." 
 ".formatta_data(risul_query($date_sett_costo,0,'datafine'),$stile_data)."<br>";
} # fine if ($periodo_costo_trovato == "SI")
} # fine for $num1
echo "".
$dati_form_iniziale;
$$id_periodi_costo = "inserire";
for ($numca2 = 0 ; $numca2 < $dati_ca['num'] ; $numca2++) {
if ($dati_ca[$numca2]['mostra'] == "s") {
$numcostoagg2 = ${"numcostoagg".$dati_ca[$numca2]['id']};
echo "<input type=\"hidden\" name=\"id_periodi_costo$numcostoagg2\" value=\"".${"id_periodi_costo".$numcostoagg2}."\">
<input type=\"hidden\" name=\"costoagg$numcostoagg2\" value=\"".${"costoagg".$numcostoagg2}."\">
<input type=\"hidden\" name=\"numcostoagg".$dati_ca[$numca2]['id']."\" value=\"$numcostoagg2\">
<input type=\"hidden\" name=\"numsettimane$numcostoagg2\" value=\"".${"numsettimane".$numcostoagg2}."\">
<input type=\"hidden\" name=\"nummoltiplica_ca$numcostoagg2\" value=\"".${"nummoltiplica_ca".$numcostoagg2}."\">";
} # fine if ($dati_ca[$numca2]['mostra'] == "s")
} # fine for $numca2
echo "<input class=\"sbutton\" type=\"submit\" value=\"".mex("Continua",$pag)."\">
</div></form><hr style=\"width: 30%; margin-left: 0; text-align: left;\">";
} # fine if ($dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] == "s" and...
else {
$settimane_costo[$numca] = calcola_settimane_costo($tableperiodi,$dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$$id_periodi_costo,$$numsettimane);
if ($continuare != "NO") aggiorna_letti_agg_in_periodi($dati_ca,$numca,$num_letti_agg,$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],"",$$nummoltiplica_ca,$numpersone);
} # fine else if ($dati_ca[$numca]['numsett'] == "c" and $dati_ca[$numca]['associasett'] == "s" and...

if (($dati_ca[$numca]['moltiplica'] == "p" or $dati_ca[$numca]['moltiplica'] == "t") and !$numpersone) $continuare = "NO";
if ($dati_ca[$numca]['mostra'] == "s" and $continuare == "NO") {
$continuare = "SI";
$ca_associato[$numca] = "";
$asterisco = "SI";
} # fine if ($dati_ca[$numca]['mostra'] == "s" and $continuare == "NO")
if ($continuare_totale == "NO") $continuare = "NO";
if ($continuare == "NO") break;
} # fine if ($ca_associato[$numca] == "SI")
} # fine if ($attiva_costi_agg_consentiti == "n" or...
} # fine for $numca

if ($continuare == "SI") {
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($ca_associato[$numca] == "SI") {
calcola_moltiplica_costo($dati_ca,$numca,$moltiplica_costo[$numca],$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],${"nummoltiplica_ca".${"numcostoagg".$dati_ca[$numca]['id']}},$numpersone,$num_letti_agg);
for ($num1 = 0 ; $num1 < $num_controlla_limite ; $num1++) if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$numca,$num_costi_presenti,$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],$moltiplica_costo[$numca]) == "NO") $continuare = "NO";
if ($dati_ca[$numca]['tipo_beniinv'] == "mag") {
for ($num1 = 0 ; $num1 < $num_controlla_limite ; $num1++) {
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$numca,$beniinv_presenti,$num_ripetizioni_costo[$numca],"SI",$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],$moltiplica_costo[$numca],"");
if ($risul != "SI") { $continuare = "NO"; break; }
} # fine for $num1
} # fine if ($dati_ca[$num1]['tipo_beniinv'] == "mag")
if ($dati_ca[$numca]['mostra'] == "s" and $continuare == "NO") {
$continuare = "SI";
$ca_associato[$numca] = "";
$asterisco = "SI";
} # fine if ($dati_ca[$numca]['mostra'] == "s" and $continuare == "NO")
if ($continuare == "NO") break;
} # fine if ($ca_associato[$numca] == "SI")
} # fine for $numca
} # fine if ($continuare == "SI")

if ($continuare == "SI") {


# costi associabili se possibile
unset($num_app_reali_costo);
if (!$numpersone) $numpersone_costi_poss = 0;
else $numpersone_costi_poss = $numpersone;
$oggi_costo = date("Ymd",(time() + (C_DIFF_ORE * 3600)));
for ($num_costo = 0 ; $num_costo < $dati_ca['num'] ; $num_costo++) {
if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$dati_ca[$num_costo]['id']] == "SI") {
$associa_costo = "NO";
$associa_costo_tariffa = associa_costo_a_tariffa($dati_ca,$num_costo,$tariffa,$lunghezza_periodo);
if ($associa_costo_tariffa == "SI" and $dati_ca[$num_costo]["tipo_associa_".$tariffa] == "p") $associa_costo = "SI";
if ($associa_costo_tariffa != "SI" and !$dati_ca[$num_costo]["incomp_".$tariffa]) {
if ($dati_ca[$num_costo]['assegna_con_num_prenota'] and $num_prenota_tot >= $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($data_inizioperiodo,5,2),(substr($data_inizioperiodo,8,2) - $giorni_lim),substr($data_inizioperiodo,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") {
$settimane_costo2 = calcola_settimane_costo($tableperiodi,$dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,"","");
$num_letti_agg_copia = $num_letti_agg;
$beniinv_presenti_copia = $beniinv_presenti;
$num_app_reali_costo2 = "";

if ($dati_ca[$num_costo]['letto'] == "s") {
aggiorna_letti_agg_in_periodi($dati_ca,$num_costo,$num_letti_agg_copia,$idinizioperiodo,$idfineperiodo,$settimane_costo2,"","",$numpersone_costi_poss);
unset($moltiplica_copia);
unset($num_costi_presenti_copia);
unset($num_ripetizioni_copia);
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($ca_associato[$numca] == "SI") {
if ($num_app_reali_costo[$numca]) $num_controlla_limite2 = $num_app_reali_costo[$numca];
else $num_controlla_limite2 = $num_controlla_limite;
if ($dati_ca[$numca]['moltiplica'] != "t") $moltiplica_copia[$numca] = $moltiplica_costo[$numca];
else calcola_moltiplica_costo($dati_ca,$numca,$moltiplica_copia[$numca],$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],"",$numpersone,$num_letti_agg_copia);
for ($num1 = 0 ; $num1 < $num_controlla_limite2 ; $num1++) if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$numca,$num_costi_presenti_copia,$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],$moltiplica_copia[$numca]) == "NO") $associa_costo = "NO";
if ($dati_ca[$numca]['moltiplica'] == "t") {
for ($num1 = 0 ; $num1 < $num_controlla_limite2 ; $num1++) {
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$numca,$beniinv_presenti_copia,$num_ripetizioni_copia[$numca],"SI",$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],$moltiplica_copia[$numca],"",$num_ripetizioni_costo[$numca]);
if ($risul != "SI") $associa_costo = "NO";
} # fine for $num1
} # fine if ($dati_ca[$numca]['moltiplica'] == "t")
} # fine if ($ca_associato[$numca] == "SI")
} # fine for $numca
} # fine if ($dati_ca[$num_costo]['letto'] == "s")
else $num_costi_presenti_copia = $num_costi_presenti;

calcola_moltiplica_costo($dati_ca,$num_costo,$moltiplica_costo2,$idinizioperiodo,$idfineperiodo,$settimane_costo2,"",$numpersone_costi_poss,$num_letti_agg_copia);
if (trova_periodo_permesso_costo($dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo2) == "NO") $associa_costo = "NO";
else {
if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$num_costo,$num_costi_presenti_copia,$idinizioperiodo,$idfineperiodo,$settimane_costo2,$moltiplica_costo2) == "NO") $associa_costo = "NO";
else for ($num1 = 1 ; $num1 < $num_controlla_limite ; $num1++) if (controlla_num_limite_costo($tablecostiprenota,$tableprenota,$dati_ca,$num_costo,$num_costi_presenti_copia,$idinizioperiodo,$idfineperiodo,$settimane_costo2,$moltiplica_costo2) == "NO") { $num_app_reali_costo2 = $num1; break; }
} # fine else (trova_periodo_permesso_costo($dati_ca,$num_costo,$idinizioperiodo,$idfineperiodo,$settimane_costo2) == "NO")
if ($dati_ca[$num_costo]['tipo_beniinv'] and $associa_costo == "SI") {
$nrc = "";
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$num_costo,$beniinv_presenti_copia,$nrc,"SI",$idinizioperiodo,$idfineperiodo,$settimane_costo2,$moltiplica_costo2,"");
if ($risul != "SI") $associa_costo = "NO";
else {
for ($num1 = 1 ; $num1 < $num_controlla_limite ; $num1++) {
$beniinv_presenti_copia2 = $beniinv_presenti_copia;
$risul = controlla_beni_inventario_costo($tablerelinventario,$dati_ca,$num_costo,$beniinv_presenti_copia,$nrc,"SI",$idinizioperiodo,$idfineperiodo,$settimane_costo2,$moltiplica_costo2,"");
if ($risul != "SI") {
$beniinv_presenti_copia = $beniinv_presenti_copia2;
if (!$num_app_reali_costo2 or $num1 < $num_app_reali_costo2) $num_app_reali_costo2 = $num1;
break;
} # fine if ($risul != "SI")
} # fine for $num1
} # fine else if ($risul != "SI")
} # fine if ($dati_ca[$num_costo]['tipo_beniinv'] and $associa_costo == "SI")

if ($associa_costo == "SI") {
$beniinv_presenti = $beniinv_presenti_copia;
if ($dati_ca[$num_costo]['letto'] == "s") {
$num_costi_presenti = $num_costi_presenti_copia;
$num_letti_agg = $num_letti_agg_copia;
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($ca_associato[$numca] == "SI") {
$moltiplica_costo[$numca] = $moltiplica_copia[$numca];
if ($dati_ca[$numca]['moltiplica'] == "t") $num_ripetizioni_costo[$numca] = $num_ripetizioni_copia[$numca];
} # fine if ($ca_associato[$numca] == "SI")
} # fine for $numca
} # fine if ($dati_ca[$num_costo][letto] == "s")
$ca_associato[$num_costo] = "SI";
$settimane_costo[$num_costo] = $settimane_costo2;
$moltiplica_costo[$num_costo] = $moltiplica_costo2;
if ($num_app_reali_costo2) $num_app_reali_costo[$num_costo] = $num_app_reali_costo2;
if ($dati_ca[$num_costo]['tipo_beniinv']) $num_ripetizioni_costo[$num_costo] = $nrc;
} # fine if ($associa_costo == "SI")
} # fine if ($associa_costo == "SI")
} # fine if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$dati_ca[$num_costo]['id']] == "SI")
} # fine for $num_costo


for ($num1 = 2 ; $num1 <= $num_controlla_limite ; $num1++) $costi_agg_tot_vett[$num1] = (double) 0;
unset($prezzo_costo);
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($ca_associato[$numca] == "SI") {
$prezzo_costo[$numca] = (double) calcola_prezzo_totale_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],$moltiplica_costo[$numca],$costo_tariffa,$tariffesettimanali,($costo_tariffa + $costi_agg_tot),$caparra);
$costi_agg_tot = $costi_agg_tot + $prezzo_costo[$numca];
if ($num_app_reali_costo[$numca]) $num_controlla_limite2 = $num_app_reali_costo[$numca];
else $num_controlla_limite2 = $num_controlla_limite;
for ($num1 = 2 ; $num1 <= $num_controlla_limite2 ; $num1++) {
$prezzo_costo_parz = calcola_prezzo_totale_costo($dati_ca,$numca,$idinizioperiodo,$idfineperiodo,$settimane_costo[$numca],$moltiplica_costo[$numca],$costo_tariffa,$tariffesettimanali,($costo_tariffa + $costi_agg_tot_vett[$num1]),$caparra);
$costi_agg_tot_vett[$num1] = $costi_agg_tot_vett[$num1] + $prezzo_costo_parz;
} # fine for $num1
if ($num_app_reali_costo[$numca]) $deduzione_costi = (double) $deduzione_costi + ($prezzo_costo[$numca] * ($num_controlla_limite - $num_app_reali_costo[$numca]));
} # fine if ($ca_associato[$numca] == "SI")
} # fine for $numca


$costo_tariffa_tot = $costo_tariffa + $costi_agg_tot;
if ($controlla_tariffe) {
$costo_totale_tariffe = $costo_totale_tariffe + $costo_tariffa_tot;
for ($num1 = 2 ; $num1 <= $num_controlla_limite ; $num1++) $costo_totale_tariffe = $costo_totale_tariffe + $costo_tariffa + $costi_agg_tot_vett[$num1];
} # fine if ($controlla_tariffe)
$costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot,$stile_soldi);
$costi_agg_tot_p = punti_in_num($costi_agg_tot,$stile_soldi);
echo "<tr><td style=\"height: 5px;\"></td></tr>
<tr><td>".mex("Tariffa",$pag)." \"<b><i>$nometariffa</i></b>\": </td><td style=\"width: 10px;\"></td><td><b>$costo_tariffa_tot_p</b> $Euro";
if ($costi_agg_tot != 0) {
echo " (".mex("compresi",$pag)." <b>$costi_agg_tot_p</b> $Euro ";
if ($costi_non_fissi == "SI") echo mex("di costi aggiuntivi",$pag);
else echo mex("di costi aggiuntivi fissi",$pag);
echo ")";
} # fine if ($costi_agg_tot != 0)
if ($asterisco == "SI") {
echo "<div style=\"display: inline; color: red;\"><b>*</b></div>";
$asterisco_totale = "SI";
} # fine if ($asterisco == "SI")
echo ".</td><td style=\"width: 35px;\"></td><td style=\"width: 200px;\">$reg2_checkbox</td></tr>";

if ($caparra) {
$caparra_totale = (double) $caparra_totale + ((double) $caparra * (double) $mostra_tariffa[$numtariffa]);
if (!$controlla_tariffe) {
echo "<tr><td colspan=\"5\" align=\"left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small>
".mex("Caparra",$pag).": $caparra $Euro
</small></td></tr>";
} # fine if (!$controlla_tariffe)
} # fine if ($caparra)

if ($controlla_tariffe) {
for ($num1 = 0 ; $num1 < $mostra_tariffa[$numtariffa] ; $num1++) {
$num_ripeti_contr++;
$numpersone_rc[$num_ripeti_contr] = $numpersone;
$dati_tutte_tariffe .= "<input type=\"hidden\" name=\"costo_tot_$num_ripeti_contr\" value=\"$costo_tariffa_tot\">
<input type=\"hidden\" name=\"costo_tariffa_$num_ripeti_contr\" value=\"$costo_tariffa\">
<input type=\"hidden\" name=\"caparra_$num_ripeti_contr\" value=\"$caparra\">
<input type=\"hidden\" name=\"nome_tariffa_$num_ripeti_contr\" value=\"$nometariffa\">
<input type=\"hidden\" name=\"n_letti_agg_$num_ripeti_contr\" value=\"".$num_letti_agg['max']."\">";
$num_ca_tot = 0;
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($ca_associato[$numca] == "SI") {
$dati_tutte_tariffe .= "<input type=\"hidden\" name=\"nome_costo_agg$num_ca_tot"."_$num_ripeti_contr\" value=\"".$dati_ca[$numca]["nome"]."\">
<input type=\"hidden\" name=\"val_costo_agg$num_ca_tot"."_$num_ripeti_contr\" value=\"".$prezzo_costo[$numca]."\">";
$num_ca_tot++;
} # fine if ($ca_associato[$numca] == "SI")
} # fine for $numca
$dati_tutte_tariffe .= "<input type=\"hidden\" name=\"num_costi_aggiuntivi_$num_ripeti_contr\" value=\"$num_ca_tot\">";
} # fine for $num1
} # fine if ($controlla_tariffe)
else {
$option_contratti .= "<option value=\"$numtariffa\">$nometariffa</option>";
$dati_tutte_tariffe .= "<input type=\"hidden\" name=\"c_tot_selez$numtariffa"."_1\" value=\"$costo_tariffa_tot\">
<input type=\"hidden\" name=\"c_tariffa_selez$numtariffa"."_1\" value=\"$costo_tariffa\">
<input type=\"hidden\" name=\"cap_tariffa_selez$numtariffa"."_1\" value=\"$caparra\">
<input type=\"hidden\" name=\"n_tariffa_selez$numtariffa"."_1\" value=\"$nometariffa\">
<input type=\"hidden\" name=\"n_letti_agg_tariffa_selez$numtariffa"."_1\" value=\"".$num_letti_agg['max']."\">";
$num_ca_tot = 0;
for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) {
if ($ca_associato[$numca] == "SI") {
$dati_tutte_tariffe .= "<input type=\"hidden\" name=\"nome_costo_agg$num_ca_tot"."_tsel$numtariffa"."_1\" value=\"".$dati_ca[$numca]["nome"]."\">
<input type=\"hidden\" name=\"val_costo_agg$num_ca_tot"."_tsel$numtariffa"."_1\" value=\"".$prezzo_costo[$numca]."\">";
$num_ca_tot++;
} # fine if ($ca_associato[$numca] == "SI")
} # fine for $numca
$dati_tutte_tariffe .= "<input type=\"hidden\" name=\"num_costi_aggiuntivi_tsel$numtariffa"."_1\" value=\"$num_ca_tot\">";
} # fine else if ($controlla_tariffe)

} # fine if ($continuare == "SI")
} # fine if ($continuare == "SI")

} # fine if ($continuare_totale != "NO")
} # fine for $numtariffa

$numpersone = $numpersone_orig;


if ($continuare_totale != "NO") {

if ($asterisco_totale == "SI") echo "<tr><td style=\"height: 5px;\"></td></tr><tr><td colspan=\"5\" align=\"left\"><div style=\"display: inline; color: red;\"><b>*</b></div> ".mex("Non si sono potuti applicare alla tariffa uno o più costi",$pag).".</td></tr>";
if ($form_regola2 == "SI") {
if ($priv_ins_multiple == "s") echo "<tr><td style=\"height: 5px;\"></td></tr><tr><td colspan=\"5\"><input type=\"checkbox\" name=\"prenota_vicine\" value=\"SI\"> ".mex("Appartamenti vicini",$pag).".</td></tr>";
echo "<tr><td style=\"height: 5px;\"></td></tr><tr><td colspan=\"5\" align=\"center\">
<input class=\"sbutton\" type=\"submit\" name=\"contr_tariffe\" value=\"".mex("Ricontrolla la disponibilità negli appartamenti selezionati",$pag)."\">
</td></tr>";
} # fine if ($form_regola2 == "SI")
if ($controlla_tariffe) {
$costo_totale_tariffe_p = punti_in_num($costo_totale_tariffe,$stile_soldi);
echo "<tr><td style=\"height: 5px;\"></td></tr><tr><td>
".mex("TOTALE",$pag).": </td><td><b>$costo_totale_tariffe</b> $Euro</td></tr>";
if ($caparra_totale) {
echo "<tr><td colspan=\"5\" align=\"left\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<small>
".mex("Caparra",$pag).": $caparra_totale $Euro
</small></td></tr>";
} # fine if ($caparra_totale)
} # fine if ($controlla_tariffe)
echo "</table></div></form>";

if ($priv_ins_costi_agg == "s" and ($form_regola2 == "SI" or $controlla_tariffe)) {
$numcostiagg = 0;
$testo_costi_agg = "";
for ($num1 = 0 ; $num1 < $dati_ca['num'] ; $num1++) {
if ($dati_ca[$num1]['mostra'] == "s") {
if ($attiva_costi_agg_consentiti == "n" or $costi_agg_consentiti_vett[$dati_ca[$num1]['id']] == "SI") {
$numcostiagg++;
$costoagg = "costoagg".$numcostiagg;
if ($dati_ca[$num1]['tipo'] == "u") $tipo_ca = "unico";
if ($dati_ca[$num1]['tipo'] == "s") $tipo_ca = "$parola_settimanale";
if ($$costoagg == "SI") {
$checked = " checked";
$b_check = "<b>";
$b_slash_check = "</b>";
} # fine if ($$costoagg == "SI")
else {
$checked = "";
$b_check = "";
$b_slash_check = "";
unset(${"id_periodi_costo".$numcostiagg});
unset(${"numsettimane".$numcostiagg});
unset(${"nummoltiplica_ca".$numcostiagg});
} # fine else if ($$costoagg == "SI")
$testo_costi_agg .= "<input type=\"hidden\" name=\"numcostoagg".$dati_ca[$num1]['id']."\" value=\"$numcostiagg\">
<input type=\"hidden\" name=\"id_periodi_costo$numcostiagg\" value=\"".${"id_periodi_costo".$numcostiagg}."\">
<input type=\"checkbox\" name=\"$costoagg\" value=\"SI\"$checked>
".mex("costo aggiuntivo $tipo_ca",$pag)." \"$b_check".$dati_ca[$num1]['nome']."$b_slash_check\"";
if ($dati_ca[$num1][numsett] == "c" and $dati_ca[$num1]['associasett'] == "n") {
$numsettimane = "numsettimane".$numcostiagg;
if ($$numsettimane) $valnumsettimane = $$numsettimane;
else $valnumsettimane = 0;
$testo_costi_agg .= ", ".mex("nº di $parola_settimane da applicare",$pag).":
<input type=\"text\" name=\"$numsettimane\" size=\"3\" maxlength=\"3\" value=\"$valnumsettimane\">";
} # fine if ($dati_ca[$num1][numsett] == "c" and...
if ($dati_ca[$num1]['moltiplica'] == "c") {
$nummoltiplica_ca = "nummoltiplica_ca".$numcostiagg;
if ($$nummoltiplica_ca) $valnummoltiplica_ca = $$nummoltiplica_ca;
else $valnummoltiplica_ca = 1;
$testo_costi_agg .= ", ".mex("da moltiplicare per",$pag).":
<input type=\"text\" name=\"$nummoltiplica_ca\" size=\"3\" maxlength=\"3\" value=\"$valnummoltiplica_ca\">";
} # fine if ($dati_ca[$num1][moltiplica] == "c")
$testo_costi_agg .= ".";
if ($num1 != ($dati_ca['num'] - 1)) $testo_costi_agg .= "<br>";
} # fine if ($attiva_costi_agg_consentiti == "n" or...
} # fine if ($dati_ca[$num1][mostra] == "s")
} # fine for $num1
if ($testo_costi_agg) {
echo "<br><br>
<form accept-charset=\"utf-8\" method=\"post\" action=\"disponibilita.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"inizioperiodo\" value=\"$data_inizioperiodo\">
<input type=\"hidden\" name=\"fineperiodo\" value=\"$data_fineperiodo\">
<input type=\"hidden\" name=\"num_persone_casa\" value=\"$num_persone_casa\">
<input type=\"hidden\" name=\"molt_app_persone_casa\" value=\"$molt_app_persone_casa\">
<input type=\"hidden\" name=\"numpersone\" value=\"$numpersone\">";
if ($controlla_tariffe) {
echo "<input type=\"hidden\" name=\"controlla_tariffe\" value=\"$controlla_tariffe\">
<input type=\"hidden\" name=\"prenota_vicine\" value=\"$prenota_vicine\">";
for ($numtariffa = 1 ; $numtariffa <= $dati_tariffe['num'] ; $numtariffa++) {
echo "<input type=\"hidden\" name=\"reg2_tariffa$numtariffa\" value=\"".${"reg2_tariffa".$numtariffa}."\">
<input type=\"hidden\" name=\"molt_reg2_tariffa$numtariffa\" value=\"".${"molt_reg2_tariffa".$numtariffa}."\">
<input type=\"hidden\" name=\"pers_reg2_tariffa$numtariffa\" value=\"".${"pers_reg2_tariffa".$numtariffa}."\">";
} # fine for $numtariffa
} # fine if ($controlla_tariffe)
echo "<table><tr><td>$testo_costi_agg</td><td style=\"width: 25px;\"></td><td valign=\"middle\">
<input class=\"sbutton\" type=\"submit\" name=\"agg_costo\" value=\"".mex("Aggiungi",$pag)."\">
</td></tr></table></div></form>";
} # fine if ($testo_costi_agg)
} # fine if ($priv_ins_costi_agg == "s" and $form_regola2 == "SI")

} # fine if ($continuare_totale != "NO")

} # fine if ($liberato == "SI")

unlock_tabelle($tabelle_lock);


if ($continuare_totale != "NO") {

if (!$testo_costi_agg) echo "<br>";
echo "<br>
<form accept-charset=\"utf-8\" method=\"post\" action=\"disponibilita.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"inizioperiodo\" value=\"$data_inizioperiodo\">
<input type=\"hidden\" name=\"fineperiodo\" value=\"$data_fineperiodo\">
 ".ucfirst(mex("disponibilità solo negli appartamenti da",$pag))."
 <select name=\"num_persone_casa\">
<option value=\"\" selected>--</option>";
asort ($dati_app['maxocc']);
reset ($dati_app['maxocc']);
while (list($key, $val) = each($dati_app['maxocc'])) {
$persone_casa = $val;
if ($persone_casa != $ultime_persone_casa) {
$ultime_persone_casa = $persone_casa;
echo "<option value=\"$persone_casa\">$persone_casa</option>";
} # fine if ($persone_casa != $ultimepersone_casa)
} # fine while (list($key, $val) = each($dati_app['maxocc']))
echo "</select> ".mex("persone",$pag);
if ($priv_ins_multiple != "n") echo "(x <input type=\"text\" name=\"molt_app_persone_casa\" size=\"2\" maxlength=\"2\" value =\"1\">)";
else echo "<input type=\"hidden\" name=\"molt_app_persone_casa\" value=\"1\">";
echo " <input class=\"sbutton\" type=\"submit\" name=\"ricontrolla\" value=\"".mex("Ricontrolla",$pag)."\">
</div></form><br>";

$data_inizio = esegui_query("select * from $tableperiodi where idperiodi = $idinizioperiodo");
$data_inizio = risul_query($data_inizio,0,'datainizio');
$data_fine = esegui_query("select * from $tableperiodi where idperiodi = $idfineperiodo");
$data_fine = risul_query($data_fine,0,'datafine');
if ($numpersone_rc[1]) $num_persone_1 = $numpersone_rc[1];
else $num_persone_1 = $numpersone;
echo "<div style=\"text-align: center;\"><table style=\"margin-left: auto; margin-right: auto;\"><tr><td align=\"center\">
<form accept-charset=\"utf-8\" method=\"post\" action=\"visualizza_contratto.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"num_ripeti\" value=\"$num_ripeti_contr\">
<input type=\"hidden\" name=\"data_inizio_1\" value=\"$data_inizio\">
<input type=\"hidden\" name=\"data_fine_1\" value=\"$data_fine\">
<input type=\"hidden\" name=\"num_periodi_1\" value=\"$lunghezza_perioido\">
<input type=\"hidden\" name=\"num_persone_1\" value=\"$num_persone_1\">";
for ($num1 = 2 ; $num1 <= $num_ripeti_contr ; $num1++) {
echo "<input type=\"hidden\" name=\"data_inizio_$num1\" value=\"$data_inizio\">
<input type=\"hidden\" name=\"data_fine_$num1\" value=\"$data_fine\">
<input type=\"hidden\" name=\"num_periodi_$num1\" value=\"$lunghezza_perioido\">
<input type=\"hidden\" name=\"num_persone_$num1\" value=\"".$numpersone_rc[$num1]."\">";
} # fine for $num1
echo "$dati_tutte_tariffe
".ucfirst(mex("documento di tipo",$pag))."
 <select name=\"numero_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\" type=\"submit\" name=\"vedi_contr\" value=\"".ucfirst(mex("visualizza",$pag))."\">";
if ($option_contratti) {
echo "<br>(".mex("con la tariffa",$pag)."
 <select name=\"tariffa_selezionata\">
<option value=\"\" selected>----</option>
$option_contratti
</select>)";
} # fine if ($option_contratti)
echo "</div></form>";
if ($mostra_quadro_disp) echo "</td>";
else echo "<br><br></td></tr>";

if ($priv_ins_nuove_prenota == "s") {
if ($mostra_quadro_disp) echo "<td style=\"width: 50px;\"></td><td align=\"center\" valign=\"middle\">";
else echo "<tr><td align=\"center\">";
echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"prenota.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"num_tipologie\" value=\"$num_tipologie\">
<input type=\"hidden\" name=\"mos_tut_dat\" value=\"SI\">
<input type=\"hidden\" name=\"prenota_vicine\" value=\"$prenota_vicine\">";
for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) {
echo "<input type=\"hidden\" name=\"inizioperiodo$n_t\" value=\"$idinizioperiodo\">
<input type=\"hidden\" name=\"fineperiodo$n_t\" value=\"$idfineperiodo\">
<input type=\"hidden\" name=\"numpersone$n_t\" value=\"".$num_persone_invia[$n_t]."\">
<input type=\"hidden\" name=\"num_persone_casa$n_t\" value=\"$num_persone_casa\">
<input type=\"hidden\" name=\"num_app_richiesti$n_t\" value=\"".$num_app_richiesti_invia[$n_t]."\">
<input type=\"hidden\" name=\"nometipotariffa$n_t\" value=\"".$tariffa_invia[$n_t]."\">";
} # fine for $n_t
echo "<input class=\"sbutton\" type=\"submit\" name=\"vai_a_prenota\" value=\"".mex("Inserisci la prenotazione",$pag)."\">
</div></form></td></tr>";
} # fine if ($priv_ins_nuove_prenota == "s")
echo "</table>";



if ($mostra_quadro_disp) {
$c_sfondo_tab_disp = "#dddddd";
$c_inisett_tab_disp = "#bbbbbb";
$c_libero_tab_disp = "#0cc80c";
$c_occupato_tab_disp = "#f8011e";
$aper_font_tab_disp = "";
$chiu_font_tab_disp = "";
$fr_persone = mex("persone",$pag);
$fr_persona = mex("persona",$pag);
$nome_mese["01"] = mex("Gennaio","giorni_mesi.php");
$nome_mese["02"] = mex("Febbraio","giorni_mesi.php");
$nome_mese["03"] = mex("Marzo","giorni_mesi.php");
$nome_mese["04"] = mex("Aprile","giorni_mesi.php");
$nome_mese["05"] = mex("Maggio","giorni_mesi.php");
$nome_mese["06"] = mex("Giugno","giorni_mesi.php");
$nome_mese["07"] = mex("Luglio","giorni_mesi.php");
$nome_mese["08"] = mex("Agosto","giorni_mesi.php");
$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
} # fine if ($attiva_regole1_consentite == "s")
else for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) $app_consentito[$dati_app['posizione'][$num1]] = "SI";

# Calcolo gli appartamenti consentiti dalla regola 2
if (($priv_mod_assegnazione_app != "s" or $priv_mod_prenotazioni != "s") and ($priv_ins_assegnazione_app != "s" or $priv_ins_nuove_prenota != "s")) {
$quadro_non_preciso = "SI";
for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) {
$idapp = $dati_app['posizione'][$num1];
if ($appartamenti_consentiti_regola2[$idapp] == "NO") $app_consentito[$idapp] = "NO";
} # fine for $num1
} # fine if (($priv_mod_assegnazione_app != "s" or $priv_mod_prenotazioni != "s") and...

include("./includes/funzioni_quadro_disp.php");
$righe_tab_disp = 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,$dati_tariffe['num'],$nome_tariffa,$dati_app,$prenota_in_app_sett,$app_orig_prenota_id,$tableperiodi);

if ($righe_tab_disp) {
echo "<br><div style=\"text-align: center;\"><small>".mex("Quadro indicativo disponibilità",$pag)."";
if ($quadro_non_preciso == "SI") echo " <em>(".mex("potrebbe non essere preciso",$pag).")</em>";
echo "</small>
<table class=\"tab_disp\" border=1 cellspacing=0 cellpadding=1 style=\"background-color: $c_sfondo_tab_disp; font-size:70%; text-align: center; margin-left: auto;  margin-right: auto;\">
$righe_tab_disp
</table></div>";
} # fine if ($righe_tab_disp)

} # fine if ($mostra_quadro_disp)


} # fine if ($continuare_totale != "NO")
else echo "<br>
<div style=\"text-align: center;\">";


} # fine if ($verificare != "NO")


else unlock_tabelle($tabelle_lock);



echo "<br><br><form accept-charset=\"utf-8\" method=\"post\" action=\"inizio.php\"><div>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input class=\"sbutton\" type=\"submit\" name=\"torna\" value=\"".mex("Torna al menù principale",$pag)."\">
</div></form><br>";
if ($verificare != "NO") echo "</div>";


if ($tema[$id_utente] and $tema[$id_utente] != "base" and @is_dir("./themes/".$tema[$id_utente]."/php")) include("./themes/".$tema[$id_utente]."/php/foot.php");
else include("./includes/foot.php");


} # fine if ($anno_utente_attivato == "SI" and ($priv_ins_nuove_prenota == "s" or $priv_vedi_tab_mesi != "n" or $priv_vedi_tab_prenotazioni != "n"))
} # fine if ($id_utente)



?>
