if (strstr(${"commento_".$num1},">")) {
${"commento_".$num1} = explode(">",${"commento_".$num1});
${"commento_".$num1} = ${"commento_".$num1}[0];
} # fine if (strstr(${"commento_".$num1},">"))
if (strcmp(risul_query($dati_prenota,0,'origine'),"")) ${"origine_prenotazione_".$num1} = risul_query($dati_prenota,0,'origine');
$caparra = risul_query($dati_prenota,0,'caparra');
if (strcmp($caparra,"")) ${"caparra_".$num1} = $caparra;
if (strcmp(risul_query($dati_prenota,0,'commissioni'),"")) ${"commissioni_".$num1} = risul_query($dati_prenota,0,'commissioni');
$numpersone = risul_query($dati_prenota,0,'num_persone');
if (strcmp($numpersone,"")) ${"num_persone_".$num1} = $numpersone;
${"unita_occupata_".$num1} = risul_query($dati_prenota,0,'idappartamenti');
${"unita_assegnabili_".$num1} = risul_query($dati_prenota,0,'app_assegnabili');
${"pagato_".$num1} = risul_query($dati_prenota,0,'pagato');
$tariffesettimanali = risul_query($dati_prenota,0,'tariffesettimanali');
${"tariffesettimanali_".$num1} = $tariffesettimanali;
$dati_cap = dati_costi_agg_prenota($tablecostiprenota,$id_prenota);
unset($num_letti_agg);
$costo_agg_tot = (double) 0;
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) {
aggiorna_letti_agg_in_periodi($dati_cap,$numca,$num_letti_agg,$id_data_inizio,$id_data_fine,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],"","");
$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'],$costo_tariffa,$tariffesettimanali,($costo_tariffa + $costo_agg_tot - $sconto),$caparra,$numpersone);
$costo_agg_tot = (double) $costo_agg_tot + $costo_agg_parziale;
${"nome_costo_agg".$numca."_".$num1} = $dati_cap[$numca]['nome'];
${"val_costo_agg".$numca."_".$num1} = $costo_agg_parziale;
if (strcmp($dati_cap[$numca]['tasseperc'],"")) ${"percentuale_tasse_costo_agg".$numca."_".$num1} = $dati_cap[$numca]['tasseperc'];
${"moltiplica_max_costo_agg".$numca."_".$num1} = $dati_cap[$numca]['moltiplica_costo'];
if ($dati_cap[$numca]['associasett'] == "s") ${"giorni_costo_agg".$numca."_".$num1} = $dati_cap[$numca]['settimane'];
else ${"giorni_costo_agg".$numca."_".$num1} = "";
${"data_inserimento_costo_agg".$numca."_".$num1} = substr($dati_cap[$numca]['datainserimento'],0,10);
${"utente_inserimento_costo_agg".$numca."_".$num1} = $dati_cap[$numca]['utente_inserimento'];
} # fine for $numca
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
Beispiel #3
0
else {
$data_inizio = esegui_query("select * from $tableperiodi where idperiodi = $id_data_inizio");
$data_inizio = risul_query($data_inizio,0,'datainizio');
$data_inizio_f = formatta_data($data_inizio,$stile_data);
} # fine else if ($id_data_inizio == 0)
$id_data_fine = risul_query($prenotazioni,$num1,'iddatafine');
$data_fine = esegui_query("select * from $tableperiodi where idperiodi = $id_data_fine");
$data_fine = risul_query($data_fine,0,'datafine');
$data_fine_f = formatta_data($data_fine,$stile_data);
$mese = explode("-",$data_inizio);
$mese = $mese[1];

$num_persone = risul_query($prenotazioni,$num1,'num_persone');
if (!$num_persone or $num_persone == 0) { $num_persone = "?"; }
$n_letti_agg = 0;
$dati_cap = dati_costi_agg_prenota($tablecostiprenota,$numero);
unset($num_letti_agg);
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) aggiorna_letti_agg_in_periodi($dati_cap,$numca,$num_letti_agg,$d_id_data_inizio,$d_id_data_fine,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],"","");
$n_letti_agg = $num_letti_agg['max'];

$caparra = risul_query($prenotazioni,$num1,'caparra');
if (!$caparra) $caparra = 0;
$pagato = risul_query($prenotazioni,$num1,'pagato');
if (!$pagato) $pagato = 0;
$pagato_p = punti_in_num($pagato,$stile_soldi);
$costo_tot = risul_query($prenotazioni,$num1,'tariffa_tot');
if (!$costo_tot) $costo_tot = 0;
$costo_tot_p = punti_in_num($costo_tot,$stile_soldi);
$da_pagare = $costo_tot - $pagato;
$da_pagare_p = punti_in_num($da_pagare,$stile_soldi);
$confermato = risul_query($prenotazioni,$num1,'conferma');
$anno_prec_esistente = esegui_query("select idanni from $tableanni where idanni = '".aggslashdb($id_anno_prec[0])."'");
if (numlin_query($anno_prec_esistente)) $id_anni_prec_vett[$id_anno_prec[0]] = $id_anno_prec[1];
} # fine for $num1
if (!is_array($id_anni_prec_vett)) $id_anni_prec = "";
} # fine if ($id_anni_prec)
$d_data_inserimento = risul_query($dati_prenota_modifica,0,'datainserimento');
$d_data_inserimento_vedi = substr($d_data_inserimento,0,-3);
$d_host_inserimento = risul_query($dati_prenota_modifica,0,'hostinserimento');
unset($num_letti_agg);
for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) aggiorna_letti_agg_in_periodi($dati_cap,$numca,$num_letti_agg,$d_id_data_inizio,$d_id_data_fine,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],"","");

for ($num_idpr = 1 ; $num_idpr < $num_id_prenota ; $num_idpr++) {
$id_prenota = $id_prenota_idpr[$num_idpr];
$dati_prenota_modifica = esegui_query("select * from $tableprenota where idprenota = '$id_prenota' and idclienti != '0'");
if ($id_clienti != risul_query($dati_prenota_modifica,0,'idclienti')) $id_clienti = "~~~~";
${"dati_cap".$id_prenota} = dati_costi_agg_prenota($tablecostiprenota,$id_prenota);
$dati_cap = ${"dati_cap".$id_prenota};
$d_id_data_inizio_vett[$id_prenota] = risul_query($dati_prenota_modifica,0,'iddatainizio');
if ($d_id_data_inizio != $d_id_data_inizio_vett[$id_prenota]) {
$d_data_inizio = "~~~~";
$d_data_inizio_f = "~~~~";
} # fine if ($d_id_data_inizio != $d_id_data_inizio_vett[$id_prenota])
$id_prenota_prec2 = trova_prenota_prec($anno,$d_id_data_inizio_vett[$id_prenota],$PHPR_TAB_PRE,$dati_prenota_modifica,$n_dati_prenota_modifica);
if ($id_prenota_prec2) $id_prenota_prec = $id_prenota_prec2;
$d_id_data_fine_vett[$id_prenota] = risul_query($dati_prenota_modifica,0,'iddatafine');
if ($d_id_data_fine != $d_id_data_fine_vett[$id_prenota]) {
$d_data_fine = "~~~~";
$d_data_fine_f = "~~~~";
} # fine if ($d_id_data_fine != $d_id_data_fine_vett[$id_prenota])
if ($d_id_data_inizio != $d_id_data_inizio_vett[$id_prenota] or $d_id_data_fine != $d_id_data_fine_vett[$id_prenota]) $d_numero_settimane = "~~~~";
$d_tariffa = risul_query($dati_prenota_modifica,0,'tariffa');
function prepara_modifiche_prenotazione($id_prenota_idpr, $num_id_prenota, &$prenota_in_anno_succ, &$dati_da_anno_prec, &$tra_anni, $anno, $PHPR_TAB_PRE)
{
    global $d_id_utente_inserimento_idpr, $d_id_clienti_idpr, $d_id_data_inizio_idpr, $d_id_data_fine_idpr, $d_appartamento_idpr, $d_assegnazione_app_idpr, $d_app_assegnabili_idpr, $d_nome_tipotariffa_idpr, $d_app_eliminati_costi_idpr, $d_sconto_idpr, $d_caparra_idpr, $d_met_paga_caparra_idpr, $d_commissioni_idpr, $d_num_persone_idpr, $d_nome_tariffa_idpr, $d_costo_tariffa_idpr, $d_molt_tariffa_idpr, $d_tariffesettimanali_idpr, $d_costo_agg_tot_idpr, $d_prezzo_costo_agg_idpr, $d_costo_tot_idpr, $d_pagato_idpr, $d_confermato_idpr, $d_checkin_idpr, $d_checkout_idpr, $d_commento, $d_prenota_comp_idpr;
    global $dati_tariffe, $dati_ca, $dati_prenota_modifica, $id_prenota_orig, $tableperiodi_orig, $tableprenota_orig, $tablecostiprenota_orig, $tableperiodi_prec, $tableprenota_prec, $tablecostiprenota_prec, $fineperiodo_orig, $stile_data, $d_data_inizio_f, $d_data_fine_f, $n_host_inserimento_idpr;
    if (!function_exists('dati_tariffe')) {
        include "./includes/funzioni_tariffe.php";
    }
    if (!function_exists('dati_costi_agg_ntariffe')) {
        include "./includes/funzioni_costi_agg.php";
    }
    $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno;
    $tableprenota = $PHPR_TAB_PRE . "prenota" . $anno;
    $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno;
    $tableregole = $PHPR_TAB_PRE . "regole" . $anno;
    $tableappartamenti = $PHPR_TAB_PRE . "appartamenti";
    $tableclienti = $PHPR_TAB_PRE . "clienti";
    $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno;
    $d_id_utente_inserimento_idpr = "";
    $d_id_clienti_idpr = "";
    $d_id_data_inizio_idpr = "";
    $d_id_data_fine_idpr = "";
    $d_appartamento_idpr = "";
    $d_assegnazione_app_idpr = "";
    $d_app_assegnabili_idpr = "";
    $d_nome_tipotariffa_idpr = "";
    $d_costo_tariffa_idpr = "";
    $d_molt_tariffa_idpr = "";
    $d_app_eliminati_costi_idpr = "";
    $d_sconto_idpr = "";
    $d_caparra_idpr = "";
    $d_met_paga_caparra_idpr = "";
    $d_commissioni_idpr = "";
    $d_num_persone_idpr = "";
    $d_nome_tariffa_idpr = "";
    $d_tariffesettimanali_idpr = "";
    $d_costo_agg_tot_idpr = "";
    $d_prezzo_costo_agg_idpr = "";
    $d_costo_tot_idpr = "";
    $d_pagato_idpr = "";
    $d_confermato_idpr = "";
    $d_checkin_idpr = "";
    $d_checkout_idpr = "";
    $d_prenota_comp_idpr = "";
    $n_host_inserimento_idpr = "";
    $dati_tariffe = dati_tariffe($tablenometariffe, "", "", $tableregole);
    $dati_ca = dati_costi_agg_ntariffe($tablenometariffe, $dati_tariffe['num'], "NO", "", $tableappartamenti);
    $dati_prenota_modifica = esegui_query("select * from {$tableprenota} where idprenota = '" . $id_prenota_idpr[0] . "' and idclienti != '0'");
    $d_id_data_inizio0 = risul_query($dati_prenota_modifica, 0, 'iddatainizio');
    if ($d_id_data_inizio0 == 0) {
        $d_data_inizio_f = "<";
        $d_id_data_inizio = 1;
    } else {
        $d_data_inizio_f = "";
        $d_id_data_inizio = $d_id_data_inizio0;
    }
    # fine if ($d_id_data_inizio0 == 0)
    $d_data_inizio = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '{$d_id_data_inizio}' ");
    $d_data_inizio = risul_query($d_data_inizio, 0, 'datainizio');
    $d_data_inizio_f .= formatta_data($d_data_inizio, $stile_data);
    $d_id_data_fine0 = risul_query($dati_prenota_modifica, 0, 'iddatafine');
    $d_data_fine = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$d_id_data_fine0}' ");
    $d_data_fine = risul_query($d_data_fine, 0, 'datafine');
    $d_data_fine_f = formatta_data($d_data_fine, $stile_data);
    for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) {
        $id_prenota = $id_prenota_idpr[$num_idpr];
        global ${"dati_cap" . $id_prenota};
        if ($num_idpr > 0) {
            $dati_prenota_modifica = esegui_query("select * from {$tableprenota} where idprenota = '{$id_prenota}' and idclienti != '0'");
        }
        $d_id_utente_inserimento_idpr[$id_prenota] = risul_query($dati_prenota_modifica, 0, 'utente_inserimento');
        $d_id_clienti_idpr[$id_prenota] = risul_query($dati_prenota_modifica, 0, 'idclienti');
        $d_id_data_inizio = risul_query($dati_prenota_modifica, 0, 'iddatainizio');
        $d_id_data_inizio_idpr[$id_prenota] = $d_id_data_inizio;
        if ($d_id_data_inizio != $d_id_data_inizio0) {
            $d_data_inizio_f = "~~~~";
        }
        $d_id_data_fine = risul_query($dati_prenota_modifica, 0, 'iddatafine');
        $d_id_data_fine_idpr[$id_prenota] = $d_id_data_fine;
        if ($d_id_data_fine != $d_id_data_fine0) {
            $d_data_fine_f = "~~~~";
        }
        $d_appartamento = risul_query($dati_prenota_modifica, 0, 'idappartamenti');
        $d_appartamento_idpr[$id_prenota] = $d_appartamento;
        $d_assegnazione_app = risul_query($dati_prenota_modifica, 0, 'assegnazioneapp');
        $d_assegnazione_app_idpr[$id_prenota] = $d_assegnazione_app;
        $d_app_assegnabili = risul_query($dati_prenota_modifica, 0, 'app_assegnabili');
        $d_app_assegnabili_idpr[$id_prenota] = $d_app_assegnabili;
        $tra_anni = "";
        $prenota_in_anno_succ = trova_prenota_succ($anno, $d_id_data_fine, $PHPR_TAB_PRE, $id_prenota, $fineperiodo_orig);
        if ($prenota_in_anno_succ) {
            $tra_anni = $anno;
            $tableperiodi_orig = $PHPR_TAB_PRE . "periodi" . ($anno + 1);
            $tableprenota_orig = $PHPR_TAB_PRE . "prenota" . ($anno + 1);
            $tablecostiprenota_orig = $PHPR_TAB_PRE . "costiprenota" . ($anno + 1);
            $tableperiodi_prec = $tableperiodi;
            $tableprenota_prec = $tableprenota;
            $tablecostiprenota_prec = $tablecostiprenota;
            if ($prenota_in_anno_succ != "soloanno") {
                $id_prenota_orig = $prenota_in_anno_succ;
            } else {
                $prenota_in_anno_succ = "";
            }
        }
        # fine if ($prenota_in_anno_succ)
        $dati_da_anno_prec = "NO";
        if ($num_id_prenota == 1) {
            $id_prenota_prec = trova_prenota_prec($anno, $d_id_data_inizio, $PHPR_TAB_PRE, $dati_prenota_modifica, $n_dati_prenota_modifica);
        } else {
            $id_prenota_prec = "";
        }
        if ($id_prenota_prec == "SI") {
            $id_prenota_prec = "";
        }
        if ($id_prenota_prec) {
            $dati_da_anno_prec = "SI";
            $tra_anni = $anno - 1;
            $dati_prenota_modifica = $n_dati_prenota_modifica;
            $id_prenota_orig = $id_prenota;
            $tableperiodi_orig = $tableperiodi;
            $tableprenota_orig = $tableprenota;
            $tablecostiprenota_orig = $tablecostiprenota;
            $tableperiodi_prec = $PHPR_TAB_PRE . "periodi" . ($anno - 1);
            $tableprenota_prec = $PHPR_TAB_PRE . "prenota" . ($anno - 1);
            $tablecostiprenota_prec = $PHPR_TAB_PRE . "costiprenota" . ($anno - 1);
            $dati_tariffe = dati_tariffe($PHPR_TAB_PRE . "ntariffe" . ($anno - 1), "", "", $PHPR_TAB_PRE . "regole" . ($anno - 1));
            $dati_ca = dati_costi_agg_ntariffe($PHPR_TAB_PRE . "ntariffe" . ($anno - 1), $dati_tariffe['num'], "NO", "", $tableappartamenti);
            $dati_cap = dati_costi_agg_prenota($tablecostiprenota_prec, $id_prenota_prec);
            ${"dati_cap" . $id_prenota} = $dati_cap;
            function passa_var_a_anno_prec(&$id_prenota, &$tableperiodi, &$tableprenota, &$tablecostiprenota, &$d_id_data_inizio, &$d_id_data_fine, &$n_fineperiodo, &$inizioperiodo, &$fineperiodo, &$lunghezza_periodo, $dati_prenota_modifica)
            {
                global $id_prenota_prec, $tableperiodi_prec, $tableprenota_prec, $tablecostiprenota_prec, $d_id_data_inizio_orig, $d_id_data_fine_orig, $n_fineperiodo_orig, $inizioperiodo_orig, $fineperiodo_orig;
                $id_prenota = $id_prenota_prec;
                $tableperiodi = $tableperiodi_prec;
                $tableprenota = $tableprenota_prec;
                $tablecostiprenota = $tablecostiprenota_prec;
                $d_id_data_inizio_orig = $d_id_data_inizio;
                $d_id_data_fine_orig = $d_id_data_fine;
                $n_fineperiodo_orig = $n_fineperiodo;
                $inizioperiodo_orig = $inizioperiodo;
                $fineperiodo_orig = $fineperiodo;
                $d_id_data_inizio = risul_query($dati_prenota_modifica, 0, 'iddatainizio');
                $inizioperiodo = $d_id_data_inizio;
                if ($n_fineperiodo) {
                    $diff_fineperiodo = $n_fineperiodo - $d_id_data_fine;
                }
                $d_id_data_fine = risul_query($dati_prenota_modifica, 0, 'iddatafine');
                if ($n_fineperiodo) {
                    $n_fineperiodo = $d_id_data_fine + $diff_fineperiodo;
                    $fineperiodo = $n_fineperiodo;
                } else {
                    $fineperiodo = $d_id_data_fine;
                }
                $lunghezza_periodo = $fineperiodo - $inizioperiodo + 1;
            }
            # fine function passa_var_a_anno_prec
            function passa_var_a_anno_corr(&$id_prenota, &$tableperiodi, &$tableprenota, &$tablecostiprenota, &$d_id_data_inizio, &$d_id_data_fine, &$n_fineperiodo, &$inizioperiodo, &$fineperiodo, &$lunghezza_periodo)
            {
                global $id_prenota_orig, $tableperiodi_orig, $tableprenota_orig, $tablecostiprenota_orig, $d_id_data_inizio_orig, $d_id_data_fine_orig, $n_fineperiodo_orig, $inizioperiodo_orig, $fineperiodo_orig;
                $id_prenota = $id_prenota_orig;
                $tableperiodi = $tableperiodi_orig;
                $tableprenota = $tableprenota_orig;
                $tablecostiprenota = $tablecostiprenota_orig;
                $d_id_data_inizio = $d_id_data_inizio_orig;
                $d_id_data_fine = $d_id_data_fine_orig;
                $n_fineperiodo = $n_fineperiodo_orig;
                $inizioperiodo = $inizioperiodo_orig;
                $fineperiodo = $fineperiodo_orig;
                $lunghezza_periodo = $fineperiodo - $inizioperiodo + 1;
            }
            # fine function passa_var_a_anno_corr
        }
        # fine if ($id_prenota_prec)
        $d_tariffa = risul_query($dati_prenota_modifica, 0, 'tariffa');
        $d_tariffa = explode("#@&", $d_tariffa);
        $d_nome_tariffa = $d_tariffa[0];
        $d_nome_tariffa_idpr[$id_prenota] = $d_nome_tariffa;
        $d_costo_tariffa = (double) $d_tariffa[1];
        $d_costo_tariffa_idpr[$id_prenota] = $d_costo_tariffa;
        $d_molt_tariffa = $d_tariffa[2];
        $d_molt_tariffa_idpr[$id_prenota] = $d_molt_tariffa;
        if ($dati_da_anno_prec != "SI") {
            $dati_cap = dati_costi_agg_prenota($tablecostiprenota, $id_prenota);
            ${"dati_cap" . $id_prenota} = $dati_cap;
        }
        # fine if ($dati_da_anno_prec != "SI")
        $d_nome_tipotariffa = "";
        for ($numtariffa = 1; $numtariffa <= $dati_tariffe['num']; $numtariffa++) {
            $nometariffa = $dati_tariffe["tariffa{$numtariffa}"]['nome'];
            if ($d_nome_tariffa == $nometariffa or $d_nome_tariffa == "tariffa" . $numtariffa) {
                $d_nome_tipotariffa = "tariffa" . $numtariffa;
            }
            # fine if ($d_nome_tariffa == $nometariffa or $d_nome_tariffa == "tariffa".$numtariffa
        }
        # fine for $numtariffa
        $d_nome_tipotariffa_idpr[$id_prenota] = $d_nome_tipotariffa;
        $d_app_eliminati_costi = risul_query($dati_prenota_modifica, 0, 'incompatibilita');
        $d_app_eliminati_costi_idpr[$id_prenota] = $d_app_eliminati_costi;
        $d_sconto = (double) risul_query($dati_prenota_modifica, 0, 'sconto');
        if (!$d_sconto) {
            $d_sconto = (double) 0;
        }
        $d_sconto_idpr[$id_prenota] = $d_sconto;
        $d_commento = risul_query($dati_prenota_modifica, 0, 'commento');
        $d_caparra = risul_query($dati_prenota_modifica, 0, 'caparra');
        $d_caparra_idpr[$id_prenota] = $d_caparra;
        $d_met_paga_caparra = risul_query($dati_prenota_modifica, 0, 'metodo_pagamento');
        $d_met_paga_caparra_idpr[$id_prenota] = $d_met_paga_caparra;
        $d_commissioni = risul_query($dati_prenota_modifica, 0, 'commissioni');
        $d_commissioni_idpr[$id_prenota] = $d_commissioni;
        $d_origine_prenota = risul_query($dati_prenota_modifica, 0, 'origine');
        $d_num_persone = risul_query($dati_prenota_modifica, 0, 'num_persone');
        $d_num_persone_idpr[$id_prenota] = $d_num_persone;
        if (!$d_num_persone) {
            $d_num_persone = 0;
        }
        $d_tariffesettimanali = risul_query($dati_prenota_modifica, 0, 'tariffesettimanali');
        $d_tariffesettimanali_idpr[$id_prenota] = $d_tariffesettimanali;
        $d_costo_agg_tot = (double) 0;
        $costo_escludi_perc = (double) 0;
        if ($dati_da_anno_prec == "SI") {
            passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica);
        }
        for ($numca = 0; $numca < $dati_cap['num']; $numca++) {
            $d_prezzo_costo_agg[$numca] = (double) calcola_prezzo_totale_costo($dati_cap, $numca, $d_id_data_inizio, $d_id_data_fine, $dati_cap[$numca]['settimane'], $dati_cap[$numca]['moltiplica_costo'], $d_costo_tariffa, $d_tariffesettimanali, $d_costo_tariffa + $d_costo_agg_tot - $d_sconto, $d_caparra, $d_num_persone, $costo_escludi_perc);
            $d_costo_agg_tot = (double) $d_costo_agg_tot + $d_prezzo_costo_agg[$numca];
            if ($dati_cap[$numca]['escludi_tot_perc'] == "s") {
                $costo_escludi_perc = (double) $costo_escludi_perc + $d_prezzo_costo_agg[$numca];
            }
        }
        # fine for $numca
        $d_costo_agg_tot_idpr[$id_prenota] = $d_costo_agg_tot;
        $d_prezzo_costo_agg_idpr[$id_prenota] = $d_prezzo_costo_agg;
        if ($dati_da_anno_prec == "SI") {
            passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo);
        }
        $d_costo_tot = $d_costo_tariffa + $d_costo_agg_tot - $d_sconto;
        $d_costo_tot_idpr[$id_prenota] = $d_costo_tot;
        $d_pagato = risul_query($dati_prenota_modifica, 0, 'pagato');
        if (!$d_pagato) {
            $d_pagato = 0;
        }
        $d_pagato_idpr[$id_prenota] = $d_pagato;
        $d_conferma = risul_query($dati_prenota_modifica, 0, 'conferma');
        $d_confermato_idpr[$id_prenota] = substr($d_conferma, 0, 1);
        $d_checkin = risul_query($dati_prenota_modifica, 0, 'checkin');
        $d_checkin_idpr[$id_prenota] = $d_checkin;
        $d_checkout = risul_query($dati_prenota_modifica, 0, 'checkout');
        $d_checkout_idpr[$id_prenota] = $d_checkout;
        $d_prenota_comp = risul_query($dati_prenota_modifica, 0, 'idprenota_compagna');
        $d_prenota_comp_idpr[$id_prenota] = $d_prenota_comp;
        $n_host_inserimento_idpr[$id_prenota] = risul_query($dati_prenota_modifica, 0, 'hostinserimento');
    }
    # fine for $num_idpr
}