<?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/>. ################################################################################## $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"; $tableclienti = $PHPR_TAB_PRE."clienti"; $tabletransazioniweb = $PHPR_TAB_PRE."transazioniweb"; $tablesoldi = $PHPR_TAB_PRE."soldi".$anno; $tableanni = $PHPR_TAB_PRE."anni"; if ($framed) { echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\"> <html> <head> <meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" > <title>$pag</title> "; if ($file_css_frame) echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$file_css_frame\" media=\"all\"> "; elseif ($extra_head_frame) echo "$extra_head_frame "; echo "</head> <body> "; } # fine if ($framed) if ($estendi_ultima_data == "SI") { $ultima_data_menu_periodi = explode("<option value=\"",$menu_periodi); $penultima_data_menu_periodi = substr($ultima_data_menu_periodi[(count($ultima_data_menu_periodi) - 2)],0,10); $ultima_data_menu_periodi = substr($ultima_data_menu_periodi[(count($ultima_data_menu_periodi) - 1)],0,10); $date_mancanti = esegui_query("select datafine from $tableperiodi where datafine > '$ultima_data_menu_periodi' order by idperiodi"); $num_date_mancanti = numlin_query($date_mancanti); if ($num_date_mancanti > 0) { $id_ultima_data = esegui_query("select idperiodi from $tableperiodi where datafine = '$ultima_data_menu_periodi'"); $id_ultima_data = risul_query($id_ultima_data,0,'idperiodi'); $id_penultima_data = esegui_query("select idperiodi from $tableperiodi where datafine = '$penultima_data_menu_periodi'"); $id_penultima_data = risul_query($id_penultima_data,0,'idperiodi'); $intervalloperiodo = $id_ultima_data - $id_penultima_data; if ($intervalloperiodo == 1) $num_intervallo = 1; else $num_intervallo = 2; for ($num1 = 0 ; $num1 < $num_date_mancanti ; $num1++) { if ($num_intervallo == 1) { $data_option = risul_query($date_mancanti,$num1,"datafine"); $menu_periodi .= "<option value=\"$data_option\">$data_option</option> "; } # fine if ($num_intervallo == 1) if ($num_intervallo == $intervalloperiodo) $num_intervallo = 1; else $num_intervallo++; } # fine for $num1 } # fine if ($num_date_mancanti > 0) } # fine if ($estendi_ultima_data == "SI") unset($inizioperiodi); unset($fineperiodi); unset($inizioperiodi_id); unset($fineperiodi_id); unset($intervalloperiodi); $menu_periodi_vett = explode("<option value=\"",$menu_periodi); $num_menu_periodi_vett = count($menu_periodi_vett); $inizioperiodi[0] = substr($menu_periodi_vett[1],0,10); if ($tipo_periodi == "s") $intervallo_base = 604800; else $intervallo_base = 86400; $data_prec = explode("-",$inizioperiodi[0]); $data_corr = explode("-",substr($menu_periodi_vett[2],0,10)); $intervallo_prec = round(((mktime(0,0,0,$data_corr[1],$data_corr[2],$data_corr[0]) - mktime(0,0,0,$data_prec[1],$data_prec[2],$data_prec[0])) / $intervallo_base),0); $intervalloperiodi[0] = $intervallo_prec; $num_periodi_date = 0; for ($num1 = 2 ; $num1 < $num_menu_periodi_vett ; $num1++) { $data_corr = explode("-",substr($menu_periodi_vett[$num1],0,10)); $intervallo_corr = round(((mktime(0,0,0,$data_corr[1],$data_corr[2],$data_corr[0]) - mktime(0,0,0,$data_prec[1],$data_prec[2],$data_prec[0])) / $intervallo_base),0); if ($intervallo_corr != $intervallo_prec) { $data_succ = explode("-",substr($menu_periodi_vett[($num1 + 1)],0,10)); $intervallo_succ = round(((mktime(0,0,0,$data_succ[1],$data_succ[2],$data_succ[0]) - mktime(0,0,0,$data_corr[1],$data_corr[2],$data_corr[0])) / $intervallo_base),0); $fineperiodi[$num_periodi_date] = $data_prec[0]."-".$data_prec[1]."-".$data_prec[2]; $num_periodi_date++; $inizioperiodi[$num_periodi_date] = $data_corr[0]."-".$data_corr[1]."-".$data_corr[2]; $intervalloperiodi[$num_periodi_date] = $intervallo_succ; $intervallo_prec = $intervallo_succ; } # fine if ($intervallo_corr != $intervallo_prec) $data_prec = $data_corr; } # fine for $num1 $fineperiodi[$num_periodi_date] = substr($menu_periodi_vett[($num1 - 1)],0,10); $num_periodi_date++; $tabelle_lock = ""; $altre_tab_lock = array("$tableperiodi","$tablenometariffe"); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $periodi = esegui_query("select * from $tableperiodi order by idperiodi"); $rigatariffe = esegui_query("select * from $tablenometariffe where idntariffe = 1 or idntariffe = 2 order by idntariffe "); $dati_tariffe = dati_tariffe($tablenometariffe); $dati_ca = dati_costi_agg_ntariffe($tablenometariffe,$dati_tariffe['num'],"NO"); unlock_tabelle($tabelle_lock); $num_tariffe_mostra = 0; for ($num1 = 1 ; $num1 <= $dati_tariffe['num'] ; $num1++) { if ($tariffe_mostra[$num1] == "SI") { $num_tariffe_mostra++; ${"numtariffa".$num_tariffe_mostra} = $num1; $tariffa[$num_tariffe_mostra] = "tariffa".${"numtariffa".$num_tariffe_mostra}; $nometariffa[$num_tariffe_mostra] = $dati_tariffe[$tariffa[$num_tariffe_mostra]]['nome']; if ($nometariffa[$num_tariffe_mostra] == "") { $nometariffa[$num_tariffe_mostra] = $tariffa[$num_tariffe_mostra]; $nometariffa_vedi[$num_tariffe_mostra] = $fr_tariffa.${"numtariffa".$num_tariffe_mostra}; } # fine if ($nometariffa == "") else $nometariffa_vedi[$num_tariffe_mostra] = $nometariffa[$num_tariffe_mostra]; if ($n_tariffe_imposte[$num1]) $nometariffa_vedi[$num_tariffe_mostra] = $n_tariffe_imposte[$num1]; if (num_caratteri_testo($nometariffa_vedi[$num_tariffe_mostra]) > 10) $nometariffa_vedi[$num_tariffe_mostra] = "<small>".$nometariffa_vedi[$num_tariffe_mostra]."</small>"; if ($dati_tariffe[$tariffa[$num_tariffe_mostra]]['moltiplica'] == "p") $per_persona[$num_tariffe_mostra] = 1; else $per_persona[$num_tariffe_mostra] = 0; } # fine if ($tariffe_mostra[$num1] == "SI") } # fine for $num1 $num_colonne_periodi = 0; $num_periodi = numlin_query($periodi); for ($num1 = 0 ; $num1 < $num_periodi ; $num1++) { $datainizio_db[$num1] = risul_query($periodi,$num1,'datainizio'); $datafine_db[$num1] = risul_query($periodi,$num1,'datafine'); } # fine for $num1 for ($num_p = 0 ; $num_p < $num_periodi_date ; $num_p++) { $nuova_colonna = "NO"; for ($num1 = 0 ; $num1 < $num_periodi ; $num1++) { if ($datainizio_db[$num1] == $inizioperiodi[$num_p]) $inizioperiodi_id[$num_p] = $num1; if ($datafine_db[$num1] == $fineperiodi[$num_p]) $fineperiodi_id[$num_p] = $num1; } # fine for $num1 $ini_colonna_periodo[$num_colonne_periodi] = $inizioperiodi[$num_p]; $ini_colonna_periodo[$num_colonne_periodi] = formatta_data($ini_colonna_periodo[$num_colonne_periodi],$stile_data); for ($num1 = 1 ; $num1 <= $num_tariffe_mostra ; $num1++) { if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") { $tariffa_colonna_periodo[$num1][$num_colonne_periodi] = (double) risul_query($periodi,$inizioperiodi_id[$num_p],$tariffa[$num1]); for ($num_i = 1 ; $num_i < $intervalloperiodi[$num_p] ; $num_i++) { $tariffa_colonna_periodo[$num1][$num_colonne_periodi] += (double) risul_query($periodi,($inizioperiodi_id[$num_p] + $num_i),$tariffa[$num1]); } # fine for $num_i if (!$tariffa_colonna_periodo[$num1][$num_colonne_periodi]) $tariffa_colonna_periodo[$num1][$num_colonne_periodi] = " "; else $tariffa_colonna_periodo[$num1][$num_colonne_periodi] = punti_in_num($tariffa_colonna_periodo[$num1][$num_colonne_periodi],$stile_soldi); } # fine if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") } # fine for $num1 $datafine = $datafine_db[$inizioperiodi_id[$num_p] + $intervalloperiodi[$num_p] - 1]; for ($num1 = ($inizioperiodi_id[$num_p] + $intervalloperiodi[$num_p]) ; $num1 <= $fineperiodi_id[$num_p] ; $num1++) { for ($num2 = 1 ; $num2 <= $num_tariffe_mostra ; $num2++) { if ($tariffe_mostra[${"numtariffa".$num2}] == "SI") { ${$tariffa[$num2]} = (double) risul_query($periodi,$num1,$tariffa[$num2]); for ($num_i = 1 ; $num_i < $intervalloperiodi[$num_p] ; $num_i++) { ${$tariffa[$num2]} += (double) risul_query($periodi,($num1 + $num_i),$tariffa[$num2]); } # fine for $num_i $tariffa_aux = ${$tariffa[$num2]}; if (!${$tariffa[$num2]}) ${$tariffa[$num2]} = " "; else ${$tariffa[$num2]} = punti_in_num($tariffa_aux,$stile_soldi); if (${$tariffa[$num2]} != $tariffa_colonna_periodo[$num2][$num_colonne_periodi]) $nuova_colonna = "SI"; } # fine if ($tariffe_mostra[${"numtariffa".$num2}] == "SI") } # fine for $num2 $datainizio = $datainizio_db[$num1]; for ($num_i = 1 ; $num_i < $intervalloperiodi[$num_p] ; $num_i++) $num1++; $datafine = $datafine_db[$num1]; if ($nuova_colonna == "SI") { $datainizio = formatta_data($datainizio,$stile_data); $fine_colonna_periodo[$num_colonne_periodi] = $datainizio; $num_colonne_periodi++; $ini_colonna_periodo[$num_colonne_periodi] = $datainizio; for ($num2 = 1 ; $num2 <= $num_tariffe_mostra ; $num2++) { if ($tariffe_mostra[${"numtariffa".$num2}] == "SI") $tariffa_colonna_periodo[$num2][$num_colonne_periodi] = ${$tariffa[$num2]}; } # fine for $num2 $nuova_colonna = "NO"; } # fine if ($nuova_colonna == "SI") } # fine for $num1 $datafine = formatta_data($datafine,$stile_data); $fine_colonna_periodo[$num_colonne_periodi] = $datafine; $num_colonne_periodi++; } # fine for $num_p echo "<table class=\"rates\" $stile_tabella_tariffe> <tr class=\"row_dates\"><td> </td>"; if ($fr_dal) $fr_dal_br = $fr_dal."<br>"; else $fr_dal_br = ""; for ($num1 = 0 ; $num1 < $num_colonne_periodi ; $num1++) { echo "<td><small>$apertura_tag_font$fr_dal_br".$ini_colonna_periodo[$num1]." <br>$fr_al<br>".$fine_colonna_periodo[$num1]."$chiusura_tag_font</small></td>"; } # fine for $num1 if ($mostra_caparra == "SI") echo "<td><small>$apertura_tag_font$fr_Caparra$chiusura_tag_font</small></td>"; echo "</tr> "; for ($num1 = 1 ; $num1 <= $num_tariffe_mostra ; $num1++) { if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") { echo "<tr class=\"row$num1\"><td>$apertura_tag_font".$nometariffa_vedi[$num1]; if ($per_persona[$num1]) echo "<br><small><small>($fr_a_persona)</small></small>"; echo "$chiusura_tag_font</td>"; for ($num2 = 0 ; $num2 < $num_colonne_periodi ; $num2++) { echo "<td>$apertura_tag_font".$tariffa_colonna_periodo[$num1][$num2]."$chiusura_tag_font</td>"; } # fine for $num2 if ($mostra_caparra == "SI") { $caparra_percent = $dati_tariffe["tariffa".${"numtariffa".$num1}]['caparra_percent']; $caparra_arrotond = $dati_tariffe["tariffa".${"numtariffa".$num1}]['caparra_arrotond']; if (!$caparra_percent) $caparra_percent = 0; echo "<td>$caparra_percent"; if ($caparra_arrotond == "val") { if ($caparra_percent != 1) echo " $fr_Euros"; else echo " $fr_Euro"; } # fine if ($caparra_arrotond == "val") else echo "%"; echo "</td>"; } # fine if ($mostra_caparra == "SI") echo "</tr> "; } # fine if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") } # fine for $num1 echo "</table>"; $lista_tutte_tariffe = ""; for ($num1 = 1 ; $num1 <= $num_tariffe_mostra ; $num1++) { if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") $lista_tutte_tariffe .= $nometariffa_vedi[$num1].", "; } # fine for $num1 $lista_tutte_tariffe = substr($lista_tutte_tariffe,0,-2); $testo_costi_agg = ""; for ($numca = 0 ; $numca < $dati_ca['num'] ; $numca++) { $idcostoagg = $dati_ca[$numca]['id']; if ($costi_agg_mostra[$idcostoagg] == "SI") { if ($n_costi_agg_imposti[$idcostoagg]) $nomecosto_imposto = $n_costi_agg_imposti[$idcostoagg]; else $nomecosto_imposto = $dati_ca[$numca]['nome']; $numcostoagg = "costoagg".($numca + 1); $nome_idcostoagg = "idcostoagg".($numca + 1); if (${$nome_idcostoagg."_".$n_t} == $idcostoagg and ${$numcostoagg."_".$n_t} == "SI") $checked = " checked"; else $checked = ""; $testo_costi_agg .= "<li>$apertura_tag_font<input type=\"hidden\" name=\"$nome_idcostoagg"."_$n_t\" value=\"$idcostoagg\"> <b>$nomecosto_imposto</b>:"; if ($anteponi_nome_valuta != "SI") $testo_costi_agg .= " ".$dati_ca[$numca]['valore']; if ($dati_ca[$numca]['tipo_val'] == "f" and $dati_ca[$numca]['valore'] != 1) $testo_costi_agg .= " $fr_Euros"; if ($dati_ca[$numca]['tipo_val'] == "f" and $dati_ca[$numca]['valore'] == 1) $testo_costi_agg .= " $fr_Euro"; if ($anteponi_nome_valuta == "SI") $testo_costi_agg .= $dati_ca[$numca]['valore']; if ($dati_ca[$numca]['tipo_val'] == "p") $testo_costi_agg .= "% $fr_della_tariffa"; if ($dati_ca[$numca]['tipo_val'] == "t") $testo_costi_agg .= "% $fr_del_prezzo_totale"; if ($dati_ca[$numca]['tipo_val'] == "c") $testo_costi_agg .= "% $fr_della_caparra"; if ($dati_ca[$numca]['tipo_val'] == "r") $testo_costi_agg .= "% $fr_del_resto_della_caparra"; if ($dati_ca[$numca]['tipo'] == "s") $testo_costi_agg .= " $fr_alla_settimana"; if ($dati_ca[$numca]['moltiplica'] == "p" or $dati_ca[$numca]['moltiplica'] == "t") $testo_costi_agg .= " $fr_a_persona"; $lista_tariffe_ass = ""; for ($num1 = 1 ; $num1 <= $num_tariffe_mostra ; $num1++) { if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") { if ($dati_ca[$numca]["tariffa".${"numtariffa".$num1}]) $lista_tariffe_ass .= $nometariffa_vedi[$num1].", "; } # fine if ($tariffe_mostra[${"numtariffa".$num1}] == "SI") } # fine for $num1 $lista_tariffe_ass = substr($lista_tariffe_ass,0,-2); if ($lista_tutte_tariffe and $lista_tariffe_ass == $lista_tutte_tariffe) $testo_costi_agg .= " ($fr_obbligatorio_con $fr_tutte_le_tariffe)"; else if ($lista_tariffe_ass) $testo_costi_agg .= " ($fr_obbligatorio_con $lista_tariffe_ass)"; $testo_costi_agg .= ".$chiusura_tag_font</li>"; } # fine if ($costi_agg_mostra[$idcostoagg] == "SI") } # fine for $numca if ($testo_costi_agg) { echo "<br><div class=\"extra_costs\"> $fr_Costi_aggiuntivi: <ul class=\"extra_costs\"> $testo_costi_agg </ul></div>"; } # fine if ($testo_costi_agg) if ($framed) { echo " </body> </html> "; } # fine if ($framed) ?> |