".preg_replace("/<[^>]*>/","",str_replace("<br>","\n",$testo_a_video))." If you received this email without requesting it, it is because someone with ip address $REMOTE_ADDR has used your email address in our form. In this case you can ignore this message."; if ($maschera_envelope == "SI") $inviato_c = mail($email_richiedente,$fr_Richesta_prenotazione,chunk_split(base64_encode($testo_email_copia)),$headers,"-f$indirizzo_email"); else $inviato_c = mail($email_richiedente,$fr_Richesta_prenotazione,chunk_split(base64_encode($testo_email_copia)),$headers); } # fine if ($manda_copia_richiesta_email == "SI") } # fine if ($indirizzo_email) if ($utente_messaggio) { unlock_tabelle($tabelle_lock); $tabelle_lock = array($tablemessaggi); $altre_tab_lock = array($tablepersonalizza,$tableutenti); $tabelle_lock = lock_tabelle($tabelle_lock,$altre_tab_lock); $utente_trovato = "SI"; if ($utente_messaggio == "tutti") { $tutti_utenti = esegui_query("select * from $tableutenti order by idutenti"); $num_tutti_utenti = numlin_query($tutti_utenti); $lista_utenti = ","; for ($num1 = 0 ; $num1 < $num_tutti_utenti ; $num1++) { $idutenti = risul_query($tutti_utenti,$num1,'idutenti'); $lista_utenti .= $idutenti.","; } # fine for $num1 } # fine if ($utente_messaggio == "tutti") else { $utente_esistente = esegui_query("select idutenti from $tableutenti where nome_utente = '$utente_messaggio'"); if (numlin_query($utente_esistente) != 1) $utente_trovato = "NO"; else $lista_utenti = ",".risul_query($utente_esistente,0,'idutenti').","; } # fine else if ($utente_messaggio == "tutti")
} # fine if ($numfoto and controlla_num_pos($numfoto) == "SI") $mostra_torna_indietro = "SI"; } # fine if ($aggurlfoto) if ($aggurlfoto) { $mostra_form_modifica = "NO"; if (get_magic_quotes_gpc()) $n_urlfoto = stripslashes($n_urlfoto); $lowurl = strtolower($n_urlfoto); if (substr($lowurl,-4) != ".jpg" and substr($lowurl,-5) != ".jpeg" and substr($lowurl,-4) != ".gif" and substr($lowurl,-4) != ".png") $errore = "SI"; if (str_replace("<","",$n_urlfoto) != $n_urlfoto or str_replace(">","",$n_urlfoto) != $n_urlfoto or str_replace("\"","",$n_urlfoto) != $n_urlfoto) $errore = "SI"; $app_esist = esegui_query("select idappartamenti from $tableappartamenti where idappartamenti = '$idappartamenti' "); if (!numlin_query($app_esist)) $errore = "SI"; if ($errore != "SI") { $tabelle_lock = array($tabledescrizioni); $tabelle_lock = lock_tabelle($tabelle_lock); $foto_esistenti = esegui_query("select * from $tabledescrizioni where nome = '$idappartamenti' and tipo = 'appfoto' order by numero desc "); if (numlin_query($foto_esistenti)) $numfoto = (risul_query($foto_esistenti,0,'numero') + 1); else $numfoto = 1; esegui_query("insert into $tabledescrizioni (nome,tipo,numero,testo) values ('$idappartamenti','appfoto','$numfoto','".aggslashdb($n_urlfoto)."') "); echo "<br>".ucfirst(mex("la nuova foto è stata aggiunta",$pag)).".<br>"; unlock_tabelle($tabelle_lock); } # fine if ($errore != "SI") else echo "".ucfirst(mex("l'url della foto è sbagliata",$pag)).".<br>"; $mostra_torna_indietro = "SI"; } # fine if ($aggurlfoto) if ($mostra_torna_indietro == "SI") { echo "<div style=\"text-align: center;\">
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>"; } } }
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; }
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
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... }
function esegui_modifiche_prenotazione(&$inserire, &$cancellata, $id_prenota_int, $id_prenota_idpr, $num_id_prenota, $id_transazione, $id_sessione, $anno, $id_nuovo_utente_inserimento, $n_stima_checkin, $n_met_paga_caparra, $n_origine_prenota, $n_pagato, $n_confermato, $tipo_commento, $n_commento, $n_cancella_commento, $tableprenota_da_aggiornare, $tipo_sposta, $dati_da_anno_prec, $prenota_in_anno_succ, $tra_anni, $PHPR_TAB_PRE) { global $id_utente, $priv_mod_checkin, $attiva_regole1_consentite, $regole1_consentite, $attiva_tariffe_consentite, $tariffe_consentite_vett, $priv_mod_date, $priv_ins_periodi_passati, $priv_mod_commento, $priv_mod_sconto, $priv_mod_caparra, $priv_mod_pagato, $priv_mod_orig_prenota, $d_commento, $cassa_pagamenti; global $dati_ca, $d_id_utente_inserimento_idpr, $d_appartamento_idpr, $d_id_data_inizio_idpr, $d_nome_tariffa_idpr, $d_app_eliminati_costi_idpr, $d_checkin_idpr, $d_checkout_idpr, $d_prenota_comp_idpr, $fineperiodo_orig; global $id_prenota_orig, $tableperiodi_orig, $tableprenota_orig, $tablecostiprenota_orig, $tableperiodi_prec, $tableprenota_prec, $tablecostiprenota_prec, $stile_data; $pag = "modifica_prenota.php"; $tablenometariffe = $PHPR_TAB_PRE . "ntariffe" . $anno; $tableprenota = $PHPR_TAB_PRE . "prenota" . $anno; $tableperiodi = $PHPR_TAB_PRE . "periodi" . $anno; $tableregole = $PHPR_TAB_PRE . "regole" . $anno; $tablesoldi = $PHPR_TAB_PRE . "soldi" . $anno; $tableappartamenti = $PHPR_TAB_PRE . "appartamenti"; $tableclienti = $PHPR_TAB_PRE . "clienti"; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tabletransazioni = $PHPR_TAB_PRE . "transazioni"; $tableutenti = $PHPR_TAB_PRE . "utenti"; $tablecostiprenota = $PHPR_TAB_PRE . "costiprenota" . $anno; $tablerelinventario = $PHPR_TAB_PRE . "relinventario"; $tablecache = $PHPR_TAB_PRE . "cache"; $tablecosti = $PHPR_TAB_PRE . "costi" . $anno; $file_interconnessioni = C_DATA_PATH . "/dati_interconnessioni.php"; if ($tableprenota_da_aggiornare == "SI") { if (@is_file($file_interconnessioni)) { include $file_interconnessioni; if (@is_array($ic_present)) { $dati_transaz = recupera_dati_transazione($id_transazione, $id_sessione, $anno, "SI", $tipo_transaz); if ($tipo_transaz == "mod_p" and risul_query($dati_transaz, 0, 'dati_transazione11') == "SI") { unset($interconnection_name); $interconn_dir = opendir("./includes/interconnect/"); while ($mod_ext = readdir($interconn_dir)) { if ($mod_ext != "." and $mod_ext != ".." and @is_dir("./includes/interconnect/{$mod_ext}")) { include "./includes/interconnect/{$mod_ext}/name.php"; if ($ic_present[$interconnection_name] == "SI") { include "./includes/interconnect/{$mod_ext}/functions_import.php"; $funz_import_reservations = "import_reservations_" . $interconnection_name; $id_utente_origi = $id_utente; $id_utente = 1; $funz_import_reservations("", "", $file_interconnessioni, $anno, $PHPR_TAB_PRE, 2, $id_utente, $HOSTNAME); $id_utente = $id_utente_origi; } # fine if ($ic_present[$interconnection_name] == "SI") } # fine if ($modello_ext != "." and $modello_ext != ".." and... } # fine while ($mod_ext = readdir($interconn_dir)) closedir($interconn_dir); } # fine if ($tipo_transaz == "mod_p" and risul_query($dati_transazione,0,'dati_transazione11') == "SI") } # fine if (@is_array($ic_present)) } # fine if (@is_file($file_interconnessioni)) $tableprenota_da_aggiornare = ""; } # fine if ($tableprenota_da_aggiornare == "SI") if ($dati_da_anno_prec == "SI" or $prenota_in_anno_succ) { if (@is_file($file_interconnessioni)) { $tabelle_lock = array($tableprenota_prec, $tableprenota_orig, $tablecostiprenota_prec, $tablecostiprenota_orig, $tablerelinventario, $tabletransazioni, $tablecache); } else { $tabelle_lock = array($tableprenota_prec, $tableprenota_orig, $tablecostiprenota_prec, $tablecostiprenota_orig, $tablerelinventario, $tabletransazioni); } $altre_tab_lock = array($tablenometariffe, $tableperiodi_prec, $tableperiodi_orig, $tableappartamenti, $tableregole, $tablepersonalizza, $tableutenti); } else { if (@is_file($file_interconnessioni)) { $tabelle_lock = array($tableprenota, $tablecostiprenota, $tablerelinventario, $tabletransazioni, $tablecache); } else { $tabelle_lock = array($tableprenota, $tablecostiprenota, $tablerelinventario, $tabletransazioni); } $altre_tab_lock = array($tablenometariffe, $tableperiodi, $tableappartamenti, $tableregole, $tablepersonalizza, $tableutenti); } # fine else if ($dati_da_anno_prec == "SI") $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); $dati_transazione = recupera_dati_transazione($id_transazione, $id_sessione, $anno, "NO", $tipo_transazione); if ($tipo_transazione != "mod_p") { $inserire = "NO"; } else { if ("," . $id_prenota_int . "," != risul_query($dati_transazione, 0, 'dati_transazione1')) { $inserire = "NO"; } } if ($inserire != "NO") { $d_data_inserimento = risul_query($dati_transazione, 0, 'dati_transazione2'); $d_host_inserimento = risul_query($dati_transazione, 0, 'dati_transazione3'); $n_costo_tot_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione4')); $n_inizioperiodo = risul_query($dati_transazione, 0, 'dati_transazione5'); $n_fineperiodo = risul_query($dati_transazione, 0, 'dati_transazione6'); $n_appartamento_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione7')); $n_assegnazioneapp_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione8')); $n_lista_app_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione9')); $n_numpersone_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione10')); $tableprenota_da_aggiornare = risul_query($dati_transazione, 0, 'dati_transazione11'); $n_nometipotariffa_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione12')); $n_costo_tariffa_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione13')); $costi_aggiuntivi_modificati_int_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione14')); $costi_aggiuntivi_da_inserire_int_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione15')); $n_sconto_caparra_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione16')); unset($n_sconto_idpr); unset($n_caparra_idpr); unset($n_commissioni_idpr); for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; if ($tipo_sposta == "fisso" and strcmp($n_appartamento_idpr[$id_prenota], "")) { $n_assegnazioneapp_idpr[$id_prenota] = "k"; } $n_sconto = explode("#@&", $n_sconto_caparra_idpr[$id_prenota]); if (strcmp($n_sconto[1], "")) { $n_caparra = (double) $n_sconto[1]; } else { $n_caparra = ""; } if (strcmp($n_sconto[2], "")) { $n_commissioni = (double) $n_sconto[2]; } else { $n_commissioni = ""; } if (strcmp($n_sconto[0], "")) { $n_sconto = (double) $n_sconto[0]; } else { $n_sconto = ""; } $n_sconto_idpr[$id_prenota] = $n_sconto; $n_caparra_idpr[$id_prenota] = $n_caparra; $n_commissioni_idpr[$id_prenota] = $n_commissioni; } # fine for $num_idpr $n_tariffesettimanali_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione17')); $id_per_corr_finto = (string) risul_query($dati_transazione, 0, 'dati_transazione18'); $prenota_comp_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione19')); $n_app_eliminati_costi_idpr = unserialize(risul_query($dati_transazione, 0, 'dati_transazione20')); if (get_magic_quotes_gpc()) { $n_pagato = stripslashes($n_pagato); $n_confermato = stripslashes($n_confermato); } # fine if (get_magic_quotes_gpc()) $n_pagato_idpr = unserialize($n_pagato); $n_confermato_idpr = unserialize($n_confermato); esegui_query("delete from {$tabletransazioni} where idtransazioni = '{$id_transazione}' and idsessione = '{$id_sessione}'"); if ($tableprenota_da_aggiornare) { $spostamenti = risul_query($dati_transazione, 0, 'spostamenti'); $spostamenti = explode(",", $spostamenti); } # fine if ($tableprenota_da_aggiornare) unset($dati_prenota_idpr); unset($beniinv_presenti); unset($num_ripetizioni_costo_mod_idpr); unset($num_ripetizioni_costo_ins_idpr); unset($n_tipotariffa_idpr); $d_data_inserimento_idpr = explode(",", $d_data_inserimento); $d_host_inserimento_idpr = explode(",", $d_host_inserimento); if (get_magic_quotes_gpc()) { $n_met_paga_caparra = stripslashes($n_met_paga_caparra); } $n_met_paga_caparra = htmlspecialchars($n_met_paga_caparra); for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; $d_checkin = $d_checkin_idpr[$id_prenota]; $d_id_data_inizio = $d_id_data_inizio_idpr[$id_prenota]; $n_costo_tot = $n_costo_tot_idpr[$id_prenota]; $n_appartamento = $n_appartamento_idpr[$id_prenota]; $n_assegnazioneapp = $n_assegnazioneapp_idpr[$id_prenota]; $n_lista_app = $n_lista_app_idpr[$id_prenota]; $n_numpersone = $n_numpersone_idpr[$id_prenota]; $n_nometipotariffa = $n_nometipotariffa_idpr[$id_prenota]; $n_costo_tariffa = $n_costo_tariffa_idpr[$id_prenota]; $costi_aggiuntivi_modificati_int = $costi_aggiuntivi_modificati_int_idpr[$id_prenota]; $costi_aggiuntivi_da_inserire_int = $costi_aggiuntivi_da_inserire_int_idpr[$id_prenota]; $n_sconto = $n_sconto_idpr[$id_prenota]; $n_caparra = $n_caparra_idpr[$id_prenota]; $n_commissioni = $n_commissioni_idpr[$id_prenota]; $n_tariffesettimanali = $n_tariffesettimanali_idpr[$id_prenota]; $prenota_comp = $prenota_comp_idpr[$id_prenota]; $n_pagato = $n_pagato_idpr[$id_prenota]; $n_confermato = $n_confermato_idpr[$id_prenota]; global ${"dati_cap" . $id_prenota}, ${"metodo_pagamento" . $id_prenota}; $dati_cap = ${"dati_cap" . $id_prenota}; unset($num_costi_presenti); $dati_prenota_idpr[$id_prenota] = esegui_query("select * from {$tableprenota} where idprenota = '{$id_prenota}' and idclienti != '0'"); $num_dati_prenota = numlin_query($dati_prenota_idpr[$id_prenota]); if ($num_dati_prenota == 0) { $inserire = "NO"; $cancellata = "SI"; } else { $n_data_inserimento = risul_query($dati_prenota_idpr[$id_prenota], 0, 'datainserimento'); $n_host_inserimento = risul_query($dati_prenota_idpr[$id_prenota], 0, 'hostinserimento'); if ($n_data_inserimento != $d_data_inserimento_idpr[$num_idpr] or $n_host_inserimento != $d_host_inserimento_idpr[$num_idpr]) { $inserire = "NO"; $cancellata = "SI"; $inizioperiodo = ""; $fineperiodo = ""; } # fine if ($n_data_inserimento != $d_data_inserimento_idpr[$num_idpr] or ... if ($n_appartamento != "") { $appartamento = $n_appartamento; } else { $appartamento = risul_query($dati_prenota_idpr[$id_prenota], 0, 'idappartamenti'); } if ($n_numpersone != "") { $numpersone = $n_numpersone; } else { $numpersone = risul_query($dati_prenota_idpr[$id_prenota], 0, 'num_persone'); } if (!$numpersone) { $numpersone = 0; } if ($n_assegnazioneapp != "") { $assegnazioneapp = $n_assegnazioneapp; } else { $assegnazioneapp = risul_query($dati_prenota_idpr[$id_prenota], 0, 'assegnazioneapp'); } if ($n_lista_app != "") { $lista_app = $n_lista_app; } else { $lista_app = risul_query($dati_prenota_idpr[$id_prenota], 0, 'app_assegnabili'); } if ($n_inizioperiodo != "") { $inizioperiodo = $n_inizioperiodo; } else { $inizioperiodo = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatainizio'); } if ($n_fineperiodo != "") { $fineperiodo = $n_fineperiodo; } else { $fineperiodo = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatafine'); } } # fine else if ($num_dati_prenota == 0) if ($n_stima_checkin) { $n_stima_checkin = aggslashdb($n_stima_checkin); if ($priv_mod_checkin != "s") { $inserire = "NO"; } if (!preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/", $n_stima_checkin)) { $inserire = "NO"; } else { $id_stima_checkin = esegui_query("select idperiodi from {$tableperiodi} where datainizio <= '" . substr($n_stima_checkin, 0, 10) . "' and datafine > '" . substr($n_stima_checkin, 0, 10) . "' "); if (numlin_query($id_stima_checkin) == 1) { $id_stima_checkin = risul_query($id_stima_checkin, 0, 'idperiodi'); if ($id_stima_checkin > $fineperiodo + 1) { $inserire = "NO"; } if ($id_stima_checkin < $inizioperiodo) { $inserire = "NO"; } } else { $inserire = "NO"; } if ($d_checkin) { $inserire = "NO"; } } # fine else if (!preg_match("/[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:00/",$n_stima_checkin)) } # fine if ($n_stima_checkin) $appartamento_esistente = esegui_query("select idappartamenti,maxoccupanti from {$tableappartamenti} where idappartamenti = '{$appartamento}'"); if (numlin_query($appartamento_esistente) != 1 and $n_appartamento) { $inserire = "NO"; } else { $maxoccupanti = risul_query($appartamento_esistente, 0, 'maxoccupanti'); if ($maxoccupanti and $numpersone > $maxoccupanti and $n_numpersone) { $inserire = "NO"; } } # fine else if (numlin_query($appartamento_esistente) != 1) $appartamento_chiuso = esegui_query("select idregole from {$tableregole} where iddatainizio <= '{$fineperiodo}' and iddatafine >= '{$inizioperiodo}' and app_agenzia = '{$appartamento}' and motivazione2 = 'x' "); if (numlin_query($appartamento_chiuso)) { $inserire = "NO"; } if ($assegnazioneapp == "c" and str_replace("," . $appartamento . ",", "", "," . $lista_app . ",") == "," . $lista_app . "," and ($n_appartamento or $n_assegnazioneapp or $n_lista_app)) { $inserire = "NO"; } if ($attiva_regole1_consentite == "s" and ($n_appartamento != "" or $n_assegnazioneapp != "" or $n_lista_app != "")) { unset($appartameti_in_lista); if ($assegnazioneapp != "k" and $assegnazioneapp != "c") { $inserire = "NO"; } if ($assegnazioneapp == "k") { $appartameti_in_lista[0] = $appartamento; } if ($assegnazioneapp == "c") { $appartameti_in_lista = explode(",", $lista_app); } for ($n_lista = 0; $n_lista < count($appartameti_in_lista); $n_lista++) { $appartamento_lista = $appartameti_in_lista[$n_lista]; $motivazioni_regola1 = esegui_query("select motivazione,iddatainizio,iddatafine from {$tableregole} where iddatainizio <= '{$fineperiodo}' and iddatafine >= '{$inizioperiodo}' and app_agenzia = '{$appartamento_lista}' and (motivazione2 != 'x' or motivazione2 is NULL) order by iddatainizio"); if (numlin_query($motivazioni_regola1) == 0) { $inserire = "NO"; } else { unset($motivazioni_consentite); for ($num2 = 0; $num2 < count($regole1_consentite); $num2++) { $motivazioni_consentite[$regole1_consentite[$num2]] = "SI"; } $iddatainizio_regole_tot = risul_query($motivazioni_regola1, 0, 'iddatainizio'); $iddatafine_regole_tot = risul_query($motivazioni_regola1, 0, 'iddatafine'); $motivazione = risul_query($motivazioni_regola1, 0, 'motivazione'); if (!$motivazione) { $motivazione = " "; } if (!$motivazioni_consentite[$motivazione]) { $inserire = "NO"; } for ($num2 = 1; $num2 < numlin_query($motivazioni_regola1); $num2++) { $motivazione = risul_query($motivazioni_regola1, $num2, 'motivazione'); if (!$motivazione) { $motivazione = " "; } if (!$motivazioni_consentite[$motivazione]) { $inserire = "NO"; } $iddatainizio_regola = risul_query($motivazioni_regola1, $num2, 'iddatainizio'); if ($iddatainizio_regola == $iddatafine_regole_tot + 1) { $iddatafine_regole_tot = risul_query($motivazioni_regola1, $num2, 'iddatafine'); } else { $inserire = "NO"; } } # fine for $num2 if ($iddatainizio_regole_tot > $inizioperiodo or $iddatafine_regole_tot < $fineperiodo) { $inserire = "NO"; } } # fine else if (numlin_query($motivazioni_regola1) == 0) } # fine for $n_lista } # fine if ($attiva_regole1_consentite == "s" and... if ($dati_da_anno_prec == "SI") { passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica); } if ($n_nometipotariffa != "") { $trovata_tariffa = "NO"; $dati_tariffe = dati_tariffe($tablenometariffe, "", "", $tableregole); for ($numtariffa = 1; $numtariffa <= $dati_tariffe['num']; $numtariffa++) { $tariffa = "tariffa" . $numtariffa; $nometariffa = $dati_tariffe[$tariffa]['nome']; if ($n_nometipotariffa == $tariffa or $n_nometipotariffa == $nometariffa) { $trovata_tariffa = "SI"; $n_tipotariffa = $tariffa; $n_tipotariffa_idpr[$id_prenota] = $n_tipotariffa; } # fine if ($n_nometipotariffa == $tariffa or $n_nometipotariffa == $nometariffa) } # fine for $numtariffa if ($attiva_tariffe_consentite == "s" and $tariffe_consentite_vett[substr($n_tipotariffa, 7)] != "SI" and $n_nometipotariffa != $d_nome_tariffa_idpr[$id_prenota] or $trovata_tariffa == "NO") { $inserire = "NO"; } for ($num2 = $inizioperiodo; $num2 <= $fineperiodo; $num2++) { $rigasettimana = esegui_query("select * from {$tableperiodi} where idperiodi = '{$num2}' "); $esistetariffa = risul_query($rigasettimana, 0, $n_tipotariffa); $esistetariffap = risul_query($rigasettimana, 0, $n_tipotariffa . "p"); if ((!strcmp($esistetariffa, "") or $esistetariffa < 0) and (!strcmp($esistetariffap, "") or $esistetariffap < 0)) { $inserire = "NO"; } if ($n_nometipotariffa != $d_nome_tariffa_idpr[$id_prenota] and $dati_tariffe[$n_tipotariffa]['chiusa'][$num2]) { $inserire = "NO"; } } # fine for $num2 } # fine if ($n_nometipotariffa != "") if ($priv_mod_date != "s" and ($n_inizioperiodo != "" or $n_fineperiodo != "")) { $inserire = "NO"; } if ($priv_ins_periodi_passati != "s" and $inizioperiodo < $d_id_data_inizio) { $id_periodo_corrente = calcola_id_periodo_corrente($anno); if ($id_periodo_corrente >= $inizioperiodo) { $inserire = "NO"; } } # fine if ($priv_ins_periodi_passati != "s" and $inizioperiodo < $d_id_data_inizio) #if ($n_numpersone != "" and $priv_mod_num_persone != "s") $inserire = "NO"; if ($n_numpersone and controlla_num_pos($n_numpersone) != "SI") { $inserire = "NO"; } if ($priv_mod_commento != "s" and ($n_commento != "" or $n_cancella_commento)) { $inserire = "NO"; } if (strcmp($n_sconto, "") and ($priv_mod_sconto != "s" or controlla_soldi($n_sconto) == "NO")) { $inserire = "NO"; } if (strcmp($n_caparra, "")) { if ($priv_mod_caparra != "s" or controlla_soldi($n_caparra, "SI") == "NO") { $inserire = "NO"; } if ($n_caparra > $n_costo_tot) { $inserire = "NO"; } } # fine if (strcmp($n_caparra,"")) if (strcmp($n_commissioni, "") and ($priv_mod_caparra != "s" or controlla_soldi($n_commissioni, "SI") == "NO")) { $inserire = "NO"; } if ($costi_aggiuntivi_modificati_int) { $costi_aggiuntivi_modificati = explode("#@&", $costi_aggiuntivi_modificati_int); for ($numca = 0; $numca < $dati_cap['num']; $numca++) { $num_costo_mod = "NO"; for ($num2 = 0; $num2 < count($costi_aggiuntivi_modificati); $num2++) { $costo_agg_modificato = explode("#?&", $costi_aggiuntivi_modificati[$num2]); if ($costo_agg_modificato[0] == $dati_cap[$numca]['id']) { $num_costo_mod = $num2; } } # fine for $num2 $costo_agg_modificato = explode("#?&", $costi_aggiuntivi_modificati[$num_costo_mod]); if ($costo_agg_modificato[1] != "cancella") { $num_costo = $dati_ca['id'][$dati_cap[$numca]['idntariffe']]; if ($dati_ca[$num_costo]['id'] == $dati_cap[$numca]['idntariffe'] and $dati_cap[$numca]['nome'] == $dati_ca[$num_costo]['nome'] and $dati_ca[$num_costo]['numlimite']) { $num_limite = (string) $dati_ca[$num_costo]['numlimite']; } else { $num_limite = (string) 0; } if ((string) $num_costo_mod != (string) "NO") { $settimane_costo = $costo_agg_modificato[1]; $moltiplica = $costo_agg_modificato[2]; } else { $settimane_costo = $dati_cap[$numca]['settimane']; $moltiplica = $dati_cap[$numca]['moltiplica_costo']; } # fine else if ((string) $num_costo_mod != (string) "NO") if (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_cap, $numca, $num_costi_presenti, $inizioperiodo, $fineperiodo, $settimane_costo, $moltiplica, $num_limite, $tra_anni) == "NO") { $inserire = "NO"; } if (str_replace(",{$appartamento},", "", "," . $dati_cap[$numca]['appincompatibili'] . ",") != "," . $dati_cap[$numca]['appincompatibili'] . ",") { $inserire = "NO"; } } # fine if ($costo_agg_modificato[1] != "cancella") if ($dati_cap[$numca]['tipo_beniinv']) { if ($costo_agg_modificato[1] != "cancella") { $num_ripetizioni_costo = ""; } else { $num_ripetizioni_costo = "0"; } $risul = controlla_beni_inventario_costo($tablerelinventario, $dati_cap, $numca, $beniinv_presenti, $num_ripetizioni_costo, "SI", $inizioperiodo, $fineperiodo, $settimane_costo, $moltiplica, $appartamento); if ($risul != "SI") { $inserire = "NO"; } if ($num_ripetizioni_costo != $dati_cap[$numca]['beniinv_ripeti']) { $beniinv_vett = explode(";", $dati_cap[$numca]['beniinv_orig']); $num_ripetizioni_costo_mod_idpr[$id_prenota][$num_costo_mod] = $num_ripetizioni_costo . substr($dati_cap[$numca]['beniinv_orig'], strlen($beniinv_vett[0])); } # fine if ($num_ripetizioni_costo != $dati_cap[$numca]['beniinv_ripeti']) } # fine if ($dati_cap[$numca]['tipo_beniinv']) } # fine for $numca } # fine if ($costi_aggiuntivi_modificati_int) if ($costi_aggiuntivi_da_inserire_int) { $costi_aggiuntivi_da_inserire = explode("#@&", $costi_aggiuntivi_da_inserire_int); for ($num2 = 0; $num2 < count($costi_aggiuntivi_da_inserire); $num2++) { $costo_agg_da_inserire = explode("#?&", $costi_aggiuntivi_da_inserire[$num2]); $num_costo = $dati_ca['id'][$costo_agg_da_inserire[9]]; if ($costo_agg_da_inserire[9] != $dati_ca[$num_costo]['id'] and $costo_agg_da_inserire[9] != "-1") { $inserire = "NO"; } elseif (controlla_num_limite_costo($tablecostiprenota, $tableprenota, $dati_ca, $num_costo, $num_costi_presenti, $inizioperiodo, $fineperiodo, $costo_agg_da_inserire[6], $costo_agg_da_inserire[7], "", $tra_anni) == "NO") { $inserire = "NO"; } if (str_replace(",{$appartamento},", "", "," . $dati_ca[$num_costo]['appincompatibili'] . ",") != "," . $dati_ca[$num_costo]['appincompatibili'] . ",") { $inserire = "NO"; } if ($dati_ca[$num_costo]['tipo_beniinv']) { $num_ripetizioni_costo_ins_idpr[$id_prenota][$num2] = ""; $risul = controlla_beni_inventario_costo($tablerelinventario, $dati_ca, $num_costo, $beniinv_presenti, $num_ripetizioni_costo_ins_idpr[$id_prenota][$num2], "SI", $inizioperiodo, $fineperiodo, $costo_agg_da_inserire[6], $costo_agg_da_inserire[7], $appartamento); if ($risul != "SI") { $inserire = "NO"; } } # fine if ($dati_ca[$num_costo]['tipo_beniinv']) } # fine for $num2 } # fine if ($costi_aggiuntivi_da_inserire_int) if ($dati_da_anno_prec == "SI") { passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo); } if ($priv_mod_caparra != "s" and $n_met_paga_caparra) { $inserire = "NO"; } if ($n_met_paga_caparra or ${"metodo_pagamento" . $id_prenota}) { if (get_magic_quotes_gpc()) { ${"metodo_pagamento" . $id_prenota} = stripslashes(${"metodo_pagamento" . $id_prenota}); } ${"metodo_pagamento" . $id_prenota} = htmlspecialchars(${"metodo_pagamento" . $id_prenota}); $metodi_pagamento = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'metodi_pagamento' and idutente = '{$id_utente}'"); $metodi_pagamento = risul_query($metodi_pagamento, 0, 'valpersonalizza'); $metodi_pagamento = explode(",", $metodi_pagamento); if ($n_met_paga_caparra) { $metodo_trovato = "NO"; for ($num1 = 0; $num1 < count($metodi_pagamento); $num1++) { if ($metodi_pagamento[$num1] == $n_met_paga_caparra) { $metodo_trovato = "SI"; } } if ($metodo_trovato == "NO") { $inserire = "NO"; } } # fine if ($n_met_paga_caparra) if (${"metodo_pagamento" . $id_prenota}) { $metodo_trovato = "NO"; for ($num1 = 0; $num1 < count($metodi_pagamento); $num1++) { if ($metodi_pagamento[$num1] == ${"metodo_pagamento" . $id_prenota}) { $metodo_trovato = "SI"; } } if ($metodo_trovato == "NO") { $inserire = "NO"; } } # fine if (${"metodo_pagamento".$id_prenota}) } # fine if ($n_met_paga_caparra or ${"metodo_pagamento".$id_prenota}) if ($priv_mod_pagato == "n" and $n_confermato != "") { $inserire = "NO"; } if ($n_confermato and $n_confermato != "S" and $n_confermato != "N") { $inserire = "NO"; } if ($priv_mod_pagato != "s" and $n_pagato != "") { $inserire = "NO"; } if ($n_pagato and controlla_soldi($n_pagato, "SI") == "NO" or $n_pagato > $n_costo_tot) { $inserire = "NO"; } if ($inserire == "NO") { break; } } # fine for $num_idpr if ($priv_mod_orig_prenota != "s" and $n_origine_prenota) { $inserire = "NO"; } if ($n_origine_prenota) { if (get_magic_quotes_gpc()) { $n_origine_prenota = stripslashes($n_origine_prenota); } $n_origine_prenota = htmlspecialchars($n_origine_prenota); $origini_prenota = esegui_query("select valpersonalizza from {$tablepersonalizza} where idpersonalizza = 'origini_prenota' and idutente = '{$id_utente}'"); $origini_prenota = risul_query($origini_prenota, 0, 'valpersonalizza'); $origini_prenota = explode(",", $origini_prenota); $origine_trovata = "NO"; for ($num1 = 0; $num1 < count($origini_prenota); $num1++) { if ($origini_prenota[$num1] == $n_origine_prenota) { $origine_trovata = "SI"; } } if ($origine_trovata == "NO") { $inserire = "NO"; } } # fine if ($n_origine_prenota) if ($id_nuovo_utente_inserimento != "" and $id_utente == 1) { $id_nuovo_utente_inserimento = aggslashdb($id_nuovo_utente_inserimento); $verifica_utente = esegui_query("select * from {$tableutenti} where idutenti = '{$id_nuovo_utente_inserimento}'"); if (numlin_query($verifica_utente) != 1) { $inserire = "NO"; } } # fine if ($id_nuovo_utente_inserimento != "" and $id_utente == 1) if ($n_commento != "") { if (get_magic_quotes_gpc()) { $n_commento = stripslashes($n_commento); } $n_commento = htmlspecialchars($n_commento); } # fine if ($n_commento != "") } # fine if ($inserire != "NO") if ($inserire != "NO") { # funzione: se ritorna $prenota_comp vuota sono tutte vicine function controlla_prenota_vicine(&$prenota_comp, $dati_app, $app_prenota_id) { if ($prenota_comp) { $prenota_comp_vett = explode(",", $prenota_comp); $num_prenota_comp = count($prenota_comp_vett); $prenota_comp = substr(str_replace("," . $prenota_comp_vett[0] . ",", ",", ",{$prenota_comp},"), 1, -1); $app_corr = $app_prenota_id[$prenota_comp_vett[0]]; $num_vic = 0; for ($num1 = 1; $num1 < $num_prenota_comp; $num1++) { $app_vicini = $dati_app["vicini"][$app_prenota_id[$prenota_comp_vett[$num1]]]; if (str_replace(",{$app_corr},", "", ",{$app_vicini},") != ",{$app_vicini},") { $prenota_comp = substr(str_replace("," . $prenota_comp_vett[$num1] . ",", ",", ",{$prenota_comp},"), 1, -1); $pren_vicina[$num_vic] = $prenota_comp_vett[$num1]; $num_vic++; } # fine (str_replace(",$app_corr,","",",$app_vicini,") != ",$app_vicini,") } # fine for $num1 for ($num1 = 0; $num1 < $num_vic; $num1++) { if (!$prenota_comp) { break; } $prenota_comp = $pren_vicina[$num1] . "," . $prenota_comp; controlla_prenota_vicine($prenota_comp, $dati_app, $app_prenota_id); } # fine for $num1 } # fine if ($prenota_comp) } # fine function controlla_prenota_vicine # aggiorno le posizioni e faccio i controlli. if ($tableprenota_da_aggiornare) { if (!function_exists("tab_a_var")) { include "./includes/liberasettimane.php"; } 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); if ($id_per_corr_finto != "") { $limiti_var['idperiodocorrente'] = $id_per_corr_finto; } $limiti_var['n_ini'] = 0; $max_periodo = esegui_query("select max(idperiodi) from {$tableperiodi}"); $max_periodo = risul_query($max_periodo, 0, 0); $limiti_var['n_fine'] = $max_periodo; $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'); $limiti_var['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 < '" . $limiti_var['lim_prenota_temp'] . "'", "", 1); $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"); # Sposto gli appartamenti presenti in $spostamenti se possibile for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; for ($num1 = $inizio_prenota_id[$id_prenota]; $num1 <= $fine_prenota_id[$id_prenota]; $num1++) { $prenota_in_app_sett[$app_prenota_id[$id_prenota]][$num1] = ""; } # fine for $num1 } # fine for $num_idpr $num_spostamenti = count($spostamenti); for ($num1 = 0; $num1 < $num_spostamenti; $num1++) { $idprenota_cambiata = $spostamenti[$num1]; $app_cambiato = $spostamenti[$num1 + 1]; $applicare_cambio[$num1] = "NO"; if ($inizio_prenota_id[$idprenota_cambiata]) { $applicare_cambio[$num1] = "SI"; if (!$app_assegnabili_id[$idprenota_cambiata]) { $applicare_cambio[$num1] = "NO"; } if ($app_assegnabili_id[$idprenota_cambiata] and $app_assegnabili_id[$idprenota_cambiata] != "v") { $lista_app_assegnabili = "," . $app_assegnabili_id[$idprenota_cambiata] . ","; if (str_replace("," . $app_cambiato . ",", "", $lista_app_assegnabili) == $lista_app_assegnabili) { $applicare_cambio[$num1] = "NO"; } } # fine if ($app_assegnabili_id[$idprenota_cambiata] and... if (str_replace("," . $app_cambiato . ",", "", $dati_app['lista']) == $dati_app['lista']) { $applicare_cambio[$num1] = "NO"; } if ($applicare_cambio[$num1] == "SI") { for ($num2 = $inizio_prenota_id[$idprenota_cambiata]; $num2 <= $fine_prenota_id[$idprenota_cambiata]; $num2++) { $prenota_in_app_sett[$app_prenota_id[$idprenota_cambiata]][$num2] = ""; } # fine for $num2 $app_prenota_id[$idprenota_cambiata] = $app_cambiato; } # fine if ($applicare_cambio[$num1] == "SI") } # fine if ($inizio_prenota_id[$idprenota_cambiata]) $num1++; } # fine for $num1 for ($num1 = 0; $num1 < $num_spostamenti; $num1++) { $idprenota_cambiata = $spostamenti[$num1]; if ($applicare_cambio[$num1] == "SI") { for ($num2 = $inizio_prenota_id[$idprenota_cambiata]; $num2 <= $fine_prenota_id[$idprenota_cambiata]; $num2++) { if ($prenota_in_app_sett[$app_prenota_id[$idprenota_cambiata]][$num2]) { $inserire = "NO"; } else { $prenota_in_app_sett[$app_prenota_id[$idprenota_cambiata]][$num2] = $idprenota_cambiata; } } # fine for $num2 if ($inserire == "NO") { break; } } # fine if ($applicare_cambio[$num1] == "SI") $num1++; } # fine for $num1 # Aggiorno la prenotazione e faccio i primi controlli sulla prenotazione modificata for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; $n_appartamento = $n_appartamento_idpr[$id_prenota]; $n_assegnazioneapp = $n_assegnazioneapp_idpr[$id_prenota]; $n_lista_app = $n_lista_app_idpr[$id_prenota]; $n_numpersone = $n_numpersone_idpr[$id_prenota]; if ($n_appartamento != "") { $app_prenota_id[$id_prenota] = $n_appartamento; } if ($n_inizioperiodo != "") { $inizio_prenota_id[$id_prenota] = $n_inizioperiodo; } if ($n_fineperiodo != "") { $fine_prenota_id[$id_prenota] = $n_fineperiodo; } for ($num1 = $inizio_prenota_id[$id_prenota]; $num1 <= $fine_prenota_id[$id_prenota]; $num1++) { if ($prenota_in_app_sett[$app_prenota_id[$id_prenota]][$num1]) { $inserire = "NO"; } else { $prenota_in_app_sett[$app_prenota_id[$id_prenota]][$num1] = $id_prenota; } } # fine for $num1 if ($n_assegnazioneapp == "v") { $app_assegnabili_id[$id_prenota] = $dati_app['lista']; } if ($n_assegnazioneapp == "k") { $app_assegnabili_id[$id_prenota] = ""; } if ($n_assegnazioneapp == "c" and $n_lista_app) { $app_assegnabili_id[$id_prenota] = "," . $n_lista_app . ","; } $assegnazione_app = risul_query($dati_prenota_idpr[$id_prenota], 0, 'assegnazioneapp'); if (!$n_assegnazioneapp and $assegnazione_app == "c" and $n_lista_app) { $app_assegnabili_id[$id_prenota] = "," . $n_lista_app . ","; } if ($n_numpersone) { $num_persone_prenota = $n_numpersone; } else { $num_persone_prenota = risul_query($dati_prenota_idpr[$id_prenota], 0, 'num_persone'); } if ($num_persone_prenota and $dati_app['maxocc'][$app_prenota_id[$id_prenota]] and $dati_app['maxocc'][$app_prenota_id[$id_prenota]] < $num_persone_prenota) { $inserire = "NO"; } if (str_replace("," . $app_prenota_id[$id_prenota] . ",", "", $dati_app['lista']) == $dati_app['lista']) { $inserire = "NO"; } if ($app_assegnabili_id[$id_prenota] and $app_assegnabili_id[$id_prenota] != "v") { $lista_app_assegnabili = "," . $app_assegnabili_id[$id_prenota] . ","; if (str_replace("," . $app_prenota_id[$id_prenota] . ",", "", $lista_app_assegnabili) == $lista_app_assegnabili) { $inserire = "NO"; } } # fine if ($app_assegnabili_id[$id_prenota] and... if (str_replace("," . $app_prenota_id[$id_prenota] . ",", "", $dati_app['lista']) == $dati_app['lista']) { $inserire = "NO"; } } # fine for $num_idpr for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; $d_appartamento = $d_appartamento_idpr[$id_prenota]; $d_checkin = $d_checkin_idpr[$id_prenota]; $d_checkout = $d_checkout_idpr[$id_prenota]; $d_prenota_comp = $d_prenota_comp_idpr[$id_prenota]; $prenota_comp = $prenota_comp_idpr[$id_prenota]; $prenota_comp_copia = $prenota_comp; if ($prenota_comp_copia != "") { $prenota_comp_copia = $id_prenota . "," . $prenota_comp_copia; } controlla_prenota_vicine($prenota_comp_copia, $dati_app, $app_prenota_id); if ($prenota_comp_copia) { $inserire = "NO"; } $prenota_comp_control = $prenota_comp; if ($d_prenota_comp and $prenota_comp_control) { $prenota_comp_control .= ","; } $prenota_comp_control .= $d_prenota_comp; for ($num1 = 0; $num1 < $num_spostamenti; $num1++) { $idprenota_cambiata = $spostamenti[$num1]; if ($app_assegnabili_id[0][$idprenota_cambiata]) { if (str_replace(",{$idprenota_cambiata},", "", ",{$prenota_comp_control},") == ",{$prenota_comp_control},") { $prenota_comp_copia = $app_assegnabili_id[0][$idprenota_cambiata]; if ($prenota_comp_copia != "") { $prenota_comp_copia = $idprenota_cambiata . "," . $prenota_comp_copia; } controlla_prenota_vicine($prenota_comp_copia, $dati_app, $app_prenota_id); if ($prenota_comp_copia) { $inserire = "NO"; } else { $prenota_comp_control .= "," . $app_assegnabili_id[0][$idprenota_cambiata]; } if (substr($prenota_comp_control, 0, 1) == ",") { $prenota_comp_control = substr($prenota_comp_control, 1); } } # fine if (str_replace(",$idprenota_cambiata,","",",$prenota_comp_control,") == ",$prenota_comp_control,") } # fine if ($app_assegnabili_id[0][$idprenota_cambiata]) } # fine for $num1 if ($d_checkin and !$d_checkout and $app_prenota_id[$id_prenota] != $d_appartamento) { $checkin_presente = esegui_query("select idprenota from {$tableprenota} where idappartamenti = '" . aggslashdb($app_prenota_id[$id_prenota]) . "' and checkin is not NULL and checkout is NULL"); if (numlin_query($checkin_presente) >= 1) { $inserire = "NO"; echo mex("Non si è potuto spostare la prenotazione per la registrazione dell'entrata", $pag) . ".<br>"; } # fine if (numlin_query($checkin_presente) >= 1) } # fine if ($d_checkin and !$d_checkout and... } # fine for $num_idpr } # fine if ($tableprenota_da_aggiornare) } # fine if ($inserire != "NO") if ($inserire != "NO" and $tableprenota_da_aggiornare) { for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; if (strcmp($app_prenota_id[$id_prenota], "") and !strcmp($app_orig_prenota_id[$id_prenota], "")) { $app_orig_prenota_id[$id_prenota] = $app_prenota_id[$id_prenota] . "x"; } } # fine for $num_idpr $risul_agg = aggiorna_tableprenota($app_prenota_id, $app_orig_prenota_id, $tableprenota); if (!$risul_agg) { $inserire = "NO"; } } # fine if ($inserire != "NO" and $tableprenota_da_aggiornare) if ($inserire == "NO") { echo mex("La prenotazione", $pag) . " {$id_prenota} " . mex("<b>non è stata modificata</b> perchè la tabella prenotazioni è cambiata nel frattempo", $pag) . ".<br>"; unlock_tabelle($tabelle_lock); } else { for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; $d_id_utente_inserimento = $d_id_utente_inserimento_idpr[$id_prenota]; $d_app_eliminati_costi = $d_app_eliminati_costi_idpr[$id_prenota]; $d_prenota_comp = $d_prenota_comp_idpr[$id_prenota]; $n_costo_tot = $n_costo_tot_idpr[$id_prenota]; $n_appartamento = $n_appartamento_idpr[$id_prenota]; $n_assegnazioneapp = $n_assegnazioneapp_idpr[$id_prenota]; $n_lista_app = $n_lista_app_idpr[$id_prenota]; $n_app_eliminati_costi = $n_app_eliminati_costi_idpr[$id_prenota]; $n_numpersone = $n_numpersone_idpr[$id_prenota]; $n_nometipotariffa = $n_nometipotariffa_idpr[$id_prenota]; $n_costo_tariffa = $n_costo_tariffa_idpr[$id_prenota]; $costi_aggiuntivi_modificati_int = $costi_aggiuntivi_modificati_int_idpr[$id_prenota]; $costi_aggiuntivi_da_inserire_int = $costi_aggiuntivi_da_inserire_int_idpr[$id_prenota]; $n_sconto = $n_sconto_idpr[$id_prenota]; $n_caparra = $n_caparra_idpr[$id_prenota]; $n_commissioni = $n_commissioni_idpr[$id_prenota]; $n_tariffesettimanali = $n_tariffesettimanali_idpr[$id_prenota]; $prenota_comp = $prenota_comp_idpr[$id_prenota]; $n_pagato = $n_pagato_idpr[$id_prenota]; $n_confermato = $n_confermato_idpr[$id_prenota]; $id_utente_inserimento = $d_id_utente_inserimento; if ($id_nuovo_utente_inserimento != "" and $id_utente == 1) { esegui_query("update {$tableprenota} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota}' "); esegui_query("update {$tablecostiprenota} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota}' "); $id_utente_inserimento = $id_nuovo_utente_inserimento; if ($prenota_in_anno_succ) { esegui_query("update {$tableprenota_orig} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota_orig}' "); esegui_query("update {$tablecostiprenota_orig} set utente_inserimento = '{$id_nuovo_utente_inserimento}' where idprenota = '{$id_prenota_orig}' "); } # fine if ($prenota_in_anno_succ) } # fine if ($id_nuovo_utente_inserimento != "" and $id_utente == 1) if ($n_inizioperiodo != "") { esegui_query("update {$tableprenota} set iddatainizio = '{$n_inizioperiodo}' where idprenota = '{$id_prenota}' "); } # fine if ($n_inizioperiodo != "") if ($n_fineperiodo != "") { esegui_query("update {$tableprenota} set iddatafine = '{$n_fineperiodo}' where idprenota = '{$id_prenota}' "); if ($dati_da_anno_prec == "SI") { passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica); esegui_query("update {$tableprenota} set iddatafine = '{$n_fineperiodo}' where idprenota = '{$id_prenota}' "); passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo); } # fine if ($dati_da_anno_prec == "SI") if ($prenota_in_anno_succ) { $n_data_fine = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$n_fineperiodo}'"); $n_data_fine = risul_query($n_data_fine, 0, 'datafine'); $data_succ_esistente = esegui_query("select idperiodi from {$tableperiodi_orig} where datafine <= '{$n_data_fine}'"); if (numlin_query($data_succ_esistente) < 1) { esegui_query("delete from {$tableprenota_orig} where idprenota = '{$id_prenota_orig}'"); esegui_query("delete from {$tablecostiprenota_orig} where idprenota = '{$id_prenota_orig}'"); } # fine if (numlin_query($data_succ_esistente) < 1) } # fine if ($prenota_in_anno_succ) } # fine if ($n_fineperiodo != "") if ($n_stima_checkin) { esegui_query("update {$tableprenota} set checkout = '{$n_stima_checkin}' where idprenota = '{$id_prenota}' "); } # fine if ($n_stima_checkin) #if ($n_appartamento != "") { #esegui_query("update $tableprenota set idappartamenti = '$n_appartamento' where idprenota = '$id_prenota' "); #} # fine if ($n_appartamento != "") if ($n_assegnazioneapp != "") { esegui_query("update {$tableprenota} set assegnazioneapp = '{$n_assegnazioneapp}' where idprenota = '{$id_prenota}' "); if ($n_assegnazioneapp == "v" or $n_assegnazioneapp == "k") { esegui_query("update {$tableprenota} set app_assegnabili = '' where idprenota = '{$id_prenota}' "); } # fine if ($n_assegnazioneapp == "v" ...) } # fine if ($n_assegnazioneapp != "") if ($n_lista_app != "") { esegui_query("update {$tableprenota} set app_assegnabili = '{$n_lista_app}' where idprenota = '{$id_prenota}' "); } # fine if ($n_lista_app != "") if ($d_prenota_comp != $prenota_comp) { esegui_query("update {$tableprenota} set idprenota_compagna = '{$prenota_comp}' where idprenota = '{$id_prenota}' "); if ($d_prenota_comp) { $d_prenota_comp_vett = explode(",", $d_prenota_comp); $num_d_prenota_comp = count($d_prenota_comp_vett); for ($num1 = 0; $num1 < $num_d_prenota_comp; $num1++) { $d_pren_comp = aggslashdb($d_prenota_comp_vett[$num1]); if (str_replace(",{$d_pren_comp},", "", ",{$prenota_comp},") == ",{$prenota_comp},") { esegui_query("update {$tableprenota} set idprenota_compagna = '' where idprenota = '{$d_pren_comp}' "); } } # fine for $num1 } # fine if ($d_prenota_comp) if ($prenota_comp) { $prenota_comp_vett = explode(",", $prenota_comp); $num_prenota_comp = count($prenota_comp_vett); for ($num1 = 0; $num1 < $num_prenota_comp; $num1++) { $pren_comp = aggslashdb($prenota_comp_vett[$num1]); $prenota_comp2 = substr(str_replace(",{$pren_comp},", ",", ",{$prenota_comp},"), 1) . $id_prenota; esegui_query("update {$tableprenota} set idprenota_compagna = '{$prenota_comp2}' where idprenota = '{$pren_comp}' "); } # fine for $num1 } # fine if ($prenota_comp) } # fine if ($d_prenota_comp != $prenota_comp) if ($dati_da_anno_prec == "SI") { passa_var_a_anno_prec($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo, $dati_prenota_modifica); } if ($n_numpersone != "") { esegui_query("update {$tableprenota} set num_persone = '{$n_numpersone}' where idprenota = '{$id_prenota}' "); } # fine if ($n_numpersone != "") if ($n_nometipotariffa != "") { if (substr($n_costo_tariffa, -1) == "p") { $n_costo_tariffa = substr($n_costo_tariffa, 0, -1) . "#@&p"; } $n_tariffa = aggslashdb($n_nometipotariffa) . "#@&" . $n_costo_tariffa; esegui_query("update {$tableprenota} set tariffa = '{$n_tariffa}' where idprenota = '{$id_prenota}' "); if (!strcmp($dati_tariffe[$n_tipotariffa_idpr[$id_prenota]]['tasse_percent'], "")) { esegui_query("update {$tableprenota} set tasseperc = NULL where idprenota = '{$id_prenota}' "); } else { esegui_query("update {$tableprenota} set tasseperc = '" . $dati_tariffe[$n_tipotariffa_idpr[$id_prenota]]['tasse_percent'] . "' where idprenota = '{$id_prenota}' "); } } # fine if ($n_nometipotariffa != "") if ($n_tariffesettimanali != "") { $n_tariffesettimanali = aggslashdb($n_tariffesettimanali); esegui_query("update {$tableprenota} set tariffesettimanali = '{$n_tariffesettimanali}' where idprenota = '{$id_prenota}' "); } # fine if ($n_tariffesettimanali != "") if ($costi_aggiuntivi_modificati_int) { $costi_aggiuntivi_modificati = explode("#@&", $costi_aggiuntivi_modificati_int); for ($num2 = 0; $num2 < count($costi_aggiuntivi_modificati); $num2++) { $costo_agg_modificato = explode("#?&", $costi_aggiuntivi_modificati[$num2]); if ($costo_agg_modificato[1] == "cancella") { esegui_query("delete from {$tablecostiprenota} where idcostiprenota = '" . $costo_agg_modificato[0] . "' and idprenota = '{$id_prenota}' "); } else { esegui_query("update {$tablecostiprenota} set settimane = '" . $costo_agg_modificato[1] . "', moltiplica = '" . $costo_agg_modificato[2] . "' where idcostiprenota = '" . $costo_agg_modificato[0] . "' and idprenota = '{$id_prenota}' "); if ($num_ripetizioni_costo_mod_idpr[$id_prenota][$num2]) { esegui_query("update {$tablecostiprenota} set varbeniinv = '" . $num_ripetizioni_costo_mod_idpr[$id_prenota][$num2] . "' where idcostiprenota = '" . $costo_agg_modificato[0] . "' and idprenota = '{$id_prenota}' "); } } # fine else if ($costo_agg_modificato[1] == "cancella") } # fine for $num2 } # fine if ($costi_aggiuntivi_modificati_int) if ($costi_aggiuntivi_da_inserire_int) { $costi_aggiuntivi_da_inserire = explode("#@&", $costi_aggiuntivi_da_inserire_int); for ($num2 = 0; $num2 < count($costi_aggiuntivi_da_inserire); $num2++) { $costo_agg_da_inserire = explode("#?&", $costi_aggiuntivi_da_inserire[$num2]); $num_costo = $dati_ca['id'][$costo_agg_da_inserire[9]]; $datainserimento = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); $idcostiprenota = esegui_query("select max(idcostiprenota) from {$tablecostiprenota}"); $idcostiprenota = risul_query($idcostiprenota, 0, 0) + 1; if ($costo_agg_da_inserire[15]) { $costo_agg_da_inserire[15] = $num_ripetizioni_costo_ins_idpr[$id_prenota][$num2] . ";" . $costo_agg_da_inserire[15]; } esegui_query("insert into {$tablecostiprenota} (idcostiprenota,idprenota,tipo,nome,valore,associasett,settimane,moltiplica,letto,idntariffe,varmoltiplica,varnumsett,varperiodipermessi,vartariffeassociate,vartariffeincomp,varbeniinv,varappincompatibili,variazione,categoria,datainserimento,hostinserimento,utente_inserimento) values ('{$idcostiprenota}','{$id_prenota}','" . $costo_agg_da_inserire[0] . "','" . aggslashdb($costo_agg_da_inserire[1]) . "','" . $costo_agg_da_inserire[2] . "','" . $costo_agg_da_inserire[5] . "','" . $costo_agg_da_inserire[6] . "','" . $costo_agg_da_inserire[7] . "','" . $costo_agg_da_inserire[8] . "','" . $costo_agg_da_inserire[9] . "','" . $costo_agg_da_inserire[10] . "','" . $costo_agg_da_inserire[11] . "','" . $costo_agg_da_inserire[12] . "','" . $costo_agg_da_inserire[13] . "','" . $costo_agg_da_inserire[14] . "','" . $costo_agg_da_inserire[15] . "','" . $costo_agg_da_inserire[16] . "','" . $costo_agg_da_inserire[17] . "','" . $costo_agg_da_inserire[18] . "','{$datainserimento}','{$HOSTNAME}','{$id_utente}')"); if (substr($costo_agg_da_inserire[0], 1, 1) != "f") { esegui_query("update {$tablecostiprenota} set valore_perc = '" . $costo_agg_da_inserire[3] . "', arrotonda = '" . $costo_agg_da_inserire[4] . "' where idcostiprenota = '{$idcostiprenota}'"); } if ($dati_ca[$num_costo]['tasseperc']) { esegui_query("update {$tablecostiprenota} set tasseperc = '" . $dati_ca[$num_costo]['tasseperc'] . "' where idcostiprenota = '{$idcostiprenota}'"); } } # fine for $num2 } # fine if ($costi_aggiuntivi_da_inserire_int) # Se prenotazione da anno precedente copio i costi aggiuntivi anche nell'anno # corrente per mantenere il limite dei costi in stesso periodo if (($dati_da_anno_prec == "SI" or $prenota_in_anno_succ) and ($costi_aggiuntivi_modificati_int or $costi_aggiuntivi_da_inserire_int)) { $idcostiprenota_orig = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_orig}"); $idcostiprenota_orig = risul_query($idcostiprenota_orig, 0, 0) + 1; $idcostiprenota_prec = esegui_query("select max(idcostiprenota) from {$tablecostiprenota_prec}"); $idcostiprenota_prec = risul_query($idcostiprenota_prec, 0, 0) + 1; if ($idcostiprenota_orig > $idcostiprenota_prec) { $max_idcostiprenota = $idcostiprenota_orig; } else { $max_idcostiprenota = $idcostiprenota_prec; } esegui_query("delete from {$tablecostiprenota_orig} where idprenota = '{$id_prenota_orig}'"); $costiprenota_prec = esegui_query("select * from {$tablecostiprenota_prec} where idprenota = '{$id_prenota_prec}'"); $num_costiprenota_prec = numlin_query($costiprenota_prec); $max_idcostiprenota = $max_idcostiprenota + $num_costiprenota_prec + 1; $diff_settimane = $fineperiodo - $fineperiodo_orig; for ($num1 = 0; $num1 < $num_costiprenota_prec; $num1++) { $idcostiprenota = risul_query($costiprenota_prec, $num1, 'idcostiprenota'); esegui_query("update {$tablecostiprenota_prec} set idcostiprenota = '{$max_idcostiprenota}' where idcostiprenota = '{$idcostiprenota}'"); esegui_query("insert into {$tablecostiprenota_orig} select * from {$tablecostiprenota_prec} where idcostiprenota = '{$max_idcostiprenota}' "); esegui_query("update {$tablecostiprenota_prec} set idcostiprenota = '{$idcostiprenota}' where idcostiprenota = '{$max_idcostiprenota}'"); esegui_query("update {$tablecostiprenota_orig} set idcostiprenota = '{$idcostiprenota_orig}' where idcostiprenota = '{$max_idcostiprenota}'"); $settimane = risul_query($costiprenota_prec, $num1, 'settimane'); if (str_replace(",", "", $settimane) != $settimane) { $settimane = explode(",", $settimane); $settimane_nuove = ","; for ($num2 = 1; $num2 < count($settimane) - 1; $num2++) { $settimane_nuove .= $settimane[$num2] - $diff_settimane . ","; } esegui_query("update {$tablecostiprenota_orig} set settimane = '{$settimane_nuove}' where idcostiprenota = '{$idcostiprenota_orig}'"); } # fine if (str_replace(",","",$settimane) != $settimane) $idcostiprenota_orig++; } # fine for $num1 } # fine if (($dati_da_anno_prec == "SI" or $prenota_in_anno_succ) and... if ((string) $n_app_eliminati_costi != (string) $d_app_eliminati_costi) { esegui_query("update {$tableprenota} set incompatibilita = '" . aggslashdb($n_app_eliminati_costi) . "' where idprenota = '{$id_prenota}' "); } # fine if ((string) $n_app_eliminati_costi != (string) $d_app_eliminati_costi) if (strcmp($n_sconto, "")) { esegui_query("update {$tableprenota} set sconto = '{$n_sconto}' where idprenota = '{$id_prenota}' "); } # fine if (strcmp($n_sconto,"")) if (strcmp($n_caparra, "")) { esegui_query("update {$tableprenota} set caparra = '{$n_caparra}' where idprenota = '{$id_prenota}' "); } # fine if (strcmp($n_caparra,"")) if ($n_met_paga_caparra != "") { esegui_query("update {$tableprenota} set metodo_pagamento = '" . aggslashdb($n_met_paga_caparra) . "' where idprenota = '{$id_prenota}' "); } # fine if ($n_met_paga_caparra != "") if (strcmp($n_commissioni, "")) { esegui_query("update {$tableprenota} set commissioni = '{$n_commissioni}' where idprenota = '{$id_prenota}' "); } # fine if (strcmp($n_commissioni,"")) if ($n_origine_prenota != "") { esegui_query("update {$tableprenota} set origine = '" . aggslashdb($n_origine_prenota) . "' where idprenota = '{$id_prenota}' "); } # fine if ($n_origine_prenota != "") if ($n_pagato != "") { esegui_query("update {$tableprenota} set pagato = '{$n_pagato}' where idprenota = '{$id_prenota}' "); } # fine if ($n_pagato != "") if ($n_confermato != "") { esegui_query("update {$tableprenota} set conferma = '{$n_confermato}' where idprenota = '{$id_prenota}' "); } # fine if ($n_confermato != "") if ($n_commento != "" and ($tipo_commento == "checkin" or $tipo_commento == "checkout")) { $n_comm_checkin = ""; $n_comm_checkout = ""; if ($tipo_commento == "checkin" and !$d_checkin_idpr[$id_prenota]) { $n_comm_checkin = $n_commento; } if ($tipo_commento == "checkout" and !$d_checkout_idpr[$id_prenota]) { $n_comm_checkout = $n_commento; } $n_comm = $d_commento; if (strstr($n_comm, ">")) { $n_comm = explode(">", $n_comm); if (strcmp($n_comm[1], "")) { if ($n_comm_checkin) { $n_comm_checkin = $n_comm[1] . " - {$n_comm_checkin}"; } else { $n_comm_checkin = $n_comm[1]; } } # fine if (strcmp($n_comm[1],"")) if (strcmp($n_comm[2], "")) { if ($n_comm_checkout) { $n_comm_checkout = $n_comm[2] . " - {$n_comm_checkout}"; } else { $n_comm_checkout = $n_comm[2]; } } # fine if (strcmp($n_comm[2],"")) $n_comm = $n_comm[0]; } # fine if (strstr($n_comm,">")) if (strcmp($n_comm_checkin, "") or strcmp($n_comm_checkout, "")) { $n_comm .= ">{$n_comm_checkin}>{$n_comm_checkout}"; } esegui_query("update {$tableprenota} set commento = '" . aggslashdb($n_comm) . "' where idprenota = '{$id_prenota}' "); } # fine if ($n_commento != "" and ($tipo_commento == "checkin" or... if ($n_commento != "" and $tipo_commento != "checkin" and $tipo_commento != "checkout" or $n_cancella_commento == "SI") { $n_comm = $n_commento; if ($n_cancella_commento == "SI") { $n_comm = ""; } if (strstr($d_commento, ">")) { $n_comm = $n_comm . strstr($d_commento, ">"); } esegui_query("update {$tableprenota} set commento = '" . aggslashdb($n_comm) . "' where idprenota = '{$id_prenota}' "); } # fine if (($n_commento != "" and $tipo_commento != "checkin" and $tipo_commento != "checkout") or... $adesso = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); esegui_query("update {$tableprenota} set tariffa_tot = '{$n_costo_tot}', data_modifica = '{$adesso}' where idprenota = '{$id_prenota}' "); if ($dati_da_anno_prec == "SI") { passa_var_a_anno_corr($id_prenota, $tableperiodi, $tableprenota, $tablecostiprenota, $d_id_data_inizio, $d_id_data_fine, $n_fineperiodo, $inizioperiodo, $fineperiodo, $lunghezza_periodo); } } # fine for $num_idpr aggiorna_beniinv_presenti($tablerelinventario, $beniinv_presenti); if ($tabelle_lock) { unlock_tabelle($tabelle_lock); } if ($tableprenota_da_aggiornare or $n_inizioperiodo != "" or $n_fineperiodo != "") { $lock = 1; $aggiorna_disp = 1; $aggiorna_tar = 0; if (@function_exists('pcntl_fork')) { include "./includes/interconnect/aggiorna_ic_fork.php"; } else { include "./includes/interconnect/aggiorna_ic.php"; } } # fine if ($tableprenota_da_aggiornare or... for ($num_idpr = 0; $num_idpr < $num_id_prenota; $num_idpr++) { $id_prenota = $id_prenota_idpr[$num_idpr]; $n_pagato = $n_pagato_idpr[$id_prenota]; if ($n_pagato != "") { $datainserimento_saldo = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); $idcliente_saldo = risul_query($dati_prenota_idpr[$id_prenota], 0, 'idclienti'); $d_idinizioprenota = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatainizio'); $d_idfineprenota = risul_query($dati_prenota_idpr[$id_prenota], 0, 'iddatafine'); if ($n_inizioperiodo != "") { $idinizioperiodo_saldo = $n_inizioperiodo; } else { $idinizioperiodo_saldo = $d_idinizioprenota; } if ($n_fineperiodo != "") { $idfineperiodo_saldo = $n_fineperiodo; } else { $idfineperiodo_saldo = $d_idfineprenota; } $motivazione_saldo = "{$idcliente_saldo};{$idinizioperiodo_saldo};{$idfineperiodo_saldo};{$id_prenota}"; $pagato_attuale = risul_query($dati_prenota_idpr[$id_prenota], 0, 'pagato'); if (!$pagato_attuale) { $pagato_attuale = 0; } $saldo = $n_pagato - $pagato_attuale; $metodo_pagamento = ${"metodo_pagamento" . $id_prenota}; $metodo_pagamento = aggslashdb($metodo_pagamento); $tabelle_lock = array($tablesoldi); $tabelle_lock = lock_tabelle($tabelle_lock); $idsoldi = esegui_query("select max(idsoldi) from {$tablesoldi}"); $idsoldi = risul_query($idsoldi, 0, 0) + 1; esegui_query("insert into {$tablesoldi} (idsoldi,motivazione,metodo_pagamento,saldo_prenota,soldi_prima,data_inserimento,utente_inserimento) values ('{$idsoldi}','{$motivazione_saldo}','{$metodo_pagamento}','{$saldo}','{$pagato_attuale}','{$datainserimento_saldo}','{$id_utente}')"); unlock_tabelle($tabelle_lock); if (strcmp($cassa_pagamenti, "")) { $tabelle_lock = array($tablecosti); $altre_tab_lock = array($tableperiodi, $tableclienti); $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); if ($anno >= substr($datainserimento_saldo, 0, 4)) { $costo0 = esegui_query("select * from {$tablecosti} where idcosti = '0' "); $costo0 = risul_query($costo0, 0, 'val_costo'); $costo0 = (double) $costo0 + (double) $saldo; esegui_query("update {$tablecosti} set val_costo = '{$costo0}' where idcosti = '0' "); } # fine if ($anno_saldo >= substr($datainserimento_saldo,0,4)) if (!$idinizioperiodo_saldo) { $data_inizio_costo = "?"; } else { $data_inizio_costo = esegui_query("select datainizio from {$tableperiodi} where idperiodi = '{$idinizioperiodo_saldo}' "); $data_inizio_costo = formatta_data(risul_query($data_inizio_costo, 0, 'datainizio'), $stile_data); } # fine else if (!$idinizioperiodo_saldo) $data_fine_costo = esegui_query("select datafine from {$tableperiodi} where idperiodi = '{$idfineperiodo_saldo}' "); $data_fine_costo = formatta_data(risul_query($data_fine_costo, 0, 'datafine'), $stile_data); $cognome_saldo = esegui_query("select cognome from {$tableclienti} where idclienti = '{$idcliente_saldo}' "); $cognome_saldo = risul_query($cognome_saldo, 0, 'cognome'); $nome_costo = "" . mex("Prenotazione", $pag) . " {$id_prenota} " . mex("dal", $pag) . " {$data_inizio_costo} " . mex("al", $pag) . " {$data_fine_costo} " . mex("per", $pag) . " {$cognome_saldo}"; $idcosti = esegui_query("select max(idcosti) from {$tablecosti}"); $idcosti = risul_query($idcosti, 0, 0) + 1; 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}','" . aggslashdb($nome_costo) . "','{$saldo}','e','" . aggslashdb($cassa_pagamenti) . "','" . aggslashdb($nome_utente) . "','p','{$metodo_pagamento}','{$datainserimento_saldo}','{$HOSTNAME}','{$id_utente}') "); unlock_tabelle($tabelle_lock); } # fine if (strcmp($cassa_pagamenti,"")) } # fine if ($n_pagato != "") } # fine for $num_idpr } # fine else if ($inserire == "NO") }
function aggiorna_pers_relutenti ($rel_sing,$rel_plur,$tablerel,$frase_canc,$rel_sup_sing="",$rel_sup_plur="",$tablerel_sup="",$rel_inf_sing="",$rel_inf_plur="",$tablerel_inf="") { $aggiungi_rel = "aggiungi_".$rel_sing; $rel_predefinite = $rel_plur."_predefinite"; $elimina_tutte_rel = "elimina_tutte_".$rel_plur; $importa_rel = "importa_".$rel_plur; $elimina_rel = "elimina_".$rel_sing; $nuova_rel = "nuova_".$rel_sing; $sup_n_rel = "sup_n_".$rel_sing; $cod_n_rel = "cod_n_".$rel_sing; $cod2_n_rel = "cod2_n_".$rel_sing; $cod3_n_rel = "cod3_n_".$rel_sing; $utente_importa_rel = "utente_importa_".$rel_plur; $rel_da_eliminare = $rel_sing."_da_eliminare"; global $$aggiungi_rel,$$rel_predefinite,$$elimina_tutte_rel,$$importa_rel,$$elimina_rel,$$nuova_rel,$$sup_n_rel,$$cod_n_rel,$$cod2_n_rel,$$cod3_n_rel,$$utente_importa_rel,$$rel_da_eliminare,$id_utente,$id_utente_mod,$pag,$anchor,$tablerelutenti; if ($$aggiungi_rel or $$rel_predefinite or $$elimina_tutte_rel or $$importa_rel or $$elimina_rel) { $anchor = "pers_rel"; 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 ($$elimina_rel) { if (get_magic_quotes_gpc()) $$rel_da_eliminare = stripslashes($$rel_da_eliminare); $$rel_da_eliminare = aggslashdb(htmlspecialchars($$rel_da_eliminare)); if (str_replace(" ","",$$rel_da_eliminare)) { if ($tablerel_inf) $tabelle_lock = array($tablerel,$tablerel_inf,$tablerelutenti); else $tabelle_lock = array($tablerel,$tablerelutenti); $tabelle_lock = lock_tabelle($tabelle_lock); $num_rel = esegui_query("select * from $tablerel where nome_$rel_sing = '".$$rel_da_eliminare."' "); if (numlin_query($num_rel)) { $num_rel = risul_query($num_rel,0,"id$rel_plur"); cancella_relutente($num_rel,$id_utente_mod,$rel_sing,$rel_plur,$tablerel,$tablerelutenti,$rel_inf_sing,$rel_inf_plur,$tablerel_inf); echo mex($frase_canc,$pag).".<br>"; } # fine if (numlin_query($num_rel)) unlock_tabelle($tabelle_lock); } # fine if (str_replace(" ","",$$rel_da_eliminare)) } # fine if ($$elimina_rel) } # fine if ($$aggiungi_rel or $$rel_predefinite or... } # fine function aggiorna_pers_relutenti
function recupera_dati_transazione($id_transazione, $id_sessione, $anno, $lock_tabletransazioni, &$tipo_transazione, $minuti_durata_sessione = "", $cond_sessione = "SI", $cond_tipo = "NO", $transazioni = "transazioni") { global $PHPR_TAB_PRE; $tabletransazioni = $PHPR_TAB_PRE . $transazioni; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; $tipo_transazione = ""; if ($id_transazione) { $tabelle_lock = array($tabletransazioni); if (!$minuti_durata_sessione) { $altre_tab_lock = array($tablepersonalizza); } else { $altre_tab_lock = array(); } if ($lock_tabletransazioni == "SI") { $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); } if (!$minuti_durata_sessione) { $minuti_durata_sessione = esegui_query("select valpersonalizza_num from {$tablepersonalizza} where idpersonalizza = 'minuti_durata_sessione' and idutente = '1'"); $minuti_durata_sessione = risul_query($minuti_durata_sessione, 0, 'valpersonalizza_num'); } # fine if (!$minuti_durata_sessione) $limite_transazioni_vecchie = date("Y-m-d H:i:s", time() - $minuti_durata_sessione * 60 + C_DIFF_ORE * 3600); if ($cond_tipo != "NO") { $cond_tipo = " and tipo_transazione = '{$cond_tipo}'"; } else { $cond_tipo = ""; } esegui_query("delete from {$tabletransazioni} where ultimo_accesso <= '{$limite_transazioni_vecchie}' {$cond_tipo}"); $id_transazione = aggslashdb($id_transazione); if ($cond_sessione == "SI") { $cond_sessione = " and idsessione = '{$id_sessione}'"; } else { $cond_sessione = ""; } $dati_transazione = esegui_query("select * from {$tabletransazioni} where idtransazioni = '{$id_transazione}' {$cond_sessione}"); if (numlin_query($dati_transazione) == 1) { if ($anno == risul_query($dati_transazione, 0, 'anno')) { $tipo_transazione = risul_query($dati_transazione, 0, 'tipo_transazione'); $ultimo_accesso = date("Y-m-d H:i:s", time() + C_DIFF_ORE * 3600); esegui_query("update {$tabletransazioni} set ultimo_accesso = '{$ultimo_accesso}' where idtransazioni = '{$id_transazione}' {$cond_sessione}"); } # fine if ($anno == risul_query($dati_transazione,0,'anno')) } # fine if (numlin_query($dati_transazione) == 1) if ($lock_tabletransazioni == "SI") { unlock_tabelle($tabelle_lock); } } # fine if ($id_transazione) return $dati_transazione; }