Philippe Batreau Posted September 18, 2003 Share Posted September 18, 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... Link to comment Share on other sites More sharing options...
Dan Posted September 18, 2003 Share Posted September 18, 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 Link to comment Share on other sites More sharing options...
Philippe Batreau Posted September 19, 2003 Author Share Posted September 19, 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, Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now