164 lines
5.6 KiB
PHP
164 lines
5.6 KiB
PHP
|
<?php
|
||
|
include_once(__DIR__."/../../core.php");
|
||
|
|
||
|
$id_utente = filter('idutente');
|
||
|
$operation = filter("op");
|
||
|
|
||
|
|
||
|
$username=filter('username');
|
||
|
|
||
|
|
||
|
$query = "SELECT idutente FROM zz_utenti WHERE username='" . $username . "'";
|
||
|
$rs = $dbo->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"]);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
?>
|