Contact Form 7 : Changer le sujet avant l’envoi du mail.

Vous utilisez Contact Form 7 et il vous faut changer le sujet du message avant l’envoi, voici une solution qui peut vous aider.

Changer le sujet d'un message
function change_subject( $instance ) {
  $submission = WPCF7_Submission::get_instance();
  if ($submission) {
    $mail= $instance->prop('mail');
    $mail['subject'] = 'New Subject';
    $instance->set_properties(array("mail" => $mail));
  }
  return $instance;
}
add_action( 'wpcf7_before_send_mail', 'change_subject' );

 

Centrer du texte dans une image faite en php

Création d'image en php

Dans un article précédent, je vous montrai comment générer une images de type QRcode mais c’était avec un petit formulaire avec un couche de javascript.
Cette fois ci, on va se pencher sur la création d’image en avec la bibliothèque GD de PHP.

La création d’une image

Dans un premier temps, on va créer une image simple (toute rouge)

header('Content-type: image/png');
$image = imagecreate(150, 150);
$background = imagecolorallocate($image, 255, 0, 0);
imagepng($image);
  • header(« Content-type: image/png »);
    C’est une fonction qui sert à définir quel type de document sera affiché, dans notre cas, il s’agit d’une image png
  • $image = imagecreate(150, 150);
    Pour définir la taille de l’image de l’image que l’on créé
  • $background = imagecolorallocate($image, 255, 0, 0);
    Nous définissons une couleur (en RGV) pour remplir l’image
  • imagepng($image);
    Et on créer l’image !

Ajouter du texte

header('Content-type: image/png');
$image = imagecreate(150, 150);
$background = imagecolorallocate($image, 255, 0, 0); /* On définie une couleur de fond (ici ROUGE) */
$noir = imagecolorallocate($image, 0, 0, 0); /* On définie une couleur que nous utiliserons après*/
imagestring($image, 5, 10, 10, "mon texte", $noir); /* On insère le texte "mon texte" avec une largeur de caractère de 5 à 10px du haut et 10px de la gauche*/
imagepng($image);

Centrer le texte dans l’image

header('Content-type: image/png');

/* * *******************************
 * Parametre
 * ********************************
 */
$largeur = 150; /* longueur de l'image */
$hauteur = 150; /* hauteur de l'image */
$image = imagecreate($largeur, $hauteur);
/* Background */
$background = imagecolorallocate($image, 0, 255, 0);
/* Couleur du text */
$couleurTxt = imagecolorallocate($image, 255, 0, 0);
/* texte à mettre dans l'image */
$txt = "mon texte";
/* Taille du texte */
$font = 3;
/* Hauteur et largeur des caratères */
$largeurCaractere = ImageFontWidth($font);
$hauteurCaractere = ImageFontHeight($font);
/* Longueur du texte (taille caratère X nombre de caractère) */
$largeurTxt = $largeurCaractere * strlen($txt);
/* Recherche de la position horizontale centrale pour centrer le texte */
$positionCentreHor = ceil(($largeur - $largeurTxt) / 2);
/* Recherche de la position horizontale centrale pour centrer le texte */
$positionCentreVer = ceil(($hauteur - $hauteurCaractere) / 2);
/* Ajout du texte au centre de l'image */
$image_string = ImageString($image, $font, $positionCentreHor, $positionCentreVer, $txt, $couleurTxt);
/* Création de l'image */
imagepng($image);

N’hésitez pas à contribuer à cet article en commentant, en apportant des conseils (ou mise en garde) sur la création d’image en php.

Gravatar – Lier un avatar avec à son mail à travers le web

Un gravatar qu’est ce que c’est ?

Un gravatar est un avatar que vous pouvez utiliser sur de nombreux sites ou blogs (wordpress, github,…) . Généralement les gravatar apparaissent à côté du pseudo que vous utilisez pour commenter ou rédiger des articles.  C’est un gain de temps dans la mesure où vous n’avez pas à uploader un avatar sur chaque site que vous fréquentez.

Comment appeler et afficher un gravatar

Une petite fonction php faite à partir des informations données sur Gravatar.com vous permet de faire ceci!

/*
* Fonction de récupération de l'avatar
*/
function get_avatar($monEmail, $taille = null)
{
$trimEmail = md5(strtolower(trim($monEmail)));
echo "<img src='http://www.gravatar.com/avatar/" . $trimEmail . "?s=" . $taille . "' />";
}

/*
* Affichage de l'avatar
*/
get_avatar('scoco@scoco.fr', 150);

Explication des fonctions utilisées

  • md5() encode la chaîne passée en paramètre en un nombre hexadécimal de 32 caractères
    Exemple: md5(‘scoco’) retourne f7449c2cd0f9b029e33157459b3d0846
  • strtolower()  retourne la chaîne passée en paramètre en minuscule
    Exemple: strtolower(‘Je Suis SCOCO’) retourne je suis scoco
  • trim() supprime les caractères invisibles au début et à la fin de la chaîne passée en paramètre
    Exemple: trim(‘     scoco ‘) retourne scoco (sans les espace devant et après)