function ripristina_backup($file, $silenzio, $pag, &$numconnessione, $database_esistente, $tempdatabase, $PHPR_DB_TYPE, $PHPR_DB_NAME, $PHPR_DB_HOST, $PHPR_DB_PORT, $PHPR_DB_USER, $PHPR_DB_PASS, $PHPR_LOAD_EXT, $PHPR_TAB_PRE, $N_PHPR_DB_TYPE, $N_PHPR_DB_NAME, $N_PHPR_DB_HOST, $N_PHPR_DB_PORT, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, $N_PHPR_LOAD_EXT, $N_PHPR_TAB_PRE, $ext_pgsql_caricata, $ext_mysql_caricata, $mantieni_anni = "") { $tableanni = $PHPR_TAB_PRE . "anni"; $tableutenti = $PHPR_TAB_PRE . "utenti"; include "./includes/variabili_contratto.php"; unset($var_predef); allunga_tempo_limite(); global $LIKE, $MEDIUMTEXT, $ext_sqlite_caricata; $fatto = "NO"; if (C_CREA_NUOVI_APP == "NO") { $num_appartamenti_prec = esegui_query("select idappartamenti from " . $PHPR_TAB_PRE . "appartamenti"); $num_appartamenti_prec = numlin_query($num_appartamenti_prec); } elseif (defined("C_MASSIMO_NUM_APP") and C_MASSIMO_NUM_APP != 0) { $num_appartamenti_prec = C_MASSIMO_NUM_APP; } if (C_CAMBIA_TIPO_PERIODI == "NO") { unset($tipo_periodi_prec); $anni = esegui_query("select * from {$tableanni} order by idanni"); for ($num1 = 0; $num1 < numlin_query($anni); $num1++) { $ultimo_anno_prec = risul_query($anni, $num1, 'idanni'); $tipo_periodi_prec[$ultimo_anno_prec] = risul_query($anni, $num1, 'tipo_periodi'); } # fine for $num1 } # fine if (C_CAMBIA_TIPO_PERIODI == "NO") # Prima lettura di controllo del file $file_coerente = "SI"; $num_err = ""; $ultima_linea = ""; $fbackup = fopen($file, "r"); if ($fbackup) { $leggendo_righe = "NO"; while (!feof($fbackup)) { unset($linee_backup); $linee_backup = fread($fbackup, 524288); $linee_backup = explode("\n", $linee_backup); $num_linee_backup = count($linee_backup) - 1; $linee_backup[0] = $ultima_linea . $linee_backup[0]; if (!feof($fbackup)) { $ultima_linea = $linee_backup[$num_linee_backup]; } else { $num_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 (substr($linea, 0, 5) == "<log>" and substr($linea, -6) == "</log>") { $phpr_log = substr($linea, 5, -6); } 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>" and $leggendo_righe != "SI") { $leggendo_colonne == "NO"; $anno_ins = ""; if ($nome_tabella == "clienti") { $tab_presente['clienti'] = "SI"; } if ($nome_tabella == "relclienti") { $tab_presente['relclienti'] = "SI"; } if ($nome_tabella == "anni") { $tab_presente['anni'] = "SI"; } if ($nome_tabella == "versioni") { $tab_presente['versioni'] = "SI"; } if ($nome_tabella == "nazioni") { $tab_presente['nazioni'] = "SI"; } if ($nome_tabella == "regioni") { $tab_presente['regioni'] = "SI"; } if ($nome_tabella == "citta") { $tab_presente['citta'] = "SI"; } if ($nome_tabella == "documentiid") { $tab_presente['documentiid'] = "SI"; } if ($nome_tabella == "parentele") { $tab_presente['parentele'] = "SI"; } if ($nome_tabella == "personalizza") { $tab_presente['personalizza'] = "SI"; } if ($nome_tabella == "appartamenti") { $tab_presente['appartamenti'] = "SI"; } if ($nome_tabella == "utenti") { $tab_presente['utenti'] = "SI"; } if ($nome_tabella == "gruppi") { $tab_presente['gruppi'] = "SI"; } if ($nome_tabella == "privilegi") { $tab_presente['privilegi'] = "SI"; } if ($nome_tabella == "relutenti") { $tab_presente['relutenti'] = "SI"; } if ($nome_tabella == "relgruppi") { $tab_presente['relgruppi'] = "SI"; } if ($nome_tabella == "sessioni") { $tab_presente['sessioni'] = "SI"; } if ($nome_tabella == "transazioni") { $tab_presente['transazioni'] = "SI"; } if ($nome_tabella == "transazioniweb") { $tab_presente['transazioniweb'] = "SI"; } if ($nome_tabella == "descrizioni") { $tab_presente['descrizioni'] = "SI"; } if ($nome_tabella == "beniinventario") { $tab_presente['beniinventario'] = "SI"; } if ($nome_tabella == "magazzini") { $tab_presente['magazzini'] = "SI"; } if ($nome_tabella == "relinventario") { $tab_presente['relinventario'] = "SI"; } if ($nome_tabella == "casse") { $tab_presente['casse'] = "SI"; } if ($nome_tabella == "contratti") { $tab_presente['contratti'] = "SI"; } if ($nome_tabella == "interconnessioni") { $tab_presente['interconnessioni'] = "SI"; } if ($nome_tabella == "messaggi") { $tab_presente['messaggi'] = "SI"; } if (substr($nome_tabella, 0, 7) == "prenota") { $anno_ins = substr($nome_tabella, 7); $tab_presente[$anno_ins]['prenota'] = "SI"; } if (substr($nome_tabella, 0, 12) == "costiprenota") { $anno_ins = substr($nome_tabella, 12); $tab_presente[$anno_ins]['costiprenota'] = "SI"; } else { if (substr($nome_tabella, 0, 5) == "costi") { $anno_ins = substr($nome_tabella, 5); $tab_presente[$anno_ins]['costi'] = "SI"; } } if (substr($nome_tabella, 0, 15) == "rclientiprenota") { $anno_ins = substr($nome_tabella, 15); $tab_presente[$anno_ins]['rclientiprenota'] = "SI"; } if (substr($nome_tabella, 0, 6) == "regole") { $anno_ins = substr($nome_tabella, 6); $tab_presente[$anno_ins]['regole'] = "SI"; } if (substr($nome_tabella, 0, 5) == "soldi") { $anno_ins = substr($nome_tabella, 5); $tab_presente[$anno_ins]['soldi'] = "SI"; } if (substr($nome_tabella, 0, 7) == "periodi") { $anno_ins = substr($nome_tabella, 7); $tab_presente[$anno_ins]['periodi'] = "SI"; } if (substr($nome_tabella, 0, 8) == "ntariffe") { $anno_ins = substr($nome_tabella, 8); $tab_presente[$anno_ins]['ntariffe'] = "SI"; } if ($anno_ins and controlla_anno($anno_ins) == "NO") { $file_coerente = "NO"; $num_err .= "#1"; } if ($anno_ins and $tab_anno_esistente[$anno_ins] != "SI") { $tab_anno_esistente[$anno_ins] = "SI"; } } # fine if ($linea == "</colonnetabella>" and $leggendo_righe != "SI") 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; if (substr($nome_tabella, 0, 7) == "periodi" and substr($nome_colonna[$num_colonne], 0, 7) == "tariffa") { $lista_tariffe++; } if (substr($nome_tabella, 0, 8) == "ntariffe" and substr($nome_colonna[$num_colonne], 0, 7) == "tariffa") { $lista_tariffe++; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $lista_tariffe > max(C_MASSIMO_NUM_TARIFFE, 10) * 3) { $file_coerente = "NO"; $num_err .= "#2"; } } # 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 = 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 .= "#3"; } } # 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 .= "#4"; } if ($var_riserv[$nome[1]]) { $file_coerente = "NO"; $num_err .= "#5"; } } # fine if (substr($tipo_contr,0,4) == "vett") } # fine if ($nome_tabella == "contratti") 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 ((C_CREA_NUOVI_APP == "NO" or defined("C_MASSIMO_NUM_APP") and C_MASSIMO_NUM_APP != 0) and $nome_tabella == "appartamenti" and $linee_inserite_in_tabella[$nome_tabella] >= $num_appartamenti_prec) { $file_coerente = "NO"; $num_err .= "#6"; } if ($nome_tabella == "anni") { $campo_anno_esistente[$valore_colonna['idanni']] = $valore_colonna['tipo_periodi']; } if (C_CREA_ANNO_NON_ATTUALE == "NO" and $nome_tabella == "anni" and $valore_colonna['idanni'] < C_PRIMO_ANNO_CREATO) { $file_coerente = "NO"; $num_err .= "#7"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "utenti" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_UTENTI) { $file_coerente = "NO"; $num_err .= "#8"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "gruppi" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_UTENTI) { $file_coerente = "NO"; $num_err .= "#9"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and ($nome_tabella == "sessioni" or $nome_tabella == "transazioni") and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_UTENTI * 25) { $file_coerente = "NO"; $num_err .= "#10"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "privilegi" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 20) { $file_coerente = "NO"; $num_err .= "#11"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "personalizza" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_UTENTI * 50) { $file_coerente = "NO"; $num_err .= "#12"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "nazioni" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 3000) { $file_coerente = "NO"; $num_err .= "#13"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "regioni" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 3000) { $file_coerente = "NO"; $num_err .= "#14"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "citta" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 30000) { $file_coerente = "NO"; $num_err .= "#15"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "documentiid" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 2000) { $file_coerente = "NO"; $num_err .= "#16"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "parentele" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 1000) { $file_coerente = "NO"; $num_err .= "#17"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "relutenti" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 80000) { $file_coerente = "NO"; $num_err .= "#18"; } if (defined("C_MASSIMO_NUM_UTENTI") and C_MASSIMO_NUM_UTENTI != 0 and $nome_tabella == "relgruppi" and $linee_inserite_in_tabella[$nome_tabella] > C_MASSIMO_NUM_UTENTI * 8000) { $file_coerente = "NO"; $num_err .= "#19"; } if (defined("C_MASSIMO_NUM_CLIENTI") and C_MASSIMO_NUM_CLIENTI != 0 and $nome_tabella == "clienti" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CLIENTI) { $file_coerente = "NO"; $num_err .= "#20"; } if (defined("C_MASSIMO_NUM_CLIENTI") and C_MASSIMO_NUM_CLIENTI != 0 and $nome_tabella == "relclienti" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CLIENTI * 10) { $file_coerente = "NO"; $num_err .= "#21"; } if (defined("C_MASSIMO_NUM_CLIENTI") and C_MASSIMO_NUM_CLIENTI != 0 and $nome_tabella == "transazioniweb" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CLIENTI) { $file_coerente = "NO"; $num_err .= "#22"; } if (defined("C_MASSIMO_NUM_COSTI_AGG") and C_MASSIMO_NUM_COSTI_AGG != 0 and substr($nome_tabella, 0, 8) == "ntariffe" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_COSTI_AGG + 4) { $file_coerente = "NO"; $num_err .= "#23"; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $nome_tabella == "descrizioni" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_TARIFFE * 50 + 40) { $file_coerente = "NO"; $num_err .= "#24"; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $nome_tabella == "beniinventario" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_TARIFFE * 10000) { $file_coerente = "NO"; $num_err .= "#25"; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $nome_tabella == "magazzini" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_TARIFFE * 1000) { $file_coerente = "NO"; $num_err .= "#26"; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $nome_tabella == "relinventario" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_TARIFFE * 100000) { $file_coerente = "NO"; $num_err .= "#27"; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $nome_tabella == "casse" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_TARIFFE * 1000) { $file_coerente = "NO"; $num_err .= "#27.1"; } 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 .= "#28"; } if (defined("C_MASSIMO_NUM_CLIENTI") and C_MASSIMO_NUM_CLIENTI != 0 and $nome_tabella == "interconnessioni" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CLIENTI * 10) { $file_coerente = "NO"; $num_err .= "#29"; } if (defined("C_MASSIMO_NUM_CLIENTI") and C_MASSIMO_NUM_CLIENTI != 0 and $nome_tabella == "messaggi" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_CLIENTI) { $file_coerente = "NO"; $num_err .= "#30"; } if (defined("C_MASSIMO_NUM_STORIA_SOLDI") and C_MASSIMO_NUM_STORIA_SOLDI != 0 and substr($nome_tabella, 0, 5) == "soldi" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_STORIA_SOLDI + 1) { $file_coerente = "NO"; $num_err .= "#31"; } if (defined("C_MASSIMO_NUM_COSTI") and C_MASSIMO_NUM_COSTI != 0 and substr($nome_tabella, 0, 5) == "costi" and $linee_inserite_in_tabella[$nome_tabella] >= C_MASSIMO_NUM_COSTI) { $file_coerente = "NO"; $num_err .= "#32"; } if (substr($nome_tabella, 0, 8) == "ntariffe" and $valore_colonna['idntariffe'] == 1) { $numero_tariffe[substr($nome_tabella, 8)] = $valore_colonna['nomecostoagg']; } if ($nome_tabella == "versioni" and $linee_inserite_in_tabella[$nome_tabella] >= 2) { $file_coerente = "NO"; $num_err .= "#33"; } $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"; } } else { if ($linea == "</file>") { $leggendo_file = "NO"; } if ($leggendo_file == "SI") { if ($nome_file) { if ($leggendo_contenuto == "SI") { if (substr($linea, -12) == "</contenuto>") { $leggendo_contenuto = "NO"; $leggendo_cont_file_sel = "NO"; $linea = substr($linea, 0, -12); } # fine if (substr($linea,-12) == "</contenuto>") $linea = trim($linea); if ($leggendo_prima_linea == "SI") { $prima_linea = $linea; $leggendo_prima_linea = "NO"; } # fine if ($leggendo_prima_linea == "SI") if ($nome_file == "./data/versione.php") { if ($linea != "" and $linea != "<?php" and $linea != "define(C_VERSIONE_ATTUALE," . C_PHP_VERSION_NUM . ");" and preg_replace("/define\\(C_DIFF_ORE,-?[0-9]{1,2}\\);/", "", $linea) != "" and $linea != "?>") { $file_coerente = "NO"; $num_err .= "#34"; } } # fine if ($nome_file == "./data/versione.php") if ($nome_file == "./data/selectappartamenti.php") { if ($linea == "\";") { $leggendo_cont_file_sel = "NO"; } if ($leggendo_cont_file_sel != "SI" and $linea != "" and $linea != "<?php" and $linea != "?>" and $linea != "\";" and $linea != "echo \"") { $file_coerente = "NO"; $num_err .= "#35"; } if ($leggendo_cont_file_sel == "SI") { if (str_replace("\\\\", "", $linea) != $linea) { $file_coerente = "NO"; $num_err .= "#36"; } $linea = str_replace("\\\"", "", $linea); if (str_replace("\"", "", $linea) != $linea) { $file_coerente = "NO"; $num_err .= "#37"; } } # fine if ($leggendo_cont_file_sel == "SI") if ($linea == "echo \"") { $leggendo_cont_file_sel = "SI"; } } # fine if ($nome_file == "./data/selectappartamenti.php") if (substr($nome_file, 0, 20) == "./data/selectperiodi" or substr($nome_file, 0, 21) == "./data/selperiodimenu") { if ($linea == "\";") { $leggendo_cont_file_sel = "NO"; } if ($leggendo_cont_file_sel != "SI") { $linea_trovata = "NO"; if ($linea == "") { $linea_trovata = "SI"; } if ($linea == "<?php") { $linea_trovata = "SI"; } if ($linea == "?>") { $linea_trovata = "SI"; } if ($linea == "\";") { $linea_trovata = "SI"; } if ($linea == "\$dates_options_list = \"") { $linea_trovata = "SI"; } if (preg_replace("/\\\$y_ini_menu\\[[0-9]{1,2}\\] = \"[0-9]{1,4}\";/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$m_ini_menu\\[[0-9]{1,2}\\] = \"[0-9]{1,2}\";/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$d_ini_menu\\[[0-9]{1,2}\\] = \"[0-9]{1,2}\";/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$n_dates_menu\\[[0-9]{1,2}\\] = \"[0-9]{1,4}\";/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$d_increment\\[[0-9]{1,2}\\] = \"[0-9]{1,2}\";/", "", $linea) == "") { $linea_trovata = "SI"; } if ($linea == "\$partial_dates = 1;") { $linea_trovata = "SI"; } if (preg_replace("/\\\$d_names = \"\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\"\";/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$m_names = \"\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\",\\\\\"[^\"]{1,16}\\\\\"\";/", "", $linea) == "") { $linea_trovata = "SI"; } if ($linea_trovata != "SI") { $file_coerente = "NO"; $num_err .= "#38"; } } # fine if ($leggendo_cont_file_sel != "SI") if ($leggendo_cont_file_sel == "SI") { if (str_replace("\\\\", "", $linea) != $linea) { $file_coerente = "NO"; $num_err .= "#39"; } $linea = str_replace("\\\"", "", $linea); if (str_replace("\"", "", $linea) != $linea) { $file_coerente = "NO"; $num_err .= "#40"; } } # fine if ($leggendo_cont_file_sel == "SI") if ($linea == "\$dates_options_list = \"") { $leggendo_cont_file_sel = "SI"; } } # fine if (substr($nome_file,0,20) == "./data/selectperiodi" or... if ($nome_file == "./data/abilita_login" and $linea != "") { $file_coerente = "NO"; $num_err .= "#41"; } if ($nome_file == "./data/lingua.php" and $linea != "" and $linea != "<?php" and $linea != "?>" and preg_replace("/\\\$lingua\\[[0-9]{1,8}\\] = \"[a-z]{1,3}\";/", "", $linea) != "") { $file_coerente = "NO"; $num_err .= "#42"; } if ($nome_file == "./data/unit.php" or $nome_file == "./data/unit_single.php") { $linea_trovata = "NO"; if ($linea == "") { $linea_trovata = "SI"; } if ($linea == "<?php") { $linea_trovata = "SI"; } if ($linea == "?>") { $linea_trovata = "SI"; } if (preg_replace("/^\\\$unit\\['(p_n|s_n|gender)'\\] = \\\$trad_var\\['[a-z_]*'\\];/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/^\\\$unit\\['lang'\\]\\['[a-z]{2,3}'\\]\\['(p_n|s_n|gender)'\\] = '[^']*';/", "", $linea) == "") { $linea_trovata = "SI"; } if ($linea == "\$unit['s_n'] = \$unit['lang'][\$lingua_mex]['s_n'];") { $linea_trovata = "SI"; } if ($linea == "\$unit['p_n'] = \$unit['lang'][\$lingua_mex]['p_n'];") { $linea_trovata = "SI"; } if ($linea == "\$unit['gender'] = \$unit['lang'][\$lingua_mex]['gender'];") { $linea_trovata = "SI"; } if ($linea == "\$unit['special'] = 0;") { $linea_trovata = "SI"; } if ($linea == "\$car_spec = explode(\",\",\$trad_var['special_characters']);") { $linea_trovata = "SI"; } if ($linea == "for (\$num1 = 0 ; \$num1 < count(\$car_spec) ; \$num1++) if (substr(\$unit['p_n'],0,strlen(\$car_spec[\$num1])) == \$car_spec[\$num1]) \$unit['special'] = 1;") { $linea_trovata = "SI"; } if ($linea_trovata != "SI") { $file_coerente = "NO"; $num_err .= "#42.1"; } } # fine if ($nome_file == "./data/unit.php" or $nome_file == "./data/unit_single.php") if ($nome_file == "./data/tema.php" and $linea != "" and $linea != "<?php" and $linea != "?>" and preg_replace("/\\\$tema\\[[0-9]{1,8}\\] = \"[a-z]{1,4}\";/", "", $linea) != "" and preg_replace("/\\\$parole_sost = [01];/", "", $linea) != "") { $file_coerente = "NO"; $num_err .= "#43"; } if ($nome_file == "./data/parole_sost.php" and $linea != "" and $linea != "<?php" and $linea != "?>" and preg_replace("/\\\$messaggio = str_replace\\(\"[^\"]*\",\"[^\"]*\",\\\$messaggio\\);/", "", $linea) != "") { $file_coerente = "NO"; $num_err .= "#44"; } if ($nome_file == "./data/dati_interconnessioni.php") { $linea_trovata = "NO"; if ($linea == "") { $linea_trovata = "SI"; } if ($linea == "<?php") { $linea_trovata = "SI"; } if ($linea == "?>") { $linea_trovata = "SI"; } if (preg_replace("/^#[0-9a-zA-Z _]*/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/^unset\\(\\\$ic_[a-z_]+[0-9a-z_]*\\);/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$ic_[a-z_]+[0-9a-z_]*\\[?\"?[0-9a-zA-Z_]*\"?\\]?\\[?\"?[0-9a-zA-Z_]*\"?\\]?\\[?\"?[0-9a-zA-Z_]*\"?\\]? = \"[^\"]*\";/", "", $linea) == "") { $linea_trovata = "SI"; } if (preg_replace("/\\\$ic_org[a-z_]+[0-9a-z_]*_ic = C_[A-Z][A-Z_]*[A-Z]_IC;/", "", $linea) == "") { $linea_trovata = "SI"; } if ($linea_trovata != "SI") { $file_coerente = "NO"; $num_err .= "#45"; } } # fine if ($nome_file == "./data/dati_interconnessioni.php") if ($nome_file == "./data/log_utenti.php" and ($prima_linea != "<?php exit(); ?>" or $linea != "<?php exit(); ?>" and preg_replace("/^[0-9]+>[0-9]{4,4}-[0-9]{2,2}-[0-9]{2,2} [0-9]{2,2}:[0-9]{2,2}:[0-9]{2,2}>[a-zA-Z]?.*/", "", $linea) != "")) { $file_coerente = "NO"; $num_err .= "#46"; } if ($leggendo_contenuto == "NO") { $nome_file = ""; } } # fine if ($leggendo_contenuto == "SI") if ($linea == "<contenuto>") { $leggendo_contenuto = "SI"; $leggendo_prima_linea = "SI"; } # fine if ($linea == "<contenuto>") } # fine if ($nome_file) if (substr($linea, 0, 10) == "<nomefile>") { $nome_file = substr($linea, 10); $nome_file = substr($nome_file, 0, -11); if (C_CREA_SUBORDINAZIONI == "NO" and str_replace("dati_subordinazione", "", $nome_file) != $nome_file) { $file_coerente = "NO"; $num_err .= "#47"; } if (substr($nome_file, 0, 7) != "./data/") { $file_coerente = "NO"; $num_err .= "#48"; } $nome_file_vett = explode("/", $nome_file); if (count($nome_file_vett) > 3) { $file_coerente = "NO"; $num_err .= "#49"; } $nome_file_trovato = "NO"; if ($nome_file == "./data/selectappartamenti.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/abilita_login") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/lingua.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/unit.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/unit_single.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/tema.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/parole_sost.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/dati_interconnessioni.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/log_utenti.php") { $nome_file_trovato = "SI"; } if ($nome_file == "./data/versione.php") { $nome_file_trovato = "SI"; } if (substr($nome_file, 0, 20) == "./data/selectperiodi") { $nome_file_trovato = "SI"; } if (substr($nome_file, 0, 21) == "./data/selperiodimenu") { $nome_file_trovato = "SI"; } if ($nome_file_trovato == "NO") { $file_coerente = "NO"; $num_err .= "#50"; } } # fine if (substr($linea,0,9) == "<nomefile>") } # fine if ($leggendo_file == "SI") if ($linea == "<file>" and $leggendo_modello != "SI") { $leggendo_file = "SI"; } } # fine else if ($leggendo_database == "SI") if ($linea == "<database>" and $leggendo_modello != "SI") { $leggendo_database = "SI"; } if ($linea == "</modello>") { $leggendo_modello = "NO"; } if ($linea == "<modello>" and $leggendo_database != "SI" and $leggendo_file != "SI") { $leggendo_modello = "SI"; } } # fine if ($leggendo_backup == "SI") if ($linea == "<backup>") { $leggendo_backup = "SI"; } } # fine for $num1 } # fine while (!feof($fbackup)) fclose($fbackup); } else { $file_coerente = "NO"; $num_err .= "#51"; } if (preg_replace("/SI[0-9,]*/", "", $phpr_log) != "") { $phpr_log = "NO"; } if (!@is_array($campo_anno_esistente) or !@is_array($tab_anno_esistente)) { $file_coerente = "NO"; $num_err .= "#52"; } else { if (count($campo_anno_esistente) != count($tab_anno_esistente)) { $file_coerente = "NO"; $num_err .= "#53"; } reset($campo_anno_esistente); while (list($key, $val) = each($campo_anno_esistente)) { if ($tab_anno_esistente[$key] != "SI") { $file_coerente = "NO"; $num_err .= "#54"; } if ($tab_presente[$key]['prenota'] != "SI") { $file_coerente = "NO"; $num_err .= "#55"; } if ($tab_presente[$key]['costiprenota'] != "SI") { $file_coerente = "NO"; $num_err .= "#56"; } if ($tab_presente[$key]['rclientiprenota'] != "SI") { $file_coerente = "NO"; $num_err .= "#57"; } if ($tab_presente[$key]['costi'] != "SI") { $file_coerente = "NO"; $num_err .= "#58"; } if ($tab_presente[$key]['regole'] != "SI") { $file_coerente = "NO"; $num_err .= "#59"; } if ($tab_presente[$key]['soldi'] != "SI") { $file_coerente = "NO"; $num_err .= "#60"; } if ($tab_presente[$key]['periodi'] != "SI") { $file_coerente = "NO"; $num_err .= "#61"; } if ($tab_presente[$key]['ntariffe'] != "SI") { $file_coerente = "NO"; $num_err .= "#62"; } if (defined("C_PRIMO_ANNO_CREATO") and C_CREA_ANNO_NON_ATTUALE == "NO" and $key < C_PRIMO_ANNO_CREATO) { $file_coerente = "NO"; $num_err .= "#63"; } if (C_CREA_ANNO_NON_ATTUALE == "NO" and $key > date("Y", time() + C_DIFF_ORE * 3600)) { $file_coerente = "NO"; $num_err .= "#64"; } if (!$anno_max or $key > $anno_max) { $anno_max = $key; $ultimo_tipo_periodi = $val; } # fine if (!$anno_max or $key > $anno_max) if (!$numero_tariffe[$key] or controlla_num_pos($numero_tariffe[$key]) == "NO") { $file_coerente = "NO"; $num_err .= "#65"; } if (defined("C_MASSIMO_NUM_TARIFFE") and C_MASSIMO_NUM_TARIFFE != 0 and $numero_tariffe[$key] > C_MASSIMO_NUM_TARIFFE) { $file_coerente = "NO"; $num_err .= "#66"; } if ($val != "g" and $val != "s") { $file_coerente = "NO"; $num_err .= "#67"; } if ($val == "g" and $linee_inserite_in_tabella["periodi" . $key] > 1825 or $val == "s" and $linee_inserite_in_tabella["periodi" . $key] > 260) { $file_coerente = "NO"; $num_err .= "#68"; } $prenotazioni_max = $linee_inserite_in_tabella["periodi" . $key] * ($linee_inserite_in_tabella["appartamenti"] + 2); if (defined("C_MASSIMO_NUM_COSTI_AGG_IN_PRENOTA") and C_MASSIMO_NUM_COSTI_AGG_IN_PRENOTA != 0 and $linee_inserite_in_tabella["costiprenota" . $key] > C_MASSIMO_NUM_COSTI_AGG_IN_PRENOTA * $prenotazioni_max) { $file_coerente = "NO"; $num_err .= "#69"; } if (defined("C_MASSIMO_NUM_CLIENTI") and C_MASSIMO_NUM_CLIENTI != 0 and $linee_inserite_in_tabella["rclientiprenota" . $key] > C_MASSIMO_NUM_CLIENTI * $prenotazioni_max) { $file_coerente = "NO"; $num_err .= "#70"; } if ($linee_inserite_in_tabella["prenota" . $key] > $prenotazioni_max) { $file_coerente = "NO"; $num_err .= "#71"; } if ($linee_inserite_in_tabella["regole" . $key] > $prenotazioni_max + $numero_tariffe[$key] * 2) { $file_coerente = "NO"; $num_err .= "#72"; } } # fine while (list($key,$val) = each($campo_anno_esistente)) } # fine else if (!@is_array($campo_anno_esistente) or... if (C_CAMBIA_TIPO_PERIODI == "NO" and $tipo_periodi_prec[$ultimo_anno_prec] != $ultimo_tipo_periodi) { $file_coerente = "NO"; $num_err .= "#73"; } if ($tab_presente['clienti'] != "SI") { $file_coerente = "NO"; $num_err .= "#74"; } if ($tab_presente['relclienti'] != "SI") { $file_coerente = "NO"; $num_err .= "#75"; } if ($tab_presente['anni'] != "SI") { $file_coerente = "NO"; $num_err .= "#76"; } if ($tab_presente['versioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#77"; } if ($tab_presente['nazioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#78"; } if ($tab_presente['regioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#79"; } if ($tab_presente['citta'] != "SI") { $file_coerente = "NO"; $num_err .= "#80"; } if ($tab_presente['documentiid'] != "SI") { $file_coerente = "NO"; $num_err .= "#81"; } if ($tab_presente['parentele'] != "SI") { $file_coerente = "NO"; $num_err .= "#82"; } if ($tab_presente['personalizza'] != "SI") { $file_coerente = "NO"; $num_err .= "#83"; } if ($tab_presente['appartamenti'] != "SI") { $file_coerente = "NO"; $num_err .= "#84"; } if ($tab_presente['utenti'] != "SI") { $file_coerente = "NO"; $num_err .= "#85"; } if ($tab_presente['gruppi'] != "SI") { $file_coerente = "NO"; $num_err .= "#86"; } if ($tab_presente['privilegi'] != "SI") { $file_coerente = "NO"; $num_err .= "#87"; } if ($tab_presente['relutenti'] != "SI") { $file_coerente = "NO"; $num_err .= "#88"; } if ($tab_presente['relgruppi'] != "SI") { $file_coerente = "NO"; $num_err .= "#89"; } if ($tab_presente['sessioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#90"; } if ($tab_presente['transazioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#91"; } if ($tab_presente['transazioniweb'] != "SI") { $file_coerente = "NO"; $num_err .= "#92"; } if ($tab_presente['descrizioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#93"; } if ($tab_presente['beniinventario'] != "SI") { $file_coerente = "NO"; $num_err .= "#94"; } if ($tab_presente['magazzini'] != "SI") { $file_coerente = "NO"; $num_err .= "#95"; } if ($tab_presente['relinventario'] != "SI") { $file_coerente = "NO"; $num_err .= "#96"; } if ($tab_presente['casse'] != "SI") { $file_coerente = "NO"; $num_err .= "#96.1"; } if ($tab_presente['contratti'] != "SI") { $file_coerente = "NO"; $num_err .= "#97"; } if ($tab_presente['interconnessioni'] != "SI") { $file_coerente = "NO"; $num_err .= "#98"; } if ($tab_presente['messaggi'] != "SI") { $file_coerente = "NO"; $num_err .= "#99"; } unset($tab_presente); unset($var_riserv); if ($file_coerente == "NO") { if ($silenzio != "SI") { echo mex("Il formato del file è errato", $pag) . ".<br>"; } # debug backup COMPLETO #if ($num_err) echo mex("Errori",$pag).": $num_err.<br>"; } else { if (defined('C_EXT_DB_DATA_PATH') and C_EXT_DB_DATA_PATH) { $HOTELD_DB_TYPE = ""; $HOTELD_DB_NAME = ""; $HOTELD_DB_HOST = ""; $HOTELD_DB_PORT = ""; $HOTELD_DB_USER = ""; $HOTELD_DB_PASS = ""; $HOTELD_TAB_PRE = ""; include C_EXT_DB_DATA_PATH; if ($HOTELD_DB_TYPE) { $N_PHPR_DB_TYPE = $HOTELD_DB_TYPE; } if ($HOTELD_DB_NAME) { $N_PHPR_DB_NAME = $HOTELD_DB_NAME; } if ($HOTELD_DB_HOST) { $N_PHPR_DB_HOST = $HOTELD_DB_HOST; } if (strcmp($HOTELD_DB_PORT, "")) { $N_PHPR_DB_PORT = $HOTELD_DB_PORT; } if ($HOTELD_DB_USER) { $N_PHPR_DB_USER = $HOTELD_DB_USER; } if (strcmp($HOTELD_DB_PASS, "")) { $N_PHPR_DB_PASS = $HOTELD_DB_PASS; } if ($HOTELD_TAB_PRE) { $N_PHPR_TAB_PRE = $HOTELD_TAB_PRE; } } # fine if (defined('C_EXT_DB_DATA_PATH') and C_EXT_DB_DATA_PATH) if ($N_PHPR_DB_TYPE == "mysql" and @function_exists('mysqli_connect')) { $N_PHPR_DB_TYPE = "mysqli"; } if ($N_PHPR_DB_NAME != $PHPR_DB_NAME or $N_PHPR_DB_HOST != $PHPR_DB_HOST or $N_PHPR_DB_PORT != $PHPR_DB_PORT or $N_PHPR_DB_TYPE != $PHPR_DB_TYPE) { $nuovo_db = "SI"; if ($N_PHPR_DB_NAME == $PHPR_DB_NAME and $N_PHPR_DB_HOST == $PHPR_DB_HOST and $N_PHPR_DB_PORT == $PHPR_DB_PORT and substr($N_PHPR_DB_TYPE, 0, 5) == "mysql" and substr($PHPR_DB_TYPE, 0, 5) == "mysql") { $database_esistente = "SI"; } } # fine if ($N_PHPR_DB_NAME != $PHPR_DB_NAME or $N_PHPR_DB_HOST != $PHPR_DB_HOST or... if ($nuovo_db == "SI" or $N_PHPR_TAB_PRE != $PHPR_TAB_PRE) { $mantieni_anni = ""; } unset($anno_mantieni); $tabelle_lock = array($tableanni, $tableutenti); $altre_tab_lock = array($PHPR_TAB_PRE . "clienti", $PHPR_TAB_PRE . "personalizza", $PHPR_TAB_PRE . "privilegi"); $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); $anni_vecchi = esegui_query("select * from {$tableanni} order by idanni"); $num_anni_vecchi = numlin_query($anni_vecchi); $utenti_vecchi = esegui_query("select * from {$tableutenti} order by idutenti"); unlink(C_DATA_PATH . "/dati_connessione.php"); unlink(C_DATA_PATH . "/selectappartamenti.php"); unlink(C_DATA_PATH . "/versione.php"); unlink(C_DATA_PATH . "/tema.php"); if (@is_file(C_DATA_PATH . "/parole_sost.php")) { unlink(C_DATA_PATH . "/parole_sost.php"); } if (@is_file(C_DATA_PATH . "/dati_interconnessioni.php")) { unlink(C_DATA_PATH . "/dati_interconnessioni.php"); } if (@is_file(C_DATA_PATH . "/abilita_login")) { unlink(C_DATA_PATH . "/abilita_login"); } if (@is_file(C_DATA_PATH . "/log_utenti.php")) { unlink(C_DATA_PATH . "/log_utenti.php"); } #if (@is_file(C_DATI_PATH."/ultimo_accesso")) unlink(C_DATI_PATH."/ultimo_accesso"); esegui_query("drop table " . $PHPR_TAB_PRE . "anni"); esegui_query("drop table " . $PHPR_TAB_PRE . "utenti"); unlock_tabelle($tabelle_lock); for ($num1 = 0; $num1 < $num_anni_vecchi; $num1 = $num1 + 1) { $anno_cancella = risul_query($anni_vecchi, $num1, 'idanni'); if (!$mantieni_anni or $campo_anno_esistente[$anno_cancella]) { esegui_query("drop table " . $PHPR_TAB_PRE . "prenota{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "costiprenota{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "rclientiprenota{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "periodi{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "ntariffe{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "regole{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "soldi{$anno_cancella}"); esegui_query("drop table " . $PHPR_TAB_PRE . "costi{$anno_cancella}"); for ($num2 = 0; $num2 < numlin_query($utenti_vecchi); $num2++) { $idutente_canc = risul_query($utenti_vecchi, $num2, 'idutenti'); if (@is_file(C_DATA_PATH . "/selectperiodi{$anno_cancella}.{$idutente_canc}.php")) { unlink(C_DATA_PATH . "/selectperiodi{$anno_cancella}.{$idutente_canc}.php"); } if (@is_file(C_DATA_PATH . "/selperiodimenu{$anno_cancella}.{$idutente_canc}.php")) { unlink(C_DATA_PATH . "/selperiodimenu{$anno_cancella}.{$idutente_canc}.php"); } } # fine for $num2 } elseif ($mantieni_anni) { $anno_mantieni[$anno_cancella] = 1; } } # fine for $num1 if ($mantieni_anni and @is_array($anno_mantieni)) { $clienti_vecchi = esegui_query("select * from " . $PHPR_TAB_PRE . "clienti order by idclienti"); $max_clienti_vecchi = esegui_query("select max(idclienti) from " . $PHPR_TAB_PRE . "clienti"); $max_clienti_vecchi = risul_query($max_clienti_vecchi, 0, 0); $privilegi_vecchi = esegui_query("select * from " . $PHPR_TAB_PRE . "privilegi order by idutente"); $personalizza_vecchi = esegui_query("select * from " . $PHPR_TAB_PRE . "personalizza where idpersonalizza {$LIKE} 'giorno_vedi_ini_sett%' "); } # fine if ($mantieni_anni and @is_array($anno_mantieni)) esegui_query("drop table " . $PHPR_TAB_PRE . "appartamenti"); esegui_query("drop table " . $PHPR_TAB_PRE . "clienti"); esegui_query("drop table " . $PHPR_TAB_PRE . "relclienti"); esegui_query("drop table " . $PHPR_TAB_PRE . "personalizza"); esegui_query("drop table " . $PHPR_TAB_PRE . "versioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "nazioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "regioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "citta"); esegui_query("drop table " . $PHPR_TAB_PRE . "documentiid"); esegui_query("drop table " . $PHPR_TAB_PRE . "parentele"); esegui_query("drop table " . $PHPR_TAB_PRE . "gruppi"); esegui_query("drop table " . $PHPR_TAB_PRE . "privilegi"); esegui_query("drop table " . $PHPR_TAB_PRE . "relutenti"); esegui_query("drop table " . $PHPR_TAB_PRE . "relgruppi"); esegui_query("drop table " . $PHPR_TAB_PRE . "sessioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "transazioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "transazioniweb"); esegui_query("drop table " . $PHPR_TAB_PRE . "descrizioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "beniinventario"); esegui_query("drop table " . $PHPR_TAB_PRE . "magazzini"); esegui_query("drop table " . $PHPR_TAB_PRE . "relinventario"); esegui_query("drop table " . $PHPR_TAB_PRE . "casse"); esegui_query("drop table " . $PHPR_TAB_PRE . "contratti"); esegui_query("drop table " . $PHPR_TAB_PRE . "cache"); esegui_query("drop table " . $PHPR_TAB_PRE . "interconnessioni"); esegui_query("drop table " . $PHPR_TAB_PRE . "messaggi"); disconnetti_db($numconnessione); if ($nuovo_db == "SI") { if ($silenzio != "SI") { echo "<br>" . mex("Vecchio database svuotato, per rimuoverlo del tutto procedere manualmente", $pag) . ".<br><br>"; } if ($database_esistente != "SI") { if ($N_PHPR_DB_TYPE == "postgresql") { if ($N_PHPR_LOAD_EXT == "SI" and $ext_pgsql_caricata != "SI") { dl("pgsql.so"); $ext_pgsql_caricata = "SI"; } # fine if ($N_PHPR_LOAD_EXT == "SI" and $ext_pgsql_caricata != "SI") $numconnessione = pg_connect("dbname={$tempdatabase} host={$N_PHPR_DB_HOST} port={$N_PHPR_DB_PORT} user={$N_PHPR_DB_USER} password={$N_PHPR_DB_PASS} "); $encoding = " with encoding = 'SQL_ASCII'"; $encoding = ""; pg_exec("set datestyle to 'iso'"); } # fine if ($N_PHPR_DB_TYPE == "postgresql") if ($N_PHPR_DB_TYPE == "mysql") { if ($N_PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") { dl("mysql.so"); $ext_mysql_caricata = "SI"; } # fine if ($PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") $numconnessione = mysql_connect("{$N_PHPR_DB_HOST}:{$N_PHPR_DB_PORT}", "{$N_PHPR_DB_USER}", "{$N_PHPR_DB_PASS}"); @mysql_query("SET NAMES 'utf8'"); @mysql_query("SET default_storage_engine=MYISAM"); $encoding = ""; } # fine if ($N_PHPR_DB_TYPE == "mysql") if ($N_PHPR_DB_TYPE == "mysqli") { if ($N_PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") { dl("mysqli.so"); $ext_mysql_caricata = "SI"; } # fine if ($PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") $numconnessione = mysqli_connect($N_PHPR_DB_HOST, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, "", $N_PHPR_DB_PORT); @mysqli_query($numconnessione, "SET NAMES 'utf8'"); @mysqli_query($numconnessione, "SET default_storage_engine=MYISAM"); $encoding = ""; } # fine if ($N_PHPR_DB_TYPE == "mysqli") if ($N_PHPR_DB_TYPE == "sqlite") { if ($N_PHPR_LOAD_EXT == "SI" and $ext_sqlite_caricata != "SI") { dl("sqlite.so"); $ext_sqlite_caricata = "SI"; } # fine if ($PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") $numconnessione = new SQLite3(C_DATA_PATH . "/db_" . $N_PHPR_DB_NAME); $query = $numconnessione; $database_esistente = "SI"; } # fine if ($N_PHPR_DB_TYPE == "sqlite") if ($database_esistente != "SI") { $query = esegui_query2("create database {$N_PHPR_DB_NAME} {$encoding}", $N_PHPR_DB_TYPE); } if ($N_PHPR_DB_TYPE == "postgresql") { pg_close($numconnessione); } if ($N_PHPR_DB_TYPE == "mysql") { mysql_close($numconnessione); } if ($N_PHPR_DB_TYPE == "mysqli") { mysqli_close($numconnessione); } if ($N_PHPR_DB_TYPE == "sqlite") { $numconnessione->close(); } } else { $query = 1; } } else { $query = 1; } unlink(C_DATA_PATH . "/lingua.php"); unlink(C_DATA_PATH . "/unit.php"); unlink(C_DATA_PATH . "/unit_single.php"); if ($query) { $character_set_db = ""; $collation_db = ""; if ($N_PHPR_DB_TYPE == "postgresql") { $DATETIME = "timestamp"; $MEDIUMTEXT = "text"; if ($N_PHPR_LOAD_EXT == "SI" and $ext_pgsql_caricata != "SI") { dl("pgsql.so"); $ext_pgsql_caricata = "SI"; } # fine if ($N_PHPR_LOAD_EXT == "SI" and $ext_pgsql_caricata != "SI") $numconnessione = pg_connect("dbname={$N_PHPR_DB_NAME} host={$N_PHPR_DB_HOST} port={$N_PHPR_DB_PORT} user={$N_PHPR_DB_USER} password={$N_PHPR_DB_PASS} "); pg_exec("set datestyle to 'iso'"); } # fine if ($N_PHPR_DB_TYPE == "postgresql") if ($N_PHPR_DB_TYPE == "mysql") { $DATETIME = "datetime"; $MEDIUMTEXT = "mediumtext"; if ($N_PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") { dl("mysql.so"); $ext_mysql_caricata = "SI"; } # fine if ($N_PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") $numconnessione = mysql_connect("{$N_PHPR_DB_HOST}:{$N_PHPR_DB_PORT}", "{$N_PHPR_DB_USER}", "{$N_PHPR_DB_PASS}"); @mysql_query("SET NAMES 'utf8'"); @mysql_query("SET default_storage_engine=MYISAM"); $select_db = mysql_select_db($N_PHPR_DB_NAME); if (!$select_db) { $numconnessione = ""; } else { $character_set = mysql_query("SHOW VARIABLES LIKE 'character_set_database'"); $collation = mysql_query("SHOW VARIABLES LIKE 'collation_database'"); if (mysql_num_rows($character_set) == 1 and mysql_num_rows($collation) == 1) { $character_set_db = mysql_result($character_set, 0, 'Value'); $collation_db = mysql_result($collation, 0, 'Value'); if ($character_set_db != "utf8" or $collation_db != "utf8_general_ci") { mysql_query("alter database {$N_PHPR_DB_NAME} default character set 'utf8' collate 'utf8_general_ci'"); } } # fine if (mysql_num_rows($character_set) == 1 and mysql_num_rows($collation) == 1) } # fine else if (!$select_db) } # fine if ($N_PHPR_DB_TYPE == "mysql") if ($N_PHPR_DB_TYPE == "mysqli") { $DATETIME = "datetime"; $MEDIUMTEXT = "mediumtext"; if ($N_PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") { dl("mysqli.so"); $ext_mysql_caricata = "SI"; } # fine if ($N_PHPR_LOAD_EXT == "SI" and $ext_mysql_caricata != "SI") global $link_mysqli; $numconnessione = mysqli_connect($N_PHPR_DB_HOST, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, "", $N_PHPR_DB_PORT); $link_mysqli = $numconnessione; @mysqli_query($numconnessione, "SET NAMES 'utf8'"); @mysqli_query($numconnessione, "SET default_storage_engine=MYISAM"); $select_db = mysqli_select_db($numconnessione, $N_PHPR_DB_NAME); if (!$select_db) { $numconnessione = ""; } else { $character_set = mysqli_query($numconnessione, "SHOW VARIABLES LIKE 'character_set_database'"); $collation = mysqli_query($numconnessione, "SHOW VARIABLES LIKE 'collation_database'"); if (mysqli_num_rows($character_set) == 1 and mysqli_num_rows($collation) == 1) { $character_set_db = mysqli_fetch_assoc($character_set); $character_set_db = $character_set_db['Value']; $collation_db = mysqli_fetch_assoc($collation); $collation_db = $collation_db['Value']; if ($character_set_db != "utf8" or $collation_db != "utf8_general_ci") { mysqli_query($numconnessione, "alter database {$N_PHPR_DB_NAME} default character set 'utf8' collate 'utf8_general_ci'"); } } # fine if (mysqli_num_rows($character_set) == 1 and mysqli_num_rows($collation) == 1) } # fine else if (!$select_db) } # fine if ($N_PHPR_DB_TYPE == "mysqli") if ($N_PHPR_DB_TYPE == "sqlite") { $DATETIME = "text"; $MEDIUMTEXT = "text"; if ($N_PHPR_LOAD_EXT == "SI" and $ext_sqlite_caricata != "SI") { dl("sqlite.so"); $ext_sqlite_caricata = "SI"; } # fine if ($N_PHPR_LOAD_EXT == "SI" and $ext_sqlite_caricata != "SI") $numconnessione = new SQLite3(C_DATA_PATH . "/db_" . $N_PHPR_DB_NAME); } # fine if ($N_PHPR_DB_TYPE == "sqlite") if ($numconnessione) { $fileaperto = fopen(C_DATA_PATH . "/dati_connessione.php", "w+"); if (defined('C_EXT_DB_DATA_PATH') and C_EXT_DB_DATA_PATH) { if ($HOTELD_DB_TYPE) { $N_PHPR_DB_TYPE = ""; } if ($HOTELD_DB_NAME) { $N_PHPR_DB_NAME = ""; } if ($HOTELD_DB_HOST) { $N_PHPR_DB_HOST = ""; } if (strcmp($HOTELD_DB_PORT, "")) { $N_PHPR_DB_PORT = ""; } if ($HOTELD_DB_USER) { $N_PHPR_DB_USER = ""; } if (strcmp($HOTELD_DB_PASS, "")) { $N_PHPR_DB_PASS = ""; } if ($HOTELD_TAB_PRE) { $N_PHPR_TAB_PRE = ""; } } # fine if (defined('C_EXT_DB_DATA_PATH') and C_EXT_DB_DATA_PATH) $N_PHPR_DB_NAME = aggiungi_slash($N_PHPR_DB_NAME); $N_PHPR_DB_HOST = aggiungi_slash($N_PHPR_DB_HOST); $N_PHPR_DB_USER = aggiungi_slash($N_PHPR_DB_USER); $N_PHPR_DB_PASS = aggiungi_slash($N_PHPR_DB_PASS); fwrite($fileaperto, "<?php\n\$PHPR_DB_TYPE = \"{$N_PHPR_DB_TYPE}\";\n\$PHPR_DB_NAME = \"{$N_PHPR_DB_NAME}\";\n\$PHPR_DB_HOST = \"{$N_PHPR_DB_HOST}\";\n\$PHPR_DB_PORT = \"{$N_PHPR_DB_PORT}\";\n\$PHPR_DB_USER = \"{$N_PHPR_DB_USER}\";\n\$PHPR_DB_PASS = \"{$N_PHPR_DB_PASS}\";\n\$PHPR_LOAD_EXT = \"{$N_PHPR_LOAD_EXT}\";\n\$PHPR_TAB_PRE = \"{$N_PHPR_TAB_PRE}\";\n\$PHPR_LOG = \"{$phpr_log}\";\n"); if (defined('C_EXT_DB_DATA_PATH') and C_EXT_DB_DATA_PATH) { fwrite($fileaperto, "\n\$HOTELD_DB_TYPE = \"\";\n\$HOTELD_DB_NAME = \"\";\n\$HOTELD_DB_HOST = \"\";\n\$HOTELD_DB_PORT = \"\";\n\$HOTELD_DB_USER = \"\";\n\$HOTELD_DB_PASS = \"\";\n\$HOTELD_TAB_PRE = \"\";\nrequire('" . C_EXT_DB_DATA_PATH . "');\nif (\$HOTELD_DB_TYPE) \$PHPR_DB_TYPE = \$HOTELD_DB_TYPE;\nif (\$HOTELD_DB_NAME) \$PHPR_DB_NAME = \$HOTELD_DB_NAME;\nif (\$HOTELD_DB_HOST) \$PHPR_DB_HOST = \$HOTELD_DB_HOST;\nif (strcmp(\$HOTELD_DB_PORT,\"\")) \$PHPR_DB_PORT = \$HOTELD_DB_PORT;\nif (\$HOTELD_DB_USER) \$PHPR_DB_USER = \$HOTELD_DB_USER;\nif (strcmp(\$HOTELD_DB_PASS,\"\")) \$PHPR_DB_PASS = \$HOTELD_DB_PASS;\nif (\$HOTELD_TAB_PRE) \$PHPR_TAB_PRE = \$HOTELD_TAB_PRE;\n"); } fwrite($fileaperto, "?>"); fclose($fileaperto); @chmod(C_DATA_PATH . "/dati_connessione.php", 0640); $leggendo_backup = "NO"; $leggendo_database = "NO"; $leggendo_tabella = "NO"; $leggendo_colonne = "NO"; $leggendo_righe = "NO"; $leggendo_file = "NO"; $leggendo_contenuto = "NO"; $nome_file = ""; $linee_inserite_in_tabella = ""; $ultima_linea = ""; $fbackup = fopen($file, "r"); if ($fbackup) { $leggendo_righe = "NO"; while (!feof($fbackup)) { unset($linee_backup); $linee_backup = fread($fbackup, 524288); $linee_backup = explode("\n", $linee_backup); $num_linee_backup = count($linee_backup) - 1; $linee_backup[0] = $ultima_linea . $linee_backup[0]; if (!feof($fbackup)) { $ultima_linea = $linee_backup[$num_linee_backup]; } else { $num_linee_backup++; } for ($num1 = 0; $num1 < $num_linee_backup; $num1++) { $linea = togli_acapo($linee_backup[$num1]); unset($linee_backup[$num1]); # Keep alive if (substr($num1, -3) == "000") { http_keep_alive(" "); } 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 == "clienti") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "clienti (idclienti integer primary key, cognome varchar(70) not null, nome varchar(70), soprannome varchar(70), sesso char, titolo varchar(30), lingua varchar(14), datanascita date, cittanascita varchar(70), regionenascita varchar(70), nazionenascita varchar(70), documento varchar(70), scadenzadoc date, tipodoc varchar(70), cittadoc varchar(70), regionedoc varchar(70), nazionedoc varchar(70), nazionalita varchar(70), nazione varchar(70), regione varchar(70), citta varchar(70), via varchar(70), numcivico varchar(30), cap varchar(30), telefono varchar(50), telefono2 varchar(50), telefono3 varchar(50), fax varchar(50), email text, cod_fiscale varchar(50), partita_iva varchar(50), commento text, max_num_ordine integer, idclienti_compagni text, doc_inviati text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "relclienti") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "relclienti (idclienti integer, numero integer, tipo varchar(12), testo1 text, testo2 text, testo3 text, testo4 text, testo5 text, testo6 text, testo7 text, testo8 text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); crea_indice2($N_PHPR_TAB_PRE . $nome_tabella, "idclienti", $N_PHPR_TAB_PRE . "iidp" . $nome_tabella, $N_PHPR_DB_TYPE); } # fine if ($nome_tabella == "relclienti") if ($nome_tabella == "anni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "anni (idanni integer primary key, tipo_periodi text)", $N_PHPR_DB_TYPE); } if ($nome_tabella == "versioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "versioni (idversioni integer primary key, num_versione float4)", $N_PHPR_DB_TYPE); } if ($nome_tabella == "nazioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "nazioni (idnazioni integer primary key, nome_nazione varchar(70), codice_nazione varchar(50), codice2_nazione varchar(50), codice3_nazione varchar(50), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "regioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "regioni (idregioni integer primary key, nome_regione varchar(70), codice_regione varchar(50), codice2_regione varchar(50), codice3_regione varchar(50), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "citta") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "citta (idcitta integer primary key, nome_citta varchar(70), codice_citta varchar(50), codice2_citta varchar(50), codice3_citta varchar(50), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "documentiid") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "documentiid (iddocumentiid integer primary key, nome_documentoid varchar(70), codice_documentoid varchar(50), codice2_documentoid varchar(50), codice3_documentoid varchar(50), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "parentele") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "parentele (idparentele integer primary key, nome_parentela varchar(70), codice_parentela varchar(50), codice2_parentela varchar(50), codice3_parentela varchar(50), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "personalizza") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "personalizza (idpersonalizza varchar(50) not null, idutente integer, valpersonalizza text, valpersonalizza_num integer)", $N_PHPR_DB_TYPE); } if ($nome_tabella == "appartamenti") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "appartamenti (idappartamenti varchar(100) primary key, numpiano text, maxoccupanti integer, numcasa text, app_vicini text, priorita integer, priorita2 integer, letto varchar(1), commento text )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "utenti") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "utenti (idutenti integer primary key, nome_utente text, password text, salt text, tipo_pass varchar(1), datainserimento {$DATETIME}, hostinserimento varchar(50) )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "gruppi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "gruppi (idgruppi integer primary key, nome_gruppo text )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "privilegi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "privilegi (idutente integer, anno integer, regole1_consentite text, tariffe_consentite text, costi_agg_consentiti text, contratti_consentiti text, casse_consentite text, cassa_pagamenti varchar(70), priv_ins_prenota varchar(20), priv_mod_prenota varchar(35), priv_mod_pers varchar(15), priv_ins_clienti varchar(5), prefisso_clienti text, priv_ins_costi varchar(10), priv_vedi_tab varchar(30), priv_ins_tariffe varchar(10), priv_ins_regole varchar(10), priv_messaggi varchar(10), priv_inventario varchar(10) )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "relutenti") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "relutenti (idutente integer not null, idnazione integer, idregione integer, idcitta integer, iddocumentoid integer, idparentela integer, idsup integer, predef integer, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); crea_indice2($N_PHPR_TAB_PRE . $nome_tabella, "idutente", $N_PHPR_TAB_PRE . "iidp" . $nome_tabella, $N_PHPR_DB_TYPE); } # fine if ($nome_tabella == "relutenti") if ($nome_tabella == "relgruppi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "relgruppi (idutente integer not null, idgruppo integer, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); crea_indice2($N_PHPR_TAB_PRE . $nome_tabella, "idutente", $N_PHPR_TAB_PRE . "iidp" . $nome_tabella, $N_PHPR_DB_TYPE); } # fine if ($nome_tabella == "relgruppi") if ($nome_tabella == "sessioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "sessioni (idsessioni varchar(30) primary key, idutente integer, indirizzo_ip text, tipo_conn varchar(12), user_agent text, ultimo_accesso {$DATETIME} )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "transazioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "transazioni (idtransazioni varchar(30) primary key, idsessione varchar(30), tipo_transazione varchar(5), anno integer, spostamenti text, dati_transazione1 text, dati_transazione2 text, dati_transazione3 text, dati_transazione4 text, dati_transazione5 text, dati_transazione6 text, dati_transazione7 text, dati_transazione8 text, dati_transazione9 text, dati_transazione10 text, dati_transazione11 text, dati_transazione12 text, dati_transazione13 text, dati_transazione14 text, dati_transazione15 text, dati_transazione16 text, dati_transazione17 text, dati_transazione18 text, dati_transazione19 text, dati_transazione20 text, ultimo_accesso {$DATETIME})", $N_PHPR_DB_TYPE); } if ($nome_tabella == "transazioniweb") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "transazioniweb (idtransazioni varchar(30) primary key, idsessione varchar(30), tipo_transazione varchar(5), anno integer, spostamenti text, dati_transazione1 text, dati_transazione2 text, dati_transazione3 text, dati_transazione4 text, dati_transazione5 text, dati_transazione6 text, dati_transazione7 text, dati_transazione8 text, dati_transazione9 text, dati_transazione10 text, dati_transazione11 text, dati_transazione12 text, dati_transazione13 text, dati_transazione14 text, dati_transazione15 text, dati_transazione16 text, dati_transazione17 text, dati_transazione18 text, dati_transazione19 text, dati_transazione20 text, ultimo_accesso {$DATETIME})", $N_PHPR_DB_TYPE); } if ($nome_tabella == "descrizioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "descrizioni (nome text not null, tipo varchar(16), lingua varchar(3), numero integer, testo {$MEDIUMTEXT} )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "beniinventario") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "beniinventario (idbeniinventario integer primary key, nome_bene varchar(70), codice_bene varchar(50), descrizione_bene text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "magazzini") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "magazzini (idmagazzini integer primary key, nome_magazzino varchar(70), codice_magazzino varchar(50), descrizione_magazzino text, numpiano text, numcasa text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "relinventario") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "relinventario (idbeneinventario integer not null, idappartamento varchar(100), idmagazzino integer, quantita integer, quantita_min_predef integer, richiesto_checkin varchar(2), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); crea_indice2($N_PHPR_TAB_PRE . $nome_tabella, "idbeneinventario", $N_PHPR_TAB_PRE . "iidp" . $nome_tabella, $N_PHPR_DB_TYPE); } # fine if ($nome_tabella == "relinventario") if ($nome_tabella == "casse") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "casse (idcasse integer primary key, nome_cassa varchar(70), stato varchar(8), codice_cassa varchar(50), descrizione_cassa text, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "contratti") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "contratti (numero integer, tipo varchar(8), testo {$MEDIUMTEXT} )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "cache") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "cache (numero integer, tipo varchar(8), testo {$MEDIUMTEXT}, data_modifica {$DATETIME}, datainserimento {$DATETIME} )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "interconnessioni") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "interconnessioni (idlocale integer, idremoto1 text, idremoto2 text, tipoid varchar(12), nome_ic varchar(24), anno integer, datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); } if ($nome_tabella == "messaggi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "messaggi (idmessaggi integer primary key, tipo_messaggio varchar(8), stato varchar(8), idutenti text, idutenti_visto text, datavisione {$DATETIME}, mittente text, testo text, dati_messaggio1 text, dati_messaggio2 text, dati_messaggio3 text, dati_messaggio4 text, dati_messaggio5 text, dati_messaggio6 text, dati_messaggio7 text, dati_messaggio8 text, dati_messaggio9 text, dati_messaggio10 text, dati_messaggio11 text, dati_messaggio12 text, dati_messaggio13 text, dati_messaggio14 text, dati_messaggio15 text, dati_messaggio16 text, dati_messaggio17 text, dati_messaggio18 text, dati_messaggio19 text, dati_messaggio20 text, datainserimento {$DATETIME})", $N_PHPR_DB_TYPE); } if (substr($nome_tabella, 0, 7) == "prenota") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (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, origine varchar(70), codice varchar(10), commento text, conferma varchar(4), checkin {$DATETIME}, checkout {$DATETIME}, id_anni_prec text, datainserimento {$DATETIME}, hostinserimento varchar(50), data_modifica {$DATETIME}, utente_inserimento integer )", $N_PHPR_DB_TYPE); } if (substr($nome_tabella, 0, 12) == "costiprenota") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (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)", $N_PHPR_DB_TYPE); crea_indice2($N_PHPR_TAB_PRE . $nome_tabella, "idprenota", $N_PHPR_TAB_PRE . "iidp" . $nome_tabella, $N_PHPR_DB_TYPE); } else { if (substr($nome_tabella, 0, 5) == "costi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (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)", $N_PHPR_DB_TYPE); } } if (substr($nome_tabella, 0, 15) == "rclientiprenota") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (idprenota integer, idclienti integer, num_ordine integer, parentela varchar(70), datainserimento {$DATETIME}, hostinserimento varchar(50), utente_inserimento integer )", $N_PHPR_DB_TYPE); crea_indice2($N_PHPR_TAB_PRE . $nome_tabella, "idprenota", $N_PHPR_TAB_PRE . "iidp" . $nome_tabella, $N_PHPR_DB_TYPE); } # fine if (substr($nome_tabella,0,15) == "rclientiprenota") if (substr($nome_tabella, 0, 6) == "regole") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (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 )", $N_PHPR_DB_TYPE); } if (substr($nome_tabella, 0, 5) == "soldi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (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 )", $N_PHPR_DB_TYPE); } if (substr($nome_tabella, 0, 7) == "periodi") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (idperiodi integer primary key, datainizio date not null, datafine date{$lista_tariffe})", $N_PHPR_DB_TYPE); } if (substr($nome_tabella, 0, 8) == "ntariffe") { esegui_query2("create table " . $N_PHPR_TAB_PRE . "{$nome_tabella} (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{$lista_tariffe})", $N_PHPR_DB_TYPE); } } # fine if ($linea == "</colonnetabella>" and $leggendo_righe != "SI") 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); if (substr($nome_tabella, 0, 7) == "periodi" and substr($nome_colonna[$num_colonne], 0, 7) == "tariffa") { $lista_tariffe .= ", " . $nome_colonna[$num_colonne] . " float8"; } if (substr($nome_tabella, 0, 8) == "ntariffe" and substr($nome_colonna[$num_colonne], 0, 7) == "tariffa") { $lista_tariffe .= ", " . $nome_colonna[$num_colonne] . " varchar(40)"; } } # 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 = ""; $query = "insert into " . $N_PHPR_TAB_PRE . "{$nome_tabella} ("; for ($num2 = 0; $num2 < count($riga); $num2++) { aggslashdb2($riga[$num2], $N_PHPR_DB_TYPE); if ($riga[$num2] != "") { $query .= $nome_colonna[$num2 + 1] . ","; } } # fine for $num2 $query = substr($query, 0, -1) . ") values ("; for ($num2 = 0; $num2 < count($riga); $num2++) { if ($riga[$num2] != "") { $riga[$num2] = str_replace("</righetabella@%&@>", "</righetabella>", $riga[$num2]); $riga[$num2] = str_replace("</riga@%&@>", "</riga>", $riga[$num2]); $riga[$num2] = str_replace("<riga@%&@>", "<riga>", $riga[$num2]); $riga[$num2] = str_replace("</cmp@%&@>", "</cmp>", $riga[$num2]); $riga[$num2] = str_replace("@%&@@%&@", "@%&@", $riga[$num2]); $query .= "'" . $riga[$num2] . "',"; } # fine if ($riga[$num2] != "") } # fine for $num2 $query = substr($query, 0, -1) . ")"; #echo $query<br>"; esegui_query3($query, $N_PHPR_DB_TYPE); } # 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>" and $leggendo_righe != "SI") { $leggendo_tabella = "SI"; } } else { # restore dei files if ($linea == "</file>") { $leggendo_file = "NO"; } if ($leggendo_file == "SI") { if ($nome_file) { if ($leggendo_contenuto == "SI") { if (substr($linea, -12) == "</contenuto>") { $nome_file = ""; $leggendo_contenuto = "NO"; $linea = substr($linea, 0, -12); fwrite($fileaperto, $linea); fclose($fileaperto); } else { fwrite($fileaperto, $linea . "\n"); } # fine else if (substr($linea,-12) == "</contenuto>") } # fine if ($leggendo_contenuto == "SI") if ($linea == "<contenuto>") { $leggendo_contenuto = "SI"; } } # fine if ($nome_file) if (substr($linea, 0, 10) == "<nomefile>") { $nome_file = substr($linea, 10); $nome_file = substr($nome_file, 0, -11); if (substr($nome_file, 0, 7) == "./data/") { $nome_file = C_DATA_PATH . substr($nome_file, 6); } if ($nome_file) { $fileaperto = fopen("{$nome_file}", "w+"); } } # fine if (substr($linea,0,10) == "<nomefile>") } # fine if ($leggendo_file == "SI") if ($linea == "<file>" and $leggendo_modello != "SI") { $leggendo_file = "SI"; } } # fine else if ($leggendo_database == "SI") if ($linea == "<database>" and $leggendo_modello != "SI") { $leggendo_database = "SI"; } # restore dei modelli if ($linea == "</modello>") { $leggendo_modello = "NO"; $leggendo_contenuto_mod = "NO"; $nome_modello = ""; } # fine if ($linea == "</modello>") if ($leggendo_modello == "SI") { if ($nome_modello) { if ($leggendo_contenuto_mod == "SI") { if (substr($linea, -12) == "</contenuto>") { $leggendo_contenuto_mod = "NO"; $linea = substr($linea, 0, -12); $contenuto_mod[$dir_modello][$nome_modello] .= $linea . "\n"; $nome_modello = ""; } else { $contenuto_mod[$dir_modello][$nome_modello] .= $linea . "\n"; } # fine else if (substr($linea,-12) == "</contenuto>") } # fine if ($leggendo_contenuto_mod == "SI") if ($linea == "<contenuto>") { $leggendo_contenuto_mod = "SI"; } } else { if (substr($linea, 0, 12) == "<dirmodello>") { $dir_modello = substr($linea, 12); $dir_modello = substr($dir_modello, 0, -13); if (substr($dir_modello, -1) == "/") { $dir_modello = substr($dir_modello, 0, -1); } if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") { $c_cartella_crea_mod = C_CARTELLA_CREA_MODELLI; if (substr($c_cartella_crea_mod, -1) == "/") { $c_cartella_crea_mod = substr($c_cartella_crea_mod, 0, -1); } if (substr($dir_modello . "/", 0, strlen($c_cartella_crea_mod . "/")) != $c_cartella_crea_mod . "/") { $dir_modello = ""; } if (str_replace("..", "", $dir_modello) != $dir_modello) { $dir_modello = ""; } } # fine if (defined("C_CARTELLA_CREA_MODELLI") and C_CARTELLA_CREA_MODELLI != "") } # fine if (substr($linea,0,12) == "<dirmodello>") if (substr($linea, 0, 13) == "<nomemodello>" and $dir_modello) { $nome_modello = substr($linea, 13); $nome_modello = substr($nome_modello, 0, -14); if (substr($nome_modello, -4) != ".php") { $nome_modello = ""; } if (str_replace(".php", "", substr($nome_modello, 0, -4)) != substr($nome_modello, 0, -4)) { $nome_modello = ""; } } # fine if (substr($linea,0,13) == "<nomemodello>" and $dir_modello) } # fine else if ($nome_modello) } # fine if ($leggendo_modello == "SI") if ($linea == "<modello>" and $leggendo_database != "SI" and $leggendo_file != "SI") { $leggendo_modello = "SI"; } } # fine if ($leggendo_backup == "SI") if ($linea == "<backup>") { $leggendo_backup = "SI"; } } # fine for $num1 } # fine while (!feof($fbackup)) fclose($fbackup); echo "<br>"; } # fine if ($fbackup) # Se si sono mantenuti gli anni non presenti nel backup, aggiorno i loro data ed importo eventuali clienti mancanti if ($mantieni_anni and @is_array($anno_mantieni)) { for ($num1 = 0; $num1 < $num_anni_vecchi; $num1++) { $anno_vecchio = risul_query($anni_vecchi, $num1, 'idanni'); if ($anno_mantieni[$anno_vecchio]) { esegui_query("insert into " . $PHPR_TAB_PRE . "anni (idanni,tipo_periodi) values ('{$anno_vecchio}','" . risul_query($anni_vecchi, $num1, 'tipo_periodi') . "') "); } # fine if ($anno_mantieni[$anno_vecchio]) } # fine for $num1 unset($id_utenti_vecchi); $id_utenti_vecchi[1] = 1; for ($num1 = 0; $num1 < numlin_query($utenti_vecchi); $num1++) { $idutente_vecchio = risul_query($utenti_vecchi, $num1, 'idutenti'); if ($idutente_vecchio != 1) { $datainserimento = risul_query($utenti_vecchi, $num1, 'datainserimento'); if (!$datainserimento) { $cond_datainserimento = "datainserimento is NULL"; } else { $cond_datainserimento = "datainserimento = '" . aggslashdb($datainserimento) . "'"; } $hostinserimento = risul_query($utenti_vecchi, $num1, 'hostinserimento'); if (!strcmp($hostinserimento, "")) { $cond_hostinserimento = "(hostinserimento is NULL or hostinserimento = '')"; } else { $cond_hostinserimento = "hostinserimento = '" . aggslashdb($hostinserimento) . "'"; } $utente_esistente = esegui_query("select idutenti from " . $PHPR_TAB_PRE . "utenti where idutenti = '{$idutente_vecchio}' and {$cond_datainserimento} and {$cond_hostinserimento} "); if (!numlin_query($utente_esistente)) { reset($anno_mantieni); while (list($anno_vecchio, $val) = each($anno_mantieni)) { esegui_query("update " . $PHPR_TAB_PRE . "prenota{$anno_vecchio} set utente_inserimento = '1' where utente_inserimento = '{$idutente_vecchio}' "); esegui_query("update " . $PHPR_TAB_PRE . "costi{$anno_vecchio} set utente_inserimento = '1' where utente_inserimento = '{$idutente_vecchio}' "); esegui_query("update " . $PHPR_TAB_PRE . "costiprenota{$anno_vecchio} set utente_inserimento = '1' where utente_inserimento = '{$idutente_vecchio}' "); esegui_query("update " . $PHPR_TAB_PRE . "rclientiprenota{$anno_vecchio} set utente_inserimento = '1' where utente_inserimento = '{$idutente_vecchio}' "); esegui_query("update " . $PHPR_TAB_PRE . "soldi{$anno_vecchio} set utente_inserimento = '1' where utente_inserimento = '{$idutente_vecchio}' "); if (@is_file(C_DATA_PATH . "/selectperiodi{$anno_vecchio}.{$idutente_vecchio}.php")) { unlink(C_DATA_PATH . "/selectperiodi{$anno_vecchio}.{$idutente_vecchio}.php"); } if (@is_file(C_DATA_PATH . "/selperiodimenu{$anno_vecchio}.{$idutente_vecchio}.php")) { unlink(C_DATA_PATH . "/selperiodimenu{$anno_vecchio}.{$idutente_vecchio}.php"); } } # fine while (list($anno_vecchio,$val) = each($anno_mantieni)) $id_utenti_vecchi[$idutente_vecchio] = 1; } else { $id_utenti_vecchi[$idutente_vecchio] = $idutente_vecchio; } } # fine if ($idutente_vecchio != 1) } # fine for $num1 unset($id_clienti_vecchi); unset($id_clienti_inseriti); $max_clienti = esegui_query("select max(idclienti) from " . $PHPR_TAB_PRE . "clienti"); $max_clienti = risul_query($max_clienti, 0, 0); if ($max_clienti_vecchi > $max_clienti) { $max_clienti = $max_clienti_vecchi; } for ($num1 = 0; $num1 < numlin_query($clienti_vecchi); $num1++) { $idcliente_vecchio = risul_query($clienti_vecchi, $num1, 'idclienti'); $cliente_presente = 0; reset($anno_mantieni); while (list($anno_vecchio, $val) = each($anno_mantieni)) { $idcliente_presente = esegui_query("select idclienti from " . $PHPR_TAB_PRE . "prenota{$anno_vecchio} where idclienti = '{$idcliente_vecchio}' "); $idcliente_presente2 = esegui_query("select idclienti from " . $PHPR_TAB_PRE . "rclientiprenota{$anno_vecchio} where idclienti = '{$idcliente_vecchio}' "); $idcliente_presente3 = esegui_query("select idsoldi from " . $PHPR_TAB_PRE . "soldi{$anno_vecchio} where motivazione {$LIKE} '{$idcliente_vecchio};%' "); if (numlin_query($idcliente_presente) or numlin_query($idcliente_presente2) or numlin_query($idcliente_presente3)) { $cliente_presente = 1; break; } # fine if (numlin_query($idcliente_presente) or numlin_query($idcliente_presente2) or... } # fine while (list($anno_vecchio,$val) = each($anno_mantieni)) if ($cliente_presente) { $datainserimento = risul_query($clienti_vecchi, $num1, 'datainserimento'); if (!$datainserimento) { $cond_datainserimento = "datainserimento is NULL"; } else { $cond_datainserimento = "datainserimento = '" . aggslashdb($datainserimento) . "'"; } $hostinserimento = risul_query($clienti_vecchi, $num1, 'hostinserimento'); if (!strcmp($hostinserimento, "")) { $cond_hostinserimento = "(hostinserimento is NULL or hostinserimento = '')"; } else { $cond_hostinserimento = "hostinserimento = '" . aggslashdb($hostinserimento) . "'"; } $cliente_esistente = esegui_query("select idclienti from " . $PHPR_TAB_PRE . "clienti where idclienti = '{$idcliente_vecchio}' and {$cond_datainserimento} and {$cond_hostinserimento} "); if (!numlin_query($cliente_esistente)) { $cliente_esistente = esegui_query("select idclienti from " . $PHPR_TAB_PRE . "clienti where cognome = '" . aggslashdb(risul_query($clienti_vecchi, $num1, 'cognome')) . "' and {$cond_datainserimento} and {$cond_hostinserimento} "); if (numlin_query($cliente_esistente) == 1) { $id_nuovo = risul_query($cliente_esistente, 0, 'idclienti'); } else { $id_esistente = esegui_query("select idclienti from " . $PHPR_TAB_PRE . "clienti where idclienti = '{$idcliente_vecchio}' "); if (numlin_query($id_esistente)) { $max_clienti++; $id_nuovo = $max_clienti; } else { $id_nuovo = $idcliente_vecchio; } esegui_query("insert into " . $PHPR_TAB_PRE . "clienti (idclienti,cognome,nome,soprannome,sesso,titolo,lingua,cittanascita,regionenascita,nazionenascita,documento,tipodoc,cittadoc,regionedoc,nazionedoc,nazionalita,nazione,regione,citta,via,numcivico,cap,telefono,telefono2,telefono3,fax,email,cod_fiscale,partita_iva,commento,max_num_ordine,idclienti_compagni,doc_inviati,hostinserimento,utente_inserimento) values ('{$id_nuovo}',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'cognome')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'nome')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'soprannome')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'sesso')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'titolo')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'lingua')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'cittanascita')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'regionenascita')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'nazionenascita')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'documento')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'tipodoc')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'cittadoc')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'regionedoc')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'nazionedoc')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'nazionalita')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'nazione')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'regione')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'citta')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'via')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'numcivico')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'cap')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'telefono')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'telefono2')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'telefono3')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'fax')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'email')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'cod_fiscale')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'partita_iva')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'commento')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'max_num_ordine')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'idclienti_compagni')) . "',\n'" . aggslashdb(risul_query($clienti_vecchi, $num1, 'doc_inviati')) . "',\n'" . aggslashdb($hostinserimento) . "',\n'" . $id_utenti_vecchi[risul_query($clienti_vecchi, $num1, 'utente_inserimento')] . "') "); $datanascita = risul_query($clienti_vecchi, $num1, 'datanascita'); if ($datanascita) { esegui_query("update " . $PHPR_TAB_PRE . "clienti set datanascita = '" . aggslashdb($datanascita) . "' where idclienti = '{$id_nuovo}' "); } $scadenzadoc = risul_query($clienti_vecchi, $num1, 'scadenzadoc'); if ($scadenzadoc) { esegui_query("update " . $PHPR_TAB_PRE . "clienti set scadenzadoc = '" . aggslashdb($scadenzadoc) . "' where idclienti = '{$id_nuovo}' "); } if ($datainserimento) { esegui_query("update " . $PHPR_TAB_PRE . "clienti set datainserimento = '" . aggslashdb($datainserimento) . "' where idclienti = '{$id_nuovo}' "); } $id_clienti_inseriti[$idcliente_vecchio] = $id_nuovo; } # fine else if (numlin_query($cliente_esistente) == 1) $id_clienti_vecchi[$idcliente_vecchio] = $id_nuovo; if ($id_nuovo != $idcliente_vecchio) { reset($anno_mantieni); while (list($anno_vecchio, $val) = each($anno_mantieni)) { esegui_query("update " . $PHPR_TAB_PRE . "prenota{$anno_vecchio} set idclienti = '{$id_nuovo}' where idclienti = '{$idcliente_vecchio}' "); esegui_query("update " . $PHPR_TAB_PRE . "rclientiprenota{$anno_vecchio} set idclienti = '{$id_nuovo}' where idclienti = '{$idcliente_vecchio}' "); $storia_soldi = esegui_query("select * from " . $PHPR_TAB_PRE . "soldi{$anno_vecchio} where motivazione {$LIKE} '{$idcliente_vecchio};%' "); for ($num2 = 0; $num2 < numlin_query($storia_soldi); $num2++) { $idsoldi = risul_query($storia_soldi, $num2, 'idsoldi'); $motivazione = risul_query($storia_soldi, $num2, 'motivazione'); $motivazione = $id_nuovo . substr($motivazione, strlen($idcliente_vecchio)); esegui_query("update " . $PHPR_TAB_PRE . "soldi{$anno_vecchio} set motivazione = '{$motivazione}' where idsoldi = '{$idsoldi}' "); } # fine for $num2 } # fine while (list($anno_vecchio,$val) = each($anno_mantieni)) } # fine if ($id_nuovo != $idcliente_vecchio) } else { $id_clienti_vecchi[$idcliente_vecchio] = $idcliente_vecchio; } } # fine if ($cliente_presente) } # fine for $num1 if (@is_array($id_clienti_inseriti)) { reset($id_clienti_inseriti); while (list($idcliente_vecchio, $id_nuovo) = each($id_clienti_inseriti)) { $n_idclienti_compagni = ","; $idclienti_compagni = esegui_query("select idclienti_compagni from " . $PHPR_TAB_PRE . "clienti where idclienti = '{$id_nuovo}' "); $idclienti_compagni = risul_query($idclienti_compagni, 0, 'idclienti_compagni'); $idclienti_compagni_vett = explode(",", $idclienti_compagni); for ($num1 = 1; $num1 < count($idclienti_compagni_vett) - 1; $num1++) { if ($id_clienti_vecchi[$idclienti_compagni_vett[$num1]]) { $n_idclienti_compagni .= $id_clienti_vecchi[$idclienti_compagni_vett[$num1]] . ","; } } # fine for $num1 if ($n_idclienti_compagni != $idclienti_compagni) { esegui_query("update " . $PHPR_TAB_PRE . "clienti set idclienti_compagni = '{$n_idclienti_compagni}' where idclienti = '{$id_nuovo}' "); } } # fine while (list($idcliente_vecchio,$id_nuovo) = each($id_clienti_inseriti)) } # fine if (@is_array($id_clienti_inseriti)) for ($num1 = 0; $num1 < numlin_query($privilegi_vecchi); $num1++) { $anno_priv = risul_query($privilegi_vecchi, $num1, 'anno'); if ($anno_mantieni[$anno_priv]) { $idutente_priv = risul_query($privilegi_vecchi, $num1, 'idutente'); if ($id_utenti_vecchi[$idutente_priv] != 1) { esegui_query("insert into " . $PHPR_TAB_PRE . "privilegi (idutente,anno,regole1_consentite,tariffe_consentite,costi_agg_consentiti,contratti_consentiti,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,priv_messaggi,priv_inventario) values ('{$idutente_priv}','{$anno_priv}',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'regole1_consentite')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'tariffe_consentite')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'costi_agg_consentiti')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'contratti_consentiti')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_ins_prenota')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_mod_prenota')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_mod_pers')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_ins_clienti')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'prefisso_clienti')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_ins_costi')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_vedi_tab')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_ins_tariffe')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_ins_regole')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_messaggi')) . "',\n'" . aggslashdb(risul_query($privilegi_vecchi, $num1, 'priv_inventario')) . "') "); } # fine if ($id_utenti_vecchi[$idutente_priv] != 1) } # fine if ($anno_mantieni[$anno_priv]) } # fine for $num1 for ($num1 = 0; $num1 < numlin_query($personalizza_vecchi); $num1++) { $idpersonalizza = risul_query($personalizza_vecchi, $num1, 'idpersonalizza'); if ($anno_mantieni[str_replace("giorno_vedi_ini_sett", "", $idpersonalizza)]) { $idutente_pers = risul_query($personalizza_vecchi, $num1, 'idutente'); if ($id_utenti_vecchi[$idutente_pers] != 1) { esegui_query("insert into " . $PHPR_TAB_PRE . "personalizza (idpersonalizza,idutente,valpersonalizza,valpersonalizza_num) values ('{$idpersonalizza}','{$idutente_pers}',\n'" . aggslashdb(risul_query($personalizza_vecchi, $num1, 'valpersonalizza')) . "',\n'" . aggslashdb(risul_query($personalizza_vecchi, $num1, 'valpersonalizza_num')) . "') "); } # fine if ($id_utenti_vecchi[$idutente_pers] != 1) } # fine if ($anno_mantieni[str_replace("giorno_vedi_ini_sett","",$idpersonalizza)]) } # fine for $num1 } # fine if ($mantieni_anni and @is_array($anno_mantieni)) if ($silenzio != "SI") { echo "" . mex("Database creato", $pag) . "<br>"; } $fatto = "SI"; if (($nuovo_db != "SI" or $database_esistente == "SI") and $character_set_db and ($character_set_db != "utf8" or $collation_db != "utf8_general_ci")) { esegui_query2("alter database {$N_PHPR_DB_NAME} default character set '{$character_set_db}' collate '{$collation_db}'", $N_PHPR_DB_TYPE); } if (@is_array($contenuto_mod) and $N_PHPR_DB_TYPE == $PHPR_DB_TYPE) { global $prima_parte_html, $lingua_mex; echo "<br>"; $lingua_mex_orig = $lingua_mex; 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; include C_DATA_PATH . "/lingua.php"; $lingua_mex = $lingua[1]; $pag_orig = $pag; $pag = "crea_modelli.php"; function assegna_var_conn_mod($N_PHPR_DB_TYPE, $N_PHPR_DB_NAME, $N_PHPR_DB_HOST, $N_PHPR_DB_PORT, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, $N_PHPR_LOAD_EXT, $N_PHPR_TAB_PRE) { global $M_PHPR_DB_TYPE, $M_PHPR_DB_NAME, $M_PHPR_DB_HOST, $M_PHPR_DB_PORT, $M_PHPR_DB_USER, $M_PHPR_DB_PASS, $M_PHPR_LOAD_EXT, $M_PHPR_TAB_PRE; $M_PHPR_DB_TYPE = $N_PHPR_DB_TYPE; $M_PHPR_DB_NAME = $N_PHPR_DB_NAME; $M_PHPR_DB_HOST = $N_PHPR_DB_HOST; $M_PHPR_DB_PORT = $N_PHPR_DB_PORT; $M_PHPR_DB_USER = $N_PHPR_DB_USER; $M_PHPR_DB_PASS = $N_PHPR_DB_PASS; $M_PHPR_LOAD_EXT = $N_PHPR_LOAD_EXT; $M_PHPR_TAB_PRE = $N_PHPR_TAB_PRE; } # fine function assegna_var_conn_mod $PHPR_TAB_PRE = $N_PHPR_TAB_PRE; $tablepersonalizza = $PHPR_TAB_PRE . "personalizza"; include "./includes/funzioni_costi_agg.php"; include "./includes/templates/funzioni_modelli.php"; $modello_esistente = "SI"; $cambia_frasi = "NO"; 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 ($contenuto_mod[$percorso_cartella_modello]['mdl_disponibilita.php']) { $lingua_modello = "ita"; $nome_file = mex2("mdl_disponibilita", $pag, $lingua_modello) . ".php"; $nome_file_tmp = substr($nome_file, 0, -4) . ".tmp"; $num_periodi_date = ""; $anno_modello = ""; scrivi_file("<?php exit(); ?>\n" . $contenuto_mod[$percorso_cartella_modello]["{$nome_file}"], "{$percorso_cartella_modello}/{$nome_file_tmp}"); recupera_var_modello_disponibilita($nome_file_tmp, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); $prima_parte_html = str_replace("<?php exit(); ?>\n", "", $prima_parte_html); if (substr($prima_parte_html, 0, 70) == "<?php if (!@\$framed and !@\$_GET['framed'] and !@\$_POST['framed']) { ?>") { $prima_parte_html = substr($prima_parte_html, 70); } if (substr($prima_parte_html, 0, 74) == "<?php if (!@\$framed and !@\$_GET[\\'framed\\'] and !@\$_POST[\\'framed\\']) { ?>") { $prima_parte_html = substr($prima_parte_html, 74); } unlink("{$percorso_cartella_modello}/{$nome_file_tmp}"); assegna_var_conn_mod($N_PHPR_DB_TYPE, $N_PHPR_DB_NAME, $N_PHPR_DB_HOST, $N_PHPR_DB_PORT, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, $N_PHPR_LOAD_EXT, $N_PHPR_TAB_PRE); $anno_modello = $anno_modello_presente; 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 ($contenuto_mod[$percorso_cartella_modello]["mdl_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"; $nome_file_tmp = substr($nome_file, 0, -4) . ".tmp"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if ($contenuto_mod[$percorso_cartella_modello][$nome_file]) { $lingua_modello = $ini_lingua; $num_periodi_date = ""; $anno_modello = ""; scrivi_file("<?php exit(); ?>\n" . $contenuto_mod[$percorso_cartella_modello][$nome_file], "{$percorso_cartella_modello}/{$nome_file_tmp}"); recupera_var_modello_disponibilita($nome_file_tmp, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); $prima_parte_html = str_replace("<?php exit(); ?>\n", "", $prima_parte_html); if (substr($prima_parte_html, 0, 70) == "<?php if (!@\$framed and !@\$_GET['framed'] and !@\$_POST['framed']) { ?>") { $prima_parte_html = substr($prima_parte_html, 70); } if (substr($prima_parte_html, 0, 74) == "<?php if (!@\$framed and !@\$_GET[\\'framed\\'] and !@\$_POST[\\'framed\\']) { ?>") { $prima_parte_html = substr($prima_parte_html, 74); } unlink("{$percorso_cartella_modello}/{$nome_file_tmp}"); assegna_var_conn_mod($N_PHPR_DB_TYPE, $N_PHPR_DB_NAME, $N_PHPR_DB_HOST, $N_PHPR_DB_PORT, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, $N_PHPR_LOAD_EXT, $N_PHPR_TAB_PRE); $anno_modello = $anno_modello_presente; 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 ($contenuto_mod[$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_mext = "mext_" . $modello_ext; if ($template_file_name['ita']) { $nome_file = $template_file_name['ita']; } else { $nome_file = "ita_" . $template_file_name["en"]; } $nome_file_tmp = substr($nome_file, 0, -4) . ".tmp"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if ($contenuto_mod[$percorso_cartella_modello][$nome_file]) { $lingua_modello = "ita"; $num_periodi_date = ""; $anno_modello = ""; scrivi_file("<?php exit(); ?>\n" . $contenuto_mod[$percorso_cartella_modello][$nome_file], "{$percorso_cartella_modello}/{$nome_file_tmp}"); $funz_recupera_var_modello($nome_file_tmp, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); $prima_parte_html = str_replace("<?php exit(); ?>\n", "", $prima_parte_html); if (substr($prima_parte_html, 0, 70) == "<?php if (!@\$framed and !@\$_GET['framed'] and !@\$_POST['framed']) { ?>") { $prima_parte_html = substr($prima_parte_html, 70); } if (substr($prima_parte_html, 0, 74) == "<?php if (!@\$framed and !@\$_GET[\\'framed\\'] and !@\$_POST[\\'framed\\']) { ?>") { $prima_parte_html = substr($prima_parte_html, 74); } unlink("{$percorso_cartella_modello}/{$nome_file_tmp}"); assegna_var_conn_mod($N_PHPR_DB_TYPE, $N_PHPR_DB_NAME, $N_PHPR_DB_HOST, $N_PHPR_DB_PORT, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, $N_PHPR_LOAD_EXT, $N_PHPR_TAB_PRE); $anno_modello = $anno_modello_presente; $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 ($contenuto_mod[$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']; } $nome_file_tmp = substr($nome_file, 0, -4) . ".tmp"; for ($num_cart = 0; $num_cart < $num_perc_cart_mod_vett; $num_cart++) { $percorso_cartella_modello = $perc_cart_mod_vett[$num_cart]; if ($contenuto_mod[$percorso_cartella_modello][$nome_file]) { $lingua_modello = $ini_lingua; $num_periodi_date = ""; $anno_modello = ""; scrivi_file("<?php exit(); ?>\n" . $contenuto_mod[$percorso_cartella_modello]["{$nome_file}"], "{$percorso_cartella_modello}/{$nome_file_tmp}"); $funz_recupera_var_modello($nome_file_tmp, $percorso_cartella_modello, $pag, $fr_frase, $num_frasi, $var_mod, $num_var_mod, $tipo_periodi, "SI", $anno_modello, $PHPR_TAB_PRE); $prima_parte_html = str_replace("<?php exit(); ?>\n", "", $prima_parte_html); if (substr($prima_parte_html, 0, 70) == "<?php if (!@\$framed and !@\$_GET['framed'] and !@\$_POST['framed']) { ?>") { $prima_parte_html = substr($prima_parte_html, 70); } if (substr($prima_parte_html, 0, 74) == "<?php if (!@\$framed and !@\$_GET[\\'framed\\'] and !@\$_POST[\\'framed\\']) { ?>") { $prima_parte_html = substr($prima_parte_html, 74); } unlink("{$percorso_cartella_modello}/{$nome_file_tmp}"); assegna_var_conn_mod($N_PHPR_DB_TYPE, $N_PHPR_DB_NAME, $N_PHPR_DB_HOST, $N_PHPR_DB_PORT, $N_PHPR_DB_USER, $N_PHPR_DB_PASS, $N_PHPR_LOAD_EXT, $N_PHPR_TAB_PRE); $anno_modello = $anno_modello_presente; $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 ($contenuto_mod[$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; $lingua_mex = $lingua_mex_orig; } # fine if (@is_array($contenuto_mod) and... } else { if ($silenzio != "SI") { echo mex("Non è stato possibile connettersi al nuovo database, controllare i data per la connessione, i privilegi dell' utente o il nome del database", $pag) . ".<br>"; } } } else { if ($silenzio != "SI") { echo mex("Non è stato possibile creare il nuovo database, controllare i data per la connessione, i privilegi dell' utente, il nome del database o se esiste già un database chiamato", $pag) . " {$N_PHPR_DB_NAME}.<br>"; } } } # fine else if ($file_coerente == "NO") return $fatto; }
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; }
# fine if ($fonte_dati_conn == "attuali") if ($fonte_dati_conn == "nuovi") { $M_PHPR_DB_TYPE = $T_PHPR_DB_TYPE; $M_PHPR_DB_NAME = $T_PHPR_DB_NAME; $M_PHPR_DB_HOST = $T_PHPR_DB_HOST; $M_PHPR_DB_PORT = $T_PHPR_DB_PORT; $M_PHPR_DB_USER = $T_PHPR_DB_USER; $M_PHPR_DB_PASS = $T_PHPR_DB_PASS; $M_PHPR_LOAD_EXT = $T_PHPR_LOAD_EXT; $M_PHPR_TAB_PRE = $T_PHPR_TAB_PRE; } # fine if ($fonte_dati_conn == "attuali") if ($modello_disponibilita) { include "./includes/templates/frasi_mod_disp.php"; include "./includes/templates/funzioni_mod_disp.php"; crea_modello_disponibilita($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, "NO", $fr_frase, $frase, $num_frasi, $tipo_periodi); } else { $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"; if (${$template_name}) { $mostra_form_creazione = "NO"; include "./includes/templates/{$modello_ext}/phrases.php"; include "./includes/templates/{$modello_ext}/functions.php"; $funz_crea_modello = "crea_modello_" . $modello_ext; $funz_crea_modello($percorso_cartella_modello, $anno_modello, $PHPR_TAB_PRE, $pag, $lingua_modello, "NO", $fr_frase, $frase, $num_frasi, $tipo_periodi); break; } # fine if ($$template_name) }