Mail, commentaire admin et Gravatar

HamtaroHamtaro Member
octobre 2011 modifié dans Entraide
Bonjour

J'ai une petite question technique pour une adaptation de thème. J'utilise le système Gravatar et il faut donc que je récupère le mail de l'auteur d'un commentaire.
Pas de soucis lorsqu'il s'agit d'un commentaire "extérieur", l'utilisateur le renseigne ou non. Par contre, quand le commentaire est de type admin, vu que maintenant, Pluxml est multi utilisateur, est-il possible de récupérer le mail renseigné dans le profil admin, quand une réponse est faite ?

Un peu du genre de la fonction http://devzone.pluxml.org/?plxShow/function/artAuthorEmail mais avec les coms :p

Possible ?

Ou alors il faudrait tout simplement lors de la réponse en admin, que Pluxml aille chercher le mail saisi dans les options et que cela se comporte comme un utilisateur extérieur, c'est à dire que le mail soit renseigné dans le fichier xml de stockage du com. Non ?

TCho, Hamtaro.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Peux-tu tester ça stp

    rajoute la fonction suivante dans le fichier core/lib/class.plx.show.php
    public function comEmail() {
    
    		$type=$this->plxMotor->plxRecord_coms->f('type');
    		if($type=='admin') {
    			$email=$this->plxMotor->plxRecord_coms->f('mail');
    			if($email!='') return $email;
    			$author = $this->plxMotor->plxRecord_coms->f('author');
    			foreach($this->plxMotor->aUsers as $user) {
    				if($user['name']==$author) return plxUtils::strCheck($user['email']);
    			}
    		} else {
    			return plxUtils::strCheck($this->plxMotor->plxRecord_coms->f('mail'));
    		}
    
    	}
    
    Cette fonction retourne l'adresse email de la personne qui a ecrit le commentaire

    On peut se demander maintenant parmi les options de la fonction
    - faut-il afficher l'adresse (plutot que de renvoyer systèmatiquement sa valeur) ?
    - faut-il faut formater l'adresse dans une balise <a> avec un mailto:adresse@site.com ?

    Vos avis m'interessent dans la mesure où cette fonction pourrait etre rajoutée en natif dans plxShow

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • HamtaroHamtaro Member
    octobre 2011 modifié
    Je ne pense pas que ça soit intéressant de retourner l'email du commentateur.
    Pour Gravatar, je l'encode pour qu'elle soit utilisée par le service, j'en ai, en gros, pas grande utilité pour envoyer du mail. (Sauf bien sûr pour discuter directement avec la personne, mais là, il suffit de se rendre en partie admin pour le récup.) ;)

    J'ai intégré ta nouvelle fonction. Mais je pense qu'un plugin serait bien mieux puisqu'on est vraiment dans l'optionnel.
    Ca marche pour les utilisateurs ayant renseigné leur mail mais, comme avant, pas de solutin pour commentaire admin, ça ne marche pas chez moi. J'ai pourtant renseigné le mail dans mon profil.
    <img src="http://www.gravatar.com/avatar.php?gravatar_id=<?php echo md5( strtolower($plxShow->comEmail()) ) ?>&default=http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802.jpg&size=53" width="53" height="53" class="avatar avatar-53 photo" />
    
  • Un petit up pour savoir si l'ami Stéphane (très productif en ce moment sur les plugins) pense faire un plugin pour Gravatr. Ou alors, je me penche dessus, je pense savoir faire à partir de la nouvelle fonction que tu m'as donné.

    Faut juste que je réfléchisse un peu plus que toi :p
  • Renvoyer la valeur, ce qui permet de tout faire dans tous les cas et de travailler avec.
  • DeevadDeevad Member
    octobre 2011 modifié
    J'ai eu les même questionnement quand j'ai fait mon blog, et j'ai bidouillé ça à même le thème :
    <div class="avatar"><p>
    	<?php if($plxShow->plxMotor->plxRecord_coms->f('type')=='dmi') : # si commentaire de type admin ?>
            <img src="<?php $plxShow->template(); ?>/images/mon_avatar.jpg" />
            <?php else: # si commentaire d'un visiteur ?>
    	<img src="http://www.gravatar.com/avatar.php?gravatar_id=<?php echo md5( strtolower($plxShow->plxMotor->plxRecord_coms->f('mail')) ) ?>	&default=http://www.monsite.com/themes/montheme/images/noavatar.jpg&size=80" alt="Avatar Gravatar" />
             <?php endif; ?></p>
    </div>
    
    En gros, dès que c'est un admin ( et comme je suis tout seul à administrer ) , je force l'affichage d'un avatar sans passer par Gravatar. C'est certain aussi que mon systême est limité à un seul admin...
    Ce que Stéphane à écrit en message #2 est interressant ; surtout que c'est facile de crypter avec md5 l'email. Je pense que c'est la bonne solution ( mais perso, je ne partagerai pas les emails de ceux qui commente mon blog 'en direct' ; les pauvres ... pour le spam ! )
  • StéphaneStéphane Member, Former PluXml Project Manager
    Deevad a écrit:
    mais perso, je ne partagerai pas les emails de ceux qui commente mon blog 'en direct' ; les pauvres ... pour le spam !
    Je suis d'accord. C'est pour cette raison qu'il n'y a pas de fonction qui renvoie l'adresse email du commentateur dans la classe plxShow

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • C'est bien pourquoi je pensais à un plugin :p

    Je vais regarder ça. Le souci va être de "bidouiller" comme tu l'as fait pour mettre le bon mail quand c'est un admin en partie admin (logique) qui répond au com...
Connectez-vous ou Inscrivez-vous pour répondre.