membre add

This commit is contained in:
d6soft
2025-06-11 09:27:25 +02:00
parent 511be5a535
commit ace38d4025
34 changed files with 72757 additions and 73229 deletions

View File

@@ -26,10 +26,6 @@ class UserController {
$this->appConfig = AppConfig::getInstance();
}
public function getUsers(): void {
Session::requireAuth();
@@ -53,7 +49,7 @@ class UserController {
$stmt = $this->db->prepare('
SELECT
u.id,
u.encrypt_email,
u.encrypted_email,
u.encrypted_name,
u.first_name,
u.fk_role as role,
@@ -71,7 +67,7 @@ class UserController {
// Déchiffrement des données sensibles pour chaque utilisateur
foreach ($users as &$user) {
$user['email'] = ApiService::decryptSearchableData($user['encrypt_email']);
$user['email'] = ApiService::decryptSearchableData($user['encrypted_email']);
$user['name'] = ApiService::decryptData($user['encrypted_name']);
if (!empty($user['entite_name'])) {
@@ -79,7 +75,7 @@ class UserController {
}
// Suppression des champs chiffrés
unset($user['encrypt_email']);
unset($user['encrypted_email']);
unset($user['encrypted_name']);
}
@@ -123,12 +119,12 @@ class UserController {
$stmt = $this->db->prepare('
SELECT
u.id,
u.encrypt_email,
u.encrypted_email,
u.encrypted_name,
u.first_name,
u.sect_name,
u.encrypt_phone,
u.encrypt_mobile,
u.encrypted_phone,
u.encrypted_mobile,
u.fk_role as role,
u.fk_entite,
u.infos,
@@ -162,20 +158,20 @@ class UserController {
}
// Déchiffrement des données sensibles
$user['email'] = ApiService::decryptSearchableData($user['encrypt_email']);
$user['email'] = ApiService::decryptSearchableData($user['encrypted_email']);
$user['name'] = ApiService::decryptData($user['encrypted_name']);
$user['phone'] = ApiService::decryptData($user['encrypt_phone'] ?? '');
$user['mobile'] = ApiService::decryptData($user['encrypt_mobile'] ?? '');
$user['phone'] = ApiService::decryptData($user['encrypted_phone'] ?? '');
$user['mobile'] = ApiService::decryptData($user['encrypted_mobile'] ?? '');
if (!empty($user['entite_name'])) {
$user['entite_name'] = ApiService::decryptData($user['entite_name']);
}
// Suppression des champs chiffrés
unset($user['encrypt_email']);
unset($user['encrypted_email']);
unset($user['encrypted_name']);
unset($user['encrypt_phone']);
unset($user['encrypt_mobile']);
unset($user['encrypted_phone']);
unset($user['encrypted_mobile']);
Response::json([
'status' => 'success',
@@ -256,7 +252,7 @@ class UserController {
$encryptedName = ApiService::encryptData($name);
// Vérification de l'existence de l'email
$checkStmt = $this->db->prepare('SELECT id FROM users WHERE encrypt_email = ?');
$checkStmt = $this->db->prepare('SELECT id FROM users WHERE encrypted_email = ?');
$checkStmt->execute([$encryptedEmail]);
if ($checkStmt->fetch()) {
Response::json([
@@ -284,8 +280,8 @@ class UserController {
// Insertion en base de données
$stmt = $this->db->prepare('
INSERT INTO users (
encrypt_email, user_pswd, encrypted_name, first_name,
sect_name, encrypt_phone, encrypt_mobile, fk_role,
encrypted_email, user_pswd, encrypted_name, first_name,
sect_name, encrypted_phone, encrypted_mobile, fk_role,
fk_entite, infos, chk_alert_email, chk_suivi,
date_naissance, date_embauche, matricule,
created_at, fk_user_creat, chk_active
@@ -387,7 +383,7 @@ class UserController {
$email = trim(strtolower($data['email']));
$encryptedEmail = ApiService::encryptSearchableData($email);
$checkStmt = $this->db->prepare('SELECT id FROM users WHERE encrypt_email = ? AND id != ?');
$checkStmt = $this->db->prepare('SELECT id FROM users WHERE encrypted_email = ? AND id != ?');
$checkStmt->execute([$encryptedEmail, $id]);
if ($checkStmt->fetch()) {
Response::json([
@@ -397,8 +393,8 @@ class UserController {
return;
}
$updateFields[] = "encrypt_email = :encrypt_email";
$params['encrypt_email'] = $encryptedEmail;
$updateFields[] = "encrypted_email = :encrypted_email";
$params['encrypted_email'] = $encryptedEmail;
}
if (isset($data['name'])) {
@@ -407,13 +403,13 @@ class UserController {
}
if (isset($data['phone'])) {
$updateFields[] = "encrypt_phone = :encrypt_phone";
$params['encrypt_phone'] = ApiService::encryptData(trim($data['phone']));
$updateFields[] = "encrypted_phone = :encrypted_phone";
$params['encrypted_phone'] = ApiService::encryptData(trim($data['phone']));
}
if (isset($data['mobile'])) {
$updateFields[] = "encrypt_mobile = :encrypt_mobile";
$params['encrypt_mobile'] = ApiService::encryptData(trim($data['mobile']));
$updateFields[] = "encrypted_mobile = :encrypted_mobile";
$params['encrypted_mobile'] = ApiService::encryptData(trim($data['mobile']));
}
// Traitement des champs non chiffrés
@@ -473,7 +469,7 @@ class UserController {
'level' => 'info',
'modifiedBy' => $currentUserId,
'userId' => $id,
'fields' => array_keys($data)
'fields' => array_keys($data),
]);
Response::json([