function inserisci_prenotazione($inizioperiodo, $fineperiodo, $lista_app, $tipotariffa, $numpersone, $prenota_vicine, $idclienti, $conferma, $pagato, $caparra, $met_paga_caparra, $commissioni, $origine_prenota, $sconto, $giorno_stima_checkin, $ora_stima_checkin, $min_stima_checkin, $commento, &$stato, $anno, $PHPR_TAB_PRE, $ins_passato = "", $id_utente_imp = "", $id_prenota_imp = "", $tariffe_sett_imp = "", $ins_costi_agg = "") { global $id_utente, $HOSTNAME; $PHPR_TAB_PRE = aggslashdb($PHPR_TAB_PRE); $anno = aggslashdb($anno); $tableprenota = $PHPR_TAB_PRE . "prenota" . $anno; $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno; $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno; $tableregole = $PHPR_TAB_PRE . "regole" . $anno; $tableappartamenti = $PHPR_TAB_PRE . "appartamenti"; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tableclienti = $PHPR_TAB_PRE . "clienti"; $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno; if (!function_exists('tab_a_var')) { include "./includes/liberasettimane.php"; } if (!function_exists('dati_tariffe')) { include "./includes/funzioni_tariffe.php"; } include "./includes/sett_gio.php"; $Euro = nome_valuta(); $stile_soldi = stile_soldi(); $stile_data = stile_data(); $num_tipologie = count($inizioperiodo); $appartamenti = esegui_query("select * from {$tableappartamenti} "); $numappartamenti = numlin_query($appartamenti); $id_app_richiesti = 0; $dati_tariffe = dati_tariffe($tablenometariffe, "", "", $tableregole); if ($ins_costi_agg) { if (!function_exists('dati_costi_agg_ntariffe')) { include "./includes/funzioni_costi_agg.php"; } $dati_ca = dati_costi_agg_ntariffe($tablenometariffe, $dati_tariffe['num'], "NO", "", $tableappartamenti); } # fine if ($ins_costi_agg) for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $inizioperiodo_orig[$n_t] = $inizioperiodo[$n_t]; $fineperiodo_orig[$n_t] = $fineperiodo[$n_t]; $idinizioperiodo = esegui_query("select idperiodi from {$tableperiodi} where datainizio = '" . aggslashdb($inizioperiodo[$n_t]) . "' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo, 0, 'idperiodi'); } $inizioperiodo[$n_t] = $idinizioperiodo; if (!$idinizioperiodo_tot or $idinizioperiodo < $idinizioperiodo_tot) { $idinizioperiodo_tot = $idinizioperiodo; } $idfineperiodo = esegui_query("select idperiodi from {$tableperiodi} where datafine = '" . aggslashdb($fineperiodo[$n_t]) . "' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo, 0, 'idperiodi'); } $fineperiodo[$n_t] = $idfineperiodo; if (!$idfineperiodo_tot or $idfineperiodo > $idfineperiodo_tot) { $idfineperiodo_tot = $idfineperiodo; } $id_periodo_corrente = calcola_id_periodo_corrente($anno); if ($id_periodo_corrente > $idinizioperiodo and !$ins_passato) { $data_sbagliata = "SI"; } if ($idfineperiodo < $idinizioperiodo or $data_sbagliata == "SI") { $inserire = "NO"; $mess_errore .= mex("Le date sono sbagliate", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if ($idfineperiodo < $idinizioperiodo or... if (substr($tipotariffa[$n_t], 0, 7) != "tariffa" or controlla_num_pos(substr($tipotariffa[$n_t], 7)) == "NO") { $tariffa_sbagliata = "SI"; } else { $tar_sett_imp = $tariffe_sett_imp[$n_t]; for ($num1 = $inizioperiodo[$n_t]; $num1 <= $fineperiodo[$n_t]; $num1++) { $rigasettimana = esegui_query("select * from {$tableperiodi} where idperiodi = '{$num1}' "); $esistetariffa = risul_query($rigasettimana, 0, $tipotariffa[$n_t]); $esistetariffap = risul_query($rigasettimana, 0, $tipotariffa[$n_t] . "p"); if ((!strcmp($esistetariffa, "") or $esistetariffa < 0) and (!strcmp($esistetariffap, "") or $esistetariffap < 0) and !strcmp($tar_sett_imp[$num1], "")) { $tariffa_sbagliata = "SI"; } if ($dati_tariffe[$tipotariffa[$n_t]]['chiusa'][$num1] and !strcmp($tar_sett_imp[$num1], "")) { $tariffa_sbagliata = "SI"; } } # fine for $num1 } # fine else if (substr($tipotariffa[$n_t],0,7) != "tariffa" or... if ($tariffa_sbagliata == "SI") { $inserire = "NO"; $mess_errore .= mex("Si deve inserire il tipo di tariffa", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= "(" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } else { # se vi è una regola 2 per la tariffa unset($app_regola2_predef); if (!$lista_app[$n_t]) { $lista_app[$n_t] = trova_app_regola2($tipotariffa[$n_t], $regole2, $num_regole2, $app_regola2_predef, $id_periodo_corrente, $idinizioperiodo, $idfineperiodo, $tipo_periodi, $anno, $tableregole); } # fine if (!$lista_app[$n_t]) $id_utente_ins = ""; # se vi è una regola 3 per la tariffa if ($id_utente == 1) { $regole3 = esegui_query("select * from {$tableregole} where tariffa_per_utente = '" . aggslashdb($tipotariffa[$n_t]) . "'"); if (numlin_query($regole3) == 1) { $id_utente_ins = risul_query($regole3, 0, 'iddatainizio'); } } # fine if ($id_utente == 1) if (!$id_utente_ins and $id_utente_imp) { $id_utente_ins = $id_utente_imp; } if (!$id_utente_ins and $id_utente) { $id_utente_ins = $id_utente; } if (!$id_utente_ins) { $id_utente_ins = 1; } # se vi è una regola 4 per la tariffa if (!$numpersone[$n_t]) { $regole4 = esegui_query("select * from {$tableregole} where tariffa_per_persone = '" . aggslashdb($tipotariffa[$n_t]) . "'"); if (numlin_query($regole4) == 1) { $numpersone[$n_t] = risul_query($regole4, 0, 'iddatainizio'); } } # fine if (!$numpersone[$n_t]) if (!$numpersone) { if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { $inserire = "NO"; $mess_errore .= mex("Si deve inserire il numero delle persone per questa tariffa", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= "(" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") } # fine if (!$numpersone) } # fine else if ($tariffa_sbagliata == "SI") if (controlla_num_pos($idclienti[$n_t]) == "NO") { $inserire = "NO"; } else { $cliente_esistente = esegui_query("select cognome from {$tableclienti} where idclienti = '" . $idclienti[$n_t] . "' "); if (numlin_query($cliente_esistente) != 1) { $inserire = "NO"; } else { $cognome = risul_query($cliente_esistente, 0, "cognome"); } } # fine else if (controlla_num_pos($idclienti[$n_t]) == "NO") $app_richiesti_id[$n_t] = ""; $assegnazioneapp[$n_t] = "v"; if ($lista_app[$n_t]) { $assegnazioneapp[$n_t] = "c"; $vett_app = explode(",", $lista_app[$n_t]); $num_app = count($vett_app); if ($num_app == 1) { $assegnazioneapp[$n_t] = "k"; } for ($num1 = 0; $num1 < $num_app; $num1++) { $appo = aggslashdb($vett_app[$num1]); $app_richiesti_id[$n_t][$appo] = "SI"; $appartamento_esistente = esegui_query("select idappartamenti from {$tableappartamenti} where idappartamenti = '{$appo}' "); if (numlin_query($appartamento_esistente) != 1) { $inserire = "NO"; $mess_errore .= mex("L'appartamento", 'unit.php') . " <div style=\"display: inline; color: red;\">{$appo}</div> " . mex("contenuto nella lista non esiste", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if (numlin_query($appartamento_esistente) != 1) } # fine for $num1 } # fine if ($lista_app[$n_t]) if ($numpersone[$n_t]) { if (controlla_num_pos($numpersone[$n_t]) == "NO") { $inserire = "NO"; $mess_errore .= mex("Il numero di persone è sbagliato", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if (controlla_num_pos($numpersone[$n_t]) == "NO") $app_richiesti_copia = $app_richiesti_id[$n_t]; $posti = 0; if ($app_regola2_predef) { $app_regola2_predef = ",{$app_regola2_predef},"; $posto_reg2_orig = 0; } # fine if ($app_regola2_predef) for ($num1 = 0; $num1 < $numappartamenti; $num1++) { $idapp = risul_query($appartamenti, $num1, 'idappartamenti'); $maxoccupanti = risul_query($appartamenti, $num1, 'maxoccupanti'); if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") { if ($maxoccupanti and $maxoccupanti < $numpersone[$n_t]) { $app_richiesti_id[$n_t][$idapp] = "NO"; } else { $app_richiesti_id[$n_t][$idapp] = "SI"; $posti++; } # fine else if ($maxoccupanti and $maxoccupanti < $numpersone[$n_t]) } # fine if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") if ($app_regola2_predef) { if (str_replace(",{$idapp},", "", $app_regola2_predef) != $app_regola2_predef) { if (!$maxoccupanti or $maxoccupanti >= $numpersone[$n_t]) { $posto_reg2_orig = 1; } } # fine if (str_replace(",$idapp,","",$app_regola2_predef) != $app_regola2_predef) } # fine if ($app_regola2_predef) } # fine for $num1 if ($posti == 0 or $app_regola2_predef and !$posto_reg2_orig) { $mess_errore .= mex("Non c'è nessun appartamento tra quelli richiesti che possa ospitare", 'unit.php') . " " . $numpersone[$n_t] . " " . mex("persone", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; $inserire = "NO"; } # fine if ($posti == 0 or... } # fine if ($numpersone[$n_t]) unset($lista_app_richiesti); if (!$app_richiesti_id[$n_t]) { $lista_app_richiesti = ",tutti,,"; } else { while (list($key, $val) = each($app_richiesti_id[$n_t])) { if ($val == "SI") { $lista_app_richiesti .= $key . ","; } } } $lista_app_richiesti = substr($lista_app_richiesti, 0, -1); $id_app_richiesti++; $app_richiesti[$id_app_richiesti] = $lista_app_richiesti; $idinizioperiodo_vett[$id_app_richiesti] = $idinizioperiodo; $idfineperiodo_vett[$id_app_richiesti] = $idfineperiodo; $app_richiesti[",numero,"] = $id_app_richiesti; if ($num_tipologie > 1 and $prenota_vicine == "SI") { $app_richiesti[",vicini,"] = "SI"; } if ($id_prenota_imp) { if (controlla_num_pos($id_prenota_imp[$n_t]) == "SI") { $id_esistente = esegui_query("select idprenota from {$tableprenota} where idprenota = '" . $id_prenota_imp[$n_t] . "' "); if (numlin_query($id_esistente)) { unset($id_prenota_imp); } } else { unset($id_prenota_imp); } } # fine if ($id_prenota_imp) } # fine for $n_t if ($inserire != "NO") { $app_agenzia = esegui_query("select * from {$tableregole} where app_agenzia != ''{$condizioni_regole1_non_sel}"); $num_app_agenzia = numlin_query($app_agenzia); $minuti_durata_insprenota = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'minuti_durata_insprenota' and idutente = '1'"); $minuti_durata_insprenota = risul_query($minuti_durata_insprenota, 0, 'valpersonalizza_num'); $lim_prenota_temp = aggslashdb(date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600 - $minuti_durata_insprenota * 60)); esegui_query("delete from {$tableprenota} where idclienti = '0' and datainserimento < '" . $lim_prenota_temp . "' "); #Se ci sono regole per $app_agenzia inserisco false prenotazioni fisse in $app_prenota_id2 if ($num_app_agenzia != 0) { unset($limiti_var); unset($app_prenota_id); unset($app_orig_prenota_id); unset($inizio_prenota_id); unset($fine_prenota_id); unset($app_assegnabili_id); unset($prenota_in_app_sett); unset($dati_app); unset($profondita); $limiti_var['n_ini'] = $idinizioperiodo_tot; $limiti_var['n_fine'] = $idfineperiodo_tot; $limiti_var['lim_prenota_temp'] = $lim_prenota_temp; $profondita['iniziale'] = ""; $profondita['attuale'] = 1; $max_prenota = esegui_query("select max(idprenota) from {$tableprenota}"); if (numlin_query($max_prenota) != 0) { $tot_prenota = risul_query($max_prenota, 0, 0); } else { $tot_prenota = 0; } $profondita['tot_prenota_ini'] = $tot_prenota; $profondita['tot_prenota_attuale'] = $tot_prenota; tab_a_var($limiti_var, $app_prenota_id, $app_orig_prenota_id, $inizio_prenota_id, $fine_prenota_id, $app_assegnabili_id, $prenota_in_app_sett, $anno, $dati_app, $profondita, $PHPR_TAB_PRE . "prenota"); unset($info_periodi_ag); $info_periodi_ag['numero'] = 0; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 == "x") { $info_periodi_ag['app'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'app_agenzia'); $info_periodi_ag['ini'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatainizio'); $info_periodi_ag['fine'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatafine'); $info_periodi_ag['numero']++; } # fine if ($mot2 == "x") } # fine for $num1 if ($info_periodi_ag['numero']) { inserisci_prenota_fittizie($info_periodi_ag, $profondita, $app_prenota_id, $inizio_prenota_id, $fine_prenota_id, $prenota_in_app_sett, $app_assegnabili_id); } $limiti_var2 = $limiti_var; $profondita2 = $profondita; $prenota_in_app_sett2 = $prenota_in_app_sett; $inizio_prenota_id2 = $inizio_prenota_id; $fine_prenota_id2 = $fine_prenota_id; $app_prenota_id2 = $app_prenota_id; $app_assegnabili_id2 = $app_assegnabili_id; unset($info_periodi_ag); $info_periodi_ag['numero'] = 0; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 != "x") { $info_periodi_ag['app'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'app_agenzia'); $info_periodi_ag['ini'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatainizio'); $info_periodi_ag['fine'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatafine'); $info_periodi_ag['numero']++; } # fine if ($mot2 != "x") } # fine for $num1 if ($info_periodi_ag['numero']) { inserisci_prenota_fittizie($info_periodi_ag, $profondita2, $app_prenota_id2, $inizio_prenota_id2, $fine_prenota_id2, $prenota_in_app_sett2, $app_assegnabili_id2); } $occupare_app_agenzia_sempre = "NO"; for ($num1 = $idinizioperiodo_tot; $num1 <= $idfineperiodo_tot; $num1++) { $numprenotazioni = 0; for ($num2 = 0; $num2 < $dati_app['totapp']; $num2++) { if ($prenota_in_app_sett2[$dati_app['posizione'][$num2]][$num1]) { $numprenotazioni++; } } if ($numprenotazioni >= $numappartamenti) { $occupare_app_agenzia_sempre = "SI"; } } # fine for $num1 if ($occupare_app_agenzia_sempre != "SI") { $app_orig_prenota_id = $app_prenota_id2; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var2, $anno, $fatto_libera, $app_liberato, $profondita2, $app_richiesti, $app_prenota_id2, $app_orig_prenota_id, $inizio_prenota_id2, $fine_prenota_id2, $app_assegnabili_id2, $prenota_in_app_sett2, $dati_app, $PHPR_TAB_PRE . "prenota"); } else { $fatto_libera = "NO"; } if ($fatto_libera == "SI") { $risul_agg = aggiorna_tableprenota($app_prenota_id2, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $fatto_libera = "NO"; } else { $occupare_app_agenzia = "NO"; $appartamento = $app_liberato; } # fine else if (!$risul_agg) } else { $occupare_app_agenzia = "SI"; $limiti_var['t_limite'] = time() + $sec_limite_libsett; $app_liberato = ""; $app_orig_prenota_id = $app_prenota_id; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var, $anno, $fatto_libera2, $app_liberato, $profondita, $app_richiesti, $app_prenota_id, $app_orig_prenota_id, $inizio_prenota_id, $fine_prenota_id, $app_assegnabili_id, $prenota_in_app_sett, $dati_app, $PHPR_TAB_PRE . "prenota"); if ($fatto_libera2 != "NO") { $risul_agg = aggiorna_tableprenota($app_prenota_id, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $fatto_libera2 = "NO"; } } # fine if ($fatto_libera2 != "NO") if ($fatto_libera2 == "NO") { $inserire = "NO"; $mess_errore .= mex("Nel periodo selezionato non è possibile ospitare il cliente negli appartamenti richiesti", 'unit.php') . ".<br>"; for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $mess_prenota .= mex("Prenotazione", "prenota.php") . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b>"; $mess_prenota .= " " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= " " . mex("per", "prenota.php") . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", "prenota.php") . ""; } if ($dati_tariffe[$tipotariffa[$n_t]]['nome']) { $nometariffa_vedi = $dati_tariffe[$tipotariffa[$n_t]]['nome']; } else { $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } $mess_prenota .= ", " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\".<br><br>"; } # fine for $n_t } else { $appartamento = $app_liberato; $mess_regola1 .= mex("Sono stati fatti i seguenti spostamenti nei periodi della <div style=\"display: inline; color: blue;\">regola di assegnazione 1</div>", "clienti.php") . ":<br>"; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 != "x") { $id_app_agenzia = risul_query($app_agenzia, $num1, 'app_agenzia'); $idinizio_app_agenzia = risul_query($app_agenzia, $num1, 'iddatainizio'); $idfine_app_agenzia = risul_query($app_agenzia, $num1, 'iddatafine'); $motivazione_app_agenzia = risul_query($app_agenzia, $num1, 'motivazione'); $idprenota_cambiate_da_ag = esegui_query("select idprenota from {$tableprenota} where idappartamenti = '{$id_app_agenzia}' and iddatainizio <= '{$idfine_app_agenzia}' and iddatafine >= '{$idinizio_app_agenzia}'"); $num_idprenota_cambiate_da_ag = numlin_query($idprenota_cambiate_da_ag); for ($num2 = 0; $num2 < $num_idprenota_cambiate_da_ag; $num2 = $num2 + 1) { $idprenota_cambiata = risul_query($idprenota_cambiate_da_ag, $num2, 'idprenota'); if ($app_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $id_app_agenzia) { $idapp_camb = $app_prenota_id[$idprenota_cambiata]; $dati_cambiati = esegui_query("select * from {$tableprenota} where idprenota = '{$idprenota_cambiata}'"); $idclienti_camb = risul_query($dati_cambiati, 0, 'idclienti'); $cliente_camb = esegui_query("select cognome from {$tableclienti} where idclienti = '{$idclienti_camb}'"); if ($idclienti_camb) { $cliente_camb = risul_query($cliente_camb, 0, 'cognome'); } else { $cliente_camb = "?"; } $iddatainizio_camb = $inizio_prenota_id[$idprenota_cambiata]; $datainizio_camb = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '{$iddatainizio_camb}'"); $datainizio_camb = risul_query($datainizio_camb, 0, 'datainizio'); $datainizio_camb_f = formatta_data($datainizio_camb, $stile_data); $iddatafine_camb = $fine_prenota_id[$idprenota_cambiata]; $datafine_camb = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$iddatafine_camb}'"); $datafine_camb = risul_query($datafine_camb, 0, 'datafine'); $datafine_camb_f = formatta_data($datafine_camb, $stile_data); $mess_regola1 .= mex("La prenotazione dal", "clienti.php") . " {$datainizio_camb_f} " . mex("al", "clienti.php") . " {$datafine_camb_f} " . mex("a nome di", "clienti.php") . " {$cliente_camb} " . mex("verrà spostata dall'appartamento", 'unit.php') . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>) " . mex("al", "clienti.php") . " {$idapp_camb}.<br>"; } # fine if ($app_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $id_app_agenzia) } # fine for $num2 $idprenota_cambiate_a_ag = prenota_in_app_e_periodo($id_app_agenzia, $idinizio_app_agenzia, $idfine_app_agenzia, $prenota_in_app_sett, $fine_prenota_id, $num_pca); for ($num2 = 1; $num2 <= $num_pca; $num2++) { $idprenota_cambiata = $idprenota_cambiate_a_ag[$num2]; if ($app_orig_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $app_orig_prenota_id[$idprenota_cambiata]) { $dati_cambiati = esegui_query("select * from {$tableprenota} where idprenota = {$idprenota_cambiata}"); $idapp_camb = $app_orig_prenota_id[$idprenota_cambiata]; $idclienti_camb = risul_query($dati_cambiati, 0, 'idclienti'); $cliente_camb = esegui_query("select cognome from {$tableclienti} where idclienti = {$idclienti_camb}"); if ($idclienti_camb) { $cliente_camb = risul_query($cliente_camb, 0, 'cognome'); } else { $cliente_camb = "?"; } $iddatainizio_camb = $inizio_prenota_id[$idprenota_cambiata]; $datainizio_camb = esegui_query("select datainizio from {$tableperiodi} where idperiodi = {$iddatainizio_camb}"); $datainizio_camb = risul_query($datainizio_camb, 0, 'datainizio'); $datainizio_camb_f = formatta_data($datainizio_camb, $stile_data); $iddatafine_camb = $fine_prenota_id[$idprenota_cambiata]; $datafine_camb = esegui_query("select datafine from {$tableperiodi} where idperiodi = {$iddatafine_camb}"); $datafine_camb = risul_query($datafine_camb, 0, 'datafine'); $datafine_camb_f = formatta_data($datafine_camb, $stile_data); $mess_regola1 .= mex("La prenotazione dal", "clienti.php") . " {$datainizio_camb_f} " . mex("al", "clienti.php") . " {$datafine_camb_f} " . mex("a nome di", "clienti.php") . " {$cliente_camb} " . mex("verrà spostata dall'appartamento", 'unit.php') . " {$idapp_camb} " . mex("al", "clienti.php") . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>).<br>"; } # fine if ($app_orig_prenota_id[$idprenota_cambiata] and... } # fine for $num2 for ($num2 = 1; $num2 <= $id_app_richiesti; $num2++) { if ($id_app_richiesti > 1) { $appartamento_controlla = $appartamento[$num2]; } else { $appartamento_controlla = $appartamento; } if ($id_app_agenzia == $appartamento_controlla and $idinizio_app_agenzia <= $idfineperiodo and $idfine_app_agenzia >= $idinizioperiodo) { $mess_regola1 .= mex("La nuova prenotazione verrà inserita nell'appartamento", 'unit.php') . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>).<br>"; } # fine if ($id_app_agenzia == $appartamento_controlla and ... } # fine for $num2 } # fine if ($mot2 != "x") } # fine for $num1 } # fine else if ($fatto_libera2 == "NO") } # fine else if ($fatto_libera == "SI") } else { # se non ci sono app_agenzia della regola di assegnazione 1 unset($limiti_var); unset($profondita_); unset($app_prenota_id_); unset($app_orig_prenota_id_); unset($inizio_prenota_id_); unset($fine_prenota_id_); unset($app_assegnabili_id_); unset($prenota_in_app_sett_); unset($dati_app_); unset($app_liberato); $limiti_var["lim_prenota_temp"] = $lim_prenota_temp; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var, $anno, $fatto_libera, $app_liberato, $profondita_, $app_richiesti, $app_prenota_id_, $app_orig_prenota_id_, $inizio_prenota_id_, $fine_prenota_id_, $app_assegnabili_id_, $prenota_in_app_sett_, $dati_app_, $PHPR_TAB_PRE . "prenota"); if ($fatto_libera == "NO") { $inserire = "NO"; $mess_errore .= mex("Nel periodo selezionato non è possibile ospitare il cliente in un appartamento tra quelli richiesti", 'unit.php') . ".<br>"; for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $mess_prenota .= mex("Prenotazione", "prenota.php") . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b>"; $mess_prenota .= " " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= " " . mex("per", "prenota.php") . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", "prenota.php") . ""; } if ($dati_tariffe[$tipotariffa[$n_t]]['nome']) { $nometariffa_vedi = $dati_tariffe[$tipotariffa[$n_t]]['nome']; } else { $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } $mess_prenota .= ", " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\".<br><br>"; } # fine for $n_t } else { $appartamento = $app_liberato; } } # fine else if ($num_app_agenzia != 0) } # fine if ($inserire != "NO") if ($inserire != "NO") { $metodi_pagamento = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'metodi_pagamento' and idutente = '{$id_utente}'"); $metodi_pagamento = risul_query($metodi_pagamento, 0, 'valpersonalizza'); if ($metodi_pagamento) { $metodi_pagamento = explode(",", $metodi_pagamento); } $origini_prenota = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'origini_prenota' and idutente = '{$id_utente}'"); $origini_prenota = risul_query($origini_prenota, 0, 'valpersonalizza'); if ($origini_prenota) { $origini_prenota = explode(",", $origini_prenota); } for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $lunghezza_periodo = $fineperiodo[$n_t] - $inizioperiodo[$n_t] + 1; $max_idprenota = esegui_query("select numlimite from {$tablecostiprenota} where idcostiprenota = '1'"); $max_idprenota = risul_query($max_idprenota, 0, 'numlimite'); if ($id_prenota_imp[$n_t]) { $idprenota = $id_prenota_imp[$n_t]; } else { $idprenota = $max_idprenota; } if ($idprenota >= $max_idprenota) { esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota + 1) . "' where idcostiprenota = '1'"); } $mess_prenota .= mex("Prenotazione", "prenota.php") . " {$idprenota} " . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b> ({$lunghezza_periodo} " . mex("{$parola_settiman}", "prenota.php"); if ($lunghezza_periodo == 1) { $mess_prenota .= mex("{$lettera_a}", "prenota.php"); } else { $mess_prenota .= mex("{$lettera_e}", "prenota.php"); } $mess_prenota .= ") " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= mex("per", 'prenota.php') . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", 'prenota.php') . " "; } $mess_prenota .= mex("nell'appartamento", 'unit.php') . " <b>" . $appartamento[$n_t] . "</b>"; if ($assegnazioneapp[$n_t] == "k") { $mess_prenota .= " (" . mex("fisso", "unit.php") . ")"; } else { $mess_prenota .= " (" . mex("mobile", "prenota.php"); if ($lista_app[$n_t]) { $mess_prenota .= " " . mex("in", "prenota.php") . " " . str_replace(",", ", ", $lista_app[$n_t]); } $mess_prenota .= ")"; } # fine else if ($assegnazioneapp[$n_t] == "k") $mess_prenota .= ":<br><br>"; $costo_tariffa_tot = (double) 0; unset($lista_tariffe_sett); unset($lista_tariffep_sett); $tar_sett_imp = $tariffe_sett_imp[$n_t]; for ($num2 = $inizioperiodo[$n_t]; $num2 <= $fineperiodo[$n_t]; $num2++) { $riga_tariffa = esegui_query("select * from {$tableperiodi} where idperiodi = {$num2}"); if (strcmp($tar_sett_imp[$num2], "")) { $costo_tariffa = $tar_sett_imp[$num2]; } else { $costo_tariffa = risul_query($riga_tariffa, 0, $tipotariffa[$n_t]); } if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { if (!strcmp($costo_tariffa, "")) { $costo_tariffa = 0; } if (strcmp($tar_sett_imp[$num2], "")) { $costo_tariffap = 0; } else { $costo_tariffap = risul_query($riga_tariffa, 0, $tipotariffa[$n_t] . "p"); } if (!strcmp($costo_tariffap, "")) { $costo_tariffap = 0; } $costo_tariffap = (double) $costo_tariffap * (double) $numpersone[$n_t]; $lista_tariffep_sett .= "," . $costo_tariffap; $costo_tariffa = (double) $costo_tariffa + $costo_tariffap; } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") $costo_tariffa_tot = (double) $costo_tariffa_tot + (double) $costo_tariffa; $lista_tariffe_sett .= "," . $costo_tariffa; } # fine for $num2 $lista_tariffe_sett = substr($lista_tariffe_sett, 1); if ($lista_tariffep_sett) { $lista_tariffep_sett = substr($lista_tariffep_sett, 1); $lista_tariffe_sett .= ";{$lista_tariffep_sett}"; } # fine if ($lista_tariffep_sett) $costo_tariffa = $costo_tariffa_tot; $nometariffa = $dati_tariffe[$tipotariffa[$n_t]]['nome']; if ($nometariffa == "") { $nometariffa = $tipotariffa[$n_t]; $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } else { $nometariffa_vedi = $nometariffa; } $nometariffa = aggslashdb($nometariffa); $tariffa = $nometariffa . "#@&" . $costo_tariffa_tot; if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { $tariffa .= "#@&p"; } $costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot, $stile_soldi); $mess_prenota .= "{$costo_tariffa_tot_p} {$Euro} " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\"<br>"; $valori = "abcdefghijkmnpqrstuvwxz"; srand((double) microtime() * 1000000); unset($cod_prenota); for ($num2 = 0; $num2 < 4; $num2++) { $cod_prenota .= substr($valori, rand(0, 22), 1); } if ($conferma[$n_t] == "SI") { $conf = "S"; } else { $conf = "N"; } if ($pagato[$n_t] > 0) { $conf = "S"; } $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,tariffa,tariffesettimanali,codice,conferma,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota}','" . $idclienti[$n_t] . "','" . aggslashdb($appartamento[$n_t]) . "','" . $inizioperiodo[$n_t] . "','" . $fineperiodo[$n_t] . "','{$tariffa}','{$lista_tariffe_sett}','{$cod_prenota}','{$conf}','{$datainserimento}','{$HOSTNAME}','{$id_utente_ins}')"); if ($numpersone[$n_t]) { esegui_query("update {$tableprenota} set num_persone = '" . $numpersone[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($numpersone[$n_t]) if ($dati_tariffe[$tipotariffa[$n_t]]['tasse_percent']) { esegui_query("update {$tableprenota} set tasseperc = '" . $dati_tariffe[$tipotariffa[$n_t]]['tasse_percent'] . "' where idprenota = '{$idprenota}' "); } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['tasse_percent']) $caparra[$n_t] = formatta_soldi($caparra[$n_t]); if (controlla_soldi($caparra[$n_t], "pos") == "NO") { $caparra[$n_t] = ""; } if (!$caparra[$n_t]) { $caparra[$n_t] = calcola_caparra($dati_tariffe, $tipotariffa[$n_t], $inizioperiodo[$n_t], $fineperiodo[$n_t], $costo_tariffa_tot, $lista_tariffe_sett); } $sconto[$n_t] = (double) formatta_soldi($sconto[$n_t]); if ($sconto[$n_t] and controlla_soldi($sconto[$n_t]) == "SI") { if ($sconto[$n_t] > $costo_tariffa_tot) { $sconto[$n_t] = $costo_tariffa_tot; } esegui_query("update {$tableprenota} set sconto = '" . $sconto[$n_t] . "' where idprenota = '{$idprenota}' "); $sconto_p = punti_in_num($sconto[$n_t], $stile_soldi); if (substr($sconto_p, 0, 1) == "-") { $sconto_p = substr($sconto_p, 1); } else { $mess_prenota .= "-"; } $mess_prenota .= "{$sconto_p} {$Euro} " . mex("Sconto", "prenota.php") . "<br>"; $costo_tariffa_tot = (double) $costo_tariffa_tot - (double) $sconto[$n_t]; } # fine if ($sconto[$n_t] and... $commissioni[$n_t] = formatta_soldi($commissioni[$n_t]); if (controlla_soldi($commissioni[$n_t], "pos") == "NO") { $commissioni[$n_t] = ""; } if (!$commissioni[$n_t]) { $commissioni[$n_t] = calcola_commissioni($dati_tariffe, $tipotariffa[$n_t], $inizioperiodo[$n_t], $fineperiodo[$n_t], $lista_tariffe_sett, $sconto[$n_t], 0); } esegui_query("update {$tableprenota} set tariffa_tot = '{$costo_tariffa_tot}' where idprenota = '{$idprenota}' "); $costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot, $stile_soldi); $mess_prenota .= "<b>{$costo_tariffa_tot_p} {$Euro} " . mex("TOTALE", "prenota.php") . "</b><br>"; if ($lista_app[$n_t]) { esegui_query("update {$tableprenota} set app_assegnabili = '" . $lista_app[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($lista_app[$n_t]) if ($assegnazioneapp[$n_t]) { esegui_query("update {$tableprenota} set assegnazioneapp = '" . $assegnazioneapp[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($assegnazioneapp[$n_t]) if ($caparra[$n_t]) { if ($caparra[$n_t] > $costo_tariffa_tot) { $caparra[$n_t] = $costo_tariffa_tot; } esegui_query("update {$tableprenota} set caparra = '" . $caparra[$n_t] . "' where idprenota = '{$idprenota}' "); $da_pagare = $costo_tariffa_tot - $caparra[$n_t]; $caparra_p = punti_in_num($caparra[$n_t], $stile_soldi); $da_pagare_p = punti_in_num($da_pagare, $stile_soldi); $mess_prenota .= "<br>" . mex("Caparra", "prenota.php") . ": <b>{$caparra_p}</b> {$Euro} (" . mex("resto da pagare", "prenota.php") . ": {$da_pagare_p} {$Euro}).<br>"; } # fine if ($caparra[$n_t]) $met_trovato = "NO"; if ($met_paga_caparra[$n_t] and $metodi_pagamento) { for ($num2 = 0; $num2 < count($metodi_pagamento); $num2++) { if ($met_paga_caparra[$n_t] == $metodi_pagamento[$num2]) { $met_trovato = "SI"; } } # fine for $num2 if ($met_trovato == "SI") { esegui_query("update {$tableprenota} set metodo_pagamento = '" . aggslashdb($met_paga_caparra[$n_t]) . "' where idprenota = '{$idprenota}' "); if (!$caparra) { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Metodo pagamento caparra", "prenota.php") . ": <b>" . $met_paga_caparra[$n_t] . "</b>.<br>"; } # fine if ($met_trovato == "SI") } # fine if ($met_paga_caparra[$n_t] and $metodi_pagamento) if ($commissioni[$n_t]) { esegui_query("update {$tableprenota} set commissioni = '" . $commissioni[$n_t] . "' where idprenota = '{$idprenota}' "); $resto_comm = $costo_tariffa_tot - $commissioni[$n_t]; $commissioni_p = punti_in_num($commissioni[$n_t], $stile_soldi); $resto_comm_p = punti_in_num($resto_comm, $stile_soldi); if (!$caparra[$n_t] and $met_trovato == "NO") { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Commissioni", "prenota.php") . ": <b>{$commissioni_p}</b> {$Euro} (" . mex("resto commissioni", "prenota.php") . ": {$resto_comm_p} {$Euro}).<br>"; } # fine if ($commissioni[$n_t]) # calcolo costi nulli, non letto e senza inventario da associare alla tariffa, tutti come se fossero "se possibile" if ($ins_costi_agg == "costi_nulli") { unset($num_letti_agg); unset($num_costi_presenti); $oggi_costo = date("Ymd", time() + C_DIFF_ORE * 3600); for ($num_costo = 0; $num_costo < $dati_ca['num']; $num_costo++) { if (!$dati_ca[$num_costo]['valore'] and !$dati_ca[$num_costo]['valore_perc'] and $dati_ca[$num_costo]['letto'] != "s" and !$dati_ca[$num_costo]['tipo_beniinv']) { $associa_costo = "NO"; $associa_costo_tariffa = associa_costo_a_tariffa($dati_ca, $num_costo, $tipotariffa[$n_t], $fineperiodo[$n_t] - $inizioperiodo[$n_t] + 1); if ($associa_costo_tariffa == "SI") { $associa_costo = "SI"; } if ($associa_costo_tariffa != "SI" and !$dati_ca[$num_costo]["incomp_" . $tipotariffa[$n_t]]) { if ($dati_ca[$num_costo]['assegna_con_num_prenota'] and count($inizioperiodo) >= $dati_ca[$num_costo]['assegna_con_num_prenota']) { $associa_costo = "SI"; } if ($dati_ca[$num_costo]['assegna_da_ini_prenota']) { $giorni_lim = substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 1); $limite = date("Ymd", mktime(0, 0, 0, substr($inizioperiodo_orig[$n_t], 5, 2), substr($inizioperiodo_orig[$n_t], 8, 2) - $giorni_lim, substr($inizioperiodo_orig[$n_t], 0, 4))); if (substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 0, 1) == ">" and $oggi_costo < $limite) { $associa_costo = "SI"; } if (substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 0, 1) == "<" and $oggi_costo > $limite) { $associa_costo = "SI"; } } # fine if ($dati_ca[$num_costo][assegna_da_ini_prenota]) } # fine if ($associa_costo_tariffa != "SI" and... if ($associa_costo == "SI") { #if ($dati_ca[$num_costo][tipo_val] == "q" and $costo_totale_presente = "SI") $associa_costo = "NO"; $settimane_costo = calcola_settimane_costo($tableperiodi, $dati_ca, $num_costo, $inizioperiodo[$n_t], $fineperiodo[$n_t], "", ""); calcola_moltiplica_costo($dati_ca, $num_costo, $moltiplica, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo, "", $numpersone[$n_t], $num_letti_agg); $num_costi_presenti_copia = $num_costi_presenti; $periodo_costo_trovato = trova_periodo_permesso_costo($dati_ca, $num_costo, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo); if ($periodo_costo_trovato == "NO") { $associa_costo = "NO"; } else { if (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_ca, $num_costo, $num_costi_presenti_copia, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo, $moltiplica) == "NO") { $associa_costo = "NO"; } } if ($associa_costo == "SI") { $num_costi_presenti = $num_costi_presenti_copia; $idcostiprenota = esegui_query("select max(idcostiprenota) from {$tablecostiprenota}"); $idcostiprenota = risul_query($idcostiprenota, 0, 0) + 1; $tipo_ca = $dati_ca[$num_costo]['tipo'] . $dati_ca[$num_costo]['tipo_val']; $valore_ca = $dati_ca[$num_costo]['valore']; $valore_perc_ca = $dati_ca[$num_costo]['valore_perc']; $associasett_ca = $dati_ca[$num_costo]['associasett']; if ($dati_ca[$num_costo]['var_percentuale'] != "s" and $dati_ca[$num_costo]['tipo_val'] != "f") { $tipo_ca = $dati_ca[$num_costo]['tipo'] . "f"; $moltiplica = 1; if ($dati_ca[$num_costo]['tipo'] == "s") { $settimane_costo = 1; $associasett_ca = "n"; } # fine if ($dati_ca[$num_costo][tipo] == "s") } # fine if ($dati_ca[$num_costo][var_percentuale] != "s" and... if ($dati_ca[$num_costo]['var_moltiplica'] == "s") { $varmoltiplica_ca = $dati_ca[$num_costo]['moltiplica'] . $dati_ca[$num_costo]['molt_max'] . $dati_ca[$num_costo]['molt_agg'] . "," . $dati_ca[$num_costo]['molt_max_num']; } else { $varmoltiplica_ca = "cx0,"; } if ($dati_ca[$num_costo]['var_numsett'] == "s") { $varnumsett_ca = $dati_ca[$num_costo]['numsett_orig']; } else { $varnumsett_ca = "c"; } if ($dati_ca[$num_costo]['var_periodip'] == "s") { $varperiodipermessi_ca = $dati_ca[$num_costo]['periodipermessi_orig']; } else { $varperiodipermessi_ca = ""; } $varbeniinv_ca = ""; $varappincompatibili_ca = ""; if ($dati_ca[$num_costo]['var_tariffea'] == "s") { $vartariffeassociate_ca = "p" . $dati_ca[$num_costo][$tipotariffa[$n_t]]; } else { $vartariffeassociate_ca = ""; } $vartariffeincomp_ca = ""; if ($dati_ca[$num_costo]['var_tariffei'] == "s") { for ($numtariffa = 1; $numtariffa <= $dati_tariffe['num']; $numtariffa++) { if ($dati_ca[$num_costo]["incomp_tariffa" . $numtariffa] == "i") { $vartariffeincomp_ca .= "," . $numtariffa; } } # fine for $numtariffa if ($vartariffeincomp_ca) { $vartariffeincomp_ca = substr($vartariffeincomp_ca, 1); } } # fine if ($dati_ca[$num_costo][var_tariffei] == "s") if ($dati_ca[$num_costo]['var_comb'] == "s") { $variazione_ca = $dati_ca[$num_costo]['combina']; } else { $variazione_ca = "n"; } $variazione_ca .= $dati_ca[$num_costo]['escludi_tot_perc']; esegui_query("insert into {$tablecostiprenota} (idcostiprenota,idprenota,tipo,nome,valore,associasett,settimane,moltiplica,letto,idntariffe,variazione,varmoltiplica,varnumsett,varperiodipermessi,varbeniinv,varappincompatibili,vartariffeassociate,vartariffeincomp,datainserimento,hostinserimento,utente_inserimento) values ('{$idcostiprenota}','{$idprenota}','{$tipo_ca}','" . aggslashdb($dati_ca[$num_costo]['nome']) . "','{$valore_ca}','{$associasett_ca}','{$settimane_costo}','{$moltiplica}','" . $dati_ca[$num_costo]['letto'] . "','" . $dati_ca[$num_costo]['id'] . "','{$variazione_ca}','{$varmoltiplica_ca}','{$varnumsett_ca}','{$varperiodipermessi_ca}','{$varbeniinv_ca}','{$varappincompatibili_ca}','{$vartariffeassociate_ca}','{$vartariffeincomp_ca}','{$datainserimento}','{$HOSTNAME}','{$id_utente_ins}')"); if (substr($tipo_ca, 1, 1) != "f") { esegui_query("update {$tablecostiprenota} set valore_perc = '{$valore_perc_ca}', arrotonda = '" . $dati_ca[$num_costo]['arrotonda'] . "' where idcostiprenota = '{$idcostiprenota}'"); } if ($dati_ca[$num_costo]['tasseperc']) { esegui_query("update {$tablecostiprenota} set tasseperc = '" . $dati_ca[$num_costo]['tasseperc'] . "' where idcostiprenota = '{$idcostiprenota}'"); } if (strcmp($dati_ca[$num_costo]['categoria'], "")) { esegui_query("update {$tablecostiprenota} set categoria = '" . $dati_ca[$num_costo]['categoria'] . "' where idcostiprenota = '{$idcostiprenota}'"); } } # fine if ($associa_costo == "SI") } # fine if ($associa_costo == "SI") } # fine if (!$dati_ca[$num_costo]['valore'] and !$dati_ca[$num_costo]['valore_perc'] and... } # fine for $num_costo } # fine if ($ins_costi_agg == "costi_nulli") if ($origine_prenota[$n_t] and $origini_prenota) { $orig_trovata = "NO"; for ($num2 = 0; $num2 < count($origini_prenota); $num2++) { if ($origine_prenota[$n_t] == $origini_prenota[$num2]) { $orig_trovata = "SI"; } } # fine for $num2 if ($orig_trovata == "SI") { $origine_prenota[$n_t] = aggslashdb($origine_prenota[$n_t]); esegui_query("update {$tableprenota} set origine = '" . $origine_prenota[$n_t] . "' where idprenota = '{$idprenota}' "); if (!$caparra[$n_t] and $met_trovato == "NO" and !$commissioni[$n_t]) { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Origine", "prenota.php") . ": <b>" . stripslashes($origine_prenota[$n_t]) . "</b>.<br>"; } # fine if ($orig_trovata == "SI") } # fine if ($origine_prenota[$n_t] and $origini_prenota) if ($giorno_stima_checkin[$n_t] and $ora_stima_checkin[$n_t] and $min_stima_checkin[$n_t]) { if ($tipo_periodi == "g") { $giorni_periodo = $lunghezza_periodo; } else { $giorni_periodo = $lunghezza_periodo * 7; } if (controlla_num_pos($giorno_stima_checkin[$n_t]) == "SI" and $giorno_stima_checkin[$n_t] >= 1 and $giorno_stima_checkin[$n_t] <= 7 and $giorno_stima_checkin[$n_t] <= $giorni_periodo + 1) { $data_stima_checkin = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '" . $inizioperiodo[$n_t] . "'"); $data_stima_checkin = risul_query($data_stima_checkin, 0, 'datainizio'); $data_ini_prenota_f = formatta_data($data_stima_checkin, $stile_data); $anno_dts = substr($data_stima_checkin, 0, 4); $mese_dts = substr($data_stima_checkin, 5, 2); $giorno_dts = substr($data_stima_checkin, 8, 2); $data_stima_checkin = date("Y-m-d", mktime(0, 0, 0, $mese_dts, $giorno_dts + $giorno_stima_checkin[$n_t] - 1, $anno_dts)); $stima_checkin = $data_stima_checkin . " " . $ora_stima_checkin[$n_t] . ":" . $min_stima_checkin[$n_t] . ":00"; if (preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/", $stima_checkin)) { esegui_query("update {$tableprenota} set checkout = '{$stima_checkin}' where idprenota = '{$idprenota}' "); $mess_prenota .= "<br>" . mex("Orario stimato di entrata", "prenota.php") . ": <b>" . substr(str_replace($data_ini_prenota_f, "", formatta_data($stima_checkin, $stile_data)), 0, -3) . "</b>.<br>"; } # fine if (preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/",$stima_checkin)) } # fine if (controlla_num_pos($giorno_stima_checkin) == "SI" and... } # fine if ($giorno_stima_checkin[$n_t] and $ora_stima_checkin[$n_t] and $min_stima_checkin[$n_t]) if ($commento[$n_t]) { $commento[$n_t] = htmlspecialchars($commento[$n_t]); $mess_prenota .= "<br>" . mex("Commento", "prenota.php") . ": " . $commento[$n_t] . "<br>"; $commento[$n_t] = aggslashdb($commento[$n_t]); esegui_query("update {$tableprenota} set commento = '" . $commento[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($commento[$n_t]) $mess_prenota .= "<br>" . mex("Prenotazione", "prenota.php") . " {$idprenota} " . mex("inserita", "prenota.php") . "!<br>"; if ($n_t != $num_tipologie) { $mess_prenota .= "<hr style=\"width: 95%\">"; } $lista_idprenota .= ",{$idprenota}"; $lista_idini .= "," . $inizioperiodo[$n_t]; $lista_idfine .= "," . $fineperiodo[$n_t]; #$costo_tot_mess = (double) $costo_tot_mess + (double) $costo_tariffa_tot; #$caparra_mess = (double) $caparra_mess + (double) $caparra; } # fine for $n_t $lista_idprenota = substr($lista_idprenota, 1); $lista_idini = substr($lista_idini, 1); $lista_idfine = substr($lista_idfine, 1); if ($prenota_vicine == "SI") { $lista_idprenota_vett = explode(",", $lista_idprenota); for ($num1 = 0; $num1 < count($lista_idprenota_vett); $num1++) { $idprenota = $lista_idprenota_vett[$num1]; $idprenota_vicine = substr(str_replace("," . $idprenota . ",", ",", "," . $lista_idprenota . ","), 1, -1); esegui_query("update {$tableprenota} set idprenota_compagna = '{$idprenota_vicine}' where idprenota = '{$idprenota}' "); } # fine for $num1 } # fine if ($prenota_vicine == "SI") $stato['inserita'] = "SI"; } # fine if ($inserire != "NO") if (!@is_array($stato) or $stato['inserita'] != "SI") { $stato['inserita'] = "NO"; } $stato['mess_errore'] = $mess_errore; $stato['mess_regola1'] = $mess_regola1; $stato['mess_prenota'] = $mess_prenota; $stato['lista_idprenota'] = $lista_idprenota; $stato['idinizioperiodo'] = $lista_idini; $stato['idfineperiodo'] = $lista_idfine; return $lista_idprenota; }
$priv_mod_tariffe = "s"; } # fine else if ($id_utente != 1) if ($anno_utente_attivato == "SI" and $priv_vedi_tab_periodi != "n") { if (@is_file(C_DATA_PATH."/dati_subordinazione.php")) { $priv_mod_tariffe = "n"; } # fine if (@is_file(C_DATI_PATH."/dati_subordinazione.php")) 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"); include("./includes/funzioni_tariffe.php"); $Euro = nome_valuta(); $stile_soldi = stile_soldi(); $stile_data = stile_data(); unset($tabelle_lock); $tabelle_lock = array(); $altre_tab_lock = array($tableperiodi,$tablenometariffe,$tableregole); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $periodi = esegui_query("select * from $tableperiodi order by idperiodi"); $dati_tariffe = dati_tariffe($tablenometariffe,"","",$tableregole); unlock_tabelle($tabelle_lock); $numero_tariffe = $dati_tariffe['num']; if (!$num_tariffe_mostra) $num_tariffe_mostra = 1; for ($num1 = 1 ; $num1 <= $num_tariffe_mostra ; $num1++) { if (${"numtariffa".$num1} < 1 or ${"numtariffa".$num1} > $numero_tariffe) {
function crea_contratto($numero_contratto, &$tipo_contratto, $id_utente, $id_sessione, $origine, $origine_vecchia, $trad_var_vett = "", $set_glob = "") { global $var_predef, $num_var_predef, $num_var_predef_ripeti, $num_ripeti, $tariffa_selezionata, $num_costo_agg_sel, $anno, $pag, $lingua_mex, $LIKE, $ILIKE, $modifica_pers, $vedi_clienti, $dir_salva, $nome_file_contr, $utenti_gruppi; global $tablecontratti, $tableclienti, $tablerclientiprenota, $tablepersonalizza, $tableutenti, $tablerelutenti, $tablenazioni, $tableregioni, $tablecitta, $tabledocumentiid, $tableparentele, $tableappartamenti, $tableperiodi; global $data_inizio_selezione, $data_fine_selezione, $var_riserv, $var_predef_data, $messaggio_di_errore, $testo_email_richiesta, $num_campi_pers_cliente, $numero_inserimento_pers; $n_utenti = esegui_query("select idutenti,nome_utente from {$tableutenti} "); for ($num1 = 0; $num1 < numlin_query($n_utenti); $num1++) { $n_utente_contr[risul_query($n_utenti, $num1, 'idutenti')] = risul_query($n_utenti, $num1, 'nome_utente'); } if (!$set_glob and $n_r > 100) { $unset_glob = 1; } $data_inizio_selezione_orig = $data_inizio_selezione; $data_fine_selezione_orig = $data_fine_selezione; for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { for ($num1 = 0; $num1 < $num_var_predef_ripeti; $num1++) { if (strcmp($GLOBALS[$var_predef[$num1] . "_" . $n_r], "")) { ${$var_predef[$num1] . "_" . $n_r} = $GLOBALS[$var_predef[$num1] . "_" . $n_r]; } if ($unset_glob) { unset($GLOBALS[$var_predef[$num1] . "_" . $n_r]); } } # fine for $num1 if (!$data_primo_arrivo or ${"data_inizio_" . $n_r} < $data_primo_arrivo) { $data_primo_arrivo = ${"data_inizio_" . $n_r}; } if (!$data_ultima_partenza or ${"data_fine_" . $n_r} > $data_ultima_partenza) { $data_ultima_partenza = ${"data_fine_" . $n_r}; } ${"utente_inserimento_prenotazione" . "_" . $n_r} = $n_utente_contr[${"utente_inserimento_prenotazione" . "_" . $n_r}]; } # fine for $n_r if (!$data_inizio_selezione_orig) { $data_inizio_selezione = $data_primo_arrivo; } if (!$data_fine_selezione_orig) { $data_fine_selezione = $data_ultima_partenza; } if ($unset_glob) { for ($num1 = $num_var_predef_ripeti; $num1 < $num_var_predef; $num1++) { unset($var_predef[$num1]); } } $messaggio_di_errore = ""; $stile_soldi = stile_soldi($id_utente); $stile_data = stile_data($id_utente); $dati_app = esegui_query("select * from {$tableappartamenti} order by idappartamenti "); $num_unita = numlin_query($dati_app); for ($num1 = 1; $num1 <= $num_unita; $num1++) { $dati_app_contr[$num1]['nome'] = risul_query($dati_app, $num1 - 1, 'idappartamenti'); $dati_app_contr[$num1]['casa'] = risul_query($dati_app, $num1 - 1, 'numcasa'); $dati_app_contr[$num1]['piano'] = risul_query($dati_app, $num1 - 1, 'numpiano'); $dati_app_contr[$num1]['capacita'] = risul_query($dati_app, $num1 - 1, 'maxoccupanti'); $dati_app_contr[$num1]['priorita'] = risul_query($dati_app, $num1 - 1, 'priorita'); } # fine for $num1 unset($dati_app); $data_inizio_selezione_orig = $data_inizio_selezione; $data_fine_selezione_orig = $data_fine_selezione; if ($data_inizio_selezione) { $data_inizio_selezione_f = formatta_data_contr($data_inizio_selezione, $stile_data); } if ($data_fine_selezione) { $data_fine_selezione_f = formatta_data_contr($data_fine_selezione, $stile_data); } $ritorno_a_capo = "\r"; $avanzamento_riga = "\n"; $nome_valuta = nome_valuta($id_utente); $oggi = date("Y-m-d", time() + C_DIFF_ORE * 3600); $oggi_orig = $oggi; $oggi_f = formatta_data_contr($oggi, $stile_data); if ($lingua_mex) { $fr_via = mex("via", $pag); } if ($testo_email_richiesta) { if (get_magic_quotes_gpc()) { $testo_email_richiesta = stripslashes($testo_email_richiesta); } $testo_quotato_email_richiesta_orig = "> " . str_replace("\n", "\n> ", $testo_email_richiesta); if ($lingua_mex) { $testo_quotato_email_richiesta_orig = "<email_richiesta> " . mex("ha scritto", $pag) . ":\n" . $testo_quotato_email_richiesta_orig; } } else { $testo_quotato_email_richiesta_orig = ""; } $arrotond_tasse = esegui_query("select * from {$tablepersonalizza} where idpersonalizza = 'arrotond_tasse' and idutente = '{$id_utente}'"); $arrotond_tasse = risul_query($arrotond_tasse, 0, 'valpersonalizza'); $nome_struttura = esegui_query("select * from {$tablepersonalizza} where idpersonalizza = 'dati_struttura' and idutente = '{$id_utente}'"); $nome_struttura = explode("#@&", risul_query($nome_struttura, 0, 'valpersonalizza')); $tipo_struttura = $nome_struttura[1]; $email_struttura = $nome_struttura[2]; $ragione_sociale_struttura = $nome_struttura[3]; $sito_web_struttura = $nome_struttura[4]; $nome_contatto_struttura = $nome_struttura[5]; $nazione_struttura = $nome_struttura[6]; $comune_struttura = $nome_struttura[7]; $indirizzo_struttura = $nome_struttura[8]; $CAP_struttura = $nome_struttura[9]; $telefono_struttura = $nome_struttura[10]; $fax_struttura = $nome_struttura[11]; $codice_fiscale_struttura = $nome_struttura[12]; $partita_iva_struttura = $nome_struttura[13]; $numero_stelle_struttura = $nome_struttura[14]; $logo_struttura = $nome_struttura[15]; $nome_struttura = $nome_struttura[0]; $num_contr_vc = $numero_contratto; $contr_imp_vc = esegui_query("select testo from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'impor_vc' "); if (numlin_query($contr_imp_vc)) { $num_contr_vc = risul_query($contr_imp_vc, 0, 'testo'); } $variabili = esegui_query("select * from {$tablecontratti} where tipo = 'var' or tipo = 'var{$num_contr_vc}' order by tipo, numero"); $num_variabili = numlin_query($variabili); $arrays = esegui_query("select * from {$tablecontratti} where tipo = 'vett' or tipo = 'vett{$num_contr_vc}' order by tipo, numero"); $num_arrays = numlin_query($arrays); $condizioni_ini_d = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'ind%' order by tipo, numero"); $num_condizioni_ini_d = numlin_query($condizioni_ini_d); $condizioni_ini_r = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'inr%' order by tipo, numero"); $num_condizioni_ini_r = numlin_query($condizioni_ini_r); $condizioni = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'rpt%' order by tipo, numero"); $num_condizioni = numlin_query($condizioni); $dir_salva = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'dir'"); if (numlin_query($dir_salva) == 1) { $dir_salva = formatta_dir_salva_doc(risul_query($dir_salva, 0, 'testo')); } else { $dir_salva = ""; } $dati_contratto = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo {$LIKE} 'contr%'"); $tipo_contratto = risul_query($dati_contratto, 0, 'tipo'); $contratto_orig = risul_query($dati_contratto, 0, 'testo'); $contr_multilingua = 0; unset($contratti_orig_mln); unset($lingue_contr); $num_contr_mln = 1; if (substr($contratto_orig, 0, 7) == "#!mln!#") { $contr_multilingua = 1; $contratti_orig_mln['predef'] = substr($contratto_orig, 7); $dati_contratti_mln = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo {$LIKE} 'mln_%'"); $num_contr_mln = numlin_query($dati_contratti_mln); for ($num1 = 0; $num1 < $num_contr_mln; $num1++) { $lingua_contr = substr(risul_query($dati_contratti_mln, $num1, 'tipo'), 4); $lingue_contr[$num1] = $lingua_contr; $contratti_orig_mln[$lingua_contr] = risul_query($dati_contratti_mln, $num1, 'testo'); } # fine for $num1 $contratto_orig = $contratti_orig_mln[$contratti_orig_mln['predef']]; } # fine if (substr($contratto_orig,0,7) == "#!mln!#") if ($tipo_contratto == "contrhtm") { $tag_b = "<b>"; $tag_no_b = "</b>"; $tag_spazio = " "; $tag_acapo = "<br>"; } # fine if ($tipo_contratto == "contrhtm") if ($tipo_contratto == "contreml") { $tag_spazio = " "; $tag_acapo = "\n"; $oggetto_email = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'oggetto'"); $oggetto_email = risul_query($oggetto_email, 0, 'testo'); $allegato_email = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'allegato'"); $allegato_email = risul_query($allegato_email, 0, 'testo'); if ($allegato_email) { $allegato_email = esegui_query("select * from {$tablecontratti} where numero = '{$allegato_email}' and tipo = 'file_all'"); $allegato_email = risul_query($allegato_email, 0, 'testo'); $allegato_email = explode(",", $allegato_email); $allegato_email = $allegato_email[0]; } # fine if ($allegato_email) $nome_mittente_email = $nome_contatto_struttura; $mittente_email = $email_struttura; if ($nome_mittente_email) { $mittente_email = "{$nome_mittente_email} <{$mittente_email}>"; } } # fine if ($tipo_contratto == "contreml") if ($tipo_contratto == "contrrtf") { $tag_spazio = " "; $tag_acapo = "}\n\\par \\pard\\plain \\ltrpar\\s1\\cf0{\\*\\hyphen2\\hyphlead2\\hyphtrail2\\hyphmax0}\\rtlch\\af3\\afs24\\lang255\\ltrch\\dbch\\af3\\langfe255\\hich\\f0\\fs24\\lang1040\\loch\\f0\\fs24\\lang1040 {\\rtlch \\ltrch\\loch\\f0\\fs24\\lang1040\\i0\\b0 "; } # fine if ($tipo_contratto == "contrrtf") if ($tipo_contratto == "contrtxt") { $tag_spazio = " "; $tag_acapo = "\n"; } # fine if ($tipo_contratto == "contrtxt") if (str_replace("[r]", "", $contratto_orig) == $contratto_orig or $contr_multilingua) { $ripeti_tutto = 1; } else { $ripeti_tutto = 0; } $nome_file_contr = ""; $filecontr = ""; $num_prog_contr = ""; $num_prog_contr_max = ""; $incr_np = 0; if ($dir_salva) { global $nomi_contratti, $num_contr_esist, $nome_file_contr_esist, $cont_salva, $lista_var_form, $num_file_salva, $sovrascrivi, $priv_cancella_contratti; $nome_contratto = $nomi_contratti['salv'][$numero_contratto]; if (get_magic_quotes_gpc()) { $sovrascrivi = stripslashes($sovrascrivi); } if ($priv_cancella_contratti == "n") { $sovrascrivi = ""; } if ($ripeti_tutto) { $num_file_salva = $num_ripeti; } else { $num_file_salva = 1; } $anno_corr = date("Y"); if ($anno_corr != $anno + 1 or @is_file(C_DATA_PATH . "/selectperiodi{$anno_corr}.1.php")) { $anno_corr = $anno; } $incrementa_num_prog = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'incr_np'"); if (numlin_query($incrementa_num_prog)) { $incr_np = risul_query($incrementa_num_prog, 0, 'testo'); } $lista_var_form = ""; if (@is_array($_POST)) { reset($_POST); } for ($num1 = 0; $num1 < count($_POST); $num1++) { $lista_var_form .= "<input type=\"hidden\" name=\"" . htmlspecialchars(key($_POST)) . "\" value=\"" . htmlspecialchars(strip_magic_slashs($_POST[key($_POST)])) . "\">"; next($_POST); } # fine for $num1 if (@is_array($_GET)) { reset($_GET); } for ($num1 = 0; $num1 < count($_GET); $num1++) { $lista_var_form .= "<input type=\"hidden\" name=\"" . htmlspecialchars(key($_GET)) . "\" value=\"" . htmlspecialchars(strip_magic_slashs($_GET[key($_GET)])) . "\">"; next($_GET); } # fine for $num1 $filelock = fopen(C_DATA_PATH . "/crea_contr.lock", "w+"); flock($filelock, 2); if ($tipo_contratto == "contrrtf") { $suff_file = "rtf"; } if ($tipo_contratto == "contrhtm") { $suff_file = "html"; } if ($tipo_contratto == "contrtxt") { $suff_file = "txt"; } for ($num1 = 1; $num1 <= $num_ripeti; $num1++) { global ${"id_anni_prec_" . $num1}; $id_pren[$num1] = ${"numero_prenotazione_" . $num1}; } # fine for $num1 $num_contr_esist = 0; $nome_file_contr_esist = ""; $n_prog_contr = 0; $num_sovrascrivi = 0; $num_sovrascrivi_max = 0; $contr_dir = opendir($dir_salva . "/"); while ($contr_corr = readdir($contr_dir)) { if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva . "/" . $contr_corr)) { if (substr($contr_corr, 0, strlen($nome_contratto)) == $nome_contratto) { $contr_corr_orig = $contr_corr; if (substr($contr_corr, -3) == ".gz") { $contr_corr = substr($contr_corr, 0, -3); } $suff_file_corr = ""; if (substr($contr_corr, -4) == ".rtf") { $suff_file_corr = "rtf"; } if (substr($contr_corr, -5) == ".html") { $suff_file_corr = "html"; } if (substr($contr_corr, -4) == ".txt") { $suff_file_corr = "txt"; } if ($suff_file_corr) { $resto_nome_contr = substr($contr_corr, strlen($nome_contratto)); if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\\.{$suff_file_corr}/", "", $resto_nome_contr) == "") { $anno_contr = substr($resto_nome_contr, 1, 4); $n_contr_corr = explode("_", $resto_nome_contr); $n_contr_corr = $n_contr_corr[2]; $resto_nome_contr = substr($resto_nome_contr, 7 + strlen($n_contr_corr)); if (str_replace("-", "", $n_contr_corr) != $n_contr_corr) { $n_contr_corr = explode("-", $n_contr_corr); $n_contr_ini_corr = $n_contr_corr[0]; $n_contr_corr = $n_contr_corr[1]; } else { $n_contr_ini_corr = 0; } if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) { $n_prog_contr = $n_contr_corr; } if (!$cont_salva and $lista_var_form) { $num_pren_esist = substr($resto_nome_contr, 0, -1 * (strlen($suff_file_corr) + 1)); if ($num_pren_esist) { $num_pren_esist = explode("_", $num_pren_esist); for ($num1 = 0; $num1 < count($num_pren_esist); $num1++) { $num_pren_esist2 = explode("-", $num_pren_esist[$num1]); $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1]; for ($num2 = $num_pren_esist2[0]; $num2 <= $fine_for; $num2++) { for ($num3 = 1; $num3 <= $num_ripeti; $num3++) { if ($num2 == $id_pren[$num3] and ($anno_contr == $anno or $anno_contr == $anno_corr) or str_replace(";{$anno_contr},{$num2};", "", ${"id_anni_prec_" . $num3}) != ${"id_anni_prec_" . $num3} and $anno_contr != $anno and $anno_contr != $anno_corr) { $num_contr_esist++; $nome_file_contr_esist[$num_contr_esist] = $contr_corr_orig; if ($contr_corr_orig == $sovrascrivi and $num_file_salva == 1) { $num_sovrascrivi_max = $n_contr_corr; if ($n_contr_ini_corr) { $num_sovrascrivi = $n_contr_ini_corr; } else { $num_sovrascrivi = $n_contr_corr; } $anno_corr = $anno_contr; unlink($dir_salva . "/" . $contr_corr_orig); if ($id_pren[$num3] != $num2) { ${"numero_prenotazione_" . $num3} = $num2; } } # fine if ($contr_corr_orig == $sovrascrivi and... break 3; } # fine if (($num2 == $id_prenota[$num3] and... } # fine for $num3 } # fine for $num2 } # fine for $num1 } # fine if ($num_pren_esist) } # fine if (!$cont_salva and $lista_var_form) } # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file_corr/","",$resto_nome_contr) == "") } # fine if ($suff_file_corr) } # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto) } # fine if ($contr_corr != "." and $contr_corr != ".." and... } # fine while ($contr_corr = readdir($contr_dir)) closedir($contr_dir); if ($num_sovrascrivi) { $num_contr_esist = 0; if ($incr_np and $num_sovrascrivi_max < $n_prog_contr) { $num_prog_contr_max = $num_sovrascrivi_max; } $n_prog_contr = $num_sovrascrivi - 1; } # fine if ($num_sovrascrivi) if (!$num_sovrascrivi or $incr_np and !$num_prog_contr_max) { # se il contratto condivide il numero progressivo con altri contratti if (@is_array($nomi_contratti['num_prog'])) { $altri_contr_np = $nomi_contratti['num_prog'][$dir_salva . "/" . $nome_contratto]; if (@is_array($altri_contr_np)) { reset($altri_contr_np); while (list($contr_np, $val_contr) = each($altri_contr_np)) { $nome_contratto_np = explode("/", $contr_np); $nome_contratto_np = $nome_contratto_np[count($nome_contratto_np) - 1]; $dir_salva_np = substr($contr_np, 0, -1 * (strlen($nome_contratto_np) + 1)); $contr_dir = opendir($dir_salva_np . "/"); while ($contr_corr = readdir($contr_dir)) { if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva_np . "/" . $contr_corr)) { if (substr($contr_corr, 0, strlen($nome_contratto_np)) == $nome_contratto_np) { if (substr($contr_corr, -3) == ".gz") { $contr_corr = substr($contr_corr, 0, -3); } $suff_file_corr = ""; if (substr($contr_corr, -4) == ".rtf") { $suff_file_corr = "rtf"; } if (substr($contr_corr, -5) == ".html") { $suff_file_corr = "html"; } if (substr($contr_corr, -4) == ".txt") { $suff_file_corr = "txt"; } if ($suff_file_corr) { $resto_nome_contr = substr($contr_corr, strlen($nome_contratto_np)); if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\\.{$suff_file_corr}/", "", $resto_nome_contr) == "") { $anno_contr = substr($resto_nome_contr, 1, 4); $n_contr_corr = explode("_", $resto_nome_contr); $n_contr_corr = $n_contr_corr[2]; if (str_replace("-", "", $n_contr_corr) != $n_contr_corr) { $n_contr_corr = explode("-", $n_contr_corr); $n_contr_corr = $n_contr_corr[1]; } # fine if (str_replace("-","",$n_contr_corr) != $n_contr_corr) if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) { if (!$num_sovrascrivi) { $n_prog_contr = $n_contr_corr; } else { $num_prog_contr_max = $num_sovrascrivi_max; break; } # fine else if (!$num_sovrascrivi) } # fine if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) } # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\.$suff_file_corr/","",$resto_nome_contr) == "") } # fine if ($suff_file_corr) } # fine if (substr($contr_corr,0,strlen($nome_contratto_np)) == $nome_contratto_np) } # fine if ($contr_corr != "." and $contr_corr != ".." and... } # fine while ($fattura_corr = readdir($fatture_dir)) closedir($contr_dir); } # fine while (list($contr_np,$val_contr) = each($altri_contr_np)) } # fine if (@is_array($altri_contr_np)) } # fine if (@is_array($nomi_contratti['num_prog'])) } # fine if (!$num_sovrascrivi or ($incr_np and !$num_prog_contr_max)) if ($num_contr_esist) { return 0; } for ($num1 = 1; $num1 <= $num_file_salva; $num1++) { $n_prog_contr++; $num_prog_contr[$num1] = $n_prog_contr; $nome_file_contr[$num1] = $n_prog_contr; for ($num2 = strlen($nome_file_contr[$num1]); $num2 < 5; $num2++) { $nome_file_contr[$num1] = "0" . $nome_file_contr[$num1]; } if ($incr_np) { $nome_file_contr[$num1] .= " "; } if ($ripeti_tutto) { if (${"numero_prenotazione_" . $num1} and preg_replace("/[0-9]+/", "", ${"numero_prenotazione_" . $num1}) == "") { $nome_file_contr[$num1] .= "_" . ${"numero_prenotazione_" . $num1}; } } else { unset($lista_num_prenota); for ($num2 = 1; $num2 <= $num_ripeti; $num2++) { if (${"numero_prenotazione_" . $num1} and preg_replace("/[0-9]+/", "", ${"numero_prenotazione_" . $num1}) == "") { $lista_num_prenota[$num2] = ${"numero_prenotazione_" . $num2}; } } # fine for $num2 if (@is_array($lista_num_prenota)) { asort($lista_num_prenota); reset($lista_num_prenota); $ultimo_num_prenota = -2; while (list($num2, $num_prenota) = each($lista_num_prenota)) { if ($ultimo_num_prenota != $num_prenota) { if ($ultimo_num_prenota < 0) { $nome_file_contr[$num1] .= "_" . $num_prenota . "_"; $ultimo_num_prenota = $num_prenota - 1; } else { if ($num_prenota - 1 != $ultimo_num_prenota) { if (substr($nome_file_contr[$num1], -1) != "_") { $nome_file_contr[$num1] .= "-" . $ultimo_num_prenota . "_"; } $nome_file_contr[$num1] .= $num_prenota . "_"; } elseif (substr($nome_file_contr[$num1], -1) == "_") { $nome_file_contr[$num1] = substr($nome_file_contr[$num1], 0, -1); } } # fine else if ($ultimo_num_prenota < 0) $ultimo_num_prenota = $num_prenota; } # fine if ($ultimo_num_prenota != $num_prenota) } # fine while (list($num2,$num_prenota) = each($lista_num_prenota)) if (substr($nome_file_contr[$num1], -1) != "_") { $nome_file_contr[$num1] .= "-" . $ultimo_num_prenota; } else { $nome_file_contr[$num1] = substr($nome_file_contr[$num1], 0, -1); } } # fine (@is_array($lista_num_prenota)) } # fine else if ($ripeti_tutto) $nome_file_contr[$num1] = $nome_contratto . "_" . $anno_corr . "_" . $nome_file_contr[$num1] . ".{$suff_file}"; if (!$incr_np) { if ($nomi_contratti['compress'][$numero_contratto]) { $nome_file_contr[$num1] .= ".gz"; $lock_compress[$num1] = crea_lock_file($dir_salva . "/" . $nome_file_contr[$num1]); $filecontr[$num1] = gzopen($dir_salva . "/" . $nome_file_contr[$num1], "wb9"); } else { $filecontr[$num1] = fopen($dir_salva . "/" . $nome_file_contr[$num1], "w+"); flock($filecontr[$num1], 2); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } else { $filecontr['esist'] = 1; } } # fine for $num1 if (!$incr_np) { flock($filelock, 3); fclose($filelock); unlink(C_DATA_PATH . "/crea_contr.lock"); } # fine if (!$incr_np) } # fine if ($dir_salva) unset($tablepersonalizza); unset($tablecontratti); if (!defined('C_ID_UTENTE_CONTR')) { define(C_ID_UTENTE_CONTR, $id_utente); } $utente_attuale = $n_utente_contr[C_ID_UTENTE_CONTR]; unset($id_utente); for ($num1 = 0; $num1 < $num_variabili; $num1++) { $nome_var = risul_query($variabili, $num1, 'testo'); $num_var = risul_query($variabili, $num1, 'numero'); if (!$var_riserv[$nome_var]) { $variabile[$num_var] = $nome_var; } } # fine for $num1 $variabile['-1'] = "messaggio_di_errore"; $variabile['-2'] = "errore_ripetizione"; for ($num1 = 0; $num1 < $num_arrays; $num1++) { $nome_arr = explode(";", risul_query($arrays, $num1, 'testo')); $var_array = $nome_arr[1]; $tipo_arr = $nome_arr[2]; $nome_arr = $nome_arr[0]; if (!$var_riserv[$nome_arr]) { $num_arr = risul_query($arrays, $num1, 'numero'); $array[$num_arr] = $nome_arr; $var_arr[$num_arr] = $var_array; $var_arr_nome[$nome_arr] = $var_array; $arr_var_esist[$var_array] = "SI"; } # fine if (!$var_riserv[$nome_arr]) } # fine for $num1 unset($var_riserv); for ($num1 = 0; $num1 < $num_condizioni_ini_d; $num1++) { $condizione = risul_query($condizioni_ini_d, $num1, 'testo'); $condizione_ini_d_vett[$num1] = explode("#@?", $condizione); $azione_ini_d_vett[$num1] = explode("#%?", $condizione_ini_d_vett[$num1][2]); if ($condizione_ini_d_vett[$num1][1]) { $condizione_ini_d_vett[$num1] = explode("#\$?", $condizione_ini_d_vett[$num1][1]); $num_cond_ini_d_vett[$num1] = count($condizione_ini_d_vett[$num1]); for ($num2 = 1; $num2 < $num_cond_ini_d_vett[$num1]; $num2++) { $condizione_ini_d_vett[$num1][$num2] = explode("#%?", $condizione_ini_d_vett[$num1][$num2]); } } else { $condizione_vett[$num1] = ""; } } # fine for $num1 for ($num1 = 0; $num1 < $num_condizioni_ini_r; $num1++) { $condizione = risul_query($condizioni_ini_r, $num1, 'testo'); $condizione_ini_r_vett[$num1] = explode("#@?", $condizione); $azione_ini_r_vett[$num1] = explode("#%?", $condizione_ini_r_vett[$num1][2]); if ($condizione_ini_r_vett[$num1][1]) { $condizione_ini_r_vett[$num1] = explode("#\$?", $condizione_ini_r_vett[$num1][1]); $num_cond_ini_r_vett[$num1] = count($condizione_ini_r_vett[$num1]); for ($num2 = 1; $num2 < $num_cond_ini_r_vett[$num1]; $num2++) { $condizione_ini_r_vett[$num1][$num2] = explode("#%?", $condizione_ini_r_vett[$num1][$num2]); } } else { $condizione_vett[$num1] = ""; } } # fine for $num1 for ($num1 = 0; $num1 < $num_condizioni; $num1++) { $condizione = risul_query($condizioni, $num1, 'testo'); $condizione_vett[$num1] = explode("#@?", $condizione); $azione_vett[$num1] = explode("#%?", $condizione_vett[$num1][2]); if ($condizione_vett[$num1][1]) { $condizione_vett[$num1] = explode("#\$?", $condizione_vett[$num1][1]); $num_cond_vett[$num1] = count($condizione_vett[$num1]); for ($num2 = 1; $num2 < $num_cond_vett[$num1]; $num2++) { $condizione_vett[$num1][$num2] = explode("#%?", $condizione_vett[$num1][$num2]); } } else { $condizione_vett[$num1] = ""; } } # fine for $num1 if (!@is_array($trad_var_vett)) { $lang_dir = opendir("./includes/lang/"); while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != ".." && $ini_lingua != $lingua_mex) { unset($trad_var); include "./includes/lang/{$ini_lingua}/visualizza_contratto_var.php"; while (list($var_trad_ita, $var_trad_ext) = each($trad_var)) { $trad_var_vett[$var_trad_ext] = $var_trad_ita; } } # fine if ($file != "." && $file != ".." && $ini_lingua != $lingua) } # fine while ($file = readdir($lang_dig)) closedir($lang_dir); if ($lingua_mex != "ita") { unset($trad_var); include "./includes/lang/" . $lingua_mex . "/visualizza_contratto_var.php"; while (list($var_trad_ita, $var_trad_ext) = each($trad_var)) { $trad_var_vett[$var_trad_ext] = $var_trad_ita; } } # fine if ($lingua_mex != "ita") unset($trad_var); } # fine if (!@is_array($trad_var_vett)) while (list($var_trad_ext, $var_trad_ita) = each($trad_var_vett)) { if ($var_trad_ita == "campo_personalizzato") { for ($num1 = 0; $num1 < $num_campi_pers_cliente; $num1++) { $var_trad_ita = $var_predef[$numero_inserimento_pers + $num1]; $trad_var_vett[$var_trad_ext . "_" . substr($var_trad_ita, 21)] = $var_trad_ita; } # fine for $num1 } # fine if ($var_trad_ita == "campo_personalizzato") } # fine while (list($var_trad_ext,$var_trad_ita) = each($trad_var_vett)) for ($num_mln = 0; $num_mln < $num_contr_mln; $num_mln++) { if ($contr_multilingua) { $contratto_orig = $contratti_orig_mln[$lingue_contr[$num_mln]]; } reset($trad_var_vett); while (list($var_trad_ext, $var_trad_ita) = each($trad_var_vett)) { $contratto_orig = str_replace("[" . $var_trad_ext . "]", "[" . $var_trad_ita . "]", $contratto_orig); if ($arr_var_esist[$var_trad_ita] == "SI") { for ($num1 = 0; $num1 < $num_arrays; $num1++) { $num_arr = risul_query($arrays, $num1, 'numero'); if ($var_arr[$num_arr] == $var_trad_ita) { $contratto_orig = str_replace("[" . $array[$num_arr] . "(" . $var_trad_ext . ")]", "[" . $array[$num_arr] . "(" . $var_trad_ita . ")]", $contratto_orig); } # fine if ($var_arr[$num_arr] == $var_trad_ita) } # fine for $num1 } # fine if ($arr_var_esist[$var_trad_ita] == "SI") } # fine while (list($var_trad_ext,$var_trad_ita) = each($trad_var_vett)) while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_orig)) { $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_orig, 2); $contr_parziale = substr($contratto_orig, strlen($contr_vett[0])); $contratto_orig = $contr_vett[0]; $condizione = preg_split("/\" *\\]/", $contr_parziale, 2); $condizione = $condizione[0]; $contr_parziale = substr($contr_parziale, strlen($condizione) + 1); while (substr($contr_parziale, 0, 1) == " ") { $contr_parziale = substr($contr_parziale, 1); } $contr_parziale = substr($contr_parziale, 1); $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione)); $var_if = trim($val_if[0]); if (str_replace("(", "", $var_if) != $var_if) { $parti_arr = explode("(", substr($var_if, 0, -1)); $val_var_if = ${$parti_arr[0]}[${$parti_arr[1]}]; if ($trad_var_vett[$parti_arr[1]]) { $var_if = $parti_arr[0] . "(" . $trad_var_vett[$parti_arr[1]] . ")"; } } elseif ($trad_var_vett[$var_if]) { $var_if = $trad_var_vett[$var_if]; } $val_if = $val_if[1]; if (preg_match("/!= *\"/", $condizione)) { $condizione = "[[c] {$var_if}!=\"{$val_if}\"]"; } else { $condizione = "[[c] {$var_if}=\"{$val_if}\"]"; } $contratto_orig .= $condizione; $contratto_orig .= $contr_parziale; } # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]* *!?= *\"[^\"]*\" *\\]/",$contratto_orig)) $contratto_orig = str_replace("[[c] ", "[c ", $contratto_orig); if ($contr_multilingua) { $contratti_orig_mln[$lingue_contr[$num_mln]] = $contratto_orig; } } # fine for $num_mln unset($trad_var_vett); if ($tipo_contratto == "contreml") { $contratto .= "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div><br>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"numero_contratto\" value=\"{$numero_contratto}\">\n<input type=\"hidden\" name=\"origine\" value=\"" . htmlspecialchars($origine) . "\">\n<input type=\"hidden\" name=\"origine_vecchia\" value=\"" . htmlspecialchars($origine_vecchia) . "\">\n<input type=\"hidden\" name=\"manda_mail\" value=\"SI\">"; if ($ripeti_tutto) { $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"{$num_ripeti}\">"; } else { $email_gia_inviata = 0; for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { if (${"email_" . $n_r}) { $cliente = esegui_query("select idclienti from {$tableclienti} where email = '" . aggslashdb(${"email_" . $n_r}) . "' and cognome = '" . aggslashdb(${"cognome_" . $n_r}) . "' and doc_inviati {$ILIKE} '%#@?" . aggslashdb($oggetto_email) . "#@?%' "); if (numlin_query($cliente) >= 1) { $email_gia_inviata = 1; $contratto .= "" . mex("<span class=\"colblu\">Attenzione</span>: una email con lo stesso oggetto è già stata inviata al cliente", $pag) . " " . ${"cognome_" . $n_r} . "<br>"; } # fine if (numlin_query($cliente) >= 1) } # fine if (${"email_".$n_r}) } # fine for $n_r if ($email_gia_inviata) { $contratto .= "<br>"; } $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"1\">\n<table><tr><td align=\"right\">" . mex("Da", $pag) . ":</td><td>"; if ($modifica_pers != "NO") { $contratto .= "<input type=\"text\" name=\"mittente_email1\" size=\"60\" value=\"{$mittente_email}\">"; } else { $contratto .= "<b>{$mittente_email}</b>"; } $contratto .= "</td></tr><tr><td align=\"right\">\n" . mex("A", $pag) . ":</td><td>\n<input type=\"text\" name=\"destinatario_email1\" size=\"60\" value=\""; for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { if (${"email_" . $n_r}) { $contratto .= ${"email_" . $n_r} . ","; } } if (substr($contratto, -1) == ",") { $contratto = substr($contratto, 0, -1); } $contratto .= "\"></td></tr><tr><td align=\"right\">\n" . mex("Oggetto", $pag) . ":</td><td>\n<input type=\"text\" name=\"oggetto_email1\" size=\"60\" value=\"{$oggetto_email}\"></td></tr>"; if ($allegato_email) { $contratto .= "<tr><td></td><td><label><input type=\"checkbox\" name=\"allega1\" value=\"SI\" checked>\n" . mex("Allega", $pag) . " <b>{$allegato_email}</b></label></td></tr>"; } # fine if ($allegato_email) $contratto .= "<tr><td style=\"height: 3px;\"></td></tr></table>\n <textarea name=\"testo_email1\" rows=32 cols=90>"; } # fine else if ($ripeti_tutto) } # fine if ($tipo_contratto == "contreml") unset($id_sessione); unset($origine); # Condizioni applicate all'inizio del documento $break_cont = 0; for ($num1 = 0; $num1 < $num_condizioni_ini_d; $num1++) { $condizione = $condizione_ini_d_vett[$num1]; $num_se = $num_cond_ini_d_vett[$num1]; $azione = $azione_ini_d_vett[$num1]; $cond_verificata = 1; if ($break_cont and $azione[0] != "cont") { $condizione = ""; $cond_verificata = 0; } # fine if ($break_cont and $azione[0] != "cont") if ($condizione) { if ($condizione[0] == "or") { $cond_verificata = 0; } for ($num2 = 1; $num2 < $num_se; $num2++) { $se_cond_corr = $condizione[$num2]; $var_if = $se_cond_corr[0]; if (substr($var_if, -1) != ")") { $var_if = ${$var_if}; } else { $var_if = explode("(", substr($var_if, 0, -1)); $var_if = ${$var_if[0]}[${$var_if[1]}]; } # fine else if (substr($var_if,-1) != ")") $val_if = $se_cond_corr[3]; if ($se_cond_corr[2] == "var") { if (substr($val_if, -1) != ")") { $val_if = ${$val_if}; } else { $val_if = explode("(", substr($val_if, 0, -1)); $val_if = ${$val_if[0]}[${$val_if[1]}]; } # fine else if (substr($val_if,-1) != ")") } # fine if ($se_cond_corr[2] == "var") $cond_verificata = 0; if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) { $cond_verificata = 1; } if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) { $cond_verificata = 1; } if ($condizione[0] == "or" and $cond_verificata) { break; } if ($condizione[0] == "and" and !$cond_verificata) { break; } } # fine for $num2 } # fine if ($condizione) if ($cond_verificata) { if ($azione[0] == "set") { $val_then = $azione[4]; if ($azione[3] == "var") { if (substr($val_then, -1) != ")") { if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") { $val_then = formatta_data_contr(${$val_then}, $stile_data); } else { $val_then = ${$val_then}; } } else { $val_then = explode("(", substr($val_then, 0, -1)); $val_then = ${$val_then[0]}[${$val_then[1]}]; } # fine else if (substr($val_then,-1) != ")") } # fine if ($azione[3] == "var") if (strcmp($azione[6], "")) { $txt_sost1 = $azione[6]; if ($azione[5] == "var") { if (substr($txt_sost1, -1) != ")") { $txt_sost1 = ${$txt_sost1}; } else { $txt_sost1 = explode("(", substr($txt_sost1, 0, -1)); $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}]; } # fine else if (substr($txt_sost1,-1) != ")") } # fine if ($azione[5] == "var") $txt_sost2 = $azione[8]; if ($azione[7] == "var") { if (substr($txt_sost2, -1) != ")") { $txt_sost2 = ${$txt_sost2}; } else { $txt_sost2 = explode("(", substr($txt_sost2, 0, -1)); $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}]; } # fine else if (substr($txt_sost2,-1) != ")") } # fine if ($azione[7] == "var") $val_then = str_replace($txt_sost1, $txt_sost2, $val_then); } # fine if (strcmp($azione[6],"")) if ($azione[2] == ".=") { if (substr($azione[1], 0, 1) != "a") { $var_then_orig = ${$variabile[$azione[1]]}; } else { $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } } else { $var_then_orig = ""; } if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_then_orig . $val_then; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then; $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "set") if ($azione[0] == "trunc") { if (substr($azione[1], 0, 1) != "a") { $var_da_assegnare = ${$variabile[$azione[1]]}; } else { $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } if (strcmp($azione[3], "")) { while (num_caratteri_testo($var_da_assegnare) < $azione[2]) { if ($azione[4] == "ini") { $var_da_assegnare = $azione[3] . $var_da_assegnare; } if ($azione[4] == "fin") { $var_da_assegnare .= $azione[3]; } } # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2]) } # fine if (strcmp($azione[3],"")) if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]); } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "trunc") if ($azione[0] == "oper") { $cont_oper = "SI"; $var_con_punti = "NO"; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = ${substr($var_da_oper, 0, -2)}; } } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) { $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } else { $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}]; } } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = formatta_soldi($var_da_oper); if (controlla_soldi($var_da_oper) == "NO") { $cont_oper = "NO"; } $var_da_oper2 = $azione[5]; if ($azione[4] == "var") { if (substr($var_da_oper2, -1) != ")") { if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) { $var_da_oper2 = ${$var_da_oper2}; } else { $var_da_oper2 = ${substr($var_da_oper2, 0, -2)}; } } else { $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1)); if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) { $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}]; } else { $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}]; } } # fine else if (substr($var_da_oper2,-1) != ")") } # fine if ($azione[4] == "var") $var_da_oper2 = formatta_soldi($var_da_oper2); if (controlla_soldi($var_da_oper2) == "NO") { $cont_oper = "NO"; } if ($cont_oper != "NO") { if ($azione[3] == "+") { $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2; } if ($azione[3] == "-") { $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2; } if ($azione[3] == "*") { $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2; } if ($azione[3] == "/") { $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2; } if ($azione[6]) { $var_da_assegnare = $var_da_assegnare / (double) $azione[6]; $var_da_assegnare = round($var_da_assegnare); $var_da_assegnare = $var_da_assegnare * (double) $azione[6]; } # fine if ($azione[6]) if (substr($azione[1], 0, 1) != "a") { if (substr($variabile[$azione[1]], -2) != "_p") { ${$variabile[$azione[1]]} = $var_da_assegnare; } else { ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { $array_date_contr[$array[substr($azione[1], 1)]] = ""; if (substr($array[substr($azione[1], 1)], -2) != "_p") { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } else { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper != "NO") } # fine if ($azione[0] == "oper") if ($azione[0] == "date") { $cont_oper = 1; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = substr($var_da_oper, 0, 10); if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) { if ($stile_data == "usa") { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2); } else { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2); } } # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper)) if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) { $cont_oper = 0; } if ($cont_oper) { if ($azione[3] == "gi") { $var_da_assegnare = "d"; } if ($azione[3] == "me") { $var_da_assegnare = "m"; } if ($azione[3] == "an") { $var_da_assegnare = "Y"; } if ($azione[3] == "gs") { $var_da_assegnare = "w"; } if ($azione[3] == "is") { $var_da_assegnare = "Y-m-d"; } if ($azione[3] == "da") { if ($stile_data == "usa") { $var_da_assegnare = "m-d-Y"; } else { $var_da_assegnare = "d-m-Y"; } } # fine if ($azione[3] == "da") $txt_sost1 = 0; $num2 = 0; $num3 = 0; if ($azione[5] == "g") { $txt_sost1 = $azione[4]; } if ($azione[5] == "m") { $num2 = $azione[4]; } if ($azione[5] == "a") { $num3 = $azione[4]; } $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3)); if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_da_assegnare; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { if ($azione[3] != "is") { $array_date_contr[$array[substr($azione[1], 1)]] = ""; } ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper) } # fine if ($azione[0] == "date") if ($azione[0] == "unset") { unset(${$array[substr($azione[1], 1)]}); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine if ($azione[0] == "unset") if ($azione[0] == "array") { $nome_arr = $array[substr($azione[1], 1)]; if ($azione[2] == "val") { unset(${$nome_arr}); $array_date_contr[$nome_arr] = ""; $lista_val = explode(",", $azione[3]); $num_lista_val = count($lista_val); for ($num2 = 1; $num2 <= $num_lista_val; $num2++) { ${$nome_arr}[$num2] = $lista_val[$num2 - 1]; } } # fine if ($azione[2] == "val") if ($azione[2] == "dat" or $azione[2] == "dap") { unset(${$nome_arr}); if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) { $array_date_contr[$nome_arr] = "SI"; if ($azione[2] == "dat") { $data_corr_arr = $data_inizio_selezione_orig; $txt_sost1 = $data_fine_selezione_orig; } # fine if ($azione[2] == "dat") if ($azione[2] == "dap") { $data_corr_arr = $data_primo_arrivo; $txt_sost1 = $data_ultima_partenza; } # fine if ($azione[2] == "dap") $num2 = 1; ${$nome_arr}[$num2] = $data_corr_arr; while ($data_corr_arr != $txt_sost1) { $num2++; $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4))); ${$nome_arr}[$num2] = $data_corr_arr; } # fine while ($data_corr_arr != $txt_sost1) } # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or... } # fine if ($azione[2] == "dat" or $azione[2] == "dap") if ($azione[2] == "cop") { $lista_val = ${$array[substr($azione[3], 1)]}; ${$nome_arr} = $lista_val; $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]]; } # fine if ($azione[2] == "cop") } # fine if ($azione[0] == "array") if ($azione[0] == "break") { if ($azione[1] == "cont") { $break_cont = 1; } else { break; } } # fine if ($azione[0] == "break") if ($azione[0] == "cont") { $break_cont = 0; } } # fine if ($cond_verificata) } # fine for $num1 unset($condizione_ini_d_vett); unset($num_cond_ini_d_vett); unset($azione_ini_d_vett); if ($ripeti_tutto) { $contratto_parte0[1] = $contratto_orig; $ripeti_parte0[1] = "NO"; $tipo_parte0 = ""; $num_parti0_contr = 1; } else { if ($dir_salva) { $numero_progressivo_documento = $num_prog_contr[1]; } $num_parti0_contr = 0; $contratto_vett = explode("[", $contratto_orig); $num_contratto_vett = count($contratto_vett); $livello = 0; $contratto_presente = $contratto_vett[0]; for ($num1 = 1; $num1 < $num_contratto_vett; $num1++) { $parte = $contratto_vett[$num1]; $apertura = ""; $chiusura = ""; if (substr($parte, 0, 2) == "r]") { $apertura = "r"; } if (substr($parte, 0, 10) == "r4 array=\"") { $parte_vett = explode("\"]", substr($parte, 10)); if (strcmp($parte_vett[0], "")) { if (!strcmp(preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parte_vett[0]), "")) { $apertura = "r4 array=\"" . $parte_vett[0] . "\""; } } # fine if (strcmp($parte_vett[0],"")) } # fine if (substr($parte,0,10) == "r4 array=\"") if (substr($parte, 0, 3) == "r6]") { $apertura = "r6"; } if (substr($parte, 0, 3) == "/r]") { $chiusura = "r"; } if (substr($parte, 0, 4) == "/r4]") { $chiusura = "r4"; } if (substr($parte, 0, 4) == "/r6]") { $chiusura = "r6"; } if ($apertura) { $livello++; if ($livello == 1 and (substr($apertura, 0, 2) == "r4" or $apertura == "r6")) { if (strcmp($contratto_presente, "")) { $num_parti0_contr++; $contratto_parte0[$num_parti0_contr] = $contratto_presente; $ripeti_parte0[$num_parti0_contr] = "NO"; } # fine if (strcmp($contratto_presente,"")) $contratto_presente = substr($contratto_vett[$num1], strlen($apertura) + 1); $var_arr_presente = substr($apertura, 10, -1); } else { $apertura = ""; } } # fine ($apertura) if ($chiusura) { if ($livello == 1 and ($chiusura == "r4" or $chiusura == "r6")) { if (strcmp($contratto_presente, "")) { $num_parti0_contr++; $contratto_parte0[$num_parti0_contr] = $contratto_presente; $ripeti_parte0[$num_parti0_contr] = "SI"; if ($chiusura == "r4") { $tipo_parte0[$num_parti0_contr] = "4"; $arr_parte0[$num_parti0_contr] = $var_arr_presente; } # fine if ($chiusura == "r4") if ($chiusura == "r6") { $tipo_parte0[$num_parti0_contr] = "6"; } } # fine if (strcmp($contratto_presente,"")) $contratto_presente = substr($contratto_vett[$num1], strlen($chiusura) + 2); } else { $chiusura = ""; } $livello--; } # fine if ($chiusura) if (!$apertura and !$chiusura) { $contratto_presente .= "[" . $contratto_vett[$num1]; } } # fine for $num1 if (strcmp($contratto_presente, "")) { $num_parti0_contr++; $contratto_parte0[$num_parti0_contr] = $contratto_presente; $ripeti_parte0[$num_parti0_contr] = "NO"; } # fine if (strcmp($contratto_presente,"")) } # fine else if ($ripeti_tutto) # parti n_p0: parti del contratto se c'è una ripetizione di array o unità esternamente for ($n_p0 = 1; $n_p0 <= $num_parti0_contr; $n_p0++) { $contratto_orig0 = $contratto_parte0[$n_p0]; unset($contratto_parte); if (str_replace("[r]", "", $contratto_orig0) == $contratto_orig0 or $contr_multilingua) { $contratto_parte[1] = $contratto_orig0; if ($ripeti_tutto) { $ripeti_parte[1] = "SI"; } else { $ripeti_parte[1] = "NO"; } $num_parti_contr = 1; } else { $num_parti_contr = 0; $contratto_restante = $contratto_orig0; while (str_replace("[r]", "", $contratto_restante) != $contratto_restante) { $contr_vett = explode("[r]", $contratto_restante); if ($contr_vett[0] != "") { $num_parti_contr++; $contratto_parte[$num_parti_contr] = $contr_vett[0]; $ripeti_parte[$num_parti_contr] = "NO"; } # fine if ($contr_vett[0] != "") $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 3); $contr_vett = explode("[/r]", $contratto_restante); $num_parti_contr++; $contratto_parte[$num_parti_contr] = $contr_vett[0]; $ripeti_parte[$num_parti_contr] = "SI"; $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 4); } # fine while (str_replace("[r]","",$contratto_restante) != $contratto_restante) if ($contratto_restante != "") { $num_parti_contr++; $contratto_parte[$num_parti_contr] = $contratto_restante; $ripeti_parte[$num_parti_contr] = "NO"; } # fine if ($contratto_restante != "") } # fine else if (str_replace("[r]","",$contratto_orig0) == $contratto_orig0 or $contr_multilingua) if ($ripeti_parte0[$n_p0] == "NO") { $num_ripeti0 = 1; } else { $num_ripeti0 = 0; if ($tipo_parte0[$n_p0] == "6") { $num_ripeti0 = $num_unita; } if ($tipo_parte0[$n_p0] == "4" and @is_array(${$arr_parte0[$n_p0]})) { $num_ripeti0 = count(${$arr_parte0[$n_p0]}); reset(${$arr_parte0[$n_p0]}); } # fine if ($tipo_parte0[$n_p0] == "4" and @is_array(${$arr_parte0[$n_p0]})) } # fine else if ($ripeti_parte0[$n_p0] == "NO") # ripetizione n_r0: ripetere parte del contratto se esternamente c'è una ripetizione di array o unità for ($n_r0 = 1; $n_r0 <= $num_ripeti0; $n_r0++) { $ripeti_prenota_data = ""; if ($ripeti_parte0[$n_p0] != "NO") { if ($tipo_parte0[$n_p0] == "6") { $nome_unita = $dati_app_contr[$n_r0]['nome']; $casa_unita = $dati_app_contr[$n_r0]['casa']; $piano_unita = $dati_app_contr[$n_r0]['piano']; $capacita_unita = $dati_app_contr[$n_r0]['capacita']; $priorita_unita = $dati_app_contr[$n_r0]['priorita']; } else { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine else if ($tipo_parte0[$n_p0] == "6") if ($tipo_parte0[$n_p0] == "4") { ${$var_arr_nome[$arr_parte0[$n_p0]]} = key(${$arr_parte0[$n_p0]}); if ($array_date_contr[$arr_parte0[$n_p0]] == "SI") { $ripeti_prenota_data = current(${$arr_parte0[$n_p0]}); } next(${$arr_parte0[$n_p0]}); } # fine if ($tipo_parte0[$n_p0] == "4") } # fine if ($ripeti_parte0[$n_p0] != "NO") # parti n_p: parti del contratto se ci sono ripetizioni prenotazioni for ($n_p = 1; $n_p <= $num_parti_contr; $n_p++) { $numero_ripetizione_prenotazioni = 1; if ($ripeti_parte[$n_p] == "SI") { $costo_tot_somma_ripetizioni = 0; $caparra_somma_ripetizioni = 0; $resto_caparra_somma_ripetizioni = 0; $pagato_somma_ripetizioni = 0; $resto_da_pagare_somma_ripetizioni = 0; $num_persone_tot_somma_ripetizioni = 0; $numero_ripetizione_prenotazioni_orig = 0; # Condizioni applicate all'inizio di ogni ripetizione di prenotazioni $break_cont = 0; for ($num1 = 0; $num1 < $num_condizioni_ini_r; $num1++) { $condizione = $condizione_ini_r_vett[$num1]; $num_se = $num_cond_ini_r_vett[$num1]; $azione = $azione_ini_r_vett[$num1]; $cond_verificata = 1; if ($break_cont and $azione[0] != "cont") { $condizione = ""; $cond_verificata = 0; } # fine if ($break_cont and $azione[0] != "cont") if ($condizione) { if ($condizione[0] == "or") { $cond_verificata = 0; } for ($num2 = 1; $num2 < $num_se; $num2++) { $se_cond_corr = $condizione[$num2]; $var_if = $se_cond_corr[0]; if (substr($var_if, -1) != ")") { $var_if = ${$var_if}; } else { $var_if = explode("(", substr($var_if, 0, -1)); $var_if = ${$var_if[0]}[${$var_if[1]}]; } # fine else if (substr($var_if,-1) != ")") $val_if = $se_cond_corr[3]; if ($se_cond_corr[2] == "var") { if (substr($val_if, -1) != ")") { $val_if = ${$val_if}; } else { $val_if = explode("(", substr($val_if, 0, -1)); $val_if = ${$val_if[0]}[${$val_if[1]}]; } # fine else if (substr($val_if,-1) != ")") } # fine if ($se_cond_corr[2] == "var") $cond_verificata = 0; if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) { $cond_verificata = 1; } if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) { $cond_verificata = 1; } if ($condizione[0] == "or" and $cond_verificata) { break; } if ($condizione[0] == "and" and !$cond_verificata) { break; } } # fine for $num2 } # fine if ($condizione) if ($cond_verificata) { if ($azione[0] == "set") { $val_then = $azione[4]; if ($azione[3] == "var") { if (substr($val_then, -1) != ")") { if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") { $val_then = formatta_data_contr(${$val_then}, $stile_data); } else { $val_then = ${$val_then}; } } else { $val_then = explode("(", substr($val_then, 0, -1)); $val_then = ${$val_then[0]}[${$val_then[1]}]; } # fine else if (substr($val_then,-1) != ")") } # fine if ($azione[3] == "var") if (strcmp($azione[6], "")) { $txt_sost1 = $azione[6]; if ($azione[5] == "var") { if (substr($txt_sost1, -1) != ")") { $txt_sost1 = ${$txt_sost1}; } else { $txt_sost1 = explode("(", substr($txt_sost1, 0, -1)); $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}]; } # fine else if (substr($txt_sost1,-1) != ")") } # fine if ($azione[5] == "var") $txt_sost2 = $azione[8]; if ($azione[7] == "var") { if (substr($txt_sost2, -1) != ")") { $txt_sost2 = ${$txt_sost2}; } else { $txt_sost2 = explode("(", substr($txt_sost2, 0, -1)); $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}]; } # fine else if (substr($txt_sost2,-1) != ")") } # fine if ($azione[7] == "var") $val_then = str_replace($txt_sost1, $txt_sost2, $val_then); } # fine if (strcmp($azione[6],"")) if ($azione[2] == ".=") { if (substr($azione[1], 0, 1) != "a") { $var_then_orig = ${$variabile[$azione[1]]}; } else { $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } } else { $var_then_orig = ""; } if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_then_orig . $val_then; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then; $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "set") if ($azione[0] == "trunc") { if (substr($azione[1], 0, 1) != "a") { $var_da_assegnare = ${$variabile[$azione[1]]}; } else { $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } if (strcmp($azione[3], "")) { while (num_caratteri_testo($var_da_assegnare) < $azione[2]) { if ($azione[4] == "ini") { $var_da_assegnare = $azione[3] . $var_da_assegnare; } if ($azione[4] == "fin") { $var_da_assegnare .= $azione[3]; } } # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2]) } # fine if (strcmp($azione[3],"")) if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]); } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "trunc") if ($azione[0] == "oper") { $cont_oper = "SI"; $var_con_punti = "NO"; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = ${substr($var_da_oper, 0, -2)}; } } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) { $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } else { $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}]; } } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = formatta_soldi($var_da_oper); if (controlla_soldi($var_da_oper) == "NO") { $cont_oper = "NO"; } $var_da_oper2 = $azione[5]; if ($azione[4] == "var") { if (substr($var_da_oper2, -1) != ")") { if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) { $var_da_oper2 = ${$var_da_oper2}; } else { $var_da_oper2 = ${substr($var_da_oper2, 0, -2)}; } } else { $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1)); if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) { $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}]; } else { $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}]; } } # fine else if (substr($var_da_oper2,-1) != ")") } # fine if ($azione[4] == "var") $var_da_oper2 = formatta_soldi($var_da_oper2); if (controlla_soldi($var_da_oper2) == "NO") { $cont_oper = "NO"; } if ($cont_oper != "NO") { if ($azione[3] == "+") { $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2; } if ($azione[3] == "-") { $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2; } if ($azione[3] == "*") { $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2; } if ($azione[3] == "/") { $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2; } if ($azione[6]) { $var_da_assegnare = $var_da_assegnare / (double) $azione[6]; $var_da_assegnare = round($var_da_assegnare); $var_da_assegnare = $var_da_assegnare * (double) $azione[6]; } # fine if ($azione[6]) if (substr($azione[1], 0, 1) != "a") { if (substr($variabile[$azione[1]], -2) != "_p") { ${$variabile[$azione[1]]} = $var_da_assegnare; } else { ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { $array_date_contr[$array[substr($azione[1], 1)]] = ""; if (substr($array[substr($azione[1], 1)], -2) != "_p") { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } else { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper != "NO") } # fine if ($azione[0] == "oper") if ($azione[0] == "date") { $cont_oper = 1; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = substr($var_da_oper, 0, 10); if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) { if ($stile_data == "usa") { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2); } else { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2); } } # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper)) if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) { $cont_oper = 0; } if ($cont_oper) { if ($azione[3] == "gi") { $var_da_assegnare = "d"; } if ($azione[3] == "me") { $var_da_assegnare = "m"; } if ($azione[3] == "an") { $var_da_assegnare = "Y"; } if ($azione[3] == "gs") { $var_da_assegnare = "w"; } if ($azione[3] == "is") { $var_da_assegnare = "Y-m-d"; } if ($azione[3] == "da") { if ($stile_data == "usa") { $var_da_assegnare = "m-d-Y"; } else { $var_da_assegnare = "d-m-Y"; } } # fine if ($azione[3] == "da") $txt_sost1 = 0; $num2 = 0; $num3 = 0; if ($azione[5] == "g") { $txt_sost1 = $azione[4]; } if ($azione[5] == "m") { $num2 = $azione[4]; } if ($azione[5] == "a") { $num3 = $azione[4]; } $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3)); if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_da_assegnare; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { if ($azione[3] != "is") { $array_date_contr[$array[substr($azione[1], 1)]] = ""; } ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper) } # fine if ($azione[0] == "date") if ($azione[0] == "unset") { unset(${$array[substr($azione[1], 1)]}); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine if ($azione[0] == "unset") if ($azione[0] == "array") { $nome_arr = $array[substr($azione[1], 1)]; if ($azione[2] == "val") { unset(${$nome_arr}); $array_date_contr[$nome_arr] = ""; $lista_val = explode(",", $azione[3]); $num_lista_val = count($lista_val); for ($num2 = 1; $num2 <= $num_lista_val; $num2++) { ${$nome_arr}[$num2] = $lista_val[$num2 - 1]; } } # fine if ($azione[2] == "val") if ($azione[2] == "dat" or $azione[2] == "dap") { unset(${$nome_arr}); if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) { $array_date_contr[$nome_arr] = "SI"; if ($azione[2] == "dat") { $data_corr_arr = $data_inizio_selezione_orig; $txt_sost1 = $data_fine_selezione_orig; } # fine if ($azione[2] == "dat") if ($azione[2] == "dap") { $data_corr_arr = $data_primo_arrivo; $txt_sost1 = $data_ultima_partenza; } # fine if ($azione[2] == "dap") $num2 = 1; ${$nome_arr}[$num2] = $data_corr_arr; while ($data_corr_arr != $txt_sost1) { $num2++; $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4))); ${$nome_arr}[$num2] = $data_corr_arr; } # fine while ($data_corr_arr != $txt_sost1) } # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or... } # fine if ($azione[2] == "dat" or $azione[2] == "dap") if ($azione[2] == "cop") { $lista_val = ${$array[substr($azione[3], 1)]}; ${$nome_arr} = $lista_val; $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]]; } # fine if ($azione[2] == "cop") } # fine if ($azione[0] == "array") if ($azione[0] == "break") { if ($azione[1] == "cont") { $break_cont = 1; } else { break; } } # fine if ($azione[0] == "break") if ($azione[0] == "cont") { $break_cont = 0; } } # fine if ($cond_verificata) } # fine for $num1 # ripetizione n_r: se c'è da ripetere la parte del contratto per ogni prenotazione for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { if (!$ripeti_prenota_data or ${"data_fine" . "_" . $n_r} >= $ripeti_prenota_data and ${"data_inizio" . "_" . $n_r} <= $ripeti_prenota_data) { for ($num1 = 0; $num1 < $num_var_predef_ripeti; $num1++) { ${$var_predef[$num1]} = ${$var_predef[$num1] . "_" . $n_r}; } # fine for $num1 $numero_ripetizione_prenotazioni_orig++; $numero_ripetizione_prenotazioni = $numero_ripetizione_prenotazioni_orig; if ($dir_salva and $ripeti_tutto and (!$numero_progressivo_documento or $numero_progressivo_documento < $num_prog_contr[$n_r])) { $numero_progressivo_documento = $num_prog_contr[$n_r]; } if ($tariffa_selezionata) { $c_tot_selez = "c_tot_selez" . $tariffa_selezionata . "_" . $n_r; global ${$c_tot_selez}; if (${$c_tot_selez}) { $costo_tot = ${$c_tot_selez}; } $c_tariffa_selez = "c_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$c_tariffa_selez}; if (${$c_tariffa_selez}) { $costo_tariffa = ${$c_tariffa_selez}; } $tarsett_tariffa_selez = "tarsett_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$tarsett_tariffa_selez}; if (${$tarsett_tariffa_selez}) { global ${"tariffesettimanali_" . $n_r}; ${"tariffesettimanali_" . $n_r} = ${$tarsett_tariffa_selez}; } # fine if ($$tarsett_tariffa_selez) $n_tariffa_selez = "n_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$n_tariffa_selez}; if (${$n_tariffa_selez}) { $nome_tariffa = ${$n_tariffa_selez}; } $perctas_tariffa_selez = "perctas_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$perctas_tariffa_selez}; if (${$perctas_tariffa_selez}) { $percentuale_tasse_tariffa = ${$perctas_tariffa_selez}; } $cap_tariffa_selez = "cap_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$cap_tariffa_selez}; if (${$cap_tariffa_selez}) { $caparra = ${$cap_tariffa_selez}; } $comm_tariffa_selez = "comm_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$comm_tariffa_selez}; if (${$comm_tariffa_selez}) { $commissioni = ${$comm_tariffa_selez}; } $n_letti_agg_tariffa_selez = "n_letti_agg_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$n_letti_agg_tariffa_selez}; if (${$n_letti_agg_tariffa_selez}) { $n_letti_agg = ${$n_letti_agg_tariffa_selez}; } $numpers_tariffa_selez = "numpers_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$numpers_tariffa_selez}; if (${$numpers_tariffa_selez}) { $num_persone = ${$numpers_tariffa_selez}; } $num_costi_aggiuntivi_tsel = "num_costi_aggiuntivi_tsel" . $tariffa_selezionata . "_" . $n_r; global ${$num_costi_aggiuntivi_tsel}; if (${$num_costi_aggiuntivi_tsel}) { $num_costi_aggiuntivi = ${$num_costi_aggiuntivi_tsel}; for ($numca = 0; $numca < $num_costi_aggiuntivi; $numca++) { $nome_costo_agg_tsel = "nome_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $val_costo_agg_tsel = "val_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $perc_tasse_costo_agg_tsel = "percentuale_tasse_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $molt_max_costo_agg_tsel = "moltiplica_max_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $giorni_costo_agg_tsel = "giorni_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; global ${$nome_costo_agg_tsel}, ${$val_costo_agg_tsel}, ${$perc_tasse_costo_agg_tsel}, ${$molt_max_costo_agg_tsel}, ${$giorni_costo_agg_tsel}; ${"nome_costo_agg" . $numca . "_" . $n_r} = ${$nome_costo_agg_tsel}; ${"val_costo_agg" . $numca . "_" . $n_r} = ${$val_costo_agg_tsel}; ${"percentuale_tasse_costo_agg" . $numca . "_" . $n_r} = ${$perc_tasse_costo_agg_tsel}; ${"moltiplica_max_costo_agg" . $numca . "_" . $n_r} = ${$molt_max_costo_agg_tsel}; ${"giorni_costo_agg" . $numca . "_" . $n_r} = trasforma_id_in_date(${$giorni_costo_agg_tsel}, $date_id, $tableperiodi); } # fine for $numca } # fine if ($$num_costi_aggiuntivi_tsel) } # fine if ($tariffa_selezionata) if ($ripeti_prenota_data) { if (!strcmp($tariffesettimanali[$n_r][$ripeti_prenota_data], "")) { global ${"tariffesettimanali_" . $n_r}; $var_if = explode(";", ${"tariffesettimanali_" . $n_r}); $var_if = explode(",", $var_if[0]); $num2 = count($var_if); for ($num1 = 0; $num1 <= $num2; $num1++) { if (date("Y-m-d", mktime(0, 0, 0, substr($data_inizio, 5, 2), substr($data_inizio, 8, 2) + $num1, substr($data_inizio, 0, 4))) == $ripeti_prenota_data) { if (!$var_if[$num1]) { $tariffesettimanali[$n_r][$ripeti_prenota_data] = 0; } else { $tariffesettimanali[$n_r][$ripeti_prenota_data] = $var_if[$num1]; } break; } # fine if (date("Y-m-d",mktime(0,0,0,substr($data_inizio,5,2),(substr($data_inizio,8,2) + $num1),substr($data_inizio,0,4))) == $ripeti_prenota_data) } # fine for $num1 } # fine if (!strcmp($tariffesettimanali[$n_r][$ripeti_prenota_data],"")) $costo_tariffa_giorno_array = $tariffesettimanali[$n_r][$ripeti_prenota_data]; $costo_tariffa_giorno_array_p = punti_in_num($costo_tariffa_giorno_array, $stile_soldi); } # fine if ($ripeti_prenota_data) $tutti_i_costi_agg = ""; $tutti_i_costi_agg_p = ""; $valore_tutti_costi_agg = (double) 0; for ($numca = 0; $numca < $num_costi_aggiuntivi; $numca++) { $nome_costo_agg = "nome_costo_agg" . $numca . "_" . $n_r; $val_costo_agg = "val_costo_agg" . $numca . "_" . $n_r; $percentuale_tasse_costo_agg = "percentuale_tasse_costo_agg" . $numca . "_" . $n_r; $moltiplica_max_costo_agg = "moltiplica_max_costo_agg" . $numca . "_" . $n_r; $giorni_costo_agg = "giorni_costo_agg" . $numca . "_" . $n_r; $data_inserimento_costo_agg = "data_inserimento_costo_agg" . $numca . "_" . $n_r; $utente_inserimento_costo_agg = "utente_inserimento_costo_agg" . $numca . "_" . $n_r; if (!strcmp(${$nome_costo_agg}, "") and !strcmp(${$val_costo_agg}, "")) { ${$nome_costo_agg} = $GLOBALS[$nome_costo_agg]; ${$val_costo_agg} = $GLOBALS[$val_costo_agg]; ${$percentuale_tasse_costo_agg} = $GLOBALS[$percentuale_tasse_costo_agg]; ${$moltiplica_max_costo_agg} = $GLOBALS[$moltiplica_max_costo_agg]; ${$giorni_costo_agg} = $GLOBALS[$giorni_costo_agg]; ${$data_inserimento_costo_agg} = $GLOBALS[$data_inserimento_costo_agg]; ${$utente_inserimento_costo_agg} = $n_utente_contr[$GLOBALS[$utente_inserimento_costo_agg]]; if ($unset_glob) { unset($GLOBALS[$nome_costo_agg]); unset($GLOBALS[$val_costo_agg]); unset($GLOBALS[$percentuale_tasse_costo_agg]); unset($GLOBALS[$moltiplica_max_costo_agg]); unset($GLOBALS[$giorni_costo_agg]); unset($GLOBALS[$data_inserimento_costo_agg]); unset($GLOBALS[$utente_inserimento_costo_agg]); } # fine if ($unset_glob) } # fine if (!strcmp($$nome_costo_agg,"") and !strcmp($$val_costo_agg,"")) $nome_costo_agg = ${$nome_costo_agg}; $val_costo_agg = ${$val_costo_agg}; $percentuale_tasse_costo_agg = ${$percentuale_tasse_costo_agg}; $moltiplica_max_costo_agg = ${$moltiplica_max_costo_agg}; ${$giorni_costo_agg} = trasforma_id_in_date(${$giorni_costo_agg}, $date_id, $tableperiodi); $giorni_costo_agg = ${$giorni_costo_agg}; $data_inserimento_costo_agg = ${$data_inserimento_costo_agg}; $utente_inserimento_costo_agg = ${$utente_inserimento_costo_agg}; $val_costo_agg_p = punti_in_num($val_costo_agg, $stile_soldi); $tutti_i_costi_agg .= "{$nome_costo_agg}: {$val_costo_agg}{$tag_acapo}"; $tutti_i_costi_agg_p .= "{$nome_costo_agg}: {$val_costo_agg_p}{$tag_acapo}"; $valore_tutti_costi_agg = (double) $valore_tutti_costi_agg + (double) $val_costo_agg; calcola_tasse_contr($val_costo_agg, $percentuale_tasse_costo_agg, $arrotond_tasse, $tasse_costo_agg, $tasse_costo_agg_p, $val_costo_agg_senza_tasse, $val_costo_agg_senza_tasse_p, $stile_soldi); if (str_replace(",", "", $moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) { $moltiplica_max_costo_agg = explode(",", $moltiplica_max_costo_agg); rsort($moltiplica_max_costo_agg); $moltiplica_max_costo_agg = $moltiplica_max_costo_agg[0]; } # fine if (str_replace(",","",$moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) if ($num_costo_agg_sel == $numca) { $nome_costo_agg_sel = $nome_costo_agg; $valore_costo_agg_sel = $val_costo_agg; $valore_costo_agg_sel_p = $val_costo_agg_p; $percentuale_tasse_costo_agg_sel = $percentuale_tasse_costo_agg; $tasse_costo_agg_sel = $tasse_costo_agg; $tasse_costo_agg_sel_p = $tasse_costo_agg_p; $moltiplica_max_costo_agg_sel = $moltiplica_max_costo_agg; } # fine if ($num_costo_agg_sel == $numca) } # fine for $numca $valore_tutti_costi_agg_p = punti_in_num($valore_tutti_costi_agg, $stile_soldi); $tutti_i_pagamenti = ""; $tutti_i_pagamenti_p = ""; for ($num1 = 0; $num1 < $num_pagamenti; $num1++) { $saldo_paga = "saldo_paga" . $num1 . "_" . $n_r; $data_paga = "data_paga" . $num1 . "_" . $n_r; $utente_paga = "utente_paga" . $num1 . "_" . $n_r; $metodo_paga = "metodo_paga" . $num1 . "_" . $n_r; if (!strcmp(${$saldo_paga}, "") and !strcmp(${$data_paga}, "") and !strcmp(${$metodo_paga}, "")) { ${$saldo_paga} = $GLOBALS[$saldo_paga]; ${$data_paga} = $GLOBALS[$data_paga]; ${$utente_paga} = $n_utente_contr[$GLOBALS[$utente_paga]]; if (strcmp($GLOBALS[$metodo_paga], "")) { ${$metodo_paga} = $GLOBALS[$metodo_paga]; } if ($unset_glob) { unset($GLOBALS[$saldo_paga]); unset($GLOBALS[$data_paga]); unset($GLOBALS[$utente_paga]); unset($GLOBALS[$metodo_paga]); } # fine if ($unset_glob) } # fine if (!strcmp($$saldo_paga,"") and !strcmp($$data_paga,"") and !strcmp($$metodo_paga,"")) $data_paga_f = formatta_data_contr(${$data_paga}, $stile_data); $saldo_paga_p = punti_in_num(${$saldo_paga}, $stile_soldi); $tutti_i_pagamenti .= str_replace(" ", "{$tag_spazio}", $data_paga_f . " " . ${$saldo_paga} . " {$nome_valuta} " . ${$metodo_paga}); $tutti_i_pagamenti_p .= str_replace(" ", "{$tag_spazio}", $data_paga_f . " " . $saldo_paga_p . " {$nome_valuta} " . ${$metodo_paga}); if ($num1 + 1 != $num_pagamenti) { $tutti_i_pagamenti .= $tag_acapo; $tutti_i_pagamenti_p .= $tag_acapo; } # fine if (($num1 + 1) != $num_pagamenti) } # fine for $num1 $valore_ultimo_pagamento = ${"saldo_paga" . ($num_pagamenti - 1) . "_" . $n_r}; $valore_ultimo_pagamento_p = punti_in_num($valore_ultimo_pagamento, $stile_soldi); $data_ultimo_pagamento = formatta_data_contr(${"data_paga" . ($num_pagamenti - 1) . "_" . $n_r}, $stile_data); $utente_ultimo_pagamento = ${"utente_paga" . ($num_pagamenti - 1) . "_" . $n_r}; $metodo_ultimo_pagamento = ${"metodo_paga" . ($num_pagamenti - 1) . "_" . $n_r}; if ($costo_tot) { $costo_tot_somma_ripetizioni = $costo_tot_somma_ripetizioni + $costo_tot; } if ($caparra) { $caparra_somma_ripetizioni = $caparra_somma_ripetizioni + $caparra; } if ($costo_tot) { $resto_caparra_somma_ripetizioni = $resto_caparra_somma_ripetizioni + $costo_tot; } if ($caparra) { $resto_caparra_somma_ripetizioni = $resto_caparra_somma_ripetizioni - $caparra; } if ($pagato) { $pagato_somma_ripetizioni = $pagato_somma_ripetizioni + $pagato; } if ($costo_tot) { $resto_da_pagare_somma_ripetizioni = $resto_da_pagare_somma_ripetizioni + $costo_tot; } if ($pagato) { $resto_da_pagare_somma_ripetizioni = $resto_da_pagare_somma_ripetizioni - $pagato; } if ($num_persone != "non specificato" and $num_persone != "") { $num_persone_tot_somma_ripetizioni = $num_persone_tot_somma_ripetizioni + $num_persone; } if ($n_letti_agg) { $num_persone_tot_somma_ripetizioni = $num_persone_tot_somma_ripetizioni + $n_letti_agg; } if ($costo_tot and $caparra) { $resto_caparra = $costo_tot - $caparra; $resto_caparra_p = punti_in_num($resto_caparra, $stile_soldi); } # fine if ($costo_tot and $caparra) if ($costo_tot and $commissioni) { $resto_commissioni = $costo_tot - $commissioni; $resto_commissioni_p = punti_in_num($resto_commissioni, $stile_soldi); } # fine if ($costo_tot and $commissioni) if ($costo_tot) { $resto_da_pagare = $costo_tot - $pagato; $resto_da_pagare_p = punti_in_num($resto_da_pagare, $stile_soldi); } # fine if ($costo_tot) $nome_orig = $nome; $soprannome_orig = $soprannome; $cognome_orig = $cognome; $data_nascita_orig = $data_nascita; $documento_orig = $documento; $nazione_orig = $nazione; $regione_orig = $regione; $citta_orig = $citta; $via_orig = $via; $numcivico_orig = $numcivico; $telefono_orig = $telefono; $telefono2_orig = $telefono2; $telefono3_orig = $telefono3; $fax_orig = $fax; $email_orig = $email; $cap_orig = $cap; $codice_fiscale_orig = $codice_fiscale; $partita_iva_orig = $partita_iva; $num_persone_orig = $num_persone; $caparra_orig = $caparra; $commissioni_orig = $commissioni; $data_inizio_orig = $data_inizio; $data_fine_orig = $data_fine; $num_periodi_orig = $num_periodi; $orario_entrata_stimato_orig = $orario_entrata_stimato; $nome_tariffa_orig = $nome_tariffa; $costo_tariffa_orig = $costo_tariffa; $sconto_orig = $sconto; $percentuale_tasse_tariffa_orig = $percentuale_tasse_tariffa; $commento_orig = $commento; $origine_prenotazione_orig = $origine_prenotazione; $unita_occupata_orig = $unita_occupata; $unita_assegnabili_orig = $unita_assegnabili; $pagato_orig = $pagato; $costo_tot_orig = $costo_tot; $n_letti_agg_orig = $n_letti_agg; $numero_prenotazione_orig = $numero_prenotazione; $data_inserimento_prenotazione_orig = $data_inserimento_prenotazione; $codice_cittadinanza = trova_codice_rel($cittadinanza, $rel_esist, "nazione", "nazioni", $codice2_cittadinanza, $codice3_cittadinanza, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_nazione_nascita = trova_codice_rel($nazione_nascita, $rel_esist, "nazione", "nazioni", $codice2_nazione_nascita, $codice3_nazione_nascita, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_regione_nascita = trova_codice_rel($regione_nascita, $rel_esist, "regione", "regioni", $codice2_regione_nascita, $codice3_regione_nascita, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_citta_nascita = trova_codice_rel($citta_nascita, $rel_esist, "citta", "citta", $codice2_citta_nascita, $codice3_citta_nascita, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_nazione = trova_codice_rel($nazione, $rel_esist, "nazione", "nazioni", $codice2_nazione, $codice3_nazione, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_regione = trova_codice_rel($regione, $rel_esist, "regione", "regioni", $codice2_regione, $codice3_regione, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_citta = trova_codice_rel($citta, $rel_esist, "citta", "citta", $codice2_citta, $codice3_citta, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_tipo_documento = trova_codice_rel($tipo_documento, $rel_esist, "documentoid", "documentiid", $codice2_tipo_documento, $codice3_tipo_documento, $tabledocumentiid, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_citta_documento = trova_codice_rel($citta_documento, $rel_esist, "citta", "citta", $codice2_citta_documento, $codice3_citta_documento, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_regione_documento = trova_codice_rel($regione_documento, $rel_esist, "regione", "regioni", $codice2_regione_documento, $codice3_regione_documento, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_nazione_documento = trova_codice_rel($nazione_documento, $rel_esist, "nazione", "nazioni", $codice2_nazione_documento, $codice3_nazione_documento, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); calcola_tasse_contr($costo_tariffa, $percentuale_tasse_tariffa, $arrotond_tasse, $tasse_tariffa, $tasse_tariffa_p, $costo_tariffa_senza_tasse, $costo_tariffa_senza_tasse_p, $stile_soldi); calcola_tasse_contr($sconto, $percentuale_tasse_tariffa, $arrotond_tasse, $tasse_sconto, $tasse_sconto_p, $sconto_senza_tasse, $sconto_senza_tasse_p, $stile_soldi); $apertura_rip_contr = ""; $chiusura_rip_contr = ""; $contratto_ripetizione = ""; $errore_ripetizione = ""; if ($ripeti_tutto) { $email_gia_inviata = 0; } if ($tipo_contratto == "contreml" and $ripeti_tutto) { if (${"email_" . $n_r}) { $cliente = esegui_query("select idclienti from {$tableclienti} where email = '" . aggslashdb(${"email_" . $n_r}) . "' and cognome = '" . aggslashdb(${"cognome_" . $n_r}) . "' and doc_inviati {$ILIKE} '%#@?" . aggslashdb($oggetto_email) . "#@?%' "); if (numlin_query($cliente) >= 1) { $email_gia_inviata = 1; $apertura_rip_contr .= "" . mex("<span class=\"colblu\">Attenzione</span>: una email con lo stesso oggetto è già stata inviata al cliente", $pag) . " " . ${"cognome_" . $n_r} . "<br><br>"; } # fine if (numlin_query($cliente) >= 1) } # fine if (${"email_".$n_r}) $apertura_rip_contr .= "<table><tr><td align=\"right\">" . mex("Da", $pag) . ":</td><td>"; if ($modifica_pers != "NO") { $apertura_rip_contr .= "<input type=\"text\" name=\"mittente_email{$n_r}\" size=\"60\" value=\"{$mittente_email}\">"; } else { $apertura_rip_contr .= "<b>{$mittente_email}</b>"; } $apertura_rip_contr .= "</td></tr><tr><td align=\"right\">\n" . mex("A", $pag) . ":</td><td>\n<input type=\"text\" name=\"destinatario_email{$n_r}\" size=\"60\" value=\"" . ${"email_" . $n_r} . "\">\n</td></tr><tr><td align=\"right\">\n" . mex("Oggetto", $pag) . ":</td><td>\n<input type=\"text\" name=\"oggetto_email{$n_r}\" size=\"60\" value=\"{$oggetto_email}\"></td></tr>"; if ($allegato_email) { $apertura_rip_contr .= "<tr><td></td><td><label><input type=\"checkbox\" name=\"allega{$n_r}\" value=\"SI\" checked>\n" . mex("Allega", $pag) . " <b>{$allegato_email}</b></label></td></tr>"; } # fine if ($allegato_email) $apertura_rip_contr .= "<tr><td style=\"height: 3px;\"></td></tr></table>\n <textarea name=\"testo_email{$n_r}\" rows=32 cols=90>"; $chiusura_rip_contr .= "</textarea><br>\n<table><tr><td style=\"height: 3px;\"></td></tr></table>\n<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">"; } # fine if ($tipo_contratto == "contreml" and $ripeti_tutto) if ($contr_multilingua) { if (!$codice_lingua) { $contratto_parte[1] = $contratti_orig_mln[$contratti_orig_mln['predef']]; } else { if (!strcmp($contratti_orig_mln[$codice_lingua], "")) { $contratto_parte[1] = $contratti_orig_mln[$contratti_orig_mln['predef']]; } else { $contratto_parte[1] = $contratti_orig_mln[$codice_lingua]; } } # fine else if (!$codice_lingua) } # fine if ($contr_multilingua) # Ripetizioni per gli ospiti, costi aggiuntivi, array e unità all'interno di ogni prenotazione unset($contratto_parte2); if (str_replace("[r2]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and str_replace("[r3]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and !preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_parte[$n_p]) and str_replace("[r5]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and str_replace("[r6]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p]) { $contratto_parte2[1] = $contratto_parte[$n_p]; $ripeti_parte2[1] = "NO"; $num_parti2_contr = 1; } else { $num_parti2_contr = 0; $contratto_restante = $contratto_parte[$n_p]; while (str_replace("[r2]", "", $contratto_restante) != $contratto_restante or str_replace("[r3]", "", $contratto_restante) != $contratto_restante or preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante) or str_replace("[r5]", "", $contratto_restante) != $contratto_restante or str_replace("[r6]", "", $contratto_restante) != $contratto_restante) { $contr_vett2 = explode("[r2]", $contratto_restante); $contr_vett3 = explode("[r3]", $contratto_restante); $contr_vett4 = preg_split("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante); $contr_vett5 = explode("[r5]", $contratto_restante); $contr_vett6 = explode("[r6]", $contratto_restante); $l0_cv2 = strlen($contr_vett2[0]); $l0_cv3 = strlen($contr_vett3[0]); $l0_cv4 = strlen($contr_vett4[0]); $l0_cv5 = strlen($contr_vett5[0]); $l0_cv6 = strlen($contr_vett6[0]); if ($l0_cv2 > $l0_cv6 and $l0_cv3 > $l0_cv6 and $l0_cv4 > $l0_cv6 and $l0_cv5 > $l0_cv6) { $contr_vett = $contr_vett6; $tipo_contr_vett = 6; } else { if ($l0_cv2 > $l0_cv5 and $l0_cv3 > $l0_cv5 and $l0_cv4 > $l0_cv5) { $contr_vett = $contr_vett5; $tipo_contr_vett = 5; } else { if ($l0_cv2 > $l0_cv4 and $l0_cv3 > $l0_cv4) { $contr_vett = $contr_vett4; $tipo_contr_vett = 4; } else { if ($l0_cv2 > $l0_cv3) { $contr_vett = $contr_vett3; $tipo_contr_vett = 3; } else { $contr_vett = $contr_vett2; $tipo_contr_vett = 2; } # fine else if ($l0_cv2 > $l0_cv3) } # fine else if ($l0_cv2 > $l0_cv4 and $l0_cv3 > $l0_cv4) } # fine else if ($l0_cv2 > $l0_cv5 and $l0_cv3 > $l0_cv5 and $l0_cv4 > $l0_cv5) } # fine else if ($l0_cv2 > $l0_cv6 and $l0_cv3 > $l0_cv6 and $l0_cv4 > $l0_cv6 and $l0_cv5 > $l0_cv6) if ($contr_vett[0] != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contr_vett[0] != "") $contratto_restante = substr($contratto_restante, strlen($contr_vett[0])); if ($tipo_contr_vett == 4) { $arr_ripeti = explode("\"]", $contratto_restante, 2); $arr_ripeti = str_replace("[r4 array=\"", "", $arr_ripeti[0]); $contratto_restante = substr($contratto_restante, strlen("[r4 array=\"{$arr_ripeti}\"]")); } else { $contratto_restante = substr($contratto_restante, 4); } $contr_vett = explode("[/r" . $tipo_contr_vett . "]", $contratto_restante); $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "SI"; $tipo_parte2[$num_parti2_contr] = $tipo_contr_vett; if ($tipo_contr_vett == 4) { $arr_parte2[$num_parti2_contr] = $arr_ripeti; } $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 5); } # fine while (str_replace("[r2]","",$contratto_restante) != $contratto_restante or... if ($contratto_restante != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contratto_restante; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contratto_restante != "") } # fine else if (str_replace("[r2]","",$contratto_parte[$n_p]) == $contratto_parte[$n_p] and... # parti n_p2: parti del contratto se ci sono ripetizioni ospiti, costi agg o array interni for ($n_p2 = 1; $n_p2 <= $num_parti2_contr; $n_p2++) { if ($ripeti_parte2[$n_p2] != "SI") { $num_ripeti2 = 1; } else { if ($tipo_parte2[$n_p2] == 2) { $ospiti = esegui_query("select idclienti,parentela from {$tablerclientiprenota} where idprenota = '" . aggslashdb($numero_prenotazione_orig) . "' order by num_ordine "); $num_ripeti2 = numlin_query($ospiti); $num_ospiti_tot = $num_ripeti2; } # fine if ($tipo_parte2[$n_p2] == 2) if ($tipo_parte2[$n_p2] == 3) { $num_ripeti2 = $num_costi_aggiuntivi; } if ($tipo_parte2[$n_p2] == 4) { if (@is_array(${$arr_parte2[$n_p2]})) { $num_ripeti2 = count(${$arr_parte2[$n_p2]}); reset(${$arr_parte2[$n_p2]}); } else { $num_ripeti2 = 0; } } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 5) { $num_ripeti2 = $num_pagamenti; } if ($tipo_parte2[$n_p2] == 6) { $num_ripeti2 = $num_unita; } } # fine else if ($ripeti_parte2[$n_p2] != "SI") # ripetizione n_r2: se c'è da ripetere la parte del contratto per ospiti, costi agg, array o unità interni for ($n_r2 = 1; $n_r2 <= $num_ripeti2; $n_r2++) { $mostra_ripetizione = 1; if ($ripeti_parte2[$n_p2] == "SI") { if ($tipo_parte2[$n_p2] == 2) { $numero_ospite = $n_r2; $idospite = risul_query($ospiti, $n_r2 - 1, 'idclienti'); $parentela_ospite = risul_query($ospiti, $n_r2 - 1, 'parentela'); $dati_osp = esegui_query("select * from {$tableclienti} where idclienti = '{$idospite}' "); $utente_ospite = risul_query($dati_osp, 0, 'utente_inserimento'); $cognome_ospite = ""; $nome_ospite = ""; $soprannome_ospite = ""; $titolo_ospite = ""; $sesso_ospite = ""; $data_nascita_ospite = ""; $citta_nascita_ospite = ""; $regione_nascita_ospite = ""; $nazione_nascita_ospite = ""; $cittadinanza_ospite = ""; $nazione_ospite = ""; $regione_ospite = ""; $citta_ospite = ""; $via_ospite = ""; $numcivico_ospite = ""; $cap_ospite = ""; $documento_ospite = ""; $tipo_documento_ospite = ""; $citta_documento_ospite = ""; $regione_documento_ospite = ""; $nazione_documento_ospite = ""; $scadenza_documento_ospite = ""; $telefono_ospite = ""; $telefono2_ospite = ""; $telefono3_ospite = ""; $fax_ospite = ""; $email_ospite = ""; $codice_fiscale_ospite = ""; $partita_iva_ospite = ""; if (numlin_query($dati_osp) == 1 and $vedi_clienti != "NO" and ($vedi_clienti != "PROPRI" or $utente_ospite == C_ID_UTENTE) and ($vedi_clienti != "GRUPPI" or $utenti_gruppi[$utente_ospite])) { $cognome_ospite = risul_query($dati_osp, 0, 'cognome'); $nome_ospite = risul_query($dati_osp, 0, 'nome'); $soprannome_ospite = risul_query($dati_osp, 0, 'soprannome'); $titolo_ospite = risul_query($dati_osp, 0, 'titolo'); $sesso_ospite = risul_query($dati_osp, 0, 'sesso'); $data_nascita_ospite = risul_query($dati_osp, 0, 'datanascita'); $citta_nascita_ospite = risul_query($dati_osp, 0, 'cittanascita'); $regione_nascita_ospite = risul_query($dati_osp, 0, 'regionenascita'); $nazione_nascita_ospite = risul_query($dati_osp, 0, 'nazionenascita'); $cittadinanza_ospite = risul_query($dati_osp, 0, 'nazionalita'); $nazione_ospite = risul_query($dati_osp, 0, 'nazione'); $regione_ospite = risul_query($dati_osp, 0, 'regione'); $citta_ospite = risul_query($dati_osp, 0, 'citta'); $via_ospite = risul_query($dati_osp, 0, 'via'); $numcivico_ospite = risul_query($dati_osp, 0, 'numcivico'); $cap_ospite = risul_query($dati_osp, 0, 'cap'); $documento_ospite = risul_query($dati_osp, 0, 'documento'); $tipo_documento_ospite = risul_query($dati_osp, 0, 'tipodoc'); $citta_documento_ospite = risul_query($dati_osp, 0, 'cittadoc'); $regione_documento_ospite = risul_query($dati_osp, 0, 'regionedoc'); $nazione_documento_ospite = risul_query($dati_osp, 0, 'nazionedoc'); $scadenza_documento_ospite = risul_query($dati_osp, 0, 'scadenzadoc'); $telefono_ospite = risul_query($dati_osp, 0, 'telefono'); $telefono2_ospite = risul_query($dati_osp, 0, 'telefono2'); $telefono3_ospite = risul_query($dati_osp, 0, 'telefono3'); $fax_ospite = risul_query($dati_osp, 0, 'fax'); $email_ospite = risul_query($dati_osp, 0, 'email'); $codice_fiscale_ospite = risul_query($dati_osp, 0, 'cod_fiscale'); $partita_iva_ospite = risul_query($dati_osp, 0, 'partita_iva'); } # fine if (numlin_query($dati_osp) == 1 and... $codice_cittadinanza_ospite = trova_codice_rel($cittadinanza_ospite, $rel_esist, "nazione", "nazioni", $codice2_cittadinanza_ospite, $codice3_cittadinanza_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); $codice_parentela_ospite = trova_codice_rel($parentela_ospite, $rel_esist, "parentela", "parentele", $codice2_parentela_ospite, $codice3_parentela_ospite, $tableparentele, $tablerelutenti, C_ID_UTENTE); $codice_nazione_nascita_ospite = trova_codice_rel($nazione_nascita_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_nascita_ospite, $codice3_nazione_nascita_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); $codice_regione_nascita_ospite = trova_codice_rel($regione_nascita_ospite, $rel_esist, "regione", "regioni", $codice2_regione_nascita_ospite, $codice3_regione_nascita_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE); $codice_citta_nascita_ospite = trova_codice_rel($citta_nascita_ospite, $rel_esist, "citta", "citta", $codice2_citta_nascita_ospite, $codice3_citta_nascita_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE); $codice_nazione_ospite = trova_codice_rel($nazione_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_ospite, $codice3_nazione_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); $codice_regione_ospite = trova_codice_rel($regione_ospite, $rel_esist, "regione", "regioni", $codice2_regione_ospite, $codice3_regione_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE); $codice_citta_ospite = trova_codice_rel($citta_ospite, $rel_esist, "citta", "citta", $codice2_citta_ospite, $codice3_citta_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE); $codice_tipo_documento_ospite = trova_codice_rel($tipo_documento_ospite, $rel_esist, "documentoid", "documentiid", $codice2_tipo_documento_ospite, $codice3_tipo_documento_ospite, $tabledocumentiid, $tablerelutenti, C_ID_UTENTE); $codice_citta_documento_ospite = trova_codice_rel($citta_documento_ospite, $rel_esist, "citta", "citta", $codice2_citta_documento_ospite, $codice3_citta_documento_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE); $codice_regione_documento_ospite = trova_codice_rel($regione_documento_ospite, $rel_esist, "regione", "regioni", $codice2_regione_documento_ospite, $codice3_regione_documento_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE); $codice_nazione_documento_ospite = trova_codice_rel($nazione_documento_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_documento_ospite, $codice3_nazione_documento_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); } else { $numero_ospite = 0; } if ($tipo_parte2[$n_p2] == 3) { $numca = $n_r2 - 1; $nome_costo_agg = "nome_costo_agg" . $numca . "_" . $n_r; $val_costo_agg = "val_costo_agg" . $numca . "_" . $n_r; $percentuale_tasse_costo_agg = "percentuale_tasse_costo_agg" . $numca . "_" . $n_r; $moltiplica_max_costo_agg = "moltiplica_max_costo_agg" . $numca . "_" . $n_r; $giorni_costo_agg = "giorni_costo_agg" . $numca . "_" . $n_r; $data_inserimento_costo_agg = "data_inserimento_costo_agg" . $numca . "_" . $n_r; $utente_inserimento_costo_agg = "utente_inserimento_costo_agg" . $numca . "_" . $n_r; $nome_costo_agg = ${$nome_costo_agg}; $valore_costo_agg = ${$val_costo_agg}; $percentuale_tasse_costo_agg = ${$percentuale_tasse_costo_agg}; $moltiplica_max_costo_agg = ${$moltiplica_max_costo_agg}; $giorni_costo_agg = ${$giorni_costo_agg}; if ($giorni_costo_agg and $ripeti_prenota_data and !strstr($giorni_costo_agg, ",{$ripeti_prenota_data},")) { $mostra_ripetizione = 0; } $data_inserimento_costo_agg = ${$data_inserimento_costo_agg}; $utente_inserimento_costo_agg = ${$utente_inserimento_costo_agg}; $valore_costo_agg_p = punti_in_num($valore_costo_agg, $stile_soldi); calcola_tasse_contr($valore_costo_agg, $percentuale_tasse_costo_agg, $arrotond_tasse, $tasse_costo_agg, $tasse_costo_agg_p, $valore_costo_agg_senza_tasse, $valore_costo_agg_senza_tasse_p, $stile_soldi); if (str_replace(",", "", $moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) { $moltiplica_max_costo_agg = explode(",", $moltiplica_max_costo_agg); rsort($moltiplica_max_costo_agg); $moltiplica_max_costo_agg = $moltiplica_max_costo_agg[0]; } # fine if (str_replace(",","",$moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) } else { $nome_costo_agg = ""; $valore_costo_agg = 0; $valore_costo_agg_p = 0; $percentuale_tasse_costo_agg = 0; $tasse_costo_agg = 0; $resto_tasse_costo_agg = 0; $moltiplica_max_costo_agg = 0; $giorni_costo_agg = ""; $data_inserimento_costo_agg = ""; $utente_inserimento_costo_agg = ""; } # fine else if ($tipo_parte2[$n_p2] == 3) if ($tipo_parte2[$n_p2] == 4) { ${$var_arr_nome[$arr_parte2[$n_p2]]} = key(${$arr_parte2[$n_p2]}); next(${$arr_parte2[$n_p2]}); } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 5) { $valore_pagamento = ${"saldo_paga" . ($n_r2 - 1) . "_" . $n_r}; $valore_pagamento_p = punti_in_num($valore_pagamento, $stile_soldi); $data_pagamento = ${"data_paga" . ($n_r2 - 1) . "_" . $n_r}; $utente_pagamento = ${"utente_paga" . ($n_r2 - 1) . "_" . $n_r}; $metodo_pagamento = ${"metodo_paga" . ($n_r2 - 1) . "_" . $n_r}; } else { $valore_pagamento = 0; $valore_pagamento_p = 0; $data_pagamento = ""; $utente_pagamento = ""; $metodo_pagamento = ""; } # fine else if ($tipo_parte2[$n_p2] == 5) if ($tipo_parte2[$n_p2] == 6) { $nome_unita = $dati_app_contr[$n_r2]['nome']; $casa_unita = $dati_app_contr[$n_r2]['casa']; $piano_unita = $dati_app_contr[$n_r2]['piano']; $capacita_unita = $dati_app_contr[$n_r2]['capacita']; $priorita_unita = $dati_app_contr[$n_r2]['priorita']; } elseif ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine elseif ($tipo_parte0[$n_p0] != "6") } else { $nome_costo_agg = ""; $valore_costo_agg = 0; $valore_costo_agg_p = 0; $percentuale_tasse_costo_agg = 0; $tasse_costo_agg = 0; $resto_tasse_costo_agg = 0; $moltiplica_max_costo_agg = 0; $giorni_costo_agg = ""; $data_inserimento_costo_agg = ""; $utente_inserimento_costo_agg = ""; $numero_ospite = 0; $valore_pagamento = 0; $valore_pagamento_p = 0; $data_pagamento = ""; $utente_pagamento = ""; $metodo_pagamento = ""; if ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine if ($tipo_parte0[$n_p0] != "6") } # fine if else ($ripeti_parte2[$n_p2] == "SI") if ($mostra_ripetizione) { #for ($num1 = 0 ; $num1 < $num_variabili ; $num1++) ${$variabile[$num_var]} = ""; if ($num_persone != "non specificato" and $num_persone != "") { $num_persone_tot = $num_persone + $n_letti_agg; } else { $num_persone_tot = ""; } # Condizioni applicate ad ogni ripetizione di prenotazione $break_cont = 0; for ($num1 = 0; $num1 < $num_condizioni; $num1++) { $condizione = $condizione_vett[$num1]; $num_se = $num_cond_vett[$num1]; $azione = $azione_vett[$num1]; $cond_verificata = 1; if ($break_cont and $azione[0] != "cont") { $condizione = ""; $cond_verificata = 0; } # fine if ($break_cont and $azione[0] != "cont") if ($condizione) { if ($condizione[0] == "or") { $cond_verificata = 0; } for ($num2 = 1; $num2 < $num_se; $num2++) { $se_cond_corr = $condizione[$num2]; $var_if = $se_cond_corr[0]; if (substr($var_if, -1) != ")") { $var_if = ${$var_if}; } else { $var_if = explode("(", substr($var_if, 0, -1)); $var_if = ${$var_if[0]}[${$var_if[1]}]; } # fine else if (substr($var_if,-1) != ")") $val_if = $se_cond_corr[3]; if ($se_cond_corr[2] == "var") { if (substr($val_if, -1) != ")") { $val_if = ${$val_if}; } else { $val_if = explode("(", substr($val_if, 0, -1)); $val_if = ${$val_if[0]}[${$val_if[1]}]; } # fine else if (substr($val_if,-1) != ")") } # fine if ($se_cond_corr[2] == "var") $cond_verificata = 0; if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) { $cond_verificata = 1; } if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) { $cond_verificata = 1; } if ($condizione[0] == "or" and $cond_verificata) { break; } if ($condizione[0] == "and" and !$cond_verificata) { break; } } # fine for $num2 } # fine if ($condizione) if ($cond_verificata) { if ($azione[0] == "set") { $val_then = $azione[4]; if ($azione[3] == "var") { if (substr($val_then, -1) != ")") { if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") { $val_then = formatta_data_contr(${$val_then}, $stile_data); } else { $val_then = ${$val_then}; } } else { $val_then = explode("(", substr($val_then, 0, -1)); $val_then = ${$val_then[0]}[${$val_then[1]}]; } # fine else if (substr($val_then,-1) != ")") } # fine if ($azione[3] == "var") if (strcmp($azione[6], "")) { $txt_sost1 = $azione[6]; if ($azione[5] == "var") { if (substr($txt_sost1, -1) != ")") { $txt_sost1 = ${$txt_sost1}; } else { $txt_sost1 = explode("(", substr($txt_sost1, 0, -1)); $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}]; } # fine else if (substr($txt_sost1,-1) != ")") } # fine if ($azione[5] == "var") $txt_sost2 = $azione[8]; if ($azione[7] == "var") { if (substr($txt_sost2, -1) != ")") { $txt_sost2 = ${$txt_sost2}; } else { $txt_sost2 = explode("(", substr($txt_sost2, 0, -1)); $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}]; } # fine else if (substr($txt_sost2,-1) != ")") } # fine if ($azione[7] == "var") $val_then = str_replace($txt_sost1, $txt_sost2, $val_then); } # fine if (strcmp($azione[6],"")) if ($azione[2] == ".=") { if (substr($azione[1], 0, 1) != "a") { $var_then_orig = ${$variabile[$azione[1]]}; } else { $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } } else { $var_then_orig = ""; } if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_then_orig . $val_then; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then; $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "set") if ($azione[0] == "trunc") { if (substr($azione[1], 0, 1) != "a") { $var_da_assegnare = ${$variabile[$azione[1]]}; } else { $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } if (strcmp($azione[3], "")) { while (num_caratteri_testo($var_da_assegnare) < $azione[2]) { if ($azione[4] == "ini") { $var_da_assegnare = $azione[3] . $var_da_assegnare; } if ($azione[4] == "fin") { $var_da_assegnare .= $azione[3]; } } # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2]) } # fine if (strcmp($azione[3],"")) if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]); } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "trunc") if ($azione[0] == "oper") { $cont_oper = "SI"; $var_con_punti = "NO"; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = ${substr($var_da_oper, 0, -2)}; } } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) { $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } else { $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}]; } } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = formatta_soldi($var_da_oper); if (controlla_soldi($var_da_oper) == "NO") { $cont_oper = "NO"; } $var_da_oper2 = $azione[5]; if ($azione[4] == "var") { if (substr($var_da_oper2, -1) != ")") { if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) { $var_da_oper2 = ${$var_da_oper2}; } else { $var_da_oper2 = ${substr($var_da_oper2, 0, -2)}; } } else { $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1)); if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) { $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}]; } else { $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}]; } } # fine else if (substr($var_da_oper2,-1) != ")") } # fine if ($azione[4] == "var") $var_da_oper2 = formatta_soldi($var_da_oper2); if (controlla_soldi($var_da_oper2) == "NO") { $cont_oper = "NO"; } if ($cont_oper != "NO") { if ($azione[3] == "+") { $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2; } if ($azione[3] == "-") { $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2; } if ($azione[3] == "*") { $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2; } if ($azione[3] == "/") { $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2; } if ($azione[6]) { $var_da_assegnare = $var_da_assegnare / (double) $azione[6]; $var_da_assegnare = round($var_da_assegnare); $var_da_assegnare = $var_da_assegnare * (double) $azione[6]; } # fine if ($azione[6]) if (substr($azione[1], 0, 1) != "a") { if (substr($variabile[$azione[1]], -2) != "_p") { ${$variabile[$azione[1]]} = $var_da_assegnare; } else { ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { $array_date_contr[$array[substr($azione[1], 1)]] = ""; if (substr($array[substr($azione[1], 1)], -2) != "_p") { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } else { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper != "NO") } # fine if ($azione[0] == "oper") if ($azione[0] == "date") { $cont_oper = 1; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = substr($var_da_oper, 0, 10); if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) { if ($stile_data == "usa") { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2); } else { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2); } } # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper)) if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) { $cont_oper = 0; } if ($cont_oper) { if ($azione[3] == "gi") { $var_da_assegnare = "d"; } if ($azione[3] == "me") { $var_da_assegnare = "m"; } if ($azione[3] == "an") { $var_da_assegnare = "Y"; } if ($azione[3] == "gs") { $var_da_assegnare = "w"; } if ($azione[3] == "is") { $var_da_assegnare = "Y-m-d"; } if ($azione[3] == "da") { if ($stile_data == "usa") { $var_da_assegnare = "m-d-Y"; } else { $var_da_assegnare = "d-m-Y"; } } # fine if ($azione[3] == "da") $txt_sost1 = 0; $num2 = 0; $num3 = 0; if ($azione[5] == "g") { $txt_sost1 = $azione[4]; } if ($azione[5] == "m") { $num2 = $azione[4]; } if ($azione[5] == "a") { $num3 = $azione[4]; } $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3)); if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_da_assegnare; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { if ($azione[3] != "is") { $array_date_contr[$array[substr($azione[1], 1)]] = ""; } ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper) } # fine if ($azione[0] == "date") if ($azione[0] == "unset") { unset(${$array[substr($azione[1], 1)]}); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine if ($azione[0] == "unset") if ($azione[0] == "array") { $nome_arr = $array[substr($azione[1], 1)]; if ($azione[2] == "val") { unset(${$nome_arr}); $array_date_contr[$nome_arr] = ""; $lista_val = explode(",", $azione[3]); $num_lista_val = count($lista_val); for ($num2 = 1; $num2 <= $num_lista_val; $num2++) { ${$nome_arr}[$num2] = $lista_val[$num2 - 1]; } } # fine if ($azione[2] == "val") if ($azione[2] == "dat" or $azione[2] == "dap") { unset(${$nome_arr}); if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) { $array_date_contr[$nome_arr] = "SI"; if ($azione[2] == "dat") { $data_corr_arr = $data_inizio_selezione_orig; $txt_sost1 = $data_fine_selezione_orig; } # fine if ($azione[2] == "dat") if ($azione[2] == "dap") { $data_corr_arr = $data_primo_arrivo; $txt_sost1 = $data_ultima_partenza; } # fine if ($azione[2] == "dap") $num2 = 1; ${$nome_arr}[$num2] = $data_corr_arr; while ($data_corr_arr != $txt_sost1) { $num2++; $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4))); ${$nome_arr}[$num2] = $data_corr_arr; } # fine while ($data_corr_arr != $txt_sost1) } # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or... } # fine if ($azione[2] == "dat" or $azione[2] == "dap") if ($azione[2] == "cop") { $lista_val = ${$array[substr($azione[3], 1)]}; ${$nome_arr} = $lista_val; $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]]; } # fine if ($azione[2] == "cop") } # fine if ($azione[0] == "array") if ($azione[0] == "break") { if ($azione[1] == "cont") { $break_cont = 1; } else { break; } } # fine if ($azione[0] == "break") if ($azione[0] == "cont") { $break_cont = 0; } } # fine if ($cond_verificata) } # fine for $num1 $contratto_corr = $contratto_parte2[$n_p2]; while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr)) { $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr, 2); $contr_parziale = substr($contratto_corr, strlen($contr_vett[0])); $contratto_corr = $contr_vett[0]; $condizione = preg_split("/\" *\\]/", $contr_parziale, 2); $condizione = $condizione[0]; $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione)); $var_if = trim($val_if[0]); $val_if = $val_if[1]; if (str_replace("(", "", $var_if) != $var_if) { $parti_arr = explode("(", substr($var_if, 0, -1)); if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } $val_var_if = ${$parti_arr[0]}[$val_var_if]; } else { $val_var_if = ${$var_if}; } if (preg_match("/!= *\"/", $condizione)) { $cond = "!="; } else { $cond = "="; } $contr_parziale = substr($contr_parziale, strlen($condizione) + 1); while (substr($contr_parziale, 0, 1) == " ") { $contr_parziale = substr($contr_parziale, 1); } $contr_parziale = substr($contr_parziale, 1); $contr_vett = explode("[/c]", $contr_parziale, 2); $contr_parziale = substr($contr_parziale, strlen($contr_vett[0]) + 4); if ($cond == "=" and $val_var_if == $val_if) { $contratto_corr .= $contr_vett[0]; } if ($cond == "!=" and $val_var_if != $val_if) { $contratto_corr .= $contr_vett[0]; } $contratto_corr .= $contr_parziale; } # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[A-Za-z]+[A-Za-z0-9_]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/",$contratto_corr)) if ($data_inizio) { $data_inizio = formatta_data_contr($data_inizio, $stile_data); } if ($data_fine) { $data_fine = formatta_data_contr($data_fine, $stile_data); } if ($data_nascita) { $data_nascita = formatta_data_contr($data_nascita, $stile_data); } if ($data_nascita_ospite) { $data_nascita_ospite = formatta_data_contr($data_nascita_ospite, $stile_data); } if ($data_inserimento_costo_agg) { $data_inserimento_costo_agg = formatta_data_contr($data_inserimento_costo_agg, $stile_data); } if ($data_pagamento) { $data_pagamento = formatta_data_contr($data_pagamento, $stile_data); } if ($data_inserimento_prenotazione) { $data_inserimento_prenotazione = formatta_data_contr($data_inserimento_prenotazione, $stile_data); } $data_inizio_selezione = $data_inizio_selezione_f; $data_fine_selezione = $data_fine_selezione_f; $oggi = $oggi_f; $testo_quotato_email_richiesta = str_replace("<email_richiesta> ", "<{$email}> ", $testo_quotato_email_richiesta_orig); if (!$nome) { $nome = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$soprannome) { $soprannome = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$cognome) { $cognome = "{$tag_b}" . "_________________{$tag_no_b}"; } if (!$data_nascita) { $data_nascita = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$documento) { $documento = " {$tag_b}" . "________________________________{$tag_no_b}"; } if (!$nazione) { $nazione = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$regione) { $regione = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$citta) { $citta = "{$tag_b}" . "___________________{$tag_no_b}"; } if (!$via and $lingua_mex) { $via2 = "{$fr_via} {$tag_b}" . "________________________________{$tag_no_b}"; } else { $via2 = $via; } if (!$via) { $via = "{$tag_b}" . "________________________________{$tag_no_b}"; } if (!$numcivico) { $numcivico = "{$tag_b}" . "_____{$tag_no_b}"; } if (!$telefono) { $telefono = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono2) { $telefono2 = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono3) { $telefono3 = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$fax) { $fax = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$email) { $email = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$cap) { $cap = "{$tag_b}" . "________{$tag_no_b}"; } if (!$codice_fiscale) { $codice_fiscale = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$partita_iva) { $partita_iva = "{$tag_b}" . "_____________{$tag_no_b}"; } if ($num_persone == "non specificato" or $num_persone == "") { $num_persone = "{$tag_b}" . "_____{$tag_no_b}"; $num_persone_tot = "{$tag_b}" . "_____{$tag_no_b}"; } # fine if ($num_persone == "non specificato" or $num_persone == "") if (!$costo_tot or !$caparra) { $resto_caparra = "{$tag_b}" . "_____________{$tag_no_b}"; $resto_caparra_p = "{$tag_b}" . "_____________{$tag_no_b}"; } # fine if (!$costo_tot or !$caparra) if (!$caparra) { $caparra = "{$tag_b}" . "___________{$tag_no_b}"; $caparra_p = "{$tag_b}" . "___________{$tag_no_b}"; } else { $caparra_p = punti_in_num($caparra, $stile_soldi); } if (!$costo_tot or !$commissioni) { $resto_commissioni = "{$tag_b}" . "_____________{$tag_no_b}"; $resto_commissioni_p = "{$tag_b}" . "_____________{$tag_no_b}"; } # fine if (!$costo_tot or !$commissioni) if (!$commissioni) { $commissioni = "{$tag_b}" . "___________{$tag_no_b}"; $commissioni_p = "{$tag_b}" . "___________{$tag_no_b}"; } else { $commissioni_p = punti_in_num($commissioni, $stile_soldi); } if (!$costo_tot) { $resto_da_pagare = "{$tag_b}" . "_____________{$tag_no_b}"; $resto_da_pagare_p = "{$tag_b}" . "_____________{$tag_no_b}"; } # fine if (!$costo_tot) if (!$data_inizio) { $data_inizio = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$data_fine) { $data_fine = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$num_periodi or $num_periodi == "?") { $num_periodi = "{$tag_b}" . "____{$tag_no_b}"; } if ($orario_entrata_stimato) { $orario_entrata_stimato = substr(str_replace("{$data_inizio} ", "", formatta_data_contr($orario_entrata_stimato, $stile_data)), 0, -3); } if (!$nome_tariffa) { $nome_tariffa = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$costo_tariffa) { $costo_tariffa = "{$tag_b}" . "____________________{$tag_no_b}"; $costo_tariffa_p = "{$tag_b}" . "____________________{$tag_no_b}"; } else { $costo_tariffa_p = punti_in_num($costo_tariffa, $stile_soldi); } if (!$sconto) { $sconto = "{$tag_b}" . "____________{$tag_no_b}"; $sconto_p = "{$tag_b}" . "____________{$tag_no_b}"; } else { $sconto_p = punti_in_num($sconto, $stile_soldi); } if (!$commento) { $commento = "{$tag_b}" . "______________________{$tag_no_b}"; } if (!$origine_prenotazione) { $origine_prenotazione = "{$tag_b}" . "_________________{$tag_no_b}"; } if (!$unita_occupata) { $unita_occupata = "{$tag_b}" . "____{$tag_no_b}"; } $appartamento = $unita_occupata; $apartment = $unita_occupata; $apartamento = $unita_occupata; if (!$unita_assegnabili) { $unita_assegnabili = "{$tag_b}" . "_________________{$tag_no_b}"; } $app_assegnabili = $unita_assegnabili; $apartment_list = $unita_assegnabili; $lista_apartamentos = $unita_assegnabili; if (!$pagato) { $pagato = "{$tag_b}" . "_____________{$tag_no_b}"; $pagato_p = "{$tag_b}" . "_____________{$tag_no_b}"; } else { $pagato_p = punti_in_num($pagato, $stile_soldi); } if (!$costo_tot) { $costo_tot = "{$tag_b}" . "_____________{$tag_no_b}"; $costo_tot_p = "{$tag_b}" . "_____________{$tag_no_b}"; } else { $costo_tot_p = punti_in_num($costo_tot, $stile_soldi); } if (!$n_letti_agg) { $n_letti_agg = "{$tag_b}" . "____{$tag_no_b}"; } if (!$numero_prenotazione) { $numero_prenotazione = "{$tag_b}" . "____{$tag_no_b}"; } if (!$nome_ospite) { $nome_ospite = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$soprannome_ospite) { $soprannome_ospite = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$cognome_ospite) { $cognome_ospite = "{$tag_b}" . "_________________{$tag_no_b}"; } if (!$data_nascita_ospite) { $data_nascita_ospite = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$documento_ospite) { $documento_ospite = " {$tag_b}" . "________________________________{$tag_no_b}"; } if (!$nazione_ospite) { $nazione_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$regione_ospite) { $regione_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$citta_ospite) { $citta_ospite = "{$tag_b}" . "___________________{$tag_no_b}"; } if (!$via_ospite and $lingua_mex) { $via2_ospite = "{$fr_via} {$tag_b}" . "________________________________{$tag_no_b}"; } else { $via2_ospite = $via_ospite; } if (!$via_ospite) { $via_ospite = "{$tag_b}" . "________________________________{$tag_no_b}"; } if (!$numcivico_ospite) { $numcivico_ospite = "{$tag_b}" . "_____{$tag_no_b}"; } if (!$telefono_ospite) { $telefono_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono2_ospite) { $telefono2_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono3_ospite) { $telefono3_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$fax_ospite) { $fax_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$email_ospite) { $email_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$cap_ospite) { $cap_ospite = "{$tag_b}" . "________{$tag_no_b}"; } if (!$codice_fiscale_ospite) { $codice_fiscale_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$partita_iva_ospite) { $partita_iva_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } $contratto_r = $contratto_corr; $contr_vett = explode("[", $contratto_r); $num_contr_vett = count($contr_vett); $contr_parziale = ""; for ($num1 = 0; $num1 < $num_contr_vett; $num1++) { $contr_parziale .= $contr_vett[$num1] . "["; $resto_contr = substr($contratto_corr, strlen($contr_parziale)); $lettera = (string) substr($resto_contr, 0, 1); if ($lettera and preg_replace("/[A-Za-z]/", "", $lettera) == "") { $num2 = 1; $lettere_var = $lettera; $cond = 0; while ((preg_replace("/[A-Za-z0-9\\(\\)'_]/", "SI", $lettera) == "SI" or $cond == 1) and ($cond != 1 or $lettera != "]" and $lettera != "(")) { if ($lettera == "'") { if (!$cond) { $cond = 1; } else { $cond = 2; } } # fine if ($lettera == "'") $lettera = (string) substr($resto_contr, $num2, 1); if ($lettera == "]") { if (str_replace("(", "", str_replace(")", "", str_replace("'", "", $lettere_var))) == $lettere_var) { if ($incr_np and $lettere_var == "numero_progressivo_documento") { if ($num_prog_contr_max and $numero_progressivo_documento > $num_prog_contr_max) { $numero_progressivo_documento--; } $val_if = strstr($contratto_r, "[numero_progressivo_documento]"); $contratto_r = substr($contratto_r, 0, strlen($val_if) * -1) . $numero_progressivo_documento . substr($val_if, 30); $numero_progressivo_documento++; } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$lettere_var}, $contratto_r); } } else { $parti_arr = explode("(", substr($lettere_var, 0, -1)); if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parti_arr[0]) == "" and preg_replace("/(('[^']*')|([A-Za-z]+[A-Za-z0-9_]*))/", "", $parti_arr[1]) == "") { if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } if ($array_date_contr[$parti_arr[0]] == "SI") { $contratto_r = str_replace("[" . $lettere_var . "]", formatta_data_contr(${$parti_arr[0]}[$val_var_if], $stile_data), $contratto_r); } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$parti_arr[0]}[$val_var_if], $contratto_r); } } # fine if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/","",$parti_arr[0]) == "" and... } # fine else if (str_replace("(","",str_replace(")","",str_replace("'","",$lettere_var))) == $lettere_var) } # fine if ($lettera == "]") $lettere_var .= $lettera; $num2++; } # fine while ((preg_replace("/[A-Za-z0-9\(\)'_]/","SI",$lettera) == "SI" or $cond == 1) and... } # fine ($lettera and preg_replace("/[A-Za-z]/","",$lettera) == "") } # fine for $num1 $contratto_ripetizione .= $contratto_r; $nome = $nome_orig; $soprannome = $soprannome_orig; $cognome = $cognome_orig; $data_nascita = $data_nascita_orig; $documento = $documento_orig; $nazione = $nazione_orig; $regione = $regione_orig; $citta = $citta_orig; $via = $via_orig; $numcivico = $numcivico_orig; $telefono = $telefono_orig; $telefono2 = $telefono2_orig; $telefono3 = $telefono3_orig; $fax = $fax_orig; $email = $email_orig; $cap = $cap_orig; $codice_fiscale = $codice_fiscale_orig; $partita_iva = $partita_iva_orig; $num_persone = $num_persone_orig; $caparra = $caparra_orig; $commissioni = $commissioni_orig; $data_inizio = $data_inizio_orig; $data_fine = $data_fine_orig; $num_periodi = $num_periodi_orig; $orario_entrata_stimato = $orario_entrata_stimato_orig; $nome_tariffa = $nome_tariffa_orig; $costo_tariffa = $costo_tariffa_orig; $sconto = $sconto_orig; $percentuale_tasse_tariffa = $percentuale_tasse_tariffa_orig; $commento = $commento_orig; $origine_prenotazione = $origine_prenotazione_orig; $unita_occupata = $unita_occupata_orig; $unita_assegnabili = $unita_assegnabili_orig; $pagato = $pagato_orig; $costo_tot = $costo_tot_orig; $n_letti_agg = $n_letti_agg_orig; $numero_prenotazione = $numero_prenotazione_orig; $data_inizio_selezione = $data_inizio_selezione_orig; $data_fine_selezione = $data_fine_selezione_orig; $data_inserimento_prenotazione = $data_inserimento_prenotazione_orig; $oggi = $oggi_orig; $cognome_ospite = ""; } # fine if ($mostra_ripetizione) } # fine for $n_r2 } # fine for $n_p2 if (!$errore_ripetizione) { $contratto .= $apertura_rip_contr . $contratto_ripetizione . $chiusura_rip_contr; } if ($filecontr and $ripeti_tutto and !$messaggio_di_errore) { if ($tipo_contratto == "contrrtf") { $contratto = str_replace(""", "\"", $contratto); $contratto = str_replace("'", "'", $contratto); $contratto = str_replace("<", "<", $contratto); $contratto = str_replace(">", ">", $contratto); $contratto = str_replace("&", "&", $contratto); $contratto = str_replace("ñ", "\\u241\\'f1", $contratto); $contratto = str_replace("à", "\\u224\\'e0", $contratto); $contratto = str_replace("è", "\\u232\\'e8", $contratto); $contratto = str_replace("ì", "\\u236\\'ec", $contratto); $contratto = str_replace("ò", "\\u242\\'f2", $contratto); $contratto = str_replace("ù", "\\u249\\'f9", $contratto); $contratto = str_replace("á", "\\u225\\'e1", $contratto); $contratto = str_replace("é", "\\u233\\'e9", $contratto); $contratto = str_replace("í", "\\u237\\'ed", $contratto); $contratto = str_replace("ó", "\\u243\\'f3", $contratto); $contratto = str_replace("ú", "\\u250\\'fa", $contratto); $contratto = str_replace("ä", "\\u228\\'e4", $contratto); $contratto = str_replace("ö", "\\u246\\'f6", $contratto); $contratto = str_replace("ü", "\\u252\\'fc", $contratto); $contratto = str_replace("ß", "\\u223\\'df", $contratto); $contratto = str_replace("ç", "\\u231\\'e7", $contratto); $contratto = str_replace("ã", "\\u227\\'e3", $contratto); $contratto = str_replace("õ", "\\u245\\'f5", $contratto); $contratto = str_replace("ø", "\\u248\\'f8", $contratto); $contratto = str_replace("€", "\\u8364\\'80", $contratto); $contratto = str_replace("°", "\\u176\\'b0", $contratto); $contratto = str_replace("’", "\\u8217\\'92", $contratto); $contratto = str_replace("Ñ", "\\u209\\'d1", $contratto); $contratto = str_replace("À", "\\u192\\'c0", $contratto); $contratto = str_replace("È", "\\u200\\'c8", $contratto); $contratto = str_replace("Ì", "\\u204\\'cc", $contratto); $contratto = str_replace("Ò", "\\u210\\'d2", $contratto); $contratto = str_replace("Ù", "\\u217\\'d9", $contratto); $contratto = str_replace("Á", "\\u193\\'c1", $contratto); $contratto = str_replace("É", "\\u201\\'c9", $contratto); $contratto = str_replace("Í", "\\u205\\'cd", $contratto); $contratto = str_replace("Ó", "\\u211\\'d3", $contratto); $contratto = str_replace("Ú", "\\u218\\'da", $contratto); $contratto = str_replace("Ä", "\\u196\\'c4", $contratto); $contratto = str_replace("Ö", "\\u214\\'d6", $contratto); $contratto = str_replace("Ü", "\\u220\\'dc", $contratto); $contratto = str_replace("Ç", "\\u199\\'c7", $contratto); $contratto = str_replace("Ã", "\\u195\\'c3", $contratto); $contratto = str_replace("Õ", "\\u213\\'d5", $contratto); $contratto = str_replace("Ø", "\\u216\\'d8", $contratto); $contratto = str_replace("Α", "\\u913\\'91", $contratto); $contratto = str_replace("α", "\\u945\\'b1", $contratto); $contratto = str_replace("Β", "\\u914\\'92", $contratto); $contratto = str_replace("β", "\\u946\\'b2", $contratto); $contratto = str_replace("Γ", "\\u915\\'93", $contratto); $contratto = str_replace("γ", "\\u947\\'b3", $contratto); $contratto = str_replace("Δ", "\\u916\\'94", $contratto); $contratto = str_replace("δ", "\\u948\\'b4", $contratto); $contratto = str_replace("Ε", "\\u917\\'95", $contratto); $contratto = str_replace("ε", "\\u949\\'b5", $contratto); $contratto = str_replace("Ζ", "\\u918\\'96", $contratto); $contratto = str_replace("ζ", "\\u950\\'b6", $contratto); $contratto = str_replace("Η", "\\u919\\'97", $contratto); $contratto = str_replace("η", "\\u951\\'b7", $contratto); $contratto = str_replace("Θ", "\\u920\\'98", $contratto); $contratto = str_replace("θ", "\\u952\\'b8", $contratto); $contratto = str_replace("Ι", "\\u921\\'99", $contratto); $contratto = str_replace("ι", "\\u953\\'b9", $contratto); $contratto = str_replace("Κ", "\\u922\\'9a", $contratto); $contratto = str_replace("κ", "\\u954\\'ba", $contratto); $contratto = str_replace("Λ", "\\u923\\'9b", $contratto); $contratto = str_replace("λ", "\\u955\\'bb", $contratto); $contratto = str_replace("Μ", "\\u924\\'9c", $contratto); $contratto = str_replace("μ", "\\u956\\'bc", $contratto); $contratto = str_replace("Ν", "\\u925\\'9d", $contratto); $contratto = str_replace("ν", "\\u957\\'bd", $contratto); $contratto = str_replace("Ξ", "\\u926\\'9e", $contratto); $contratto = str_replace("ξ", "\\u958\\'be", $contratto); $contratto = str_replace("Ο", "\\u927\\'9f", $contratto); $contratto = str_replace("ο", "\\u959\\'bf", $contratto); $contratto = str_replace("Π", "\\u928\\'a0", $contratto); $contratto = str_replace("π", "\\u960\\'c0", $contratto); $contratto = str_replace("Ρ", "\\u929\\'a1", $contratto); $contratto = str_replace("ρ", "\\u961\\'c1", $contratto); $contratto = str_replace("Σ", "\\u931\\'a3", $contratto); $contratto = str_replace("σ", "\\u963\\'c3", $contratto); $contratto = str_replace("ς", "\\u962\\'c2", $contratto); $contratto = str_replace("Τ", "\\u932\\'a4", $contratto); $contratto = str_replace("τ", "\\u964\\'c4", $contratto); $contratto = str_replace("Υ", "\\u933\\'a5", $contratto); $contratto = str_replace("υ", "\\u965\\'c5", $contratto); $contratto = str_replace("Φ", "\\u934\\'a6", $contratto); $contratto = str_replace("φ", "\\u966\\'c6", $contratto); $contratto = str_replace("Χ", "\\u935\\'a7", $contratto); $contratto = str_replace("χ", "\\u967\\'c7", $contratto); $contratto = str_replace("Ψ", "\\u936\\'a8", $contratto); $contratto = str_replace("ψ", "\\u968\\'c8", $contratto); $contratto = str_replace("Ω", "\\u937\\'a9", $contratto); $contratto = str_replace("ω", "\\u969\\'c9", $contratto); $contratto = str_replace("Ά", "\\u902\\'86", $contratto); $contratto = str_replace("ά", "\\u940\\'ce", $contratto); $contratto = str_replace("Ό", "\\u908\\'8c", $contratto); $contratto = str_replace("ό", "\\u972\\'cf", $contratto); $contratto = str_replace("Ή", "\\u905\\'89", $contratto); $contratto = str_replace("ή", "\\u942\\'ce", $contratto); $contratto = str_replace("Ί", "\\u906\\'8a", $contratto); $contratto = str_replace("ί", "\\u943\\'ce", $contratto); $contratto = str_replace("Ύ", "\\u910\\'8e", $contratto); $contratto = str_replace("ύ", "\\u973\\'cf", $contratto); $contratto = str_replace("Ώ", "\\u911\\'8f", $contratto); $contratto = str_replace("ώ", "\\u974\\'cf", $contratto); $contratto = str_replace("Έ", "\\u904\\'88", $contratto); $contratto = str_replace("έ", "\\u941\\'ce", $contratto); $contratto = str_replace("ý", "\\u253\\'fd", $contratto); $contratto = str_replace("ž", "\\u382\\'9e", $contratto); $contratto = str_replace("ř", "\\u345\\'3f", $contratto); $contratto = str_replace("č", "\\u269\\'3f", $contratto); $contratto = str_replace("š", "\\u353\\'9a", $contratto); $contratto = str_replace("ě", "\\u283\\'3f", $contratto); $contratto = str_replace("ů", "\\u367\\'3f", $contratto); $contratto = str_replace("Ý", "\\u221\\'dd", $contratto); $contratto = str_replace("Ž", "\\u381\\'8e", $contratto); $contratto = str_replace("Ř", "\\u344\\'3f", $contratto); $contratto = str_replace("Č", "\\u268\\'3f", $contratto); $contratto = str_replace("Š", "\\u352\\'8a", $contratto); $contratto = str_replace("Ě", "\\u282\\'3f", $contratto); $contratto = str_replace("Ů", "\\u366\\'3f", $contratto); } # fine if ($tipo_contratto == "contrrtf") if ($incr_np) { if ($numero_progressivo_documento > $num_prog_contr[$n_r] + 1) { $val_if = $numero_progressivo_documento - 1; for ($num1 = strlen($val_if); $num1 < 5; $num1++) { $val_if = "0" . $val_if; } $nome_file_contr[$n_r] = str_replace(" ", "-{$val_if}", $nome_file_contr[$n_r]); for ($num1 = $n_r + 1; $num1 <= $num_ripeti; $num1++) { $val_if = $num_prog_contr[$num1] + $numero_progressivo_documento - 1 - $num_prog_contr[$n_r]; if (strlen($val_if) > strlen($num_prog_contr[$num1]) and strlen($val_if) <= 5) { $num_prog_contr[$num1] = substr("00000", 0, strlen($val_if) - strlen($num_prog_contr[$num1])) . $num_prog_contr[$num1]; } $nome_file_contr[$num1] = str_replace($num_prog_contr[$num1] . " ", $val_if . " ", $nome_file_contr[$num1]); $num_prog_contr[$num1] = $val_if; } # fine for $num1 } else { $nome_file_contr[$n_r] = str_replace(" ", "", $nome_file_contr[$n_r]); } if ($nomi_contratti['compress'][$numero_contratto]) { $nome_file_contr[$n_r] .= ".gz"; $lock_compress[$n_r] = crea_lock_file($nome_file_contr[$n_r]); $filecontr[$n_r] = gzopen($dir_salva . "/" . $nome_file_contr[$n_r], "wb9"); } else { $filecontr[$n_r] = fopen($dir_salva . "/" . $nome_file_contr[$n_r], "w+"); flock($filecontr[$n_r], 2); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } # fine if ($incr_np) if ($nomi_contratti['compress'][$numero_contratto]) { gzwrite($filecontr[$n_r], $contratto); gzclose($filecontr[$n_r]); distruggi_lock_file($lock_compress[$n_r], $nome_file_contr[$n_r]); } else { fwrite($filecontr[$n_r], $contratto); flock($filecontr[$n_r], 3); fclose($filecontr[$n_r]); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) $contratto = ""; } # fine if ($filecontr and $ripeti_tutto and !$messaggio_di_errore) } # fine if (!$ripeti_prenota_data or... } # fine for $n_r } else { $costo_tot_somma_ripetizioni_p = punti_in_num($costo_tot_somma_ripetizioni, $stile_soldi); $caparra_somma_ripetizioni_p = punti_in_num($caparra_somma_ripetizioni, $stile_soldi); $resto_caparra_somma_ripetizioni_p = punti_in_num($resto_caparra_somma_ripetizioni, $stile_soldi); $pagato_somma_ripetizioni_p = punti_in_num($pagato_somma_ripetizioni, $stile_soldi); $resto_da_pagare_somma_ripetizioni_p = punti_in_num($resto_da_pagare_somma_ripetizioni, $stile_soldi); if ($dir_salva and $ripeti_tutto and (!$numero_progressivo_documento or $numero_progressivo_documento < $num_prog_contr[$n_r])) { $numero_progressivo_documento = $num_prog_contr[$n_r]; } # Ripetizioni degli array all'interno delle parti non ripetute con le prenotazioni unset($contratto_parte2); if (!preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_parte[$n_p]) and str_replace("[r6]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p]) { $contratto_parte2[1] = $contratto_parte[$n_p]; $ripeti_parte2[1] = "NO"; $num_parti2_contr = 1; } else { $num_parti2_contr = 0; $contratto_restante = $contratto_parte[$n_p]; while (preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante) or str_replace("[r6]", "", $contratto_restante) != $contratto_restante) { $contr_vett4 = preg_split("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante); $contr_vett6 = explode("[r6]", $contratto_restante); $l0_cv4 = strlen($contr_vett4[0]); $l0_cv6 = strlen($contr_vett6[0]); if ($l0_cv4 > $l0_cv6) { $contr_vett = $contr_vett6; $tipo_contr_vett = 6; } else { $contr_vett = $contr_vett4; $tipo_contr_vett = 4; } # fine else if ($l0_cv4 > $l0_cv6) if ($contr_vett[0] != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contr_vett[0] != "") $contratto_restante = substr($contratto_restante, strlen($contr_vett[0])); if ($tipo_contr_vett == 4) { $arr_ripeti = explode("\"]", $contratto_restante, 2); $arr_ripeti = str_replace("[r4 array=\"", "", $arr_ripeti[0]); $contratto_restante = substr($contratto_restante, strlen("[r4 array=\"{$arr_ripeti}\"]")); } else { $contratto_restante = substr($contratto_restante, 4); } $contr_vett = explode("[/r" . $tipo_contr_vett . "]", $contratto_restante); $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "SI"; $tipo_parte2[$num_parti2_contr] = $tipo_contr_vett; if ($tipo_contr_vett == 4) { $arr_parte2[$num_parti2_contr] = $arr_ripeti; } $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 5); } # fine while (preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/",$contratto_restante) or... if ($contratto_restante != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contratto_restante; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contratto_restante != "") } # fine else if (!preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/",$contratto_parte[$n_p]) and... for ($n_p2 = 1; $n_p2 <= $num_parti2_contr; $n_p2++) { if ($ripeti_parte2[$n_p2] != "SI") { $num_ripeti2 = 1; } else { if ($tipo_parte2[$n_p2] == 4) { if (@is_array(${$arr_parte2[$n_p2]})) { $num_ripeti2 = count(${$arr_parte2[$n_p2]}); reset(${$arr_parte2[$n_p2]}); } else { $num_ripeti2 = 0; } } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 6) { $num_ripeti2 = $num_unita; } } # fine else if ($ripeti_parte2[$n_p2] != "SI") for ($n_r2 = 1; $n_r2 <= $num_ripeti2; $n_r2++) { if ($ripeti_parte2[$n_p2] == "SI") { if ($tipo_parte2[$n_p2] == 4) { ${$var_arr_nome[$arr_parte2[$n_p2]]} = key(${$arr_parte2[$n_p2]}); next(${$arr_parte2[$n_p2]}); } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 6) { $nome_unita = $dati_app_contr[$n_r2]['nome']; $casa_unita = $dati_app_contr[$n_r2]['casa']; $piano_unita = $dati_app_contr[$n_r2]['piano']; $capacita_unita = $dati_app_contr[$n_r2]['capacita']; $priorita_unita = $dati_app_contr[$n_r2]['priorita']; } elseif ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine else if ($tipo_parte2[$n_p2] == 6) } elseif ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine elseif ($tipo_parte0[$n_p0] != "6") $contratto_corr = $contratto_parte2[$n_p2]; while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr)) { $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr, 2); $contr_parziale = substr($contratto_corr, strlen($contr_vett[0])); $contratto_corr = $contr_vett[0]; $condizione = preg_split("/\" *\\]/", $contr_parziale, 2); $condizione = $condizione[0]; $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione)); $var_if = trim($val_if[0]); $val_if = $val_if[1]; if (str_replace("(", "", $var_if) != $var_if) { $parti_arr = explode("(", substr($var_if, 0, -1)); if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } $val_var_if = ${$parti_arr[0]}[$val_var_if]; } else { $val_var_if = ${$var_if}; } if (preg_match("/!= *\"/", $condizione)) { $cond = "!="; } else { $cond = "="; } $contr_parziale = substr($contr_parziale, strlen($condizione) + 1); while (substr($contr_parziale, 0, 1) == " ") { $contr_parziale = substr($contr_parziale, 1); } $contr_parziale = substr($contr_parziale, 1); $contr_vett = explode("[/c]", $contr_parziale, 2); $contr_parziale = substr($contr_parziale, strlen($contr_vett[0]) + 4); if ($cond == "=" and $val_var_if == $val_if) { $contratto_corr .= $contr_vett[0]; } if ($cond == "!=" and $val_var_if != $val_if) { $contratto_corr .= $contr_vett[0]; } $contratto_corr .= $contr_parziale; } # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[A-Za-z]+[A-Za-z0-9_]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/",$contratto_corr)) $data_inizio_selezione = $data_inizio_selezione_f; $data_fine_selezione = $data_fine_selezione_f; $oggi = $oggi_f; $testo_quotato_email_richiesta = str_replace("<email_richiesta> ", "<{$email}> ", $testo_quotato_email_richiesta_orig); $contratto_r = $contratto_corr; $contr_vett = explode("[", $contratto_r); $num_contr_vett = count($contr_vett); $contr_parziale = ""; for ($num1 = 0; $num1 < $num_contr_vett; $num1++) { $contr_parziale .= $contr_vett[$num1] . "["; $resto_contr = substr($contratto_corr, strlen($contr_parziale)); $lettera = (string) substr($resto_contr, 0, 1); if ($lettera and preg_replace("/[A-Za-z]/", "", $lettera) == "") { $num2 = 1; $lettere_var = $lettera; $cond = 0; while ((preg_replace("/[A-Za-z0-9\\(\\)'_]/", "SI", $lettera) == "SI" or $cond == 1) and ($cond != 1 or $lettera != "]" and $lettera != "(")) { if ($lettera == "'") { if (!$cond) { $cond = 1; } else { $cond = 2; } } # fine if ($lettera == "'") $lettera = (string) substr($resto_contr, $num2, 1); if ($lettera == "]") { if (str_replace("(", "", str_replace(")", "", str_replace("'", "", $lettere_var))) == $lettere_var) { if ($incr_np and $lettere_var == "numero_progressivo_documento") { if ($num_prog_contr_max and $numero_progressivo_documento > $num_prog_contr_max) { $numero_progressivo_documento--; } $val_if = strstr($contratto_r, "[numero_progressivo_documento]"); $contratto_r = substr($contratto_r, 0, strlen($val_if) * -1) . $numero_progressivo_documento . substr($val_if, 30); $numero_progressivo_documento++; } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$lettere_var}, $contratto_r); } } else { $parti_arr = explode("(", substr($lettere_var, 0, -1)); if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parti_arr[0]) == "" and preg_replace("/(('[^']*')|([A-Za-z]+[A-Za-z0-9_]*))/", "", $parti_arr[1]) == "") { if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } if ($array_date_contr[$parti_arr[0]] == "SI") { $contratto_r = str_replace("[" . $lettere_var . "]", formatta_data_contr(${$parti_arr[0]}[$val_var_if], $stile_data), $contratto_r); } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$parti_arr[0]}[$val_var_if], $contratto_r); } } # fine if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/","",$parti_arr[0]) == "" and... } # fine else if (str_replace("(","",str_replace(")","",str_replace("'","",$lettere_var))) == $lettere_var) } # fine if ($lettera == "]") $lettere_var .= $lettera; $num2++; } # fine while ((preg_replace("/[A-Za-z0-9\(\)'_]/","SI",$lettera) == "SI" or $cond == 1) and... } # fine ($lettera and preg_replace("/[A-Za-z]/","",$lettera) == "") } # fine for $num1 $contratto .= $contratto_r; $data_inizio_selezione = $data_inizio_selezione_orig; $data_fine_selezione = $data_fine_selezione_orig; $oggi = $oggi_orig; } # fine for $n_r2 } # fine for $n_p2 } # fine else if ($ripeti_parte[$n_p] == "SI") } # fine for $n_p } # fine for $n_r0 } # fine for $n_p0 if ($tipo_contratto == "contreml") { if (!$ripeti_tutto) { $contratto .= "</textarea><br>\n</table><table><tr><td style=\"height: 3px;\"></td></tr></table>\n<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">"; } # fine if (!$ripeti_tutto) $contratto .= " " . bottone_submit_contr(mex("Spedisci", $pag), "inse") . "\n</div></form>"; } # fine if ($tipo_contratto == "contreml") if ($tipo_contratto == "contrrtf") { $contratto = str_replace(""", "\"", $contratto); $contratto = str_replace("'", "'", $contratto); $contratto = str_replace("<", "<", $contratto); $contratto = str_replace(">", ">", $contratto); $contratto = str_replace("&", "&", $contratto); $contratto = str_replace("ñ", "\\u241\\'f1", $contratto); $contratto = str_replace("à", "\\u224\\'e0", $contratto); $contratto = str_replace("è", "\\u232\\'e8", $contratto); $contratto = str_replace("ì", "\\u236\\'ec", $contratto); $contratto = str_replace("ò", "\\u242\\'f2", $contratto); $contratto = str_replace("ù", "\\u249\\'f9", $contratto); $contratto = str_replace("á", "\\u225\\'e1", $contratto); $contratto = str_replace("é", "\\u233\\'e9", $contratto); $contratto = str_replace("í", "\\u237\\'ed", $contratto); $contratto = str_replace("ó", "\\u243\\'f3", $contratto); $contratto = str_replace("ú", "\\u250\\'fa", $contratto); $contratto = str_replace("ä", "\\u228\\'e4", $contratto); $contratto = str_replace("ö", "\\u246\\'f6", $contratto); $contratto = str_replace("ü", "\\u252\\'fc", $contratto); $contratto = str_replace("ß", "\\u223\\'df", $contratto); $contratto = str_replace("ç", "\\u231\\'e7", $contratto); $contratto = str_replace("ã", "\\u227\\'e3", $contratto); $contratto = str_replace("õ", "\\u245\\'f5", $contratto); $contratto = str_replace("ø", "\\u248\\'f8", $contratto); $contratto = str_replace("€", "\\u8364\\'80", $contratto); $contratto = str_replace("°", "\\u176\\'b0", $contratto); $contratto = str_replace("’", "\\u8217\\'92", $contratto); $contratto = str_replace("Ñ", "\\u209\\'d1", $contratto); $contratto = str_replace("À", "\\u192\\'c0", $contratto); $contratto = str_replace("È", "\\u200\\'c8", $contratto); $contratto = str_replace("Ì", "\\u204\\'cc", $contratto); $contratto = str_replace("Ò", "\\u210\\'d2", $contratto); $contratto = str_replace("Ù", "\\u217\\'d9", $contratto); $contratto = str_replace("Á", "\\u193\\'c1", $contratto); $contratto = str_replace("É", "\\u201\\'c9", $contratto); $contratto = str_replace("Í", "\\u205\\'cd", $contratto); $contratto = str_replace("Ó", "\\u211\\'d3", $contratto); $contratto = str_replace("Ú", "\\u218\\'da", $contratto); $contratto = str_replace("Ä", "\\u196\\'c4", $contratto); $contratto = str_replace("Ö", "\\u214\\'d6", $contratto); $contratto = str_replace("Ü", "\\u220\\'dc", $contratto); $contratto = str_replace("Ç", "\\u199\\'c7", $contratto); $contratto = str_replace("Ã", "\\u195\\'c3", $contratto); $contratto = str_replace("Õ", "\\u213\\'d5", $contratto); $contratto = str_replace("Ø", "\\u216\\'d8", $contratto); $contratto = str_replace("Α", "\\u913\\'91", $contratto); $contratto = str_replace("α", "\\u945\\'b1", $contratto); $contratto = str_replace("Β", "\\u914\\'92", $contratto); $contratto = str_replace("β", "\\u946\\'b2", $contratto); $contratto = str_replace("Γ", "\\u915\\'93", $contratto); $contratto = str_replace("γ", "\\u947\\'b3", $contratto); $contratto = str_replace("Δ", "\\u916\\'94", $contratto); $contratto = str_replace("δ", "\\u948\\'b4", $contratto); $contratto = str_replace("Ε", "\\u917\\'95", $contratto); $contratto = str_replace("ε", "\\u949\\'b5", $contratto); $contratto = str_replace("Ζ", "\\u918\\'96", $contratto); $contratto = str_replace("ζ", "\\u950\\'b6", $contratto); $contratto = str_replace("Η", "\\u919\\'97", $contratto); $contratto = str_replace("η", "\\u951\\'b7", $contratto); $contratto = str_replace("Θ", "\\u920\\'98", $contratto); $contratto = str_replace("θ", "\\u952\\'b8", $contratto); $contratto = str_replace("Ι", "\\u921\\'99", $contratto); $contratto = str_replace("ι", "\\u953\\'b9", $contratto); $contratto = str_replace("Κ", "\\u922\\'9a", $contratto); $contratto = str_replace("κ", "\\u954\\'ba", $contratto); $contratto = str_replace("Λ", "\\u923\\'9b", $contratto); $contratto = str_replace("λ", "\\u955\\'bb", $contratto); $contratto = str_replace("Μ", "\\u924\\'9c", $contratto); $contratto = str_replace("μ", "\\u956\\'bc", $contratto); $contratto = str_replace("Ν", "\\u925\\'9d", $contratto); $contratto = str_replace("ν", "\\u957\\'bd", $contratto); $contratto = str_replace("Ξ", "\\u926\\'9e", $contratto); $contratto = str_replace("ξ", "\\u958\\'be", $contratto); $contratto = str_replace("Ο", "\\u927\\'9f", $contratto); $contratto = str_replace("ο", "\\u959\\'bf", $contratto); $contratto = str_replace("Π", "\\u928\\'a0", $contratto); $contratto = str_replace("π", "\\u960\\'c0", $contratto); $contratto = str_replace("Ρ", "\\u929\\'a1", $contratto); $contratto = str_replace("ρ", "\\u961\\'c1", $contratto); $contratto = str_replace("Σ", "\\u931\\'a3", $contratto); $contratto = str_replace("σ", "\\u963\\'c3", $contratto); $contratto = str_replace("ς", "\\u962\\'c2", $contratto); $contratto = str_replace("Τ", "\\u932\\'a4", $contratto); $contratto = str_replace("τ", "\\u964\\'c4", $contratto); $contratto = str_replace("Υ", "\\u933\\'a5", $contratto); $contratto = str_replace("υ", "\\u965\\'c5", $contratto); $contratto = str_replace("Φ", "\\u934\\'a6", $contratto); $contratto = str_replace("φ", "\\u966\\'c6", $contratto); $contratto = str_replace("Χ", "\\u935\\'a7", $contratto); $contratto = str_replace("χ", "\\u967\\'c7", $contratto); $contratto = str_replace("Ψ", "\\u936\\'a8", $contratto); $contratto = str_replace("ψ", "\\u968\\'c8", $contratto); $contratto = str_replace("Ω", "\\u937\\'a9", $contratto); $contratto = str_replace("ω", "\\u969\\'c9", $contratto); $contratto = str_replace("Ά", "\\u902\\'86", $contratto); $contratto = str_replace("ά", "\\u940\\'ce", $contratto); $contratto = str_replace("Ό", "\\u908\\'8c", $contratto); $contratto = str_replace("ό", "\\u972\\'cf", $contratto); $contratto = str_replace("Ή", "\\u905\\'89", $contratto); $contratto = str_replace("ή", "\\u942\\'ce", $contratto); $contratto = str_replace("Ί", "\\u906\\'8a", $contratto); $contratto = str_replace("ί", "\\u943\\'ce", $contratto); $contratto = str_replace("Ύ", "\\u910\\'8e", $contratto); $contratto = str_replace("ύ", "\\u973\\'cf", $contratto); $contratto = str_replace("Ώ", "\\u911\\'8f", $contratto); $contratto = str_replace("ώ", "\\u974\\'cf", $contratto); $contratto = str_replace("Έ", "\\u904\\'88", $contratto); $contratto = str_replace("έ", "\\u941\\'ce", $contratto); $contratto = str_replace("ý", "\\u253\\'fd", $contratto); $contratto = str_replace("ž", "\\u382\\'9e", $contratto); $contratto = str_replace("ř", "\\u345\\'3f", $contratto); $contratto = str_replace("č", "\\u269\\'3f", $contratto); $contratto = str_replace("š", "\\u353\\'9a", $contratto); $contratto = str_replace("ě", "\\u283\\'3f", $contratto); $contratto = str_replace("ů", "\\u367\\'3f", $contratto); $contratto = str_replace("Ý", "\\u221\\'dd", $contratto); $contratto = str_replace("Ž", "\\u381\\'8e", $contratto); $contratto = str_replace("Ř", "\\u344\\'3f", $contratto); $contratto = str_replace("Č", "\\u268\\'3f", $contratto); $contratto = str_replace("Š", "\\u352\\'8a", $contratto); $contratto = str_replace("Ě", "\\u282\\'3f", $contratto); $contratto = str_replace("Ů", "\\u366\\'3f", $contratto); } # fine if ($tipo_contratto == "contrrtf") if ($filecontr and !$ripeti_tutto and !$messaggio_di_errore) { if ($incr_np) { if ($numero_progressivo_documento > $num_prog_contr[1] + 1) { $val_if = $numero_progressivo_documento - 1; for ($num1 = strlen($val_if); $num1 < 5; $num1++) { $val_if = "0" . $val_if; } $nome_file_contr[1] = str_replace(" ", "-{$val_if}", $nome_file_contr[1]); } else { $nome_file_contr[1] = str_replace(" ", "", $nome_file_contr[1]); } if ($nomi_contratti['compress'][$numero_contratto]) { $nome_file_contr[1] .= ".gz"; $lock_compress[1] = crea_lock_file($nome_file_contr[1]); $filecontr[1] = gzopen($dir_salva . "/" . $nome_file_contr[1], "wb9"); } else { $filecontr[1] = fopen($dir_salva . "/" . $nome_file_contr[1], "w+"); flock($filecontr[1], 2); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } # fine if ($incr_np) if ($nomi_contratti['compress'][$numero_contratto]) { gzwrite($filecontr[1], $contratto); gzclose($filecontr[1]); distruggi_lock_file($lock_compress[1], $nome_file_contr[1]); } else { fwrite($filecontr[1], $contratto); flock($filecontr[1], 3); fclose($filecontr[1]); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } # fine if ($filecontr and !$ripeti_tutto and !$messaggio_di_errore) if ($incr_np) { flock($filelock, 3); fclose($filelock); unlink(C_DATA_PATH . "/crea_contr.lock"); } # fine if ($incr_np) return $contratto; }