permission("utenti",$_POST["codice"]) || $_SESSION["utente"]->codice == $_POST["codice"]) && tokenVerify()) { $ruoli = utente::ruoli(); $elabora_collaborazioni = ($_SESSION["utente"]->gerarchia <= 10); if (isset($_POST["ruolo"])) { if ($_POST["ruolo"] != "USR") { $elabora_collaborazioni = false; } if ($ruoli[$_POST["ruolo"]]["gerarchia"] >= $_SESSION["utente"]->gerarchia) { $error = false; } } else { $error = false; } if (!$error) { if (isset($_SESSION["ente"])) { if (empty($_POST["codice"])) { $_POST["ruolo"] = "USR"; } else { unset($_POST["ruolo"]); } } if (!empty($_POST["ruolo"]) && $_POST["ruolo"] != "CON") { $_POST["gruppo_consulenza"] = 0; } if (empty($_POST["codice"]) && $_POST["ruolo"] == "USR" && empty($_POST["collaborazione"])) { ?> swal({title:js_dict.error,html:"",type:"error"}); $collaborazione) { if ($ruoli[$collaborazione["gruppo"]]["gerarchia"] >= $_SESSION["utente"]->gerarchia && $ruoli[$collaborazione["gruppo"]]["ente"]) { if (!isset($count[$collaborazione["codice_ente"]])) { $count[$collaborazione["codice_ente"]] = 0; } $count[$collaborazione["codice_ente"]]++; if ($count[$collaborazione["codice_ente"]] > 1) { ?> swal({title:js_dict.error,html:"",type:"error"}); debug = false; $salva->nome_tabella = "b_password_log"; $salva->operazione = "INSERT"; $salva->oggetto = array("codice_utente"=>$_POST["codice"]); $salva->save(); } } $salva = new salva(); $salva->debug = false; $salva->nome_tabella = "b_utenti"; $salva->operazione = empty($_POST["codice"]) ? "INSERT" : "UPDATE"; $salva->oggetto = $_POST; $salva->expect = array("cf", "codice","ruolo","attivo","password","email","cognome","nome","pec","theme","indirizzo","gruppo_consulenza","stato","regione","provincia","citta","cap","telefono","cellulare"); // Se l'utente è loggato con spid rimuovo il CF dalle chiavi consentite if($salva->operazione == "UPDATE" && ($_SESSION["utente"]->authenticationLevel == 2 || $_SESSION["utente"]->publicSSO == "SPID") && $_POST["codice"] == $_SESSION["utente"]->codice) { unset($salva->expect[0]); $salva->expect = array_values($salva->expect); } $codice = $salva->save(); if (!empty($codice)) { Utente::removeLock($codice); unset($_SESSION["currentTheme"]); $found = []; if (!empty($collaborazioniDaElaborare)) { foreach($collaborazioniDaElaborare AS $codice_collaborazione => $collaborazione) { $operazione = "INSERT"; if (is_numeric($codice_collaborazione)) { $operazione = "UPDATE"; $collaborazione["codice"] = $codice_collaborazione; } $collaborazione["codice_utente"] = $codice; $salva = new salva(); $salva->debug = false; $salva->nome_tabella = "r_collaborazioni"; $salva->operazione = $operazione; $salva->oggetto = $collaborazione; $salva->expect = array("codice","gruppo","codice_utente","codice_ente","attivo","readOnly"); $found[] = $salva->save(); } } $bind = []; $bind[":codice_utente"] = $codice; $sql = "SELECT codice FROM r_collaborazioni WHERE codice_utente = :codice_utente "; if (!empty($_SESSION["ente"])) { $sql .= " AND codice_ente IN (SELECT codice FROM b_enti WHERE codice = :codice_ente OR sua = :codice_ente)"; $bind[":codice_ente"] = $_SESSION["ente"]->codice; if ($_SESSION["utente"]->gerarchia >= 9) { if (!$_SESSION["utente"]->fromHere()) { $bind[":codice_ente"] = $_SESSION["utente"]->codice_ente; } $sql .= " AND codice_ente NOT IN (SELECT codice FROM b_enti WHERE sua = :codice_ente AND ((dominio IS NOT NULL AND dominio <> '') OR attivo = 'N')) "; } } $collaborazioni = $pdo->go($sql,$bind); if ($collaborazioni->rowCount() > 0 && $elabora_collaborazioni) { while($collaborazione = $collaborazioni->fetch(PDO::FETCH_ASSOC)) { if (in_array($collaborazione["codice"],$found) === false) { $pdo->go("DELETE FROM r_permessi_collaborazioni WHERE cod_relazione = :codice",[":codice"=>$collaborazione["codice"]]); scriviLog("r_permessi_collaborazioni","DELETE",$pdo->getSQL(),$collaborazione["codice"]); $pdo->go("DELETE FROM r_collaborazioni WHERE codice = :codice",[":codice"=>$collaborazione["codice"]]); scriviLog("r_collaborazioni","DELETE",$pdo->getSQL(),$collaborazione["codice"]); } } } ?> swal({title:js_dict["success-msg"],type:"success"}).then(function() { window.location.reload(); modalURL = []; rowCount() > 0) { ?> showModalWithURL("/backend/utenti/manage.php?codice="); showModalWithURL("/backend/utenti/edit.php?codice="); }); swal({title:js_dict.error,html:js_dict["error-generic"] + "
Error: # 1",type:"error"});