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
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 }