function mostra_frame_rel($id, $rel, $rel_sup, $id_ut_sel, $cmp, $mostra_cod, $pieno, $titolo, $size = "20", $maxlength = "50") { global $tablerelutenti, $tablenazioni, $tableregioni, $tablecitta, $tabledocumentiid, $tableparentele; trova_rel($rel, $rel_sing, $rel_plur, $tablerel); trova_rel($rel_sup, $rel_sup_sing, $rel_sup_plur, $tablerel_sup); if (get_magic_quotes_gpc()) { $id = stripslashes($id); } $id = htmlspecialchars($id); $id_sup = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_ut_sel}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($id) . "' "); if (numlin_query($id_sup)) { $is_id = "= '" . risul_query($id_sup, 0, "id{$rel_sup_plur}", $tablerel_sup) . "'"; } else { $is_id = "is NULL"; } echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\" >\n<title> {$titolo} </title>\n</head>\n<body>\n<div id=\"dati_rel\">"; $rel_utente = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerel}.codice_{$rel_sing},{$tablerel}.codice2_{$rel_sing},{$tablerel}.codice3_{$rel_sing} from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$id_ut_sel}' and {$tablerelutenti}.idsup {$is_id} order by {$tablerel}.nome_{$rel_sing}"); $num_rel_utente = numlin_query($rel_utente); if ($num_rel_utente) { echo "<select name=\"{$cmp}\" id=\"{$cmp}\">"; if ($pieno != "SI") { echo "<option value=\"\">------</option>"; } for ($num1 = 0; $num1 < $num_rel_utente; $num1++) { $rel = htmlspecialchars(risul_query($rel_utente, $num1, "nome_{$rel_sing}", $tablerel)); echo "<option value=\"{$rel}\">{$rel}"; if ($mostra_cod) { $codice = htmlspecialchars(risul_query($rel_utente, $num1, "codice_{$rel_sing}", $tablerel)); $codice2 = htmlspecialchars(risul_query($rel_utente, $num1, "codice2_{$rel_sing}", $tablerel)); $codice3 = htmlspecialchars(risul_query($rel_utente, $num1, "codice3_{$rel_sing}", $tablerel)); if (strcmp($codice, "")) { echo " ({$codice})"; } if (strcmp($codice2, "")) { echo " (" . mex("2°", 'personalizza.php') . " {$codice2})"; } if (strcmp($codice3, "")) { echo " (" . mex("3°", 'personalizza.php') . " {$codice3})"; } } # fine if ($mostra_cod) echo "</option>"; } # fine for $num1 echo "</select>"; } else { echo "<input type=\"text\" name=\"{$cmp}\" id=\"{$cmp}\" size=\"{$size}\" maxlength=\"{$maxlength}\">"; } echo "</div>\n</body>\n</html>\n"; }
} # fine if ($celle == 3) $celle++; } # fine for $numtariffa if ($celle != 1) { for ($num1 = $celle ; $num1 <= $num_colonne ; $num1++) echo "<td> </td>"; echo "</tr>"; } # fine if ($celle != 1) echo "</table><br>"; echo "".mex("Motivazioni delle regole di assegnazone 1 per disponibilità condizionata da tenere in conto",$pag).":<br> <table style=\"margin-left: auto; margin-right: auto;\" border=\"1\" cellspacing=\"0\" cellpadding=\"4\">"; $celle = 1; $num_colonne = 3; $tableregole_modello = $PHPR_TAB_PRE."regole".$anno_modello; $regole = esegui_query("select * from $tableregole_modello where app_agenzia != '' and (motivazione2 != 'x' or motivazione2 is NULL) order by app_agenzia"); $num_regole = numlin_query($regole); unset($motivazioni_presenti); $num_motivazioni = 0; for ($num1 = 0 ; $num1 < $num_regole ; $num1 = $num1 + 1) { if ($celle == 1) echo "<tr>"; $idregole = risul_query($regole,$num1,'idregole'); $motivazione = risul_query($regole,$num1,'motivazione'); if (!$motivazione) { $motivazione = " "; $motivazione_vedi = mex("nessuna",$pag); } # fine if (!$motivazione) else $motivazione_vedi = $motivazione; if ($motivazioni_presenti[$motivazione] != "SI") { $motivazioni_presenti[$motivazione] = "SI"; $var_motivazione = "var_mot_".$num_motivazioni; $num_motivazioni++;
# Pagina iniziale echo "<h3>".mex("Interconnessioni con sorgenti esterne di data",$pag).".</h3> <hr style=\"width: 95%\">"; $id_utente_az = esegui_query("select idlocale from $tableinterconnessioni where tipoid = 'id_utente_az' "); if (numlin_query($id_utente_az) == 1) $id_utente_azione_ic = risul_query($id_utente_az,0,"idlocale"); echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"./interconnessioni.php\"><div> <input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"modifica_interconnessione\" value=\"SI\"> <input type=\"hidden\" name=\"modifica_utente_agg\" value=\"SI\"> ".mex("Utente per l'aggiornamento remoto delle interconnessioni",$pag).": <select name=\"n_utente_agg\">"; echo "<option value=\"\"$sel_tutti>----</option>"; $tutti_utenti = esegui_query("select idutenti,nome_utente from $tableutenti where idutenti != '1' order by idutenti"); $num_tutti_utenti = numlin_query($tutti_utenti); for ($num1 = 0 ; $num1 < $num_tutti_utenti ; $num1++) { $nome_utente = risul_query($tutti_utenti,$num1,'nome_utente'); $idutenti = risul_query($tutti_utenti,$num1,"idutenti"); if ($idutenti == $id_utente_azione_ic) { $sel = " selected"; $nome_utente_agg = $nome_utente; } # fine if ($idutenti == $id_utente_azione_ic) else $sel = ""; echo "<option value=\"$idutenti\"$sel>$nome_utente</option>"; } # fine for $num1 echo "</select> <input class=\"sbutton\" type=\"submit\" value=\"".mex("Modifica",$pag)."\">"; if ($nome_utente_agg) { $url_corr = "http://"; if ($_SERVER['HTTPS']) $url_corr = "https://";
# fine for $num fwrite($fileaperto, "\"; \n?>"); fclose($fileaperto); if ($assegna_vicini_nc == "SI") { $appart = esegui_query("select * from {$tableappartamenti}"); for ($num1 = 0; $num1 < $numappartamenti; $num1 = $num1 + 1) { $idapp = risul_query($appart, $num1, 'idappartamenti'); $nc = risul_query($appart, $num1, 'numcasa'); $np = risul_query($appart, $num1, 'numpiano'); $query = "select idappartamenti from {$tableappartamenti} where numcasa = '{$nc}' and idappartamenti != '{$idapp}'"; if ($assegna_vicini_np == "SI") { $query = $query . " and numpiano = '{$np}'"; } # fine if ($assegna_vicini_np == "SI") $av = esegui_query($query); $num_av = numlin_query($av); $app_vicini = ""; for ($num2 = 0; $num2 < $num_av; $num2 = $num2 + 1) { $id_av = risul_query($av, $num2, 'idappartamenti'); if ($app_vicini == "") { $app_vicini = $id_av; } else { $app_vicini = $app_vicini . "," . $id_av; } } # fine for $num2 esegui_query("update {$tableappartamenti} set app_vicini = '{$app_vicini}' where idappartamenti = '{$idapp}'"); } # fine for $num1 } # fine if ($assegna_vicini_nc == "SI")
function crea_nuovo_anno($anno, $PHPR_TAB_PRE, $DATETIME, $tipo_periodi, $giorno_ini_fine, $mese_ini, $mese_fine, $importa_anno_prec, $silenzio, $pag) { allunga_tempo_limite(); global $lingua_mex, $LIKE, $ILIKE, $PHPR_DB_TYPE; $lingua_mex_orig = $lingua_mex; include_once "./includes/funzioni_menu.php"; include C_DATA_PATH . "/lingua.php"; $lingua_mex = $lingua[1]; $tableanni = $PHPR_TAB_PRE . "anni"; $tableprivilegi = $PHPR_TAB_PRE . "privilegi"; $tabletransazioni = $PHPR_TAB_PRE . "transazioni"; $tabletransazioniweb = $PHPR_TAB_PRE . "transazioniweb"; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tablemessaggi = $PHPR_TAB_PRE . "messaggi"; $tableinterconnessioni = $PHPR_TAB_PRE . "interconnessioni"; $tablecontratti = $PHPR_TAB_PRE . "contratti"; $tableutenti = $PHPR_TAB_PRE . "utenti"; $tablerelclienti = $PHPR_TAB_PRE . "relclienti"; if ($PHPR_DB_TYPE == "mysql" or $PHPR_DB_TYPE == "mysqli") { @esegui_query("SET default_storage_engine=MYISAM", 1); } $filelock = fopen(C_DATA_PATH . "/anni.lock", "w+"); if ($filelock) { flock($filelock, 2); $anno_esistente = esegui_query("select * from {$tableanni} where idanni = {$anno}"); if (numlin_query($anno_esistente) == 0) { if (C_CAMBIA_TIPO_PERIODI == "NO") { $tipo_periodi_esistenti = esegui_query("select * from {$tableanni} order by idanni desc"); if (numlin_query($tipo_periodi_esistenti) != 0) { $tipo_periodi = risul_query($tipo_periodi_esistenti, 0, 'tipo_periodi'); } } # fine if (C_CAMBIA_TIPO_PERIODI == "NO") if ($tipo_periodi != "g") { $tipo_periodi = "s"; } // creo la tabella con periodi settimanali e prezzi e la tabella con i nomi delle tariffe $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno; $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno; if ($importa_anno_prec == "SI") { $anno_prec = $anno - 1; $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec; $num_tariffe_tab = esegui_query("select nomecostoagg from {$tablenometariffe_prec} where idntariffe = 1"); $num_tariffe_tab = risul_query($num_tariffe_tab, 0, 'nomecostoagg'); } else { $num_tariffe_tab = 8; } $query = "create table {$tableperiodi} (idperiodi integer primary key, datainizio date not null, datafine date"; $query2 = "create table {$tablenometariffe} (idntariffe integer, nomecostoagg varchar(40), tipo_ca varchar(2), valore_ca float8, valore_perc_ca float8, arrotonda_ca float4, tasseperc_ca float4, associasett_ca varchar(1), numsett_ca varchar(20), moltiplica_ca text, periodipermessi_ca text, beniinv_ca text, appincompatibili_ca text, variazione_ca varchar(20), mostra_ca varchar(10), categoria_ca text, letto_ca varchar(1), numlimite_ca integer, regoleassegna_ca varchar(30), utente_inserimento integer"; $num_col_tariffe_db = $num_tariffe_tab; if ($num_col_tariffe_db < 12) { $num_col_tariffe_db = 12; } for ($num1 = 1; $num1 <= $num_col_tariffe_db; $num1++) { $nome_nuova_tariffa = "tariffa" . $num1; $query .= ", {$nome_nuova_tariffa} float8, {$nome_nuova_tariffa}" . "p float8"; $query2 .= ", {$nome_nuova_tariffa} varchar(40)"; } # fine for $num1 $crea_tab = esegui_query($query . ")"); if ($crea_tab) { esegui_query($query2 . ")"); function estrai_col_tabella($col_table) { $col_table = explode(",", $col_table); for ($num1 = 0; $num1 < count($col_table); $num1++) { $col = explode(" ", trim($col_table[$num1])); $tutte_col .= $col[0] . ","; } # fine for $num1 return substr($tutte_col, 0, -1); } # fine function estrai_col_tabella # Creo la tabella delle prernotazioni $tableprenotazioni = $PHPR_TAB_PRE . "prenota" . $anno; $col_tableprenota = "idprenota integer primary key, idclienti integer, idappartamenti varchar(100), iddatainizio integer, iddatafine integer, assegnazioneapp varchar(4), app_assegnabili text, num_persone integer, idprenota_compagna text, tariffa text, tariffesettimanali text, incompatibilita text, sconto float8, tariffa_tot float8, caparra float8, commissioni float8, tasseperc float4, pagato float8, metodo_pagamento text, codice varchar(10), origine varchar(70), commento text, conferma varchar(4), checkin {$DATETIME}, checkout {$DATETIME}, id_anni_prec text, datainserimento {$DATETIME}, hostinserimento varchar(50), data_modifica {$DATETIME}, utente_inserimento integer "; esegui_query("create table {$tableprenotazioni} ({$col_tableprenota})"); $col_tableprenota = estrai_col_tabella($col_tableprenota); # Creo la tabella con i costi aggiuntivi delle prenotazioni $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno; $col_tablecostiprenota = "idcostiprenota integer primary key, idprenota integer, tipo varchar(2), nome varchar(40), valore float8, valore_perc float8, arrotonda float4, tasseperc float4, associasett varchar(1), settimane text, moltiplica text, categoria text, letto varchar(1), numlimite integer, idntariffe integer, variazione varchar(10), varmoltiplica text, varnumsett varchar(20), varperiodipermessi text, varbeniinv text, varappincompatibili text, vartariffeassociate varchar(10), vartariffeincomp text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer"; esegui_query("create table {$tablecostiprenota} ({$col_tablecostiprenota})"); $col_tablecostiprenota = estrai_col_tabella($col_tablecostiprenota); crea_indice($tablecostiprenota, "idprenota", $PHPR_TAB_PRE . "iidpcostiprenota" . $anno); esegui_query("insert into {$tablecostiprenota} (idcostiprenota,numlimite) values ('1','1')"); # Creo la tabella le relazioni tra prenotazioni e clienti non titolari $tablerclientiprenota = $PHPR_TAB_PRE . "rclientiprenota" . $anno; $col_tablerclientiprenota = "idprenota integer, idclienti integer, num_ordine integer, parentela varchar(70), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer"; esegui_query("create table {$tablerclientiprenota} ({$col_tablerclientiprenota})"); $col_tablerclientiprenota = estrai_col_tabella($col_tablerclientiprenota); crea_indice($tablerclientiprenota, "idprenota", $PHPR_TAB_PRE . "iidprclientiprenota" . $anno); # Creo la tabella per le regole di assegnazione $tableregole = $PHPR_TAB_PRE . "regole" . $anno; $col_tableregole = "idregole integer, app_agenzia varchar(100), tariffa_chiusa text, tariffa_per_app text, tariffa_per_utente text, tariffa_per_persone text, tariffa_commissioni integer, iddatainizio integer, iddatafine integer, motivazione text, motivazione2 text"; esegui_query("create table {$tableregole} ({$col_tableregole})"); $col_tableregole = estrai_col_tabella($col_tableregole); # Creo la tabella con i costi di gestione $tablecosti = $PHPR_TAB_PRE . "costi" . $anno; $col_tablecosti = "idcosti integer unique,nome_costo text, val_costo float8, tipo_costo text, nome_cassa varchar(70), persona_costo text, provenienza_costo text, metodo_pagamento text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer"; esegui_query("create table {$tablecosti} ({$col_tablecosti})"); $col_tablecosti = estrai_col_tabella($col_tablecosti); # Creo la tabella per la storia entrate-uscite $tablesoldi = $PHPR_TAB_PRE . "soldi" . $anno; $col_tablesoldi = "idsoldi integer unique, motivazione text, id_pagamento text, metodo_pagamento text, saldo_prenota float8, saldo_cassa float8, soldi_prima float8, data_inserimento {$DATETIME}, utente_inserimento integer"; esegui_query("create table {$tablesoldi} ({$col_tablesoldi})"); $col_tablesoldi = estrai_col_tabella($col_tablesoldi); $tabelle_lock = array($tableanni, $tableprenotazioni, $tablecostiprenota, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti, $tableregole, $tablesoldi, $tablepersonalizza, $tableprivilegi, $tabletransazioni); if ($importa_anno_prec == "SI") { $anno_prec = $anno - 1; $tablenometariffe_prec = $PHPR_TAB_PRE . "ntariffe" . $anno_prec; $tableprenota_prec = $PHPR_TAB_PRE . "prenota" . $anno_prec; $tablecostiprenota_prec = $PHPR_TAB_PRE . "costiprenota" . $anno_prec; $tablerclientiprenota_prec = $PHPR_TAB_PRE . "rclientiprenota" . $anno_prec; $tableperiodi_prec = $PHPR_TAB_PRE . "periodi" . $anno_prec; $tableregole_prec = $PHPR_TAB_PRE . "regole" . $anno_prec; $tablesoldi_prec = $PHPR_TAB_PRE . "soldi" . $anno_prec; $tablecosti_prec = $PHPR_TAB_PRE . "costi" . $anno_prec; $tabelle_lock = array($tableanni, $tableprenota_prec, $tableprenotazioni, $tablecostiprenota_prec, $tablecostiprenota, $tablerclientiprenota_prec, $tablerclientiprenota, $tablenometariffe, $tableperiodi, $tablerelclienti, $tablecosti_prec, $tablecosti, $tableregole, $tablesoldi_prec, $tablesoldi, $tableinterconnessioni, $tablemessaggi, $tablepersonalizza, $tableprivilegi, $tabletransazioni); $altre_tab_lock = array($tablenometariffe_prec, $tableperiodi_prec, $tableregole_prec, $tablecontratti, $tableutenti); $max_data_ini_prec = esegui_query("select max(datainizio) from {$tableperiodi_prec}"); if (numlin_query($max_data_ini_prec) != 0) { $max_data_ini_prec = risul_query($max_data_ini_prec, 0, 0); $max_mese_prec = 0; if (substr($max_data_ini_prec, 0, 4) >= $anno) { $max_mese_prec = substr($max_data_ini_prec, 5, 2); } if (substr($max_data_ini_prec, 0, 4) == $anno + 1) { $max_mese_prec = $max_mese_prec + 12; } if (substr($max_data_ini_prec, 0, 4) == $anno + 2) { $max_mese_prec = $max_mese_prec + 24; } if (substr($max_data_ini_prec, 0, 4) == $anno + 3) { $max_mese_prec = $max_mese_prec + 36; } if (substr($max_data_ini_prec, 0, 4) == $anno + 4) { $max_mese_prec = $max_mese_prec + 48; } if ($max_mese_prec > $mese_fine) { $mese_fine = $max_mese_prec; } $data_ini_agg = date("Y-m-d", mktime(0, 0, 0, substr($max_data_ini_prec, 5, 2) + 1, 1, substr($max_data_ini_prec, 0, 4))); } else { $max_data_ini_prec = ""; $max_mese_prec = ""; $data_ini_agg = ""; } # fine else if (numlin_query($max_data_ini_prec) != 0) } else { unset($altre_tab_lock); } $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); # Elimino tutte le transazioni, potrebbero contenere date dell'anno creato esegui_query("delete from {$tabletransazioni}"); # Inserisco l'anno nella tabella anni esegui_query("insert into {$tableanni} (idanni,tipo_periodi) values ('{$anno}','{$tipo_periodi}')"); esegui_query("insert into {$tablecosti} (idcosti) values ('0')"); esegui_query("insert into {$tablesoldi} (idsoldi,motivazione,soldi_prima) values ('1','soldi_prenotazioni_cancellate','0')"); // trovo il primo giorno di inizio/fine dell'anno (nel caso di periodi settimanali) $numgiorno = 1; $giorno_ini_fine = (string) $giorno_ini_fine; if ($giorno_ini_fine != "0" and $giorno_ini_fine != "1" and $giorno_ini_fine != "2" and $giorno_ini_fine != "3" and $giorno_ini_fine != "4" and $giorno_ini_fine != "5" and $giorno_ini_fine != "6") { $giorno_ini_fine = 6; } do { $nomegiorno = date("w", mktime(0, 0, 0, 1, $numgiorno, $anno)); $numgiorno = $numgiorno + 1; } while ($nomegiorno != $giorno_ini_fine); $numgiorno = $numgiorno - 1; if ($tipo_periodi == "g") { $numgiorno = 1; $aggiungi_giorni = 1; } else { $aggiungi_giorni = 7; } if ($mese_ini > $mese_fine) { if ($silenzio != "SI") { echo mex("I mesi erano indicati erroneamente, sono stati inseriti i mesi da Gennaio a Dicembre", $pag) . ".<br>"; } $mese_ini = 1; if ($mese_fine < 12) { $mese_fine = 12; } } # fine if ($mese_ini > $mese_fine) $anno_fine = $anno + 3; $idperiodi = 1; $fileaperto = fopen(C_DATA_PATH . "/selectperiodi{$anno}.1.php", "a+"); flock($fileaperto, 2); $date_option = ""; $n_date_menu = 0; do { $datainizio = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno)); $annocreato = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno)); $mesecreato = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno)); $nome_giorno = date("D", mktime(0, 0, 0, 1, $numgiorno, $anno)); $nome_mese = date("M", mktime(0, 0, 0, 1, $numgiorno, $anno)); $numero_giorno = date("d", mktime(0, 0, 0, 1, $numgiorno, $anno)); $numero_anno = $annocreato; $numgiorno = $numgiorno + $aggiungi_giorni; $datafine = date("Y-m-d", mktime(0, 0, 0, 1, $numgiorno, $anno)); $annocreato2 = date("Y", mktime(0, 0, 0, 1, $numgiorno, $anno)); $mesecreato2 = date("n", mktime(0, 0, 0, 1, $numgiorno, $anno)); if ($annocreato > $anno) { $diff = $annocreato - $anno; $mesecreato = $diff * 12 + $mesecreato; } # fine if ($annocreato > $anno) if ($annocreato2 > $anno) { $diff = $annocreato2 - $anno; $mesecreato2 = $diff * 12 + $mesecreato2; } # fine if ($annocreato2 > $anno) if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine) { esegui_query("insert into {$tableperiodi} ( idperiodi, datainizio, datafine) values ( {$idperiodi}, '{$datainizio}', '{$datafine}')"); if ($tipo_periodi == "g") { if ($nome_giorno == "Sun") { $nome_giorno = mex(" Do", $pag); } if ($nome_giorno == "Mon") { $nome_giorno = mex(" Lu", $pag); } if ($nome_giorno == "Tue") { $nome_giorno = mex(" Ma", $pag); } if ($nome_giorno == "Wed") { $nome_giorno = mex(" Me", $pag); } if ($nome_giorno == "Thu") { $nome_giorno = mex(" Gi", $pag); } if ($nome_giorno == "Fri") { $nome_giorno = mex(" Ve", $pag); } if ($nome_giorno == "Sat") { $nome_giorno = mex(" Sa", $pag); } } else { $nome_giorno = ""; } if ($nome_mese == "Jan") { $nome_mese = mex("Gen", $pag); } if ($nome_mese == "Feb") { $nome_mese = mex("Feb", $pag); } if ($nome_mese == "Mar") { $nome_mese = mex("Mar", $pag); } if ($nome_mese == "Apr") { $nome_mese = mex("Apr", $pag); } if ($nome_mese == "May") { $nome_mese = mex("Mag", $pag); } if ($nome_mese == "Jun") { $nome_mese = mex("Giu", $pag); } if ($nome_mese == "Jul") { $nome_mese = mex("Lug", $pag); } if ($nome_mese == "Aug") { $nome_mese = mex("Ago", $pag); } if ($nome_mese == "Sep") { $nome_mese = mex("Set", $pag); } if ($nome_mese == "Oct") { $nome_mese = mex("Ott", $pag); } if ($nome_mese == "Nov") { $nome_mese = mex("Nov", $pag); } if ($nome_mese == "Dec") { $nome_mese = mex("Dic", $pag); } if (!$date_option) { $a_ini_menu = substr($datainizio, 0, 4); $m_ini_menu = substr($datainizio, 5, 2) - 1; $g_ini_menu = substr($datainizio, 8, 2); } # fine if (!$date_option) $n_date_menu++; $date_option .= "<option value=\\\"{$datainizio}\\\">{$nome_mese} {$numero_giorno}{$nome_giorno}, {$numero_anno}</option>\n"; $idperiodi = $idperiodi + 1; $datafine2 = $datafine; } # fine if ($mesecreato >= $mese_ini and $mesecreato <= $mese_fine) } while ($annocreato2 <= $anno_fine or $mesecreato2 == 48); $numero_mese = substr($datafine2, 5, 2); if ($numero_mese == "01") { $nome_mese = mex("Gen", $pag); } if ($numero_mese == "02") { $nome_mese = mex("Feb", $pag); } if ($numero_mese == "03") { $nome_mese = mex("Mar", $pag); } if ($numero_mese == "04") { $nome_mese = mex("Apr", $pag); } if ($numero_mese == "05") { $nome_mese = mex("Mag", $pag); } if ($numero_mese == "06") { $nome_mese = mex("Giu", $pag); } if ($numero_mese == "07") { $nome_mese = mex("Lug", $pag); } if ($numero_mese == "08") { $nome_mese = mex("Ago", $pag); } if ($numero_mese == "09") { $nome_mese = mex("Set", $pag); } if ($numero_mese == "10") { $nome_mese = mex("Ott", $pag); } if ($numero_mese == "11") { $nome_mese = mex("Nov", $pag); } if ($numero_mese == "12") { $nome_mese = mex("Dic", $pag); } $numero_giorno = substr($datafine2, 8, 2); $numero_anno = substr($datafine2, 0, 4); $n_date_menu++; $date_option .= "<option value=\\\"{$datafine2}\\\">{$nome_mese} {$numero_giorno}, {$numero_anno}</option>\n"; fwrite($fileaperto, "<?php \n\n\$y_ini_menu[0] = \"{$a_ini_menu}\";\n\$m_ini_menu[0] = \"{$m_ini_menu}\";\n\$d_ini_menu[0] = \"{$g_ini_menu}\";\n\$n_dates_menu[0] = \"{$n_date_menu}\";\n\$d_increment[0] = \"{$aggiungi_giorni}\";\n\$d_names = \"\\\"" . mex(" Do", $pag) . "\\\",\\\"" . mex(" Lu", $pag) . "\\\",\\\"" . mex(" Ma", $pag) . "\\\",\\\"" . mex(" Me", $pag) . "\\\",\\\"" . mex(" Gi", $pag) . "\\\",\\\"" . mex(" Ve", $pag) . "\\\",\\\"" . mex(" Sa", $pag) . "\\\"\";\n\$m_names = \"\\\"" . mex("Gen", $pag) . "\\\",\\\"" . mex("Feb", $pag) . "\\\",\\\"" . mex("Mar", $pag) . "\\\",\\\"" . mex("Apr", $pag) . "\\\",\\\"" . mex("Mag", $pag) . "\\\",\\\"" . mex("Giu", $pag) . "\\\",\\\"" . mex("Lug", $pag) . "\\\",\\\"" . mex("Ago", $pag) . "\\\",\\\"" . mex("Set", $pag) . "\\\",\\\"" . mex("Ott", $pag) . "\\\",\\\"" . mex("Nov", $pag) . "\\\",\\\"" . mex("Dic", $pag) . "\\\"\";\n\n\$dates_options_list = \"\n\n{$date_option}\n\";\n\n?>"); flock($fileaperto, 3); fclose($fileaperto); if ($importa_anno_prec == "SI" and @is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php")) { estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag); } else { copy(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selperiodimenu{$anno}.1.php"); } $lista_clienti_importati = ""; # Importo eventuali prenotazioni, tariffe e regole dell'anno precedente if ($importa_anno_prec == "SI") { $tableprenota = $tableprenotazioni; $data_inizio_periodi = esegui_query("select * from {$tableperiodi} where idperiodi = 1"); $data_inizio_periodi = risul_query($data_inizio_periodi, 0, 'datainizio'); $ini_periodo_interferenza = esegui_query("select * from {$tableperiodi_prec} where datainizio = '{$data_inizio_periodi}'"); $num_periodo_interferenza = numlin_query($ini_periodo_interferenza); $tipo_periodi_prec = esegui_query("select * from {$tableanni} where idanni = {$anno_prec}"); $tipo_periodi_prec = risul_query($tipo_periodi_prec, 0, 'tipo_periodi'); if ($tipo_periodi_prec != $tipo_periodi) { $num_periodo_interferenza = 0; } if ($num_periodo_interferenza == 0) { if ($silenzio != "SI") { echo mex("Non ci sono periodi che riguardano il ", $pag) . $anno . mex(" nel ", $pag) . $anno_prec . mex(", o il giorno di inizio/fine locazione era differente, sono stati importati solo i data riguardanti costi aggiuntivi, caparra, nome delle tariffe, privilegi degli utenti e regole di assegnazione 2 e 3", $pag) . ".<br>"; } } else { $id_data_fine_periodi = esegui_query("select max(idperiodi) from {$tableperiodi}"); $id_data_fine_periodi = risul_query($id_data_fine_periodi, 0, 0); $id_data_ini_periodi_prec = risul_query($ini_periodo_interferenza, 0, 'idperiodi'); $id_data_fine_periodi_prec = esegui_query("select max(idperiodi) from {$tableperiodi_prec}"); $id_data_fine_periodi_prec = risul_query($id_data_fine_periodi_prec, 0, 0); $num_periodi_prec = $id_data_fine_periodi_prec - $id_data_ini_periodi_prec + 1; if ($num_periodi_prec > $id_data_fine_periodi) { $id_data_fine_periodi_prec = $id_data_ini_periodi_prec + $id_data_fine_periodi - 1; $prenota_non_importabili = esegui_query("select * from {$tableprenota_prec} where iddatafine > {$id_data_fine_periodi_prec} "); $num_prenota_non_importabili = numlin_query($prenota_non_importabili); if ($num_prenota_non_importabili != 0) { echo "<br>ERROR<br>"; } } # fine if ($num_periodi_prec > $id_data_fine_periodi) $idprenota_corr = 0; $max_idprenota_prec = esegui_query("select max(idprenota) from {$tableprenota_prec}"); $max_idprenota_prec = risul_query($max_idprenota_prec, 0, 0) + 1; $max_idcostiprenota_prec = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_prec}"); $max_idcostiprenota_prec = risul_query($max_idcostiprenota_prec, 0, 0) + 1; $prenota_gia_iniziate = esegui_query("select * from {$tableprenota_prec} where iddatainizio < {$id_data_ini_periodi_prec} and iddatafine >= {$id_data_ini_periodi_prec} and iddatafine <= {$id_data_fine_periodi_prec} "); $num_prenota_gia_iniziate = numlin_query($prenota_gia_iniziate); for ($num1 = 0; $num1 < $num_prenota_gia_iniziate; $num1 = $num1 + 1) { $idprenota = risul_query($prenota_gia_iniziate, $num1, 'idprenota'); $idclienti = risul_query($prenota_gia_iniziate, $num1, 'idclienti'); $lista_clienti_importati .= "and idclienti != '{$idclienti}' "; $idappartamenti = risul_query($prenota_gia_iniziate, $num1, 'idappartamenti'); $iddatafine = risul_query($prenota_gia_iniziate, $num1, 'iddatafine'); $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1; $datainserimento = risul_query($prenota_gia_iniziate, $num1, 'datainserimento'); $hostinserimento = risul_query($prenota_gia_iniziate, $num1, 'hostinserimento'); $data_modifica = risul_query($prenota_gia_iniziate, $num1, 'data_modifica'); $utente_inserimento = risul_query($prenota_gia_iniziate, $num1, 'utente_inserimento'); $checkin = risul_query($prenota_gia_iniziate, $num1, 'checkin'); $checkout = risul_query($prenota_gia_iniziate, $num1, 'checkout'); $codice = risul_query($prenota_gia_iniziate, $num1, 'codice'); $idprenota_corr++; esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,assegnazioneapp,commento,codice,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota_corr}','{$idclienti}','{$idappartamenti}','0',{$iddatafine},'k','{$idprenota}','{$codice}','{$datainserimento}','{$hostinserimento}','{$utente_inserimento}') "); if ($checkin) { esegui_query("update {$tableprenota} set checkin = '" . aggslashdb($checkin) . "' where idprenota = '{$idprenota_corr}'"); } if ($checkout) { esegui_query("update {$tableprenota} set checkout = '" . aggslashdb($checkout) . "' where idprenota = '{$idprenota_corr}'"); } esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$idprenota}' where idprenota = '{$max_idprenota_prec}'"); } # fine for $num1 $nuovo_idprenota = ""; $nuovo_iddatainizio = ""; $nuovo_iddatafine = ""; $prenota_importate = esegui_query("select * from {$tableprenota_prec} where iddatainizio >= '{$id_data_ini_periodi_prec}' and iddatafine <= '{$id_data_fine_periodi_prec}' order by idprenota "); $num_prenota_importate = numlin_query($prenota_importate); for ($num1 = 0; $num1 < $num_prenota_importate; $num1 = $num1 + 1) { $idprenota = risul_query($prenota_importate, $num1, 'idprenota'); $iddatainizio = risul_query($prenota_importate, $num1, 'iddatainizio'); $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1; $iddatafine = risul_query($prenota_importate, $num1, 'iddatafine'); $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1; $idclienti = risul_query($prenota_importate, $num1, 'idclienti'); $lista_clienti_importati .= "and idclienti != '{$idclienti}' "; $id_anni_prec = risul_query($prenota_importate, $num1, 'id_anni_prec'); if (!$id_anni_prec) { $id_anni_prec = ";"; } $id_anni_prec .= "{$anno_prec},{$idprenota};"; $idprenota_corr++; esegui_query("update {$tableprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tableprenota} select {$col_tableprenota} from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tableprenota} set iddatainizio = '{$iddatainizio}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableprenota} set iddatafine = '{$iddatafine}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableprenota} set id_anni_prec = '{$id_anni_prec}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("delete from {$tableprenota_prec} where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablecostiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablecostiprenota} select {$col_tablecostiprenota} from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablecostiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("delete from {$tablecostiprenota_prec} where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tablerclientiprenota_prec} set idprenota = '{$max_idprenota_prec}' where idprenota = '{$idprenota}'"); esegui_query("insert into {$tablerclientiprenota} select {$col_tablerclientiprenota} from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}' "); esegui_query("update {$tablerclientiprenota} set idprenota = '{$idprenota_corr}' where idprenota = '{$max_idprenota_prec}'"); esegui_query("delete from {$tablerclientiprenota_prec} where idprenota = '{$max_idprenota_prec}'"); esegui_query("update {$tableinterconnessioni} set idlocale = '{$idprenota_corr}', anno = '{$anno}' where idlocale = '{$idprenota}' and ( tipoid = 'prenota' or tipoid = 'mess' ) and anno = '{$anno_prec}' "); $nuovo_idprenota[$idprenota] = $idprenota_corr; $nuovo_iddatainizio[$idprenota] = $iddatainizio; $nuovo_iddatafine[$idprenota] = $iddatafine; } # fine for $num1 esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota_corr + 1) . "' where idcostiprenota = '1'"); $prenota_compagne = esegui_query("select idprenota,idprenota_compagna from {$tableprenota} where idprenota_compagna != '' "); $num_prenota_compagne = numlin_query($prenota_compagne); for ($num1 = 0; $num1 < $num_prenota_compagne; $num1++) { $idprenota = risul_query($prenota_compagne, $num1, 'idprenota'); $idprenota_compagna = risul_query($prenota_compagne, $num1, 'idprenota_compagna'); $idprenota_compagna = explode(",", $idprenota_compagna); $n_idprenota_compagna = $nuovo_idprenota[$idprenota_compagna[0]]; for ($num2 = 1; $num2 < count($idprenota_compagna); $num2++) { $n_idprenota_compagna .= "," . $nuovo_idprenota[$idprenota_compagna[$num2]]; } esegui_query("update {$tableprenota} set idprenota_compagna = '{$n_idprenota_compagna}' where idprenota = '{$idprenota}'"); } # fine for $num1 $id_costi_agg_importati = esegui_query("select idcostiprenota from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota"); $num_id_costi_agg_importati = numlin_query($id_costi_agg_importati); for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) { $idcostiprenota = risul_query($id_costi_agg_importati, $num1, 'idcostiprenota'); $max_idcostiprenota_prec++; esegui_query("update {$tablecostiprenota} set idcostiprenota = '{$max_idcostiprenota_prec}' where idcostiprenota = '{$idcostiprenota}'"); } # fine for $num1 $costi_agg_importati = esegui_query("select * from {$tablecostiprenota} where idcostiprenota != '1' order by idcostiprenota"); $num_costi_agg_importati = numlin_query($costi_agg_importati); for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) { $idcostiprenota = risul_query($costi_agg_importati, $num1, 'idcostiprenota'); $settimane = risul_query($costi_agg_importati, $num1, 'settimane'); if (str_replace(",", "", $settimane) != $settimane) { $settimane = explode(",", $settimane); $settimane_nuove = ","; for ($num2 = 1; $num2 < count($settimane) - 1; $num2++) { $settimane_nuove .= $settimane[$num2] - $id_data_ini_periodi_prec + 1 . ","; } esegui_query("update {$tablecostiprenota} set settimane = '{$settimane_nuove}' where idcostiprenota = '{$idcostiprenota}'"); } # fine if (str_replace(",","",$settimane) != $settimane) $varperiodipermessi = risul_query($costi_agg_importati, $num1, 'varperiodipermessi'); if ($varperiodipermessi) { $vpp_nuovi = substr($varperiodipermessi, 0, 1); $varperiodipermessi = explode(",", substr($varperiodipermessi, 1)); for ($num2 = 0; $num2 < count($varperiodipermessi); $num2++) { $id_data_fine_vpp = explode("-", $varperiodipermessi[$num2]); $id_data_inizio_vpp = $id_data_fine_vpp[0]; $id_data_fine_vpp = $id_data_fine_vpp[1]; if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and $id_data_inizio_vpp <= $id_data_fine_periodi_prec) { if ($id_data_inizio_vpp < $id_data_ini_periodi_prec) { $id_data_inizio_vpp = $id_data_ini_periodi_prec; } if ($id_data_fine_vpp > $id_data_fine_periodi_prec) { $id_data_fine_vpp = $id_data_fine_periodi_prec; } $id_data_inizio_vpp = $id_data_inizio_vpp - $id_data_ini_periodi_prec + 1; $id_data_fine_vpp = $id_data_fine_vpp - $id_data_ini_periodi_prec + 1; $vpp_nuovi .= $id_data_inizio_vpp . "-" . $id_data_fine_vpp . ","; } # fine if ($id_data_fine_vpp >= $id_data_ini_periodi_prec and... } # fine for $num2 if (strlen($vpp_nuovi) > 1) { $vpp_nuovi = substr($vpp_nuovi, 0, -1); } esegui_query("update {$tablecostiprenota} set varperiodipermessi = '{$vpp_nuovi}' where idcostiprenota = '{$idcostiprenota}'"); } # fine if ($varperiodipermessi) esegui_query("update {$tablecostiprenota} set idcostiprenota = '" . ($num1 + 2) . "' where idcostiprenota = '{$idcostiprenota}'"); } # fine for $num1 $tariffe_importate = esegui_query("select * from {$tableperiodi_prec} where idperiodi >= '{$id_data_ini_periodi_prec}' and idperiodi <= '{$id_data_fine_periodi_prec}' "); $num_tariffe_iportate = numlin_query($tariffe_importate); for ($num1 = 0; $num1 < $num_tariffe_iportate; $num1 = $num1 + 1) { $idperiodi = risul_query($tariffe_importate, $num1, 'idperiodi'); $idperiodi = $idperiodi - $id_data_ini_periodi_prec + 1; for ($num2 = 1; $num2 <= $num_tariffe_tab; $num2++) { $tariffa = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2); if (strcmp($tariffa, "")) { esegui_query("update {$tableperiodi} set tariffa{$num2} = '{$tariffa}' where idperiodi = {$idperiodi} "); } $tariffap = (string) risul_query($tariffe_importate, $num1, "tariffa" . $num2 . "p"); if (strcmp($tariffap, "")) { esegui_query("update {$tableperiodi} set tariffa{$num2}" . "p = '{$tariffap}' where idperiodi = {$idperiodi} "); } } # fine for $num2 } # fine for $num1 $regole_prec = esegui_query("select * from {$tableregole_prec} where iddatafine >= '{$id_data_ini_periodi_prec}' "); $num_regole_prec = numlin_query($regole_prec); for ($num1 = 0; $num1 < $num_regole_prec; $num1 = $num1 + 1) { $idregole = risul_query($regole_prec, $num1, 'idregole'); $app_agenzia = risul_query($regole_prec, $num1, 'app_agenzia'); $tariffa_chiusa = risul_query($regole_prec, $num1, 'tariffa_chiusa'); $tariffa_commissioni = risul_query($regole_prec, $num1, 'tariffa_commissioni'); $iddatainizio = risul_query($regole_prec, $num1, 'iddatainizio'); $motivazione = risul_query($regole_prec, $num1, 'motivazione'); $motivazione2 = risul_query($regole_prec, $num1, 'motivazione2'); if ($iddatainizio < $id_data_ini_periodi_prec) { $iddatainizio = $id_data_ini_periodi_prec; } $iddatainizio = $iddatainizio - $id_data_ini_periodi_prec + 1; $iddatafine = risul_query($regole_prec, $num1, 'iddatafine'); if ($iddatafine > $id_data_fine_periodi_prec) { $iddatafine = $id_data_fine_periodi_prec; } $iddatafine = $iddatafine - $id_data_ini_periodi_prec + 1; if ($tariffa_commissioni) { esegui_query("insert into {$tableregole} (idregole,tariffa_commissioni,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_commissioni}','{$iddatainizio}','{$iddatafine}') "); } else { if ($tariffa_chiusa) { esegui_query("insert into {$tableregole} (idregole,tariffa_chiusa,iddatainizio,iddatafine) values ('{$idregole}','{$tariffa_chiusa}','{$iddatainizio}','{$iddatafine}') "); } else { esegui_query("insert into {$tableregole} (idregole,app_agenzia,iddatainizio,iddatafine) values ('{$idregole}','{$app_agenzia}','{$iddatainizio}','{$iddatafine}') "); } } # fine else $tariffa_commissioni) if (strcmp($motivazione, "")) { esegui_query("update {$tableregole} set motivazione = '" . aggslashdb($motivazione) . "' where idregole = '{$idregole}' "); } if (strcmp($motivazione2, "")) { esegui_query("update {$tableregole} set motivazione2 = '" . aggslashdb($motivazione2) . "' where idregole = '{$idregole}' "); } } # fine for $num1 $soldi_importati = esegui_query("select * from {$tablesoldi_prec} where data_inserimento >= '{$data_inizio_periodi}' and saldo_prenota is not NULL order by idsoldi"); $num_soldi_importati = numlin_query($soldi_importati); $idsoldi_corr = 1; for ($num1 = 0; $num1 < $num_soldi_importati; $num1++) { $motiv = explode(";", risul_query($soldi_importati, $num1, 'motivazione')); if ($nuovo_idprenota[$motiv[3]]) { $idsoldi_corr++; $idsoldi_prec = risul_query($soldi_importati, $num1, 'idsoldi'); $n_motiv = $motiv[0] . ";" . $nuovo_iddatainizio[$motiv[3]] . ";" . $nuovo_iddatafine[$motiv[3]] . ";" . $nuovo_idprenota[$motiv[3]]; esegui_query("insert into {$tablesoldi} select {$col_tablesoldi} from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' "); esegui_query("delete from {$tablesoldi_prec} where idsoldi = '{$idsoldi_prec}' "); esegui_query("update {$tablesoldi} set motivazione = '{$n_motiv}' where idsoldi = '{$idsoldi_prec}' "); esegui_query("update {$tablesoldi} set idsoldi = '{$idsoldi_corr}' where idsoldi = '{$idsoldi_prec}' "); } # fine if ($nuovo_idprenota[$motiv[3]]) } # fine for $num1 $costi_importati = esegui_query("select * from {$tablecosti_prec} where datainserimento >= '{$data_inizio_periodi}' and tipo_costo is not NULL order by idcosti"); $num_costi_importati = numlin_query($costi_importati); $idcosti_corr = 0; for ($num1 = 0; $num1 < $num_costi_importati; $num1++) { $idcosti_corr++; $idcosti_prec = risul_query($costi_importati, $num1, 'idcosti'); esegui_query("insert into {$tablecosti} select {$col_tablecosti} from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' "); esegui_query("delete from {$tablecosti_prec} where idcosti = '{$idcosti_prec}' "); esegui_query("update {$tablecosti} set idcosti = '{$idcosti_corr}' where idcosti = '{$idcosti_prec}' "); } # fine for $num1 $costo_cassa = 0; $data_lim = $anno + 1 . "-01-01 00:00:00"; $costi_cassa = esegui_query("select * from {$tablecosti} where tipo_costo = 'e' and provenienza_costo = 'p' and datainserimento < '{$data_lim}' "); $num_costi_cassa = numlin_query($costi_cassa); for ($num2 = 0; $num2 < $num_costi_cassa; $num2++) { $costo_cassa = $costo_cassa + risul_query($costi_cassa, $num2, 'val_costo'); } if ($costo_cassa) { esegui_query("update {$tablecosti} set val_costo = '{$costo_cassa}' where idcosti = '0' "); } unset($cassa_prec); $costi_non_importati = esegui_query("select * from {$tablecosti_prec} where tipo_costo is not NULL order by idcosti"); $num_costi_non_importati = numlin_query($costi_non_importati); for ($num1 = 0; $num1 < $num_costi_non_importati; $num1++) { $tipo_costo = risul_query($costi_non_importati, $num1, 'tipo_costo'); $val_costo = risul_query($costi_non_importati, $num1, 'val_costo'); $utente_costo = risul_query($costi_non_importati, $num1, 'utente_inserimento'); if ($tipo_costo == "e") { $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] + (double) $val_costo; } else { $cassa_prec[$utente_costo] = $cassa_prec[$utente_costo] - (double) $val_costo; } } # fine for $num1 if (@is_array($cassa_prec)) { $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); reset($cassa_prec); while (list($utente_costo, $val_costo) = each($cassa_prec)) { $idcosti_corr++; esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,persona_costo,tipo_costo,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti_corr}','{$anno_prec}','{$val_costo}','','e','{$datainserimento}','{$HOSTNAME}','{$utente_costo}') "); } # fine (list($utente_costo,$val_costo) = each($cassa_prec)) } # fine if (@is_array($cassa_prec)) # aggiorno i messaggi con prenotazioni del nuovo anno già inserite, quelli da inserire sono aggiornati con i modelli internet $messaggi_importati = esegui_query("select * from {$tablemessaggi} where stato = 'ins' and dati_messaggio18 = '{$anno_prec}' "); $num_messaggi_importati = numlin_query($messaggi_importati); for ($num1 = 0; $num1 < $num_messaggi_importati; $num1++) { $agg_mess = 1; $n_lista_pren = ""; $lista_pren = explode(",", risul_query($messaggi_importati, $num1, 'dati_messaggio1')); for ($num2 = 0; $num2 < count($lista_pren); $num2++) { if ($nuovo_idprenota[$lista_pren[$num2]]) { $n_lista_pren .= $nuovo_idprenota[$lista_pren[$num2]] . ","; } else { $agg_mess = 0; } } # fine for $num2 if ($agg_mess) { $idmess = risul_query($messaggi_importati, $num1, 'idmessaggi'); $n_lista_pren = substr($n_lista_pren, 0, -1); esegui_query("update {$tablemessaggi} set dati_messaggio1 = '{$n_lista_pren}', dati_messaggio18 = '{$anno}' where idmessaggi = '{$idmess}' "); } # fine if ($agg_mess) } # fine for $num1 # aggiorno i numeri delle prenotazioni importate nei nomi dei documenti già creati nel nuovo anno $dirs_salva = esegui_query("select * from {$tablecontratti} where tipo = 'dir'"); $num_dirs_salva = numlin_query($dirs_salva); if ($num_dirs_salva) { unset($contr_salva_in); $max_contr = esegui_query("select max(numero) from {$tablecontratti} where tipo {$LIKE} 'contr%'"); $max_contr = risul_query($max_contr, 0, 0); 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_home = C_CARTELLA_DOC; } else { $dir_salva_home = ""; } } else { $dir_salva_home = C_DATA_PATH; } $utenti = esegui_query("select * from " . $PHPR_TAB_PRE . "utenti order by idutenti"); $num_utenti = numlin_query($utenti); unset($nomi_contr_ut); $parola_documento = mex("documento", 'visualizza_contratto.php'); for ($num1 = 0; $num1 < $num_utenti; $num1++) { $idutente_contr = risul_query($utenti, $num1, 'idutenti'); for ($num2 = 1; $num2 <= $max_contr; $num2++) { $nomi_contr_ut[$idutente_contr][$num2] = $parola_documento . $num2; } $nomi_contratti = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}'"); $nomi_contratti = risul_query($nomi_contratti, 0, 'valpersonalizza'); $nomi_contratti = explode("#@&", $nomi_contratti); $num_nomi_contratti = count($nomi_contratti); for ($num2 = 0; $num2 < $num_nomi_contratti; $num2++) { $dati_nome_contratto = explode("#?&", $nomi_contratti[$num2]); $nomi_contr_ut[$idutente_contr][$dati_nome_contratto[0]] = $dati_nome_contratto[1]; } # fine for $num2 } # fine for $num1 unset($prefissi_contr); for ($num1 = 0; $num1 < $num_dirs_salva; $num1++) { $dir_salva = risul_query($dirs_salva, 0, 'testo'); if ($dir_salva == "~") { $dir_salva = $dir_salva_home; } 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 = ""; } $num_contr = risul_query($dirs_salva, 0, 'numero'); $tipo_contratto = esegui_query("select tipo from " . $PHPR_TAB_PRE . "contratti where numero = '{$num_contr}' and tipo {$LIKE} 'contr%' "); $tipo_contratto = risul_query($tipo_contratto, 0, 'tipo'); $suff_file = "html"; if ($tipo_contratto == "contrrtf") { $suff_file = "rtf"; } if ($tipo_contratto == "contrtxt") { $suff_file = "txt"; } $filelock_contr = fopen($dir_salva . "/crea_contr.lock", "w+"); flock($filelock_contr, 2); for ($num2 = 0; $num2 < $num_utenti; $num2++) { $idutente_contr = risul_query($utenti, $num1, 'idutenti'); if (!$prefissi_contr[$dir_salva . "/" . $nomi_contr_ut[$idutente_contr][$num_contr]]) { $nome_contratto = $nomi_contr_ut[$idutente_contr][$num_contr]; $prefissi_contr[$dir_salva . "/" . $nome_contratto] = 1; $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}" . "_") { if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}(_[0-9]+(-[0-9]+)?)*\\.{$suff_file}/", "", $resto_nome_contr) == "") { $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) { $agg_contr = 1; $n_lista_pren = ""; $num_pren_esist = explode("_", $num_pren_esist); for ($num3 = 0; $num3 < count($num_pren_esist); $num3++) { $num_pren_esist2 = explode("-", $num_pren_esist[$num3]); $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1]; for ($num4 = $num_pren_esist2[0]; $num4 <= $fine_for; $num4++) { if (!$nuovo_idprenota[$num4]) { $agg_contr = 0; break; } # fine if (!$nuovo_idprenota[$num4]) if ($num4 == $num_pren_esist2[0]) { $n_lista_pren .= "_" . $nuovo_idprenota[$num4]; } elseif ($num4 == $fine_for) { $n_lista_pren .= "-" . $nuovo_idprenota[$num4]; } } # fine for $num4 } # fine for $num3 if ($agg_contr) { $n_nome_contr = $nome_contratto . substr($resto_nome_contr, 0, 11) . $n_lista_pren . ".{$suff_file}"; rename($dir_salva . "/" . $contr_corr, $dir_salva . "/" . $n_nome_contr); } # fine if ($agg_contr) } # fine if ($num_pren_esist) } # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file/","",$resto_nome_contr) == "") } # fine if (substr($resto_nome_contr,0,6) == "_$anno"."_") } # 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); } # fine if (!$prefissi_contr[$dir_salva."/".$nomi_contr_ut[$idutente_contr][$num_contr]]) } # fine for $num2 flock($filelock_contr, 3); fclose($filelock_contr); unlink($dir_salva . "/crea_contr.lock"); } # fine for $num1 } # fine if ($num_dirs_salva) } # fine else if ($num_periodo_interferenza == 0) $colonne = "idntariffe,nomecostoagg,tipo_ca,valore_ca,valore_perc_ca,arrotonda_ca,tasseperc_ca,associasett_ca,numsett_ca,moltiplica_ca,periodipermessi_ca,beniinv_ca,appincompatibili_ca,variazione_ca,mostra_ca,categoria_ca,letto_ca,numlimite_ca,regoleassegna_ca,utente_inserimento"; for ($num1 = 1; $num1 <= $num_tariffe_tab; $num1++) { $nome_nuova_tariffa = "tariffa" . $num1; $colonne .= ",{$nome_nuova_tariffa}"; } # fine for $num1 esegui_query("insert into {$tablenometariffe} ({$colonne}) select {$colonne} from {$tablenometariffe_prec}"); $costi_agg_importati = esegui_query("select * from {$tablenometariffe} where idntariffe > 10 "); $num_costi_agg_importati = numlin_query($costi_agg_importati); for ($num1 = 0; $num1 < $num_costi_agg_importati; $num1++) { $idntariffe = risul_query($costi_agg_importati, $num1, 'idntariffe'); $periodipermessi = risul_query($costi_agg_importati, $num1, 'periodipermessi_ca'); if ($periodipermessi) { $pp_nuovi = substr($periodipermessi, 0, 1); $periodipermessi = explode(",", substr($periodipermessi, 1)); for ($num2 = 0; $num2 < count($periodipermessi); $num2++) { $id_data_fine_pp = explode("-", $periodipermessi[$num2]); $id_data_inizio_pp = $id_data_fine_pp[0]; $id_data_fine_pp = $id_data_fine_pp[1]; if ($id_data_fine_pp >= $id_data_ini_periodi_prec and $id_data_inizio_pp <= $id_data_fine_periodi_prec) { if ($id_data_inizio_pp < $id_data_ini_periodi_prec) { $id_data_inizio_pp = $id_data_ini_periodi_prec; } if ($id_data_fine_pp > $id_data_fine_periodi_prec) { $id_data_fine_pp = $id_data_fine_periodi_prec; } $id_data_inizio_pp = $id_data_inizio_pp - $id_data_ini_periodi_prec + 1; $id_data_fine_pp = $id_data_fine_pp - $id_data_ini_periodi_prec + 1; $pp_nuovi .= $id_data_inizio_pp . "-" . $id_data_fine_pp . ","; } # fine if ($id_data_fine_pp >= $id_data_ini_periodi_prec and... } # fine for $num2 if (strlen($pp_nuovi) > 1) { $pp_nuovi = substr($pp_nuovi, 0, -1); } esegui_query("update {$tablenometariffe} set periodipermessi_ca = '{$pp_nuovi}' where idntariffe = '{$idntariffe}'"); } # fine if ($periodipermessi) } # fine for $num1 esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_app != ''"); esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_utente != ''"); esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_per_persone != ''"); esegui_query("insert into {$tableregole} select {$col_tableregole} from {$tableregole_prec} where tariffa_commissioni is not NULL and iddatainizio is NULL "); $privilegi_prec = esegui_query("select * from {$tableprivilegi} where anno = '{$anno_prec}'"); for ($num1 = 0; $num1 < numlin_query($privilegi_prec); $num1++) { $idutente_p = risul_query($privilegi_prec, $num1, 'idutente'); $regole1_consentite_p = risul_query($privilegi_prec, $num1, 'regole1_consentite'); $tariffe_consentite_p = risul_query($privilegi_prec, $num1, 'tariffe_consentite'); $costi_agg_consentiti_p = risul_query($privilegi_prec, $num1, 'costi_agg_consentiti'); $contratti_consentiti_p = risul_query($privilegi_prec, $num1, 'contratti_consentiti'); $cassa_pagamenti_p = aggslashdb(risul_query($privilegi_prec, $num1, 'cassa_pagamenti')); $priv_ins_prenota_p = risul_query($privilegi_prec, $num1, 'priv_ins_prenota'); $priv_mod_prenota_p = risul_query($privilegi_prec, $num1, 'priv_mod_prenota'); $priv_mod_pers_p = risul_query($privilegi_prec, $num1, 'priv_mod_pers'); $priv_ins_clienti_p = risul_query($privilegi_prec, $num1, 'priv_ins_clienti'); $prefisso_clienti_p = risul_query($privilegi_prec, $num1, 'prefisso_clienti'); $priv_ins_costi_p = risul_query($privilegi_prec, $num1, 'priv_ins_costi'); $priv_vedi_tab_p = risul_query($privilegi_prec, $num1, 'priv_vedi_tab'); $priv_ins_tariffe_p = risul_query($privilegi_prec, $num1, 'priv_ins_tariffe'); $priv_ins_regole_p = risul_query($privilegi_prec, $num1, 'priv_ins_regole'); esegui_query("insert into {$tableprivilegi} (idutente,anno,regole1_consentite,tariffe_consentite,costi_agg_consentiti,contratti_consentiti,cassa_pagamenti,priv_ins_prenota,priv_mod_prenota,priv_mod_pers,priv_ins_clienti,prefisso_clienti,priv_ins_costi,priv_vedi_tab,priv_ins_tariffe,priv_ins_regole) values ('{$idutente_p}','{$anno}','{$regole1_consentite_p}','{$tariffe_consentite_p}','{$costi_agg_consentiti_p}','{$contratti_consentiti_p}','{$cassa_pagamenti_p}','{$priv_ins_prenota_p}','{$priv_mod_prenota_p}','{$priv_mod_pers_p}','{$priv_ins_clienti_p}','{$prefisso_clienti_p}','{$priv_ins_costi_p}','{$priv_vedi_tab_p}','{$priv_ins_tariffe_p}','{$priv_ins_regole_p}')"); $lingua_mex = $lingua[$idutente_p]; crea_menu_date(C_DATA_PATH . "/selectperiodi{$anno}.1.php", C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", $tipo_periodi); if (@is_file(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php")) { estendi_menu_date(C_DATA_PATH . "/selperiodimenu" . ($anno - 1) . ".{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php", $tipo_periodi, date("Y-m-d", mktime(0, 0, 0, $mese_ini, 1, $anno)), $data_ini_agg, date("Y-m-d", mktime(0, 0, 0, $mese_fine + 1, 1, $anno)), $anno, $pag); } else { copy(C_DATA_PATH . "/selectperiodi{$anno}.{$idutente_p}.php", C_DATA_PATH . "/selperiodimenu{$anno}.{$idutente_p}.php"); } $lingua_mex = $lingua[1]; $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '{$idutente_p}'"); if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") { esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','{$idutente_p}')"); } } # fine for $num1 $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno_prec}' and idutente = '1'"); if (numlin_query($giorno_vedi_ini_sett) == 1 and $tipo_periodi == "g") { esegui_query("insert into {$tablepersonalizza} (idpersonalizza,valpersonalizza_num,idutente) values ('giorno_vedi_ini_sett{$anno}','" . risul_query($giorno_vedi_ini_sett, 0, "valpersonalizza_num") . "','1')"); } $inserisci_in_ntariffe = "NO"; } # fine if ($importa_anno_prec == "SI") if ($inserisci_in_ntariffe != "NO") { # rigo 1: nomi tariffe; 2-3: caparra (% e arrotondo). for ($numtariffe = 1; $numtariffe <= 6; $numtariffe = $numtariffe + 1) { esegui_query("insert into {$tablenometariffe} (idntariffe) values ('{$numtariffe}')"); } # fine for $numtariffe esegui_query("update {$tablenometariffe} set nomecostoagg = '8' where idntariffe = '1'"); esegui_query("update {$tablenometariffe} set numlimite_ca = '11' where idntariffe = '1'"); } # fine if ($inserisci_in_ntariffe != "NO") esegui_query("delete from {$tablerelclienti} where tipo = 'cc' {$lista_clienti_importati}"); unlock_tabelle($tabelle_lock); if ($silenzio != "SI") { echo "<br> " . mex("Anno ", $pag) . $anno . mex(" creato", $pag) . "! <br><br>"; } if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI") { if ($silenzio != "SI") { $silenzio_mod = "SI"; } else { $silenzio_mod = "totale"; } global $anno_modello_presente, $num_periodi_date, $modello_esistente, $cambia_frasi, $lingua_modello, $percorso_cartella_modello, $nome_file; $pag_orig = $pag; $pag = "crea_modelli.php"; include "./includes/templates/funzioni_modelli.php"; $modello_esistente = "SI"; $cambia_frasi = "NO"; $anno_modello = $anno; include "./includes/templates/frasi_mod_disp.php"; include "./includes/templates/funzioni_mod_disp.php"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/mdl_disponibilita.php")) { $lingua_modello = "ita"; $nome_file = mex2("mdl_disponibilita", $pag, $lingua_modello) . ".php"; $num_periodi_date = ""; recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/modello_disponibilita.php")) } # fine for $num_cart $lang_dir = opendir("./includes/lang/"); include C_DATA_PATH . "/lingua.php"; while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != "..") { $nome_file = mex2("mdl_disponibilita", $pag, $ini_lingua) . ".php"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) { $lingua_modello = $ini_lingua; $num_periodi_date = ""; recupera_var_modello_disponibilita($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { aggiorna_var_anno_modello_disponibilita($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/$nome_file")) } # fine for $num_cart } # fine if ($file != "." && $file != "..") } # fine while ($file = readdir($lang_dig)) closedir($lang_dir); $templates_dir = opendir("./includes/templates/"); while ($modello_ext = readdir($templates_dir)) { if ($modello_ext != "." and $modello_ext != ".." and @is_dir("./includes/templates/{$modello_ext}")) { include "./includes/templates/{$modello_ext}/name.php"; include "./includes/templates/{$modello_ext}/phrases.php"; include "./includes/templates/{$modello_ext}/functions.php"; $funz_recupera_var_modello = "recupera_var_modello_" . $modello_ext; $funz_crea_modello = "crea_modello_" . $modello_ext; $funz_aggiorna_var_anno_modello = "aggiorna_var_anno_modello_" . $modello_ext; if ($template_file_name["ita"]) { $nome_file = $template_file_name["ita"]; } else { $nome_file = "ita_" . $template_file_name["en"]; } for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) { $lingua_modello = "ita"; $num_periodi_date = ""; $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/$nome_file")) } # fine for $num_cart $lang_dir = opendir("./includes/lang/"); while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != "..") { if ($template_file_name[$ini_lingua]) { $nome_file = $template_file_name[$ini_lingua]; } else { $nome_file = $ini_lingua . "_" . $template_file_name["en"]; } for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if (@is_file("{$percorso_cartella_modello}/{$nome_file}")) { $lingua_modello = $ini_lingua; $num_periodi_date = ""; $funz_recupera_var_modello($nome_file, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); if ($anno_modello_presente == $anno_prec) { $funz_aggiorna_var_anno_modello($id_data_ini_periodi_prec, $tableperiodi_prec, $tableperiodi, $tabletransazioniweb, $tablemessaggi, $tipo_periodi); $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, $silenzio_mod, $fr_frase, $frase, $num_frasi, $tipo_periodi); } # fine if ($anno_modello_presente == $anno_prec) } # fine if (@is_file("$percorso_cartella_modello/$nome_file")) } # fine for $num_cart } # fine if ($file != "." && $file != "..") } # fine while ($file = readdir($lang_dir)) closedir($lang_dir); } # fine if ($modello_ext != "." and $modello_ext != ".." and... } # fine while ($file = readdir($lang_dig)) closedir($templates_dir); $pag = $pag_orig; if ($silenzio != "SI") { echo "<br>"; } } # fine if ($importa_anno_prec == "SI" and C_RESTRIZIONI_DEMO_ADMIN != "SI") } else { if ($silenzio != "SI") { echo mex("Non ho i permessi per creare nuove tabelle nel database", $pag) . ".<br>"; } } } else { if ($silenzio != "SI") { echo mex("Anno già creato", $pag) . ".<br>"; } } flock($filelock, 3); fclose($filelock); unlink(C_DATA_PATH . "/anni.lock"); } else { if ($silenzio != "SI") { echo mex("Non ho i permessi di scrittura sulla cartella data", $pag) . ".<br>"; } } $lingua_mex = $lingua_mex_orig; }
else { $nome_tariffa[$numtariffa] = $dati_tariffe["tariffa$numtariffa"]['nome']; if ($nome_tariffa[$numtariffa] == "") $nome_tariffa[$numtariffa] = $fr_tariffa.$numtariffa; } # fine else if ($n_tariffe_imposte[$numtariffa]) } # fine if ($mostra_quadro_disp == "reg2") if (!$app_regola2_orig[$numtariffa]) $tutti_consentiti = "SI"; if ($tutti_consentiti != "SI") { $appartamenti_regola2 = explode(",",$app_regola2_orig[$numtariffa]); for ($num1 = 0 ; $num1 < count($appartamenti_regola2) ; $num1++) $app_consentito[$appartamenti_regola2[$num1]] = "SI"; } # fine if ($tutti_consentiti != "SI") } # fine if ($tariffe_mostra[$numtariffa] == "SI") } # fine for $numtariffa if ($tutti_consentiti == "SI") for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) $app_consentito[$dati_app['posizione'][$num1]] = "SI"; # Calcolo gli appartamenti consentiti dalla regola 1 $num_app_agenzia = numlin_query($app_agenzia); if ($num_app_agenzia != 0 and is_array($motivazioni_regola1)) { for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1 = $num1 + 1) { $id_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'app_agenzia'); $idinizio_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'iddatainizio'); $idfine_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'iddatafine'); $motivazione_app_agenzia[$num1] = risul_query($app_agenzia,$num1,'motivazione'); if ($motivazione_app_agenzia[$num1] == "") $motivazione_app_agenzia[$num1] = " "; } # fine for $num1 $app_consentito_sett[",attivo,"] = "SI"; for ($num1 = 0 ; $num1 < $dati_app['totapp'] ; $num1++) { for ($num2 = $id_data_inizio_tab_disp ; $num2 <= ($id_data_inizio_tab_disp + $num_colonne_tab_disp - 1) ; $num2++) { $app_consentito_sett[$dati_app['posizione'][$num1]][$num2] = "SI"; } # fine for $num2 } # fine for $num1 for ($num1 = 0 ; $num1 < $num_app_agenzia ; $num1++) {
function aggiorna_tariffe_esporta($dati_tariffe, $tariffa_da, $idperiodo, $prezzoperiodo, $prezzoperiodop, $tableperiodi, &$agg_vett, &$num_agg) { if ($dati_tariffe[$tariffa_da]['esporta_prezzi']) { if (str_replace("-", "", $idperiodo) != $idperiodo) { $fine_per = explode("-", $idperiodo); $ini_per = $fine_per[0]; $fine_per = $fine_per[1]; } else { $ini_per = $idperiodo; $fine_per = $idperiodo; } # fine else if (str_replace("-","",$idperiodo) != $idperiodo) $tar_esporta = explode(",", $dati_tariffe[$tariffa_da]['esporta_prezzi']); for ($num_tar = 0; $num_tar < count($tar_esporta) - 1; $num_tar++) { $tariffa = "tariffa" . $tar_esporta[$num_tar]; if ($idperiodo == "opztariffa") { $tablenometariffe = $prezzoperiodop; $opztariffa = esegui_query("select * from {$tableperiodi} where {$tariffa}" . "p is not NULL and {$tariffa}" . "p != '' and {$tariffa}" . "p != '0' "); if (numlin_query($opztariffa)) { $opztariffa = "p"; } else { $opztariffa = "s"; } esegui_query("update {$tablenometariffe} set {$tariffa} = '{$opztariffa}' where idntariffe = '4' "); } else { $importa_percent = (double) $dati_tariffe[$tariffa]['val_importa']; $importa_arrotond = (double) $dati_tariffe[$tariffa]['arrotond_importa']; $tipo_percent = $dati_tariffe[$tariffa]['tipo_importa']; if ($tipo_percent == "s" and !$agg_vett[$tariffa]) { $agg_int = floor($importa_percent); $resto_int = $importa_percent - (double) $agg_int; $agg_gio = floor($agg_int / 7); for ($num1 = 1; $num1 <= 7; $num1++) { $agg_vett[$tariffa][$num1] = $agg_gio; } $resto = $agg_int - $agg_gio * 7; if ($resto >= 1) { $agg_vett[$tariffa][1]++; $resto--; } # fine if ($resto >= 1) for ($num1 = 7; $num1 > 7 - $resto; $num1--) { $agg_vett[$tariffa][$num1]++; } $agg_vett[$tariffa][1] += $resto_int; $num_agg[$tariffa]['s'] = 0; $num_agg[$tariffa]['p'] = 0; } # fine if ($tipo_percent == "s" and !$agg_vett[$tariffa]) if ($tipo_percent == "g") { $perc = $importa_percent; } for ($num1 = $ini_per; $num1 <= $fine_per; $num1++) { if ((string) $prezzoperiodo != "NO") { if ($tipo_percent == "s") { $num_agg[$tariffa]['s']++; $perc = $agg_vett[$tariffa][$num_agg[$tariffa]['s']]; if ($num_agg[$tariffa]['s'] == 7) { $num_agg[$tariffa]['s'] = 0; } } # fine if ($tipo_percent == "s") $prezzo_a = (double) $prezzoperiodo; if ($dati_tariffe[$tariffa]['parte_prezzo'] != "p") { if ($tipo_percent == "p") { $perc = (double) ($prezzo_a / 100.0 * $importa_percent); } if ($perc) { if ($tipo_percent == "p") { $perc = round($perc / $importa_arrotond, 0) * $importa_arrotond; } $prezzo_a = $prezzo_a + $perc; } # fine if ($perc) } # fine if ($dati_tariffe[$tariffa]['parte_prezzo'] != "p") if ($prezzo_a) { esegui_query("update {$tableperiodi} set {$tariffa} = '{$prezzo_a}' where idperiodi = '{$num1}'"); } else { esegui_query("update {$tableperiodi} set {$tariffa} = NULL where idperiodi = '{$num1}'"); } } # fine if ((string) $prezzoperiodo != "NO") if ((string) $prezzoperiodop != "NO") { if ($tipo_percent == "s") { $num_agg[$tariffa]['p']++; $perc = $agg_vett[$tariffa][$num_agg[$tariffa]['p']]; if ($num_agg[$tariffa]['p'] == 7) { $num_agg[$tariffa]['p'] = 0; } } # fine if ($tipo_percent == "s") $prezzo_a_p = (double) $prezzoperiodop; if ($dati_tariffe[$tariffa]['parte_prezzo'] != "f") { if ($tipo_percent == "p") { $perc = (double) ($prezzo_a_p / 100.0 * $importa_percent); } if ($perc) { if ($tipo_percent == "p") { $perc = round($perc / $importa_arrotond, 0) * $importa_arrotond; } $prezzo_a_p = $prezzo_a_p + $perc; } # fine if ($perc) } # fine if ($dati_tariffe[$tariffa]['parte_prezzo'] != "f") if ($prezzo_a_p) { esegui_query("update {$tableperiodi} set {$tariffa}" . "p = '{$prezzo_a_p}' where idperiodi = '{$num1}'"); } else { esegui_query("update {$tableperiodi} set {$tariffa}" . "p = NULL where idperiodi = '{$num1}'"); } } # fine if ((string) $prezzoperiodop != "NO") } # fine for $num1 } # fine else if ($idperiodo == "opztariffa") } # fine for $num_tar } # fine if ($dati_tariffe[$tipotariffa]['esporta_prezzi']) }
esegui_query("insert into {$tablecosti} (idcosti,nome_costo,val_costo,tipo_costo,nome_cassa,persona_costo,provenienza_costo,metodo_pagamento,datainserimento,hostinserimento,utente_inserimento) values ('{$idcosti}','{$nome_costo}','{$val_costo}','{$tipo_costo}','" . aggslashdb($nome_cassa) . "','{$persona_costo}','{$provenienza_costo}','{$metodo_pagamento}','{$datainserimento}','{$HOSTNAME}','{$id_utente}') "); if ($inserisci_entrata) { echo mex("L'entrata è stata inserita", $pag) . ".<br>"; } if ($inserisci_spesa) { echo mex("La spesa è stata inserita", $pag) . ".<br>"; } } # fine if ($inserire != "NO") echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"costi.php\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input class=\"sbutton\" type=\"submit\" name=\"torna\" value=\"" . mex("OK", $pag) . "\">\n</div></form>"; unlock_tabelle($tabelle_lock); } # fine if ($inserisci_entrata or $inserisci_spesa) if ($mostra_form_inserimento != "NO") { $casse = esegui_query("select * from {$tablecasse} order by idcasse"); $num_casse = numlin_query($casse); $opt_casse = ""; $num_casse_attive = 0; for ($num1 = 0; $num1 < $num_casse; $num1++) { $id_cassa = risul_query($casse, $num1, 'idcasse'); if ($attiva_casse_consentite == "n" or $casse_consentite_vett[$id_cassa] == "SI") { if ($id_cassa == 1) { $nome_cassa = mex("cassa principale", $pag); } else { $nome_cassa = risul_query($casse, $num1, 'nome_cassa'); } $opt_casse .= "<option value=\"{$id_cassa}\">{$nome_cassa}</option>"; $hidden_cassa = "<input type=\"hidden\" name=\"id_cassa\" value=\"{$id_cassa}\">"; $num_casse_attive++; } # fine if ($attiva_casse_consentite == "n" or $casse_consentite_vett[$id_cassa] == "SI")
} # fine if ($priv_prenota_gruppi == "SI") $condizione_prenota_propria .= " )"; } # fine if ($priv_vedi_tab_mesi == "p") else $condizione_prenota_propria = ""; } # fine else if ($num1 < $num_appartamenti) if ($priv_vedi_tab_mesi != "p" or $appartamenti_consentiti[$id_appartamento] != "NO" or $num1 >= $num_appartamenti) { if ($num1 < $num_appartamenti) echo "<tr><td>"; else echo "<tr><td style=\"color: red;\">"; if (num_caratteri_testo($id_appartamento) > 2) echo "<small><small>"; else echo "<small>"; echo "$id_appartamento"; if (num_caratteri_testo($id_appartamento) > 2) echo "</small></small></td>"; else echo "</small></td>"; $prenotazione_presente = esegui_query("select * from $tableprenota where idappartamenti = '$id_appartamento' and iddatainizio <= '".($id_data_inizio_tab + $num_colonne - 1)."' and iddatafine >= '$id_data_inizio_tab'$condizione_prenota_propria order by iddatainizio"); $num_prenotazione_presente = numlin_query($prenotazione_presente); $prenota_succ = 0; if ($num_prenotazione_presente > 0) $ini_prenota_succ = risul_query($prenotazione_presente,0,'iddatainizio'); else $ini_prenota_succ = $id_data_inizio_tab + $num_colonne + 1; for ($num2 = 0 ; $num2 < $num_colonne ; $num2 = $num2 + 1) { $id_settimana = $id_data_inizio_tab + $num2; if ($id_settimana >= $ini_prenota_succ) { $esiste = 1; $prenota_corr = $prenota_succ; $prenota_succ++; if ($num_prenotazione_presente > $prenota_succ) $ini_prenota_succ = risul_query($prenotazione_presente,$prenota_succ,'iddatainizio'); else { $ini_prenota_succ = (risul_query($prenotazione_presente,$prenota_corr,'iddatafine') + 1); if (($id_data_inizio_tab + $num_colonne + 1) > $ini_prenota_succ) $ini_prenota_succ = $id_data_inizio_tab + $num_colonne + 1; } # fine else if ($num_prenotazione_presente > $prenota_succ)
$righe_pagamenti = ""; if ($id_anni_prec) { while (list($anno_prec_paga,$id_anno_prec) = each($id_anni_prec_vett)) { $pagamenti = esegui_query("select metodo_pagamento,saldo_prenota,data_inserimento,utente_inserimento from $PHPR_TAB_PRE"."soldi$anno_prec_paga where saldo_prenota is not NULL and motivazione $LIKE '%;$id_anno_prec' order by data_inserimento"); $num_pagamenti2 = numlin_query($pagamenti); for ($num1 = 0 ; $num1 < $num_pagamenti2 ; $num1++) { $data_paga[$num_pagamenti] = substr(risul_query($pagamenti,$num1,'data_inserimento'),0,10); $utente_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'utente_inserimento'); $metodo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'metodo_pagamento'); $saldo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'saldo_prenota'); $num_pagamenti++; } # fine for $num1 } # fine while (list($anno_prec,$id_anno_prec) = each($id_anni_prec_vett)) } # fine if ($id_anni_prec) $pagamenti = esegui_query("select metodo_pagamento,saldo_prenota,data_inserimento,utente_inserimento from $tablesoldi where saldo_prenota is not NULL and motivazione $LIKE '%;$id_prenota' order by data_inserimento"); $num_pagamenti2 = numlin_query($pagamenti); for ($num1 = 0 ; $num1 < $num_pagamenti2 ; $num1++) { $data_paga[$num_pagamenti] = substr(risul_query($pagamenti,$num1,'data_inserimento'),0,10); $utente_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'utente_inserimento'); $metodo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'metodo_pagamento'); $saldo_paga[$num_pagamenti] = risul_query($pagamenti,$num1,'saldo_prenota'); $num_pagamenti++; } # fine for $num1 if ($num_pagamenti >= 1) { for ($num1 = 0 ; $num1 < $num_pagamenti ; $num1++) { if (substr($saldo_paga[$num1],0,1) != "-") $saldo_paga[$num1] = "+".$saldo_paga[$num1]; $data_paga_f = formatta_data($data_paga[$num1]); if (!$metodo_paga[$num1]) $metodo_paga_v = " "; else $metodo_paga_v = $metodo_paga[$num1]; if (!$nomi_utenti[$utente_paga[$num1]]) { $n_ut_paga = esegui_query("select nome_utente from $tableutenti where idutenti = '".$utente_paga[$num1]."'");
$telefono2 = $dati_mess[13]; $telefono3 = $dati_mess[14]; $fax = $dati_mess[15]; } # fine if (numlin_query($dati_mess) == 1) } # fine if ($idmessaggi) if ($datiprenota) { echo "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"98%\"><tr><td style=\"font-size: 80%;\" align=\"right\">\n<form accept-charset=\"utf-8\" method=\"post\" action=\"{$origine}\"><div>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"id_transazione\" value=\"{$id_transazione}\">\n<input type=\"hidden\" name=\"annulla\" value=\"SI\">\n<input class=\"sbutton\" type=\"submit\" style=\"font-size: 80%;\" value=\"" . mex("Annulla", $pag) . "\">\n</div></form></td></tr></table>"; } else { echo "<br>"; } mostra_funzjs_cpval(); echo "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$origine}\"><div class=\"linhbox\">\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"origine\" value=\"{$origine}\">\n<hr style=\"width: 95%\">"; $titoli_cliente = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'titoli_cliente' and idutente = '{$id_utente}'"); if (numlin_query($titoli_cliente) == 1) { $titoli_cliente = risul_query($titoli_cliente, 0, "valpersonalizza"); } else { $titoli_cliente = ""; } if ($titoli_cliente) { echo "<select name=\"titolo_cli\">\n<option value=\"\">--</option>"; $titoli_cliente = explode(">", $titoli_cliente); for ($num1 = 0; $num1 < count($titoli_cliente); $num1++) { $opt = explode("<", $titoli_cliente[$num1]); echo "<option value=\"" . $opt[0] . "\">" . $opt[0] . "</option>"; } # fine for $num1 echo "</select> "; } # fine if ($titoli_cliente)
function aggiorna_relutenti($aggiungi_rel, $rel_predefinite, $elimina_tutte_rel, $importa_rel, $id_utente, $id_utente_mod, $nuova_rel, $sup_n_rel, $cod_n_rel, $cod2_n_rel, $cod3_n_rel, $utente_importa_rel, $pag, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_sup_sing = "", $rel_sup_plur = "", $tablerel_sup = "", $rel_inf_sing = "", $rel_inf_plur = "", $tablerel_inf = "") { if ($id_utente != 1 or $id_utente_mod == $utente_importa_rel) { $importa_rel = ""; } if ($aggiungi_rel or $rel_predefinite or $elimina_tutte_rel or $importa_rel) { if (get_magic_quotes_gpc()) { $nuova_rel = stripslashes($nuova_rel); $cod_n_rel = stripslashes($cod_n_rel); $cod2_n_rel = stripslashes($cod2_n_rel); $cod3_n_rel = stripslashes($cod3_n_rel); $sup_n_rel = stripslashes($sup_n_rel); } # fine if (get_magic_quotes_gpc()) $nuova_rel = htmlspecialchars($nuova_rel); $cod_n_rel = htmlspecialchars($cod_n_rel); $cod2_n_rel = htmlspecialchars($cod2_n_rel); $cod3_n_rel = htmlspecialchars($cod3_n_rel); $sup_n_rel = htmlspecialchars($sup_n_rel); if (!$aggiungi_rel or str_replace(" ", "", $nuova_rel)) { echo "<div id=\"avanz_{$rel_plur}\"><br>"; if ($tablerel_inf) { $tabelle_lock = array($tablerel, $tablerel_inf, $tablerelutenti); } else { $tabelle_lock = array($tablerel, $tablerelutenti); } if ($tablerel_sup) { $altre_tab_lock = array($tablerel_sup); } else { $altre_tab_lock = ""; } $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); unset($lista_rel); unset($cod_rel); unset($cod2_rel); unset($cod3_rel); unset($cod_rel_sup); if ($aggiungi_rel) { $lista_rel[0] = $nuova_rel; $cod_rel[0] = $cod_n_rel; $cod2_rel[0] = $cod2_n_rel; $cod3_rel[0] = $cod3_n_rel; if ($rel_sup_sing and $sup_n_rel) { $sup_n_rel_esist = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_utente_mod}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($sup_n_rel) . "' "); if (numlin_query($sup_n_rel_esist) > 0) { $id_rel_sup_vett[0] = risul_query($sup_n_rel_esist, 0, "id{$rel_sup_plur}", $tablerel_sup); } } # fine if ($rel_sup_sing and $sup_n_rel) } else { $rel_canc = esegui_query("select id{$rel_sing} from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $num_rel_canc = numlin_query($rel_canc); esegui_query("delete from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $rel_usate = esegui_query("select distinct id{$rel_sing} from {$tablerelutenti} where id{$rel_sing} is not NULL"); $num_rel_usate = numlin_query($rel_usate); for ($num1 = 0; $num1 < $num_rel_usate; $num1++) { $relutente_usate[(int) risul_query($rel_usate, $num1, "id{$rel_sing}")] = 1; } # fine for $num1 for ($num1 = 0; $num1 < $num_rel_canc; $num1++) { if (substr($num1, -3) == "000") { http_keep_alive(". "); } if ($num1 > 20) { $nolog = 1; } else { $nolog = 0; } cancella_relutente(risul_query($rel_canc, $num1, "id{$rel_sing}"), $id_utente_mod, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_inf_sing, $rel_inf_plur, $tablerel_inf, "SI", $relutente_usate, $nolog); } # fine for $num1 unset($rel_canc); unset($rel_usate); unset($relutente_usate); if ($rel_predefinite) { include C_DATA_PATH . "/lingua.php"; global ${"lista_" . $rel_plur}, ${"cod_" . $rel_plur}, ${"cod2_" . $rel_plur}, ${"cod3_" . $rel_plur}, ${"cod_" . $rel_sup_sing . "_" . $rel_plur}; if ($lingua[$id_utente_mod] == "ita") { include_once "./includes/lista_{$rel_plur}.php"; } else { if (@is_file("./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php")) { include_once "./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php"; } } $lista_rel = ${"lista_" . $rel_plur}; $cod_rel = ${"cod_" . $rel_plur}; $cod2_rel = ${"cod2_" . $rel_plur}; $cod3_rel = ${"cod3_" . $rel_plur}; if ($rel_sup_sing) { $cod_rel_sup = ${"cod_" . $rel_sup_sing . "_" . $rel_plur}; } if (@is_array($lista_rel)) { $num_rel = count($lista_rel); } else { $num_rel = 0; } for ($num1 = 0; $num1 < $num_rel; $num1++) { $lista_rel[$num1] = htmlspecialchars($lista_rel[$num1]); $cod_rel[$num1] = htmlspecialchars($cod_rel[$num1]); $cod2_rel[$num1] = htmlspecialchars($cod2_rel[$num1]); $cod3_rel[$num1] = htmlspecialchars($cod3_rel[$num1]); $cod_rel_sup[$num1] = htmlspecialchars($cod_rel_sup[$num1]); } # fine for $num1 } else { if ($importa_rel) { $utente_importa_rel = aggslashdb($utente_importa_rel); $rel_ut_imp = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerelutenti}.idsup from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$utente_importa_rel}' order by {$tablerel}.nome_{$rel_sing}"); $num_rel_ut_imp = numlin_query($rel_ut_imp); for ($num1 = 0; $num1 < $num_rel_ut_imp; $num1++) { $rel = risul_query($rel_ut_imp, $num1, "nome_{$rel_sing}", $tablerel); $lista_rel[$num1] = $rel; if ($rel_sup_sing) { $id_rel_sup_vett[$num1] = risul_query($rel_ut_imp, $num1, 'idsup', $tablerelutenti); } } # fine for $num1 unset($rel_ut_imp); } } # fine if ($importa_rel) } # fine else if ($aggiungi_rel) $num_passa_a_var = 2; if (@is_array($lista_rel)) { $num_rel_agg = count($lista_rel); } else { $num_rel_agg = 0; } if ($num_rel_agg >= $num_passa_a_var) { $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} is not NULL "); $num_rel_esistenti = numlin_query($rel_esistenti); for ($num1 = 0; $num1 < $num_rel_esistenti; $num1++) { $nome_rel = risul_query($rel_esistenti, $num1, "nome_{$rel_sing}"); $rel_esistente[$nome_rel] = 1; $id_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "id{$rel_plur}"); $cod_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "codice_{$rel_sing}"); } # fine for $num1 unset($rel_esistenti); $rel_esistenti2 = esegui_query("select id{$rel_sing},idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $num_rel_esistenti2 = numlin_query($rel_esistenti2); for ($num1 = 0; $num1 < $num_rel_esistenti2; $num1++) { $id_rel = risul_query($rel_esistenti2, $num1, "id{$rel_sing}"); $rel_esistente2[$id_rel] = 1; $idsup_esistente2[$id_rel] = risul_query($rel_esistenti2, $num1, 'idsup'); } # fine for $num1 unset($rel_esistenti2); } # fine if ($num_rel_agg > $num_passa_a_var) unset($num_max); for ($num1 = 0; $num1 < $num_rel_agg; $num1++) { if (substr($num1, -3) == "000") { http_keep_alive(". "); } if ($num1 > 20) { $nolog = 1; } else { $nolog = 0; } $id_rel_sup = ""; if ($rel_sup_sing and $cod_rel_sup[$num1]) { if ($cod_sup_esist[$cod_rel_sup[$num1]]) { $id_rel_sup = $cod_sup_esist[$cod_rel_sup[$num1]]; } else { $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where codice_{$rel_sup_sing} = '" . aggslashdb($cod_rel_sup[$num1]) . "' "); if (numlin_query($rel_sup) > 0) { $id_rel_sup = risul_query($rel_sup, 0, "id{$rel_sup_plur}"); $cod_sup_esist[$cod_rel_sup[$num1]] = $id_rel_sup; } # fine if (numlin_query($rel_sup) > 0) } # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]]) } # fine if ($rel_sup_sing and $cod_rel_sup[$num1]) if ($rel_sup_sing and $id_rel_sup_vett[$num1]) { if ($id_sup_esist[$id_rel_sup_vett[$num1]]) { $id_rel_sup = $id_sup_esist[$id_rel_sup_vett[$num1]]; } else { $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where id{$rel_sup_plur} = '" . aggslashdb($id_rel_sup_vett[$num1]) . "' "); if (numlin_query($rel_sup) > 0) { $id_rel_sup = $id_rel_sup_vett[$num1]; $id_sup_esist[$id_rel_sup_vett[$num1]] = $id_rel_sup; } # fine if (numlin_query($rel_sup) > 0) } # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]]) } # fine if ($rel_sup_sing and $id_rel_sup_vett[$num1]) if ($num_rel_agg < $num_passa_a_var) { $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} = '" . aggslashdb($lista_rel[$num1]) . "' "); if (numlin_query($rel_esistenti)) { $nome_rel = risul_query($rel_esistenti, 0, "nome_{$rel_sing}"); $rel_esistente[$nome_rel] = 1; $id_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "id{$rel_plur}"); $cod_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "codice_{$rel_sing}"); } # fine if (numlin_query($rel_esistenti)) } # fine if ($num_rel_agg <= $num_passa_a_var) if (!$rel_esistente[$lista_rel[$num1]]) { if (!$num_max) { $num_max = esegui_query("select max(id{$rel_plur}) from {$tablerel} "); $num_max = risul_query($num_max, 0, 0) + 1; } else { $num_max++; } $num_n_rel = $num_max; esegui_query("insert into {$tablerel} (id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing},codice2_{$rel_sing},codice3_{$rel_sing}) values ('{$num_n_rel}','" . aggslashdb($lista_rel[$num1]) . "','" . aggslashdb($cod_rel[$num1]) . "','" . aggslashdb($cod2_rel[$num1]) . "','" . aggslashdb($cod3_rel[$num1]) . "') ", "", $nolog); $rel_esistente[$lista_rel[$num1]] = 1; $id_esistente[$lista_rel[$num1]] = $num_n_rel; $cod_esistente[$lista_rel[$num1]] = $cod_rel[$num1]; } else { $num_n_rel = $id_esistente[$lista_rel[$num1]]; $r_cod = $cod_esistente[$lista_rel[$num1]]; if (!$r_cod and $cod_rel[$num1]) { esegui_query("update {$tablerel} set codice_{$rel_sing} = '" . aggslashdb($cod_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($cod2_rel[$num1]) { esegui_query("update {$tablerel} set codice2_{$rel_sing} = '" . aggslashdb($cod2_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($cod3_rel[$num1]) { esegui_query("update {$tablerel} set codice3_{$rel_sing} = '" . aggslashdb($cod3_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($num_rel_agg < $num_passa_a_var) { $rel_esistenti2 = esegui_query("select idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' "); if (numlin_query($rel_esistenti2)) { $rel_esistente2[$num_n_rel] = 1; $idsup_esistente2[$num_n_rel] = risul_query($rel_esistenti2, 0, 'idsup'); } # fine if (numlin_query($rel_esistenti2)) } # fine if ($num_rel_agg < $num_passa_a_var) } # fine else if (!$rel_esistente[$lista_rel[$num1]]) if (!$rel_esistente2[$num_n_rel]) { if ($id_rel_sup) { esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing},idsup) values ('{$id_utente_mod}','{$num_n_rel}','{$id_rel_sup}') ", "", $nolog); } else { esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing}) values ('{$id_utente_mod}','{$num_n_rel}') ", "", $nolog); } $rel_esistente2[$num_n_rel] = 1; $idsup_esistente2[$num_n_rel] = $id_rel_sup; } elseif ($id_rel_sup) { $idsup = $idsup_esistente2[$num_n_rel]; if (!$idsup) { esegui_query("update {$tablerelutenti} set idsup = '{$id_rel_sup}' where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' "); } } # fine elseif ($id_rel_sup) } # fine for $num1 unlock_tabelle($tabelle_lock); echo "<br></div>\n<script type=\"text/javascript\">\n<!--\nvar avanz = document.getElementById('avanz_{$rel_plur}');\navanz.style.display = 'none';\n-->\n</script>\n"; switch ($rel_sing) { case "regione": if ($aggiungi_rel and $pag) { echo mex("Nuova regione/provincia aggiunta", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex("Regioni/provincie predefinite ripristinate", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex("Regioni/provincie cancellate", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex("Regioni/provincie importate", $pag) . ".<br>"; } break; case "documentoid": if ($aggiungi_rel and $pag) { echo mex("Nuovo tipo di documento di identità aggiunto", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex("Tipi di documento di identità predefiniti ripristinati", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex("Tipi di documento di identità cancellati", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex("Tipi di documento di identità importati", $pag) . ".<br>"; } break; case "citta": $rel_sing = "città"; $rel_plur = "città"; default: if ($aggiungi_rel and $pag) { echo mex("Nuova {$rel_sing} aggiunta", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex(ucfirst($rel_plur) . " predefinite ripristinate", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex(ucfirst($rel_plur) . " cancellate", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex(ucfirst($rel_plur) . " importate", $pag) . ".<br>"; } } # fine switch ($rel_sing) unset($lista_rel); unset($cod_rel); unset($cod2_rel); unset($cod3_rel); unset($cod_rel_sup); unset($rel_esistente); unset($id_esistente); unset($cod_esistente); unset($rel_esistente2); unset($idsup_esistente2); } # fine if (!$aggiungi_rel or str_replace(" ","",$nuova_rel)) } # fine if ($aggiungi_rel or $rel_predefinite or... }
</select></td>"; } # fine if ($priv_mod_beni != "n") if ($priv_ins_beni != "n" or $priv_mod_beni != "n") { if ($tipoid == "idappartamento" or $priv_mod_checkin != "s") { $attiva_checkin = esegui_query("select valpersonalizza from $tablepersonalizza where idpersonalizza = 'attiva_checkin' and idutente = '$id_utente'"); $attiva_checkin = risul_query($attiva_checkin,0,'valpersonalizza'); if ($attiva_checkin == "SI") echo "<td style=\"line-height: 70%\"><small><small>".str_replace("_"," ",mex("richiesto_per registrare entrata",$pag))."</small></small></td>"; } # fine if ($tipoid == "idappartamento" or $priv_mod_checkin != "s") echo "<td>".mex("Modifica",$pag)."</td>"; } # fine if ($priv_ins_beni != "n" or $priv_mod_beni != "n") echo "</tr>"; $beni_in_mag = esegui_query("select * from $tablerelinventario where $tipoid = '$idmag' order by idbeneinventario "); $num_beni_in_mag = numlin_query($beni_in_mag); $beni_inv = esegui_query("select * from $tablebeniinventario $condizione_beni_propri order by idbeniinventario"); $num_beni_inv = numlin_query($beni_inv); if ($priv_vedi_beni_inv == "n") $num_beni_inv = 0; unset($nomi_beni); unset($codici_beni); unset($bene_permesso); for ($num1 = 0 ; $num1 < $num_beni_inv ; $num1++) { $idinv = risul_query($beni_inv,$num1,'idbeniinventario'); $bene_permesso[$idinv] = 1; $nomi_beni[$idinv] = risul_query($beni_inv,$num1,'nome_bene'); $codici_beni[$idinv] = risul_query($beni_inv,$num1,'codice_bene'); } # fine for $num1 unset($id_in_mag); for ($num1 = 0 ; $num1 < $num_beni_in_mag ; $num1++) { $id_bene_in_mag = risul_query($beni_in_mag,$num1,'idbeneinventario');
<input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"nuovo_mess\" value=\"$nuovo_mess\"> <input class=\"sbutton\" type=\"submit\" name=\"creaanno\" value=\"".mex("Crea l'anno",$pag)." $anno \"> ".mex("con periodi",$pag).":<br>"; unset($tipo_periodi_obbligati); unset($checked_g); unset($checked_s); if (!$numconnessione) { include(C_DATA_PATH."/dati_connessione.php"); include("./includes/funzioni_$PHPR_DB_TYPE.php"); $numconnessione = connetti_db($PHPR_DB_NAME,$PHPR_DB_HOST,$PHPR_DB_PORT,$PHPR_DB_USER,$PHPR_DB_PASS,$PHPR_LOAD_EXT); } # fine if (!$numconnessione) $tableanni = $PHPR_TAB_PRE."anni"; $tipo_periodi_esistenti = esegui_query("select * from $tableanni order by idanni desc"); if (numlin_query($tipo_periodi_esistenti) != 0) $tipo_periodi_prec = risul_query($tipo_periodi_esistenti,0,'tipo_periodi'); if ($tipo_periodi_prec == "s") $checked_s = " checked"; else $checked_g = " checked"; if (C_CAMBIA_TIPO_PERIODI == "NO") $tipo_periodi_obbligati = $tipo_periodi_prec; if (!$tipo_periodi_obbligati or $tipo_periodi_obbligati == "s") { echo "<label><input type=\"radio\" name=\"tipo_periodi\" value=\"s\"$checked_s> ".mex("settimanali",$pag)."</label> (<em>".mex("obsoleti",$pag)."</em>): <select name=\"giorno_ini_fine\"> <option value=\"0\">".mex("Domenica",$pag)."</option> <option value=\"1\">".mex("Lunedì",$pag)."</option> <option value=\"2\">".mex("Martedì",$pag)."</option> <option value=\"3\">".mex("Mercoledì",$pag)."</option> <option value=\"4\">".mex("Giovedì",$pag)."</option> <option value=\"5\">".mex("Venerdì",$pag)."</option> <option value=\"6\" selected>".mex("Sabato",$pag)."</option> </select> ".mex("come giorno di inizio/fine locazione",$pag)."<br>";
if (!$num_periodi_permessi_sel) $num_periodi_permessi_sel = count($dati_ca[$num_costo]['sett_periodipermessi_ini']); if (!$num_periodi_permessi_sel) $num_periodi_permessi_sel = 1; if ($aggiungi_periodo_permesso) $num_periodi_permessi_sel++; if ($elimina_periodo_permesso) $num_periodi_permessi_sel--; for ($num1 = 1 ; $num1 <= $num_periodi_permessi_sel ; $num1++) { if ($num1 > 1) echo "<tr><td></td><td>"; if (!${"pp_dal".$num1} and $num1 <= count($dati_ca[$num_costo]['sett_periodipermessi_ini'])) { ${"pp_dal".$num1} = esegui_query("select datainizio from $tableperiodi where idperiodi = '".$dati_ca[$num_costo]['sett_periodipermessi_ini'][($num1 - 1)]."'"); if (numlin_query(${"pp_dal".$num1}) == 1) ${"pp_dal".$num1} = risul_query(${"pp_dal".$num1},0,'datainizio'); } # fine if (!${"pp_dal".$num1} and... echo mex("dal",$pag)." "; $pp_dal = ${"pp_dal".$num1}; mostra_menu_date(C_DATA_PATH."/selectperiodi$anno.1.php","pp_dal$num1",$pp_dal,"","",$id_utente,$tema); if (!${"pp_al".$num1} and $num1 <= count($dati_ca[$num_costo]['sett_periodipermessi_ini'])) { ${"pp_al".$num1} = esegui_query("select datafine from $tableperiodi where idperiodi = '".$dati_ca[$num_costo]['sett_periodipermessi_fine'][($num1 - 1)]."'"); if (numlin_query(${"pp_al".$num1}) == 1) ${"pp_al".$num1} = risul_query(${"pp_al".$num1},0,'datafine'); } # fine if (!${"pp_al".$num1} and... echo mex("al",$pag)." "; $pp_al = ${"pp_al".$num1}; mostra_menu_date(C_DATA_PATH."/selectperiodi$anno.1.php","pp_al$num1",$pp_al,"","",$id_utente,$tema); if ($num1 == $num_periodi_permessi_sel) { $id_minus = " id=\"minus_pp".($num1 + 1)."\""; if ($num1 > 1) echo "</td><td id=\"minus_pp$num1\"><input class=\"sbutton\" type=\"submit\" name=\"elimina_periodo_permesso\" value=\"".mex("Elimina un periodo",$pag)."\" onclick=\"elim_lin_per_perm();\"></td></tr><tr><td></td><td>"; else $id_minus = " id=\"minus_pp$num1\""; echo "</td><td$id_minus><input class=\"sbutton\" type=\"submit\" name=\"aggiungi_periodo_permesso\" value=\"".mex("Aggiungi un periodo",$pag)."\" onclick=\"agg_lin_per_perm();\">"; } # fine if ($num1 == $num_periodi_permessi_sel) else echo "</td><td id=\"minus_pp$num1\">"; echo "</td></tr>"; } # fine for $num1 echo "</table> <script type=\"text/javascript\">
function genera_statistiche (&$entrate_ins_mese,&$num_prenota_ins_mese,&$entrate_prog_ins_mese,&$num_prenota_prog_ins_mese,&$percent_occupazione,&$entrate_mese,&$num_prenota_mese,&$num_origine,&$entrate_origine,&$percent_num_origine,&$percent_entrate_origine,&$num_nazionalita,&$entrate_nazionalita,&$percent_num_nazionalita,&$percent_entrate_nazionalita,&$app_occupati,&$prezzo_medio_prenota,&$revpar,&$revpar_ca,&$pagamenti,&$nazionalita_mese,&$num_giorni_mese,$anno_stat,$mesi,$date_ins,$prezzi,$appartamenti_sel,$condizione_prenota_proprie,$PHPR_TAB_PRE) { global $LIKE,$ILIKE; $tableprenota_stat = $PHPR_TAB_PRE."prenota".$anno_stat; $tablecostiprenota_stat = $PHPR_TAB_PRE."costiprenota".$anno_stat; $tableperiodi_stat = $PHPR_TAB_PRE."periodi".$anno_stat; $tablesoldi_stat = $PHPR_TAB_PRE."soldi".$anno_stat; $tableclienti = $PHPR_TAB_PRE."clienti"; $tableappartamenti = $PHPR_TAB_PRE."appartamenti"; $num_giorni_mese[$anno_stat][1] = 31; if (date("n",mktime(0,0,0,2,29,$anno_stat)) == "2") $num_giorni_mese[$anno_stat][2] = 29; else $num_giorni_mese[$anno_stat][2] = 28; $num_giorni_mese[$anno_stat][3] = 31; $num_giorni_mese[$anno_stat][4] = 30; $num_giorni_mese[$anno_stat][5] = 31; $num_giorni_mese[$anno_stat][6] = 30; $num_giorni_mese[$anno_stat][7] = 31; $num_giorni_mese[$anno_stat][8] = 31; $num_giorni_mese[$anno_stat][9] = 30; $num_giorni_mese[$anno_stat][10] = 31; $num_giorni_mese[$anno_stat][11] = 30; $num_giorni_mese[$anno_stat][12] = 31; if (strcmp($appartamenti_sel,"")) { $appartamenti_sel = explode(",",$appartamenti_sel); $num_appartamenti_sel = count($appartamenti_sel); for ($num1 = 0 ; $num1 < $num_appartamenti_sel ; $num1++) { if ($num1 == 0) $cond_app = " where ("; else $cond_app .= " or "; $cond_app .= "$tableprenota_stat.idappartamenti = '".aggslashdb($appartamenti_sel[$num1])."'"; } # fine for $num1 $cond_app .= ")"; } # fine if (strcmp($appartamenti_sel,"")) else $cond_app = ""; if ($date_ins['ini'] or $date_ins['fine']) { if ($cond_app) $cond_ins = " and ("; else $cond_ins = " where ("; if ($date_ins['ini']) $cond_ins .= "$tableprenota_stat.datainserimento >= '$anno_stat".$date_ins['ini']." 00:00:00'"; if ($date_ins['ini'] and $date_ins['fine']) $cond_ins .= " and "; if ($date_ins['fine']) $cond_ins .= "$tableprenota_stat.datainserimento <= '$anno_stat".$date_ins['fine']." 23:59:59'"; $cond_ins .= ")"; } # fine if ($date_ins['ini'] or $date_ins['fine']) else $cond_ins = ""; if ($condizione_prenota_proprie) { $condizione_prenota_proprie = str_replace("utente_inserimento","$tableprenota_stat.utente_inserimento",$condizione_prenota_proprie); if ($cond_app or $cond_ins) $condizione_prenota_proprie = " and".$condizione_prenota_proprie; else $condizione_prenota_proprie = " where".$condizione_prenota_proprie; } # fine if ($condizione_prenota_proprie) $appartamenti = esegui_query("select idappartamenti from $tableappartamenti".str_replace("$tableprenota_stat.idappartamenti = '","idappartamenti = '",$cond_app)." order by idappartamenti"); $num_appartamenti = numlin_query($appartamenti); $periodi = esegui_query("select idperiodi,datainizio,datafine from $tableperiodi_stat order by idperiodi "); $num_periodi = numlin_query($periodi); for ($num1 = 0 ; $num1 < $num_periodi ; $num1++) { $idper = risul_query($periodi,$num1,'idperiodi'); $datainizio[$idper] = risul_query($periodi,$num1,'datainizio'); $datafine[$idper] = risul_query($periodi,$num1,'datafine'); $anno_inizio = (integer) substr($datainizio[$idper],0,4); $mese_inizio = (integer) substr($datainizio[$idper],5,2); $num_periodi_mese[$anno_inizio][$mese_inizio]++; } # fine for $num1 $tutte_prenota = esegui_query("select distinct $tableprenota_stat.idprenota,$tableprenota_stat.iddatainizio,$tableprenota_stat.iddatafine,$tableprenota_stat.datainserimento,$tableprenota_stat.num_persone,$tableprenota_stat.tariffa,$tableprenota_stat.sconto,$tableprenota_stat.tariffa_tot,$tableprenota_stat.tariffesettimanali,$tableprenota_stat.caparra,$tableprenota_stat.commissioni,$tableprenota_stat.tasseperc,$tableprenota_stat.origine,$tableclienti.nazionalita from $tableprenota_stat inner join $tableclienti on $tableprenota_stat.idclienti = $tableclienti.idclienti$cond_app$cond_ins$condizione_prenota_proprie"); $num_tutte_prenota = numlin_query($tutte_prenota); $entrate_mese[$anno_stat][1] = 0; $num_prenota_mese[$anno_stat][1] = 0; for ($num1 = 0 ; $num1 < $num_tutte_prenota ; $num1++) { $id_prenota = risul_query($tutte_prenota,$num1,'idprenota',$tableprenota_stat); $id_data_inizio = risul_query($tutte_prenota,$num1,'iddatainizio',$tableprenota_stat); $id_data_fine = risul_query($tutte_prenota,$num1,'iddatafine',$tableprenota_stat); $num_sett = $id_data_fine - $id_data_inizio + 1; $data_inserimento = risul_query($tutte_prenota,$num1,'datainserimento',$tableprenota_stat); $tariffa = explode("#@&",risul_query($tutte_prenota,$num1,'tariffa',$tableprenota_stat)); $sconto = risul_query($tutte_prenota,$num1,'sconto',$tableprenota_stat); if ((double) $sconto > (double) $tariffa[1]) $sconto = $tariffa[1]; $prezzo_tariffa = (double) $tariffa[1]; $tariffa_tot = risul_query($tutte_prenota,$num1,'tariffa_tot',$tableprenota_stat); $tariffe_settimanali_int = risul_query($tutte_prenota,$num1,'tariffesettimanali',$tableprenota_stat); $tariffe_settimanali = explode(";",$tariffe_settimanali_int); $tariffe_settimanali = explode(",",$tariffe_settimanali[0]); if (!$prezzi['commissioni']) { $commissioni = (double) risul_query($tutte_prenota,$num1,'commissioni',$tableprenota_stat); if ($commissioni > 0) { $tariffa_tot = (double) $tariffa_tot - (double) $commissioni; $prezzo_tariffa = (double) $prezzo_tariffa - (double) $commissioni; $commissioni_sett = round(((double) $commissioni / ($id_data_fine - $id_data_inizio + 1)),2); for ($num2 = 0 ; $num2 < count($tariffe_settimanali) ; $num2++) $tariffe_settimanali[$num2] = (double) $tariffe_settimanali[$num2] - (double) $commissioni_sett; $resto_arr = (double) $commissioni - ((double) $commissioni_sett * ($id_data_fine - $id_data_inizio + 1)); $tariffe_settimanali[0] = (double) $tariffe_settimanali[0] - (double) $resto_arr; } # fine if ($commissioni > 0) } # fine if (!$prezzi['commissioni']) if (!$prezzi['tasse']) { $tasse_tot = 0; $tasse_perc = (double) risul_query($tutte_prenota,$num1,'tasseperc',$tableprenota_stat); $caparra = (double) risul_query($tutte_prenota,$num1,'caparra',$tableprenota_stat); $numpersone = risul_query($tutte_prenota,$num1,'num_persone',$tableprenota_stat); if ($tasse_perc) { $tasse = (((double) $tariffa[1] - (double) $sconto) / ($tasse_perc + 100)) * $tasse_perc; $tasse = $tasse / (double) $prezzi['tasse_arrotond']; $tasse = round($tasse); $tasse = $tasse * (double) $prezzi['tasse_arrotond']; $tasse_tot = (double) $tasse_tot + $tasse; } # fine if ($tasse_perc) $prezzo_tariffa = (double) $prezzo_tariffa - (double) $tasse_tot; $tasse_sett = round(((double) $tasse_tot / ($id_data_fine - $id_data_inizio + 1)),2); for ($num2 = 0 ; $num2 < count($tariffe_settimanali) ; $num2++) $tariffe_settimanali[$num2] = (double) $tariffe_settimanali[$num2] - (double) $tasse_sett; $resto_arr = (double) $tasse_tot - ((double) $tasse_sett * ($id_data_fine - $id_data_inizio + 1)); $tariffe_settimanali[0] = (double) $tariffe_settimanali[0] - (double) $resto_arr; $dati_cap = dati_costi_agg_prenota($tablecostiprenota_stat,$id_prenota); $costo_agg_tot = 0; $costo_escludi_perc = 0; for ($numca = 0 ; $numca < $dati_cap['num'] ; $numca++) { $costo_agg_parziale = (double) calcola_prezzo_totale_costo($dati_cap,$numca,$id_data_inizio,$id_data_fine,$dati_cap[$numca]['settimane'],$dati_cap[$numca]['moltiplica_costo'],$tariffa[1],$tariffe_settimanali_int,((double) $tariffa[1] + $costo_agg_tot - (double) $sconto),$caparra,$numpersone,$costo_escludi_perc); $costo_agg_tot = (double) $costo_agg_tot + $costo_agg_parziale; if ($dati_cap[$numca]['escludi_tot_perc'] == "s") $costo_escludi_perc = (double) $costo_escludi_perc + $costo_agg_parziale; if ($dati_cap[$numca]['tasseperc']) { if ($dati_cap[$numca]['tasseperc'] == -1) $tasse_ca = (double) $costo_agg_parziale; else { $tasse_ca = ($costo_agg_parziale / (double) ($dati_cap[$numca]['tasseperc'] + 100)) * (double) $dati_cap[$numca]['tasseperc']; $tasse_ca = $tasse_ca / $prezzi['tasse_arrotond']; $tasse_ca = round($tasse_ca); $tasse_ca = $tasse_ca * (double) $prezzi['tasse_arrotond']; } # fine else if ($dati_cap[$numca]['tasseperc'] == -1) $tasse_tot = (double) $tasse_tot + (double) $tasse_ca; } # fine if ($dati_cap[$numca]['tasseperc']) } # fine for $numca $tariffa_tot = (double) $tariffa_tot - (double) $tasse_tot; } # fine if (!$prezzi['tasse']) $val_medio_costi_agg_e_sconto_per_sett = round((((double) $tariffa_tot - (double) $prezzo_tariffa) / (double) $num_sett),2); $val_medio_sconto_per_sett = round(((double) $sconto / (double) $num_sett),2); $origine = risul_query($tutte_prenota,$num1,'origine',$tableprenota_stat); $nazionalita = risul_query($tutte_prenota,$num1,'nazionalita',$tableprenota_stat); $anno_ins = (integer) substr($data_inserimento,0,4); $mese_ins = (integer) substr($data_inserimento,5,2); if (substr($datainizio[$id_data_inizio],0,4) == $anno_stat) { if ($anno_ins < $anno_stat) { $anno_ins = (integer) $anno_stat; $mese_ins = (integer) 0; } # fine if ($anno_ins < $anno_stat) $entrate_ins_mese[$anno_ins][$mese_ins] = (double) $entrate_ins_mese[$anno_ins][$mese_ins] + (double) $tariffa_tot; $num_prenota_ins_mese[$anno_ins][$mese_ins]++; } # fine if (substr($datainizio[$id_data_inizio],0,4) == $anno_stat) $ultimo_mese_inizio = ""; for ($num2 = $id_data_inizio ; $num2 <= $id_data_fine ; $num2++) { $anno_inizio = (integer) substr($datainizio[$num2],0,4); $mese_inizio = (integer) substr($datainizio[$num2],5,2); $app_occupati[$anno_inizio][$mese_inizio]++; $entrate_mese[$anno_inizio][$mese_inizio] = (double) $entrate_mese[$anno_inizio][$mese_inizio] + (double) $tariffe_settimanali[($num2 - $id_data_inizio)] + (double) $val_medio_costi_agg_e_sconto_per_sett; $entrate_mese_no_ca[$anno_inizio][$mese_inizio] = (double) $entrate_mese_no_ca[$anno_inizio][$mese_inizio] + (double) $tariffe_settimanali[($num2 - $id_data_inizio)] - (double) $val_medio_sconto_per_sett; if ($mese_inizio != $ultimo_mese_inizio) $num_prenota_mese[$anno_inizio][$mese_inizio]++; $ultimo_mese_inizio = $mese_inizio; } # fine for $num2 $anno_inizio = (integer) substr($datainizio[$id_data_inizio],0,4); $mese_inizio = (integer) substr($datainizio[$id_data_inizio],5,2); if ($mesi[$mese_inizio]) { $num_prenota_mese[$anno_inizio]['TOT']++; if ($origine != "") { $num_origine[$anno_inizio][$origine]++; $entrate_origine[$anno_inizio][$origine] = (double) $entrate_origine[$anno_inizio][$origine] + (double) $tariffa_tot; } # fine if ($origine != "") if ($nazionalita != "") { $num_nazionalita[$anno_inizio][$nazionalita]++; $entrate_nazionalita[$anno_inizio][$nazionalita] = (double) $entrate_nazionalita[$anno_inizio][$nazionalita] + (double) $tariffa_tot; } # fine if ($nazionalita != "") $pagamenti_p = esegui_query("select metodo_pagamento,saldo_prenota from $tablesoldi_stat where saldo_prenota is not NULL and motivazione $LIKE '%;$id_prenota' order by data_inserimento"); $num_pagamenti_p = numlin_query($pagamenti_p); for ($num2 = 0 ; $num2 < $num_pagamenti_p ; $num2++) { $metodo_pagamento = risul_query($pagamenti_p,$num2,'metodo_pagamento'); $saldo_prenota = risul_query($pagamenti_p,$num2,'saldo_prenota'); if ($metodo_pagamento) $pagamenti[$anno_inizio][$metodo_pagamento] = (double) $pagamenti[$anno_inizio][$metodo_pagamento] + (double) $saldo_prenota; } # fine for $num2 } # fine if ($mesi[$mese_inizio]) } # fine for $num1 $percent_occupazione[$anno_stat]['TOT'] = 0; $revpar[$anno_stat]['TOT'] = 0; $revpar_ca[$anno_stat]['TOT'] = 0; $num_mesi_media = 0; $num_giorni_revpar = 0; $num_giorni_revpar_ca = 0; $entrate_prog_ins_mese[$anno_stat][0] = (double) $entrate_ins_mese[$anno_stat][0]; $num_prenota_prog_ins_mese[$anno_stat][0] = $num_prenota_ins_mese[$anno_stat][0]; for ($num1 = 1 ; $num1 <= 12 ; $num1++) { $entrate_prog_ins_mese[$anno_stat][$num1] = (double) $entrate_prog_ins_mese[$anno_stat][($num1 - 1)] + (double) $entrate_ins_mese[$anno_stat][$num1]; $num_prenota_prog_ins_mese[$anno_stat][$num1] = $num_prenota_prog_ins_mese[$anno_stat][($num1 - 1)] + $num_prenota_ins_mese[$anno_stat][$num1]; if (!$app_occupati[$anno_stat][$num1] or !$num_periodi_mese[$anno_stat][$num1] or !$num_appartamenti) $percent_occupazione[$anno_stat][$num1] = 0; else $percent_occupazione[$anno_stat][$num1] = round(($app_occupati[$anno_stat][$num1] / ($num_appartamenti * $num_periodi_mese[$anno_stat][$num1]) * 100),1); if ($mesi[$num1]) { $percent_occupazione[$anno_stat]['TOT'] = (double) $percent_occupazione[$anno_stat]['TOT'] + (double) $percent_occupazione[$anno_stat][$num1]; $num_mesi_media++; if ($num_appartamenti) { $revpar[$anno_stat][$num1] = round(((double) $entrate_mese_no_ca[$anno_stat][$num1] / ((double) $num_appartamenti * (double) $num_giorni_mese[$anno_stat][$num1])),2); $revpar_ca[$anno_stat][$num1] = round(((double) $entrate_mese[$anno_stat][$num1] / ((double) $num_appartamenti * (double) $num_giorni_mese[$anno_stat][$num1])),2); } # fine if ($num_appartamenti) $entrate_mese[$anno_stat]['TOT'] = (double) $entrate_mese[$anno_stat]['TOT'] + (double) $entrate_mese[$anno_stat][$num1]; $entrate_mese_no_ca[$anno_stat]['TOT'] = (double) $entrate_mese_no_ca[$anno_stat]['TOT'] + (double) $entrate_mese_no_ca[$anno_stat][$num1]; $app_occupati[$anno_stat]['TOT'] = (double) $app_occupati[$anno_stat]['TOT'] + (double) $app_occupati[$anno_stat][$num1]; $num_giorni_revpar = $num_giorni_revpar + $num_giorni_mese[$anno_stat][$num1]; $num_giorni_revpar_ca = $num_giorni_revpar_ca + $num_giorni_mese[$anno_stat][$num1]; if ($app_occupati[$anno_stat][$num1]) $prezzo_medio_prenota[$anno_stat][$num1] = (double) $entrate_mese[$anno_stat][$num1] / (double) $app_occupati[$anno_stat][$num1]; else $prezzo_medio_prenota[$anno_stat][$num1] = (double) 0; } # fine if ($mesi[$num1]) } # fine for $num1 if ($num_mesi_media) $percent_occupazione[$anno_stat]['TOT'] = round(((double) $percent_occupazione[$anno_stat]['TOT'] / (double) $num_mesi_media),1); if ($num_giorni_revpar and $num_appartamenti) $revpar[$anno_stat]['TOT'] = round(((double) $entrate_mese_no_ca[$anno_stat]['TOT'] / ((double) $num_appartamenti * (double) $num_giorni_revpar)),2); if ($num_giorni_revpar_ca and $num_appartamenti) $revpar_ca[$anno_stat]['TOT'] = round(((double) $entrate_mese[$anno_stat]['TOT'] / ((double) $num_appartamenti * (double) $num_giorni_revpar_ca)),2); if ($app_occupati[$anno_stat]['TOT']) $prezzo_medio_prenota[$anno_stat]['TOT'] = (double) $entrate_mese[$anno_stat]['TOT'] / (double) $app_occupati[$anno_stat]['TOT']; if (@is_array($num_origine)) { $num_origine_anno = $num_origine[$anno_stat]; if (@is_array($num_origine_anno)) { reset($num_origine_anno); while (list($orig,$val) = each($num_origine_anno)) { if (!$val or !$num_prenota_mese[$anno_stat]['TOT']) $percent_num_origine[$anno_stat][$orig] = 0; else $percent_num_origine[$anno_stat][$orig] = round(((double) $val / (double) $num_prenota_mese[$anno_stat]['TOT'] * 100),1); if (!$entrate_origine[$anno_stat][$orig] or !$entrate_mese[$anno_stat]['TOT']) $percent_entrate_origine[$anno_stat][$orig] = 0; else $percent_entrate_origine[$anno_stat][$orig] = round(((double) $entrate_origine[$anno_stat][$orig] / (double) $entrate_mese[$anno_stat]['TOT'] * 100),1); } # fine while (list($orig,$val) = each($num_origine_anno)) } # fine if (@is_array($num_origine_anno)) } # fine if (@is_array($num_origine)) if (@is_array($num_nazionalita)) { $num_nazionalita_anno = $num_nazionalita[$anno_stat]; reset($num_nazionalita_anno); while (list($nazion,$val) = each($num_nazionalita_anno)) { if (!$val or !$num_prenota_mese[$anno_stat]['TOT']) $percent_num_nazionalita[$anno_stat][$nazion] = 0; else $percent_num_nazionalita[$anno_stat][$nazion] = round(((double) $val / (double) $num_prenota_mese[$anno_stat]['TOT'] * 100),1); if (!$entrate_nazionalita[$anno_stat][$nazion] or !$entrate_mese[$anno_stat]['TOT']) $percent_entrate_nazionalita[$anno_stat][$nazion] = 0; else $percent_entrate_nazionalita[$anno_stat][$nazion] = round(((double) $entrate_nazionalita[$anno_stat][$nazion] / (double) $entrate_mese[$anno_stat]['TOT'] * 100),1); } # fine while (list($nazion,$val) = each($num_nazionalita_anno)) } # fine if (@is_array($num_nazionalita)) } # fine function genera_statistiche
header("Content-Transfer-Encoding: none"); header("Content-Type: application/rtf; name=\"$nome_file\""); #header("Content-Type: application/octetstream; name=\"$nome_file\""); #header("Content-Type: application/octet-stream; name=\"$nome_file\""); header("Content-Disposition: inline; filename=\"$nome_file\""); #header("Content-length: $lunghezza_file"); } # fine if ($tipo_contratto == "contrrtf" and !$dir_salva) if ($tipo_contratto == "contrtxt" and !$dir_salva) { $mostra_headers = "NO"; if ($nome_file_contr) { $nome_file = $nome_file_contr[$n_file]; if (substr($nome_file,-3) == ".gz") $nome_file = substr($nome_file,0,-3); } # fine if ($nome_file_contr) else $nome_file = str_replace("\\","_",str_replace("/","_",str_replace(" ","_",$nome_contratto))).".txt"; $est_txt = esegui_query("select * from $tablecontratti where numero = '$numero_contratto' and tipo = 'est_txt'"); if (numlin_query($est_txt)) { $est_txt = risul_query($est_txt,0,'testo'); $nome_file = substr($nome_file,0,-4).".$est_txt"; } # fine if (numlin_query($est_txt)) header("Pragma: public"); header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: pre-check=0, post-check=0, max-age=0"); header("Content-Transfer-Encoding: none"); header("Content-Type: application/text; name=\"$nome_file\""); #header("Content-Type: application/octetstream; name=\"$nome_file\""); #header("Content-Type: application/octet-stream; name=\"$nome_file\""); header("Content-Disposition: inline; filename=\"$nome_file\""); #header("Content-length: $lunghezza_file"); } # fine if ($tipo_contratto == "contrtxt" and !$dir_salva)
else $num_campi_pers_cliente = 0; $campo_personalizzato_ = mex2("campo_personalizzato")."_"; include("./includes/variabili_contratto.php"); $num_var_predef--; $num_int_contr = $num_contratto; while ((string) substr($num_int_contr,0,1) == (string) "0") $num_int_contr = substr($num_int_contr,1); $variabili_pers = esegui_query("select * from $tablecontratti where tipo = 'var' or tipo = 'var$num_int_contr' order by tipo, numero"); $num_variabili_pers = numlin_query($variabili_pers); for ($num1 = 0 ; $num1 < $num_variabili_pers ; $num1++) { $var_pers = risul_query($variabili_pers,$num1,'testo'); $num_var_pers = risul_query($variabili_pers,$num1,'numero'); $var_predef[$num_var_predef] = $var_pers; $num_var_predef++; } # fine for $num1 $array_pers = esegui_query("select * from $tablecontratti where tipo = 'vett' or tipo = 'vett$num_int_contr' order by tipo, numero"); $num_array_pers = numlin_query($array_pers); for ($num1 = 0 ; $num1 < $num_array_pers ; $num1++) { $arr_pers_vett = explode(";",risul_query($array_pers,$num1,'testo')); $arr_pers = $arr_pers_vett[0]; $var_arr_pers = $arr_pers_vett[1]; $num_arr_pers = risul_query($array_pers,$num1,'numero'); $var_predef[$num_var_predef] = "$arr_pers(".mex2($var_arr_pers).")"; $num_var_predef++; $option_array .= "<option value=\"a$arr_pers\">".mex("ripetizione array",$pag)." $arr_pers</option>"; } # fine for $num1 for ($num1 = 0 ; $num1 < $num_var_predef ; $num1++) { $linea_mod .= "<option value=\"".mex2($var_predef[$num1])."\">".mex2($var_predef[$num1])."</option>"; } # fine for $num1 $linea_mod .= "</select> <input class=\"sbutton\" type=\"submit\" name=\"aggiungi_var\" value=\"".mex("Aggiungi",$pag)."\">
function crea_contratto($numero_contratto, &$tipo_contratto, $id_utente, $id_sessione, $origine, $origine_vecchia, $trad_var_vett = "", $set_glob = "") { global $var_predef, $num_var_predef, $num_var_predef_ripeti, $num_ripeti, $tariffa_selezionata, $num_costo_agg_sel, $anno, $pag, $lingua_mex, $LIKE, $ILIKE, $modifica_pers, $vedi_clienti, $dir_salva, $nome_file_contr, $utenti_gruppi; global $tablecontratti, $tableclienti, $tablerclientiprenota, $tablepersonalizza, $tableutenti, $tablerelutenti, $tablenazioni, $tableregioni, $tablecitta, $tabledocumentiid, $tableparentele, $tableappartamenti, $tableperiodi; global $data_inizio_selezione, $data_fine_selezione, $var_riserv, $var_predef_data, $messaggio_di_errore, $testo_email_richiesta, $num_campi_pers_cliente, $numero_inserimento_pers; $n_utenti = esegui_query("select idutenti,nome_utente from {$tableutenti} "); for ($num1 = 0; $num1 < numlin_query($n_utenti); $num1++) { $n_utente_contr[risul_query($n_utenti, $num1, 'idutenti')] = risul_query($n_utenti, $num1, 'nome_utente'); } if (!$set_glob and $n_r > 100) { $unset_glob = 1; } $data_inizio_selezione_orig = $data_inizio_selezione; $data_fine_selezione_orig = $data_fine_selezione; for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { for ($num1 = 0; $num1 < $num_var_predef_ripeti; $num1++) { if (strcmp($GLOBALS[$var_predef[$num1] . "_" . $n_r], "")) { ${$var_predef[$num1] . "_" . $n_r} = $GLOBALS[$var_predef[$num1] . "_" . $n_r]; } if ($unset_glob) { unset($GLOBALS[$var_predef[$num1] . "_" . $n_r]); } } # fine for $num1 if (!$data_primo_arrivo or ${"data_inizio_" . $n_r} < $data_primo_arrivo) { $data_primo_arrivo = ${"data_inizio_" . $n_r}; } if (!$data_ultima_partenza or ${"data_fine_" . $n_r} > $data_ultima_partenza) { $data_ultima_partenza = ${"data_fine_" . $n_r}; } ${"utente_inserimento_prenotazione" . "_" . $n_r} = $n_utente_contr[${"utente_inserimento_prenotazione" . "_" . $n_r}]; } # fine for $n_r if (!$data_inizio_selezione_orig) { $data_inizio_selezione = $data_primo_arrivo; } if (!$data_fine_selezione_orig) { $data_fine_selezione = $data_ultima_partenza; } if ($unset_glob) { for ($num1 = $num_var_predef_ripeti; $num1 < $num_var_predef; $num1++) { unset($var_predef[$num1]); } } $messaggio_di_errore = ""; $stile_soldi = stile_soldi($id_utente); $stile_data = stile_data($id_utente); $dati_app = esegui_query("select * from {$tableappartamenti} order by idappartamenti "); $num_unita = numlin_query($dati_app); for ($num1 = 1; $num1 <= $num_unita; $num1++) { $dati_app_contr[$num1]['nome'] = risul_query($dati_app, $num1 - 1, 'idappartamenti'); $dati_app_contr[$num1]['casa'] = risul_query($dati_app, $num1 - 1, 'numcasa'); $dati_app_contr[$num1]['piano'] = risul_query($dati_app, $num1 - 1, 'numpiano'); $dati_app_contr[$num1]['capacita'] = risul_query($dati_app, $num1 - 1, 'maxoccupanti'); $dati_app_contr[$num1]['priorita'] = risul_query($dati_app, $num1 - 1, 'priorita'); } # fine for $num1 unset($dati_app); $data_inizio_selezione_orig = $data_inizio_selezione; $data_fine_selezione_orig = $data_fine_selezione; if ($data_inizio_selezione) { $data_inizio_selezione_f = formatta_data_contr($data_inizio_selezione, $stile_data); } if ($data_fine_selezione) { $data_fine_selezione_f = formatta_data_contr($data_fine_selezione, $stile_data); } $ritorno_a_capo = "\r"; $avanzamento_riga = "\n"; $nome_valuta = nome_valuta($id_utente); $oggi = date("Y-m-d", time() + C_DIFF_ORE * 3600); $oggi_orig = $oggi; $oggi_f = formatta_data_contr($oggi, $stile_data); if ($lingua_mex) { $fr_via = mex("via", $pag); } if ($testo_email_richiesta) { if (get_magic_quotes_gpc()) { $testo_email_richiesta = stripslashes($testo_email_richiesta); } $testo_quotato_email_richiesta_orig = "> " . str_replace("\n", "\n> ", $testo_email_richiesta); if ($lingua_mex) { $testo_quotato_email_richiesta_orig = "<email_richiesta> " . mex("ha scritto", $pag) . ":\n" . $testo_quotato_email_richiesta_orig; } } else { $testo_quotato_email_richiesta_orig = ""; } $arrotond_tasse = esegui_query("select * from {$tablepersonalizza} where idpersonalizza = 'arrotond_tasse' and idutente = '{$id_utente}'"); $arrotond_tasse = risul_query($arrotond_tasse, 0, 'valpersonalizza'); $nome_struttura = esegui_query("select * from {$tablepersonalizza} where idpersonalizza = 'dati_struttura' and idutente = '{$id_utente}'"); $nome_struttura = explode("#@&", risul_query($nome_struttura, 0, 'valpersonalizza')); $tipo_struttura = $nome_struttura[1]; $email_struttura = $nome_struttura[2]; $ragione_sociale_struttura = $nome_struttura[3]; $sito_web_struttura = $nome_struttura[4]; $nome_contatto_struttura = $nome_struttura[5]; $nazione_struttura = $nome_struttura[6]; $comune_struttura = $nome_struttura[7]; $indirizzo_struttura = $nome_struttura[8]; $CAP_struttura = $nome_struttura[9]; $telefono_struttura = $nome_struttura[10]; $fax_struttura = $nome_struttura[11]; $codice_fiscale_struttura = $nome_struttura[12]; $partita_iva_struttura = $nome_struttura[13]; $numero_stelle_struttura = $nome_struttura[14]; $logo_struttura = $nome_struttura[15]; $nome_struttura = $nome_struttura[0]; $num_contr_vc = $numero_contratto; $contr_imp_vc = esegui_query("select testo from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'impor_vc' "); if (numlin_query($contr_imp_vc)) { $num_contr_vc = risul_query($contr_imp_vc, 0, 'testo'); } $variabili = esegui_query("select * from {$tablecontratti} where tipo = 'var' or tipo = 'var{$num_contr_vc}' order by tipo, numero"); $num_variabili = numlin_query($variabili); $arrays = esegui_query("select * from {$tablecontratti} where tipo = 'vett' or tipo = 'vett{$num_contr_vc}' order by tipo, numero"); $num_arrays = numlin_query($arrays); $condizioni_ini_d = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'ind%' order by tipo, numero"); $num_condizioni_ini_d = numlin_query($condizioni_ini_d); $condizioni_ini_r = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'inr%' order by tipo, numero"); $num_condizioni_ini_r = numlin_query($condizioni_ini_r); $condizioni = esegui_query("select * from {$tablecontratti} where (tipo = 'cond' or tipo = 'cond{$num_contr_vc}') and testo {$LIKE} 'rpt%' order by tipo, numero"); $num_condizioni = numlin_query($condizioni); $dir_salva = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'dir'"); if (numlin_query($dir_salva) == 1) { $dir_salva = formatta_dir_salva_doc(risul_query($dir_salva, 0, 'testo')); } else { $dir_salva = ""; } $dati_contratto = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo {$LIKE} 'contr%'"); $tipo_contratto = risul_query($dati_contratto, 0, 'tipo'); $contratto_orig = risul_query($dati_contratto, 0, 'testo'); $contr_multilingua = 0; unset($contratti_orig_mln); unset($lingue_contr); $num_contr_mln = 1; if (substr($contratto_orig, 0, 7) == "#!mln!#") { $contr_multilingua = 1; $contratti_orig_mln['predef'] = substr($contratto_orig, 7); $dati_contratti_mln = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo {$LIKE} 'mln_%'"); $num_contr_mln = numlin_query($dati_contratti_mln); for ($num1 = 0; $num1 < $num_contr_mln; $num1++) { $lingua_contr = substr(risul_query($dati_contratti_mln, $num1, 'tipo'), 4); $lingue_contr[$num1] = $lingua_contr; $contratti_orig_mln[$lingua_contr] = risul_query($dati_contratti_mln, $num1, 'testo'); } # fine for $num1 $contratto_orig = $contratti_orig_mln[$contratti_orig_mln['predef']]; } # fine if (substr($contratto_orig,0,7) == "#!mln!#") if ($tipo_contratto == "contrhtm") { $tag_b = "<b>"; $tag_no_b = "</b>"; $tag_spazio = " "; $tag_acapo = "<br>"; } # fine if ($tipo_contratto == "contrhtm") if ($tipo_contratto == "contreml") { $tag_spazio = " "; $tag_acapo = "\n"; $oggetto_email = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'oggetto'"); $oggetto_email = risul_query($oggetto_email, 0, 'testo'); $allegato_email = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'allegato'"); $allegato_email = risul_query($allegato_email, 0, 'testo'); if ($allegato_email) { $allegato_email = esegui_query("select * from {$tablecontratti} where numero = '{$allegato_email}' and tipo = 'file_all'"); $allegato_email = risul_query($allegato_email, 0, 'testo'); $allegato_email = explode(",", $allegato_email); $allegato_email = $allegato_email[0]; } # fine if ($allegato_email) $nome_mittente_email = $nome_contatto_struttura; $mittente_email = $email_struttura; if ($nome_mittente_email) { $mittente_email = "{$nome_mittente_email} <{$mittente_email}>"; } } # fine if ($tipo_contratto == "contreml") if ($tipo_contratto == "contrrtf") { $tag_spazio = " "; $tag_acapo = "}\n\\par \\pard\\plain \\ltrpar\\s1\\cf0{\\*\\hyphen2\\hyphlead2\\hyphtrail2\\hyphmax0}\\rtlch\\af3\\afs24\\lang255\\ltrch\\dbch\\af3\\langfe255\\hich\\f0\\fs24\\lang1040\\loch\\f0\\fs24\\lang1040 {\\rtlch \\ltrch\\loch\\f0\\fs24\\lang1040\\i0\\b0 "; } # fine if ($tipo_contratto == "contrrtf") if ($tipo_contratto == "contrtxt") { $tag_spazio = " "; $tag_acapo = "\n"; } # fine if ($tipo_contratto == "contrtxt") if (str_replace("[r]", "", $contratto_orig) == $contratto_orig or $contr_multilingua) { $ripeti_tutto = 1; } else { $ripeti_tutto = 0; } $nome_file_contr = ""; $filecontr = ""; $num_prog_contr = ""; $num_prog_contr_max = ""; $incr_np = 0; if ($dir_salva) { global $nomi_contratti, $num_contr_esist, $nome_file_contr_esist, $cont_salva, $lista_var_form, $num_file_salva, $sovrascrivi, $priv_cancella_contratti; $nome_contratto = $nomi_contratti['salv'][$numero_contratto]; if (get_magic_quotes_gpc()) { $sovrascrivi = stripslashes($sovrascrivi); } if ($priv_cancella_contratti == "n") { $sovrascrivi = ""; } if ($ripeti_tutto) { $num_file_salva = $num_ripeti; } else { $num_file_salva = 1; } $anno_corr = date("Y"); if ($anno_corr != $anno + 1 or @is_file(C_DATA_PATH . "/selectperiodi{$anno_corr}.1.php")) { $anno_corr = $anno; } $incrementa_num_prog = esegui_query("select * from {$tablecontratti} where numero = '{$numero_contratto}' and tipo = 'incr_np'"); if (numlin_query($incrementa_num_prog)) { $incr_np = risul_query($incrementa_num_prog, 0, 'testo'); } $lista_var_form = ""; if (@is_array($_POST)) { reset($_POST); } for ($num1 = 0; $num1 < count($_POST); $num1++) { $lista_var_form .= "<input type=\"hidden\" name=\"" . htmlspecialchars(key($_POST)) . "\" value=\"" . htmlspecialchars(strip_magic_slashs($_POST[key($_POST)])) . "\">"; next($_POST); } # fine for $num1 if (@is_array($_GET)) { reset($_GET); } for ($num1 = 0; $num1 < count($_GET); $num1++) { $lista_var_form .= "<input type=\"hidden\" name=\"" . htmlspecialchars(key($_GET)) . "\" value=\"" . htmlspecialchars(strip_magic_slashs($_GET[key($_GET)])) . "\">"; next($_GET); } # fine for $num1 $filelock = fopen(C_DATA_PATH . "/crea_contr.lock", "w+"); flock($filelock, 2); if ($tipo_contratto == "contrrtf") { $suff_file = "rtf"; } if ($tipo_contratto == "contrhtm") { $suff_file = "html"; } if ($tipo_contratto == "contrtxt") { $suff_file = "txt"; } for ($num1 = 1; $num1 <= $num_ripeti; $num1++) { global ${"id_anni_prec_" . $num1}; $id_pren[$num1] = ${"numero_prenotazione_" . $num1}; } # fine for $num1 $num_contr_esist = 0; $nome_file_contr_esist = ""; $n_prog_contr = 0; $num_sovrascrivi = 0; $num_sovrascrivi_max = 0; $contr_dir = opendir($dir_salva . "/"); while ($contr_corr = readdir($contr_dir)) { if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva . "/" . $contr_corr)) { if (substr($contr_corr, 0, strlen($nome_contratto)) == $nome_contratto) { $contr_corr_orig = $contr_corr; if (substr($contr_corr, -3) == ".gz") { $contr_corr = substr($contr_corr, 0, -3); } $suff_file_corr = ""; if (substr($contr_corr, -4) == ".rtf") { $suff_file_corr = "rtf"; } if (substr($contr_corr, -5) == ".html") { $suff_file_corr = "html"; } if (substr($contr_corr, -4) == ".txt") { $suff_file_corr = "txt"; } if ($suff_file_corr) { $resto_nome_contr = substr($contr_corr, strlen($nome_contratto)); if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\\.{$suff_file_corr}/", "", $resto_nome_contr) == "") { $anno_contr = substr($resto_nome_contr, 1, 4); $n_contr_corr = explode("_", $resto_nome_contr); $n_contr_corr = $n_contr_corr[2]; $resto_nome_contr = substr($resto_nome_contr, 7 + strlen($n_contr_corr)); if (str_replace("-", "", $n_contr_corr) != $n_contr_corr) { $n_contr_corr = explode("-", $n_contr_corr); $n_contr_ini_corr = $n_contr_corr[0]; $n_contr_corr = $n_contr_corr[1]; } else { $n_contr_ini_corr = 0; } if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) { $n_prog_contr = $n_contr_corr; } if (!$cont_salva and $lista_var_form) { $num_pren_esist = substr($resto_nome_contr, 0, -1 * (strlen($suff_file_corr) + 1)); if ($num_pren_esist) { $num_pren_esist = explode("_", $num_pren_esist); for ($num1 = 0; $num1 < count($num_pren_esist); $num1++) { $num_pren_esist2 = explode("-", $num_pren_esist[$num1]); $fine_for = $num_pren_esist2[count($num_pren_esist2) - 1]; for ($num2 = $num_pren_esist2[0]; $num2 <= $fine_for; $num2++) { for ($num3 = 1; $num3 <= $num_ripeti; $num3++) { if ($num2 == $id_pren[$num3] and ($anno_contr == $anno or $anno_contr == $anno_corr) or str_replace(";{$anno_contr},{$num2};", "", ${"id_anni_prec_" . $num3}) != ${"id_anni_prec_" . $num3} and $anno_contr != $anno and $anno_contr != $anno_corr) { $num_contr_esist++; $nome_file_contr_esist[$num_contr_esist] = $contr_corr_orig; if ($contr_corr_orig == $sovrascrivi and $num_file_salva == 1) { $num_sovrascrivi_max = $n_contr_corr; if ($n_contr_ini_corr) { $num_sovrascrivi = $n_contr_ini_corr; } else { $num_sovrascrivi = $n_contr_corr; } $anno_corr = $anno_contr; unlink($dir_salva . "/" . $contr_corr_orig); if ($id_pren[$num3] != $num2) { ${"numero_prenotazione_" . $num3} = $num2; } } # fine if ($contr_corr_orig == $sovrascrivi and... break 3; } # fine if (($num2 == $id_prenota[$num3] and... } # fine for $num3 } # fine for $num2 } # fine for $num1 } # fine if ($num_pren_esist) } # fine if (!$cont_salva and $lista_var_form) } # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,5}\.$suff_file_corr/","",$resto_nome_contr) == "") } # fine if ($suff_file_corr) } # fine if (substr($contr_corr,0,strlen($nome_contratto)) == $nome_contratto) } # fine if ($contr_corr != "." and $contr_corr != ".." and... } # fine while ($contr_corr = readdir($contr_dir)) closedir($contr_dir); if ($num_sovrascrivi) { $num_contr_esist = 0; if ($incr_np and $num_sovrascrivi_max < $n_prog_contr) { $num_prog_contr_max = $num_sovrascrivi_max; } $n_prog_contr = $num_sovrascrivi - 1; } # fine if ($num_sovrascrivi) if (!$num_sovrascrivi or $incr_np and !$num_prog_contr_max) { # se il contratto condivide il numero progressivo con altri contratti if (@is_array($nomi_contratti['num_prog'])) { $altri_contr_np = $nomi_contratti['num_prog'][$dir_salva . "/" . $nome_contratto]; if (@is_array($altri_contr_np)) { reset($altri_contr_np); while (list($contr_np, $val_contr) = each($altri_contr_np)) { $nome_contratto_np = explode("/", $contr_np); $nome_contratto_np = $nome_contratto_np[count($nome_contratto_np) - 1]; $dir_salva_np = substr($contr_np, 0, -1 * (strlen($nome_contratto_np) + 1)); $contr_dir = opendir($dir_salva_np . "/"); while ($contr_corr = readdir($contr_dir)) { if ($contr_corr != "." and $contr_corr != ".." and is_file($dir_salva_np . "/" . $contr_corr)) { if (substr($contr_corr, 0, strlen($nome_contratto_np)) == $nome_contratto_np) { if (substr($contr_corr, -3) == ".gz") { $contr_corr = substr($contr_corr, 0, -3); } $suff_file_corr = ""; if (substr($contr_corr, -4) == ".rtf") { $suff_file_corr = "rtf"; } if (substr($contr_corr, -5) == ".html") { $suff_file_corr = "html"; } if (substr($contr_corr, -4) == ".txt") { $suff_file_corr = "txt"; } if ($suff_file_corr) { $resto_nome_contr = substr($contr_corr, strlen($nome_contratto_np)); if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\\.{$suff_file_corr}/", "", $resto_nome_contr) == "") { $anno_contr = substr($resto_nome_contr, 1, 4); $n_contr_corr = explode("_", $resto_nome_contr); $n_contr_corr = $n_contr_corr[2]; if (str_replace("-", "", $n_contr_corr) != $n_contr_corr) { $n_contr_corr = explode("-", $n_contr_corr); $n_contr_corr = $n_contr_corr[1]; } # fine if (str_replace("-","",$n_contr_corr) != $n_contr_corr) if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) { if (!$num_sovrascrivi) { $n_prog_contr = $n_contr_corr; } else { $num_prog_contr_max = $num_sovrascrivi_max; break; } # fine else if (!$num_sovrascrivi) } # fine if ($n_contr_corr > $n_prog_contr and $anno_contr == $anno_corr) } # fine if (preg_replace("/_[0-9]{4,4}_[0-9]{5,8}(-[0-9]{5,8})?(_[0-9]+(-[0-9]+)?)*\.$suff_file_corr/","",$resto_nome_contr) == "") } # fine if ($suff_file_corr) } # fine if (substr($contr_corr,0,strlen($nome_contratto_np)) == $nome_contratto_np) } # fine if ($contr_corr != "." and $contr_corr != ".." and... } # fine while ($fattura_corr = readdir($fatture_dir)) closedir($contr_dir); } # fine while (list($contr_np,$val_contr) = each($altri_contr_np)) } # fine if (@is_array($altri_contr_np)) } # fine if (@is_array($nomi_contratti['num_prog'])) } # fine if (!$num_sovrascrivi or ($incr_np and !$num_prog_contr_max)) if ($num_contr_esist) { return 0; } for ($num1 = 1; $num1 <= $num_file_salva; $num1++) { $n_prog_contr++; $num_prog_contr[$num1] = $n_prog_contr; $nome_file_contr[$num1] = $n_prog_contr; for ($num2 = strlen($nome_file_contr[$num1]); $num2 < 5; $num2++) { $nome_file_contr[$num1] = "0" . $nome_file_contr[$num1]; } if ($incr_np) { $nome_file_contr[$num1] .= " "; } if ($ripeti_tutto) { if (${"numero_prenotazione_" . $num1} and preg_replace("/[0-9]+/", "", ${"numero_prenotazione_" . $num1}) == "") { $nome_file_contr[$num1] .= "_" . ${"numero_prenotazione_" . $num1}; } } else { unset($lista_num_prenota); for ($num2 = 1; $num2 <= $num_ripeti; $num2++) { if (${"numero_prenotazione_" . $num1} and preg_replace("/[0-9]+/", "", ${"numero_prenotazione_" . $num1}) == "") { $lista_num_prenota[$num2] = ${"numero_prenotazione_" . $num2}; } } # fine for $num2 if (@is_array($lista_num_prenota)) { asort($lista_num_prenota); reset($lista_num_prenota); $ultimo_num_prenota = -2; while (list($num2, $num_prenota) = each($lista_num_prenota)) { if ($ultimo_num_prenota != $num_prenota) { if ($ultimo_num_prenota < 0) { $nome_file_contr[$num1] .= "_" . $num_prenota . "_"; $ultimo_num_prenota = $num_prenota - 1; } else { if ($num_prenota - 1 != $ultimo_num_prenota) { if (substr($nome_file_contr[$num1], -1) != "_") { $nome_file_contr[$num1] .= "-" . $ultimo_num_prenota . "_"; } $nome_file_contr[$num1] .= $num_prenota . "_"; } elseif (substr($nome_file_contr[$num1], -1) == "_") { $nome_file_contr[$num1] = substr($nome_file_contr[$num1], 0, -1); } } # fine else if ($ultimo_num_prenota < 0) $ultimo_num_prenota = $num_prenota; } # fine if ($ultimo_num_prenota != $num_prenota) } # fine while (list($num2,$num_prenota) = each($lista_num_prenota)) if (substr($nome_file_contr[$num1], -1) != "_") { $nome_file_contr[$num1] .= "-" . $ultimo_num_prenota; } else { $nome_file_contr[$num1] = substr($nome_file_contr[$num1], 0, -1); } } # fine (@is_array($lista_num_prenota)) } # fine else if ($ripeti_tutto) $nome_file_contr[$num1] = $nome_contratto . "_" . $anno_corr . "_" . $nome_file_contr[$num1] . ".{$suff_file}"; if (!$incr_np) { if ($nomi_contratti['compress'][$numero_contratto]) { $nome_file_contr[$num1] .= ".gz"; $lock_compress[$num1] = crea_lock_file($dir_salva . "/" . $nome_file_contr[$num1]); $filecontr[$num1] = gzopen($dir_salva . "/" . $nome_file_contr[$num1], "wb9"); } else { $filecontr[$num1] = fopen($dir_salva . "/" . $nome_file_contr[$num1], "w+"); flock($filecontr[$num1], 2); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } else { $filecontr['esist'] = 1; } } # fine for $num1 if (!$incr_np) { flock($filelock, 3); fclose($filelock); unlink(C_DATA_PATH . "/crea_contr.lock"); } # fine if (!$incr_np) } # fine if ($dir_salva) unset($tablepersonalizza); unset($tablecontratti); if (!defined('C_ID_UTENTE_CONTR')) { define(C_ID_UTENTE_CONTR, $id_utente); } $utente_attuale = $n_utente_contr[C_ID_UTENTE_CONTR]; unset($id_utente); for ($num1 = 0; $num1 < $num_variabili; $num1++) { $nome_var = risul_query($variabili, $num1, 'testo'); $num_var = risul_query($variabili, $num1, 'numero'); if (!$var_riserv[$nome_var]) { $variabile[$num_var] = $nome_var; } } # fine for $num1 $variabile['-1'] = "messaggio_di_errore"; $variabile['-2'] = "errore_ripetizione"; for ($num1 = 0; $num1 < $num_arrays; $num1++) { $nome_arr = explode(";", risul_query($arrays, $num1, 'testo')); $var_array = $nome_arr[1]; $tipo_arr = $nome_arr[2]; $nome_arr = $nome_arr[0]; if (!$var_riserv[$nome_arr]) { $num_arr = risul_query($arrays, $num1, 'numero'); $array[$num_arr] = $nome_arr; $var_arr[$num_arr] = $var_array; $var_arr_nome[$nome_arr] = $var_array; $arr_var_esist[$var_array] = "SI"; } # fine if (!$var_riserv[$nome_arr]) } # fine for $num1 unset($var_riserv); for ($num1 = 0; $num1 < $num_condizioni_ini_d; $num1++) { $condizione = risul_query($condizioni_ini_d, $num1, 'testo'); $condizione_ini_d_vett[$num1] = explode("#@?", $condizione); $azione_ini_d_vett[$num1] = explode("#%?", $condizione_ini_d_vett[$num1][2]); if ($condizione_ini_d_vett[$num1][1]) { $condizione_ini_d_vett[$num1] = explode("#\$?", $condizione_ini_d_vett[$num1][1]); $num_cond_ini_d_vett[$num1] = count($condizione_ini_d_vett[$num1]); for ($num2 = 1; $num2 < $num_cond_ini_d_vett[$num1]; $num2++) { $condizione_ini_d_vett[$num1][$num2] = explode("#%?", $condizione_ini_d_vett[$num1][$num2]); } } else { $condizione_vett[$num1] = ""; } } # fine for $num1 for ($num1 = 0; $num1 < $num_condizioni_ini_r; $num1++) { $condizione = risul_query($condizioni_ini_r, $num1, 'testo'); $condizione_ini_r_vett[$num1] = explode("#@?", $condizione); $azione_ini_r_vett[$num1] = explode("#%?", $condizione_ini_r_vett[$num1][2]); if ($condizione_ini_r_vett[$num1][1]) { $condizione_ini_r_vett[$num1] = explode("#\$?", $condizione_ini_r_vett[$num1][1]); $num_cond_ini_r_vett[$num1] = count($condizione_ini_r_vett[$num1]); for ($num2 = 1; $num2 < $num_cond_ini_r_vett[$num1]; $num2++) { $condizione_ini_r_vett[$num1][$num2] = explode("#%?", $condizione_ini_r_vett[$num1][$num2]); } } else { $condizione_vett[$num1] = ""; } } # fine for $num1 for ($num1 = 0; $num1 < $num_condizioni; $num1++) { $condizione = risul_query($condizioni, $num1, 'testo'); $condizione_vett[$num1] = explode("#@?", $condizione); $azione_vett[$num1] = explode("#%?", $condizione_vett[$num1][2]); if ($condizione_vett[$num1][1]) { $condizione_vett[$num1] = explode("#\$?", $condizione_vett[$num1][1]); $num_cond_vett[$num1] = count($condizione_vett[$num1]); for ($num2 = 1; $num2 < $num_cond_vett[$num1]; $num2++) { $condizione_vett[$num1][$num2] = explode("#%?", $condizione_vett[$num1][$num2]); } } else { $condizione_vett[$num1] = ""; } } # fine for $num1 if (!@is_array($trad_var_vett)) { $lang_dir = opendir("./includes/lang/"); while ($ini_lingua = readdir($lang_dir)) { if ($ini_lingua != "." && $ini_lingua != ".." && $ini_lingua != $lingua_mex) { unset($trad_var); include "./includes/lang/{$ini_lingua}/visualizza_contratto_var.php"; while (list($var_trad_ita, $var_trad_ext) = each($trad_var)) { $trad_var_vett[$var_trad_ext] = $var_trad_ita; } } # fine if ($file != "." && $file != ".." && $ini_lingua != $lingua) } # fine while ($file = readdir($lang_dig)) closedir($lang_dir); if ($lingua_mex != "ita") { unset($trad_var); include "./includes/lang/" . $lingua_mex . "/visualizza_contratto_var.php"; while (list($var_trad_ita, $var_trad_ext) = each($trad_var)) { $trad_var_vett[$var_trad_ext] = $var_trad_ita; } } # fine if ($lingua_mex != "ita") unset($trad_var); } # fine if (!@is_array($trad_var_vett)) while (list($var_trad_ext, $var_trad_ita) = each($trad_var_vett)) { if ($var_trad_ita == "campo_personalizzato") { for ($num1 = 0; $num1 < $num_campi_pers_cliente; $num1++) { $var_trad_ita = $var_predef[$numero_inserimento_pers + $num1]; $trad_var_vett[$var_trad_ext . "_" . substr($var_trad_ita, 21)] = $var_trad_ita; } # fine for $num1 } # fine if ($var_trad_ita == "campo_personalizzato") } # fine while (list($var_trad_ext,$var_trad_ita) = each($trad_var_vett)) for ($num_mln = 0; $num_mln < $num_contr_mln; $num_mln++) { if ($contr_multilingua) { $contratto_orig = $contratti_orig_mln[$lingue_contr[$num_mln]]; } reset($trad_var_vett); while (list($var_trad_ext, $var_trad_ita) = each($trad_var_vett)) { $contratto_orig = str_replace("[" . $var_trad_ext . "]", "[" . $var_trad_ita . "]", $contratto_orig); if ($arr_var_esist[$var_trad_ita] == "SI") { for ($num1 = 0; $num1 < $num_arrays; $num1++) { $num_arr = risul_query($arrays, $num1, 'numero'); if ($var_arr[$num_arr] == $var_trad_ita) { $contratto_orig = str_replace("[" . $array[$num_arr] . "(" . $var_trad_ext . ")]", "[" . $array[$num_arr] . "(" . $var_trad_ita . ")]", $contratto_orig); } # fine if ($var_arr[$num_arr] == $var_trad_ita) } # fine for $num1 } # fine if ($arr_var_esist[$var_trad_ita] == "SI") } # fine while (list($var_trad_ext,$var_trad_ita) = each($trad_var_vett)) while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_orig)) { $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_orig, 2); $contr_parziale = substr($contratto_orig, strlen($contr_vett[0])); $contratto_orig = $contr_vett[0]; $condizione = preg_split("/\" *\\]/", $contr_parziale, 2); $condizione = $condizione[0]; $contr_parziale = substr($contr_parziale, strlen($condizione) + 1); while (substr($contr_parziale, 0, 1) == " ") { $contr_parziale = substr($contr_parziale, 1); } $contr_parziale = substr($contr_parziale, 1); $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione)); $var_if = trim($val_if[0]); if (str_replace("(", "", $var_if) != $var_if) { $parti_arr = explode("(", substr($var_if, 0, -1)); $val_var_if = ${$parti_arr[0]}[${$parti_arr[1]}]; if ($trad_var_vett[$parti_arr[1]]) { $var_if = $parti_arr[0] . "(" . $trad_var_vett[$parti_arr[1]] . ")"; } } elseif ($trad_var_vett[$var_if]) { $var_if = $trad_var_vett[$var_if]; } $val_if = $val_if[1]; if (preg_match("/!= *\"/", $condizione)) { $condizione = "[[c] {$var_if}!=\"{$val_if}\"]"; } else { $condizione = "[[c] {$var_if}=\"{$val_if}\"]"; } $contratto_orig .= $condizione; $contratto_orig .= $contr_parziale; } # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]* *!?= *\"[^\"]*\" *\\]/",$contratto_orig)) $contratto_orig = str_replace("[[c] ", "[c ", $contratto_orig); if ($contr_multilingua) { $contratti_orig_mln[$lingue_contr[$num_mln]] = $contratto_orig; } } # fine for $num_mln unset($trad_var_vett); if ($tipo_contratto == "contreml") { $contratto .= "<form accept-charset=\"utf-8\" method=\"post\" action=\"{$pag}\"><div><br>\n<input type=\"hidden\" name=\"anno\" value=\"{$anno}\">\n<input type=\"hidden\" name=\"id_sessione\" value=\"{$id_sessione}\">\n<input type=\"hidden\" name=\"numero_contratto\" value=\"{$numero_contratto}\">\n<input type=\"hidden\" name=\"origine\" value=\"" . htmlspecialchars($origine) . "\">\n<input type=\"hidden\" name=\"origine_vecchia\" value=\"" . htmlspecialchars($origine_vecchia) . "\">\n<input type=\"hidden\" name=\"manda_mail\" value=\"SI\">"; if ($ripeti_tutto) { $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"{$num_ripeti}\">"; } else { $email_gia_inviata = 0; for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { if (${"email_" . $n_r}) { $cliente = esegui_query("select idclienti from {$tableclienti} where email = '" . aggslashdb(${"email_" . $n_r}) . "' and cognome = '" . aggslashdb(${"cognome_" . $n_r}) . "' and doc_inviati {$ILIKE} '%#@?" . aggslashdb($oggetto_email) . "#@?%' "); if (numlin_query($cliente) >= 1) { $email_gia_inviata = 1; $contratto .= "" . mex("<span class=\"colblu\">Attenzione</span>: una email con lo stesso oggetto è già stata inviata al cliente", $pag) . " " . ${"cognome_" . $n_r} . "<br>"; } # fine if (numlin_query($cliente) >= 1) } # fine if (${"email_".$n_r}) } # fine for $n_r if ($email_gia_inviata) { $contratto .= "<br>"; } $contratto .= "<input type=\"hidden\" name=\"numero_email\" value=\"1\">\n<table><tr><td align=\"right\">" . mex("Da", $pag) . ":</td><td>"; if ($modifica_pers != "NO") { $contratto .= "<input type=\"text\" name=\"mittente_email1\" size=\"60\" value=\"{$mittente_email}\">"; } else { $contratto .= "<b>{$mittente_email}</b>"; } $contratto .= "</td></tr><tr><td align=\"right\">\n" . mex("A", $pag) . ":</td><td>\n<input type=\"text\" name=\"destinatario_email1\" size=\"60\" value=\""; for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { if (${"email_" . $n_r}) { $contratto .= ${"email_" . $n_r} . ","; } } if (substr($contratto, -1) == ",") { $contratto = substr($contratto, 0, -1); } $contratto .= "\"></td></tr><tr><td align=\"right\">\n" . mex("Oggetto", $pag) . ":</td><td>\n<input type=\"text\" name=\"oggetto_email1\" size=\"60\" value=\"{$oggetto_email}\"></td></tr>"; if ($allegato_email) { $contratto .= "<tr><td></td><td><label><input type=\"checkbox\" name=\"allega1\" value=\"SI\" checked>\n" . mex("Allega", $pag) . " <b>{$allegato_email}</b></label></td></tr>"; } # fine if ($allegato_email) $contratto .= "<tr><td style=\"height: 3px;\"></td></tr></table>\n <textarea name=\"testo_email1\" rows=32 cols=90>"; } # fine else if ($ripeti_tutto) } # fine if ($tipo_contratto == "contreml") unset($id_sessione); unset($origine); # Condizioni applicate all'inizio del documento $break_cont = 0; for ($num1 = 0; $num1 < $num_condizioni_ini_d; $num1++) { $condizione = $condizione_ini_d_vett[$num1]; $num_se = $num_cond_ini_d_vett[$num1]; $azione = $azione_ini_d_vett[$num1]; $cond_verificata = 1; if ($break_cont and $azione[0] != "cont") { $condizione = ""; $cond_verificata = 0; } # fine if ($break_cont and $azione[0] != "cont") if ($condizione) { if ($condizione[0] == "or") { $cond_verificata = 0; } for ($num2 = 1; $num2 < $num_se; $num2++) { $se_cond_corr = $condizione[$num2]; $var_if = $se_cond_corr[0]; if (substr($var_if, -1) != ")") { $var_if = ${$var_if}; } else { $var_if = explode("(", substr($var_if, 0, -1)); $var_if = ${$var_if[0]}[${$var_if[1]}]; } # fine else if (substr($var_if,-1) != ")") $val_if = $se_cond_corr[3]; if ($se_cond_corr[2] == "var") { if (substr($val_if, -1) != ")") { $val_if = ${$val_if}; } else { $val_if = explode("(", substr($val_if, 0, -1)); $val_if = ${$val_if[0]}[${$val_if[1]}]; } # fine else if (substr($val_if,-1) != ")") } # fine if ($se_cond_corr[2] == "var") $cond_verificata = 0; if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) { $cond_verificata = 1; } if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) { $cond_verificata = 1; } if ($condizione[0] == "or" and $cond_verificata) { break; } if ($condizione[0] == "and" and !$cond_verificata) { break; } } # fine for $num2 } # fine if ($condizione) if ($cond_verificata) { if ($azione[0] == "set") { $val_then = $azione[4]; if ($azione[3] == "var") { if (substr($val_then, -1) != ")") { if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") { $val_then = formatta_data_contr(${$val_then}, $stile_data); } else { $val_then = ${$val_then}; } } else { $val_then = explode("(", substr($val_then, 0, -1)); $val_then = ${$val_then[0]}[${$val_then[1]}]; } # fine else if (substr($val_then,-1) != ")") } # fine if ($azione[3] == "var") if (strcmp($azione[6], "")) { $txt_sost1 = $azione[6]; if ($azione[5] == "var") { if (substr($txt_sost1, -1) != ")") { $txt_sost1 = ${$txt_sost1}; } else { $txt_sost1 = explode("(", substr($txt_sost1, 0, -1)); $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}]; } # fine else if (substr($txt_sost1,-1) != ")") } # fine if ($azione[5] == "var") $txt_sost2 = $azione[8]; if ($azione[7] == "var") { if (substr($txt_sost2, -1) != ")") { $txt_sost2 = ${$txt_sost2}; } else { $txt_sost2 = explode("(", substr($txt_sost2, 0, -1)); $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}]; } # fine else if (substr($txt_sost2,-1) != ")") } # fine if ($azione[7] == "var") $val_then = str_replace($txt_sost1, $txt_sost2, $val_then); } # fine if (strcmp($azione[6],"")) if ($azione[2] == ".=") { if (substr($azione[1], 0, 1) != "a") { $var_then_orig = ${$variabile[$azione[1]]}; } else { $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } } else { $var_then_orig = ""; } if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_then_orig . $val_then; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then; $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "set") if ($azione[0] == "trunc") { if (substr($azione[1], 0, 1) != "a") { $var_da_assegnare = ${$variabile[$azione[1]]}; } else { $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } if (strcmp($azione[3], "")) { while (num_caratteri_testo($var_da_assegnare) < $azione[2]) { if ($azione[4] == "ini") { $var_da_assegnare = $azione[3] . $var_da_assegnare; } if ($azione[4] == "fin") { $var_da_assegnare .= $azione[3]; } } # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2]) } # fine if (strcmp($azione[3],"")) if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]); } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "trunc") if ($azione[0] == "oper") { $cont_oper = "SI"; $var_con_punti = "NO"; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = ${substr($var_da_oper, 0, -2)}; } } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) { $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } else { $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}]; } } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = formatta_soldi($var_da_oper); if (controlla_soldi($var_da_oper) == "NO") { $cont_oper = "NO"; } $var_da_oper2 = $azione[5]; if ($azione[4] == "var") { if (substr($var_da_oper2, -1) != ")") { if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) { $var_da_oper2 = ${$var_da_oper2}; } else { $var_da_oper2 = ${substr($var_da_oper2, 0, -2)}; } } else { $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1)); if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) { $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}]; } else { $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}]; } } # fine else if (substr($var_da_oper2,-1) != ")") } # fine if ($azione[4] == "var") $var_da_oper2 = formatta_soldi($var_da_oper2); if (controlla_soldi($var_da_oper2) == "NO") { $cont_oper = "NO"; } if ($cont_oper != "NO") { if ($azione[3] == "+") { $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2; } if ($azione[3] == "-") { $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2; } if ($azione[3] == "*") { $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2; } if ($azione[3] == "/") { $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2; } if ($azione[6]) { $var_da_assegnare = $var_da_assegnare / (double) $azione[6]; $var_da_assegnare = round($var_da_assegnare); $var_da_assegnare = $var_da_assegnare * (double) $azione[6]; } # fine if ($azione[6]) if (substr($azione[1], 0, 1) != "a") { if (substr($variabile[$azione[1]], -2) != "_p") { ${$variabile[$azione[1]]} = $var_da_assegnare; } else { ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { $array_date_contr[$array[substr($azione[1], 1)]] = ""; if (substr($array[substr($azione[1], 1)], -2) != "_p") { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } else { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper != "NO") } # fine if ($azione[0] == "oper") if ($azione[0] == "date") { $cont_oper = 1; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = substr($var_da_oper, 0, 10); if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) { if ($stile_data == "usa") { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2); } else { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2); } } # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper)) if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) { $cont_oper = 0; } if ($cont_oper) { if ($azione[3] == "gi") { $var_da_assegnare = "d"; } if ($azione[3] == "me") { $var_da_assegnare = "m"; } if ($azione[3] == "an") { $var_da_assegnare = "Y"; } if ($azione[3] == "gs") { $var_da_assegnare = "w"; } if ($azione[3] == "is") { $var_da_assegnare = "Y-m-d"; } if ($azione[3] == "da") { if ($stile_data == "usa") { $var_da_assegnare = "m-d-Y"; } else { $var_da_assegnare = "d-m-Y"; } } # fine if ($azione[3] == "da") $txt_sost1 = 0; $num2 = 0; $num3 = 0; if ($azione[5] == "g") { $txt_sost1 = $azione[4]; } if ($azione[5] == "m") { $num2 = $azione[4]; } if ($azione[5] == "a") { $num3 = $azione[4]; } $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3)); if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_da_assegnare; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { if ($azione[3] != "is") { $array_date_contr[$array[substr($azione[1], 1)]] = ""; } ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper) } # fine if ($azione[0] == "date") if ($azione[0] == "unset") { unset(${$array[substr($azione[1], 1)]}); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine if ($azione[0] == "unset") if ($azione[0] == "array") { $nome_arr = $array[substr($azione[1], 1)]; if ($azione[2] == "val") { unset(${$nome_arr}); $array_date_contr[$nome_arr] = ""; $lista_val = explode(",", $azione[3]); $num_lista_val = count($lista_val); for ($num2 = 1; $num2 <= $num_lista_val; $num2++) { ${$nome_arr}[$num2] = $lista_val[$num2 - 1]; } } # fine if ($azione[2] == "val") if ($azione[2] == "dat" or $azione[2] == "dap") { unset(${$nome_arr}); if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) { $array_date_contr[$nome_arr] = "SI"; if ($azione[2] == "dat") { $data_corr_arr = $data_inizio_selezione_orig; $txt_sost1 = $data_fine_selezione_orig; } # fine if ($azione[2] == "dat") if ($azione[2] == "dap") { $data_corr_arr = $data_primo_arrivo; $txt_sost1 = $data_ultima_partenza; } # fine if ($azione[2] == "dap") $num2 = 1; ${$nome_arr}[$num2] = $data_corr_arr; while ($data_corr_arr != $txt_sost1) { $num2++; $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4))); ${$nome_arr}[$num2] = $data_corr_arr; } # fine while ($data_corr_arr != $txt_sost1) } # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or... } # fine if ($azione[2] == "dat" or $azione[2] == "dap") if ($azione[2] == "cop") { $lista_val = ${$array[substr($azione[3], 1)]}; ${$nome_arr} = $lista_val; $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]]; } # fine if ($azione[2] == "cop") } # fine if ($azione[0] == "array") if ($azione[0] == "break") { if ($azione[1] == "cont") { $break_cont = 1; } else { break; } } # fine if ($azione[0] == "break") if ($azione[0] == "cont") { $break_cont = 0; } } # fine if ($cond_verificata) } # fine for $num1 unset($condizione_ini_d_vett); unset($num_cond_ini_d_vett); unset($azione_ini_d_vett); if ($ripeti_tutto) { $contratto_parte0[1] = $contratto_orig; $ripeti_parte0[1] = "NO"; $tipo_parte0 = ""; $num_parti0_contr = 1; } else { if ($dir_salva) { $numero_progressivo_documento = $num_prog_contr[1]; } $num_parti0_contr = 0; $contratto_vett = explode("[", $contratto_orig); $num_contratto_vett = count($contratto_vett); $livello = 0; $contratto_presente = $contratto_vett[0]; for ($num1 = 1; $num1 < $num_contratto_vett; $num1++) { $parte = $contratto_vett[$num1]; $apertura = ""; $chiusura = ""; if (substr($parte, 0, 2) == "r]") { $apertura = "r"; } if (substr($parte, 0, 10) == "r4 array=\"") { $parte_vett = explode("\"]", substr($parte, 10)); if (strcmp($parte_vett[0], "")) { if (!strcmp(preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parte_vett[0]), "")) { $apertura = "r4 array=\"" . $parte_vett[0] . "\""; } } # fine if (strcmp($parte_vett[0],"")) } # fine if (substr($parte,0,10) == "r4 array=\"") if (substr($parte, 0, 3) == "r6]") { $apertura = "r6"; } if (substr($parte, 0, 3) == "/r]") { $chiusura = "r"; } if (substr($parte, 0, 4) == "/r4]") { $chiusura = "r4"; } if (substr($parte, 0, 4) == "/r6]") { $chiusura = "r6"; } if ($apertura) { $livello++; if ($livello == 1 and (substr($apertura, 0, 2) == "r4" or $apertura == "r6")) { if (strcmp($contratto_presente, "")) { $num_parti0_contr++; $contratto_parte0[$num_parti0_contr] = $contratto_presente; $ripeti_parte0[$num_parti0_contr] = "NO"; } # fine if (strcmp($contratto_presente,"")) $contratto_presente = substr($contratto_vett[$num1], strlen($apertura) + 1); $var_arr_presente = substr($apertura, 10, -1); } else { $apertura = ""; } } # fine ($apertura) if ($chiusura) { if ($livello == 1 and ($chiusura == "r4" or $chiusura == "r6")) { if (strcmp($contratto_presente, "")) { $num_parti0_contr++; $contratto_parte0[$num_parti0_contr] = $contratto_presente; $ripeti_parte0[$num_parti0_contr] = "SI"; if ($chiusura == "r4") { $tipo_parte0[$num_parti0_contr] = "4"; $arr_parte0[$num_parti0_contr] = $var_arr_presente; } # fine if ($chiusura == "r4") if ($chiusura == "r6") { $tipo_parte0[$num_parti0_contr] = "6"; } } # fine if (strcmp($contratto_presente,"")) $contratto_presente = substr($contratto_vett[$num1], strlen($chiusura) + 2); } else { $chiusura = ""; } $livello--; } # fine if ($chiusura) if (!$apertura and !$chiusura) { $contratto_presente .= "[" . $contratto_vett[$num1]; } } # fine for $num1 if (strcmp($contratto_presente, "")) { $num_parti0_contr++; $contratto_parte0[$num_parti0_contr] = $contratto_presente; $ripeti_parte0[$num_parti0_contr] = "NO"; } # fine if (strcmp($contratto_presente,"")) } # fine else if ($ripeti_tutto) # parti n_p0: parti del contratto se c'è una ripetizione di array o unità esternamente for ($n_p0 = 1; $n_p0 <= $num_parti0_contr; $n_p0++) { $contratto_orig0 = $contratto_parte0[$n_p0]; unset($contratto_parte); if (str_replace("[r]", "", $contratto_orig0) == $contratto_orig0 or $contr_multilingua) { $contratto_parte[1] = $contratto_orig0; if ($ripeti_tutto) { $ripeti_parte[1] = "SI"; } else { $ripeti_parte[1] = "NO"; } $num_parti_contr = 1; } else { $num_parti_contr = 0; $contratto_restante = $contratto_orig0; while (str_replace("[r]", "", $contratto_restante) != $contratto_restante) { $contr_vett = explode("[r]", $contratto_restante); if ($contr_vett[0] != "") { $num_parti_contr++; $contratto_parte[$num_parti_contr] = $contr_vett[0]; $ripeti_parte[$num_parti_contr] = "NO"; } # fine if ($contr_vett[0] != "") $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 3); $contr_vett = explode("[/r]", $contratto_restante); $num_parti_contr++; $contratto_parte[$num_parti_contr] = $contr_vett[0]; $ripeti_parte[$num_parti_contr] = "SI"; $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 4); } # fine while (str_replace("[r]","",$contratto_restante) != $contratto_restante) if ($contratto_restante != "") { $num_parti_contr++; $contratto_parte[$num_parti_contr] = $contratto_restante; $ripeti_parte[$num_parti_contr] = "NO"; } # fine if ($contratto_restante != "") } # fine else if (str_replace("[r]","",$contratto_orig0) == $contratto_orig0 or $contr_multilingua) if ($ripeti_parte0[$n_p0] == "NO") { $num_ripeti0 = 1; } else { $num_ripeti0 = 0; if ($tipo_parte0[$n_p0] == "6") { $num_ripeti0 = $num_unita; } if ($tipo_parte0[$n_p0] == "4" and @is_array(${$arr_parte0[$n_p0]})) { $num_ripeti0 = count(${$arr_parte0[$n_p0]}); reset(${$arr_parte0[$n_p0]}); } # fine if ($tipo_parte0[$n_p0] == "4" and @is_array(${$arr_parte0[$n_p0]})) } # fine else if ($ripeti_parte0[$n_p0] == "NO") # ripetizione n_r0: ripetere parte del contratto se esternamente c'è una ripetizione di array o unità for ($n_r0 = 1; $n_r0 <= $num_ripeti0; $n_r0++) { $ripeti_prenota_data = ""; if ($ripeti_parte0[$n_p0] != "NO") { if ($tipo_parte0[$n_p0] == "6") { $nome_unita = $dati_app_contr[$n_r0]['nome']; $casa_unita = $dati_app_contr[$n_r0]['casa']; $piano_unita = $dati_app_contr[$n_r0]['piano']; $capacita_unita = $dati_app_contr[$n_r0]['capacita']; $priorita_unita = $dati_app_contr[$n_r0]['priorita']; } else { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine else if ($tipo_parte0[$n_p0] == "6") if ($tipo_parte0[$n_p0] == "4") { ${$var_arr_nome[$arr_parte0[$n_p0]]} = key(${$arr_parte0[$n_p0]}); if ($array_date_contr[$arr_parte0[$n_p0]] == "SI") { $ripeti_prenota_data = current(${$arr_parte0[$n_p0]}); } next(${$arr_parte0[$n_p0]}); } # fine if ($tipo_parte0[$n_p0] == "4") } # fine if ($ripeti_parte0[$n_p0] != "NO") # parti n_p: parti del contratto se ci sono ripetizioni prenotazioni for ($n_p = 1; $n_p <= $num_parti_contr; $n_p++) { $numero_ripetizione_prenotazioni = 1; if ($ripeti_parte[$n_p] == "SI") { $costo_tot_somma_ripetizioni = 0; $caparra_somma_ripetizioni = 0; $resto_caparra_somma_ripetizioni = 0; $pagato_somma_ripetizioni = 0; $resto_da_pagare_somma_ripetizioni = 0; $num_persone_tot_somma_ripetizioni = 0; $numero_ripetizione_prenotazioni_orig = 0; # Condizioni applicate all'inizio di ogni ripetizione di prenotazioni $break_cont = 0; for ($num1 = 0; $num1 < $num_condizioni_ini_r; $num1++) { $condizione = $condizione_ini_r_vett[$num1]; $num_se = $num_cond_ini_r_vett[$num1]; $azione = $azione_ini_r_vett[$num1]; $cond_verificata = 1; if ($break_cont and $azione[0] != "cont") { $condizione = ""; $cond_verificata = 0; } # fine if ($break_cont and $azione[0] != "cont") if ($condizione) { if ($condizione[0] == "or") { $cond_verificata = 0; } for ($num2 = 1; $num2 < $num_se; $num2++) { $se_cond_corr = $condizione[$num2]; $var_if = $se_cond_corr[0]; if (substr($var_if, -1) != ")") { $var_if = ${$var_if}; } else { $var_if = explode("(", substr($var_if, 0, -1)); $var_if = ${$var_if[0]}[${$var_if[1]}]; } # fine else if (substr($var_if,-1) != ")") $val_if = $se_cond_corr[3]; if ($se_cond_corr[2] == "var") { if (substr($val_if, -1) != ")") { $val_if = ${$val_if}; } else { $val_if = explode("(", substr($val_if, 0, -1)); $val_if = ${$val_if[0]}[${$val_if[1]}]; } # fine else if (substr($val_if,-1) != ")") } # fine if ($se_cond_corr[2] == "var") $cond_verificata = 0; if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) { $cond_verificata = 1; } if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) { $cond_verificata = 1; } if ($condizione[0] == "or" and $cond_verificata) { break; } if ($condizione[0] == "and" and !$cond_verificata) { break; } } # fine for $num2 } # fine if ($condizione) if ($cond_verificata) { if ($azione[0] == "set") { $val_then = $azione[4]; if ($azione[3] == "var") { if (substr($val_then, -1) != ")") { if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") { $val_then = formatta_data_contr(${$val_then}, $stile_data); } else { $val_then = ${$val_then}; } } else { $val_then = explode("(", substr($val_then, 0, -1)); $val_then = ${$val_then[0]}[${$val_then[1]}]; } # fine else if (substr($val_then,-1) != ")") } # fine if ($azione[3] == "var") if (strcmp($azione[6], "")) { $txt_sost1 = $azione[6]; if ($azione[5] == "var") { if (substr($txt_sost1, -1) != ")") { $txt_sost1 = ${$txt_sost1}; } else { $txt_sost1 = explode("(", substr($txt_sost1, 0, -1)); $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}]; } # fine else if (substr($txt_sost1,-1) != ")") } # fine if ($azione[5] == "var") $txt_sost2 = $azione[8]; if ($azione[7] == "var") { if (substr($txt_sost2, -1) != ")") { $txt_sost2 = ${$txt_sost2}; } else { $txt_sost2 = explode("(", substr($txt_sost2, 0, -1)); $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}]; } # fine else if (substr($txt_sost2,-1) != ")") } # fine if ($azione[7] == "var") $val_then = str_replace($txt_sost1, $txt_sost2, $val_then); } # fine if (strcmp($azione[6],"")) if ($azione[2] == ".=") { if (substr($azione[1], 0, 1) != "a") { $var_then_orig = ${$variabile[$azione[1]]}; } else { $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } } else { $var_then_orig = ""; } if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_then_orig . $val_then; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then; $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "set") if ($azione[0] == "trunc") { if (substr($azione[1], 0, 1) != "a") { $var_da_assegnare = ${$variabile[$azione[1]]}; } else { $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } if (strcmp($azione[3], "")) { while (num_caratteri_testo($var_da_assegnare) < $azione[2]) { if ($azione[4] == "ini") { $var_da_assegnare = $azione[3] . $var_da_assegnare; } if ($azione[4] == "fin") { $var_da_assegnare .= $azione[3]; } } # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2]) } # fine if (strcmp($azione[3],"")) if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]); } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "trunc") if ($azione[0] == "oper") { $cont_oper = "SI"; $var_con_punti = "NO"; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = ${substr($var_da_oper, 0, -2)}; } } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) { $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } else { $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}]; } } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = formatta_soldi($var_da_oper); if (controlla_soldi($var_da_oper) == "NO") { $cont_oper = "NO"; } $var_da_oper2 = $azione[5]; if ($azione[4] == "var") { if (substr($var_da_oper2, -1) != ")") { if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) { $var_da_oper2 = ${$var_da_oper2}; } else { $var_da_oper2 = ${substr($var_da_oper2, 0, -2)}; } } else { $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1)); if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) { $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}]; } else { $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}]; } } # fine else if (substr($var_da_oper2,-1) != ")") } # fine if ($azione[4] == "var") $var_da_oper2 = formatta_soldi($var_da_oper2); if (controlla_soldi($var_da_oper2) == "NO") { $cont_oper = "NO"; } if ($cont_oper != "NO") { if ($azione[3] == "+") { $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2; } if ($azione[3] == "-") { $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2; } if ($azione[3] == "*") { $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2; } if ($azione[3] == "/") { $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2; } if ($azione[6]) { $var_da_assegnare = $var_da_assegnare / (double) $azione[6]; $var_da_assegnare = round($var_da_assegnare); $var_da_assegnare = $var_da_assegnare * (double) $azione[6]; } # fine if ($azione[6]) if (substr($azione[1], 0, 1) != "a") { if (substr($variabile[$azione[1]], -2) != "_p") { ${$variabile[$azione[1]]} = $var_da_assegnare; } else { ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { $array_date_contr[$array[substr($azione[1], 1)]] = ""; if (substr($array[substr($azione[1], 1)], -2) != "_p") { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } else { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper != "NO") } # fine if ($azione[0] == "oper") if ($azione[0] == "date") { $cont_oper = 1; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = substr($var_da_oper, 0, 10); if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) { if ($stile_data == "usa") { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2); } else { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2); } } # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper)) if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) { $cont_oper = 0; } if ($cont_oper) { if ($azione[3] == "gi") { $var_da_assegnare = "d"; } if ($azione[3] == "me") { $var_da_assegnare = "m"; } if ($azione[3] == "an") { $var_da_assegnare = "Y"; } if ($azione[3] == "gs") { $var_da_assegnare = "w"; } if ($azione[3] == "is") { $var_da_assegnare = "Y-m-d"; } if ($azione[3] == "da") { if ($stile_data == "usa") { $var_da_assegnare = "m-d-Y"; } else { $var_da_assegnare = "d-m-Y"; } } # fine if ($azione[3] == "da") $txt_sost1 = 0; $num2 = 0; $num3 = 0; if ($azione[5] == "g") { $txt_sost1 = $azione[4]; } if ($azione[5] == "m") { $num2 = $azione[4]; } if ($azione[5] == "a") { $num3 = $azione[4]; } $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3)); if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_da_assegnare; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { if ($azione[3] != "is") { $array_date_contr[$array[substr($azione[1], 1)]] = ""; } ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper) } # fine if ($azione[0] == "date") if ($azione[0] == "unset") { unset(${$array[substr($azione[1], 1)]}); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine if ($azione[0] == "unset") if ($azione[0] == "array") { $nome_arr = $array[substr($azione[1], 1)]; if ($azione[2] == "val") { unset(${$nome_arr}); $array_date_contr[$nome_arr] = ""; $lista_val = explode(",", $azione[3]); $num_lista_val = count($lista_val); for ($num2 = 1; $num2 <= $num_lista_val; $num2++) { ${$nome_arr}[$num2] = $lista_val[$num2 - 1]; } } # fine if ($azione[2] == "val") if ($azione[2] == "dat" or $azione[2] == "dap") { unset(${$nome_arr}); if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) { $array_date_contr[$nome_arr] = "SI"; if ($azione[2] == "dat") { $data_corr_arr = $data_inizio_selezione_orig; $txt_sost1 = $data_fine_selezione_orig; } # fine if ($azione[2] == "dat") if ($azione[2] == "dap") { $data_corr_arr = $data_primo_arrivo; $txt_sost1 = $data_ultima_partenza; } # fine if ($azione[2] == "dap") $num2 = 1; ${$nome_arr}[$num2] = $data_corr_arr; while ($data_corr_arr != $txt_sost1) { $num2++; $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4))); ${$nome_arr}[$num2] = $data_corr_arr; } # fine while ($data_corr_arr != $txt_sost1) } # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or... } # fine if ($azione[2] == "dat" or $azione[2] == "dap") if ($azione[2] == "cop") { $lista_val = ${$array[substr($azione[3], 1)]}; ${$nome_arr} = $lista_val; $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]]; } # fine if ($azione[2] == "cop") } # fine if ($azione[0] == "array") if ($azione[0] == "break") { if ($azione[1] == "cont") { $break_cont = 1; } else { break; } } # fine if ($azione[0] == "break") if ($azione[0] == "cont") { $break_cont = 0; } } # fine if ($cond_verificata) } # fine for $num1 # ripetizione n_r: se c'è da ripetere la parte del contratto per ogni prenotazione for ($n_r = 1; $n_r <= $num_ripeti; $n_r++) { if (!$ripeti_prenota_data or ${"data_fine" . "_" . $n_r} >= $ripeti_prenota_data and ${"data_inizio" . "_" . $n_r} <= $ripeti_prenota_data) { for ($num1 = 0; $num1 < $num_var_predef_ripeti; $num1++) { ${$var_predef[$num1]} = ${$var_predef[$num1] . "_" . $n_r}; } # fine for $num1 $numero_ripetizione_prenotazioni_orig++; $numero_ripetizione_prenotazioni = $numero_ripetizione_prenotazioni_orig; if ($dir_salva and $ripeti_tutto and (!$numero_progressivo_documento or $numero_progressivo_documento < $num_prog_contr[$n_r])) { $numero_progressivo_documento = $num_prog_contr[$n_r]; } if ($tariffa_selezionata) { $c_tot_selez = "c_tot_selez" . $tariffa_selezionata . "_" . $n_r; global ${$c_tot_selez}; if (${$c_tot_selez}) { $costo_tot = ${$c_tot_selez}; } $c_tariffa_selez = "c_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$c_tariffa_selez}; if (${$c_tariffa_selez}) { $costo_tariffa = ${$c_tariffa_selez}; } $tarsett_tariffa_selez = "tarsett_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$tarsett_tariffa_selez}; if (${$tarsett_tariffa_selez}) { global ${"tariffesettimanali_" . $n_r}; ${"tariffesettimanali_" . $n_r} = ${$tarsett_tariffa_selez}; } # fine if ($$tarsett_tariffa_selez) $n_tariffa_selez = "n_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$n_tariffa_selez}; if (${$n_tariffa_selez}) { $nome_tariffa = ${$n_tariffa_selez}; } $perctas_tariffa_selez = "perctas_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$perctas_tariffa_selez}; if (${$perctas_tariffa_selez}) { $percentuale_tasse_tariffa = ${$perctas_tariffa_selez}; } $cap_tariffa_selez = "cap_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$cap_tariffa_selez}; if (${$cap_tariffa_selez}) { $caparra = ${$cap_tariffa_selez}; } $comm_tariffa_selez = "comm_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$comm_tariffa_selez}; if (${$comm_tariffa_selez}) { $commissioni = ${$comm_tariffa_selez}; } $n_letti_agg_tariffa_selez = "n_letti_agg_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$n_letti_agg_tariffa_selez}; if (${$n_letti_agg_tariffa_selez}) { $n_letti_agg = ${$n_letti_agg_tariffa_selez}; } $numpers_tariffa_selez = "numpers_tariffa_selez" . $tariffa_selezionata . "_" . $n_r; global ${$numpers_tariffa_selez}; if (${$numpers_tariffa_selez}) { $num_persone = ${$numpers_tariffa_selez}; } $num_costi_aggiuntivi_tsel = "num_costi_aggiuntivi_tsel" . $tariffa_selezionata . "_" . $n_r; global ${$num_costi_aggiuntivi_tsel}; if (${$num_costi_aggiuntivi_tsel}) { $num_costi_aggiuntivi = ${$num_costi_aggiuntivi_tsel}; for ($numca = 0; $numca < $num_costi_aggiuntivi; $numca++) { $nome_costo_agg_tsel = "nome_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $val_costo_agg_tsel = "val_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $perc_tasse_costo_agg_tsel = "percentuale_tasse_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $molt_max_costo_agg_tsel = "moltiplica_max_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; $giorni_costo_agg_tsel = "giorni_costo_agg" . $numca . "_tsel" . $tariffa_selezionata . "_" . $n_r; global ${$nome_costo_agg_tsel}, ${$val_costo_agg_tsel}, ${$perc_tasse_costo_agg_tsel}, ${$molt_max_costo_agg_tsel}, ${$giorni_costo_agg_tsel}; ${"nome_costo_agg" . $numca . "_" . $n_r} = ${$nome_costo_agg_tsel}; ${"val_costo_agg" . $numca . "_" . $n_r} = ${$val_costo_agg_tsel}; ${"percentuale_tasse_costo_agg" . $numca . "_" . $n_r} = ${$perc_tasse_costo_agg_tsel}; ${"moltiplica_max_costo_agg" . $numca . "_" . $n_r} = ${$molt_max_costo_agg_tsel}; ${"giorni_costo_agg" . $numca . "_" . $n_r} = trasforma_id_in_date(${$giorni_costo_agg_tsel}, $date_id, $tableperiodi); } # fine for $numca } # fine if ($$num_costi_aggiuntivi_tsel) } # fine if ($tariffa_selezionata) if ($ripeti_prenota_data) { if (!strcmp($tariffesettimanali[$n_r][$ripeti_prenota_data], "")) { global ${"tariffesettimanali_" . $n_r}; $var_if = explode(";", ${"tariffesettimanali_" . $n_r}); $var_if = explode(",", $var_if[0]); $num2 = count($var_if); for ($num1 = 0; $num1 <= $num2; $num1++) { if (date("Y-m-d", mktime(0, 0, 0, substr($data_inizio, 5, 2), substr($data_inizio, 8, 2) + $num1, substr($data_inizio, 0, 4))) == $ripeti_prenota_data) { if (!$var_if[$num1]) { $tariffesettimanali[$n_r][$ripeti_prenota_data] = 0; } else { $tariffesettimanali[$n_r][$ripeti_prenota_data] = $var_if[$num1]; } break; } # fine if (date("Y-m-d",mktime(0,0,0,substr($data_inizio,5,2),(substr($data_inizio,8,2) + $num1),substr($data_inizio,0,4))) == $ripeti_prenota_data) } # fine for $num1 } # fine if (!strcmp($tariffesettimanali[$n_r][$ripeti_prenota_data],"")) $costo_tariffa_giorno_array = $tariffesettimanali[$n_r][$ripeti_prenota_data]; $costo_tariffa_giorno_array_p = punti_in_num($costo_tariffa_giorno_array, $stile_soldi); } # fine if ($ripeti_prenota_data) $tutti_i_costi_agg = ""; $tutti_i_costi_agg_p = ""; $valore_tutti_costi_agg = (double) 0; for ($numca = 0; $numca < $num_costi_aggiuntivi; $numca++) { $nome_costo_agg = "nome_costo_agg" . $numca . "_" . $n_r; $val_costo_agg = "val_costo_agg" . $numca . "_" . $n_r; $percentuale_tasse_costo_agg = "percentuale_tasse_costo_agg" . $numca . "_" . $n_r; $moltiplica_max_costo_agg = "moltiplica_max_costo_agg" . $numca . "_" . $n_r; $giorni_costo_agg = "giorni_costo_agg" . $numca . "_" . $n_r; $data_inserimento_costo_agg = "data_inserimento_costo_agg" . $numca . "_" . $n_r; $utente_inserimento_costo_agg = "utente_inserimento_costo_agg" . $numca . "_" . $n_r; if (!strcmp(${$nome_costo_agg}, "") and !strcmp(${$val_costo_agg}, "")) { ${$nome_costo_agg} = $GLOBALS[$nome_costo_agg]; ${$val_costo_agg} = $GLOBALS[$val_costo_agg]; ${$percentuale_tasse_costo_agg} = $GLOBALS[$percentuale_tasse_costo_agg]; ${$moltiplica_max_costo_agg} = $GLOBALS[$moltiplica_max_costo_agg]; ${$giorni_costo_agg} = $GLOBALS[$giorni_costo_agg]; ${$data_inserimento_costo_agg} = $GLOBALS[$data_inserimento_costo_agg]; ${$utente_inserimento_costo_agg} = $n_utente_contr[$GLOBALS[$utente_inserimento_costo_agg]]; if ($unset_glob) { unset($GLOBALS[$nome_costo_agg]); unset($GLOBALS[$val_costo_agg]); unset($GLOBALS[$percentuale_tasse_costo_agg]); unset($GLOBALS[$moltiplica_max_costo_agg]); unset($GLOBALS[$giorni_costo_agg]); unset($GLOBALS[$data_inserimento_costo_agg]); unset($GLOBALS[$utente_inserimento_costo_agg]); } # fine if ($unset_glob) } # fine if (!strcmp($$nome_costo_agg,"") and !strcmp($$val_costo_agg,"")) $nome_costo_agg = ${$nome_costo_agg}; $val_costo_agg = ${$val_costo_agg}; $percentuale_tasse_costo_agg = ${$percentuale_tasse_costo_agg}; $moltiplica_max_costo_agg = ${$moltiplica_max_costo_agg}; ${$giorni_costo_agg} = trasforma_id_in_date(${$giorni_costo_agg}, $date_id, $tableperiodi); $giorni_costo_agg = ${$giorni_costo_agg}; $data_inserimento_costo_agg = ${$data_inserimento_costo_agg}; $utente_inserimento_costo_agg = ${$utente_inserimento_costo_agg}; $val_costo_agg_p = punti_in_num($val_costo_agg, $stile_soldi); $tutti_i_costi_agg .= "{$nome_costo_agg}: {$val_costo_agg}{$tag_acapo}"; $tutti_i_costi_agg_p .= "{$nome_costo_agg}: {$val_costo_agg_p}{$tag_acapo}"; $valore_tutti_costi_agg = (double) $valore_tutti_costi_agg + (double) $val_costo_agg; calcola_tasse_contr($val_costo_agg, $percentuale_tasse_costo_agg, $arrotond_tasse, $tasse_costo_agg, $tasse_costo_agg_p, $val_costo_agg_senza_tasse, $val_costo_agg_senza_tasse_p, $stile_soldi); if (str_replace(",", "", $moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) { $moltiplica_max_costo_agg = explode(",", $moltiplica_max_costo_agg); rsort($moltiplica_max_costo_agg); $moltiplica_max_costo_agg = $moltiplica_max_costo_agg[0]; } # fine if (str_replace(",","",$moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) if ($num_costo_agg_sel == $numca) { $nome_costo_agg_sel = $nome_costo_agg; $valore_costo_agg_sel = $val_costo_agg; $valore_costo_agg_sel_p = $val_costo_agg_p; $percentuale_tasse_costo_agg_sel = $percentuale_tasse_costo_agg; $tasse_costo_agg_sel = $tasse_costo_agg; $tasse_costo_agg_sel_p = $tasse_costo_agg_p; $moltiplica_max_costo_agg_sel = $moltiplica_max_costo_agg; } # fine if ($num_costo_agg_sel == $numca) } # fine for $numca $valore_tutti_costi_agg_p = punti_in_num($valore_tutti_costi_agg, $stile_soldi); $tutti_i_pagamenti = ""; $tutti_i_pagamenti_p = ""; for ($num1 = 0; $num1 < $num_pagamenti; $num1++) { $saldo_paga = "saldo_paga" . $num1 . "_" . $n_r; $data_paga = "data_paga" . $num1 . "_" . $n_r; $utente_paga = "utente_paga" . $num1 . "_" . $n_r; $metodo_paga = "metodo_paga" . $num1 . "_" . $n_r; if (!strcmp(${$saldo_paga}, "") and !strcmp(${$data_paga}, "") and !strcmp(${$metodo_paga}, "")) { ${$saldo_paga} = $GLOBALS[$saldo_paga]; ${$data_paga} = $GLOBALS[$data_paga]; ${$utente_paga} = $n_utente_contr[$GLOBALS[$utente_paga]]; if (strcmp($GLOBALS[$metodo_paga], "")) { ${$metodo_paga} = $GLOBALS[$metodo_paga]; } if ($unset_glob) { unset($GLOBALS[$saldo_paga]); unset($GLOBALS[$data_paga]); unset($GLOBALS[$utente_paga]); unset($GLOBALS[$metodo_paga]); } # fine if ($unset_glob) } # fine if (!strcmp($$saldo_paga,"") and !strcmp($$data_paga,"") and !strcmp($$metodo_paga,"")) $data_paga_f = formatta_data_contr(${$data_paga}, $stile_data); $saldo_paga_p = punti_in_num(${$saldo_paga}, $stile_soldi); $tutti_i_pagamenti .= str_replace(" ", "{$tag_spazio}", $data_paga_f . " " . ${$saldo_paga} . " {$nome_valuta} " . ${$metodo_paga}); $tutti_i_pagamenti_p .= str_replace(" ", "{$tag_spazio}", $data_paga_f . " " . $saldo_paga_p . " {$nome_valuta} " . ${$metodo_paga}); if ($num1 + 1 != $num_pagamenti) { $tutti_i_pagamenti .= $tag_acapo; $tutti_i_pagamenti_p .= $tag_acapo; } # fine if (($num1 + 1) != $num_pagamenti) } # fine for $num1 $valore_ultimo_pagamento = ${"saldo_paga" . ($num_pagamenti - 1) . "_" . $n_r}; $valore_ultimo_pagamento_p = punti_in_num($valore_ultimo_pagamento, $stile_soldi); $data_ultimo_pagamento = formatta_data_contr(${"data_paga" . ($num_pagamenti - 1) . "_" . $n_r}, $stile_data); $utente_ultimo_pagamento = ${"utente_paga" . ($num_pagamenti - 1) . "_" . $n_r}; $metodo_ultimo_pagamento = ${"metodo_paga" . ($num_pagamenti - 1) . "_" . $n_r}; if ($costo_tot) { $costo_tot_somma_ripetizioni = $costo_tot_somma_ripetizioni + $costo_tot; } if ($caparra) { $caparra_somma_ripetizioni = $caparra_somma_ripetizioni + $caparra; } if ($costo_tot) { $resto_caparra_somma_ripetizioni = $resto_caparra_somma_ripetizioni + $costo_tot; } if ($caparra) { $resto_caparra_somma_ripetizioni = $resto_caparra_somma_ripetizioni - $caparra; } if ($pagato) { $pagato_somma_ripetizioni = $pagato_somma_ripetizioni + $pagato; } if ($costo_tot) { $resto_da_pagare_somma_ripetizioni = $resto_da_pagare_somma_ripetizioni + $costo_tot; } if ($pagato) { $resto_da_pagare_somma_ripetizioni = $resto_da_pagare_somma_ripetizioni - $pagato; } if ($num_persone != "non specificato" and $num_persone != "") { $num_persone_tot_somma_ripetizioni = $num_persone_tot_somma_ripetizioni + $num_persone; } if ($n_letti_agg) { $num_persone_tot_somma_ripetizioni = $num_persone_tot_somma_ripetizioni + $n_letti_agg; } if ($costo_tot and $caparra) { $resto_caparra = $costo_tot - $caparra; $resto_caparra_p = punti_in_num($resto_caparra, $stile_soldi); } # fine if ($costo_tot and $caparra) if ($costo_tot and $commissioni) { $resto_commissioni = $costo_tot - $commissioni; $resto_commissioni_p = punti_in_num($resto_commissioni, $stile_soldi); } # fine if ($costo_tot and $commissioni) if ($costo_tot) { $resto_da_pagare = $costo_tot - $pagato; $resto_da_pagare_p = punti_in_num($resto_da_pagare, $stile_soldi); } # fine if ($costo_tot) $nome_orig = $nome; $soprannome_orig = $soprannome; $cognome_orig = $cognome; $data_nascita_orig = $data_nascita; $documento_orig = $documento; $nazione_orig = $nazione; $regione_orig = $regione; $citta_orig = $citta; $via_orig = $via; $numcivico_orig = $numcivico; $telefono_orig = $telefono; $telefono2_orig = $telefono2; $telefono3_orig = $telefono3; $fax_orig = $fax; $email_orig = $email; $cap_orig = $cap; $codice_fiscale_orig = $codice_fiscale; $partita_iva_orig = $partita_iva; $num_persone_orig = $num_persone; $caparra_orig = $caparra; $commissioni_orig = $commissioni; $data_inizio_orig = $data_inizio; $data_fine_orig = $data_fine; $num_periodi_orig = $num_periodi; $orario_entrata_stimato_orig = $orario_entrata_stimato; $nome_tariffa_orig = $nome_tariffa; $costo_tariffa_orig = $costo_tariffa; $sconto_orig = $sconto; $percentuale_tasse_tariffa_orig = $percentuale_tasse_tariffa; $commento_orig = $commento; $origine_prenotazione_orig = $origine_prenotazione; $unita_occupata_orig = $unita_occupata; $unita_assegnabili_orig = $unita_assegnabili; $pagato_orig = $pagato; $costo_tot_orig = $costo_tot; $n_letti_agg_orig = $n_letti_agg; $numero_prenotazione_orig = $numero_prenotazione; $data_inserimento_prenotazione_orig = $data_inserimento_prenotazione; $codice_cittadinanza = trova_codice_rel($cittadinanza, $rel_esist, "nazione", "nazioni", $codice2_cittadinanza, $codice3_cittadinanza, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_nazione_nascita = trova_codice_rel($nazione_nascita, $rel_esist, "nazione", "nazioni", $codice2_nazione_nascita, $codice3_nazione_nascita, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_regione_nascita = trova_codice_rel($regione_nascita, $rel_esist, "regione", "regioni", $codice2_regione_nascita, $codice3_regione_nascita, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_citta_nascita = trova_codice_rel($citta_nascita, $rel_esist, "citta", "citta", $codice2_citta_nascita, $codice3_citta_nascita, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_nazione = trova_codice_rel($nazione, $rel_esist, "nazione", "nazioni", $codice2_nazione, $codice3_nazione, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_regione = trova_codice_rel($regione, $rel_esist, "regione", "regioni", $codice2_regione, $codice3_regione, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_citta = trova_codice_rel($citta, $rel_esist, "citta", "citta", $codice2_citta, $codice3_citta, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_tipo_documento = trova_codice_rel($tipo_documento, $rel_esist, "documentoid", "documentiid", $codice2_tipo_documento, $codice3_tipo_documento, $tabledocumentiid, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_citta_documento = trova_codice_rel($citta_documento, $rel_esist, "citta", "citta", $codice2_citta_documento, $codice3_citta_documento, $tablecitta, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_regione_documento = trova_codice_rel($regione_documento, $rel_esist, "regione", "regioni", $codice2_regione_documento, $codice3_regione_documento, $tableregioni, $tablerelutenti, C_ID_UTENTE_CONTR); $codice_nazione_documento = trova_codice_rel($nazione_documento, $rel_esist, "nazione", "nazioni", $codice2_nazione_documento, $codice3_nazione_documento, $tablenazioni, $tablerelutenti, C_ID_UTENTE_CONTR); calcola_tasse_contr($costo_tariffa, $percentuale_tasse_tariffa, $arrotond_tasse, $tasse_tariffa, $tasse_tariffa_p, $costo_tariffa_senza_tasse, $costo_tariffa_senza_tasse_p, $stile_soldi); calcola_tasse_contr($sconto, $percentuale_tasse_tariffa, $arrotond_tasse, $tasse_sconto, $tasse_sconto_p, $sconto_senza_tasse, $sconto_senza_tasse_p, $stile_soldi); $apertura_rip_contr = ""; $chiusura_rip_contr = ""; $contratto_ripetizione = ""; $errore_ripetizione = ""; if ($ripeti_tutto) { $email_gia_inviata = 0; } if ($tipo_contratto == "contreml" and $ripeti_tutto) { if (${"email_" . $n_r}) { $cliente = esegui_query("select idclienti from {$tableclienti} where email = '" . aggslashdb(${"email_" . $n_r}) . "' and cognome = '" . aggslashdb(${"cognome_" . $n_r}) . "' and doc_inviati {$ILIKE} '%#@?" . aggslashdb($oggetto_email) . "#@?%' "); if (numlin_query($cliente) >= 1) { $email_gia_inviata = 1; $apertura_rip_contr .= "" . mex("<span class=\"colblu\">Attenzione</span>: una email con lo stesso oggetto è già stata inviata al cliente", $pag) . " " . ${"cognome_" . $n_r} . "<br><br>"; } # fine if (numlin_query($cliente) >= 1) } # fine if (${"email_".$n_r}) $apertura_rip_contr .= "<table><tr><td align=\"right\">" . mex("Da", $pag) . ":</td><td>"; if ($modifica_pers != "NO") { $apertura_rip_contr .= "<input type=\"text\" name=\"mittente_email{$n_r}\" size=\"60\" value=\"{$mittente_email}\">"; } else { $apertura_rip_contr .= "<b>{$mittente_email}</b>"; } $apertura_rip_contr .= "</td></tr><tr><td align=\"right\">\n" . mex("A", $pag) . ":</td><td>\n<input type=\"text\" name=\"destinatario_email{$n_r}\" size=\"60\" value=\"" . ${"email_" . $n_r} . "\">\n</td></tr><tr><td align=\"right\">\n" . mex("Oggetto", $pag) . ":</td><td>\n<input type=\"text\" name=\"oggetto_email{$n_r}\" size=\"60\" value=\"{$oggetto_email}\"></td></tr>"; if ($allegato_email) { $apertura_rip_contr .= "<tr><td></td><td><label><input type=\"checkbox\" name=\"allega{$n_r}\" value=\"SI\" checked>\n" . mex("Allega", $pag) . " <b>{$allegato_email}</b></label></td></tr>"; } # fine if ($allegato_email) $apertura_rip_contr .= "<tr><td style=\"height: 3px;\"></td></tr></table>\n <textarea name=\"testo_email{$n_r}\" rows=32 cols=90>"; $chiusura_rip_contr .= "</textarea><br>\n<table><tr><td style=\"height: 3px;\"></td></tr></table>\n<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">"; } # fine if ($tipo_contratto == "contreml" and $ripeti_tutto) if ($contr_multilingua) { if (!$codice_lingua) { $contratto_parte[1] = $contratti_orig_mln[$contratti_orig_mln['predef']]; } else { if (!strcmp($contratti_orig_mln[$codice_lingua], "")) { $contratto_parte[1] = $contratti_orig_mln[$contratti_orig_mln['predef']]; } else { $contratto_parte[1] = $contratti_orig_mln[$codice_lingua]; } } # fine else if (!$codice_lingua) } # fine if ($contr_multilingua) # Ripetizioni per gli ospiti, costi aggiuntivi, array e unità all'interno di ogni prenotazione unset($contratto_parte2); if (str_replace("[r2]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and str_replace("[r3]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and !preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_parte[$n_p]) and str_replace("[r5]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p] and str_replace("[r6]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p]) { $contratto_parte2[1] = $contratto_parte[$n_p]; $ripeti_parte2[1] = "NO"; $num_parti2_contr = 1; } else { $num_parti2_contr = 0; $contratto_restante = $contratto_parte[$n_p]; while (str_replace("[r2]", "", $contratto_restante) != $contratto_restante or str_replace("[r3]", "", $contratto_restante) != $contratto_restante or preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante) or str_replace("[r5]", "", $contratto_restante) != $contratto_restante or str_replace("[r6]", "", $contratto_restante) != $contratto_restante) { $contr_vett2 = explode("[r2]", $contratto_restante); $contr_vett3 = explode("[r3]", $contratto_restante); $contr_vett4 = preg_split("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante); $contr_vett5 = explode("[r5]", $contratto_restante); $contr_vett6 = explode("[r6]", $contratto_restante); $l0_cv2 = strlen($contr_vett2[0]); $l0_cv3 = strlen($contr_vett3[0]); $l0_cv4 = strlen($contr_vett4[0]); $l0_cv5 = strlen($contr_vett5[0]); $l0_cv6 = strlen($contr_vett6[0]); if ($l0_cv2 > $l0_cv6 and $l0_cv3 > $l0_cv6 and $l0_cv4 > $l0_cv6 and $l0_cv5 > $l0_cv6) { $contr_vett = $contr_vett6; $tipo_contr_vett = 6; } else { if ($l0_cv2 > $l0_cv5 and $l0_cv3 > $l0_cv5 and $l0_cv4 > $l0_cv5) { $contr_vett = $contr_vett5; $tipo_contr_vett = 5; } else { if ($l0_cv2 > $l0_cv4 and $l0_cv3 > $l0_cv4) { $contr_vett = $contr_vett4; $tipo_contr_vett = 4; } else { if ($l0_cv2 > $l0_cv3) { $contr_vett = $contr_vett3; $tipo_contr_vett = 3; } else { $contr_vett = $contr_vett2; $tipo_contr_vett = 2; } # fine else if ($l0_cv2 > $l0_cv3) } # fine else if ($l0_cv2 > $l0_cv4 and $l0_cv3 > $l0_cv4) } # fine else if ($l0_cv2 > $l0_cv5 and $l0_cv3 > $l0_cv5 and $l0_cv4 > $l0_cv5) } # fine else if ($l0_cv2 > $l0_cv6 and $l0_cv3 > $l0_cv6 and $l0_cv4 > $l0_cv6 and $l0_cv5 > $l0_cv6) if ($contr_vett[0] != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contr_vett[0] != "") $contratto_restante = substr($contratto_restante, strlen($contr_vett[0])); if ($tipo_contr_vett == 4) { $arr_ripeti = explode("\"]", $contratto_restante, 2); $arr_ripeti = str_replace("[r4 array=\"", "", $arr_ripeti[0]); $contratto_restante = substr($contratto_restante, strlen("[r4 array=\"{$arr_ripeti}\"]")); } else { $contratto_restante = substr($contratto_restante, 4); } $contr_vett = explode("[/r" . $tipo_contr_vett . "]", $contratto_restante); $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "SI"; $tipo_parte2[$num_parti2_contr] = $tipo_contr_vett; if ($tipo_contr_vett == 4) { $arr_parte2[$num_parti2_contr] = $arr_ripeti; } $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 5); } # fine while (str_replace("[r2]","",$contratto_restante) != $contratto_restante or... if ($contratto_restante != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contratto_restante; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contratto_restante != "") } # fine else if (str_replace("[r2]","",$contratto_parte[$n_p]) == $contratto_parte[$n_p] and... # parti n_p2: parti del contratto se ci sono ripetizioni ospiti, costi agg o array interni for ($n_p2 = 1; $n_p2 <= $num_parti2_contr; $n_p2++) { if ($ripeti_parte2[$n_p2] != "SI") { $num_ripeti2 = 1; } else { if ($tipo_parte2[$n_p2] == 2) { $ospiti = esegui_query("select idclienti,parentela from {$tablerclientiprenota} where idprenota = '" . aggslashdb($numero_prenotazione_orig) . "' order by num_ordine "); $num_ripeti2 = numlin_query($ospiti); $num_ospiti_tot = $num_ripeti2; } # fine if ($tipo_parte2[$n_p2] == 2) if ($tipo_parte2[$n_p2] == 3) { $num_ripeti2 = $num_costi_aggiuntivi; } if ($tipo_parte2[$n_p2] == 4) { if (@is_array(${$arr_parte2[$n_p2]})) { $num_ripeti2 = count(${$arr_parte2[$n_p2]}); reset(${$arr_parte2[$n_p2]}); } else { $num_ripeti2 = 0; } } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 5) { $num_ripeti2 = $num_pagamenti; } if ($tipo_parte2[$n_p2] == 6) { $num_ripeti2 = $num_unita; } } # fine else if ($ripeti_parte2[$n_p2] != "SI") # ripetizione n_r2: se c'è da ripetere la parte del contratto per ospiti, costi agg, array o unità interni for ($n_r2 = 1; $n_r2 <= $num_ripeti2; $n_r2++) { $mostra_ripetizione = 1; if ($ripeti_parte2[$n_p2] == "SI") { if ($tipo_parte2[$n_p2] == 2) { $numero_ospite = $n_r2; $idospite = risul_query($ospiti, $n_r2 - 1, 'idclienti'); $parentela_ospite = risul_query($ospiti, $n_r2 - 1, 'parentela'); $dati_osp = esegui_query("select * from {$tableclienti} where idclienti = '{$idospite}' "); $utente_ospite = risul_query($dati_osp, 0, 'utente_inserimento'); $cognome_ospite = ""; $nome_ospite = ""; $soprannome_ospite = ""; $titolo_ospite = ""; $sesso_ospite = ""; $data_nascita_ospite = ""; $citta_nascita_ospite = ""; $regione_nascita_ospite = ""; $nazione_nascita_ospite = ""; $cittadinanza_ospite = ""; $nazione_ospite = ""; $regione_ospite = ""; $citta_ospite = ""; $via_ospite = ""; $numcivico_ospite = ""; $cap_ospite = ""; $documento_ospite = ""; $tipo_documento_ospite = ""; $citta_documento_ospite = ""; $regione_documento_ospite = ""; $nazione_documento_ospite = ""; $scadenza_documento_ospite = ""; $telefono_ospite = ""; $telefono2_ospite = ""; $telefono3_ospite = ""; $fax_ospite = ""; $email_ospite = ""; $codice_fiscale_ospite = ""; $partita_iva_ospite = ""; if (numlin_query($dati_osp) == 1 and $vedi_clienti != "NO" and ($vedi_clienti != "PROPRI" or $utente_ospite == C_ID_UTENTE) and ($vedi_clienti != "GRUPPI" or $utenti_gruppi[$utente_ospite])) { $cognome_ospite = risul_query($dati_osp, 0, 'cognome'); $nome_ospite = risul_query($dati_osp, 0, 'nome'); $soprannome_ospite = risul_query($dati_osp, 0, 'soprannome'); $titolo_ospite = risul_query($dati_osp, 0, 'titolo'); $sesso_ospite = risul_query($dati_osp, 0, 'sesso'); $data_nascita_ospite = risul_query($dati_osp, 0, 'datanascita'); $citta_nascita_ospite = risul_query($dati_osp, 0, 'cittanascita'); $regione_nascita_ospite = risul_query($dati_osp, 0, 'regionenascita'); $nazione_nascita_ospite = risul_query($dati_osp, 0, 'nazionenascita'); $cittadinanza_ospite = risul_query($dati_osp, 0, 'nazionalita'); $nazione_ospite = risul_query($dati_osp, 0, 'nazione'); $regione_ospite = risul_query($dati_osp, 0, 'regione'); $citta_ospite = risul_query($dati_osp, 0, 'citta'); $via_ospite = risul_query($dati_osp, 0, 'via'); $numcivico_ospite = risul_query($dati_osp, 0, 'numcivico'); $cap_ospite = risul_query($dati_osp, 0, 'cap'); $documento_ospite = risul_query($dati_osp, 0, 'documento'); $tipo_documento_ospite = risul_query($dati_osp, 0, 'tipodoc'); $citta_documento_ospite = risul_query($dati_osp, 0, 'cittadoc'); $regione_documento_ospite = risul_query($dati_osp, 0, 'regionedoc'); $nazione_documento_ospite = risul_query($dati_osp, 0, 'nazionedoc'); $scadenza_documento_ospite = risul_query($dati_osp, 0, 'scadenzadoc'); $telefono_ospite = risul_query($dati_osp, 0, 'telefono'); $telefono2_ospite = risul_query($dati_osp, 0, 'telefono2'); $telefono3_ospite = risul_query($dati_osp, 0, 'telefono3'); $fax_ospite = risul_query($dati_osp, 0, 'fax'); $email_ospite = risul_query($dati_osp, 0, 'email'); $codice_fiscale_ospite = risul_query($dati_osp, 0, 'cod_fiscale'); $partita_iva_ospite = risul_query($dati_osp, 0, 'partita_iva'); } # fine if (numlin_query($dati_osp) == 1 and... $codice_cittadinanza_ospite = trova_codice_rel($cittadinanza_ospite, $rel_esist, "nazione", "nazioni", $codice2_cittadinanza_ospite, $codice3_cittadinanza_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); $codice_parentela_ospite = trova_codice_rel($parentela_ospite, $rel_esist, "parentela", "parentele", $codice2_parentela_ospite, $codice3_parentela_ospite, $tableparentele, $tablerelutenti, C_ID_UTENTE); $codice_nazione_nascita_ospite = trova_codice_rel($nazione_nascita_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_nascita_ospite, $codice3_nazione_nascita_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); $codice_regione_nascita_ospite = trova_codice_rel($regione_nascita_ospite, $rel_esist, "regione", "regioni", $codice2_regione_nascita_ospite, $codice3_regione_nascita_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE); $codice_citta_nascita_ospite = trova_codice_rel($citta_nascita_ospite, $rel_esist, "citta", "citta", $codice2_citta_nascita_ospite, $codice3_citta_nascita_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE); $codice_nazione_ospite = trova_codice_rel($nazione_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_ospite, $codice3_nazione_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); $codice_regione_ospite = trova_codice_rel($regione_ospite, $rel_esist, "regione", "regioni", $codice2_regione_ospite, $codice3_regione_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE); $codice_citta_ospite = trova_codice_rel($citta_ospite, $rel_esist, "citta", "citta", $codice2_citta_ospite, $codice3_citta_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE); $codice_tipo_documento_ospite = trova_codice_rel($tipo_documento_ospite, $rel_esist, "documentoid", "documentiid", $codice2_tipo_documento_ospite, $codice3_tipo_documento_ospite, $tabledocumentiid, $tablerelutenti, C_ID_UTENTE); $codice_citta_documento_ospite = trova_codice_rel($citta_documento_ospite, $rel_esist, "citta", "citta", $codice2_citta_documento_ospite, $codice3_citta_documento_ospite, $tablecitta, $tablerelutenti, C_ID_UTENTE); $codice_regione_documento_ospite = trova_codice_rel($regione_documento_ospite, $rel_esist, "regione", "regioni", $codice2_regione_documento_ospite, $codice3_regione_documento_ospite, $tableregioni, $tablerelutenti, C_ID_UTENTE); $codice_nazione_documento_ospite = trova_codice_rel($nazione_documento_ospite, $rel_esist, "nazione", "nazioni", $codice2_nazione_documento_ospite, $codice3_nazione_documento_ospite, $tablenazioni, $tablerelutenti, C_ID_UTENTE); } else { $numero_ospite = 0; } if ($tipo_parte2[$n_p2] == 3) { $numca = $n_r2 - 1; $nome_costo_agg = "nome_costo_agg" . $numca . "_" . $n_r; $val_costo_agg = "val_costo_agg" . $numca . "_" . $n_r; $percentuale_tasse_costo_agg = "percentuale_tasse_costo_agg" . $numca . "_" . $n_r; $moltiplica_max_costo_agg = "moltiplica_max_costo_agg" . $numca . "_" . $n_r; $giorni_costo_agg = "giorni_costo_agg" . $numca . "_" . $n_r; $data_inserimento_costo_agg = "data_inserimento_costo_agg" . $numca . "_" . $n_r; $utente_inserimento_costo_agg = "utente_inserimento_costo_agg" . $numca . "_" . $n_r; $nome_costo_agg = ${$nome_costo_agg}; $valore_costo_agg = ${$val_costo_agg}; $percentuale_tasse_costo_agg = ${$percentuale_tasse_costo_agg}; $moltiplica_max_costo_agg = ${$moltiplica_max_costo_agg}; $giorni_costo_agg = ${$giorni_costo_agg}; if ($giorni_costo_agg and $ripeti_prenota_data and !strstr($giorni_costo_agg, ",{$ripeti_prenota_data},")) { $mostra_ripetizione = 0; } $data_inserimento_costo_agg = ${$data_inserimento_costo_agg}; $utente_inserimento_costo_agg = ${$utente_inserimento_costo_agg}; $valore_costo_agg_p = punti_in_num($valore_costo_agg, $stile_soldi); calcola_tasse_contr($valore_costo_agg, $percentuale_tasse_costo_agg, $arrotond_tasse, $tasse_costo_agg, $tasse_costo_agg_p, $valore_costo_agg_senza_tasse, $valore_costo_agg_senza_tasse_p, $stile_soldi); if (str_replace(",", "", $moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) { $moltiplica_max_costo_agg = explode(",", $moltiplica_max_costo_agg); rsort($moltiplica_max_costo_agg); $moltiplica_max_costo_agg = $moltiplica_max_costo_agg[0]; } # fine if (str_replace(",","",$moltiplica_max_costo_agg) != $moltiplica_max_costo_agg) } else { $nome_costo_agg = ""; $valore_costo_agg = 0; $valore_costo_agg_p = 0; $percentuale_tasse_costo_agg = 0; $tasse_costo_agg = 0; $resto_tasse_costo_agg = 0; $moltiplica_max_costo_agg = 0; $giorni_costo_agg = ""; $data_inserimento_costo_agg = ""; $utente_inserimento_costo_agg = ""; } # fine else if ($tipo_parte2[$n_p2] == 3) if ($tipo_parte2[$n_p2] == 4) { ${$var_arr_nome[$arr_parte2[$n_p2]]} = key(${$arr_parte2[$n_p2]}); next(${$arr_parte2[$n_p2]}); } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 5) { $valore_pagamento = ${"saldo_paga" . ($n_r2 - 1) . "_" . $n_r}; $valore_pagamento_p = punti_in_num($valore_pagamento, $stile_soldi); $data_pagamento = ${"data_paga" . ($n_r2 - 1) . "_" . $n_r}; $utente_pagamento = ${"utente_paga" . ($n_r2 - 1) . "_" . $n_r}; $metodo_pagamento = ${"metodo_paga" . ($n_r2 - 1) . "_" . $n_r}; } else { $valore_pagamento = 0; $valore_pagamento_p = 0; $data_pagamento = ""; $utente_pagamento = ""; $metodo_pagamento = ""; } # fine else if ($tipo_parte2[$n_p2] == 5) if ($tipo_parte2[$n_p2] == 6) { $nome_unita = $dati_app_contr[$n_r2]['nome']; $casa_unita = $dati_app_contr[$n_r2]['casa']; $piano_unita = $dati_app_contr[$n_r2]['piano']; $capacita_unita = $dati_app_contr[$n_r2]['capacita']; $priorita_unita = $dati_app_contr[$n_r2]['priorita']; } elseif ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine elseif ($tipo_parte0[$n_p0] != "6") } else { $nome_costo_agg = ""; $valore_costo_agg = 0; $valore_costo_agg_p = 0; $percentuale_tasse_costo_agg = 0; $tasse_costo_agg = 0; $resto_tasse_costo_agg = 0; $moltiplica_max_costo_agg = 0; $giorni_costo_agg = ""; $data_inserimento_costo_agg = ""; $utente_inserimento_costo_agg = ""; $numero_ospite = 0; $valore_pagamento = 0; $valore_pagamento_p = 0; $data_pagamento = ""; $utente_pagamento = ""; $metodo_pagamento = ""; if ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine if ($tipo_parte0[$n_p0] != "6") } # fine if else ($ripeti_parte2[$n_p2] == "SI") if ($mostra_ripetizione) { #for ($num1 = 0 ; $num1 < $num_variabili ; $num1++) ${$variabile[$num_var]} = ""; if ($num_persone != "non specificato" and $num_persone != "") { $num_persone_tot = $num_persone + $n_letti_agg; } else { $num_persone_tot = ""; } # Condizioni applicate ad ogni ripetizione di prenotazione $break_cont = 0; for ($num1 = 0; $num1 < $num_condizioni; $num1++) { $condizione = $condizione_vett[$num1]; $num_se = $num_cond_vett[$num1]; $azione = $azione_vett[$num1]; $cond_verificata = 1; if ($break_cont and $azione[0] != "cont") { $condizione = ""; $cond_verificata = 0; } # fine if ($break_cont and $azione[0] != "cont") if ($condizione) { if ($condizione[0] == "or") { $cond_verificata = 0; } for ($num2 = 1; $num2 < $num_se; $num2++) { $se_cond_corr = $condizione[$num2]; $var_if = $se_cond_corr[0]; if (substr($var_if, -1) != ")") { $var_if = ${$var_if}; } else { $var_if = explode("(", substr($var_if, 0, -1)); $var_if = ${$var_if[0]}[${$var_if[1]}]; } # fine else if (substr($var_if,-1) != ")") $val_if = $se_cond_corr[3]; if ($se_cond_corr[2] == "var") { if (substr($val_if, -1) != ")") { $val_if = ${$val_if}; } else { $val_if = explode("(", substr($val_if, 0, -1)); $val_if = ${$val_if[0]}[${$val_if[1]}]; } # fine else if (substr($val_if,-1) != ")") } # fine if ($se_cond_corr[2] == "var") $cond_verificata = 0; if ($se_cond_corr[1] == "=" and $var_if == $val_if or $se_cond_corr[1] == "!=" and $var_if != $val_if or $se_cond_corr[1] == ">" and $var_if > $val_if or $se_cond_corr[1] == "<" and $var_if < $val_if) { $cond_verificata = 1; } if ($se_cond_corr[1] == "{}" and str_replace(strtolower($val_if), "", strtolower($var_if)) != strtolower($var_if) or $se_cond_corr[1] == "{A}" and str_replace($val_if, "", $var_if) != $var_if) { $cond_verificata = 1; } if ($condizione[0] == "or" and $cond_verificata) { break; } if ($condizione[0] == "and" and !$cond_verificata) { break; } } # fine for $num2 } # fine if ($condizione) if ($cond_verificata) { if ($azione[0] == "set") { $val_then = $azione[4]; if ($azione[3] == "var") { if (substr($val_then, -1) != ")") { if ($var_predef_data[$val_then] and $val_then != "data_inizio_selezione" and $val_then != "data_fine_selezione" and $val_then != "oggi") { $val_then = formatta_data_contr(${$val_then}, $stile_data); } else { $val_then = ${$val_then}; } } else { $val_then = explode("(", substr($val_then, 0, -1)); $val_then = ${$val_then[0]}[${$val_then[1]}]; } # fine else if (substr($val_then,-1) != ")") } # fine if ($azione[3] == "var") if (strcmp($azione[6], "")) { $txt_sost1 = $azione[6]; if ($azione[5] == "var") { if (substr($txt_sost1, -1) != ")") { $txt_sost1 = ${$txt_sost1}; } else { $txt_sost1 = explode("(", substr($txt_sost1, 0, -1)); $txt_sost1 = ${$txt_sost1[0]}[${$txt_sost1[1]}]; } # fine else if (substr($txt_sost1,-1) != ")") } # fine if ($azione[5] == "var") $txt_sost2 = $azione[8]; if ($azione[7] == "var") { if (substr($txt_sost2, -1) != ")") { $txt_sost2 = ${$txt_sost2}; } else { $txt_sost2 = explode("(", substr($txt_sost2, 0, -1)); $txt_sost2 = ${$txt_sost2[0]}[${$txt_sost2[1]}]; } # fine else if (substr($txt_sost2,-1) != ")") } # fine if ($azione[7] == "var") $val_then = str_replace($txt_sost1, $txt_sost2, $val_then); } # fine if (strcmp($azione[6],"")) if ($azione[2] == ".=") { if (substr($azione[1], 0, 1) != "a") { $var_then_orig = ${$variabile[$azione[1]]}; } else { $var_then_orig = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } } else { $var_then_orig = ""; } if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_then_orig . $val_then; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_then_orig . $val_then; $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "set") if ($azione[0] == "trunc") { if (substr($azione[1], 0, 1) != "a") { $var_da_assegnare = ${$variabile[$azione[1]]}; } else { $var_da_assegnare = ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}]; } if (strcmp($azione[3], "")) { while (num_caratteri_testo($var_da_assegnare) < $azione[2]) { if ($azione[4] == "ini") { $var_da_assegnare = $azione[3] . $var_da_assegnare; } if ($azione[4] == "fin") { $var_da_assegnare .= $azione[3]; } } # fine while (num_caratteri_testo($var_da_assegnare) < $azione[2]) } # fine if (strcmp($azione[3],"")) if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = tronca_testo($var_da_assegnare, 0, $azione[2]); } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = tronca_testo($var_da_assegnare, 0, $azione[2]); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($azione[0] == "trunc") if ($azione[0] == "oper") { $cont_oper = "SI"; $var_con_punti = "NO"; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { if (substr($var_da_oper, -2) != "_p" or !isset(${substr($var_da_oper, 0, -2)})) { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = ${substr($var_da_oper, 0, -2)}; } } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); if (substr($var_da_oper[0], -2) != "_p" or !isset(${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}])) { $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } else { $var_da_oper = ${substr($var_da_oper[0], 0, -2)}[${$var_da_oper[1]}]; } } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = formatta_soldi($var_da_oper); if (controlla_soldi($var_da_oper) == "NO") { $cont_oper = "NO"; } $var_da_oper2 = $azione[5]; if ($azione[4] == "var") { if (substr($var_da_oper2, -1) != ")") { if (substr($var_da_oper2, -2) != "_p" or !isset(${substr($var_da_oper2, 0, -2)})) { $var_da_oper2 = ${$var_da_oper2}; } else { $var_da_oper2 = ${substr($var_da_oper2, 0, -2)}; } } else { $var_da_oper2 = explode("(", substr($var_da_oper2, 0, -1)); if (substr($var_da_oper2[0], -2) != "_p" or !isset(${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}])) { $var_da_oper2 = ${$var_da_oper2[0]}[${$var_da_oper2[1]}]; } else { $var_da_oper2 = ${substr($var_da_oper2[0], 0, -2)}[${$var_da_oper2[1]}]; } } # fine else if (substr($var_da_oper2,-1) != ")") } # fine if ($azione[4] == "var") $var_da_oper2 = formatta_soldi($var_da_oper2); if (controlla_soldi($var_da_oper2) == "NO") { $cont_oper = "NO"; } if ($cont_oper != "NO") { if ($azione[3] == "+") { $var_da_assegnare = (double) $var_da_oper + (double) $var_da_oper2; } if ($azione[3] == "-") { $var_da_assegnare = (double) $var_da_oper - (double) $var_da_oper2; } if ($azione[3] == "*") { $var_da_assegnare = (double) $var_da_oper * (double) $var_da_oper2; } if ($azione[3] == "/") { $var_da_assegnare = (double) $var_da_oper / (double) $var_da_oper2; } if ($azione[6]) { $var_da_assegnare = $var_da_assegnare / (double) $azione[6]; $var_da_assegnare = round($var_da_assegnare); $var_da_assegnare = $var_da_assegnare * (double) $azione[6]; } # fine if ($azione[6]) if (substr($azione[1], 0, 1) != "a") { if (substr($variabile[$azione[1]], -2) != "_p") { ${$variabile[$azione[1]]} = $var_da_assegnare; } else { ${$variabile[$azione[1]]} = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { $array_date_contr[$array[substr($azione[1], 1)]] = ""; if (substr($array[substr($azione[1], 1)], -2) != "_p") { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } else { ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = punti_in_num($var_da_assegnare, $stile_soldi, 2); } } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper != "NO") } # fine if ($azione[0] == "oper") if ($azione[0] == "date") { $cont_oper = 1; $var_da_oper = $azione[2]; if (substr($var_da_oper, -1) != ")") { $var_da_oper = ${$var_da_oper}; } else { $var_da_oper = explode("(", substr($var_da_oper, 0, -1)); $var_da_oper = ${$var_da_oper[0]}[${$var_da_oper[1]}]; } # fine else if (substr($var_da_oper,-1) != ")") $var_da_oper = substr($var_da_oper, 0, 10); if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/", $var_da_oper)) { if ($stile_data == "usa") { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 0, 2) . "-" . substr($var_da_oper, 3, 2); } else { $var_da_oper = substr($var_da_oper, 6, 4) . "-" . substr($var_da_oper, 3, 2) . "-" . substr($var_da_oper, 0, 2); } } # fine if (preg_match("/[0-9]{2,2}-[0-9]{2,2}-[0-9]{4,4}/",$var_da_oper)) if (!preg_match("/[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2}/", $var_da_oper)) { $cont_oper = 0; } if ($cont_oper) { if ($azione[3] == "gi") { $var_da_assegnare = "d"; } if ($azione[3] == "me") { $var_da_assegnare = "m"; } if ($azione[3] == "an") { $var_da_assegnare = "Y"; } if ($azione[3] == "gs") { $var_da_assegnare = "w"; } if ($azione[3] == "is") { $var_da_assegnare = "Y-m-d"; } if ($azione[3] == "da") { if ($stile_data == "usa") { $var_da_assegnare = "m-d-Y"; } else { $var_da_assegnare = "d-m-Y"; } } # fine if ($azione[3] == "da") $txt_sost1 = 0; $num2 = 0; $num3 = 0; if ($azione[5] == "g") { $txt_sost1 = $azione[4]; } if ($azione[5] == "m") { $num2 = $azione[4]; } if ($azione[5] == "a") { $num3 = $azione[4]; } $var_da_assegnare = date($var_da_assegnare, mktime(0, 0, 0, substr($var_da_oper, 5, 2) + $num2, substr($var_da_oper, 8, 2) + $txt_sost1, substr($var_da_oper, 0, 4) + $num3)); if (substr($azione[1], 0, 1) != "a") { ${$variabile[$azione[1]]} = $var_da_assegnare; } elseif (strcmp(${$var_arr[substr($azione[1], 1)]}, "")) { if ($azione[3] != "is") { $array_date_contr[$array[substr($azione[1], 1)]] = ""; } ${$array[substr($azione[1], 1)]}[${$var_arr[substr($azione[1], 1)]}] = $var_da_assegnare; } # fine elseif (strcmp(${$var_arr[substr($azione[1],1)]},"")) } # fine if ($cont_oper) } # fine if ($azione[0] == "date") if ($azione[0] == "unset") { unset(${$array[substr($azione[1], 1)]}); $array_date_contr[$array[substr($azione[1], 1)]] = ""; } # fine if ($azione[0] == "unset") if ($azione[0] == "array") { $nome_arr = $array[substr($azione[1], 1)]; if ($azione[2] == "val") { unset(${$nome_arr}); $array_date_contr[$nome_arr] = ""; $lista_val = explode(",", $azione[3]); $num_lista_val = count($lista_val); for ($num2 = 1; $num2 <= $num_lista_val; $num2++) { ${$nome_arr}[$num2] = $lista_val[$num2 - 1]; } } # fine if ($azione[2] == "val") if ($azione[2] == "dat" or $azione[2] == "dap") { unset(${$nome_arr}); if ($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione or $azione[2] == "dap" and $data_primo_arrivo and $data_ultima_partenza) { $array_date_contr[$nome_arr] = "SI"; if ($azione[2] == "dat") { $data_corr_arr = $data_inizio_selezione_orig; $txt_sost1 = $data_fine_selezione_orig; } # fine if ($azione[2] == "dat") if ($azione[2] == "dap") { $data_corr_arr = $data_primo_arrivo; $txt_sost1 = $data_ultima_partenza; } # fine if ($azione[2] == "dap") $num2 = 1; ${$nome_arr}[$num2] = $data_corr_arr; while ($data_corr_arr != $txt_sost1) { $num2++; $data_corr_arr = date("Y-m-d", mktime(0, 0, 0, substr($data_corr_arr, 5, 2), substr($data_corr_arr, 8, 2) + 1, substr($data_corr_arr, 0, 4))); ${$nome_arr}[$num2] = $data_corr_arr; } # fine while ($data_corr_arr != $txt_sost1) } # fine if (($azione[2] == "dat" and $data_inizio_selezione and $data_fine_selezione) or... } # fine if ($azione[2] == "dat" or $azione[2] == "dap") if ($azione[2] == "cop") { $lista_val = ${$array[substr($azione[3], 1)]}; ${$nome_arr} = $lista_val; $array_date_contr[$nome_arr] = $array_date_contr[$array[substr($azione[3], 1)]]; } # fine if ($azione[2] == "cop") } # fine if ($azione[0] == "array") if ($azione[0] == "break") { if ($azione[1] == "cont") { $break_cont = 1; } else { break; } } # fine if ($azione[0] == "break") if ($azione[0] == "cont") { $break_cont = 0; } } # fine if ($cond_verificata) } # fine for $num1 $contratto_corr = $contratto_parte2[$n_p2]; while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr)) { $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr, 2); $contr_parziale = substr($contratto_corr, strlen($contr_vett[0])); $contratto_corr = $contr_vett[0]; $condizione = preg_split("/\" *\\]/", $contr_parziale, 2); $condizione = $condizione[0]; $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione)); $var_if = trim($val_if[0]); $val_if = $val_if[1]; if (str_replace("(", "", $var_if) != $var_if) { $parti_arr = explode("(", substr($var_if, 0, -1)); if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } $val_var_if = ${$parti_arr[0]}[$val_var_if]; } else { $val_var_if = ${$var_if}; } if (preg_match("/!= *\"/", $condizione)) { $cond = "!="; } else { $cond = "="; } $contr_parziale = substr($contr_parziale, strlen($condizione) + 1); while (substr($contr_parziale, 0, 1) == " ") { $contr_parziale = substr($contr_parziale, 1); } $contr_parziale = substr($contr_parziale, 1); $contr_vett = explode("[/c]", $contr_parziale, 2); $contr_parziale = substr($contr_parziale, strlen($contr_vett[0]) + 4); if ($cond == "=" and $val_var_if == $val_if) { $contratto_corr .= $contr_vett[0]; } if ($cond == "!=" and $val_var_if != $val_if) { $contratto_corr .= $contr_vett[0]; } $contratto_corr .= $contr_parziale; } # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[A-Za-z]+[A-Za-z0-9_]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/",$contratto_corr)) if ($data_inizio) { $data_inizio = formatta_data_contr($data_inizio, $stile_data); } if ($data_fine) { $data_fine = formatta_data_contr($data_fine, $stile_data); } if ($data_nascita) { $data_nascita = formatta_data_contr($data_nascita, $stile_data); } if ($data_nascita_ospite) { $data_nascita_ospite = formatta_data_contr($data_nascita_ospite, $stile_data); } if ($data_inserimento_costo_agg) { $data_inserimento_costo_agg = formatta_data_contr($data_inserimento_costo_agg, $stile_data); } if ($data_pagamento) { $data_pagamento = formatta_data_contr($data_pagamento, $stile_data); } if ($data_inserimento_prenotazione) { $data_inserimento_prenotazione = formatta_data_contr($data_inserimento_prenotazione, $stile_data); } $data_inizio_selezione = $data_inizio_selezione_f; $data_fine_selezione = $data_fine_selezione_f; $oggi = $oggi_f; $testo_quotato_email_richiesta = str_replace("<email_richiesta> ", "<{$email}> ", $testo_quotato_email_richiesta_orig); if (!$nome) { $nome = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$soprannome) { $soprannome = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$cognome) { $cognome = "{$tag_b}" . "_________________{$tag_no_b}"; } if (!$data_nascita) { $data_nascita = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$documento) { $documento = " {$tag_b}" . "________________________________{$tag_no_b}"; } if (!$nazione) { $nazione = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$regione) { $regione = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$citta) { $citta = "{$tag_b}" . "___________________{$tag_no_b}"; } if (!$via and $lingua_mex) { $via2 = "{$fr_via} {$tag_b}" . "________________________________{$tag_no_b}"; } else { $via2 = $via; } if (!$via) { $via = "{$tag_b}" . "________________________________{$tag_no_b}"; } if (!$numcivico) { $numcivico = "{$tag_b}" . "_____{$tag_no_b}"; } if (!$telefono) { $telefono = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono2) { $telefono2 = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono3) { $telefono3 = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$fax) { $fax = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$email) { $email = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$cap) { $cap = "{$tag_b}" . "________{$tag_no_b}"; } if (!$codice_fiscale) { $codice_fiscale = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$partita_iva) { $partita_iva = "{$tag_b}" . "_____________{$tag_no_b}"; } if ($num_persone == "non specificato" or $num_persone == "") { $num_persone = "{$tag_b}" . "_____{$tag_no_b}"; $num_persone_tot = "{$tag_b}" . "_____{$tag_no_b}"; } # fine if ($num_persone == "non specificato" or $num_persone == "") if (!$costo_tot or !$caparra) { $resto_caparra = "{$tag_b}" . "_____________{$tag_no_b}"; $resto_caparra_p = "{$tag_b}" . "_____________{$tag_no_b}"; } # fine if (!$costo_tot or !$caparra) if (!$caparra) { $caparra = "{$tag_b}" . "___________{$tag_no_b}"; $caparra_p = "{$tag_b}" . "___________{$tag_no_b}"; } else { $caparra_p = punti_in_num($caparra, $stile_soldi); } if (!$costo_tot or !$commissioni) { $resto_commissioni = "{$tag_b}" . "_____________{$tag_no_b}"; $resto_commissioni_p = "{$tag_b}" . "_____________{$tag_no_b}"; } # fine if (!$costo_tot or !$commissioni) if (!$commissioni) { $commissioni = "{$tag_b}" . "___________{$tag_no_b}"; $commissioni_p = "{$tag_b}" . "___________{$tag_no_b}"; } else { $commissioni_p = punti_in_num($commissioni, $stile_soldi); } if (!$costo_tot) { $resto_da_pagare = "{$tag_b}" . "_____________{$tag_no_b}"; $resto_da_pagare_p = "{$tag_b}" . "_____________{$tag_no_b}"; } # fine if (!$costo_tot) if (!$data_inizio) { $data_inizio = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$data_fine) { $data_fine = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$num_periodi or $num_periodi == "?") { $num_periodi = "{$tag_b}" . "____{$tag_no_b}"; } if ($orario_entrata_stimato) { $orario_entrata_stimato = substr(str_replace("{$data_inizio} ", "", formatta_data_contr($orario_entrata_stimato, $stile_data)), 0, -3); } if (!$nome_tariffa) { $nome_tariffa = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$costo_tariffa) { $costo_tariffa = "{$tag_b}" . "____________________{$tag_no_b}"; $costo_tariffa_p = "{$tag_b}" . "____________________{$tag_no_b}"; } else { $costo_tariffa_p = punti_in_num($costo_tariffa, $stile_soldi); } if (!$sconto) { $sconto = "{$tag_b}" . "____________{$tag_no_b}"; $sconto_p = "{$tag_b}" . "____________{$tag_no_b}"; } else { $sconto_p = punti_in_num($sconto, $stile_soldi); } if (!$commento) { $commento = "{$tag_b}" . "______________________{$tag_no_b}"; } if (!$origine_prenotazione) { $origine_prenotazione = "{$tag_b}" . "_________________{$tag_no_b}"; } if (!$unita_occupata) { $unita_occupata = "{$tag_b}" . "____{$tag_no_b}"; } $appartamento = $unita_occupata; $apartment = $unita_occupata; $apartamento = $unita_occupata; if (!$unita_assegnabili) { $unita_assegnabili = "{$tag_b}" . "_________________{$tag_no_b}"; } $app_assegnabili = $unita_assegnabili; $apartment_list = $unita_assegnabili; $lista_apartamentos = $unita_assegnabili; if (!$pagato) { $pagato = "{$tag_b}" . "_____________{$tag_no_b}"; $pagato_p = "{$tag_b}" . "_____________{$tag_no_b}"; } else { $pagato_p = punti_in_num($pagato, $stile_soldi); } if (!$costo_tot) { $costo_tot = "{$tag_b}" . "_____________{$tag_no_b}"; $costo_tot_p = "{$tag_b}" . "_____________{$tag_no_b}"; } else { $costo_tot_p = punti_in_num($costo_tot, $stile_soldi); } if (!$n_letti_agg) { $n_letti_agg = "{$tag_b}" . "____{$tag_no_b}"; } if (!$numero_prenotazione) { $numero_prenotazione = "{$tag_b}" . "____{$tag_no_b}"; } if (!$nome_ospite) { $nome_ospite = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$soprannome_ospite) { $soprannome_ospite = "{$tag_b}" . "____________________{$tag_no_b}"; } if (!$cognome_ospite) { $cognome_ospite = "{$tag_b}" . "_________________{$tag_no_b}"; } if (!$data_nascita_ospite) { $data_nascita_ospite = "{$tag_b}" . "______________{$tag_no_b}"; } if (!$documento_ospite) { $documento_ospite = " {$tag_b}" . "________________________________{$tag_no_b}"; } if (!$nazione_ospite) { $nazione_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$regione_ospite) { $regione_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$citta_ospite) { $citta_ospite = "{$tag_b}" . "___________________{$tag_no_b}"; } if (!$via_ospite and $lingua_mex) { $via2_ospite = "{$fr_via} {$tag_b}" . "________________________________{$tag_no_b}"; } else { $via2_ospite = $via_ospite; } if (!$via_ospite) { $via_ospite = "{$tag_b}" . "________________________________{$tag_no_b}"; } if (!$numcivico_ospite) { $numcivico_ospite = "{$tag_b}" . "_____{$tag_no_b}"; } if (!$telefono_ospite) { $telefono_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono2_ospite) { $telefono2_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$telefono3_ospite) { $telefono3_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$fax_ospite) { $fax_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$email_ospite) { $email_ospite = "{$tag_b}" . "__________________{$tag_no_b}"; } if (!$cap_ospite) { $cap_ospite = "{$tag_b}" . "________{$tag_no_b}"; } if (!$codice_fiscale_ospite) { $codice_fiscale_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } if (!$partita_iva_ospite) { $partita_iva_ospite = "{$tag_b}" . "_____________{$tag_no_b}"; } $contratto_r = $contratto_corr; $contr_vett = explode("[", $contratto_r); $num_contr_vett = count($contr_vett); $contr_parziale = ""; for ($num1 = 0; $num1 < $num_contr_vett; $num1++) { $contr_parziale .= $contr_vett[$num1] . "["; $resto_contr = substr($contratto_corr, strlen($contr_parziale)); $lettera = (string) substr($resto_contr, 0, 1); if ($lettera and preg_replace("/[A-Za-z]/", "", $lettera) == "") { $num2 = 1; $lettere_var = $lettera; $cond = 0; while ((preg_replace("/[A-Za-z0-9\\(\\)'_]/", "SI", $lettera) == "SI" or $cond == 1) and ($cond != 1 or $lettera != "]" and $lettera != "(")) { if ($lettera == "'") { if (!$cond) { $cond = 1; } else { $cond = 2; } } # fine if ($lettera == "'") $lettera = (string) substr($resto_contr, $num2, 1); if ($lettera == "]") { if (str_replace("(", "", str_replace(")", "", str_replace("'", "", $lettere_var))) == $lettere_var) { if ($incr_np and $lettere_var == "numero_progressivo_documento") { if ($num_prog_contr_max and $numero_progressivo_documento > $num_prog_contr_max) { $numero_progressivo_documento--; } $val_if = strstr($contratto_r, "[numero_progressivo_documento]"); $contratto_r = substr($contratto_r, 0, strlen($val_if) * -1) . $numero_progressivo_documento . substr($val_if, 30); $numero_progressivo_documento++; } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$lettere_var}, $contratto_r); } } else { $parti_arr = explode("(", substr($lettere_var, 0, -1)); if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parti_arr[0]) == "" and preg_replace("/(('[^']*')|([A-Za-z]+[A-Za-z0-9_]*))/", "", $parti_arr[1]) == "") { if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } if ($array_date_contr[$parti_arr[0]] == "SI") { $contratto_r = str_replace("[" . $lettere_var . "]", formatta_data_contr(${$parti_arr[0]}[$val_var_if], $stile_data), $contratto_r); } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$parti_arr[0]}[$val_var_if], $contratto_r); } } # fine if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/","",$parti_arr[0]) == "" and... } # fine else if (str_replace("(","",str_replace(")","",str_replace("'","",$lettere_var))) == $lettere_var) } # fine if ($lettera == "]") $lettere_var .= $lettera; $num2++; } # fine while ((preg_replace("/[A-Za-z0-9\(\)'_]/","SI",$lettera) == "SI" or $cond == 1) and... } # fine ($lettera and preg_replace("/[A-Za-z]/","",$lettera) == "") } # fine for $num1 $contratto_ripetizione .= $contratto_r; $nome = $nome_orig; $soprannome = $soprannome_orig; $cognome = $cognome_orig; $data_nascita = $data_nascita_orig; $documento = $documento_orig; $nazione = $nazione_orig; $regione = $regione_orig; $citta = $citta_orig; $via = $via_orig; $numcivico = $numcivico_orig; $telefono = $telefono_orig; $telefono2 = $telefono2_orig; $telefono3 = $telefono3_orig; $fax = $fax_orig; $email = $email_orig; $cap = $cap_orig; $codice_fiscale = $codice_fiscale_orig; $partita_iva = $partita_iva_orig; $num_persone = $num_persone_orig; $caparra = $caparra_orig; $commissioni = $commissioni_orig; $data_inizio = $data_inizio_orig; $data_fine = $data_fine_orig; $num_periodi = $num_periodi_orig; $orario_entrata_stimato = $orario_entrata_stimato_orig; $nome_tariffa = $nome_tariffa_orig; $costo_tariffa = $costo_tariffa_orig; $sconto = $sconto_orig; $percentuale_tasse_tariffa = $percentuale_tasse_tariffa_orig; $commento = $commento_orig; $origine_prenotazione = $origine_prenotazione_orig; $unita_occupata = $unita_occupata_orig; $unita_assegnabili = $unita_assegnabili_orig; $pagato = $pagato_orig; $costo_tot = $costo_tot_orig; $n_letti_agg = $n_letti_agg_orig; $numero_prenotazione = $numero_prenotazione_orig; $data_inizio_selezione = $data_inizio_selezione_orig; $data_fine_selezione = $data_fine_selezione_orig; $data_inserimento_prenotazione = $data_inserimento_prenotazione_orig; $oggi = $oggi_orig; $cognome_ospite = ""; } # fine if ($mostra_ripetizione) } # fine for $n_r2 } # fine for $n_p2 if (!$errore_ripetizione) { $contratto .= $apertura_rip_contr . $contratto_ripetizione . $chiusura_rip_contr; } if ($filecontr and $ripeti_tutto and !$messaggio_di_errore) { if ($tipo_contratto == "contrrtf") { $contratto = str_replace(""", "\"", $contratto); $contratto = str_replace("'", "'", $contratto); $contratto = str_replace("<", "<", $contratto); $contratto = str_replace(">", ">", $contratto); $contratto = str_replace("&", "&", $contratto); $contratto = str_replace("ñ", "\\u241\\'f1", $contratto); $contratto = str_replace("à", "\\u224\\'e0", $contratto); $contratto = str_replace("è", "\\u232\\'e8", $contratto); $contratto = str_replace("ì", "\\u236\\'ec", $contratto); $contratto = str_replace("ò", "\\u242\\'f2", $contratto); $contratto = str_replace("ù", "\\u249\\'f9", $contratto); $contratto = str_replace("á", "\\u225\\'e1", $contratto); $contratto = str_replace("é", "\\u233\\'e9", $contratto); $contratto = str_replace("í", "\\u237\\'ed", $contratto); $contratto = str_replace("ó", "\\u243\\'f3", $contratto); $contratto = str_replace("ú", "\\u250\\'fa", $contratto); $contratto = str_replace("ä", "\\u228\\'e4", $contratto); $contratto = str_replace("ö", "\\u246\\'f6", $contratto); $contratto = str_replace("ü", "\\u252\\'fc", $contratto); $contratto = str_replace("ß", "\\u223\\'df", $contratto); $contratto = str_replace("ç", "\\u231\\'e7", $contratto); $contratto = str_replace("ã", "\\u227\\'e3", $contratto); $contratto = str_replace("õ", "\\u245\\'f5", $contratto); $contratto = str_replace("ø", "\\u248\\'f8", $contratto); $contratto = str_replace("€", "\\u8364\\'80", $contratto); $contratto = str_replace("°", "\\u176\\'b0", $contratto); $contratto = str_replace("’", "\\u8217\\'92", $contratto); $contratto = str_replace("Ñ", "\\u209\\'d1", $contratto); $contratto = str_replace("À", "\\u192\\'c0", $contratto); $contratto = str_replace("È", "\\u200\\'c8", $contratto); $contratto = str_replace("Ì", "\\u204\\'cc", $contratto); $contratto = str_replace("Ò", "\\u210\\'d2", $contratto); $contratto = str_replace("Ù", "\\u217\\'d9", $contratto); $contratto = str_replace("Á", "\\u193\\'c1", $contratto); $contratto = str_replace("É", "\\u201\\'c9", $contratto); $contratto = str_replace("Í", "\\u205\\'cd", $contratto); $contratto = str_replace("Ó", "\\u211\\'d3", $contratto); $contratto = str_replace("Ú", "\\u218\\'da", $contratto); $contratto = str_replace("Ä", "\\u196\\'c4", $contratto); $contratto = str_replace("Ö", "\\u214\\'d6", $contratto); $contratto = str_replace("Ü", "\\u220\\'dc", $contratto); $contratto = str_replace("Ç", "\\u199\\'c7", $contratto); $contratto = str_replace("Ã", "\\u195\\'c3", $contratto); $contratto = str_replace("Õ", "\\u213\\'d5", $contratto); $contratto = str_replace("Ø", "\\u216\\'d8", $contratto); $contratto = str_replace("Α", "\\u913\\'91", $contratto); $contratto = str_replace("α", "\\u945\\'b1", $contratto); $contratto = str_replace("Β", "\\u914\\'92", $contratto); $contratto = str_replace("β", "\\u946\\'b2", $contratto); $contratto = str_replace("Γ", "\\u915\\'93", $contratto); $contratto = str_replace("γ", "\\u947\\'b3", $contratto); $contratto = str_replace("Δ", "\\u916\\'94", $contratto); $contratto = str_replace("δ", "\\u948\\'b4", $contratto); $contratto = str_replace("Ε", "\\u917\\'95", $contratto); $contratto = str_replace("ε", "\\u949\\'b5", $contratto); $contratto = str_replace("Ζ", "\\u918\\'96", $contratto); $contratto = str_replace("ζ", "\\u950\\'b6", $contratto); $contratto = str_replace("Η", "\\u919\\'97", $contratto); $contratto = str_replace("η", "\\u951\\'b7", $contratto); $contratto = str_replace("Θ", "\\u920\\'98", $contratto); $contratto = str_replace("θ", "\\u952\\'b8", $contratto); $contratto = str_replace("Ι", "\\u921\\'99", $contratto); $contratto = str_replace("ι", "\\u953\\'b9", $contratto); $contratto = str_replace("Κ", "\\u922\\'9a", $contratto); $contratto = str_replace("κ", "\\u954\\'ba", $contratto); $contratto = str_replace("Λ", "\\u923\\'9b", $contratto); $contratto = str_replace("λ", "\\u955\\'bb", $contratto); $contratto = str_replace("Μ", "\\u924\\'9c", $contratto); $contratto = str_replace("μ", "\\u956\\'bc", $contratto); $contratto = str_replace("Ν", "\\u925\\'9d", $contratto); $contratto = str_replace("ν", "\\u957\\'bd", $contratto); $contratto = str_replace("Ξ", "\\u926\\'9e", $contratto); $contratto = str_replace("ξ", "\\u958\\'be", $contratto); $contratto = str_replace("Ο", "\\u927\\'9f", $contratto); $contratto = str_replace("ο", "\\u959\\'bf", $contratto); $contratto = str_replace("Π", "\\u928\\'a0", $contratto); $contratto = str_replace("π", "\\u960\\'c0", $contratto); $contratto = str_replace("Ρ", "\\u929\\'a1", $contratto); $contratto = str_replace("ρ", "\\u961\\'c1", $contratto); $contratto = str_replace("Σ", "\\u931\\'a3", $contratto); $contratto = str_replace("σ", "\\u963\\'c3", $contratto); $contratto = str_replace("ς", "\\u962\\'c2", $contratto); $contratto = str_replace("Τ", "\\u932\\'a4", $contratto); $contratto = str_replace("τ", "\\u964\\'c4", $contratto); $contratto = str_replace("Υ", "\\u933\\'a5", $contratto); $contratto = str_replace("υ", "\\u965\\'c5", $contratto); $contratto = str_replace("Φ", "\\u934\\'a6", $contratto); $contratto = str_replace("φ", "\\u966\\'c6", $contratto); $contratto = str_replace("Χ", "\\u935\\'a7", $contratto); $contratto = str_replace("χ", "\\u967\\'c7", $contratto); $contratto = str_replace("Ψ", "\\u936\\'a8", $contratto); $contratto = str_replace("ψ", "\\u968\\'c8", $contratto); $contratto = str_replace("Ω", "\\u937\\'a9", $contratto); $contratto = str_replace("ω", "\\u969\\'c9", $contratto); $contratto = str_replace("Ά", "\\u902\\'86", $contratto); $contratto = str_replace("ά", "\\u940\\'ce", $contratto); $contratto = str_replace("Ό", "\\u908\\'8c", $contratto); $contratto = str_replace("ό", "\\u972\\'cf", $contratto); $contratto = str_replace("Ή", "\\u905\\'89", $contratto); $contratto = str_replace("ή", "\\u942\\'ce", $contratto); $contratto = str_replace("Ί", "\\u906\\'8a", $contratto); $contratto = str_replace("ί", "\\u943\\'ce", $contratto); $contratto = str_replace("Ύ", "\\u910\\'8e", $contratto); $contratto = str_replace("ύ", "\\u973\\'cf", $contratto); $contratto = str_replace("Ώ", "\\u911\\'8f", $contratto); $contratto = str_replace("ώ", "\\u974\\'cf", $contratto); $contratto = str_replace("Έ", "\\u904\\'88", $contratto); $contratto = str_replace("έ", "\\u941\\'ce", $contratto); $contratto = str_replace("ý", "\\u253\\'fd", $contratto); $contratto = str_replace("ž", "\\u382\\'9e", $contratto); $contratto = str_replace("ř", "\\u345\\'3f", $contratto); $contratto = str_replace("č", "\\u269\\'3f", $contratto); $contratto = str_replace("š", "\\u353\\'9a", $contratto); $contratto = str_replace("ě", "\\u283\\'3f", $contratto); $contratto = str_replace("ů", "\\u367\\'3f", $contratto); $contratto = str_replace("Ý", "\\u221\\'dd", $contratto); $contratto = str_replace("Ž", "\\u381\\'8e", $contratto); $contratto = str_replace("Ř", "\\u344\\'3f", $contratto); $contratto = str_replace("Č", "\\u268\\'3f", $contratto); $contratto = str_replace("Š", "\\u352\\'8a", $contratto); $contratto = str_replace("Ě", "\\u282\\'3f", $contratto); $contratto = str_replace("Ů", "\\u366\\'3f", $contratto); } # fine if ($tipo_contratto == "contrrtf") if ($incr_np) { if ($numero_progressivo_documento > $num_prog_contr[$n_r] + 1) { $val_if = $numero_progressivo_documento - 1; for ($num1 = strlen($val_if); $num1 < 5; $num1++) { $val_if = "0" . $val_if; } $nome_file_contr[$n_r] = str_replace(" ", "-{$val_if}", $nome_file_contr[$n_r]); for ($num1 = $n_r + 1; $num1 <= $num_ripeti; $num1++) { $val_if = $num_prog_contr[$num1] + $numero_progressivo_documento - 1 - $num_prog_contr[$n_r]; if (strlen($val_if) > strlen($num_prog_contr[$num1]) and strlen($val_if) <= 5) { $num_prog_contr[$num1] = substr("00000", 0, strlen($val_if) - strlen($num_prog_contr[$num1])) . $num_prog_contr[$num1]; } $nome_file_contr[$num1] = str_replace($num_prog_contr[$num1] . " ", $val_if . " ", $nome_file_contr[$num1]); $num_prog_contr[$num1] = $val_if; } # fine for $num1 } else { $nome_file_contr[$n_r] = str_replace(" ", "", $nome_file_contr[$n_r]); } if ($nomi_contratti['compress'][$numero_contratto]) { $nome_file_contr[$n_r] .= ".gz"; $lock_compress[$n_r] = crea_lock_file($nome_file_contr[$n_r]); $filecontr[$n_r] = gzopen($dir_salva . "/" . $nome_file_contr[$n_r], "wb9"); } else { $filecontr[$n_r] = fopen($dir_salva . "/" . $nome_file_contr[$n_r], "w+"); flock($filecontr[$n_r], 2); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } # fine if ($incr_np) if ($nomi_contratti['compress'][$numero_contratto]) { gzwrite($filecontr[$n_r], $contratto); gzclose($filecontr[$n_r]); distruggi_lock_file($lock_compress[$n_r], $nome_file_contr[$n_r]); } else { fwrite($filecontr[$n_r], $contratto); flock($filecontr[$n_r], 3); fclose($filecontr[$n_r]); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) $contratto = ""; } # fine if ($filecontr and $ripeti_tutto and !$messaggio_di_errore) } # fine if (!$ripeti_prenota_data or... } # fine for $n_r } else { $costo_tot_somma_ripetizioni_p = punti_in_num($costo_tot_somma_ripetizioni, $stile_soldi); $caparra_somma_ripetizioni_p = punti_in_num($caparra_somma_ripetizioni, $stile_soldi); $resto_caparra_somma_ripetizioni_p = punti_in_num($resto_caparra_somma_ripetizioni, $stile_soldi); $pagato_somma_ripetizioni_p = punti_in_num($pagato_somma_ripetizioni, $stile_soldi); $resto_da_pagare_somma_ripetizioni_p = punti_in_num($resto_da_pagare_somma_ripetizioni, $stile_soldi); if ($dir_salva and $ripeti_tutto and (!$numero_progressivo_documento or $numero_progressivo_documento < $num_prog_contr[$n_r])) { $numero_progressivo_documento = $num_prog_contr[$n_r]; } # Ripetizioni degli array all'interno delle parti non ripetute con le prenotazioni unset($contratto_parte2); if (!preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_parte[$n_p]) and str_replace("[r6]", "", $contratto_parte[$n_p]) == $contratto_parte[$n_p]) { $contratto_parte2[1] = $contratto_parte[$n_p]; $ripeti_parte2[1] = "NO"; $num_parti2_contr = 1; } else { $num_parti2_contr = 0; $contratto_restante = $contratto_parte[$n_p]; while (preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante) or str_replace("[r6]", "", $contratto_restante) != $contratto_restante) { $contr_vett4 = preg_split("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/", $contratto_restante); $contr_vett6 = explode("[r6]", $contratto_restante); $l0_cv4 = strlen($contr_vett4[0]); $l0_cv6 = strlen($contr_vett6[0]); if ($l0_cv4 > $l0_cv6) { $contr_vett = $contr_vett6; $tipo_contr_vett = 6; } else { $contr_vett = $contr_vett4; $tipo_contr_vett = 4; } # fine else if ($l0_cv4 > $l0_cv6) if ($contr_vett[0] != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contr_vett[0] != "") $contratto_restante = substr($contratto_restante, strlen($contr_vett[0])); if ($tipo_contr_vett == 4) { $arr_ripeti = explode("\"]", $contratto_restante, 2); $arr_ripeti = str_replace("[r4 array=\"", "", $arr_ripeti[0]); $contratto_restante = substr($contratto_restante, strlen("[r4 array=\"{$arr_ripeti}\"]")); } else { $contratto_restante = substr($contratto_restante, 4); } $contr_vett = explode("[/r" . $tipo_contr_vett . "]", $contratto_restante); $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contr_vett[0]; $ripeti_parte2[$num_parti2_contr] = "SI"; $tipo_parte2[$num_parti2_contr] = $tipo_contr_vett; if ($tipo_contr_vett == 4) { $arr_parte2[$num_parti2_contr] = $arr_ripeti; } $contratto_restante = substr($contratto_restante, strlen($contr_vett[0]) + 5); } # fine while (preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/",$contratto_restante) or... if ($contratto_restante != "") { $num_parti2_contr++; $contratto_parte2[$num_parti2_contr] = $contratto_restante; $ripeti_parte2[$num_parti2_contr] = "NO"; } # fine if ($contratto_restante != "") } # fine else if (!preg_match("/\\[r4 array=\"[A-Za-z]+[A-Za-z0-9_]*\"\\]/",$contratto_parte[$n_p]) and... for ($n_p2 = 1; $n_p2 <= $num_parti2_contr; $n_p2++) { if ($ripeti_parte2[$n_p2] != "SI") { $num_ripeti2 = 1; } else { if ($tipo_parte2[$n_p2] == 4) { if (@is_array(${$arr_parte2[$n_p2]})) { $num_ripeti2 = count(${$arr_parte2[$n_p2]}); reset(${$arr_parte2[$n_p2]}); } else { $num_ripeti2 = 0; } } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 6) { $num_ripeti2 = $num_unita; } } # fine else if ($ripeti_parte2[$n_p2] != "SI") for ($n_r2 = 1; $n_r2 <= $num_ripeti2; $n_r2++) { if ($ripeti_parte2[$n_p2] == "SI") { if ($tipo_parte2[$n_p2] == 4) { ${$var_arr_nome[$arr_parte2[$n_p2]]} = key(${$arr_parte2[$n_p2]}); next(${$arr_parte2[$n_p2]}); } # fine if ($tipo_parte2[$n_p2] == 4) if ($tipo_parte2[$n_p2] == 6) { $nome_unita = $dati_app_contr[$n_r2]['nome']; $casa_unita = $dati_app_contr[$n_r2]['casa']; $piano_unita = $dati_app_contr[$n_r2]['piano']; $capacita_unita = $dati_app_contr[$n_r2]['capacita']; $priorita_unita = $dati_app_contr[$n_r2]['priorita']; } elseif ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine else if ($tipo_parte2[$n_p2] == 6) } elseif ($tipo_parte0[$n_p0] != "6") { $nome_unita = ""; $casa_unita = ""; $piano_unita = ""; $capacita_unita = ""; $priorita_unita = ""; } # fine elseif ($tipo_parte0[$n_p0] != "6") $contratto_corr = $contratto_parte2[$n_p2]; while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr)) { $contr_vett = preg_split("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[^'\\]\\(]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/", $contratto_corr, 2); $contr_parziale = substr($contratto_corr, strlen($contr_vett[0])); $contratto_corr = $contr_vett[0]; $condizione = preg_split("/\" *\\]/", $contr_parziale, 2); $condizione = $condizione[0]; $val_if = preg_split("/ *!?= *\"/", preg_replace("/^\\[c +/", "", $condizione)); $var_if = trim($val_if[0]); $val_if = $val_if[1]; if (str_replace("(", "", $var_if) != $var_if) { $parti_arr = explode("(", substr($var_if, 0, -1)); if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } $val_var_if = ${$parti_arr[0]}[$val_var_if]; } else { $val_var_if = ${$var_if}; } if (preg_match("/!= *\"/", $condizione)) { $cond = "!="; } else { $cond = "="; } $contr_parziale = substr($contr_parziale, strlen($condizione) + 1); while (substr($contr_parziale, 0, 1) == " ") { $contr_parziale = substr($contr_parziale, 1); } $contr_parziale = substr($contr_parziale, 1); $contr_vett = explode("[/c]", $contr_parziale, 2); $contr_parziale = substr($contr_parziale, strlen($contr_vett[0]) + 4); if ($cond == "=" and $val_var_if == $val_if) { $contratto_corr .= $contr_vett[0]; } if ($cond == "!=" and $val_var_if != $val_if) { $contratto_corr .= $contr_vett[0]; } $contratto_corr .= $contr_parziale; } # fine while (preg_match("/\\[c +[A-Za-z]+[A-Za-z0-9_]*(\\((('[A-Za-z]+[A-Za-z0-9_]*')|([A-Za-z]+[A-Za-z0-9_]*))\\))? *!?= *\"[^\"]*\" *\\]/",$contratto_corr)) $data_inizio_selezione = $data_inizio_selezione_f; $data_fine_selezione = $data_fine_selezione_f; $oggi = $oggi_f; $testo_quotato_email_richiesta = str_replace("<email_richiesta> ", "<{$email}> ", $testo_quotato_email_richiesta_orig); $contratto_r = $contratto_corr; $contr_vett = explode("[", $contratto_r); $num_contr_vett = count($contr_vett); $contr_parziale = ""; for ($num1 = 0; $num1 < $num_contr_vett; $num1++) { $contr_parziale .= $contr_vett[$num1] . "["; $resto_contr = substr($contratto_corr, strlen($contr_parziale)); $lettera = (string) substr($resto_contr, 0, 1); if ($lettera and preg_replace("/[A-Za-z]/", "", $lettera) == "") { $num2 = 1; $lettere_var = $lettera; $cond = 0; while ((preg_replace("/[A-Za-z0-9\\(\\)'_]/", "SI", $lettera) == "SI" or $cond == 1) and ($cond != 1 or $lettera != "]" and $lettera != "(")) { if ($lettera == "'") { if (!$cond) { $cond = 1; } else { $cond = 2; } } # fine if ($lettera == "'") $lettera = (string) substr($resto_contr, $num2, 1); if ($lettera == "]") { if (str_replace("(", "", str_replace(")", "", str_replace("'", "", $lettere_var))) == $lettere_var) { if ($incr_np and $lettere_var == "numero_progressivo_documento") { if ($num_prog_contr_max and $numero_progressivo_documento > $num_prog_contr_max) { $numero_progressivo_documento--; } $val_if = strstr($contratto_r, "[numero_progressivo_documento]"); $contratto_r = substr($contratto_r, 0, strlen($val_if) * -1) . $numero_progressivo_documento . substr($val_if, 30); $numero_progressivo_documento++; } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$lettere_var}, $contratto_r); } } else { $parti_arr = explode("(", substr($lettere_var, 0, -1)); if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/", "", $parti_arr[0]) == "" and preg_replace("/(('[^']*')|([A-Za-z]+[A-Za-z0-9_]*))/", "", $parti_arr[1]) == "") { if (substr($parti_arr[1], 0, 1) == "'") { $val_var_if = substr($parti_arr[1], 1, -1); } else { $val_var_if = ${$parti_arr[1]}; } if ($array_date_contr[$parti_arr[0]] == "SI") { $contratto_r = str_replace("[" . $lettere_var . "]", formatta_data_contr(${$parti_arr[0]}[$val_var_if], $stile_data), $contratto_r); } else { $contratto_r = str_replace("[" . $lettere_var . "]", ${$parti_arr[0]}[$val_var_if], $contratto_r); } } # fine if (preg_replace("/[A-Za-z]+[A-Za-z0-9_]*/","",$parti_arr[0]) == "" and... } # fine else if (str_replace("(","",str_replace(")","",str_replace("'","",$lettere_var))) == $lettere_var) } # fine if ($lettera == "]") $lettere_var .= $lettera; $num2++; } # fine while ((preg_replace("/[A-Za-z0-9\(\)'_]/","SI",$lettera) == "SI" or $cond == 1) and... } # fine ($lettera and preg_replace("/[A-Za-z]/","",$lettera) == "") } # fine for $num1 $contratto .= $contratto_r; $data_inizio_selezione = $data_inizio_selezione_orig; $data_fine_selezione = $data_fine_selezione_orig; $oggi = $oggi_orig; } # fine for $n_r2 } # fine for $n_p2 } # fine else if ($ripeti_parte[$n_p] == "SI") } # fine for $n_p } # fine for $n_r0 } # fine for $n_p0 if ($tipo_contratto == "contreml") { if (!$ripeti_tutto) { $contratto .= "</textarea><br>\n</table><table><tr><td style=\"height: 3px;\"></td></tr></table>\n<hr style=\"width: 95%; margin-left: 6px; text-align: left;\">"; } # fine if (!$ripeti_tutto) $contratto .= " " . bottone_submit_contr(mex("Spedisci", $pag), "inse") . "\n</div></form>"; } # fine if ($tipo_contratto == "contreml") if ($tipo_contratto == "contrrtf") { $contratto = str_replace(""", "\"", $contratto); $contratto = str_replace("'", "'", $contratto); $contratto = str_replace("<", "<", $contratto); $contratto = str_replace(">", ">", $contratto); $contratto = str_replace("&", "&", $contratto); $contratto = str_replace("ñ", "\\u241\\'f1", $contratto); $contratto = str_replace("à", "\\u224\\'e0", $contratto); $contratto = str_replace("è", "\\u232\\'e8", $contratto); $contratto = str_replace("ì", "\\u236\\'ec", $contratto); $contratto = str_replace("ò", "\\u242\\'f2", $contratto); $contratto = str_replace("ù", "\\u249\\'f9", $contratto); $contratto = str_replace("á", "\\u225\\'e1", $contratto); $contratto = str_replace("é", "\\u233\\'e9", $contratto); $contratto = str_replace("í", "\\u237\\'ed", $contratto); $contratto = str_replace("ó", "\\u243\\'f3", $contratto); $contratto = str_replace("ú", "\\u250\\'fa", $contratto); $contratto = str_replace("ä", "\\u228\\'e4", $contratto); $contratto = str_replace("ö", "\\u246\\'f6", $contratto); $contratto = str_replace("ü", "\\u252\\'fc", $contratto); $contratto = str_replace("ß", "\\u223\\'df", $contratto); $contratto = str_replace("ç", "\\u231\\'e7", $contratto); $contratto = str_replace("ã", "\\u227\\'e3", $contratto); $contratto = str_replace("õ", "\\u245\\'f5", $contratto); $contratto = str_replace("ø", "\\u248\\'f8", $contratto); $contratto = str_replace("€", "\\u8364\\'80", $contratto); $contratto = str_replace("°", "\\u176\\'b0", $contratto); $contratto = str_replace("’", "\\u8217\\'92", $contratto); $contratto = str_replace("Ñ", "\\u209\\'d1", $contratto); $contratto = str_replace("À", "\\u192\\'c0", $contratto); $contratto = str_replace("È", "\\u200\\'c8", $contratto); $contratto = str_replace("Ì", "\\u204\\'cc", $contratto); $contratto = str_replace("Ò", "\\u210\\'d2", $contratto); $contratto = str_replace("Ù", "\\u217\\'d9", $contratto); $contratto = str_replace("Á", "\\u193\\'c1", $contratto); $contratto = str_replace("É", "\\u201\\'c9", $contratto); $contratto = str_replace("Í", "\\u205\\'cd", $contratto); $contratto = str_replace("Ó", "\\u211\\'d3", $contratto); $contratto = str_replace("Ú", "\\u218\\'da", $contratto); $contratto = str_replace("Ä", "\\u196\\'c4", $contratto); $contratto = str_replace("Ö", "\\u214\\'d6", $contratto); $contratto = str_replace("Ü", "\\u220\\'dc", $contratto); $contratto = str_replace("Ç", "\\u199\\'c7", $contratto); $contratto = str_replace("Ã", "\\u195\\'c3", $contratto); $contratto = str_replace("Õ", "\\u213\\'d5", $contratto); $contratto = str_replace("Ø", "\\u216\\'d8", $contratto); $contratto = str_replace("Α", "\\u913\\'91", $contratto); $contratto = str_replace("α", "\\u945\\'b1", $contratto); $contratto = str_replace("Β", "\\u914\\'92", $contratto); $contratto = str_replace("β", "\\u946\\'b2", $contratto); $contratto = str_replace("Γ", "\\u915\\'93", $contratto); $contratto = str_replace("γ", "\\u947\\'b3", $contratto); $contratto = str_replace("Δ", "\\u916\\'94", $contratto); $contratto = str_replace("δ", "\\u948\\'b4", $contratto); $contratto = str_replace("Ε", "\\u917\\'95", $contratto); $contratto = str_replace("ε", "\\u949\\'b5", $contratto); $contratto = str_replace("Ζ", "\\u918\\'96", $contratto); $contratto = str_replace("ζ", "\\u950\\'b6", $contratto); $contratto = str_replace("Η", "\\u919\\'97", $contratto); $contratto = str_replace("η", "\\u951\\'b7", $contratto); $contratto = str_replace("Θ", "\\u920\\'98", $contratto); $contratto = str_replace("θ", "\\u952\\'b8", $contratto); $contratto = str_replace("Ι", "\\u921\\'99", $contratto); $contratto = str_replace("ι", "\\u953\\'b9", $contratto); $contratto = str_replace("Κ", "\\u922\\'9a", $contratto); $contratto = str_replace("κ", "\\u954\\'ba", $contratto); $contratto = str_replace("Λ", "\\u923\\'9b", $contratto); $contratto = str_replace("λ", "\\u955\\'bb", $contratto); $contratto = str_replace("Μ", "\\u924\\'9c", $contratto); $contratto = str_replace("μ", "\\u956\\'bc", $contratto); $contratto = str_replace("Ν", "\\u925\\'9d", $contratto); $contratto = str_replace("ν", "\\u957\\'bd", $contratto); $contratto = str_replace("Ξ", "\\u926\\'9e", $contratto); $contratto = str_replace("ξ", "\\u958\\'be", $contratto); $contratto = str_replace("Ο", "\\u927\\'9f", $contratto); $contratto = str_replace("ο", "\\u959\\'bf", $contratto); $contratto = str_replace("Π", "\\u928\\'a0", $contratto); $contratto = str_replace("π", "\\u960\\'c0", $contratto); $contratto = str_replace("Ρ", "\\u929\\'a1", $contratto); $contratto = str_replace("ρ", "\\u961\\'c1", $contratto); $contratto = str_replace("Σ", "\\u931\\'a3", $contratto); $contratto = str_replace("σ", "\\u963\\'c3", $contratto); $contratto = str_replace("ς", "\\u962\\'c2", $contratto); $contratto = str_replace("Τ", "\\u932\\'a4", $contratto); $contratto = str_replace("τ", "\\u964\\'c4", $contratto); $contratto = str_replace("Υ", "\\u933\\'a5", $contratto); $contratto = str_replace("υ", "\\u965\\'c5", $contratto); $contratto = str_replace("Φ", "\\u934\\'a6", $contratto); $contratto = str_replace("φ", "\\u966\\'c6", $contratto); $contratto = str_replace("Χ", "\\u935\\'a7", $contratto); $contratto = str_replace("χ", "\\u967\\'c7", $contratto); $contratto = str_replace("Ψ", "\\u936\\'a8", $contratto); $contratto = str_replace("ψ", "\\u968\\'c8", $contratto); $contratto = str_replace("Ω", "\\u937\\'a9", $contratto); $contratto = str_replace("ω", "\\u969\\'c9", $contratto); $contratto = str_replace("Ά", "\\u902\\'86", $contratto); $contratto = str_replace("ά", "\\u940\\'ce", $contratto); $contratto = str_replace("Ό", "\\u908\\'8c", $contratto); $contratto = str_replace("ό", "\\u972\\'cf", $contratto); $contratto = str_replace("Ή", "\\u905\\'89", $contratto); $contratto = str_replace("ή", "\\u942\\'ce", $contratto); $contratto = str_replace("Ί", "\\u906\\'8a", $contratto); $contratto = str_replace("ί", "\\u943\\'ce", $contratto); $contratto = str_replace("Ύ", "\\u910\\'8e", $contratto); $contratto = str_replace("ύ", "\\u973\\'cf", $contratto); $contratto = str_replace("Ώ", "\\u911\\'8f", $contratto); $contratto = str_replace("ώ", "\\u974\\'cf", $contratto); $contratto = str_replace("Έ", "\\u904\\'88", $contratto); $contratto = str_replace("έ", "\\u941\\'ce", $contratto); $contratto = str_replace("ý", "\\u253\\'fd", $contratto); $contratto = str_replace("ž", "\\u382\\'9e", $contratto); $contratto = str_replace("ř", "\\u345\\'3f", $contratto); $contratto = str_replace("č", "\\u269\\'3f", $contratto); $contratto = str_replace("š", "\\u353\\'9a", $contratto); $contratto = str_replace("ě", "\\u283\\'3f", $contratto); $contratto = str_replace("ů", "\\u367\\'3f", $contratto); $contratto = str_replace("Ý", "\\u221\\'dd", $contratto); $contratto = str_replace("Ž", "\\u381\\'8e", $contratto); $contratto = str_replace("Ř", "\\u344\\'3f", $contratto); $contratto = str_replace("Č", "\\u268\\'3f", $contratto); $contratto = str_replace("Š", "\\u352\\'8a", $contratto); $contratto = str_replace("Ě", "\\u282\\'3f", $contratto); $contratto = str_replace("Ů", "\\u366\\'3f", $contratto); } # fine if ($tipo_contratto == "contrrtf") if ($filecontr and !$ripeti_tutto and !$messaggio_di_errore) { if ($incr_np) { if ($numero_progressivo_documento > $num_prog_contr[1] + 1) { $val_if = $numero_progressivo_documento - 1; for ($num1 = strlen($val_if); $num1 < 5; $num1++) { $val_if = "0" . $val_if; } $nome_file_contr[1] = str_replace(" ", "-{$val_if}", $nome_file_contr[1]); } else { $nome_file_contr[1] = str_replace(" ", "", $nome_file_contr[1]); } if ($nomi_contratti['compress'][$numero_contratto]) { $nome_file_contr[1] .= ".gz"; $lock_compress[1] = crea_lock_file($nome_file_contr[1]); $filecontr[1] = gzopen($dir_salva . "/" . $nome_file_contr[1], "wb9"); } else { $filecontr[1] = fopen($dir_salva . "/" . $nome_file_contr[1], "w+"); flock($filecontr[1], 2); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } # fine if ($incr_np) if ($nomi_contratti['compress'][$numero_contratto]) { gzwrite($filecontr[1], $contratto); gzclose($filecontr[1]); distruggi_lock_file($lock_compress[1], $nome_file_contr[1]); } else { fwrite($filecontr[1], $contratto); flock($filecontr[1], 3); fclose($filecontr[1]); } # fine else if ($nomi_contratti['compress'][$numero_contratto]) } # fine if ($filecontr and !$ripeti_tutto and !$messaggio_di_errore) if ($incr_np) { flock($filelock, 3); fclose($filelock); unlink(C_DATA_PATH . "/crea_contr.lock"); } # fine if ($incr_np) return $contratto; }
function inserisci_prenotazione($inizioperiodo, $fineperiodo, $lista_app, $tipotariffa, $numpersone, $prenota_vicine, $idclienti, $conferma, $pagato, $caparra, $met_paga_caparra, $commissioni, $origine_prenota, $sconto, $giorno_stima_checkin, $ora_stima_checkin, $min_stima_checkin, $commento, &$stato, $anno, $PHPR_TAB_PRE, $ins_passato = "", $id_utente_imp = "", $id_prenota_imp = "", $tariffe_sett_imp = "", $ins_costi_agg = "") { global $id_utente, $HOSTNAME; $PHPR_TAB_PRE = aggslashdb($PHPR_TAB_PRE); $anno = aggslashdb($anno); $tableprenota = $PHPR_TAB_PRE . "prenota" . $anno; $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno; $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno; $tableregole = $PHPR_TAB_PRE . "regole" . $anno; $tableappartamenti = $PHPR_TAB_PRE . "appartamenti"; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tableclienti = $PHPR_TAB_PRE . "clienti"; $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno; if (!function_exists('tab_a_var')) { include "./includes/liberasettimane.php"; } if (!function_exists('dati_tariffe')) { include "./includes/funzioni_tariffe.php"; } include "./includes/sett_gio.php"; $Euro = nome_valuta(); $stile_soldi = stile_soldi(); $stile_data = stile_data(); $num_tipologie = count($inizioperiodo); $appartamenti = esegui_query("select * from {$tableappartamenti} "); $numappartamenti = numlin_query($appartamenti); $id_app_richiesti = 0; $dati_tariffe = dati_tariffe($tablenometariffe, "", "", $tableregole); if ($ins_costi_agg) { if (!function_exists('dati_costi_agg_ntariffe')) { include "./includes/funzioni_costi_agg.php"; } $dati_ca = dati_costi_agg_ntariffe($tablenometariffe, $dati_tariffe['num'], "NO", "", $tableappartamenti); } # fine if ($ins_costi_agg) for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $inizioperiodo_orig[$n_t] = $inizioperiodo[$n_t]; $fineperiodo_orig[$n_t] = $fineperiodo[$n_t]; $idinizioperiodo = esegui_query("select idperiodi from {$tableperiodi} where datainizio = '" . aggslashdb($inizioperiodo[$n_t]) . "' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo, 0, 'idperiodi'); } $inizioperiodo[$n_t] = $idinizioperiodo; if (!$idinizioperiodo_tot or $idinizioperiodo < $idinizioperiodo_tot) { $idinizioperiodo_tot = $idinizioperiodo; } $idfineperiodo = esegui_query("select idperiodi from {$tableperiodi} where datafine = '" . aggslashdb($fineperiodo[$n_t]) . "' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo, 0, 'idperiodi'); } $fineperiodo[$n_t] = $idfineperiodo; if (!$idfineperiodo_tot or $idfineperiodo > $idfineperiodo_tot) { $idfineperiodo_tot = $idfineperiodo; } $id_periodo_corrente = calcola_id_periodo_corrente($anno); if ($id_periodo_corrente > $idinizioperiodo and !$ins_passato) { $data_sbagliata = "SI"; } if ($idfineperiodo < $idinizioperiodo or $data_sbagliata == "SI") { $inserire = "NO"; $mess_errore .= mex("Le date sono sbagliate", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if ($idfineperiodo < $idinizioperiodo or... if (substr($tipotariffa[$n_t], 0, 7) != "tariffa" or controlla_num_pos(substr($tipotariffa[$n_t], 7)) == "NO") { $tariffa_sbagliata = "SI"; } else { $tar_sett_imp = $tariffe_sett_imp[$n_t]; for ($num1 = $inizioperiodo[$n_t]; $num1 <= $fineperiodo[$n_t]; $num1++) { $rigasettimana = esegui_query("select * from {$tableperiodi} where idperiodi = '{$num1}' "); $esistetariffa = risul_query($rigasettimana, 0, $tipotariffa[$n_t]); $esistetariffap = risul_query($rigasettimana, 0, $tipotariffa[$n_t] . "p"); if ((!strcmp($esistetariffa, "") or $esistetariffa < 0) and (!strcmp($esistetariffap, "") or $esistetariffap < 0) and !strcmp($tar_sett_imp[$num1], "")) { $tariffa_sbagliata = "SI"; } if ($dati_tariffe[$tipotariffa[$n_t]]['chiusa'][$num1] and !strcmp($tar_sett_imp[$num1], "")) { $tariffa_sbagliata = "SI"; } } # fine for $num1 } # fine else if (substr($tipotariffa[$n_t],0,7) != "tariffa" or... if ($tariffa_sbagliata == "SI") { $inserire = "NO"; $mess_errore .= mex("Si deve inserire il tipo di tariffa", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= "(" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } else { # se vi è una regola 2 per la tariffa unset($app_regola2_predef); if (!$lista_app[$n_t]) { $lista_app[$n_t] = trova_app_regola2($tipotariffa[$n_t], $regole2, $num_regole2, $app_regola2_predef, $id_periodo_corrente, $idinizioperiodo, $idfineperiodo, $tipo_periodi, $anno, $tableregole); } # fine if (!$lista_app[$n_t]) $id_utente_ins = ""; # se vi è una regola 3 per la tariffa if ($id_utente == 1) { $regole3 = esegui_query("select * from {$tableregole} where tariffa_per_utente = '" . aggslashdb($tipotariffa[$n_t]) . "'"); if (numlin_query($regole3) == 1) { $id_utente_ins = risul_query($regole3, 0, 'iddatainizio'); } } # fine if ($id_utente == 1) if (!$id_utente_ins and $id_utente_imp) { $id_utente_ins = $id_utente_imp; } if (!$id_utente_ins and $id_utente) { $id_utente_ins = $id_utente; } if (!$id_utente_ins) { $id_utente_ins = 1; } # se vi è una regola 4 per la tariffa if (!$numpersone[$n_t]) { $regole4 = esegui_query("select * from {$tableregole} where tariffa_per_persone = '" . aggslashdb($tipotariffa[$n_t]) . "'"); if (numlin_query($regole4) == 1) { $numpersone[$n_t] = risul_query($regole4, 0, 'iddatainizio'); } } # fine if (!$numpersone[$n_t]) if (!$numpersone) { if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { $inserire = "NO"; $mess_errore .= mex("Si deve inserire il numero delle persone per questa tariffa", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= "(" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") } # fine if (!$numpersone) } # fine else if ($tariffa_sbagliata == "SI") if (controlla_num_pos($idclienti[$n_t]) == "NO") { $inserire = "NO"; } else { $cliente_esistente = esegui_query("select cognome from {$tableclienti} where idclienti = '" . $idclienti[$n_t] . "' "); if (numlin_query($cliente_esistente) != 1) { $inserire = "NO"; } else { $cognome = risul_query($cliente_esistente, 0, "cognome"); } } # fine else if (controlla_num_pos($idclienti[$n_t]) == "NO") $app_richiesti_id[$n_t] = ""; $assegnazioneapp[$n_t] = "v"; if ($lista_app[$n_t]) { $assegnazioneapp[$n_t] = "c"; $vett_app = explode(",", $lista_app[$n_t]); $num_app = count($vett_app); if ($num_app == 1) { $assegnazioneapp[$n_t] = "k"; } for ($num1 = 0; $num1 < $num_app; $num1++) { $appo = aggslashdb($vett_app[$num1]); $app_richiesti_id[$n_t][$appo] = "SI"; $appartamento_esistente = esegui_query("select idappartamenti from {$tableappartamenti} where idappartamenti = '{$appo}' "); if (numlin_query($appartamento_esistente) != 1) { $inserire = "NO"; $mess_errore .= mex("L'appartamento", 'unit.php') . " <div style=\"display: inline; color: red;\">{$appo}</div> " . mex("contenuto nella lista non esiste", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if (numlin_query($appartamento_esistente) != 1) } # fine for $num1 } # fine if ($lista_app[$n_t]) if ($numpersone[$n_t]) { if (controlla_num_pos($numpersone[$n_t]) == "NO") { $inserire = "NO"; $mess_errore .= mex("Il numero di persone è sbagliato", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; } # fine if (controlla_num_pos($numpersone[$n_t]) == "NO") $app_richiesti_copia = $app_richiesti_id[$n_t]; $posti = 0; if ($app_regola2_predef) { $app_regola2_predef = ",{$app_regola2_predef},"; $posto_reg2_orig = 0; } # fine if ($app_regola2_predef) for ($num1 = 0; $num1 < $numappartamenti; $num1++) { $idapp = risul_query($appartamenti, $num1, 'idappartamenti'); $maxoccupanti = risul_query($appartamenti, $num1, 'maxoccupanti'); if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") { if ($maxoccupanti and $maxoccupanti < $numpersone[$n_t]) { $app_richiesti_id[$n_t][$idapp] = "NO"; } else { $app_richiesti_id[$n_t][$idapp] = "SI"; $posti++; } # fine else if ($maxoccupanti and $maxoccupanti < $numpersone[$n_t]) } # fine if (!$app_richiesti_copia or $app_richiesti_copia[$idapp] == "SI") if ($app_regola2_predef) { if (str_replace(",{$idapp},", "", $app_regola2_predef) != $app_regola2_predef) { if (!$maxoccupanti or $maxoccupanti >= $numpersone[$n_t]) { $posto_reg2_orig = 1; } } # fine if (str_replace(",$idapp,","",$app_regola2_predef) != $app_regola2_predef) } # fine if ($app_regola2_predef) } # fine for $num1 if ($posti == 0 or $app_regola2_predef and !$posto_reg2_orig) { $mess_errore .= mex("Non c'è nessun appartamento tra quelli richiesti che possa ospitare", 'unit.php') . " " . $numpersone[$n_t] . " " . mex("persone", "clienti.php"); if ($num_tipologie > 1) { $mess_errore .= " (" . mex("tipologia", "clienti.php") . " {$n_t})"; } $mess_errore .= ".<br>"; $inserire = "NO"; } # fine if ($posti == 0 or... } # fine if ($numpersone[$n_t]) unset($lista_app_richiesti); if (!$app_richiesti_id[$n_t]) { $lista_app_richiesti = ",tutti,,"; } else { while (list($key, $val) = each($app_richiesti_id[$n_t])) { if ($val == "SI") { $lista_app_richiesti .= $key . ","; } } } $lista_app_richiesti = substr($lista_app_richiesti, 0, -1); $id_app_richiesti++; $app_richiesti[$id_app_richiesti] = $lista_app_richiesti; $idinizioperiodo_vett[$id_app_richiesti] = $idinizioperiodo; $idfineperiodo_vett[$id_app_richiesti] = $idfineperiodo; $app_richiesti[",numero,"] = $id_app_richiesti; if ($num_tipologie > 1 and $prenota_vicine == "SI") { $app_richiesti[",vicini,"] = "SI"; } if ($id_prenota_imp) { if (controlla_num_pos($id_prenota_imp[$n_t]) == "SI") { $id_esistente = esegui_query("select idprenota from {$tableprenota} where idprenota = '" . $id_prenota_imp[$n_t] . "' "); if (numlin_query($id_esistente)) { unset($id_prenota_imp); } } else { unset($id_prenota_imp); } } # fine if ($id_prenota_imp) } # fine for $n_t if ($inserire != "NO") { $app_agenzia = esegui_query("select * from {$tableregole} where app_agenzia != ''{$condizioni_regole1_non_sel}"); $num_app_agenzia = numlin_query($app_agenzia); $minuti_durata_insprenota = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'minuti_durata_insprenota' and idutente = '1'"); $minuti_durata_insprenota = risul_query($minuti_durata_insprenota, 0, 'valpersonalizza_num'); $lim_prenota_temp = aggslashdb(date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600 - $minuti_durata_insprenota * 60)); esegui_query("delete from {$tableprenota} where idclienti = '0' and datainserimento < '" . $lim_prenota_temp . "' "); #Se ci sono regole per $app_agenzia inserisco false prenotazioni fisse in $app_prenota_id2 if ($num_app_agenzia != 0) { unset($limiti_var); unset($app_prenota_id); unset($app_orig_prenota_id); unset($inizio_prenota_id); unset($fine_prenota_id); unset($app_assegnabili_id); unset($prenota_in_app_sett); unset($dati_app); unset($profondita); $limiti_var['n_ini'] = $idinizioperiodo_tot; $limiti_var['n_fine'] = $idfineperiodo_tot; $limiti_var['lim_prenota_temp'] = $lim_prenota_temp; $profondita['iniziale'] = ""; $profondita['attuale'] = 1; $max_prenota = esegui_query("select max(idprenota) from {$tableprenota}"); if (numlin_query($max_prenota) != 0) { $tot_prenota = risul_query($max_prenota, 0, 0); } else { $tot_prenota = 0; } $profondita['tot_prenota_ini'] = $tot_prenota; $profondita['tot_prenota_attuale'] = $tot_prenota; tab_a_var($limiti_var, $app_prenota_id, $app_orig_prenota_id, $inizio_prenota_id, $fine_prenota_id, $app_assegnabili_id, $prenota_in_app_sett, $anno, $dati_app, $profondita, $PHPR_TAB_PRE . "prenota"); unset($info_periodi_ag); $info_periodi_ag['numero'] = 0; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 == "x") { $info_periodi_ag['app'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'app_agenzia'); $info_periodi_ag['ini'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatainizio'); $info_periodi_ag['fine'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatafine'); $info_periodi_ag['numero']++; } # fine if ($mot2 == "x") } # fine for $num1 if ($info_periodi_ag['numero']) { inserisci_prenota_fittizie($info_periodi_ag, $profondita, $app_prenota_id, $inizio_prenota_id, $fine_prenota_id, $prenota_in_app_sett, $app_assegnabili_id); } $limiti_var2 = $limiti_var; $profondita2 = $profondita; $prenota_in_app_sett2 = $prenota_in_app_sett; $inizio_prenota_id2 = $inizio_prenota_id; $fine_prenota_id2 = $fine_prenota_id; $app_prenota_id2 = $app_prenota_id; $app_assegnabili_id2 = $app_assegnabili_id; unset($info_periodi_ag); $info_periodi_ag['numero'] = 0; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 != "x") { $info_periodi_ag['app'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'app_agenzia'); $info_periodi_ag['ini'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatainizio'); $info_periodi_ag['fine'][$info_periodi_ag['numero']] = risul_query($app_agenzia, $num1, 'iddatafine'); $info_periodi_ag['numero']++; } # fine if ($mot2 != "x") } # fine for $num1 if ($info_periodi_ag['numero']) { inserisci_prenota_fittizie($info_periodi_ag, $profondita2, $app_prenota_id2, $inizio_prenota_id2, $fine_prenota_id2, $prenota_in_app_sett2, $app_assegnabili_id2); } $occupare_app_agenzia_sempre = "NO"; for ($num1 = $idinizioperiodo_tot; $num1 <= $idfineperiodo_tot; $num1++) { $numprenotazioni = 0; for ($num2 = 0; $num2 < $dati_app['totapp']; $num2++) { if ($prenota_in_app_sett2[$dati_app['posizione'][$num2]][$num1]) { $numprenotazioni++; } } if ($numprenotazioni >= $numappartamenti) { $occupare_app_agenzia_sempre = "SI"; } } # fine for $num1 if ($occupare_app_agenzia_sempre != "SI") { $app_orig_prenota_id = $app_prenota_id2; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var2, $anno, $fatto_libera, $app_liberato, $profondita2, $app_richiesti, $app_prenota_id2, $app_orig_prenota_id, $inizio_prenota_id2, $fine_prenota_id2, $app_assegnabili_id2, $prenota_in_app_sett2, $dati_app, $PHPR_TAB_PRE . "prenota"); } else { $fatto_libera = "NO"; } if ($fatto_libera == "SI") { $risul_agg = aggiorna_tableprenota($app_prenota_id2, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $fatto_libera = "NO"; } else { $occupare_app_agenzia = "NO"; $appartamento = $app_liberato; } # fine else if (!$risul_agg) } else { $occupare_app_agenzia = "SI"; $limiti_var['t_limite'] = time() + $sec_limite_libsett; $app_liberato = ""; $app_orig_prenota_id = $app_prenota_id; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var, $anno, $fatto_libera2, $app_liberato, $profondita, $app_richiesti, $app_prenota_id, $app_orig_prenota_id, $inizio_prenota_id, $fine_prenota_id, $app_assegnabili_id, $prenota_in_app_sett, $dati_app, $PHPR_TAB_PRE . "prenota"); if ($fatto_libera2 != "NO") { $risul_agg = aggiorna_tableprenota($app_prenota_id, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $fatto_libera2 = "NO"; } } # fine if ($fatto_libera2 != "NO") if ($fatto_libera2 == "NO") { $inserire = "NO"; $mess_errore .= mex("Nel periodo selezionato non è possibile ospitare il cliente negli appartamenti richiesti", 'unit.php') . ".<br>"; for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $mess_prenota .= mex("Prenotazione", "prenota.php") . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b>"; $mess_prenota .= " " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= " " . mex("per", "prenota.php") . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", "prenota.php") . ""; } if ($dati_tariffe[$tipotariffa[$n_t]]['nome']) { $nometariffa_vedi = $dati_tariffe[$tipotariffa[$n_t]]['nome']; } else { $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } $mess_prenota .= ", " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\".<br><br>"; } # fine for $n_t } else { $appartamento = $app_liberato; $mess_regola1 .= mex("Sono stati fatti i seguenti spostamenti nei periodi della <div style=\"display: inline; color: blue;\">regola di assegnazione 1</div>", "clienti.php") . ":<br>"; for ($num1 = 0; $num1 < $num_app_agenzia; $num1++) { $mot2 = risul_query($app_agenzia, $num1, 'motivazione2'); if ($mot2 != "x") { $id_app_agenzia = risul_query($app_agenzia, $num1, 'app_agenzia'); $idinizio_app_agenzia = risul_query($app_agenzia, $num1, 'iddatainizio'); $idfine_app_agenzia = risul_query($app_agenzia, $num1, 'iddatafine'); $motivazione_app_agenzia = risul_query($app_agenzia, $num1, 'motivazione'); $idprenota_cambiate_da_ag = esegui_query("select idprenota from {$tableprenota} where idappartamenti = '{$id_app_agenzia}' and iddatainizio <= '{$idfine_app_agenzia}' and iddatafine >= '{$idinizio_app_agenzia}'"); $num_idprenota_cambiate_da_ag = numlin_query($idprenota_cambiate_da_ag); for ($num2 = 0; $num2 < $num_idprenota_cambiate_da_ag; $num2 = $num2 + 1) { $idprenota_cambiata = risul_query($idprenota_cambiate_da_ag, $num2, 'idprenota'); if ($app_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $id_app_agenzia) { $idapp_camb = $app_prenota_id[$idprenota_cambiata]; $dati_cambiati = esegui_query("select * from {$tableprenota} where idprenota = '{$idprenota_cambiata}'"); $idclienti_camb = risul_query($dati_cambiati, 0, 'idclienti'); $cliente_camb = esegui_query("select cognome from {$tableclienti} where idclienti = '{$idclienti_camb}'"); if ($idclienti_camb) { $cliente_camb = risul_query($cliente_camb, 0, 'cognome'); } else { $cliente_camb = "?"; } $iddatainizio_camb = $inizio_prenota_id[$idprenota_cambiata]; $datainizio_camb = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '{$iddatainizio_camb}'"); $datainizio_camb = risul_query($datainizio_camb, 0, 'datainizio'); $datainizio_camb_f = formatta_data($datainizio_camb, $stile_data); $iddatafine_camb = $fine_prenota_id[$idprenota_cambiata]; $datafine_camb = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$iddatafine_camb}'"); $datafine_camb = risul_query($datafine_camb, 0, 'datafine'); $datafine_camb_f = formatta_data($datafine_camb, $stile_data); $mess_regola1 .= mex("La prenotazione dal", "clienti.php") . " {$datainizio_camb_f} " . mex("al", "clienti.php") . " {$datafine_camb_f} " . mex("a nome di", "clienti.php") . " {$cliente_camb} " . mex("verrà spostata dall'appartamento", 'unit.php') . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>) " . mex("al", "clienti.php") . " {$idapp_camb}.<br>"; } # fine if ($app_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $id_app_agenzia) } # fine for $num2 $idprenota_cambiate_a_ag = prenota_in_app_e_periodo($id_app_agenzia, $idinizio_app_agenzia, $idfine_app_agenzia, $prenota_in_app_sett, $fine_prenota_id, $num_pca); for ($num2 = 1; $num2 <= $num_pca; $num2++) { $idprenota_cambiata = $idprenota_cambiate_a_ag[$num2]; if ($app_orig_prenota_id[$idprenota_cambiata] and $app_prenota_id[$idprenota_cambiata] != $app_orig_prenota_id[$idprenota_cambiata]) { $dati_cambiati = esegui_query("select * from {$tableprenota} where idprenota = {$idprenota_cambiata}"); $idapp_camb = $app_orig_prenota_id[$idprenota_cambiata]; $idclienti_camb = risul_query($dati_cambiati, 0, 'idclienti'); $cliente_camb = esegui_query("select cognome from {$tableclienti} where idclienti = {$idclienti_camb}"); if ($idclienti_camb) { $cliente_camb = risul_query($cliente_camb, 0, 'cognome'); } else { $cliente_camb = "?"; } $iddatainizio_camb = $inizio_prenota_id[$idprenota_cambiata]; $datainizio_camb = esegui_query("select datainizio from {$tableperiodi} where idperiodi = {$iddatainizio_camb}"); $datainizio_camb = risul_query($datainizio_camb, 0, 'datainizio'); $datainizio_camb_f = formatta_data($datainizio_camb, $stile_data); $iddatafine_camb = $fine_prenota_id[$idprenota_cambiata]; $datafine_camb = esegui_query("select datafine from {$tableperiodi} where idperiodi = {$iddatafine_camb}"); $datafine_camb = risul_query($datafine_camb, 0, 'datafine'); $datafine_camb_f = formatta_data($datafine_camb, $stile_data); $mess_regola1 .= mex("La prenotazione dal", "clienti.php") . " {$datainizio_camb_f} " . mex("al", "clienti.php") . " {$datafine_camb_f} " . mex("a nome di", "clienti.php") . " {$cliente_camb} " . mex("verrà spostata dall'appartamento", 'unit.php') . " {$idapp_camb} " . mex("al", "clienti.php") . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>).<br>"; } # fine if ($app_orig_prenota_id[$idprenota_cambiata] and... } # fine for $num2 for ($num2 = 1; $num2 <= $id_app_richiesti; $num2++) { if ($id_app_richiesti > 1) { $appartamento_controlla = $appartamento[$num2]; } else { $appartamento_controlla = $appartamento; } if ($id_app_agenzia == $appartamento_controlla and $idinizio_app_agenzia <= $idfineperiodo and $idfine_app_agenzia >= $idinizioperiodo) { $mess_regola1 .= mex("La nuova prenotazione verrà inserita nell'appartamento", 'unit.php') . " <div style=\"display: inline; color: blue;\"><b>{$id_app_agenzia}</b></div> (<b>{$motivazione_app_agenzia}</b>).<br>"; } # fine if ($id_app_agenzia == $appartamento_controlla and ... } # fine for $num2 } # fine if ($mot2 != "x") } # fine for $num1 } # fine else if ($fatto_libera2 == "NO") } # fine else if ($fatto_libera == "SI") } else { # se non ci sono app_agenzia della regola di assegnazione 1 unset($limiti_var); unset($profondita_); unset($app_prenota_id_); unset($app_orig_prenota_id_); unset($inizio_prenota_id_); unset($fine_prenota_id_); unset($app_assegnabili_id_); unset($prenota_in_app_sett_); unset($dati_app_); unset($app_liberato); $limiti_var["lim_prenota_temp"] = $lim_prenota_temp; liberasettimane($idinizioperiodo_vett, $idfineperiodo_vett, $limiti_var, $anno, $fatto_libera, $app_liberato, $profondita_, $app_richiesti, $app_prenota_id_, $app_orig_prenota_id_, $inizio_prenota_id_, $fine_prenota_id_, $app_assegnabili_id_, $prenota_in_app_sett_, $dati_app_, $PHPR_TAB_PRE . "prenota"); if ($fatto_libera == "NO") { $inserire = "NO"; $mess_errore .= mex("Nel periodo selezionato non è possibile ospitare il cliente in un appartamento tra quelli richiesti", 'unit.php') . ".<br>"; for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $mess_prenota .= mex("Prenotazione", "prenota.php") . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b>"; $mess_prenota .= " " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= " " . mex("per", "prenota.php") . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", "prenota.php") . ""; } if ($dati_tariffe[$tipotariffa[$n_t]]['nome']) { $nometariffa_vedi = $dati_tariffe[$tipotariffa[$n_t]]['nome']; } else { $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } $mess_prenota .= ", " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\".<br><br>"; } # fine for $n_t } else { $appartamento = $app_liberato; } } # fine else if ($num_app_agenzia != 0) } # fine if ($inserire != "NO") if ($inserire != "NO") { $metodi_pagamento = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'metodi_pagamento' and idutente = '{$id_utente}'"); $metodi_pagamento = risul_query($metodi_pagamento, 0, 'valpersonalizza'); if ($metodi_pagamento) { $metodi_pagamento = explode(",", $metodi_pagamento); } $origini_prenota = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'origini_prenota' and idutente = '{$id_utente}'"); $origini_prenota = risul_query($origini_prenota, 0, 'valpersonalizza'); if ($origini_prenota) { $origini_prenota = explode(",", $origini_prenota); } for ($n_t = 1; $n_t <= $num_tipologie; $n_t++) { $lunghezza_periodo = $fineperiodo[$n_t] - $inizioperiodo[$n_t] + 1; $max_idprenota = esegui_query("select numlimite from {$tablecostiprenota} where idcostiprenota = '1'"); $max_idprenota = risul_query($max_idprenota, 0, 'numlimite'); if ($id_prenota_imp[$n_t]) { $idprenota = $id_prenota_imp[$n_t]; } else { $idprenota = $max_idprenota; } if ($idprenota >= $max_idprenota) { esegui_query("update {$tablecostiprenota} set numlimite = '" . ($idprenota + 1) . "' where idcostiprenota = '1'"); } $mess_prenota .= mex("Prenotazione", "prenota.php") . " {$idprenota} " . mex("dal", "prenota.php") . " <b>" . formatta_data($inizioperiodo_orig[$n_t], $stile_data) . "</b> " . mex("al", "prenota.php") . " <b>" . formatta_data($fineperiodo_orig[$n_t], $stile_data) . "</b> ({$lunghezza_periodo} " . mex("{$parola_settiman}", "prenota.php"); if ($lunghezza_periodo == 1) { $mess_prenota .= mex("{$lettera_a}", "prenota.php"); } else { $mess_prenota .= mex("{$lettera_e}", "prenota.php"); } $mess_prenota .= ") " . mex("a nome di", "prenota.php") . " <b>{$cognome}</b> "; if ($numpersone[$n_t]) { $mess_prenota .= mex("per", 'prenota.php') . " <b>" . $numpersone[$n_t] . "</b> " . mex("persone", 'prenota.php') . " "; } $mess_prenota .= mex("nell'appartamento", 'unit.php') . " <b>" . $appartamento[$n_t] . "</b>"; if ($assegnazioneapp[$n_t] == "k") { $mess_prenota .= " (" . mex("fisso", "unit.php") . ")"; } else { $mess_prenota .= " (" . mex("mobile", "prenota.php"); if ($lista_app[$n_t]) { $mess_prenota .= " " . mex("in", "prenota.php") . " " . str_replace(",", ", ", $lista_app[$n_t]); } $mess_prenota .= ")"; } # fine else if ($assegnazioneapp[$n_t] == "k") $mess_prenota .= ":<br><br>"; $costo_tariffa_tot = (double) 0; unset($lista_tariffe_sett); unset($lista_tariffep_sett); $tar_sett_imp = $tariffe_sett_imp[$n_t]; for ($num2 = $inizioperiodo[$n_t]; $num2 <= $fineperiodo[$n_t]; $num2++) { $riga_tariffa = esegui_query("select * from {$tableperiodi} where idperiodi = {$num2}"); if (strcmp($tar_sett_imp[$num2], "")) { $costo_tariffa = $tar_sett_imp[$num2]; } else { $costo_tariffa = risul_query($riga_tariffa, 0, $tipotariffa[$n_t]); } if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { if (!strcmp($costo_tariffa, "")) { $costo_tariffa = 0; } if (strcmp($tar_sett_imp[$num2], "")) { $costo_tariffap = 0; } else { $costo_tariffap = risul_query($riga_tariffa, 0, $tipotariffa[$n_t] . "p"); } if (!strcmp($costo_tariffap, "")) { $costo_tariffap = 0; } $costo_tariffap = (double) $costo_tariffap * (double) $numpersone[$n_t]; $lista_tariffep_sett .= "," . $costo_tariffap; $costo_tariffa = (double) $costo_tariffa + $costo_tariffap; } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") $costo_tariffa_tot = (double) $costo_tariffa_tot + (double) $costo_tariffa; $lista_tariffe_sett .= "," . $costo_tariffa; } # fine for $num2 $lista_tariffe_sett = substr($lista_tariffe_sett, 1); if ($lista_tariffep_sett) { $lista_tariffep_sett = substr($lista_tariffep_sett, 1); $lista_tariffe_sett .= ";{$lista_tariffep_sett}"; } # fine if ($lista_tariffep_sett) $costo_tariffa = $costo_tariffa_tot; $nometariffa = $dati_tariffe[$tipotariffa[$n_t]]['nome']; if ($nometariffa == "") { $nometariffa = $tipotariffa[$n_t]; $nometariffa_vedi = mex("tariffa", "prenota.php") . substr($tipotariffa[$n_t], 7); } else { $nometariffa_vedi = $nometariffa; } $nometariffa = aggslashdb($nometariffa); $tariffa = $nometariffa . "#@&" . $costo_tariffa_tot; if ($dati_tariffe[$tipotariffa[$n_t]]['moltiplica'] == "p") { $tariffa .= "#@&p"; } $costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot, $stile_soldi); $mess_prenota .= "{$costo_tariffa_tot_p} {$Euro} " . mex("tariffa", "prenota.php") . " \"{$nometariffa_vedi}\"<br>"; $valori = "abcdefghijkmnpqrstuvwxz"; srand((double) microtime() * 1000000); unset($cod_prenota); for ($num2 = 0; $num2 < 4; $num2++) { $cod_prenota .= substr($valori, rand(0, 22), 1); } if ($conferma[$n_t] == "SI") { $conf = "S"; } else { $conf = "N"; } if ($pagato[$n_t] > 0) { $conf = "S"; } $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); esegui_query("insert into {$tableprenota} (idprenota,idclienti,idappartamenti,iddatainizio,iddatafine,tariffa,tariffesettimanali,codice,conferma,datainserimento,hostinserimento,utente_inserimento) values ('{$idprenota}','" . $idclienti[$n_t] . "','" . aggslashdb($appartamento[$n_t]) . "','" . $inizioperiodo[$n_t] . "','" . $fineperiodo[$n_t] . "','{$tariffa}','{$lista_tariffe_sett}','{$cod_prenota}','{$conf}','{$datainserimento}','{$HOSTNAME}','{$id_utente_ins}')"); if ($numpersone[$n_t]) { esegui_query("update {$tableprenota} set num_persone = '" . $numpersone[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($numpersone[$n_t]) if ($dati_tariffe[$tipotariffa[$n_t]]['tasse_percent']) { esegui_query("update {$tableprenota} set tasseperc = '" . $dati_tariffe[$tipotariffa[$n_t]]['tasse_percent'] . "' where idprenota = '{$idprenota}' "); } # fine if ($dati_tariffe[$tipotariffa[$n_t]]['tasse_percent']) $caparra[$n_t] = formatta_soldi($caparra[$n_t]); if (controlla_soldi($caparra[$n_t], "pos") == "NO") { $caparra[$n_t] = ""; } if (!$caparra[$n_t]) { $caparra[$n_t] = calcola_caparra($dati_tariffe, $tipotariffa[$n_t], $inizioperiodo[$n_t], $fineperiodo[$n_t], $costo_tariffa_tot, $lista_tariffe_sett); } $sconto[$n_t] = (double) formatta_soldi($sconto[$n_t]); if ($sconto[$n_t] and controlla_soldi($sconto[$n_t]) == "SI") { if ($sconto[$n_t] > $costo_tariffa_tot) { $sconto[$n_t] = $costo_tariffa_tot; } esegui_query("update {$tableprenota} set sconto = '" . $sconto[$n_t] . "' where idprenota = '{$idprenota}' "); $sconto_p = punti_in_num($sconto[$n_t], $stile_soldi); if (substr($sconto_p, 0, 1) == "-") { $sconto_p = substr($sconto_p, 1); } else { $mess_prenota .= "-"; } $mess_prenota .= "{$sconto_p} {$Euro} " . mex("Sconto", "prenota.php") . "<br>"; $costo_tariffa_tot = (double) $costo_tariffa_tot - (double) $sconto[$n_t]; } # fine if ($sconto[$n_t] and... $commissioni[$n_t] = formatta_soldi($commissioni[$n_t]); if (controlla_soldi($commissioni[$n_t], "pos") == "NO") { $commissioni[$n_t] = ""; } if (!$commissioni[$n_t]) { $commissioni[$n_t] = calcola_commissioni($dati_tariffe, $tipotariffa[$n_t], $inizioperiodo[$n_t], $fineperiodo[$n_t], $lista_tariffe_sett, $sconto[$n_t], 0); } esegui_query("update {$tableprenota} set tariffa_tot = '{$costo_tariffa_tot}' where idprenota = '{$idprenota}' "); $costo_tariffa_tot_p = punti_in_num($costo_tariffa_tot, $stile_soldi); $mess_prenota .= "<b>{$costo_tariffa_tot_p} {$Euro} " . mex("TOTALE", "prenota.php") . "</b><br>"; if ($lista_app[$n_t]) { esegui_query("update {$tableprenota} set app_assegnabili = '" . $lista_app[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($lista_app[$n_t]) if ($assegnazioneapp[$n_t]) { esegui_query("update {$tableprenota} set assegnazioneapp = '" . $assegnazioneapp[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($assegnazioneapp[$n_t]) if ($caparra[$n_t]) { if ($caparra[$n_t] > $costo_tariffa_tot) { $caparra[$n_t] = $costo_tariffa_tot; } esegui_query("update {$tableprenota} set caparra = '" . $caparra[$n_t] . "' where idprenota = '{$idprenota}' "); $da_pagare = $costo_tariffa_tot - $caparra[$n_t]; $caparra_p = punti_in_num($caparra[$n_t], $stile_soldi); $da_pagare_p = punti_in_num($da_pagare, $stile_soldi); $mess_prenota .= "<br>" . mex("Caparra", "prenota.php") . ": <b>{$caparra_p}</b> {$Euro} (" . mex("resto da pagare", "prenota.php") . ": {$da_pagare_p} {$Euro}).<br>"; } # fine if ($caparra[$n_t]) $met_trovato = "NO"; if ($met_paga_caparra[$n_t] and $metodi_pagamento) { for ($num2 = 0; $num2 < count($metodi_pagamento); $num2++) { if ($met_paga_caparra[$n_t] == $metodi_pagamento[$num2]) { $met_trovato = "SI"; } } # fine for $num2 if ($met_trovato == "SI") { esegui_query("update {$tableprenota} set metodo_pagamento = '" . aggslashdb($met_paga_caparra[$n_t]) . "' where idprenota = '{$idprenota}' "); if (!$caparra) { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Metodo pagamento caparra", "prenota.php") . ": <b>" . $met_paga_caparra[$n_t] . "</b>.<br>"; } # fine if ($met_trovato == "SI") } # fine if ($met_paga_caparra[$n_t] and $metodi_pagamento) if ($commissioni[$n_t]) { esegui_query("update {$tableprenota} set commissioni = '" . $commissioni[$n_t] . "' where idprenota = '{$idprenota}' "); $resto_comm = $costo_tariffa_tot - $commissioni[$n_t]; $commissioni_p = punti_in_num($commissioni[$n_t], $stile_soldi); $resto_comm_p = punti_in_num($resto_comm, $stile_soldi); if (!$caparra[$n_t] and $met_trovato == "NO") { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Commissioni", "prenota.php") . ": <b>{$commissioni_p}</b> {$Euro} (" . mex("resto commissioni", "prenota.php") . ": {$resto_comm_p} {$Euro}).<br>"; } # fine if ($commissioni[$n_t]) # calcolo costi nulli, non letto e senza inventario da associare alla tariffa, tutti come se fossero "se possibile" if ($ins_costi_agg == "costi_nulli") { unset($num_letti_agg); unset($num_costi_presenti); $oggi_costo = date("Ymd", time() + C_DIFF_ORE * 3600); for ($num_costo = 0; $num_costo < $dati_ca['num']; $num_costo++) { if (!$dati_ca[$num_costo]['valore'] and !$dati_ca[$num_costo]['valore_perc'] and $dati_ca[$num_costo]['letto'] != "s" and !$dati_ca[$num_costo]['tipo_beniinv']) { $associa_costo = "NO"; $associa_costo_tariffa = associa_costo_a_tariffa($dati_ca, $num_costo, $tipotariffa[$n_t], $fineperiodo[$n_t] - $inizioperiodo[$n_t] + 1); if ($associa_costo_tariffa == "SI") { $associa_costo = "SI"; } if ($associa_costo_tariffa != "SI" and !$dati_ca[$num_costo]["incomp_" . $tipotariffa[$n_t]]) { if ($dati_ca[$num_costo]['assegna_con_num_prenota'] and count($inizioperiodo) >= $dati_ca[$num_costo]['assegna_con_num_prenota']) { $associa_costo = "SI"; } if ($dati_ca[$num_costo]['assegna_da_ini_prenota']) { $giorni_lim = substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 1); $limite = date("Ymd", mktime(0, 0, 0, substr($inizioperiodo_orig[$n_t], 5, 2), substr($inizioperiodo_orig[$n_t], 8, 2) - $giorni_lim, substr($inizioperiodo_orig[$n_t], 0, 4))); if (substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 0, 1) == ">" and $oggi_costo < $limite) { $associa_costo = "SI"; } if (substr($dati_ca[$num_costo]['assegna_da_ini_prenota'], 0, 1) == "<" and $oggi_costo > $limite) { $associa_costo = "SI"; } } # fine if ($dati_ca[$num_costo][assegna_da_ini_prenota]) } # fine if ($associa_costo_tariffa != "SI" and... if ($associa_costo == "SI") { #if ($dati_ca[$num_costo][tipo_val] == "q" and $costo_totale_presente = "SI") $associa_costo = "NO"; $settimane_costo = calcola_settimane_costo($tableperiodi, $dati_ca, $num_costo, $inizioperiodo[$n_t], $fineperiodo[$n_t], "", ""); calcola_moltiplica_costo($dati_ca, $num_costo, $moltiplica, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo, "", $numpersone[$n_t], $num_letti_agg); $num_costi_presenti_copia = $num_costi_presenti; $periodo_costo_trovato = trova_periodo_permesso_costo($dati_ca, $num_costo, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo); if ($periodo_costo_trovato == "NO") { $associa_costo = "NO"; } else { if (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_ca, $num_costo, $num_costi_presenti_copia, $inizioperiodo[$n_t], $fineperiodo[$n_t], $settimane_costo, $moltiplica) == "NO") { $associa_costo = "NO"; } } if ($associa_costo == "SI") { $num_costi_presenti = $num_costi_presenti_copia; $idcostiprenota = esegui_query("select max(idcostiprenota) from {$tablecostiprenota}"); $idcostiprenota = risul_query($idcostiprenota, 0, 0) + 1; $tipo_ca = $dati_ca[$num_costo]['tipo'] . $dati_ca[$num_costo]['tipo_val']; $valore_ca = $dati_ca[$num_costo]['valore']; $valore_perc_ca = $dati_ca[$num_costo]['valore_perc']; $associasett_ca = $dati_ca[$num_costo]['associasett']; if ($dati_ca[$num_costo]['var_percentuale'] != "s" and $dati_ca[$num_costo]['tipo_val'] != "f") { $tipo_ca = $dati_ca[$num_costo]['tipo'] . "f"; $moltiplica = 1; if ($dati_ca[$num_costo]['tipo'] == "s") { $settimane_costo = 1; $associasett_ca = "n"; } # fine if ($dati_ca[$num_costo][tipo] == "s") } # fine if ($dati_ca[$num_costo][var_percentuale] != "s" and... if ($dati_ca[$num_costo]['var_moltiplica'] == "s") { $varmoltiplica_ca = $dati_ca[$num_costo]['moltiplica'] . $dati_ca[$num_costo]['molt_max'] . $dati_ca[$num_costo]['molt_agg'] . "," . $dati_ca[$num_costo]['molt_max_num']; } else { $varmoltiplica_ca = "cx0,"; } if ($dati_ca[$num_costo]['var_numsett'] == "s") { $varnumsett_ca = $dati_ca[$num_costo]['numsett_orig']; } else { $varnumsett_ca = "c"; } if ($dati_ca[$num_costo]['var_periodip'] == "s") { $varperiodipermessi_ca = $dati_ca[$num_costo]['periodipermessi_orig']; } else { $varperiodipermessi_ca = ""; } $varbeniinv_ca = ""; $varappincompatibili_ca = ""; if ($dati_ca[$num_costo]['var_tariffea'] == "s") { $vartariffeassociate_ca = "p" . $dati_ca[$num_costo][$tipotariffa[$n_t]]; } else { $vartariffeassociate_ca = ""; } $vartariffeincomp_ca = ""; if ($dati_ca[$num_costo]['var_tariffei'] == "s") { for ($numtariffa = 1; $numtariffa <= $dati_tariffe['num']; $numtariffa++) { if ($dati_ca[$num_costo]["incomp_tariffa" . $numtariffa] == "i") { $vartariffeincomp_ca .= "," . $numtariffa; } } # fine for $numtariffa if ($vartariffeincomp_ca) { $vartariffeincomp_ca = substr($vartariffeincomp_ca, 1); } } # fine if ($dati_ca[$num_costo][var_tariffei] == "s") if ($dati_ca[$num_costo]['var_comb'] == "s") { $variazione_ca = $dati_ca[$num_costo]['combina']; } else { $variazione_ca = "n"; } $variazione_ca .= $dati_ca[$num_costo]['escludi_tot_perc']; esegui_query("insert into {$tablecostiprenota} (idcostiprenota,idprenota,tipo,nome,valore,associasett,settimane,moltiplica,letto,idntariffe,variazione,varmoltiplica,varnumsett,varperiodipermessi,varbeniinv,varappincompatibili,vartariffeassociate,vartariffeincomp,datainserimento,hostinserimento,utente_inserimento) values ('{$idcostiprenota}','{$idprenota}','{$tipo_ca}','" . aggslashdb($dati_ca[$num_costo]['nome']) . "','{$valore_ca}','{$associasett_ca}','{$settimane_costo}','{$moltiplica}','" . $dati_ca[$num_costo]['letto'] . "','" . $dati_ca[$num_costo]['id'] . "','{$variazione_ca}','{$varmoltiplica_ca}','{$varnumsett_ca}','{$varperiodipermessi_ca}','{$varbeniinv_ca}','{$varappincompatibili_ca}','{$vartariffeassociate_ca}','{$vartariffeincomp_ca}','{$datainserimento}','{$HOSTNAME}','{$id_utente_ins}')"); if (substr($tipo_ca, 1, 1) != "f") { esegui_query("update {$tablecostiprenota} set valore_perc = '{$valore_perc_ca}', arrotonda = '" . $dati_ca[$num_costo]['arrotonda'] . "' where idcostiprenota = '{$idcostiprenota}'"); } if ($dati_ca[$num_costo]['tasseperc']) { esegui_query("update {$tablecostiprenota} set tasseperc = '" . $dati_ca[$num_costo]['tasseperc'] . "' where idcostiprenota = '{$idcostiprenota}'"); } if (strcmp($dati_ca[$num_costo]['categoria'], "")) { esegui_query("update {$tablecostiprenota} set categoria = '" . $dati_ca[$num_costo]['categoria'] . "' where idcostiprenota = '{$idcostiprenota}'"); } } # fine if ($associa_costo == "SI") } # fine if ($associa_costo == "SI") } # fine if (!$dati_ca[$num_costo]['valore'] and !$dati_ca[$num_costo]['valore_perc'] and... } # fine for $num_costo } # fine if ($ins_costi_agg == "costi_nulli") if ($origine_prenota[$n_t] and $origini_prenota) { $orig_trovata = "NO"; for ($num2 = 0; $num2 < count($origini_prenota); $num2++) { if ($origine_prenota[$n_t] == $origini_prenota[$num2]) { $orig_trovata = "SI"; } } # fine for $num2 if ($orig_trovata == "SI") { $origine_prenota[$n_t] = aggslashdb($origine_prenota[$n_t]); esegui_query("update {$tableprenota} set origine = '" . $origine_prenota[$n_t] . "' where idprenota = '{$idprenota}' "); if (!$caparra[$n_t] and $met_trovato == "NO" and !$commissioni[$n_t]) { $mess_prenota .= "<br>"; } $mess_prenota .= mex("Origine", "prenota.php") . ": <b>" . stripslashes($origine_prenota[$n_t]) . "</b>.<br>"; } # fine if ($orig_trovata == "SI") } # fine if ($origine_prenota[$n_t] and $origini_prenota) if ($giorno_stima_checkin[$n_t] and $ora_stima_checkin[$n_t] and $min_stima_checkin[$n_t]) { if ($tipo_periodi == "g") { $giorni_periodo = $lunghezza_periodo; } else { $giorni_periodo = $lunghezza_periodo * 7; } if (controlla_num_pos($giorno_stima_checkin[$n_t]) == "SI" and $giorno_stima_checkin[$n_t] >= 1 and $giorno_stima_checkin[$n_t] <= 7 and $giorno_stima_checkin[$n_t] <= $giorni_periodo + 1) { $data_stima_checkin = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '" . $inizioperiodo[$n_t] . "'"); $data_stima_checkin = risul_query($data_stima_checkin, 0, 'datainizio'); $data_ini_prenota_f = formatta_data($data_stima_checkin, $stile_data); $anno_dts = substr($data_stima_checkin, 0, 4); $mese_dts = substr($data_stima_checkin, 5, 2); $giorno_dts = substr($data_stima_checkin, 8, 2); $data_stima_checkin = date("Y-m-d", mktime(0, 0, 0, $mese_dts, $giorno_dts + $giorno_stima_checkin[$n_t] - 1, $anno_dts)); $stima_checkin = $data_stima_checkin . " " . $ora_stima_checkin[$n_t] . ":" . $min_stima_checkin[$n_t] . ":00"; if (preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/", $stima_checkin)) { esegui_query("update {$tableprenota} set checkout = '{$stima_checkin}' where idprenota = '{$idprenota}' "); $mess_prenota .= "<br>" . mex("Orario stimato di entrata", "prenota.php") . ": <b>" . substr(str_replace($data_ini_prenota_f, "", formatta_data($stima_checkin, $stile_data)), 0, -3) . "</b>.<br>"; } # fine if (preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/",$stima_checkin)) } # fine if (controlla_num_pos($giorno_stima_checkin) == "SI" and... } # fine if ($giorno_stima_checkin[$n_t] and $ora_stima_checkin[$n_t] and $min_stima_checkin[$n_t]) if ($commento[$n_t]) { $commento[$n_t] = htmlspecialchars($commento[$n_t]); $mess_prenota .= "<br>" . mex("Commento", "prenota.php") . ": " . $commento[$n_t] . "<br>"; $commento[$n_t] = aggslashdb($commento[$n_t]); esegui_query("update {$tableprenota} set commento = '" . $commento[$n_t] . "' where idprenota = '{$idprenota}' "); } # fine if ($commento[$n_t]) $mess_prenota .= "<br>" . mex("Prenotazione", "prenota.php") . " {$idprenota} " . mex("inserita", "prenota.php") . "!<br>"; if ($n_t != $num_tipologie) { $mess_prenota .= "<hr style=\"width: 95%\">"; } $lista_idprenota .= ",{$idprenota}"; $lista_idini .= "," . $inizioperiodo[$n_t]; $lista_idfine .= "," . $fineperiodo[$n_t]; #$costo_tot_mess = (double) $costo_tot_mess + (double) $costo_tariffa_tot; #$caparra_mess = (double) $caparra_mess + (double) $caparra; } # fine for $n_t $lista_idprenota = substr($lista_idprenota, 1); $lista_idini = substr($lista_idini, 1); $lista_idfine = substr($lista_idfine, 1); if ($prenota_vicine == "SI") { $lista_idprenota_vett = explode(",", $lista_idprenota); for ($num1 = 0; $num1 < count($lista_idprenota_vett); $num1++) { $idprenota = $lista_idprenota_vett[$num1]; $idprenota_vicine = substr(str_replace("," . $idprenota . ",", ",", "," . $lista_idprenota . ","), 1, -1); esegui_query("update {$tableprenota} set idprenota_compagna = '{$idprenota_vicine}' where idprenota = '{$idprenota}' "); } # fine for $num1 } # fine if ($prenota_vicine == "SI") $stato['inserita'] = "SI"; } # fine if ($inserire != "NO") if (!@is_array($stato) or $stato['inserita'] != "SI") { $stato['inserita'] = "NO"; } $stato['mess_errore'] = $mess_errore; $stato['mess_regola1'] = $mess_regola1; $stato['mess_prenota'] = $mess_prenota; $stato['lista_idprenota'] = $lista_idprenota; $stato['idinizioperiodo'] = $lista_idini; $stato['idfineperiodo'] = $lista_idfine; return $lista_idprenota; }
function aggiorna_var_anno_modello_rat ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) { global $num_periodi_date,$LIKE,$anno,$estendi_ultima_data; $n_num_periodi_date = 0; if ($id_data_ini_periodi_prec) { for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) { global ${"inizioperiodo".$num1},${"fineperiodo".$num1},${"intervalloperiodo".$num1}; $inizioperiodo = aggslashdb(${"inizioperiodo".$num1}); $fineperiodo = aggslashdb(${"fineperiodo".$num1}); $idinizioperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datainizio = '$inizioperiodo' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo,0,idperiodi); } $inizioperiodo = $idinizioperiodo; $idfineperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datafine = '$fineperiodo' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo,0,idperiodi); } $fineperiodo = $idfineperiodo; $intervalloperiodo = aggslashdb(${"intervalloperiodo".$num1}); if ($estendi_ultima_data == "SI" and $num1 == ($num_periodi_date - 1)) $fineperiodo = $id_data_ini_periodi_prec + $intervalloperiodo; if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec) { if ($inizioperiodo < $id_data_ini_periodi_prec) { for ($num2 = $inizioperiodo ; $num2 <= $fineperiodo ; $num2 = $num2 + $intervalloperiodo) { if ($num2 >= $id_data_ini_periodi_prec) { $inizioperiodo = $num2; break; } # fine if ($num2 >= $id_data_ini_periodi_prec) } # fine for $num2 } # fine if ($inizioperiodo < $id_data_ini_periodi_prec) $n_inizioperiodo[$n_num_periodi_date] = $inizioperiodo - $id_data_ini_periodi_prec + 1; $n_fineperiodo[$n_num_periodi_date] = $fineperiodo - $id_data_ini_periodi_prec + 1; $n_intervalloperiodo[$n_num_periodi_date] = $intervalloperiodo; $n_num_periodi_date++; } # fine if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec or... } # fine for $num1 } # fine if ($id_data_ini_periodi_prec) if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) { $n_num_periodi_date = 1; global $inizioperiodo0,$fineperiodo0,$intervalloperiodo0; if (($num_periodi_date - 1) != 0) global ${"fineperiodo".($num_periodi_date - 1)},${"intervalloperiodo".($num_periodi_date - 1)}; $n_intervalloperiodo[0] = ${"intervalloperiodo".($num_periodi_date - 1)}; $inizioperiodo = ${"fineperiodo".($num_periodi_date - 1)}; if ($tipo_periodi == "g") $aggiungi_giorni = 1; else $aggiungi_giorni = 7; $anno_inizio = substr($inizioperiodo,0,4); $mese_inizio = substr($inizioperiodo,5,2); $giorno_inizio = substr($inizioperiodo,8,2); for ($num1 = 0 ; $num1 < 2000 ; $num1++) { $datainizio = date("Y-m-d",mktime(0,0,0,$mese_inizio,$giorno_inizio,$anno_inizio)); $datainizio = esegui_query("select * from $tableperiodi where datainizio = '$datainizio'"); if (numlin_query($datainizio) == 1) { $n_inizioperiodo[0] = risul_query($datainizio,0,idperiodi); break; } # fine if (numlin_query($datainizio) == 1) $giorno_inizio = $giorno_inizio + ($n_intervalloperiodo[0] * $aggiungi_giorni); } # fine for $num1 $n_fineperiodo[0] = $n_inizioperiodo[0]; } # fine if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) for ($num1 = 0 ; $num1 < $n_num_periodi_date ; $num1++) { $inizioperiodo = $n_inizioperiodo[$num1]; $fineperiodo = $n_fineperiodo[$num1]; $inizioperiodo = esegui_query("select datainizio from $tableperiodi where idperiodi = '$inizioperiodo' "); $inizioperiodo = @risul_query($inizioperiodo,0,datainizio); $fineperiodo = esegui_query("select datafine from $tableperiodi where idperiodi = '$fineperiodo' "); $fineperiodo = @risul_query($fineperiodo,0,datafine); if (!$inizioperiodo or !$fineperiodo) $n_num_periodi_date = 0; ${"inizioperiodo".$num1} = $inizioperiodo; ${"fineperiodo".$num1} = $fineperiodo; ${"intervalloperiodo".$num1} = $n_intervalloperiodo[$num1]; } # fine for $num1 $num_periodi_date = $n_num_periodi_date; if (!$num_periodi_date) $inizioperiodo0 = ""; } # fine funtcion aggiorna_var_anno_modello_rat
$numconnessione = connetti_db($PHPR_DB_NAME, $PHPR_DB_HOST, $PHPR_DB_PORT, $PHPR_DB_USER, $PHPR_DB_PASS, $PHPR_LOAD_EXT); include "./includes/funzioni.php"; include "./includes/sett_gio.php"; include "./includes/funzioni_dati_relutenti.php"; $tablerelutenti = $PHPR_TAB_PRE . "relutenti"; $tablenazioni = $PHPR_TAB_PRE . "nazioni"; $tableregioni = $PHPR_TAB_PRE . "regioni"; $tablecitta = $PHPR_TAB_PRE . "citta"; $tabledocumentiid = $PHPR_TAB_PRE . "documentiid"; $tableparentele = $PHPR_TAB_PRE . "parentele"; $id_utente = controlla_login($numconnessione, $PHPR_TAB_PRE, $id_sessione, $nome_utente_phpr, $password_phpr, $anno); if ($id_utente) { if ($id_utente != 1) { $tableprivilegi = $PHPR_TAB_PRE . "privilegi"; $privilegi_annuali_utente = esegui_query("select * from {$tableprivilegi} where idutente = '{$id_utente}' and anno = '{$anno}'"); if (numlin_query($privilegi_annuali_utente) == 0) { $anno_utente_attivato = "NO"; } else { $anno_utente_attivato = "SI"; $privilegi_globali_utente = esegui_query("select * from {$tableprivilegi} where idutente = '{$id_utente}' and anno = '1'"); $priv_mod_pers = risul_query($privilegi_globali_utente, 0, 'priv_mod_pers'); if (substr($priv_mod_pers, 0, 1) != "s") { $modifica_pers = "NO"; } $priv_ins_clienti = risul_query($privilegi_globali_utente, 0, 'priv_ins_clienti'); if (substr($priv_ins_clienti, 0, 1) == "s") { $inserimento_nuovi_clienti = "SI"; } else { $inserimento_nuovi_clienti = "NO"; } $modifica_clienti = "NO";
function cancella_relazioni_utente($tablerelutenti, $idrelutenti, $tablerel, $idrel) { $relazioni = esegui_query("select {$idrel} from {$tablerel}"); $num_rel = numlin_query($relazioni); for ($num1 = 0; $num1 < $num_rel; $num1++) { $relazione = aggslashdb(risul_query($relazioni, $num1, $idrel)); $rel_esist = esegui_query("select {$idrelutenti} from {$tablerelutenti} where {$idrelutenti} = '{$relazione}' "); if (numlin_query($rel_esist) == 0) { esegui_query("delete from {$tablerel} where {$idrel} = '{$relazione}' "); } } # fine for $num1 }
function crea_quadro_disp($id_data_inizio_tab_disp, $num_colonne_tab_disp, $mostra_quadro_disp, $mostra_num_liberi, $app_consentito, $app_consentito_sett, $app_regola2_orig, $tipo_periodi, $numero_tariffe, $nome_tariffa, $dati_app, $prenota_in_app_sett, $app_orig_prenota_id, $tableperiodi, $allinea_disp = "", $dati_tariffe = "") { global $c_sfondo_tab_disp, $c_inisett_tab_disp, $c_libero_tab_disp, $c_occupato_tab_disp, $aper_font_tab_disp, $chiu_font_tab_disp, $fr_persone, $fr_persona, $nome_mese, $colonna_destra_tab_disp, $tablepersonalizza, $id_utente, $anno; if ($tipo_periodi == "s") { $colspan = 14; } else { $colspan = 2; } $num_raggr = 0; unset($nome_raggr); unset($app_ric_raggr); unset($tipotariffa); unset($num_app_ric_raggr); if ($mostra_quadro_disp == "app") { $mostra_num_liberi = "NO"; ksort($dati_app['maxocc']); reset($dati_app['maxocc']); while (list($key, $val) = each($dati_app['maxocc'])) { if ($app_consentito[$key] == "SI") { $app_ric_raggr[$num_raggr] = $key; $nome_raggr[$num_raggr] = $key; $num_raggr++; } # fine if ($app_consentito[$numapp] == "SI") } # fine while (list($key, $val) = each($dati_app['maxocc'])) } # fine if ($mostra_quadro_disp == "app") if ($mostra_quadro_disp == "reg2") { for ($numtariffa = 1; $numtariffa <= $numero_tariffe; $numtariffa++) { if ($app_regola2_orig[$numtariffa]) { $app_regola2 = explode(",", $app_regola2_orig[$numtariffa]); for ($num1 = 0; $num1 < count($app_regola2); $num1++) { if ($app_consentito[$app_regola2[$num1]] == "SI") { $app_ric_raggr[$num_raggr] .= "{$app_regola2[$num1]},"; } } if ($app_ric_raggr[$num_raggr]) { $app_ric_raggr[$num_raggr] = substr($app_ric_raggr[$num_raggr], 0, -1); $nome_raggr[$num_raggr] = str_replace(" ", " ", $nome_tariffa[$numtariffa]); $tipotariffa[$num_raggr] = "tariffa{$numtariffa}"; $num_raggr++; } # fine if ($app_ric_raggr[$num_raggr]) } # fine if ($app_regola2_orig[$numtariffa]) } # fine for $numtariffa } # fine if ($mostra_quadro_disp == "reg2") if ($mostra_quadro_disp == "pers") { asort($dati_app['maxocc']); reset($dati_app['maxocc']); $ultime_persone_casa = "vuoto"; while (list($key, $val) = each($dati_app['maxocc'])) { $persone_casa = $val; if ($persone_casa != $ultime_persone_casa) { if ($app_ric_raggr[$num_raggr]) { $app_ric_raggr[$num_raggr] = substr($app_ric_raggr[$num_raggr], 0, -1); if ($ultime_persone_casa) { if ($ultime_persone_casa == 1) { $nome_raggr[$num_raggr] = $ultime_persone_casa . " " . $fr_persona; } else { $nome_raggr[$num_raggr] = $ultime_persone_casa . " " . $fr_persone; } } else { $nome_raggr[$num_raggr] = "? {$fr_persone}"; } $num_raggr++; } # fine if ($app_ric_raggr[$num_raggr]) $ultime_persone_casa = $persone_casa; } # fine if ($persone_casa != $ultimepersone_casa) if ($app_consentito[$key] == "SI") { $app_ric_raggr[$num_raggr] .= "{$key},"; } } # fine while (list($key, $val) = each($dati_app[maxocc])) if ($app_ric_raggr[$num_raggr]) { $app_ric_raggr[$num_raggr] = substr($app_ric_raggr[$num_raggr], 0, -1); if ($ultime_persone_casa) { if ($ultime_persone_casa == 1) { $nome_raggr[$num_raggr] = $ultime_persone_casa . " " . $fr_persona; } else { $nome_raggr[$num_raggr] = $ultime_persone_casa . " " . $fr_persone; } } else { $nome_raggr[$num_raggr] = "? {$fr_persone}"; } $num_raggr++; } # fine if ($app_ric_raggr[$num_raggr]) } # fine if ($mostra_quadro_disp == "pers") $righe_tab_disp = ""; for ($num1 = 0; $num1 < $num_raggr; $num1++) { if ($app_ric_raggr[$num1]) { $righe_tab_disp .= "<tr><td style=\"text-align: right;\">{$aper_font_tab_disp}" . $nome_raggr[$num1] . "{$chiu_font_tab_disp}</td>"; $max_app_liberi = explode(",", $app_ric_raggr[$num1]); $max_app_liberi = count($max_app_liberi); $app_ric_colonna = "," . $app_ric_raggr[$num1] . ","; for ($num2 = 0; $num2 < $num_colonne_tab_disp; $num2++) { $id_periodo = $id_data_inizio_tab_disp + $num2; $num_app_liberi = $max_app_liberi; if ($app_consentito_sett[",attivo,"] == "SI") { if ($num2 == 0) { $app_ric_col_vett = explode(",", $app_ric_raggr[$num1]); $num_app_ric_col = count($app_ric_col_vett); } # fine if ($num2 == 0) $app_ric_colonna = "," . $app_ric_raggr[$num1] . ","; for ($num3 = 0; $num3 < $num_app_ric_col; $num3++) { if ($app_consentito_sett[$app_ric_col_vett[$num3]][$id_periodo] != "SI") { $app_ric_colonna = str_replace("," . $app_ric_col_vett[$num3] . ",", ",", $app_ric_colonna); $num_app_liberi--; } # fine if ($app_consentito_sett[$app_ric_col_vett[$num3]][$id_periodo] != "SI") } # fine for $num3 } # fine if ($app_consentito_sett[",attivo,"] == "SI") $pren_pres_in_lista = ""; $lista_prenota_periodo = ""; $num_lista_pren_per = 0; lista_prenota_periodo($id_periodo, $id_periodo, $dati_app, $prenota_in_app_sett, $pren_pres_in_lista, $lista_prenota_periodo, $num_lista_pren_per); for ($num3 = 0; $num3 < $num_lista_pren_per; $num3++) { if (str_replace("," . $app_orig_prenota_id[$lista_prenota_periodo[$num3]] . ",", "", $app_ric_colonna) != $app_ric_colonna) { $num_app_liberi--; } } # fine for $num3 if ($mostra_quadro_disp == "reg2" and $dati_tariffe and $dati_tariffe[$tipotariffa[$num1]]['chiusa'][$id_periodo]) { $num_app_liberi = 0; } if ($num_app_liberi > 0) { $color = $c_libero_tab_disp; } else { $color = $c_occupato_tab_disp; } if ($num_app_liberi > 0 and $mostra_num_liberi == "SI") { $val_liberi = $num_app_liberi; } else { $val_liberi = " "; } if ($num2 == 0 and $allinea_disp == "SI") { $colspan_v = $colspan / 2; } else { $colspan_v = $colspan; } $righe_tab_disp .= "<td style=\"background-color: {$color};\" colspan=\"{$colspan_v}\">{$aper_font_tab_disp}{$val_liberi}{$chiu_font_tab_disp}</td>"; } # fine for $num2 if ($colonna_destra_tab_disp != "NO") { $righe_tab_disp .= "<td>{$aper_font_tab_disp}" . $nome_raggr[$num1] . "{$chiu_font_tab_disp}</td></tr>"; } else { $righe_tab_disp .= "</tr>"; } } # fine if ($app_ric_raggr[$num1]) } # fine for $num1 if ($righe_tab_disp) { if ($tipo_periodi == "s") { $ripeti_giorni = 7; } else { $ripeti_giorni = 1; if (!$id_utente) { $id_utente_gio = 1; } else { $id_utente_gio = $id_utente; } $giorno_vedi_ini_sett = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'giorno_vedi_ini_sett{$anno}' and idutente = '{$id_utente_gio}'"); if (numlin_query($giorno_vedi_ini_sett) == 1) { $giorno_vedi_ini_sett = risul_query($giorno_vedi_ini_sett, 0, 'valpersonalizza_num'); } else { $giorno_vedi_ini_sett = 0; } } # fine else if ($tipo_periodi == "s") $ultimo_mese = ""; $num_col_mese = 0; $riga_mese = "<tr><td rowspan=\"2\">{$aper_font_tab_disp} {$chiu_font_tab_disp}</td>"; $riga_giorni = "<tr>"; for ($num1 = 0; $num1 < $num_colonne_tab_disp + 1; $num1++) { if ($allinea_disp != "SI" or $num1 != $num_colonne_tab_disp) { if ($num1 != $num_colonne_tab_disp) { $id_periodo = $id_data_inizio_tab_disp + $num1; } else { $id_periodo = $id_data_inizio_tab_disp + $num1 - 1; } $riga_periodo = esegui_query("select * from {$tableperiodi} where idperiodi = '{$id_periodo}'"); if ($num1 != $num_colonne_tab_disp) { $inizio_periodo = risul_query($riga_periodo, 0, 'datainizio'); } else { $inizio_periodo = risul_query($riga_periodo, 0, 'datafine'); } $inizio_periodo = explode("-", $inizio_periodo); $g_inizio_periodo = $inizio_periodo[2]; $m_inizio_periodo = $inizio_periodo[1]; $a_inizio_periodo = $inizio_periodo[0]; if ($num1 == $num_colonne_tab_disp) { $ripeti_giorni = 1; } for ($num2 = 0; $num2 < $ripeti_giorni; $num2++) { $timestamp_periodo = mktime(0, 0, 0, $m_inizio_periodo, $g_inizio_periodo + $num2, $a_inizio_periodo); $g_mostra = date("d", $timestamp_periodo); $m_mostra = date("m", $timestamp_periodo); if ($ultimo_mese != $m_mostra) { if ($ultimo_mese) { $a_mostra = date("Y", mktime(0, 0, 0, $m_inizio_periodo, $g_inizio_periodo + $num2 - 1, $a_inizio_periodo)); $riga_mese .= "<td colspan=\"{$num_col_mese}\">{$aper_font_tab_disp}"; if ($num_col_mese > 7) { $riga_mese .= $nome_mese[$ultimo_mese] . " {$a_mostra}"; } else { $riga_mese .= " "; } $riga_mese .= "{$chiu_font_tab_disp}</td>"; $num_col_mese = 0; } # fine if ($ultimo_mese) $ultimo_mese = $m_mostra; } # fine if ($ultimo_mese != $m_mostra) if (($num1 != 0 or $num2 != 0) and $num1 != $num_colonne_tab_disp) { $num_col_mese = $num_col_mese + 2; } else { $num_col_mese++; } $bgcolor = ""; if ($tipo_periodi != "s") { $giorno_sett_corr = date("w", $timestamp_periodo); if ($giorno_sett_corr == $giorno_vedi_ini_sett) { $bgcolor = "{$c_inisett_tab_disp}"; } } else { if ($num2 == 0) { $bgcolor = "{$c_inisett_tab_disp}"; } } $riga_giorni .= "<td"; if ($bgcolor) { $riga_giorni .= " style=\"background-color: {$bgcolor};\""; } if (($num1 != 0 or $num2 != 0) and $num1 != $num_colonne_tab_disp) { $riga_giorni .= " colspan=2"; } $riga_giorni .= ">{$aper_font_tab_disp}{$g_mostra}{$chiu_font_tab_disp}</td>"; } # fine for $num2 } # fine if ($allinea_disp != "SI" or $num1 != $num_colonne_tab_disp) } # fine for $num1 $a_mostra = date("Y", mktime(0, 0, 0, $m_inizio_periodo, $g_inizio_periodo + $num2 - 1, $a_inizio_periodo)); $riga_mese .= "<td colspan=\"{$num_col_mese}\">{$aper_font_tab_disp}"; if ($num_col_mese > 6) { $riga_mese .= $nome_mese[$ultimo_mese] . " {$a_mostra}"; } else { $riga_mese .= " "; } if ($colonna_destra_tab_disp != "NO") { $riga_mese .= "{$chiu_font_tab_disp}</td><td rowspan=\"2\">{$aper_font_tab_disp} {$chiu_font_tab_disp}</td></tr>"; } else { $riga_mese .= "{$chiu_font_tab_disp}</td></tr>"; } $riga_giorni .= "</tr>"; $righe_tab_disp = "{$riga_mese}\n{$riga_giorni}\n{$righe_tab_disp}"; } # fine if ($righe_tab_disp) return $righe_tab_disp; }
$nome_mese["10"] = mex("Ottobre", "giorni_mesi.php"); $nome_mese["11"] = mex("Novembre", "giorni_mesi.php"); $nome_mese["12"] = mex("Dicembre", "giorni_mesi.php"); if ($priv_ins_multiple != "n") { $mostra_num_liberi = "SI"; } else { $mostra_num_liberi = "NO"; } unset($app_consentito); unset($app_consentito_sett); # Calcolo gli appartamenti consentiti dalla regola 1 if ($attiva_regole1_consentite == "s") { $app_consentito_sett[",attivo,"] = "SI"; $quadro_non_preciso = "SI"; $regole1_consentite = esegui_query("select idregole,app_agenzia,iddatainizio,iddatafine from {$tableregole} where app_agenzia != '' and {$condizioni_regole1_consentite}"); $num_regole1_consentite = numlin_query($regole1_consentite); for ($num1 = 0; $num1 < $num_regole1_consentite; $num1++) { $idapp = risul_query($regole1_consentite, $num1, 'app_agenzia'); $app_consentito[$idapp] = "SI"; $iddatainizio_reg1 = risul_query($regole1_consentite, $num1, 'iddatainizio'); $iddatafine_reg1 = risul_query($regole1_consentite, $num1, 'iddatafine'); for ($num2 = $iddatainizio_reg1; $num2 <= $iddatafine_reg1; $num2++) { $app_consentito_sett[$idapp][$num2] = "SI"; } # fine for $num2 } # fine for $num1 } else { for ($num1 = 0; $num1 < $dati_app['totapp']; $num1++) { $app_consentito[$dati_app['posizione'][$num1]] = "SI"; }
function aggiorna_var_anno_modello_disponibilita ($id_data_ini_periodi_prec,$tableperiodi_prec,$tableperiodi,$tabletransazioniweb,$tablemessaggi,$tipo_periodi) { global $num_periodi_date,$LIKE,$anno,$estendi_ultima_data; $n_num_periodi_date = 0; if ($id_data_ini_periodi_prec) { for ($num1 = 0 ; $num1 < $num_periodi_date ; $num1++) { global ${"inizioperiodo".$num1},${"fineperiodo".$num1},${"intervalloperiodo".$num1}; $inizioperiodo = aggslashdb(${"inizioperiodo".$num1}); $fineperiodo = aggslashdb(${"fineperiodo".$num1}); $idinizioperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datainizio = '$inizioperiodo' "); $num_idinizioperiodo = numlin_query($idinizioperiodo); if ($num_idinizioperiodo == 0) { $idinizioperiodo = 10000; } else { $idinizioperiodo = risul_query($idinizioperiodo,0,'idperiodi'); } $inizioperiodo = $idinizioperiodo; $idfineperiodo = esegui_query("select idperiodi from $tableperiodi_prec where datafine = '$fineperiodo' "); $num_idfineperiodo = numlin_query($idfineperiodo); if ($num_idfineperiodo == 0) { $idfineperiodo = -1; } else { $idfineperiodo = risul_query($idfineperiodo,0,'idperiodi'); } $fineperiodo = $idfineperiodo; $intervalloperiodo = aggslashdb(${"intervalloperiodo".$num1}); if ($estendi_ultima_data == "SI" and $num1 == ($num_periodi_date - 1)) $fineperiodo = $id_data_ini_periodi_prec + $intervalloperiodo; if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec) { if ($inizioperiodo < $id_data_ini_periodi_prec) { for ($num2 = $inizioperiodo ; $num2 <= $fineperiodo ; $num2 = $num2 + $intervalloperiodo) { if ($num2 >= $id_data_ini_periodi_prec) { $inizioperiodo = $num2; break; } # fine if ($num2 >= $id_data_ini_periodi_prec) } # fine for $num2 } # fine if ($inizioperiodo < $id_data_ini_periodi_prec) $n_inizioperiodo[$n_num_periodi_date] = $inizioperiodo - $id_data_ini_periodi_prec + 1; $n_fineperiodo[$n_num_periodi_date] = $fineperiodo - $id_data_ini_periodi_prec + 1; $n_intervalloperiodo[$n_num_periodi_date] = $intervalloperiodo; $n_num_periodi_date++; } # fine if (($fineperiodo - $intervalloperiodo) >= $id_data_ini_periodi_prec or... } # fine for $num1 } # fine if ($id_data_ini_periodi_prec) if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) { $n_num_periodi_date = 1; global $inizioperiodo0,$fineperiodo0,$intervalloperiodo0; if (($num_periodi_date - 1) != 0) global ${"fineperiodo".($num_periodi_date - 1)},${"intervalloperiodo".($num_periodi_date - 1)}; $n_intervalloperiodo[0] = ${"intervalloperiodo".($num_periodi_date - 1)}; $inizioperiodo = ${"fineperiodo".($num_periodi_date - 1)}; if ($tipo_periodi == "g") $aggiungi_giorni = 1; else $aggiungi_giorni = 7; $anno_inizio = substr($inizioperiodo,0,4); $mese_inizio = substr($inizioperiodo,5,2); $giorno_inizio = substr($inizioperiodo,8,2); for ($num1 = 0 ; $num1 < 2000 ; $num1++) { $datainizio = date("Y-m-d",mktime(0,0,0,$mese_inizio,$giorno_inizio,$anno_inizio)); $datainizio = esegui_query("select * from $tableperiodi where datainizio = '$datainizio'"); if (numlin_query($datainizio) == 1) { $n_inizioperiodo[0] = risul_query($datainizio,0,'idperiodi'); break; } # fine if (numlin_query($datainizio) == 1) $giorno_inizio = $giorno_inizio + ($n_intervalloperiodo[0] * $aggiungi_giorni); } # fine for $num1 $n_fineperiodo[0] = $n_inizioperiodo[0]; } # fine if ($estendi_ultima_data == "SI" and !$id_data_ini_periodi_prec) for ($num1 = 0 ; $num1 < $n_num_periodi_date ; $num1++) { $inizioperiodo = $n_inizioperiodo[$num1]; $fineperiodo = $n_fineperiodo[$num1]; $inizioperiodo = esegui_query("select datainizio from $tableperiodi where idperiodi = '$inizioperiodo' "); $inizioperiodo = @risul_query($inizioperiodo,0,'datainizio'); $fineperiodo = esegui_query("select datafine from $tableperiodi where idperiodi = '$fineperiodo' "); $fineperiodo = @risul_query($fineperiodo,0,'datafine'); if (!$inizioperiodo or !$fineperiodo) $n_num_periodi_date = 0; ${"inizioperiodo".$num1} = $inizioperiodo; ${"fineperiodo".$num1} = $fineperiodo; ${"intervalloperiodo".$num1} = $n_intervalloperiodo[$num1]; } # fine for $num1 $num_periodi_date = $n_num_periodi_date; if (!$num_periodi_date) $inizioperiodo0 = ""; if ($num_periodi_date != 0) { if ($id_data_ini_periodi_prec) { $tabelle_lock = array("$tabletransazioniweb","$tablemessaggi"); $altre_tab_lock = array("$tableperiodi_prec","$tableperiodi"); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $data_ini_periodi_prec = esegui_query("select datainizio from $tableperiodi_prec where idperiodi = '$id_data_ini_periodi_prec' "); $data_ini_periodi_prec = risul_query($data_ini_periodi_prec,0,'datainizio'); $da_aggiornare = esegui_query("select idmessaggi,dati_messaggio3,dati_messaggio4,dati_messaggio9,dati_messaggio14 from $tablemessaggi where tipo_messaggio = 'rprenota' and dati_messaggio1 = 'da_inserire' and dati_messaggio18 = '".($anno - 1)."' "); $num_da_aggiornare = numlin_query($da_aggiornare); for ($num1 = 0 ; $num1 < $num_da_aggiornare ; $num1++) { $num_tipologie = risul_query($da_aggiornare,$num1,'dati_messaggio3'); $id_messaggio = risul_query($da_aggiornare,$num1,'idmessaggi'); $date_inizio = explode(",",risul_query($da_aggiornare,$num1,'dati_messaggio4')); $aggiornare = "SI"; for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) { if ($date_inizio[($n_t - 1)] < $data_ini_periodi_prec) $aggiornare = "NO"; } # fine for $n_t if ($aggiornare == "SI") { $numcostiagg_dt = explode(",",risul_query($da_aggiornare,$num1,'dati_messaggio9')); $id_periodi_costo_dt = explode(";",risul_query($da_aggiornare,$num1,'dati_messaggio14')); $n_id_periodi_costo = ""; for ($n_t = 1 ; $n_t <= $num_tipologie ; $n_t++) { if ($n_t != 1) $n_id_periodi_costo .= ";"; $numcostiagg = $numcostiagg_dt[($n_t - 1)]; $id_periodi_costo_dt2 = explode(":",$id_periodi_costo_dt[($n_t - 1)]); for ($numca = 1 ; $numca <= $numcostiagg ; $numca++) { if ($numca != 1) $n_id_periodi_costo .= ":"; $id_periodi_costo = explode(",",$id_periodi_costo_dt2[($numca - 1)]); $num_id_periodi_costo = count($id_periodi_costo); for ($numpc = 0 ; $numpc < $num_id_periodi_costo ; $numpc++) { if ($numpc != 0) $n_id_periodi_costo .= ","; if ($id_periodi_costo[$numpc]) $n_id_periodi_costo .= $id_periodi_costo[$numpc] - $id_data_ini_periodi_prec + 1; } # fine for $numpc } # fine for $numca } # fine for $n_t esegui_query("update $tablemessaggi set dati_messaggio14 = '$n_id_periodi_costo', dati_messaggio18 = '$anno' where idmessaggi = '".aggslashdb($id_messaggio)."' "); } # fine if ($aggiornare == "SI") } # fine for $num1 unlock_tabelle($tabelle_lock); } # fine if ($id_data_ini_periodi_prec) } # fine if ($num_periodi_date != 0) } # fine funtcion aggiorna_var_anno_modello_disponibilita
$lista_date = explode("<option value=\"",$menu_periodi); $n_lista_date = count($lista_date); for ($num1 = 1 ; $num1 < $n_lista_date ; $num1++) { $data_corr = substr($lista_date[$num1],0,10); if ((int) str_replace("-","",$data_corr) >= (int) str_replace("-","",$data_sel)) { if ($pos == "prec") $data_sel = $data_corr; else $data_sel = substr($lista_date[($num1 + 1)],0,10); break; } # fine if ((int) str_replace("-","",$data_corr) > (int) str_replace("-","",$inizio_select)) } # fine for $num1 if (strlen($data_sel) != 10) $data_sel = ""; return $data_sel; } # fine function seleziona_data_vicina $date_select = esegui_query("select idperiodi from $tableperiodi where datainizio <= '$oggi' and datafine > '$oggi' "); if (numlin_query($date_select) == 1) $date_select = esegui_query("select datainizio,datafine from $tableperiodi where idperiodi = '".(risul_query($date_select,0,idperiodi) + $sett_no_prenota)."'"); if (numlin_query($date_select) == 1) { $inizio_select = risul_query($date_select,0,'datainizio'); $fine_select = risul_query($date_select,0,'datafine'); if (!strpos($menu_periodi,$inizio_select)) $inizio_select = seleziona_data_vicina($menu_periodi,$inizio_select,"prec"); $menu_periodi_vett = explode("<option value=\"$inizio_select\">",$menu_periodi); if ($menu_periodi_vett[1]) { $menu_periodi = "<option value=\"$inizio_select\">".$menu_periodi_vett[1]; $fine_select = seleziona_data_vicina($menu_periodi,$inizio_select,"succ"); } # fine if ($menu_periodi_vett[1]) } # fine if (numlin_query($date_select) == 1) else { $inizio_select = explode("<option value=\"",$menu_periodi); $inizio_select = substr($inizio_select[1],0,10); $fine_select = seleziona_data_vicina($menu_periodi,$inizio_select,"succ"); } # fine else if (numlin_query($date_select) == 1) $dati_tariffe = dati_tariffe($tablenometariffe);
function ripristina_backup_contr($linee_backup, $silenzio, $pag, $PHPR_TAB_PRE, $modalita, $contr_agg = "") { global $LIKE, $MEDIUMTEXT; include "./includes/variabili_contratto.php"; unset($var_predef); $versione_corrente = esegui_query("select * from " . $PHPR_TAB_PRE . "versioni where idversioni = 1"); $versione_corrente = risul_query($versione_corrente, 0, 'num_versione'); for ($num1 = 0; $num1 < count($linee_backup); $num1++) { $linea = togli_acapo($linee_backup[$num1]); if (substr($linea, 0, 10) == "<versione>") { $versione_file = substr($linea, 10); $versione_file = substr($versione_file, 0, -11); break; } # fine if (substr($linea,0,10) == "<versione>") } # fine for $num1 if ($versione_file and ($versione_file <= $versione_corrente and $versione_file >= "2.00")) { if ($modalita != "aggiungi") { $contr_agg = ""; } $contr_agg_var = $contr_agg; $contr_agg_all = ""; $contr_agg_trovato = 0; # Prima lettura di controllo del file contratti $file_coerente = "SI"; $num_err = ""; $leggendo_righe = "NO"; unset($tab_presente); $info_contr['max_contr'] = 0; $num_linee_backup = count($linee_backup); for ($num1 = 0; $num1 < $num_linee_backup; $num1++) { $linea = togli_acapo($linee_backup[$num1]); if ($linea == "</backup>" and $leggendo_righe != "SI") { $leggendo_backup = "NO"; } if ($leggendo_backup == "SI") { if ($linea == "</database>" and $leggendo_righe != "SI") { $leggendo_database = "NO"; } if ($leggendo_database == "SI") { if ($linea == "</tabella>" and $leggendo_righe != "SI") { $leggendo_tabella = "NO"; } if ($leggendo_tabella == "SI") { if (substr($linea, 0, 13) == "<nometabella>") { $nome_tabella = substr($linea, 13); $nome_tabella = substr($nome_tabella, 0, -14); } # fine if (substr($linea,0,13) == "<nometabella>") if ($linea == "</colonnetabella>") { $leggendo_colonne == "NO"; if ($nome_tabella == "contratti") { $tab_presente["contratti"] = "SI"; } if ($nome_tabella != "contratti") { $file_coerente = "NO"; $num_err .= "#1"; } } # fine if ($linea == "</colonnetabella>") if ($leggendo_colonne == "SI") { if (substr($linea, 0, 13) == "<nomecolonna>") { $num_colonne++; $nome_colonna[$num_colonne] = substr($linea, 13); $nome_colonna[$num_colonne] = substr($nome_colonna[$num_colonne], 0, -14); $num_colonna[$nome_colonna[$num_colonne]] = $num_colonne - 1; } # fine if (substr($linea,0,13) == "<nomecolonna>") if (substr($linea, 0, 13) == "<tipocolonna>") { $tipo_colonna[$num_colonne] = substr($linea, 13); $tipo_colonna[$num_colonne] = substr($tipo_colonna[$num_colonne], 0, -14); } # fine if (substr($linea,0,13) == "<tipocolonna>") } # fine if ($leggendo_colonne == "SI") if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") { $leggendo_colonne = "SI"; $num_colonne = 0; } # fine if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") if ($linea == "</righetabella>") { $leggendo_righe = "NO"; } if ($leggendo_righe == "SI") { if (substr($linea, 0, 6) == "<riga>") { $riga = substr($linea, 11); } else { $riga .= "\n" . $linea; } # fine else if (substr($linea,0,6) == "<riga>") if (substr($linea, -7) == "</riga>") { $riga = substr($riga, 0, -13); $riga = explode("</cmp><cmp>", $riga); if ($nome_tabella == "contratti") { $tipo_contr = $riga[$num_colonna['tipo']]; if (substr($tipo_contr, 0, 3) == "var") { $nome = $riga[$num_colonna['testo']]; if ($var_riserv[$nome]) { $file_coerente = "NO"; $num_err .= "#2"; } } # fine if (substr($tipo_contr,0,3) == "var") if (substr($tipo_contr, 0, 4) == "vett") { $nome = explode(";", $riga[$num_colonna['testo']]); if ($var_riserv[$nome[0]]) { $file_coerente = "NO"; $num_err .= "#3"; } if ($var_riserv[$nome[1]]) { $file_coerente = "NO"; $num_err .= "#4"; } } # fine if (substr($tipo_contr,0,4) == "vett") if ($modalita == "info") { if ($riga[$num_colonna['tipo']] == "nomi_con" and $riga[$num_colonna['numero']] == "1") { $info_contr['nomi_con'] = $riga[$num_colonna['testo']]; } if (substr($riga[$num_colonna['tipo']], 0, 5) == "contr" and $riga[$num_colonna['numero']] > $info_contr['max_contr']) { $info_contr['max_contr'] = $riga[$num_colonna['numero']]; } } # fine if ($modalita == "info") if ($contr_agg and $riga[$num_colonna['numero']] == $contr_agg) { if (substr($riga[$num_colonna['tipo']], 0, 5) == "contr") { $contr_agg_trovato = 1; } if ($riga[$num_colonna['tipo']] == "impor_vc") { $contr_agg_var = $riga[$num_colonna['testo']]; } if ($riga[$num_colonna['tipo']] == "allegato") { $contr_agg_all .= "," . $riga[$num_colonna['testo']] . ","; } } # fine if ($contr_agg and $riga[$num_colonna['numero']] == $contr_agg) } # fine if ($nome_tabella == "contratti") $lista_valori = ""; $lista_colonne = ""; unset($valore_colonna); for ($num2 = 0; $num2 < count($riga); $num2++) { $valore = aggslashdb($riga[$num2]); if ($valore != "") { $valore = str_replace("</righetabella@%&@>", "</righetabella>", $valore); $valore = str_replace("</riga@%&@>", "</riga>", $valore); $valore = str_replace("<riga@%&@>", "<riga>", $valore); $valore = str_replace("</cmp@%&@>", "</cmp>", $valore); $valore = str_replace("@%&@@%&@", "@%&@", $valore); $valore_colonna[$nome_colonna[$num2 + 1]] = $valore; } # fine if ($valore != "") } # fine for $num2 if (defined("C_MASSIMO_NUM_CONTRATTI") and C_MASSIMO_NUM_CONTRATTI != 0 and $nome_tabella == "contratti" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CONTRATTI * 200 + 100) { $file_coerente = "NO"; $num_err .= "#5"; } $linee_inserite_in_tabella[$nome_tabella]++; } # fine if (substr($linea,-7) == "</riga>") } # fine if ($leggendo_righe == "SI") if ($linea == "<righetabella>") { $leggendo_righe = "SI"; $linee_inserite_in_tabella[$nome_tabella] = 0; } # fine if ($linea == "<righetabella>") } # fine if ($leggendo_tabella == "SI") if ($linea == "<tabella>") { $leggendo_tabella = "SI"; } } # fine if ($leggendo_database == "SI") if ($linea == "<database>") { $leggendo_database = "SI"; } } # fine if ($leggendo_backup == "SI") if ($linea == "<backup>") { $leggendo_backup = "SI"; } } # fine for $num1 if ($tab_presente["contratti"] != "SI") { $file_coerente = "NO"; $num_err .= "#6"; } if ($contr_agg and !$contr_agg_trovato) { $file_coerente = "NO"; $num_err .= "#7"; } if ($file_coerente == "NO") { if ($silenzio != "SI") { echo mex("Il formato del file è errato", $pag) . ".<br>"; } # debug backup DOCUMENTI #if ($num_err) echo $num_err.".<br>"; } else { unset($var_riserv); if ($modalita == "info") { return $info_contr; } if ($modalita == "rimpiazza") { esegui_query("delete from " . $PHPR_TAB_PRE . "contratti"); } $max_contr = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'contr%'"); if (numlin_query($max_contr) != 0) { $max_contr = risul_query($max_contr, 0, 0); } else { $max_contr = 0; } if (!$max_contr) { $max_contr = 0; } $max_var = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'var%'"); if (numlin_query($max_var) != 0) { $max_var = risul_query($max_var, 0, 0); } else { $max_var = 0; } if (!$max_var) { $max_var = 0; } $max_arr = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo {$LIKE} 'vett%'"); if (numlin_query($max_arr) != 0) { $max_arr = risul_query($max_arr, 0, 0); } else { $max_arr = 0; } if (!$max_arr) { $max_arr = 0; } $max_cond = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo = 'cond'"); if (numlin_query($max_cond) != 0) { $max_cond = risul_query($max_cond, 0, 0); } else { $max_cond = 0; } if (!$max_cond) { $max_cond = 0; } $max_all = esegui_query("select max(numero) from " . $PHPR_TAB_PRE . "contratti where tipo = 'file_all'"); if (numlin_query($max_all) != 0) { $max_all = risul_query($max_all, 0, 0); } else { $max_all = 0; } if (!$max_all) { $max_all = 0; } unset($nuovo_num_contr); unset($nuovo_num_var); $nuovo_num_var['-1'] = '-1'; $nuovo_num_var['-2'] = '-2'; unset($nuovo_nome_var); unset($nuovo_num_all); $leggendo_backup = "NO"; $leggendo_database = "NO"; $leggendo_tabella = "NO"; $leggendo_colonne = "NO"; $leggendo_righe = "NO"; $leggendo_file = "NO"; $leggendo_contenuto = "NO"; $nome_file = ""; unset($linee_inserite_in_tabella); 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_home = C_CARTELLA_CREA_MODELLI . "/" . C_CARTELLA_DOC; } else { $dir_salva_home = C_CARTELLA_CREA_MODELLI; } } else { $dir_salva_home = C_DATA_PATH; } for ($num1 = 0; $num1 < $num_linee_backup; $num1++) { $linea = togli_acapo($linee_backup[$num1]); if ($linea == "</backup>" and $leggendo_righe != "SI") { $leggendo_backup = "NO"; } if ($leggendo_backup == "SI") { if ($linea == "</database>" and $leggendo_righe != "SI") { $leggendo_database = "NO"; } # restore del database if ($leggendo_database == "SI") { if ($linea == "</tabella>" and $leggendo_righe != "SI") { $leggendo_tabella = "NO"; } if ($leggendo_tabella == "SI") { if (substr($linea, 0, 13) == "<nometabella>") { $nome_tabella = substr($linea, 13); $nome_tabella = substr($nome_tabella, 0, -14); } # fine if (substr($linea,0,13) == "<nometabella>") if ($linea == "</colonnetabella>" and $leggendo_righe != "SI") { $leggendo_colonne == "NO"; #if ($nome_tabella == "contratti") esegui_query2("create table ".$N_PHPR_TAB_PRE."contratti (numero integer, tipo varchar(8), testo $MEDIUMTEXT )",$N_PHPR_DB_TYPE); } # fine if ($linea == "</colonnetabella>") if ($leggendo_colonne == "SI") { if (substr($linea, 0, 13) == "<nomecolonna>") { $num_colonne++; $nome_colonna[$num_colonne] = substr($linea, 13); $nome_colonna[$num_colonne] = substr($nome_colonna[$num_colonne], 0, -14); $num_colonna[$nome_colonna[$num_colonne]] = $num_colonne - 1; } # fine if (substr($linea,0,13) == "<nomecolonna>") if (substr($linea, 0, 13) == "<tipocolonna>") { $tipo_colonna[$num_colonne] = substr($linea, 13); $tipo_colonna[$num_colonne] = substr($tipo_colonna[$num_colonne], 0, -14); } # fine if (substr($linea,0,13) == "<tipocolonna>") } # fine if ($leggendo_colonne == "SI") if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") { $leggendo_colonne = "SI"; $num_colonne = 0; $lista_tariffe = ""; } # fine if ($linea == "<colonnetabella>" and $leggendo_righe != "SI") if ($linea == "</righetabella>") { $leggendo_righe = "NO"; } if ($leggendo_righe == "SI") { if (substr($linea, 0, 6) == "<riga>") { $riga = substr($linea, 11); } else { $riga .= "\n" . $linea; } # fine else if (substr($linea,0,6) == "<riga>") if (substr($linea, -7) == "</riga>") { $riga = substr($riga, 0, -13); $riga = explode("</cmp><cmp>", $riga); $lista_valori = ""; $lista_colonne = ""; unset($valore_colonna); $inserire_riga = "SI"; $tipo_contr = $riga[$num_colonna['tipo']]; $vecchio_num = $riga[$num_colonna['numero']]; if (substr($tipo_contr, 0, 5) == "contr" or $tipo_contr == "opzeml" or $tipo_contr == "oggetto" or $tipo_contr == "allegato" or $tipo_contr == "headhtm" or $tipo_contr == "foothtm" or $tipo_contr == "est_txt" or $tipo_contr == "dir" or substr($tipo_contr, 0, 4) == "mln_" or $tipo_contr == "impor_vc" or $tipo_contr == "num_prog" or $tipo_contr == "nomefile" or $tipo_contr == "autosalv" or $tipo_contr == "compress" or $tipo_contr == "incr_np") { if (!$contr_agg or $vecchio_num == $contr_agg) { if (!$nuovo_num_contr[$vecchio_num]) { if ($contr_agg) { $nuovo_num_contr[$vecchio_num] = $max_contr + 1; } else { $nuovo_num_contr[$vecchio_num] = $max_contr + $vecchio_num; } } # fine if (!$nuovo_num_contr[$vecchio_num]) $riga[$num_colonna['numero']] = $nuovo_num_contr[$vecchio_num]; if (substr($tipo_contr, 0, 5) == "contr" or substr($tipo_contr, 0, 4) == "mln_") { if (@is_array($nuovo_nome_var)) { reset($nuovo_nome_var); while (list($v_nome, $n_nome) = each($nuovo_nome_var)) { $riga[$num_colonna['testo']] = str_replace("[{$v_nome}]", "[{$n_nome}]", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[c {$v_nome}=", "[c {$n_nome}=", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[c {$v_nome}!=", "[c {$n_nome}!=", $riga[$num_colonna['testo']]); if (substr($v_nome, -1) == ")") { $v_nome_arr = explode("(", $v_nome); $v_nome_arr = $v_nome_arr[0]; $n_nome_arr = explode("(", $n_nome); $n_nome_arr = $n_nome_arr[0]; $riga[$num_colonna['testo']] = str_replace("[r4 array=\"{$v_nome_arr}\"]", "[r4 array=\"{$n_nome_arr}\"]", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[{$v_nome_arr}('", "[{$n_nome_arr}('", $riga[$num_colonna['testo']]); $riga[$num_colonna['testo']] = str_replace("[c {$v_nome_arr}('", "[c {$n_nome_arr}('", $riga[$num_colonna['testo']]); } # fine if (substr($v_nome,-1) == ")") } # fine while (list($v_nome,$n_nome) = each($nuovo_nome_var)) } # fine if (@is_array($nuovo_nome_var)) } # fine if (substr($tipo_contr,0,5) == "contr" or substr($tipo_contr,0,4) == "mln_") if ($tipo_contr == "dir") { if (!function_exists('formatta_dir_salva_doc')) { include './includes/funzioni_contratti.php'; } $dir_salva = formatta_dir_salva_doc($riga[$num_colonna['testo']]); if ($dir_salva == "~") { $dir_salva = $dir_salva_home; } if (!@is_dir($dir_salva)) { $inserire_riga = "NO"; } else { $fileaperto = @fopen("{$dir_salva}/prova.tmp", "a+"); if (!$fileaperto) { $inserire_riga = "NO"; } else { fclose($fileaperto); unlink("{$dir_salva}/prova.tmp"); } # fine else if (!$fileaperto) } # fine else if (!@is_dir($dir_salva)) } # fine if ($tipo_contr == "dir") if ($tipo_contr == "allegato") { $vecchio_all = $riga[$num_colonna['testo']]; if (!$nuovo_num_all[$vecchio_all]) { $nuovo_num_all[$vecchio_all] = $max_all + $vecchio_all; } $riga[$num_colonna['testo']] = $nuovo_num_all[$vecchio_all]; } # fine if ($tipo_contr == "allegato") if ($tipo_contr == "impor_vc") { if (!$contr_agg) { $vecchio_num_impor_vc = $riga[$num_colonna['testo']]; if (!$nuovo_num_contr[$vecchio_num_impor_vc]) { $nuovo_num_contr[$vecchio_num_impor_vc] = $max_contr + $vecchio_num_impor_vc; } $riga[$num_colonna['testo']] = $nuovo_num_contr[$vecchio_num_impor_vc]; } else { $inserire_riga = "NO"; } } # fine if ($tipo_contr == "impor_vc") if ($tipo_contr == "num_prog") { if (!$contr_agg) { $vecchio_num_np = $riga[$num_colonna['testo']]; if (!$nuovo_num_contr[$vecchio_num_np]) { $nuovo_num_contr[$vecchio_num_np] = $max_contr + $vecchio_num_np; } $riga[$num_colonna['testo']] = $nuovo_num_contr[$vecchio_num_np]; } else { $inserire_riga = "NO"; } } # fine if ($tipo_contr == "num_prog") } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,5) == "contr" or $tipo_contr == "opzeml" or... if (substr($tipo_contr, 0, 3) == "var") { $contr_cond = substr($tipo_contr, 3); if (!$contr_agg or $contr_agg_var == $contr_cond) { if (strcmp($contr_cond, "")) { if (!$nuovo_num_contr[$contr_cond]) { if ($contr_agg) { $nuovo_num_contr[$contr_cond] = $max_contr + 1; } else { $nuovo_num_contr[$contr_cond] = $max_contr + $contr_cond; } } # fine if (!$nuovo_num_contr[$contr_cond]) $contr_cond = $nuovo_num_contr[$contr_cond]; $tipo_contr = "var{$contr_cond}"; $riga[$num_colonna['tipo']] = $tipo_contr; } # fine if (strcmp($contr_cond,"")) if (!$nuovo_num_var[$vecchio_num]) { $num_var_esistente = ""; $testo = $riga[$num_colonna['testo']]; $var_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($testo) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($testo) . ";%') "); for ($num2 = 0; $num2 < numlin_query($var_esistente); $num2++) { if ($testo == risul_query($var_esistente, $num2, 'testo') and $tipo_contr == risul_query($var_esistente, $num2, 'tipo')) { $num_var_esistente = $num2 + 1; } } if ($num_var_esistente) { $nuovo_num_var[$vecchio_num] = risul_query($var_esistente, $num_var_esistente - 1, 'numero'); $inserire_riga = "NO"; } else { $nuovo_num_var[$vecchio_num] = $max_var + $vecchio_num; if (numlin_query($var_esistente)) { $nuovo_nome_trovato = "NO"; $nuovo_nome = $testo; while ($nuovo_nome_trovato == "NO") { $nuovo_nome .= "_"; $var_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nuovo_nome) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nuovo_nome) . ";%') "); if (!numlin_query($var_esistente)) { $nuovo_nome_trovato = "SI"; } } # fine while ($nuovo_nome_trovato == "NO") $nuovo_nome_var[$testo] = $nuovo_nome; # cambio il nome della variabile anche negli array già inseriti reset($nuovo_nome_var); while (list($key, $val) = each($nuovo_nome_var)) { $nuovo_nome_var[$key] = str_replace("({$testo})", "({$nuovo_nome})", $val); if ($val != $nuovo_nome_var[$key]) { $nome_arr = substr($nuovo_nome_var[$key], 0, -1 * (strlen($nuovo_nome) + 2)); $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where tipo = 'vett{$contr_cond}' and testo = '" . aggslashdb($nome_arr) . ";" . aggslashdb($testo) . "' "); if (numlin_query($arr_esistente)) { $testo_arr = explode(";", risul_query($arr_esistente, 0, 'testo')); $testo_arr[1] = $nuovo_nome; $testo_arr = implode(";", $testo_arr); esegui_query("update " . $PHPR_TAB_PRE . "contratti set testo = '" . aggslashdb($testo_arr) . "' where tipo = 'vett{$contr_cond}' and testo = '" . aggslashdb($nome_arr) . ";" . aggslashdb($testo) . "' "); } # fine if (numlin_query($arr_esistente)) } # fine if ($val != $nuovo_nome_var[$key]) } # fine while (list($key,$val) = each($nuovo_nome_var)) $riga[$num_colonna['testo']] = $nuovo_nome; } # fine if (numlin_query($var_esistente)) } # fine else if ($num_var_esistente) } # fine if (!$nuovo_num_contr[$vecchio_num]) $riga[$num_colonna['numero']] = $nuovo_num_var[$vecchio_num]; } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,3) == "var") if (substr($tipo_contr, 0, 4) == "vett") { $contr_cond = substr($tipo_contr, 4); if (!$contr_agg or $contr_agg_var == $contr_cond) { if (strcmp($contr_cond, "")) { if (!$nuovo_num_contr[$contr_cond]) { if ($contr_agg) { $nuovo_num_contr[$contr_cond] = $max_contr + 1; } else { $nuovo_num_contr[$contr_cond] = $max_contr + $contr_cond; } } # fine if (!$nuovo_num_contr[$contr_cond]) $contr_cond = $nuovo_num_contr[$contr_cond]; $tipo_contr = "vett{$contr_cond}"; $riga[$num_colonna['tipo']] = $tipo_contr; } # fine if (strcmp($contr_cond,"")) if (!$nuovo_num_var["a{$vecchio_num}"]) { $num_arr_esistente = ""; $testo = $riga[$num_colonna['testo']]; $nome_arr = explode(";", $testo); $var_arr = $nome_arr[1]; $nome_arr = $nome_arr[0]; $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nome_arr) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nome_arr) . ";%') "); for ($num2 = 0; $num2 < numlin_query($arr_esistente); $num2++) { if ($testo == risul_query($arr_esistente, $num2, 'testo') and $tipo_contr == risul_query($arr_esistente, $num2, 'tipo')) { $num_arr_esistente = $num2 + 1; } } if ($num_arr_esistente) { $nuovo_num_var["a{$vecchio_num}"] = "a" . risul_query($arr_esistente, $num_arr_esistente - 1, 'numero'); $inserire_riga = "NO"; } else { $nuovo_num_var["a{$vecchio_num}"] = "a" . ($max_arr + $vecchio_num); if (numlin_query($arr_esistente)) { $nuovo_nome_trovato = "NO"; $nuovo_nome = $nome_arr; while ($nuovo_nome_trovato == "NO") { $nuovo_nome .= "_"; $arr_esistente = esegui_query("select * from " . $PHPR_TAB_PRE . "contratti where (tipo {$LIKE} 'var%' and testo = '" . aggslashdb($nuovo_nome) . "') or (tipo {$LIKE} 'vett%' and testo {$LIKE} '" . aggslashdb($nuovo_nome) . ";%') "); if (!numlin_query($arr_esistente)) { $nuovo_nome_trovato = "SI"; } } # fine while ($nuovo_nome_trovato == "NO") $nuovo_nome_var["{$nome_arr}({$var_arr})"] = "{$nuovo_nome}({$var_arr})"; $riga[$num_colonna["testo"]] = $nuovo_nome . substr($testo, strlen($nome_arr)); } else { $nuovo_nome_var["{$nome_arr}({$var_arr})"] = "{$nome_arr}({$var_arr})"; } } # fine else if ($num_arr_esistente) } # fine if (!$nuovo_num_contr["a$vecchio_num"]) $riga[$num_colonna['numero']] = substr($nuovo_num_var["a{$vecchio_num}"], 1); } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,4) == "vett") if (substr($tipo_contr, 0, 4) == "cond") { $contr_cond = substr($tipo_contr, 4); if (!$contr_agg or $contr_agg_var == $contr_cond) { if (!strcmp($contr_cond, "")) { $riga[$num_colonna['numero']] = $max_cond + $vecchio_num; } else { $vecchio_num = $contr_cond; if (!$nuovo_num_contr[$vecchio_num]) { if ($contr_agg) { $nuovo_num_contr[$vecchio_num] = $max_contr + 1; } else { $nuovo_num_contr[$vecchio_num] = $max_contr + $vecchio_num; } } # fine if (!$nuovo_num_contr[$vecchio_num]) $riga[$num_colonna['tipo']] = "cond" . $nuovo_num_contr[$vecchio_num]; $contr_cond = $nuovo_num_contr[$vecchio_num]; } # fine else if (!strcmp($contr_cond,"")) $cond_vecchia = $riga[$num_colonna['testo']]; $cond_vecchia = explode("#@?", $cond_vecchia); $azione_vecchia = explode("#%?", $cond_vecchia[2]); $cond_nuova = $cond_vecchia[0] . "#@?"; if ($cond_vecchia[1]) { $cond_vecchia = explode("#\$?", $cond_vecchia[1]); $cond_nuova .= $cond_vecchia[0]; $num_cond = count($cond_vecchia); for ($num2 = 1; $num2 < $num_cond; $num2++) { $cond_nuova .= "#\$?"; $cond_vett = explode("#%?", $cond_vecchia[$num2]); if ($cond_vett[2] == "var") { ripristina_nome_var_cond(array(0, 3), $cond_vett, $nuovo_nome_var); } else { ripristina_nome_var_cond(array('0'), $cond_vett, $nuovo_nome_var); } for ($num3 = 0; $num3 < count($cond_vett); $num3++) { $cond_nuova .= $cond_vett[$num3] . "#%?"; } $cond_nuova = substr($cond_nuova, 0, -3); } # fine for $num2 } # fine ($cond_vecchia[1]) $cond_nuova .= "#@?" . $azione_vecchia[0]; if ($azione_vecchia[0] == "set") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; if ($azione_vecchia[3] == "var") { ripristina_nome_var_cond(array(4), $azione_vecchia, $nuovo_nome_var); } if ($azione_vecchia[5] == "var") { ripristina_nome_var_cond(array(6), $azione_vecchia, $nuovo_nome_var); } if ($azione_vecchia[7] == "var") { ripristina_nome_var_cond(array(8), $azione_vecchia, $nuovo_nome_var); } } # fine if ($azione_vecchia[0] == "set") if ($azione_vecchia[0] == "trunc") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; } if ($azione_vecchia[0] == "oper") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; if ($azione_vecchia[4] == "var") { ripristina_nome_var_cond(array(2, 5), $azione_vecchia, $nuovo_nome_var); } else { ripristina_nome_var_cond(array(2), $azione_vecchia, $nuovo_nome_var); } } # fine if ($azione_vecchia[0] == "oper") if ($azione_vecchia[0] == "date") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; ripristina_nome_var_cond(array(2), $azione_vecchia, $nuovo_nome_var); } # fine if ($azione_vecchia[0] == "date") if ($azione_vecchia[0] == "unset") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; } if ($azione_vecchia[0] == "array") { $azione_vecchia[1] = $nuovo_num_var[$azione_vecchia[1]]; if ($azione_vecchia[2] == "cop") { $azione_vecchia[3] = $nuovo_num_var[$azione_vecchia[3]]; } } # fine if ($azione_vecchia[0] == "array") for ($num2 = 1; $num2 < count($azione_vecchia); $num2++) { $cond_nuova .= "#%?" . $azione_vecchia[$num2]; } $riga[$num_colonna['testo']] = $cond_nuova; $testo = aggslashdb($riga[$num_colonna['testo']]); #$cond_esistente = esegui_query("select * from ".$PHPR_TAB_PRE."contratti where tipo = 'cond$contr_cond' and testo = '$testo' "); #for ($num2 = 0 ; $num2 < numlin_query($cond_esistente) ; $num2++) if ($cond_nuova == risul_query($cond_esistente,$num2,'testo')) $inserire_riga = "NO"; } else { $inserire_riga = "NO"; } } # fine if (substr($tipo_contr,0,4) == "cond") if ($tipo_contr == "file_all") { $vecchio_all = $riga[$num_colonna['numero']]; if (!$contr_agg or str_replace(",{$vecchio_all},", "", $contr_agg_all) != $contr_agg_all) { if (!$nuovo_num_all[$vecchio_all]) { $nuovo_num_all[$vecchio_all] = $max_all + $vecchio_all; } $riga[$num_colonna['numero']] = $nuovo_num_all[$vecchio_all]; } else { $inserire_riga = "NO"; } } # fine if ($tipo_contr == "file_all") for ($num2 = 0; $num2 < count($riga); $num2++) { $valore = aggslashdb($riga[$num2]); if ($valore != "") { $valore = str_replace("</righetabella@%&@>", "</righetabella>", $valore); $valore = str_replace("</riga@%&@>", "</riga>", $valore); $valore = str_replace("<riga@%&@>", "<riga>", $valore); $valore = str_replace("</cmp@%&@>", "</cmp>", $valore); $valore = str_replace("@%&@@%&@", "@%&@", $valore); $lista_valori .= ",'" . $valore . "'"; $lista_colonne .= "," . $nome_colonna[$num2 + 1]; } # fine if ($valore != "") } # fine for $num2 $lista_valori = substr($lista_valori, 1); $lista_colonne = substr($lista_colonne, 1); #echo "insert into $nome_tabella ($lista_colonne) values ($lista_valori)<br>"; if ($inserire_riga != "NO") { esegui_query("insert into " . $PHPR_TAB_PRE . "{$nome_tabella} ({$lista_colonne}) values ({$lista_valori}) "); } } # fine if (substr($linea,-7) == "</riga>") } # fine if ($leggendo_righe == "SI") if ($linea == "<righetabella>") { $leggendo_righe = "SI"; $linee_inserite_in_tabella[$nome_tabella] = 0; } # fine if ($linea == "<righetabella>") } # fine if ($leggendo_tabella == "SI") if ($linea == "<tabella>") { $leggendo_tabella = "SI"; } } # fine if ($leggendo_database == "SI") if ($linea == "<database>") { $leggendo_database = "SI"; } } # fine if ($leggendo_backup == "SI") if ($linea == "<backup>") { $leggendo_backup = "SI"; } } # fine for $num1 $tabelle_lock = array($PHPR_TAB_PRE . "contratti", $PHPR_TAB_PRE . "personalizza"); $altre_tab_lock = array($PHPR_TAB_PRE . "versioni"); $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); $nomi_contratti = esegui_query("select testo from {$PHPR_TAB_PRE}" . "contratti where numero = '1' and tipo = 'nomi_con' "); $nomi_contratti = risul_query($nomi_contratti, 0, 'testo'); if ($modalita == "rimpiazza") { esegui_query("update {$PHPR_TAB_PRE}" . "personalizza set valpersonalizza = '" . aggslashdb($nomi_contratti) . "' where idpersonalizza = 'nomi_contratti'"); } else { $nomi_contratti = explode("#@&", $nomi_contratti); $n_nomi_contratti = ""; for ($num1 = 0; $num1 < count($nomi_contratti); $num1++) { $nome_contr = explode("#?&", $nomi_contratti[$num1]); if (!$contr_agg or $nome_contr[0] == $contr_agg) { $n_nomi_contratti .= "#@&" . $nuovo_num_contr[$nome_contr[0]] . "#?&" . $nome_contr[1]; } } # fine for $num1 $d_nomi_contr = esegui_query("select * from {$PHPR_TAB_PRE}" . "personalizza where idpersonalizza = 'nomi_contratti' "); for ($num1 = 0; $num1 < numlin_query($d_nomi_contr); $num1++) { $idutente_contr = risul_query($d_nomi_contr, $num1, 'idutente'); $nomi_contr_utente = risul_query($d_nomi_contr, $num1, 'valpersonalizza') . $n_nomi_contratti; esegui_query("update {$PHPR_TAB_PRE}" . "personalizza set valpersonalizza = '" . aggslashdb($nomi_contr_utente) . "' where idpersonalizza = 'nomi_contratti' and idutente = '{$idutente_contr}' "); } # fine for $num1 } # fine else if ($modalita == "rimpiazza") esegui_query("delete from {$PHPR_TAB_PRE}" . "contratti where numero = '1' and tipo = 'nomi_con' "); unlock_tabelle($tabelle_lock); if ($silenzio != "SI") { echo mex("Documenti ripristinati", $pag) . ".<br>"; } } # fine else if ($file_coerente == "NO") } else { if ($silenzio != "SI") { echo mex("La versione attuale di hoteldruid e quella del file non coincidono", $pag) . ".<br>"; } } }
<form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div class=\"linhbox\"> <input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"idappartamenti\" value=\"".$idappartamenti."\"> <input type=\"hidden\" name=\"commentofoto\" value=\"SI\"> <input type=\"hidden\" name=\"numfoto\" value=\"$numfoto\"> ".ucfirst(mex("commento",$pag)).":<br>"; $d_commento = esegui_query("select testo from $tabledescrizioni where nome = '$idappartamenti' and tipo = 'appcommfoto' and lingua = 'ita' and numero = '$numfoto' "); if (numlin_query($d_commento)) $d_commento = risul_query($d_commento,0,'testo'); else $d_commento = ""; if ($priv_mod_tariffe != "n") echo "Italiano: <input type=\"text\" name=\"n_commento_ita\" value=\"$d_commento\" size=\"24\"><br>"; else echo "<div style=\"width: 300px;\">Italiano: \"<em>$d_commento</em>\"</div>"; reset($lingue_vett); while (list($ini_lingua,$nome_lingua) = each($lingue_vett)) { $d_commento = esegui_query("select testo from $tabledescrizioni where nome = '$idappartamenti' and tipo = 'appcommfoto' and lingua = '$ini_lingua' and numero = '$numfoto' "); if (numlin_query($d_commento)) $d_commento = risul_query($d_commento,0,'testo'); else $d_commento = ""; echo "".ucfirst($nome_lingua).": <input type=\"text\" name=\"n_commento_$ini_lingua\" value=\"$d_commento\" size=\"24\"><br>"; } # fine while (list($ini_lingua,$nome_lingua) = each($lingue_vett)) echo "<input class=\"sbutton\" type=\"submit\" value=\"".ucfirst(mex("modifica",$pag))."\"> </div></form><br></td><td style=\"width: 20px;\"></td><td valign=\"middle\"> <form accept-charset=\"utf-8\" method=\"post\" action=\"$pag\"><div> <input type=\"hidden\" name=\"anno\" value=\"$anno\"> <input type=\"hidden\" name=\"id_sessione\" value=\"$id_sessione\"> <input type=\"hidden\" name=\"idappartamenti\" value=\"".$idappartamenti."\"> <input type=\"hidden\" name=\"cancurlfoto\" value=\"SI\"> <input type=\"hidden\" name=\"numfoto\" value=\"$numfoto\"> <input class=\"sbutton\" type=\"submit\" value=\"".ucfirst(mex("elimina",$pag))."\"> </div></form></td></tr></table>"; } # fine for $num1
function controlla_var_se ($var_se,&$continua,$var_predef,$num_var_predef,$contr_cond) { global $tablecontratti,$LIKE; $var_se = aggslashdb($var_se); $var_se_trovata = "NO"; if (str_replace("(","",$var_se) == $var_se) $var_se_contr = $var_se; else { $var_se_contr = explode("(",$var_se); $var_se_contr = $var_se_contr[0]; } # fine else if (str_replace("(","",$var_se) == $var_se) $var_esistente = esegui_query("select * from $tablecontratti where ((tipo = 'var' or tipo = 'var$contr_cond') and testo $LIKE '$var_se_contr') or ((tipo = 'vett' or tipo = 'vett$contr_cond') and testo $LIKE '$var_se_contr;%')"); if (numlin_query($var_esistente) == 1) $var_se_trovata = "SI"; for ($num1 = 0 ; $num1 < $num_var_predef ; $num1++) { if ($var_predef[$num1] == $var_se) $var_se_trovata = "SI"; } # fine for $num1 if ($var_se_trovata != "SI") $continua = "NO"; return $var_se; } # fine function controlla_var_se