fetchArray($query); $id_utente = $rs[0]['idutente']; if (isset($operation)) { if ($modules_info[$module_name]["permessi"] == 'rw') { // Aggiornamento permessi if ($operation == 'update_permission') { $permessi = filter('permesso'); $idmodulo = filter('idmodulo'); // Verifico che ci sia il permesso per questo gruppo $rs = $dbo->fetchArray("SELECT * FROM zz_permessi WHERE idgruppo='" . $id_record . "' AND idmodule='" . $idmodulo . "'"); if (sizeof($rs) == 0) $query = "INSERT INTO zz_permessi(idgruppo, idmodule, permessi) VALUES(\"" . $id_record . "\", \"" . $idmodulo . "\", \"" . $permessi . "\")"; else $query = "UPDATE zz_permessi SET permessi=\"" . $permessi . "\" WHERE id='" . $rs[0]['id'] . "'"; $dbo->query($query); ob_end_clean(); echo "ok"; exit(); } // Abilita utente else if ($operation == 'enable') { if ($dbo->query("UPDATE zz_utenti SET enabled=1 WHERE idutente='" . $id_utente . "'")) array_push($_SESSION['infos'], "Utente abilitato!"); } // Disabilita utente else if ($operation == 'disable') { if ($dbo->query("UPDATE zz_utenti SET enabled=0 WHERE idutente='" . $id_utente . "'")) array_push($_SESSION['infos'], "Utente disabilitato!"); } // Cambio password e nome utente else if ($operation == 'change_pwd' && isset($id_utente)) { // $id_utente = filter('idutente'); $min_length = filter('min_length'); $min_length_username = filter('min_length_username'); $password = filter('password1'); $username = filter('username'); // Verifico che la password sia di almeno x caratteri if (strlen($password) >= $min_length) { if ($dbo->query("UPDATE zz_utenti SET password=MD5('" . $password . "') WHERE idutente='" . $id_utente . "'")) array_push($_SESSION['infos'], "Password aggiornata!"); $query_mobile="UPDATE zz_utenti SET chiave_mobile=MD5(CONCAT('".$username."', MD5('".$password."'))) WHERE idutente='".$id_utente."'"; $dbo->query($query_mobile); } else { array_push($_SESSION['errors'], "La password deve essere lunga almeno " . $min_length . " caratteri!"); } // Se ho modificato l'username, verifico che questo non sia già stato usato $query = "SELECT username FROM zz_utenti WHERE idutente='" . $id_utente . "'"; $rs = $dbo->fetchArray($query); if ($rs[0]['username'] != $username) { $query = "SELECT idutente FROM zz_utenti WHERE username=\"" . $username . "\""; $n = $dbo->fetchNum($query); if ($n == 0) { if ($dbo->query("UPDATE zz_utenti SET username=('" . $username . "') WHERE idutente='" . $id_utente . "'")) array_push($_SESSION['infos'], "Username aggiornato!"); } else { array_push($_SESSION['errors'], "Utente già esistente!"); } } } // Aggiunta nuovo utente else if ($operation == 'adduser' && isset($_POST['username'])) { $username = filter('username'); $min_length = filter('min_length'); $min_length_username = filter('min_length_username'); $password = filter('password1'); $idanag = explode('-', filter('idanag')); if (sizeof($idanag) == 2) { $idtipoanagrafica = $idanag[0]; $idanagrafica = $idanag[1]; } // Verifico che questo username non sia già stato usato $query = "SELECT username FROM zz_utenti WHERE username=\"" . $username . "\""; $n = $dbo->fetchNum($query); if ($n == 0) { // Verifico che la password sia di almeno x caratteri if (strlen($password) >= $min_length) { if ($dbo->query("INSERT INTO zz_utenti( idgruppo, username, password, idanagrafica, idtipoanagrafica, enabled, email) VALUES( \"" . $id_record . "\", \"" . $username . "\", MD5(\"" . $password . "\"), '" . $idanagrafica . "', '" . $idtipoanagrafica . "', 1, '' )")) array_push($_SESSION['infos'], "Utente aggiunto!"); } else { array_push($_SESSION['errors'], "La password deve essere lunga almeno " . $min_length . " caratteri!"); } } else { array_push($_SESSION['errors'], "Utente già esistente!"); } } // Aggiunta nuovo gruppo else if ($operation == 'add' && isset($_POST['nome'])) { $nome = filter('nome'); // Verifico che questo username non sia già stato usato if ($dbo->fetchNum("SELECT nome FROM zz_gruppi WHERE nome=\"" . $nome . "\"") == 0) { $dbo->query("INSERT INTO zz_gruppi( nome, editable ) VALUES( \"" . $nome . "\", 1 )"); array_push($_SESSION['infos'], "Gruppo aggiunto!"); $id_record = $dbo->last_inserted_id(); } else { array_push($_SESSION['errors'], "Gruppo già esistente!"); } } // Elimina utente else if ($operation == 'delete') { $id_utente = filter('idutente'); if ($dbo->query("DELETE FROM zz_utenti WHERE idutente='" . $id_utente . "'")) array_push($_SESSION['infos'], "Utente eliminato!"); } // Elimina gruppo else if ($operation == 'deletegroup') { // Verifico se questo gruppo si può eliminare $query = "SELECT editable FROM zz_gruppi WHERE id='" . $id_record . "'"; $rs = $dbo->fetchArray($query); if ($rs[0]['editable'] == 1) { if ($dbo->query("DELETE FROM zz_gruppi WHERE id='" . $id_record . "'")) { $dbo->query("DELETE FROM zz_utenti WHERE idgruppo='" . $id_record . "'"); $dbo->query("DELETE FROM zz_permessi WHERE idgruppo='" . $id_record . "'"); array_push($_SESSION['infos'], "Gruppo eliminato!"); } } else { array_push($_SESSION['errors'], "Questo gruppo non si può eliminare!"); } redirect($rootdir . '/controller.php?id_module=' . $modules_info["Utenti e permessi"]["id"]); } } } ?>