function aggiorna_relutenti($aggiungi_rel, $rel_predefinite, $elimina_tutte_rel, $importa_rel, $id_utente, $id_utente_mod, $nuova_rel, $sup_n_rel, $cod_n_rel, $cod2_n_rel, $cod3_n_rel, $utente_importa_rel, $pag, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_sup_sing = "", $rel_sup_plur = "", $tablerel_sup = "", $rel_inf_sing = "", $rel_inf_plur = "", $tablerel_inf = "") { if ($id_utente != 1 or $id_utente_mod == $utente_importa_rel) { $importa_rel = ""; } if ($aggiungi_rel or $rel_predefinite or $elimina_tutte_rel or $importa_rel) { if (get_magic_quotes_gpc()) { $nuova_rel = stripslashes($nuova_rel); $cod_n_rel = stripslashes($cod_n_rel); $cod2_n_rel = stripslashes($cod2_n_rel); $cod3_n_rel = stripslashes($cod3_n_rel); $sup_n_rel = stripslashes($sup_n_rel); } # fine if (get_magic_quotes_gpc()) $nuova_rel = htmlspecialchars($nuova_rel); $cod_n_rel = htmlspecialchars($cod_n_rel); $cod2_n_rel = htmlspecialchars($cod2_n_rel); $cod3_n_rel = htmlspecialchars($cod3_n_rel); $sup_n_rel = htmlspecialchars($sup_n_rel); if (!$aggiungi_rel or str_replace(" ", "", $nuova_rel)) { echo "<div id=\"avanz_{$rel_plur}\"><br>"; if ($tablerel_inf) { $tabelle_lock = array($tablerel, $tablerel_inf, $tablerelutenti); } else { $tabelle_lock = array($tablerel, $tablerelutenti); } if ($tablerel_sup) { $altre_tab_lock = array($tablerel_sup); } else { $altre_tab_lock = ""; } $tabelle_lock = lock_tabelle($tabelle_lock, $altre_tab_lock); unset($lista_rel); unset($cod_rel); unset($cod2_rel); unset($cod3_rel); unset($cod_rel_sup); if ($aggiungi_rel) { $lista_rel[0] = $nuova_rel; $cod_rel[0] = $cod_n_rel; $cod2_rel[0] = $cod2_n_rel; $cod3_rel[0] = $cod3_n_rel; if ($rel_sup_sing and $sup_n_rel) { $sup_n_rel_esist = esegui_query("select distinct {$tablerel_sup}.id{$rel_sup_plur} from {$tablerelutenti} inner join {$tablerel_sup} on {$tablerelutenti}.id{$rel_sup_sing} = {$tablerel_sup}.id{$rel_sup_plur} where {$tablerelutenti}.idutente = '{$id_utente_mod}' and {$tablerel_sup}.nome_{$rel_sup_sing} = '" . aggslashdb($sup_n_rel) . "' "); if (numlin_query($sup_n_rel_esist) > 0) { $id_rel_sup_vett[0] = risul_query($sup_n_rel_esist, 0, "id{$rel_sup_plur}", $tablerel_sup); } } # fine if ($rel_sup_sing and $sup_n_rel) } else { $rel_canc = esegui_query("select id{$rel_sing} from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $num_rel_canc = numlin_query($rel_canc); esegui_query("delete from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $rel_usate = esegui_query("select distinct id{$rel_sing} from {$tablerelutenti} where id{$rel_sing} is not NULL"); $num_rel_usate = numlin_query($rel_usate); for ($num1 = 0; $num1 < $num_rel_usate; $num1++) { $relutente_usate[(int) risul_query($rel_usate, $num1, "id{$rel_sing}")] = 1; } # fine for $num1 for ($num1 = 0; $num1 < $num_rel_canc; $num1++) { if (substr($num1, -3) == "000") { http_keep_alive(". "); } if ($num1 > 20) { $nolog = 1; } else { $nolog = 0; } cancella_relutente(risul_query($rel_canc, $num1, "id{$rel_sing}"), $id_utente_mod, $rel_sing, $rel_plur, $tablerel, $tablerelutenti, $rel_inf_sing, $rel_inf_plur, $tablerel_inf, "SI", $relutente_usate, $nolog); } # fine for $num1 unset($rel_canc); unset($rel_usate); unset($relutente_usate); if ($rel_predefinite) { include C_DATA_PATH . "/lingua.php"; global ${"lista_" . $rel_plur}, ${"cod_" . $rel_plur}, ${"cod2_" . $rel_plur}, ${"cod3_" . $rel_plur}, ${"cod_" . $rel_sup_sing . "_" . $rel_plur}; if ($lingua[$id_utente_mod] == "ita") { include_once "./includes/lista_{$rel_plur}.php"; } else { if (@is_file("./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php")) { include_once "./includes/lang/" . $lingua[$id_utente_mod] . "/lista_{$rel_plur}.php"; } } $lista_rel = ${"lista_" . $rel_plur}; $cod_rel = ${"cod_" . $rel_plur}; $cod2_rel = ${"cod2_" . $rel_plur}; $cod3_rel = ${"cod3_" . $rel_plur}; if ($rel_sup_sing) { $cod_rel_sup = ${"cod_" . $rel_sup_sing . "_" . $rel_plur}; } if (@is_array($lista_rel)) { $num_rel = count($lista_rel); } else { $num_rel = 0; } for ($num1 = 0; $num1 < $num_rel; $num1++) { $lista_rel[$num1] = htmlspecialchars($lista_rel[$num1]); $cod_rel[$num1] = htmlspecialchars($cod_rel[$num1]); $cod2_rel[$num1] = htmlspecialchars($cod2_rel[$num1]); $cod3_rel[$num1] = htmlspecialchars($cod3_rel[$num1]); $cod_rel_sup[$num1] = htmlspecialchars($cod_rel_sup[$num1]); } # fine for $num1 } else { if ($importa_rel) { $utente_importa_rel = aggslashdb($utente_importa_rel); $rel_ut_imp = esegui_query("select distinct {$tablerel}.nome_{$rel_sing},{$tablerelutenti}.idsup from {$tablerelutenti} inner join {$tablerel} on {$tablerelutenti}.id{$rel_sing} = {$tablerel}.id{$rel_plur} where {$tablerelutenti}.idutente = '{$utente_importa_rel}' order by {$tablerel}.nome_{$rel_sing}"); $num_rel_ut_imp = numlin_query($rel_ut_imp); for ($num1 = 0; $num1 < $num_rel_ut_imp; $num1++) { $rel = risul_query($rel_ut_imp, $num1, "nome_{$rel_sing}", $tablerel); $lista_rel[$num1] = $rel; if ($rel_sup_sing) { $id_rel_sup_vett[$num1] = risul_query($rel_ut_imp, $num1, 'idsup', $tablerelutenti); } } # fine for $num1 unset($rel_ut_imp); } } # fine if ($importa_rel) } # fine else if ($aggiungi_rel) $num_passa_a_var = 2; if (@is_array($lista_rel)) { $num_rel_agg = count($lista_rel); } else { $num_rel_agg = 0; } if ($num_rel_agg >= $num_passa_a_var) { $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} is not NULL "); $num_rel_esistenti = numlin_query($rel_esistenti); for ($num1 = 0; $num1 < $num_rel_esistenti; $num1++) { $nome_rel = risul_query($rel_esistenti, $num1, "nome_{$rel_sing}"); $rel_esistente[$nome_rel] = 1; $id_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "id{$rel_plur}"); $cod_esistente[$nome_rel] = risul_query($rel_esistenti, $num1, "codice_{$rel_sing}"); } # fine for $num1 unset($rel_esistenti); $rel_esistenti2 = esegui_query("select id{$rel_sing},idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} is not NULL "); $num_rel_esistenti2 = numlin_query($rel_esistenti2); for ($num1 = 0; $num1 < $num_rel_esistenti2; $num1++) { $id_rel = risul_query($rel_esistenti2, $num1, "id{$rel_sing}"); $rel_esistente2[$id_rel] = 1; $idsup_esistente2[$id_rel] = risul_query($rel_esistenti2, $num1, 'idsup'); } # fine for $num1 unset($rel_esistenti2); } # fine if ($num_rel_agg > $num_passa_a_var) unset($num_max); for ($num1 = 0; $num1 < $num_rel_agg; $num1++) { if (substr($num1, -3) == "000") { http_keep_alive(". "); } if ($num1 > 20) { $nolog = 1; } else { $nolog = 0; } $id_rel_sup = ""; if ($rel_sup_sing and $cod_rel_sup[$num1]) { if ($cod_sup_esist[$cod_rel_sup[$num1]]) { $id_rel_sup = $cod_sup_esist[$cod_rel_sup[$num1]]; } else { $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where codice_{$rel_sup_sing} = '" . aggslashdb($cod_rel_sup[$num1]) . "' "); if (numlin_query($rel_sup) > 0) { $id_rel_sup = risul_query($rel_sup, 0, "id{$rel_sup_plur}"); $cod_sup_esist[$cod_rel_sup[$num1]] = $id_rel_sup; } # fine if (numlin_query($rel_sup) > 0) } # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]]) } # fine if ($rel_sup_sing and $cod_rel_sup[$num1]) if ($rel_sup_sing and $id_rel_sup_vett[$num1]) { if ($id_sup_esist[$id_rel_sup_vett[$num1]]) { $id_rel_sup = $id_sup_esist[$id_rel_sup_vett[$num1]]; } else { $rel_sup = esegui_query("select id{$rel_sup_plur} from {$tablerel_sup} where id{$rel_sup_plur} = '" . aggslashdb($id_rel_sup_vett[$num1]) . "' "); if (numlin_query($rel_sup) > 0) { $id_rel_sup = $id_rel_sup_vett[$num1]; $id_sup_esist[$id_rel_sup_vett[$num1]] = $id_rel_sup; } # fine if (numlin_query($rel_sup) > 0) } # fine else if ($cod_sup_esistente[$cod_rel_sup[$num1]]) } # fine if ($rel_sup_sing and $id_rel_sup_vett[$num1]) if ($num_rel_agg < $num_passa_a_var) { $rel_esistenti = esegui_query("select id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing} from {$tablerel} where nome_{$rel_sing} = '" . aggslashdb($lista_rel[$num1]) . "' "); if (numlin_query($rel_esistenti)) { $nome_rel = risul_query($rel_esistenti, 0, "nome_{$rel_sing}"); $rel_esistente[$nome_rel] = 1; $id_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "id{$rel_plur}"); $cod_esistente[$nome_rel] = risul_query($rel_esistenti, 0, "codice_{$rel_sing}"); } # fine if (numlin_query($rel_esistenti)) } # fine if ($num_rel_agg <= $num_passa_a_var) if (!$rel_esistente[$lista_rel[$num1]]) { if (!$num_max) { $num_max = esegui_query("select max(id{$rel_plur}) from {$tablerel} "); $num_max = risul_query($num_max, 0, 0) + 1; } else { $num_max++; } $num_n_rel = $num_max; esegui_query("insert into {$tablerel} (id{$rel_plur},nome_{$rel_sing},codice_{$rel_sing},codice2_{$rel_sing},codice3_{$rel_sing}) values ('{$num_n_rel}','" . aggslashdb($lista_rel[$num1]) . "','" . aggslashdb($cod_rel[$num1]) . "','" . aggslashdb($cod2_rel[$num1]) . "','" . aggslashdb($cod3_rel[$num1]) . "') ", "", $nolog); $rel_esistente[$lista_rel[$num1]] = 1; $id_esistente[$lista_rel[$num1]] = $num_n_rel; $cod_esistente[$lista_rel[$num1]] = $cod_rel[$num1]; } else { $num_n_rel = $id_esistente[$lista_rel[$num1]]; $r_cod = $cod_esistente[$lista_rel[$num1]]; if (!$r_cod and $cod_rel[$num1]) { esegui_query("update {$tablerel} set codice_{$rel_sing} = '" . aggslashdb($cod_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($cod2_rel[$num1]) { esegui_query("update {$tablerel} set codice2_{$rel_sing} = '" . aggslashdb($cod2_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($cod3_rel[$num1]) { esegui_query("update {$tablerel} set codice3_{$rel_sing} = '" . aggslashdb($cod3_rel[$num1]) . "' where id{$rel_plur} = '{$num_n_rel}' "); } if ($num_rel_agg < $num_passa_a_var) { $rel_esistenti2 = esegui_query("select idsup from {$tablerelutenti} where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' "); if (numlin_query($rel_esistenti2)) { $rel_esistente2[$num_n_rel] = 1; $idsup_esistente2[$num_n_rel] = risul_query($rel_esistenti2, 0, 'idsup'); } # fine if (numlin_query($rel_esistenti2)) } # fine if ($num_rel_agg < $num_passa_a_var) } # fine else if (!$rel_esistente[$lista_rel[$num1]]) if (!$rel_esistente2[$num_n_rel]) { if ($id_rel_sup) { esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing},idsup) values ('{$id_utente_mod}','{$num_n_rel}','{$id_rel_sup}') ", "", $nolog); } else { esegui_query("insert into {$tablerelutenti} (idutente,id{$rel_sing}) values ('{$id_utente_mod}','{$num_n_rel}') ", "", $nolog); } $rel_esistente2[$num_n_rel] = 1; $idsup_esistente2[$num_n_rel] = $id_rel_sup; } elseif ($id_rel_sup) { $idsup = $idsup_esistente2[$num_n_rel]; if (!$idsup) { esegui_query("update {$tablerelutenti} set idsup = '{$id_rel_sup}' where idutente = '{$id_utente_mod}' and id{$rel_sing} = '{$num_n_rel}' "); } } # fine elseif ($id_rel_sup) } # fine for $num1 unlock_tabelle($tabelle_lock); echo "<br></div>\n<script type=\"text/javascript\">\n<!--\nvar avanz = document.getElementById('avanz_{$rel_plur}');\navanz.style.display = 'none';\n-->\n</script>\n"; switch ($rel_sing) { case "regione": if ($aggiungi_rel and $pag) { echo mex("Nuova regione/provincia aggiunta", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex("Regioni/provincie predefinite ripristinate", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex("Regioni/provincie cancellate", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex("Regioni/provincie importate", $pag) . ".<br>"; } break; case "documentoid": if ($aggiungi_rel and $pag) { echo mex("Nuovo tipo di documento di identità aggiunto", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex("Tipi di documento di identità predefiniti ripristinati", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex("Tipi di documento di identità cancellati", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex("Tipi di documento di identità importati", $pag) . ".<br>"; } break; case "citta": $rel_sing = "città"; $rel_plur = "città"; default: if ($aggiungi_rel and $pag) { echo mex("Nuova {$rel_sing} aggiunta", $pag) . ".<br>"; } if ($rel_predefinite and $pag) { echo mex(ucfirst($rel_plur) . " predefinite ripristinate", $pag) . ".<br>"; } if ($elimina_tutte_rel and $pag) { echo mex(ucfirst($rel_plur) . " cancellate", $pag) . ".<br>"; } if ($importa_rel and $pag) { echo mex(ucfirst($rel_plur) . " importate", $pag) . ".<br>"; } } # fine switch ($rel_sing) unset($lista_rel); unset($cod_rel); unset($cod2_rel); unset($cod3_rel); unset($cod_rel_sup); unset($rel_esistente); unset($id_esistente); unset($cod_esistente); unset($rel_esistente2); unset($idsup_esistente2); } # fine if (!$aggiungi_rel or str_replace(" ","",$nuova_rel)) } # fine if ($aggiungi_rel or $rel_predefinite or... }
function aggiorna_pers_relutenti ($rel_sing,$rel_plur,$tablerel,$frase_canc,$rel_sup_sing="",$rel_sup_plur="",$tablerel_sup="",$rel_inf_sing="",$rel_inf_plur="",$tablerel_inf="") { $aggiungi_rel = "aggiungi_".$rel_sing; $rel_predefinite = $rel_plur."_predefinite"; $elimina_tutte_rel = "elimina_tutte_".$rel_plur; $importa_rel = "importa_".$rel_plur; $elimina_rel = "elimina_".$rel_sing; $nuova_rel = "nuova_".$rel_sing; $sup_n_rel = "sup_n_".$rel_sing; $cod_n_rel = "cod_n_".$rel_sing; $cod2_n_rel = "cod2_n_".$rel_sing; $cod3_n_rel = "cod3_n_".$rel_sing; $utente_importa_rel = "utente_importa_".$rel_plur; $rel_da_eliminare = $rel_sing."_da_eliminare"; global $$aggiungi_rel,$$rel_predefinite,$$elimina_tutte_rel,$$importa_rel,$$elimina_rel,$$nuova_rel,$$sup_n_rel,$$cod_n_rel,$$cod2_n_rel,$$cod3_n_rel,$$utente_importa_rel,$$rel_da_eliminare,$id_utente,$id_utente_mod,$pag,$anchor,$tablerelutenti; if ($$aggiungi_rel or $$rel_predefinite or $$elimina_tutte_rel or $$importa_rel or $$elimina_rel) { $anchor = "pers_rel"; aggiorna_relutenti($$aggiungi_rel,$$rel_predefinite,$$elimina_tutte_rel,$$importa_rel,$id_utente,$id_utente_mod,$$nuova_rel,$$sup_n_rel,$$cod_n_rel,$$cod2_n_rel,$$cod3_n_rel,$$utente_importa_rel,$pag,$rel_sing,$rel_plur,$tablerel,$tablerelutenti,$rel_sup_sing,$rel_sup_plur,$tablerel_sup,$rel_inf_sing,$rel_inf_plur,$tablerel_inf); if ($$elimina_rel) { if (get_magic_quotes_gpc()) $$rel_da_eliminare = stripslashes($$rel_da_eliminare); $$rel_da_eliminare = aggslashdb(htmlspecialchars($$rel_da_eliminare)); if (str_replace(" ","",$$rel_da_eliminare)) { if ($tablerel_inf) $tabelle_lock = array($tablerel,$tablerel_inf,$tablerelutenti); else $tabelle_lock = array($tablerel,$tablerelutenti); $tabelle_lock = lock_tabelle($tabelle_lock); $num_rel = esegui_query("select * from $tablerel where nome_$rel_sing = '".$$rel_da_eliminare."' "); if (numlin_query($num_rel)) { $num_rel = risul_query($num_rel,0,"id$rel_plur"); cancella_relutente($num_rel,$id_utente_mod,$rel_sing,$rel_plur,$tablerel,$tablerelutenti,$rel_inf_sing,$rel_inf_plur,$tablerel_inf); echo mex($frase_canc,$pag).".<br>"; } # fine if (numlin_query($num_rel)) unlock_tabelle($tabelle_lock); } # fine if (str_replace(" ","",$$rel_da_eliminare)) } # fine if ($$elimina_rel) } # fine if ($$aggiungi_rel or $$rel_predefinite or... } # fine function aggiorna_pers_relutenti