[Evolution] Ajout de l'email dans le profil
flipflip
Member
Bonjour,
Maintenant que PluXml est multi-utilisateur et multi-niveau je pense qu'il manque une information dans la gestion des profils : l'e-mail. Comment un administrateur ou un rédacteur fait pour contacter les autres membres du site ? Je parle dans le cas d'un site communautaire.
Dans le fichier core/admin/parametre_users.php après ligne 43
Maintenant que PluXml est multi-utilisateur et multi-niveau je pense qu'il manque une information dans la gestion des profils : l'e-mail. Comment un administrateur ou un rédacteur fait pour contacter les autres membres du site ? Je parle dans le cas d'un site communautaire.
Dans le fichier core/admin/parametre_users.php après ligne 43
<th class="tc4">Mot de passe</th>
Ajouter
<th class="tc4">E-mail</th>
Après ligne 62
plxUtils::printInput($userid.'_password', '', 'password', '11-255');
echo '</td><td>';
Ajouter
plxUtils::printInput($userid.'_email', plxUtils::strCheck($user['email']), 'text', '11-255');
echo '</td><td>';
Remplacer ligne 77
echo '<tr style="display:none" id="tr_'.$userid.'"><td style="width:100%" colspan="8">';
Par
echo '<tr style="display:none" id="tr_'.$userid.'"><td style="width:100%" colspan="9">';
Après ligne 104
plxUtils::printInput($new_userid.'_password', '', 'password', '11-255');
echo '</td><td>'
Ajouter
plxUtils::printInput($new_userid.'_email', '', 'text', '11-255');
echo '</td><td>';
Remplacer ligne 115
<td colspan="8">
Par
<td colspan="9">
Remplacer ligne 121
<td colspan="8" style="text-align:center">
Par
<td colspan="9" style="text-align:center">
Dans core/lib/class.plx.admin.php Après ligne 189
return plxMsg::Error('Mauvaise confirmation ou mot de passe vide');
Ajouter
if(!plxUtils::checkMail($content['email']))
return plxMsg::Error('Merci de renseigner une adresse e-mail valide');
Après ligne 195[/b]
$this->aUsers[$_SESSION['user']]['infos'] = trim($content['infos']);
Ajouter
$this->aUsers[$_SESSION['user']]['email'] = trim($content['email']);
après ligne 206[/b]
$xml .= "\t\t".'<password><![CDATA['.$user['password'].']]></password>'."\n";
Ajouter
$xml .= "\t\t".'<email><![CDATA['.$user['email'].']]></email>'."\n";
Après ligne 260
'infos' => trim($content[$user_id.'_infos']),
Ajouter
'email' => trim($content[$user_id.'_email']),
Après ligne 270
$xml .= "\t\t".'<password><![CDATA['.$user['password'].']]></password>'."\n";
Ajouter
$xml .= "\t\t".'<email><![CDATA['.$user['email'].']]></email>'."\n";
Dans core/lib/class.plx.motor.php remplacer ligne 450
$number = $values[$iTags['user'][$i*6] ]['attributes']['number'];
$array[$number]['active'] = $values[ $iTags['user'][$i*6] ]['attributes']['active'];
$array[$number]['delete'] = $values[ $iTags['user'][$i*6] ]['attributes']['delete'];
$array[$number]['profil'] = $values[ $iTags['user'][$i*6] ]['attributes']['profil'];
Par
$number = $values[$iTags['user'][$i*7] ]['attributes']['number'];
$array[$number]['active'] = $values[ $iTags['user'][$i*7] ]['attributes']['active'];
$array[$number]['delete'] = $values[ $iTags['user'][$i*7] ]['attributes']['delete'];
$array[$number]['profil'] = $values[ $iTags['user'][$i*7] ]['attributes']['profil'];
Après ligne 457
$array[$number]['infos'] = isset($values[ $iTags['infos'][$i] ])?$values[ $iTags['infos'][$i] ]['value']:'';
Ajouter
$array[$number]['email'] = isset($values[ $iTags['email'][$i] ])?$values[ $iTags['email'][$i] ]['value']:'';
Dans code/admin/profile.php après ligne 32
<?php plxUtils::printInput('name', plxUtils::strCheck($profil['name']), 'text', '20-255') ?>
Ajouter
<p class="field"><label>E-mail :</label></p>
<?php plxUtils::printInput('email', plxUtils::strCheck($profil['email']), 'text', '20-255') ?>
J'ai un string de l'array
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
sans avoir tester tes modifications, je pense que le problème vient du fait que tu n'as pas fait la modification nécessaire à la classe plxMotor sur la méthode getUsers pour récuperer l'email des utilisateurs. Je pense qu'il faut donc rajouter la ligne à la méthode : Voilà, donne moi des nouvelles sur cette modification car je ne l'ai pas testé !
Ca récupère bien les informations pour parametre_users.php et profil.php mais j'ai encore deux problèmes :
- Lorsque je charge la page seul les deux premiers user sont affiché mais il me manque les informations user_id, active, profil, delete et le troisième user ne s'affiche pas dans la liste :
L'autre problème est quand j'enregistre mes modifications le user_id, active, profil, delete ne sont plus dans le fichier users.xml et le troisième user disparait :
J'ai un string de l'array
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je mets à jours mon premier post pour la procédure et je l'ajoute dans le Wiki
J'ai un string de l'array
Je pense que ta modification va être intégrée en natif dans PluXml car effectivement les arguments que tu avances sur l'utilité de l'adresse email avec le mode multi utilisateur est tout à fait justifiée.
J'ai regardé ton code (sans le tester), j'aurais pas fait mieux. C'est la bonne façon de faire.
On rajoutera dans plxShow une fonction artAuthorEmail pour avoir accès à l'adresse email de l'auteur de l'article si on veut l'afficher dans son thème.
Merci pour ton travail
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
en
et aussi
en
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
ça serait peut etre mieux d'afficher la partie email dans les options, là où on peut saisir les informations sur l'utilisateur.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Reste a pouvoir modifier tout ceci ainsi que les infos de l'auteur sur les commentaires.
mais l'idée me botte bien, d'ailleurs il y a ti_pierre qui doit (je crois) proposer un tuto pour linker fluxBB 1.4 avec pluxml.
Je n'y avais pas pensé et je vois vraiment pas comment faire puisque dans les fichiers xml des commentaires l'id user n'est pas stocké donc même en faisant une recherche par rapport à l'email on est pas certain de modifier le bon et je vous laisse imaginer la lourdeur de l'opération
Pour paufiner on peut même ajouter un contrôle sur la validité du format de l'adresse mail dans parametres_users et profil.php
J'ai un string de l'array
En plus, il est censé connaitre le fonctionnement de l'outil qu'il utilise. donc il saura où regarder et/ou modifier l'adresse email. (sinon faut vraiment changer d'admin)
Pour moi ce n'est pas une information vitale au fonctionnement de pluxml, comme le mot de passe, l'activation du compte, qui dans un écran d'administration doivent etres facilement accessible.
C'est pour cela que je mettrai l'adresse email dans les options. En plus c'est info n'est pas obligatoire (raison de plus pour la mettre dans les options). Je parle pour le fichier parametres_users.php
Apres pour l'aspect visuel, faut faire des consessions. Je sais qu'on aimerais bien avoir tout sur l'écran en une fois, mais il faut faire des choix pour pas que cela soit trop fouilli.
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai un string de l'array
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Pour la verif mail , utilisez vous ,
- la fonction php 5.2 : filter_var($email, FILTER_VALIDATE_EMAIL) ,
- une regex ,
ou un mixe des deux ?
( -> filter_var($email, FILTER_VALIDATE_EMAIL) ne teste pas les extension de domaine et dispo depuis php 5.2.0 . Me semble t-il. )
L'histoire de l'adresse mail est intéressante dans la gestion des utilisateurs , je pense en faire usage et ajouter la possibilité d'envoyer une notification par mail (justement ) au(x) nouveaux collaborateur(s) lors de leur inscription par l'administrateur .
J'imagine un checkbox supplémentaire (mode administrateur uniquement) a coté de "Modifier la liste des utilisateurs" pour notifier par mail ou non(par défaut) la venue d'un nouvel utilisateur ,a l'ensemble des rédacteur , excepté l'admin connecté .
Pour le tableau qui dépasse ,
je réduis sa largeur en modifiant : Numero d'utilisateur , par N° utilisateur .
On peut encore réduire a N° et n'afficher que 001 ,
voir , totalement éliminer/cacher cette colonne qui n'est pas éditable.
<hs>pluxml est devenu un vrai petit bijou , j'adore </hs>
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai un string de l'array
oui c'est lourd , mais en l'occurance je ne pensais qu'au de la fonction native de php (qui accepte par exemple : admin@localhost) et y adjoindre qu'une regex testant si le ndd avait un point et 2 ou 3 lettre derriere .
merci
Cordialement,
gcyrillus , simple membre du forum et utilisateur de pluxml
Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci
J'ai testé la modification du profil utilisateur tel que proposée dans le Wiki et... cela a produit une catastrophe majeure : écrasement du fichier utilisateur !! Pas trop grave car rapidement restaurée à partir d'une sauvegarde mais il y a quand même un gros problème sur cette modification.
PS : j'ai suivi scrupuleusement la modification des quatre fichiers proposés.
Cordialement.