Rôle dans les commentaires + bug de traduction

This commit is contained in:
Fred Tempez 2025-02-07 20:58:57 +01:00
parent b8472748ae
commit 85e3718ad7
14 changed files with 41 additions and 41 deletions

View File

@ -1139,7 +1139,7 @@ class layout extends common
'href' => helper::baseUrl() . 'plugin'
]) . '</li>';
}
// Boutons depuis le groupe éditeur
// Boutons depuis le rôle éditeur
if (
$this->getUser('role') >= self::ROLE_EDITOR
&& $this->getUser('permission', 'user', 'edit')

View File

@ -633,7 +633,7 @@ class core extends common
if (array_key_exists($action, $module::$actions)) {
$module->$action();
$output = $module->output;
// Check le groupe de l'utilisateur
// Check le rôle de l'utilisateur
if (
($module::$actions[$action] === common::ROLE_VISITOR
or ($this->isConnected() === true

View File

@ -1035,7 +1035,7 @@ class common
/**
* Retourne les permissions de l'utilisateur connecté
* @param int $key Clé de la valeur du groupe
* @param int $key Clé de la valeur du rôle
* @return string|null
*/
public function getPermission($key1, $key2 = null)

View File

@ -312,7 +312,7 @@ if ($this->getData(['core', 'dataVersion']) < 10400) {
if ($this->getData(['page', $parent, 'moduleId']) === 'blog') {
$articleIds = array_keys(helper::arrayColumn($this->getData(['module', $parent, 'posts']), 'publishedOn', 'SORT_DESC'));
foreach ($articleIds as $key => $article) {
// Droits les deux groupes
// Droits les deux rôles
$this->setData(['module', $parent, 'posts', $article, 'editConsent', 3]);
// Limite de taille 500
$this->setData(['module', $parent, 'posts', $article, 'commentMaxlength', '500']);
@ -320,7 +320,7 @@ if ($this->getData(['core', 'dataVersion']) < 10400) {
$this->setData(['module', $parent, 'posts', $article, 'commentApproved', false]);
// pas de notification
$this->setData(['module', $parent, 'posts', $article, 'commentNotification', false]);
// groupe de notification
// rôle de notification
$this->setData(['module', $parent, 'posts', $article, 'commentGroupNotification', 3]);
}
@ -1053,7 +1053,7 @@ if ($this->getData(['core', 'dataVersion']) < 13000) {
}
}
// Mise à jour des pages, le profil est mis à 0 pour les groupes sans profil et 1 pour es groupes avec profil
// Mise à jour des pages, le profil est mis à 0 pour les rôles sans profil et 1 pour es rôles avec profil
$currentlanguage = self::$siteContent;
foreach ($languages as $langId) {

View File

@ -41,7 +41,7 @@
<?php echo template::select('connectAuthMail', array_merge([0 => 'Aucune'], self::$roleNews), [
'label' => 'Validation par clé ⚠️',
'selected' => $this->getData(['config', 'connect', 'mailAuth']),
'help' => 'La connexion est confirmée à l\'aide d\'une clé transmise par messagerie. Depuis le groupe sélectionné et les rôles supérieurs.'
'help' => 'La connexion est confirmée à l\'aide d\'une clé transmise par messagerie. Depuis le rôle sélectionné et les rôles supérieurs.'
]); ?>
</div>
<div class="col3 verticalAlignBottom">

View File

@ -264,7 +264,7 @@
"Rôle": "Group",
"Rôle associé": "Associated Group",
"Rôle requis pour accéder à la page :": "Group required to access the page:",
"Groupes": "Groups",
"Rôles": "Groups",
"Générer sitemap.xml et robots.txt": "Generate sitemap.xml and robots.txt",
"Générer une capture Open Graph": "Generate an Open Graph capture",
"Gérer les catégories": "Manage categories",
@ -295,7 +295,7 @@
"Importer dans": "Import into",
"Importer des utilisateurs en masse": "Import mass users",
"Impossible d'ouvrir l'archive": "Impossible to open the archive",
"Impossible de modifier votre propre groupe.": "Unable to modify your own group.",
"Impossible de modifier votre propre rôle.": "Unable to modify your own group.",
"Impossible de soumettre le formulaire, car il contient des erreurs": "Unable to submit the form, as it contains errors",
"Impossible de supprimer une page contenant des pages enfants": "Unable to delete a page containing children's pages",
"Impossible de supprimer votre propre compte": "Unable to delete your own account",
@ -686,7 +686,7 @@
"Modèle": "Template",
"Bouton de navigation droit": "Right Navigation Button",
"Bouton de navigation gauche": "Left Navigation Button",
"Groupes / Profils": "Groups / Profiles",
"Rôles / Profils": "Groups / Profiles",
"Prénom commence par": "First Name starts with",
"Nom commence par": "Last Name starts with",
"Impossible de réinitialiser le mot de passe de ce compte !": "Impossible to reset this account password!",
@ -695,7 +695,7 @@
"Message de test envoyé avec succès": "Test message sent successfully",
"Message non envoyé": "Message not sent",
"Validation par clé ⚠️": "Key-based validation ⚠️",
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le groupe sélectionné et les rôlesérieurs.": "The connection is confirmed using a key sent via messaging. From the selected group and the higher groups.",
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le rôle sélectionné et les rôles supérieurs.": "The connection is confirmed using a key sent via messaging. From the selected group and the higher groups.",
"Envoi du message d'authentification": "Sending authentication message",
"Connexion réussie": "Login successful",
"Erreur de mot de passe": "Password error",

View File

@ -264,7 +264,7 @@
"Rôle": "Grupo",
"Rôle associé": "Grupo asociado",
"Rôle requis pour accéder à la page :": "Grupo necesario para acceder a la página:",
"Groupes": "Grupos",
"Rôles": "Grupos",
"Générer sitemap.xml et robots.txt": "Generar sitemap.xml y robots.txt",
"Générer une capture Open Graph": "Generar una captura de Open Graph",
"Gérer les catégories": "Gestionar categorías",
@ -295,7 +295,7 @@
"Importer dans": "Importar a",
"Importer des utilisateurs en masse": "Importar usuarios de forma masiva",
"Impossible d'ouvrir l'archive": "No se puede abrir el archivo",
"Impossible de modifier votre propre groupe.": "No puede editar su propio grupo.",
"Impossible de modifier votre propre rôle.": "No puede editar su propio grupo.",
"Impossible de soumettre le formulaire, car il contient des erreurs": "No se puede enviar el formulario porque contiene errores",
"Impossible de supprimer une page contenant des pages enfants": "No se puede eliminar una página que contiene páginas secundarias",
"Impossible de supprimer votre propre compte": "No puede eliminar su propia cuenta",
@ -686,7 +686,7 @@
"Modèle": "Plantilla",
"Bouton de navigation droit": "Botón de navegación derecha",
"Bouton de navigation gauche": "Botón de navegación izquierda",
"Groupes / Profils": "Grupos / Perfiles",
"Rôles / Profils": "Grupos / Perfiles",
"Prénom commence par": "El nombre comienza con",
"Nom commence par": "El apellido comienza con",
"Impossible de réinitialiser le mot de passe de ce compte !": "No puedo restablecer la contraseña de esta cuenta.",
@ -695,7 +695,7 @@
"Message de test envoyé avec succès": "Mensaje de prueba enviado con éxito",
"Message non envoyé": "Mensaje no enviado",
"Validation par clé ⚠️": "Validación por clave ⚠️",
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le groupe sélectionné et les rôles supérieurs.": "La conexión se confirma con una clave enviada por mensajería. Desde el grupo seleccionado y los grupos superiores.",
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le rôle sélectionné et les rôles supérieurs.": "La conexión se confirma con una clave enviada por mensajería. Desde el grupo seleccionado y los grupos superiores.",
"Envoi du message d'authentification": "Envío del mensaje de autenticación",
"Connexion réussie": "Conexión exitosa",
"Erreur de mot de passe": "Error de contraseña",

View File

@ -264,7 +264,7 @@
"Rôle": "",
"Rôle associé": "",
"Rôle requis pour accéder à la page :": "",
"Groupes": "",
"Rôles": "",
"Générer sitemap.xml et robots.txt": "",
"Générer une capture Open Graph": "",
"Gérer les catégories": "",
@ -295,7 +295,7 @@
"Importer dans": "",
"Importer des utilisateurs en masse": "",
"Impossible d'ouvrir l'archive": "",
"Impossible de modifier votre propre groupe.": "",
"Impossible de modifier votre propre rôle.": "",
"Impossible de soumettre le formulaire, car il contient des erreurs": "",
"Impossible de supprimer une page contenant des pages enfants": "",
"Impossible de supprimer votre propre compte": "",
@ -686,7 +686,7 @@
"Modèle": "",
"Bouton de navigation droit": "",
"Bouton de navigation gauche": "",
"Groupes / Profils": "",
"Rôles / Profils": "",
"Prénom commence par": "",
"Nom commence par": "",
"Impossible de réinitialiser le mot de passe de ce compte !": "",
@ -695,7 +695,7 @@
"Message de test envoyé avec succès": "",
"Message non envoyé": "",
"Validation par clé ⚠️": "",
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le groupe sélectionné et les rôles supérieurs.": "",
"La connexion est confirmée à l'aide d'une clé transmise par messagerie. Depuis le rôle sélectionné et les rôles supérieurs.": "",
"Envoi du message d'authentification": "",
"Connexion réussie": "",
"Erreur de mot de passe": "",

View File

@ -508,10 +508,10 @@ class page extends common
}
}
}
// Détermine le groupe selon que la page est une barre ou une page standard
// Détermine le rôle selon que la page est une barre ou une page standard
$role = $this->getinput('pageEditBlock') !== 'bar' ? $this->getInput('pageEditGroup', helper::FILTER_INT) : 0;
//Détermine le profil d'utilisateur en fonction du groupe sinon le groupe vaut 0
//Détermine le profil d'utilisateur en fonction du rôle sinon le rôle vaut 0
$profil = 0;
if (
$this->getinput('pageEditBlock') !== 'bar' ||

View File

@ -1,4 +1,4 @@
id;nom;prenom;email;groupe;profil;passe;tags
id;nom;prenom;email;role;profil;passe;tags
jm1;Membre1;Jean;jean.membre1@email.fr;1;1;jEan05;"adhérent"
am2;Membre2;Albert;albert.membre2@email.fr;1;1;alBertAG;"adhérent"
jrediteur;Editeur;Robert;robert.editeur@email.fr;2;1;roBert54;"trésorier"

1 id nom prenom email groupe role profil passe tags
2 jm1 Membre1 Jean jean.membre1@email.fr 1 1 1 jEan05 adhérent
3 am2 Membre2 Albert albert.membre2@email.fr 1 1 1 alBertAG adhérent
4 jrediteur Editeur Robert robert.editeur@email.fr 2 2 1 roBert54 trésorier

View File

@ -306,7 +306,7 @@ class user extends common
}
}
// Modification du groupe
// Modification du rôle
if (
$this->getUser('role') === self::ROLE_ADMIN
and $this->getUrl(2) !== $this->getUser('id')
@ -573,7 +573,7 @@ class user extends common
{
// Ne pas supprimer un profil utililsé
// recherche les membres du groupe
// recherche les membres du rôle
$roles = helper::arrayColumn($this->getData(['user']), 'role');
$roles = array_keys($roles, $this->getUrl(2));
$profilUsed = true;
@ -640,7 +640,7 @@ class user extends common
}
/**
* Edition d'un groupe
* Edition d'un rôle
*/
public function profilEdit()
{
@ -806,7 +806,7 @@ class user extends common
$this->getUser('permission', __CLASS__, __FUNCTION__) === true &&
$this->isPost()
) {
// Nombre de profils de ce groupe
// Nombre de profils de ce rôle
$role = $this->getInput('profilAddGroup');
$profil = count($this->getData(['profil', $role]));
// Gère le chemin
@ -938,7 +938,7 @@ class user extends common
public function profilDelete()
{
// Ne pas supprimer un profil utililsé
// recherche les membres du groupe
// recherche les membres du rôle
$roles = helper::arrayColumn($this->getData(['user']), 'role');
$roles = array_keys($roles, $this->getUrl(2));
$flag = true;
@ -1041,7 +1041,7 @@ class user extends common
$this->setData(['user', $userId, 'connectTimeout', 0], false);
}
// Check la présence des variables et contrôle du blocage du compte si valeurs dépassées
// Vérification du mot de passe et du groupe
// Vérification du mot de passe et du rôle
if (
($this->getData(['user', $userId, 'connectTimeout']) + $this->getData(['config', 'connect', 'timeout'])) < time()
and $this->getData(['user', $userId, 'connectFail']) < $this->getData(['config', 'connect', 'attempt'])
@ -1397,7 +1397,7 @@ class user extends common
array_key_exists('id', $item)
and array_key_exists('prenom', $item)
and array_key_exists('nom', $item)
and array_key_exists('groupe', $item)
and array_key_exists('role', $item)
and array_key_exists('profil', $item)
and array_key_exists('email', $item)
and array_key_exists('passe', $item)
@ -1406,16 +1406,16 @@ class user extends common
and isset($item['nom'])
and isset($item['prenom'])
and isset($item['email'])
and isset($item['groupe'])
and isset($item['role'])
and isset($item['profil'])
and isset($item['passe'])
and isset($item['tags'])
) {
// Validation du groupe
$item['groupe'] = (int) $item['groupe'];
// Validation du rôle
$item['role'] = (int) $item['role'];
$item['profil'] = (int) $item['profil'];
$item['groupe'] = ($item['groupe'] >= self::ROLE_BANNED and $item['groupe'] <= self::ROLE_ADMIN)
? $item['groupe'] : 1;
$item['role'] = ($item['role'] >= self::ROLE_BANNED and $item['role'] <= self::ROLE_ADMIN)
? $item['role'] : 1;
// L'utilisateur existe
$userId = helper::filter($item['id'], helper::FILTER_ID);
if ($this->getData(['user', $userId])) {
@ -1426,7 +1426,7 @@ class user extends common
$userId,
$item['nom'],
$item['prenom'],
self::$roles[$item['groupe']],
self::$roles[$item['role']],
empty($this->getData(['profil', $this->getData(['user', $userId, 'role']), $this->getData(['user', $userId, 'profil']), 'name']))
? helper::translate(self::$roles[(int) $this->getData(['user', $userId, 'role'])])
: $this->getData(['profil', $this->getData(['user', $userId, 'role']), $this->getData(['user', $userId, 'profil']), 'name']),
@ -1445,7 +1445,7 @@ class user extends common
[
'firstname' => $item['prenom'],
'forgot' => 0,
'role' => $item['groupe'],
'role' => $item['role'],
'profil' => $item['profil'],
'lastname' => $item['nom'],
'mail' => $item['email'],
@ -1489,7 +1489,7 @@ class user extends common
$userId,
$item['nom'],
$item['prenom'],
self::$roles[$item['groupe']],
self::$roles[$item['role']],
empty($this->getData(['profil', $this->getData(['user', $userId, 'role']), $this->getData(['user', $userId, 'profil']), 'name']))
? helper::translate(self::$roles[(int) $this->getData(['user', $userId, 'role'])])
: $this->getData(['profil', $this->getData(['user', $userId, 'role']), $this->getData(['user', $userId, 'profil']), 'name']),

View File

@ -128,7 +128,7 @@
<?php if ($this->getUser('role') === self::ROLE_ADMIN): ?>
<?php echo template::select('userEditGroup', self::$roleEdits, [
'disabled' => ($this->getUrl(2) === $this->getUser('id')),
'help' => ($this->getUrl(2) === $this->getUser('id') ? 'Impossible de modifier votre propre groupe.' : ''),
'help' => ($this->getUrl(2) === $this->getUser('id') ? 'Impossible de modifier votre propre rôle.' : ''),
'label' => 'Rôle',
'selected' => $this->getData(['user', $this->getUrl(2), 'role']),
]); ?>

View File

@ -42,7 +42,7 @@
<div class="row">
<div class="col3">
<?php echo template::select('userFilterGroup', user::$usersGroups, [
'label' => 'Groupes / Profils',
'label' => 'Rôles / Profils',
'selected' => isset($_POST['userFilterGroup']) ? $_POST['userFilterGroup'] : 'all',
]); ?>
</div>

View File

@ -17,7 +17,7 @@ date_default_timezone_set('Europe/Paris');
$lang = isset($_GET['lang']) ? $_GET['lang'] : 'en';
setlocale(LC_CTYPE, $lang);
/* Lecture du groupe de l'utilisateur connecté pour attribuer les droits et les dossiers */
/* Lecture du rôle de l'utilisateur connecté pour attribuer les droits et les dossiers */
$userId = $_COOKIE['ZWII_USER_ID'];
$u = json_decode(file_get_contents('../../../site/data/user.json'), true);
$g = json_decode(file_get_contents('../../../site/data/profil.json'), true);
@ -71,7 +71,7 @@ if (!is_null($u) && !is_null($g) && !is_null($userId)) {
}
/* Fin lecture du groupe de l'utilisateur connecté pour attribuer les droits et les dossiers */
/* Fin lecture du rôle de l'utilisateur connecté pour attribuer les droits et les dossiers */
/*
|--------------------------------------------------------------------------