<?php

##################################################################################
#    PHP-RESIDENCE
#    Copyright (C) 2001-2009 by Marco Maria Francesco De Santis (marco@digitaldruid.net)
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU Affero General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    any later version accepted by Marco Maria Francesco De Santis, which
#    shall act as a proxy as defined in Section 14 of version 3 of the
#    license.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU Affero General Public License for more details.
#
#    You should have received a copy of the GNU Affero General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
##################################################################################



function trova_codice_rel ($rel,&$rel_esist,$rel_sing,$rel_plur,$tablerel,$tablerelutenti,$id_utente) {
if (strcmp($rel,"")) {
if (!$rel_esist['e'][$rel_sing][$rel]) {
$cod = esegui_query("select distinct $tablerel.codice_$rel_sing from $tablerelutenti inner join $tablerel on $tablerelutenti.id$rel_sing = $tablerel.id$rel_plur where $tablerelutenti.idutente = '$id_utente' and $tablerel.nome_$rel_sing = '".aggslashdb($rel)."'");
if (numlin_query($cod)) $cod = risul_query($cod,0,"codice_$rel_sing",$tablerel);
else $cod = "";
$rel_esist['e'][$rel_sing][$rel] = 1;
$rel_esist[$rel_sing][$rel] = $cod;
} # fine if (!$rel_esist['e'][$rel_sing][$rel])
else $cod = $rel_esist[$rel_sing][$rel];
} # fine if (strcmp($rel,""))
return $cod;
} # fine function trova_codice_rel


function formatta_data_contr ($data,$stile_data) {
global $cache_date_contr;
if (!$cache_date_contr[$data]) $cache_date_contr[$data] = formatta_data($data,$stile_data);
return $cache_date_contr[$data];
} # fine function formatta_data_contr



function crea_contratto ($numero_contratto,&$tipo_contratto,$id_utente,$id_sessione,$origine,$origine_vecchia) {

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,$tablerelutenti,$tablenazioni,$tableregioni,$tablecitta,$tabledocumentiid,$tableparentele;
global $data_inizio_selezione,$data_fine_selezione,$var_riserv;
$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++) global ${$var_predef[$num1]."_".$n_r};
if (!$data_inizio_selezione_orig and (!$data_inizio_selezione or ${"data_inizio_".$n_r} < $data_inizio_selezione)) $data_inizio_selezione = ${"data_inizio_".$n_r};
if (!$data_fine_selezione_orig and (!$data_fine_selezione or ${"data_fine_".$n_r} > $data_fine_selezione)) $data_fine_selezione = ${"data_fine_".$n_r};
} # fine for $n_r

$stile_soldi = stile_soldi();
$stile_data = stile_data();

$data_inizio_selezione_orig = $data_inizio_selezione;
$data_fine_selezione_orig = $data_fine_selezione;
if ($data_inizio_selezione) $data_inizio_selezione = formatta_data_contr($data_inizio_selezione,$stile_data);
if ($data_fine_selezione) $data_fine_selezione = formatta_data_contr($data_fine_selezione,$stile_data);
$ritorno_a_capo = "\r";
$avanzamento_riga = "\n";
$nome_valuta = nome_valuta();
$oggi = formatta_data_contr(date("Y-m-d",(time() + (C_DIFF_ORE * 3600))),$stile_data);
$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];
$nome_struttura = $nome_struttura[0];

$variabili = esegui_query("select * from $tablecontratti where tipo = 'var' or tipo = 'var$numero_contratto' order by tipo, numero");
$num_variabili = numlin_query($variabili);
$arrays = esegui_query("select * from $tablecontratti where tipo = 'vett' or tipo = 'vett$numero_contratto' order by tipo, numero");
$num_arrays = numlin_query($arrays);
$condizioni_ini_d = esegui_query("select * from $tablecontratti where (tipo = 'cond' or tipo = 'cond$numero_contratto') 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$numero_contratto') 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$numero_contratto') 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 = risul_query($dir_salva,0,'testo');
if ($dir_salva == "~") {
if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") {
if (C_CARTELLA_DOC != "" and @is_dir(C_CARTELLA_CREA_MODELLI."/".C_CARTELLA_DOC)) $dir_salva = C_CARTELLA_DOC;
else $dir_salva = "";
} # fine if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "")
else $dir_salva = "./dati";
} # fine if ($dir_salva == "~")
if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") $dir_salva = C_CARTELLA_CREA_MODELLI."/".str_replace("..","",$dir_salva);
if (!@is_dir($dir_salva)) $dir_salva = "";
} # fine if (numlin_query($dir_salva) == 1)
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');

if ($tipo_contratto == "contrhtm") {
$tag_b = "<b>";
$tag_no_b = "</b>";
$tag_spazio = "&nbsp;";
$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)
$mittente_email = esegui_query("select * from $tablepersonalizza where idpersonalizza = 'dati_struttura' and idutente = '$id_utente'");
$mittente_email = explode("#@&",risul_query($mittente_email,0,'valpersonalizza'));
$mittente_email = $mittente_email[2];
} # fine if ($tipo_contratto == "contreml")
unset($tablepersonalizza);
unset($tablecontratti);
unset($id_utente);


if (str_replace("[r]","",$contratto_orig) == $contratto_orig) $ripeti_tutto = 1;
else $ripeti_tutto = 0;


$nome_file_contr = "";
$filecontr = "";
$num_prog_contr = "";
if ($dir_salva) {
global $nome_contratto,$num_contr_esist,$nome_file_contr_esist,$cont_salva,$lista_var_form,$num_file_salva,$sovrascrivi;
if (get_magic_quotes_gpc()) $sovrascrivi = stripslashes($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("./dati/selectperiodi$anno_corr.1.php")) $anno_corr = $anno;

$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($dir_salva."/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";
$num_contr_esist = 0;
$nome_file_contr_esist = "";
$n_prog_contr = 0;
$num_sovrascrivi = 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) {
$resto_nome_contr = substr($contr_corr,strlen($nome_contratto));
if (substr($resto_nome_contr,0,6) == "_$anno"."_" or substr($resto_nome_contr,0,6) == "_$anno_corr"."_") {
if (ereg_replace("_[0-9]{4,4}_[0-9]{5,5}(_[0-9]+(-[0-9]+)?)*\.$suff_file","",$resto_nome_contr) == "") {
$n_contr_corr = substr($resto_nome_contr,6,5);
if ($n_contr_corr > $n_prog_contr and substr($resto_nome_contr,0,5) == "_$anno_corr") $n_prog_contr = $n_contr_corr;

if (!$cont_salva and $lista_var_form) {
$num_pren_esist = substr($resto_nome_contr,12);
$num_pren_esist = substr($num_pren_esist,0,(-1 * (strlen($suff_file) + 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 == ${"numero_prenotazione_".$num3}) {
$num_contr_esist++;
$nome_file_contr_esist[$num_contr_esist] = $contr_corr;
if ($contr_corr == $sovrascrivi and $num_file_salva == 1) {
$num_sovrascrivi = $n_contr_corr;
$anno_corr = substr($resto_nome_contr,1,4);
unlink($dir_salva."/".$contr_corr);
} # fine if ($contr_corr == $sovrascrivi and...
break 3;
} # fine if ($num2 == ${"numero_prenotazione_".$num3})
} # fine for $num3
} # fine for $num2
} # fine for $num1
} # fine if ($num_pren_esist)
} # fine if (!$cont_salva and $lista_var_form)

} # fine if (ereg_replace("_[0-9]{4,4}_[0-9]{5,5}\.$suff_file","",$resto_nome_contr) == "")
} # fine if (substr($resto_nome_contr,0,6) == "_$anno"."_" or...
} # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto)
} # fine if ($contr_corr != "." and $contr_corr != ".." and...
} # fine while ($fattura_corr = readdir($fatture_dir))
closedir($contr_dir);

if ($num_sovrascrivi) {
$num_contr_esist = 0;
$n_prog_contr = ($num_sovrascrivi - 1);
} # fine if ($num_sovrascrivi)

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 ($ripeti_tutto) {
if (${"numero_prenotazione_".$num1} and ereg_replace("[0-9]+","",${"numero_prenotazione_".$num1}) == "") $nome_file_contr[$num1] .= "_".${"numero_prenotazione_".$num1};
} # fine if ($ripeti_tutto)
else {
unset($lista_num_prenota);
for ($num2 = 1 ; $num2 <= $num_ripeti ; $num2++) {
if (${"numero_prenotazione_".$num1} and ereg_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);
} # fine if ($ultimo_num_prenota < 0)
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."_";
} # fine (($num_prenota - 1) != $ultimo_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";
$filecontr[$num1] = fopen($dir_salva."/".$nome_file_contr[$num1],"w+");
flock($filecontr[$num1],2);
} # fine for $num1
flock($filelock,3);
fclose($filelock);
unlink($dir_salva."/crea_contr.lock");
} # fine if ($dir_salva)


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

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]);
} # fine if ($condizione_vett[$num1][1])
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]);
} # fine if ($condizione_vett[$num1][1])
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]);
} # fine if ($condizione_vett[$num1][1])
else $condizione_vett[$num1] = "";
} # fine for $num1

$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);
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 (ereg("\\[c +[A-Za-z]+[A-Za-z0-9_]* *!?= *\"[^\"]*\" *\\]",$contratto_orig)) {
$contr_vett = split("\\[c +[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 = 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 = split(" *!?= *\"",ereg_replace("^\\[c +","",$condizione));
$var_if = trim($val_if[0]);
if ($trad_var_vett[$var_if]) $var_if = $trad_var_vett[$var_if];
$val_if = $val_if[1];
if (ereg("!= *\"",$condizione)) $condizione = "[[c] $var_if!=\"$val_if\"]";
else $condizione = "[[c] $var_if=\"$val_if\"]";
$contratto_orig .= $condizione;
$contratto_orig .= $contr_parziale;
} # fine while (ereg("\\[c [A-Za-z]+[A-Za-z0-9_]*=\"[^\"]*\"\\]",$contratto_orig))
$contratto_orig = str_replace("[[c] ","[c ",$contratto_orig);
unset($trad_var_vett);


if ($tipo_contratto == "contreml") {
$contratto .= "<form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div><br>
<input type=\"hidden\" name=\"anno\" value=\"$anno\">
<input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\">
<input type=\"hidden\" name=\"numero_contratto\" value=\"$numero_contratto\">
<input type=\"hidden\" name=\"origine\" value=\"".htmlspecialchars($origine)."\">
<input type=\"hidden\" name=\"origine_vecchia\" value=\"".htmlspecialchars($origine_vecchia)."\">
<input type=\"hidden\" name=\"manda_mail\" value=\"SI\">";
if ($ripeti_tutto) $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"$num_ripeti\">";
else {
$gia_inv = 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) {
$gia_inv = 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 ($gia_inv) $contratto .= "<br>";
$contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"1\">
<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\">
".mex("A",$pag).":</td><td>
<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\">
".mex("Oggetto",$pag).":</td><td>
<input type=\"text\" name=\"oggetto_email1\" size=\"60\" value=\"$oggetto_email\"></td></tr>";
if ($allegato_email) {
$contratto .= "<tr><td></td><td><input type=\"checkbox\" name=\"allega1\" value=\"SI\" checked>
".mex("Allega",$pag)." <b>$allegato_email</b></td></tr>";
} # fine if ($allegato_email)
$contratto .= "<tr><td style=\"height: 3px;\"></td></tr></table>
&nbsp;&nbsp;<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 ($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 ($val_then == "data_inizio" or $val_then == "data_fine" or $val_then == "data_nascita" or $val_then == "data_nascita_ospite") $val_then = formatta_data_contr($$val_then,$stile_data);
else $val_then = $$val_then;
} # fine if (substr($val_then,-1) != ")")
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)]}];
} # fine if ($azione[2] == ".=")
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 (strlen($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 (strlen($var_da_assegnare) < $azione[2])
} # fine if (strcmp($azione[3],""))
if (substr($azione[1],0,1) != "a") ${$variabile[$azione[1]]} = substr($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)]}] = substr($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)};
} # fine if (substr($var_da_oper,-1) != ")")
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)};
} # fine if (substr($var_da_oper2,-1) != ")")
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);
} # fine if (substr($azione[1],0,1) != "a")
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);
} # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
} # fine if ($cont_oper != "NO")
} # fine if ($azione[0] == "oper")

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)];
unset($$nome_arr);
if ($azione[2] == "val") {
$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" and $data_inizio_selezione and $data_fine_selezione) {
$array_date_contr[$nome_arr] = "SI";
$data_corr_arr = $data_inizio_selezione_orig;
$num2 = 1;
${$nome_arr}[$num2] = $data_corr_arr;
while ($data_corr_arr != $data_fine_selezione_orig) {
$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 != $data_fine_selezione_orig)
} # fine if ($azione[2] == "dat" and...
} # 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";
$num_parti0_contr = 1;
} # fine if ($ripeti_tutto)
else {
$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 = explode("\"]",substr($parte,10));
if (strcmp($parte[0],"")) {
if (!strcmp(ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parte[0]),"")) $apertura = "r4 array=\"".$parte[0]."\"";
} # fine if (strcmp($parte[0],""))
} # fine if (substr($parte,0,10) == "r4 array=\"")
if (substr($parte,0,3) == "/r]") $chiusura = "r";
if (substr($parte,0,4) == "/r4]") $chiusura = "r4";
if ($apertura) {
$livello++;
if ($livello == 1 and substr($apertura,0,2) == "r4") {
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);
} # fine if ($livello == 1 and substr($apertura,0,2) == "r4")
else $apertura = "";
} # fine ($apertura)
if ($chiusura) {
if ($livello == 1 and $chiusura == "r4") {
if (strcmp($contratto_presente,"")) {
$num_parti0_contr++;
$contratto_parte0[$num_parti0_contr] = $contratto_presente;
$ripeti_parte0[$num_parti0_contr] = "SI";
$arr_parte0[$num_parti0_contr] = $var_arr_presente;
} # fine if (strcmp($contratto_presente,""))
$contratto_presente = substr($contratto_vett[$num1],(strlen($chiusura) + 2));
} # fine if ($livello == 1 and $chiusura == "r4")
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 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) {
$contratto_parte[1] = $contratto_orig0;
if ($ripeti_tutto) $ripeti_parte[1] = "SI";
else $ripeti_parte[1] = "NO";
$num_parti_contr = 1;
} # fine if (str_replace("[r]","",$contratto_orig0) == $contratto_orig0)
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)


if ($ripeti_parte0[$n_p0] == "NO") $num_ripeti0 = 1;
else {
if (@is_array(${$arr_parte0[$n_p0]})) {
$num_ripeti0 = count(${$arr_parte0[$n_p0]});
reset(${$arr_parte0[$n_p0]});
} # fine if (@is_array(${$arr_parte0[$n_p0]}))
else $num_ripeti0 = 0;
} # fine else if ($ripeti_parte0[$n_p0] == "NO")

# ripetizione n_r0: ripetere parte del contratto se esternamente c'è una ripetizione di array
for ($n_r0 = 1 ; $n_r0 <= $num_ripeti0 ; $n_r0++) {

$ripeti_prenota_data = "";
if ($ripeti_parte0[$n_p0] != "NO") {
${$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 ($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_1 = 0;
$caparra_somma_ripetizioni_1 = 0;
$resto_caparra_somma_ripetizioni_1 = 0;
$pagato_somma_ripetizioni_1 = 0;
$resto_da_pagare_somma_ripetizioni_1 = 0;
$num_persone_tot_somma_ripetizioni_1 = 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 ($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 ($val_then == "data_inizio" or $val_then == "data_fine" or $val_then == "data_nascita" or $val_then == "data_nascita_ospite") $val_then = formatta_data_contr($$val_then,$stile_data);
else $val_then = $$val_then;
} # fine if (substr($val_then,-1) != ")")
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)]}];
} # fine if ($azione[2] == ".=")
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 (strlen($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 (strlen($var_da_assegnare) < $azione[2])
} # fine if (strcmp($azione[3],""))
if (substr($azione[1],0,1) != "a") ${$variabile[$azione[1]]} = substr($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)]}] = substr($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)};
} # fine if (substr($var_da_oper,-1) != ")")
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)};
} # fine if (substr($var_da_oper2,-1) != ")")
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);
} # fine if (substr($azione[1],0,1) != "a")
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);
} # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
} # fine if ($cont_oper != "NO")
} # fine if ($azione[0] == "oper")

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)];
unset($$nome_arr);
if ($azione[2] == "val") {
$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" and $data_inizio_selezione and $data_fine_selezione) {
$array_date_contr[$nome_arr] = "SI";
$data_corr_arr = $data_inizio_selezione_orig;
$num2 = 1;
${$nome_arr}[$num2] = $data_corr_arr;
while ($data_corr_arr != $data_fine_selezione_orig) {
$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 != $data_fine_selezione_orig)
} # fine if ($azione[2] == "dat" and...
} # 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) {
if (!$ripeti_tutto) $numero_progressivo_documento = $num_prog_contr[1];
else $numero_progressivo_documento = $num_prog_contr[$n_r];
} # fine if ($dir_salva)

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;
$n_tariffa_selez = "n_tariffa_selez".$tariffa_selezionata."_".$n_r;
global $$n_tariffa_selez;
if ($$n_tariffa_selez) $nome_tariffa = $$n_tariffa_selez;
$cap_tariffa_selez = "cap_tariffa_selez".$tariffa_selezionata."_".$n_r;
global $$cap_tariffa_selez;
if ($$cap_tariffa_selez) $caparra = $$cap_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;
$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;
global $$nome_costo_agg_tsel,$$val_costo_agg_tsel;
${"nome_costo_agg".$numca."_".$n_r} = $$nome_costo_agg_tsel;
${"val_costo_agg".$numca."_".$n_r} = $$val_costo_agg_tsel;
 } # fine for $numca
} # fine if ($$num_costi_aggiuntivi_tsel)
} # fine if ($tariffa_selezionata)

$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;
if (!$$nome_costo_agg and !$$val_costo_agg) global $$nome_costo_agg,$$val_costo_agg;
$nome_costo_agg = $$nome_costo_agg;
$val_costo_agg = $$val_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;
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;
} # 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;
$metodo_paga = "metodo_paga".$num1."_".$n_r;
global $$saldo_paga,$$data_paga,$$metodo_paga;
$data_paga_f = formatta_data_contr($$data_paga,$stile_data);
$saldo_paga_p = punti_in_num($$saldo_paga);
$tutti_i_pagamenti .= str_replace(" ","$tag_spazio",$data_paga_f."  ".$$saldo_paga."  ".$$metodo_paga)."$tag_acapo";
$tutti_i_pagamenti_p .= str_replace(" ","$tag_spazio",$data_paga_f."  ".$saldo_paga_p."  ".$$metodo_paga)."$tag_acapo";
} # fine for $num1
$valore_ultimo_pagamento = ${"saldo_paga".($num_pagamenti -1)."_".$n_r};
$valore_ultimo_pagamento_p = punti_in_num($valore_ultimo_pagamento);
$data_ultimo_pagamento = formatta_data_contr(${"data_paga".($num_pagamenti -1)."_".$n_r},$stile_data);
$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;
${"costo_tot_somma_ripetizioni_".($n_r + 1)} = $costo_tot_somma_ripetizioni;
${"caparra_somma_ripetizioni_".($n_r + 1)} = $caparra_somma_ripetizioni;
${"resto_caparra_somma_ripetizioni_".($n_r + 1)} = $resto_caparra_somma_ripetizioni;
${"pagato_somma_ripetizioni_".($n_r + 1)} = $pagato_somma_ripetizioni;
${"resto_da_pagare_somma_ripetizioni_".($n_r + 1)} = $resto_da_pagare_somma_ripetizioni;
${"num_persone_tot_somma_ripetizioni_".($n_r + 1)} = $num_persone_tot_somma_ripetizioni;

$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;
$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;
$commento_orig = $commento;
$origine_prenotazione_orig = $origine_prenotazione;
$appartamento_orig = $appartamento;
$app_assegnabili_orig = $app_assegnabili;
$pagato_orig = $pagato;
$costo_tot_orig = $costo_tot;
$n_letti_agg_orig = $n_letti_agg;
$numero_prenotazione_orig = $numero_prenotazione;

$codice_cittadinanza = trova_codice_rel($cittadinanza,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
$codice_nazione_nascita = trova_codice_rel($nazione_nascita,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
$codice_regione_nascita = trova_codice_rel($regione_nascita,$rel_esist,"regione","regioni",$tableregioni,$tablerelutenti,C_ID_UTENTE);
$codice_citta_nascita = trova_codice_rel($citta_nascita,$rel_esist,"citta","citta",$tablecitta,$tablerelutenti,C_ID_UTENTE);
$codice_nazione = trova_codice_rel($nazione,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
$codice_regione = trova_codice_rel($regione,$rel_esist,"regione","regioni",$tableregioni,$tablerelutenti,C_ID_UTENTE);
$codice_citta = trova_codice_rel($citta,$rel_esist,"citta","citta",$tablecitta,$tablerelutenti,C_ID_UTENTE);
$codice_tipo_documento = trova_codice_rel($tipo_documento,$rel_esist,"documentoid","documentiid",$tabledocumentiid,$tablerelutenti,C_ID_UTENTE);
$codice_citta_documento = trova_codice_rel($citta_documento,$rel_esist,"citta","citta",$tablecitta,$tablerelutenti,C_ID_UTENTE);
$codice_regione_documento = trova_codice_rel($regione_documento,$rel_esist,"regione","regioni",$tableregioni,$tablerelutenti,C_ID_UTENTE);
$codice_nazione_documento = trova_codice_rel($nazione_documento,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);


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) {
$contratto .= "".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})
$contratto .= "<table><tr><td align=\"right\">".mex("Da",$pag).":</td><td>";
if ($modifica_pers != "NO") $contratto .= "<input type=\"text\" name=\"mittente_email$n_r\" size=\"60\" value=\"$mittente_email\">";
else $contratto .= "<b>$mittente_email</b>";
$contratto .= "</td></tr><tr><td align=\"right\">
".mex("A",$pag).":</td><td>
<input type=\"text\" name=\"destinatario_email$n_r\" size=\"60\" value=\"".${"email_".$n_r}."\">
</td></tr><tr><td align=\"right\">
".mex("Oggetto",$pag).":</td><td>
<input type=\"text\" name=\"oggetto_email$n_r\" size=\"60\" value=\"$oggetto_email\"></td></tr>";
if ($allegato_email) {
$contratto .= "<tr><td></td><td><input type=\"checkbox\" name=\"allega$n_r\" value=\"SI\" checked>
".mex("Allega",$pag)." <b>$allegato_email</b></td></tr>";
} # fine if ($allegato_email)
$contratto .= "<tr><td style=\"height: 3px;\"></td></tr></table>
&nbsp;&nbsp;<textarea name=\"testo_email$n_r\" rows=32 cols=90>";
} # fine if ($tipo_contratto == "contreml" and $ripeti_tutto)


# Ripetizioni per gli ospiti, costi aggiuntivi e array 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 !ereg("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_parte[$n_p])) {
$contratto_parte2[1] = $contratto_parte[$n_p];
$ripeti_parte2[1] = "NO";
$num_parti2_contr = 1;
} # fine if (str_replace("[r2]","",$contratto_parte[$n_p]) == $contratto_parte[$n_p] and...
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 ereg("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_restante)) {
$contr_vett2 = explode("[r2]",$contratto_restante);
$contr_vett3 = explode("[r3]",$contratto_restante);
$contr_vett4 = split("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_restante);
if (strlen($contr_vett2[0]) > strlen($contr_vett4[0]) and strlen($contr_vett3[0]) > strlen($contr_vett4[0])) {
$contr_vett = $contr_vett4;
$tipo_contr_vett = 4;
} # fine if (strlen($contr_vett2[0]) > strlen($contr_vett4[0]) and...
else {
if (strlen($contr_vett2[0]) > strlen($contr_vett3[0])) {
$contr_vett = $contr_vett3;
$tipo_contr_vett = 3;
} # fine if (strlen($contr_vett2[0]) > strlen($contr_vett3[0]))
else {
$contr_vett = $contr_vett2;
$tipo_contr_vett = 2;
} # fine else if (strlen($contr_vett2[0]) > strlen($contr_vett3[0]))
} # fine else if (strlen($contr_vett2[0]) > strlen($contr_vett4[0]) and...
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\"]"));
} # fine if ($tipo_contr_vett == 4)
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])

# 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]});
} # fine if (@is_array(${$arr_parte2[$n_p2]}))
else $num_ripeti2 = 0;
} # fine if ($tipo_parte2[$n_p2] == 4)
} # fine else if ($ripeti_parte2[$n_p2] != "SI")

# ripetizione n_r2: se c'è da ripetere la parte del contratto per ospiti, costi agg o array interni
for ($n_r2 = 1 ; $n_r2 <= $num_ripeti2 ; $n_r2++) {

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",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
$codice_parentela_ospite = trova_codice_rel($parentela_ospite,$rel_esist,"parentela","parentele",$tableparentele,$tablerelutenti,C_ID_UTENTE);
$codice_nazione_nascita_ospite = trova_codice_rel($nazione_nascita_ospite,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
$codice_regione_nascita_ospite = trova_codice_rel($regione_nascita_ospite,$rel_esist,"regione","regioni",$tableregioni,$tablerelutenti,C_ID_UTENTE);
$codice_citta_nascita_ospite = trova_codice_rel($citta_nascita_ospite,$rel_esist,"citta","citta",$tablecitta,$tablerelutenti,C_ID_UTENTE);
$codice_nazione_ospite = trova_codice_rel($nazione_ospite,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
$codice_regione_ospite = trova_codice_rel($regione_ospite,$rel_esist,"regione","regioni",$tableregioni,$tablerelutenti,C_ID_UTENTE);
$codice_citta_ospite = trova_codice_rel($citta_ospite,$rel_esist,"citta","citta",$tablecitta,$tablerelutenti,C_ID_UTENTE);
$codice_tipo_documento_ospite = trova_codice_rel($tipo_documento_ospite,$rel_esist,"documentoid","documentiid",$tabledocumentiid,$tablerelutenti,C_ID_UTENTE);
$codice_citta_documento_ospite = trova_codice_rel($citta_documento_ospite,$rel_esist,"citta","citta",$tablecitta,$tablerelutenti,C_ID_UTENTE);
$codice_regione_documento_ospite = trova_codice_rel($regione_documento_ospite,$rel_esist,"regione","regioni",$tableregioni,$tablerelutenti,C_ID_UTENTE);
$codice_nazione_documento_ospite = trova_codice_rel($nazione_documento_ospite,$rel_esist,"nazione","nazioni",$tablenazioni,$tablerelutenti,C_ID_UTENTE);
} # fine if ($tipo_parte2[$n_p2] == 2)

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;
$nome_costo_agg = $$nome_costo_agg;
$valore_costo_agg = $$val_costo_agg;
$valore_costo_agg_p = punti_in_num($valore_costo_agg,$stile_soldi);
} # fine if ($tipo_parte2[$n_p2] == 3)
else {
$nome_costo_agg = "";
$valore_costo_agg = 0;
} # 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)

} # fine if ($ripeti_parte2[$n_p2] == "SI")

else {
$nome_costo_agg = "";
$valore_costo_agg = 0;
} # fine if else ($ripeti_parte2[$n_p2] == "SI")


#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 ($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 ($val_then == "data_inizio" or $val_then == "data_fine" or $val_then == "data_nascita" or $val_then == "data_nascita_ospite") $val_then = formatta_data_contr($$val_then,$stile_data);
else $val_then = $$val_then;
} # fine if (substr($val_then,-1) != ")")
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)]}];
} # fine if ($azione[2] == ".=")
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 (strlen($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 (strlen($var_da_assegnare) < $azione[2])
} # fine if (strcmp($azione[3],""))
if (substr($azione[1],0,1) != "a") ${$variabile[$azione[1]]} = substr($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)]}] = substr($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)};
} # fine if (substr($var_da_oper,-1) != ")")
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)};
} # fine if (substr($var_da_oper2,-1) != ")")
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);
} # fine if (substr($azione[1],0,1) != "a")
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);
} # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},""))
} # fine if ($cont_oper != "NO")
} # fine if ($azione[0] == "oper")

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)];
unset($$nome_arr);
if ($azione[2] == "val") {
$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" and $data_inizio_selezione and $data_fine_selezione) {
$array_date_contr[$nome_arr] = "SI";
$data_corr_arr = $data_inizio_selezione_orig;
$num2 = 1;
${$nome_arr}[$num2] = $data_corr_arr;
while ($data_corr_arr != $data_fine_selezione_orig) {
$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 != $data_fine_selezione_orig)
} # fine if ($azione[2] == "dat" and...
} # 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 (ereg("\\[c +[A-Za-z]+[A-Za-z0-9_]* *!?= *\"[^\"]*\" *\\]",$contratto_corr)) {
$contr_vett = split("\\[c +[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 = split("\" *\\]",$contr_parziale,2);
$condizione = $condizione[0];
$val_if = split(" *!?= *\"",ereg_replace("^\\[c +","",$condizione));
$var_if = trim($val_if[0]);
$val_if = $val_if[1];
if (ereg("!= *\"",$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 $$var_if == $val_if) $contratto_corr .= $contr_vett[0];
if ($cond == "!=" and $$var_if != $val_if) $contratto_corr .= $contr_vett[0];
$contratto_corr .= $contr_parziale;
} # fine while (ereg("\\[c [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 (!$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) $via2 = mex("via",$pag)." $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 and $caparra) {
$resto_caparra = $costo_tot - $caparra;
$resto_caparra_p = punti_in_num($resto_caparra,$stile_soldi);
} # fine if ($costo_tot and $caparra)
else {
$resto_caparra = "$tag_b"."_____________$tag_no_b";
$resto_caparra_p = "$tag_b"."_____________$tag_no_b";
} # fine else if ($costo_tot and $caparra)
if (!$caparra or $caparra == 0) {
$caparra = "$tag_b"."___________$tag_no_b";
$caparra_p = "$tag_b"."___________$tag_no_b";
} # fine if (!$caparra or $caparra == 0)
else $caparra_p = punti_in_num($caparra,$stile_soldi);
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)
else {
$resto_da_pagare = "$tag_b"."_____________$tag_no_b";
$resto_da_pagare_p = "$tag_b"."_____________$tag_no_b";
} # fine else 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";
} # fine if (!$costo_tariffa)
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";
} # fine if (!$sconto)
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 (!$appartamento) $appartamento = "$tag_b"."____$tag_no_b";
if (!$app_assegnabili) $app_assegnabili = "$tag_b"."_________________$tag_no_b";
if (!$pagato) {
$pagato = "$tag_b"."_____________$tag_no_b";
$pagato_p = "$tag_b"."_____________$tag_no_b";
} # fine if (!$pagato)
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";
} # fine if (!$costo_tot)
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) $via2_ospite = mex("via",$pag)." $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 ereg_replace("[A-Za-z]","",$lettera) == "") {
$num2 = 1;
$lettere_var = $lettera;
while (ereg_replace("[A-Za-z0-9\(\)_]","SI",$lettera) == "SI") {
$lettera = (string) substr($resto_contr,$num2,1);
if ($lettera == "]") {
if (str_replace("(","",str_replace(")","",$lettere_var)) == $lettere_var) $contratto_r = str_replace("[".$lettere_var."]",${$lettere_var},$contratto_r);
else {
$parti_arr = explode("(",substr($lettere_var,0,-1));
if (ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parti_arr[0]) == "" and ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parti_arr[1]) == "") {
if ($array_date_contr[$parti_arr[0]] == "SI") $contratto_r = str_replace("[".$lettere_var."]",formatta_data_contr(${$parti_arr[0]}[${$parti_arr[1]}],$stile_data),$contratto_r);
else $contratto_r = str_replace("[".$lettere_var."]",${$parti_arr[0]}[${$parti_arr[1]}],$contratto_r);
} # fine if (ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parti_arr[0]) == "" and...
} # fine else if (str_replace("(","",str_replace(")","",$lettere_var)) == $lettere_var)
} # fine if ($lettera == "]")
$lettere_var .= $lettera;
$num2++;
} # fine while (ereg_replace("[A-Za-z0-9]","SI",$lettera) == "SI")
} # fine ($lettera and ereg_replace("[A-Za-z]","",$lettera) == "")
} # fine for $num1
$contratto .= $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;
$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;
$commento = $commento_orig;
$origine_prenotazione = $origine_prenotazione_orig;
$appartamento = $appartamento_orig;
$app_assegnabili = $app_assegnabili_orig;
$pagato = $pagato_orig;
$costo_tot = $costo_tot_orig;
$n_letti_agg = $n_letti_agg_orig;
$numero_prenotazione = $numero_prenotazione_orig;

$cognome_ospite = "";

} # fine for $n_r2
} # fine for $n_p2


if ($tipo_contratto == "contreml" and $ripeti_tutto) {
$contratto .= "</textarea><br>
<table><tr><td style=\"height: 3px;\"></td></tr></table>
<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">";
} # fine if ($tipo_contratto == "contreml" and $ripeti_tutto)

if ($filecontr and $ripeti_tutto) {
if ($tipo_contratto == "contrrtf") {
$contratto = str_replace("&quot;","\"",$contratto);
$contratto = str_replace("&#039;","'",$contratto);
$contratto = str_replace("&lt;","<",$contratto);
$contratto = str_replace("&gt;",">",$contratto);
$contratto = str_replace("&amp;","&",$contratto);
$contratto = str_replace("ñ","\'f1",$contratto);
$contratto = str_replace("à","\'e0",$contratto);
$contratto = str_replace("è","\'e8",$contratto);
$contratto = str_replace("ì","\'ec",$contratto);
$contratto = str_replace("ò","\'f2",$contratto);
$contratto = str_replace("ù","\'f9",$contratto);
$contratto = str_replace("á","\'e1",$contratto);
$contratto = str_replace("é","\'e9",$contratto);
$contratto = str_replace("í","\'ed",$contratto);
$contratto = str_replace("ó","\'f3",$contratto);
$contratto = str_replace("ú","\'fa",$contratto);
$contratto = str_replace("ä","\'e4",$contratto);
$contratto = str_replace("ö","\'f6",$contratto);
$contratto = str_replace("ü","\'fc",$contratto);
$contratto = str_replace("ß","\'df",$contratto);
$contratto = str_replace("ç","\'e7",$contratto);
} # fine if ($tipo_contratto == "contrrtf")
fwrite($filecontr[$n_r],$contratto);
flock($filecontr[$n_r],3);
fclose($filecontr[$n_r]);
$contratto = "";
} # fine if ($filecontr and $ripeti_tutto)

} # fine if (!$ripeti_prenota_data or...
} # fine for $n_r

} # fine if ($ripeti_parte[$n_p] == "SI")


# Parti del documento non ripetute con le prenotazioni
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) {
if (!$ripeti_tutto) $numero_progressivo_documento = $num_prog_contr[1];
else $numero_progressivo_documento = $num_prog_contr[$n_r];
} # fine if ($dir_salva)


# Ripetizioni degli array all'interno delle parti non ripetute con le prenotazioni
unset($contratto_parte2);
if (!ereg("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_parte[$n_p])) {
$contratto_parte2[1] = $contratto_parte[$n_p];
$ripeti_parte2[1] = "NO";
$num_parti2_contr = 1;
} # fine if (str_replace("[r2]","",$contratto_parte[$n_p]) == $contratto_parte[$n_p] and...
else {
$num_parti2_contr = 0;
$contratto_restante = $contratto_parte[$n_p];
while (ereg("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_restante)) {
$contr_vett = split("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_restante);
$tipo_contr_vett = 4;
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\"]"));
} # fine if ($tipo_contr_vett == 4)
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 (ereg("\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]",$contratto_restante))
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])

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]});
} # fine if (@is_array(${$arr_parte2[$n_p2]}))
else $num_ripeti2 = 0;
} # fine if ($tipo_parte2[$n_p2] == 4)
} # 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)
} # fine if ($ripeti_parte2[$n_p2] == "SI")


$contratto_corr = $contratto_parte2[$n_p2];
while (ereg("\\[c +[A-Za-z]+[A-Za-z0-9_]* *!?= *\"[^\"]*\" *\\]",$contratto_corr)) {
$contr_vett = split("[c +[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 = split("\" *\\]",$contr_parziale,2);
$condizione = $condizione[0];
$val_if = split(" *!?= *\"",ereg_replace("^\\[c +","",$condizione));
$var_if = trim($val_if[0]);
$val_if = $val_if[1];
if (ereg("!= *\"",$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 $$var_if == $val_if) $contratto_corr .= $contr_vett[0];
if ($cond == "!=" and $$var_if != $val_if) $contratto_corr .= $contr_vett[0];
$contratto_corr .= $contr_parziale;
} # fine while (ereg("\\[c [A-Za-z]+[A-Za-z0-9_]*=\"[^\"]*\"\\]",$contratto_corr))


$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 ereg_replace("[A-Za-z]","",$lettera) == "") {
$num2 = 1;
$lettere_var = $lettera;
while (ereg_replace("[A-Za-z0-9\(\)_]","SI",$lettera) == "SI") {
$lettera = (string) substr($resto_contr,$num2,1);
if ($lettera == "]") {
if (str_replace("(","",str_replace(")","",$lettere_var)) == $lettere_var) $contratto_r = str_replace("[".$lettere_var."]",${$lettere_var},$contratto_r);
else {
$parti_arr = explode("(",substr($lettere_var,0,-1));
if (ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parti_arr[0]) == "" and ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parti_arr[1]) == "") {
if ($array_date_contr[$parti_arr[0]] == "SI") $contratto_r = str_replace("[".$lettere_var."]",formatta_data_contr(${$parti_arr[0]}[${$parti_arr[1]}],$stile_data),$contratto_r);
else $contratto_r = str_replace("[".$lettere_var."]",${$parti_arr[0]}[${$parti_arr[1]}],$contratto_r);
} # fine if (ereg_replace("[A-Za-z]+[A-Za-z0-9_]*","",$parti_arr[0]) == "" and...
} # fine else if (str_replace("(","",str_replace(")","",$lettere_var)) == $lettere_var)
} # fine if ($lettera == "]")
$lettere_var .= $lettera;
$num2++;
} # fine while (ereg_replace("[A-Za-z0-9\(\)_]","SI",$lettera) == "SI")
} # fine ($lettera and ereg_replace("[A-Za-z]","",$lettera) == "")
} # fine for $num1
$contratto .= $contratto_r;

} # 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>
</table><table><tr><td style=\"height: 3px;\"></td></tr></table>
<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">";
} # fine if (!$ripeti_tutto)
$contratto .= "&nbsp;&nbsp;<input class=\"sbutton\" id=\"inse\" type=\"submit\" value=\"".mex("Spedisci",$pag)."\">
</div></form>";
} # fine if ($tipo_contratto == "contreml")

if ($tipo_contratto == "contrrtf") {
$contratto = str_replace("&quot;","\"",$contratto);
$contratto = str_replace("&#039;","'",$contratto);
$contratto = str_replace("&lt;","<",$contratto);
$contratto = str_replace("&gt;",">",$contratto);
$contratto = str_replace("&amp;","&",$contratto);
$contratto = str_replace("ñ","\'f1",$contratto);
$contratto = str_replace("à","\'e0",$contratto);
$contratto = str_replace("è","\'e8",$contratto);
$contratto = str_replace("ì","\'ec",$contratto);
$contratto = str_replace("ò","\'f2",$contratto);
$contratto = str_replace("ù","\'f9",$contratto);
$contratto = str_replace("á","\'e1",$contratto);
$contratto = str_replace("é","\'e9",$contratto);
$contratto = str_replace("í","\'ed",$contratto);
$contratto = str_replace("ó","\'f3",$contratto);
$contratto = str_replace("ú","\'fa",$contratto);
$contratto = str_replace("ä","\'e4",$contratto);
$contratto = str_replace("ö","\'f6",$contratto);
$contratto = str_replace("ü","\'fc",$contratto);
$contratto = str_replace("ß","\'df",$contratto);
$contratto = str_replace("ç","\'e7",$contratto);
} # fine if ($tipo_contratto == "contrrtf")


if ($filecontr and !$ripeti_tutto) {
fwrite($filecontr[1],$contratto);
flock($filecontr[1],3);
fclose($filecontr[1]);
} # fine if ($filecontr and !$ripeti_tutto)


return $contratto;

} # fine function crea_contratto




?>