Philippe Batreau Posté 18 Septembre 2003 Posté 18 Septembre 2003 Bonjour, Dans le formumaire écrire à l'auteur, je souhaiterai rajouter le champ nom et prénom de l'expéditeur. Pour cela, il me semble qu'il faut modifier la page inc-formulaires.php3 pour récupérer ce champ et l'inclure dans la page inc_mail.php3 pour le mettre dans les entetes. J'arrive à modifier le formulaire, mais pas à paramètrer inc-mail voilà ce que j'ai fait dans inc-formulaire modification du script en gras : function formulaire_ecrire_auteur($id_auteur, $email_auteur) { global $flag_wordwrap; include_ecrire("inc_texte.php3"); include_ecrire("inc_filtres.php3"); include_ecrire("inc_mail.php3"); $affiche_formulaire = true; if ($GLOBALS['texte_message_auteur'.$id_auteur]) { if ($GLOBALS['sujet_message_auteur'.$id_auteur] == "") $erreur .= erreur(_T('form_prop_indiquer_sujet')); else if (! email_valide($GLOBALS['email_message_auteur'.$id_auteur]) ) $erreur .= erreur(_T('form_prop_indiquer_email')); else if ($GLOBALS['valide_message_auteur'.$id_auteur]) { // verifier hash ? $GLOBALS['texte_message_auteur'.$id_auteur] .= "\n\n-- Envoi via le site ".lire_meta('nom_site')." (".lire_meta('adresse_site')."/) --\n"; envoyer_mail($email_auteur, $GLOBALS['sujet_message_auteur'.$id_auteur], $GLOBALS['texte_message_auteur'.$id_auteur], $GLOBALS['email_message_auteur'.$id_auteur], $GLOBALS['nom_message_auteur'.$id_auteur], "X-Originating-IP: ".$GLOBALS['REMOTE_ADDR']); $erreur .= erreur(_T('form_prop_message_envoye')); $affiche_formulaire = false; } else { //preview echo "<br /><div class='spip_encadrer'>Sujet : <b>".$GLOBALS['sujet_message_auteur'.$id_auteur]."</b></div>"; if ($flag_wordwrap) $GLOBALS['texte_message_auteur'.$id_auteur] = wordwrap($GLOBALS['texte_message_auteur'.$id_auteur]); echo "<pre>".entites_html($GLOBALS['texte_message_auteur'.$id_auteur])."</pre>"; $affiche_formulaire = false; $link = $GLOBALS['clean_link']; $link->addVar('nom_message_auteur'.$id_auteur, $GLOBALS['nom_message_auteur'.$id_auteur]); $link->addVar('email_message_auteur'.$id_auteur, $GLOBALS['email_message_auteur'.$id_auteur]); $link->addVar('sujet_message_auteur'.$id_auteur, $GLOBALS['sujet_message_auteur'.$id_auteur]); $link->addVar('texte_message_auteur'.$id_auteur, $GLOBALS['texte_message_auteur'.$id_auteur]); $link->addVar('valide_message_auteur'.$id_auteur, 'oui'); echo $link->getForm('post'); echo "<div align=\"right\"><input type=\"submit\" name=\"Confirmer\" class=\"spip_bouton\" value=\""._T('form_prop_confirmer_envoi')."\" />"; echo "</div></form>"; } } if ($erreur) echo "<div class='spip_encadrer'><b>$erreur<br /> </b></div>\n"; if ($affiche_formulaire) { $retour = $GLOBALS['REQUEST_URI']; $link = $GLOBALS['clean_link']; echo $link->getForm('post'); echo "<div class='spip_encadrer'><b>"._T('form_pet_votre_nom')."</b><br />"; echo "<input type=\"text\" class=\"forml\" name=\"nom_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['nom_message_auteur'.$id_auteur])."\" SIZE=\"30\" />\n"; echo "<div class='spip_encadrer'><b>"._T('form_pet_votre_email')."</b><br />"; echo "<input type=\"text\" class=\"forml\" name=\"email_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['email_message_auteur'.$id_auteur])."\" SIZE=\"30\" />\n"; echo "<p><b>"._t('form_prop_sujet')."</b><br />"; echo "<input type=\"text\" class=\"forml\" name=\"sujet_message_auteur$id_auteur\" value=\"".entites_html($GLOBALS['sujet_message_auteur'.$id_auteur])."\" SIZE=\"30\" /></p>\n"; echo "<p><textarea name='texte_message_auteur$id_auteur' rows='10' class='forml' cols='40' wrap=soft>".entites_html($GLOBALS['texte_message_auteur'.$id_auteur])."</textarea></div>\n"; echo "<div align=\"right\"><input type=\"submit\" name=\"Valider\" class=\"spip_bouton\" value=\""._T('form_prop_envoyer')."\" />"; echo "</div></form>"; } Et il faut modifier dans inc-mail la fonction envoyer mail : function envoyer_mail($email, $sujet, $texte, $from = "", $headers = "") { global $hebergeur, $queue_mails, $flag_wordwrap, $os_serveur; include_ecrire("inc_filtres.php3"); if (!$from) $from = $email; if (!email_valide($email)) return false; if ($email == _T('info_mail_fournisseur')) return false; spip_log("mail ($email): $sujet"); $charset = lire_meta('charset'); $headers = "From: $from\n". "MIME-Version: 1.0\n". "Content-Type: text/plain; charset=$charset\n". "Content-Transfer-Encoding: 8bit\n$headers"; $texte = filtrer_entites($texte); $sujet = filtrer_entites($sujet); // encoder le sujet si possible selon la RFC if($GLOBALS['flag_multibyte'] AND _AT_mb_internal_encoding($charset)) $sujet = mb_encode_mimeheader($sujet, $charset, 'Q'); if ($flag_wordwrap) $texte = wordwrap($texte); if ($os_serveur == 'windows') { $texte = ereg_replace ("\r*\n","\r\n", $texte); $headers = ereg_replace ("\r*\n","\r\n", $headers); } et là, je ne sais plus. Si vous avez la solution pour les modifications de ces deux scripts...
Dan Posté 18 Septembre 2003 Posté 18 Septembre 2003 Philippe, Comme je te l'ai expliqué par messenger, modifier les sources des fichiers php constitutifs de Spip me semble une mauvaise idée. Tu seras dans l'obligation de réintroduire tes modifications à chaque changement de version, ce qui sera tôt ou tard source d'erreur. Je te suggère plutôt de poster ce type de requête sur la liste spip-dev. Si la modification semble souhaitable, elle pourrait être incorporée dans une future version de Spip. Cordialement, Dan
Philippe Batreau Posté 19 Septembre 2003 Auteur Posté 19 Septembre 2003 Merci Dan Comme je te l'avais aussi dit par messenger, j'avais déjà posé la question à spip-dev, la liste des développeurs de spip dont je profite pour donner l'adresse : http://listes.rezo.net/mailman/listinfo/spip-dev ou si vous préférez le newsgroup : news://news.gmane.org/gmane.comp.web.spip.devel Cordialement,
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant