Bonjour,Je ne sais pas si c'est l'endroit adéquat, je vous soumets mes modifications concernant le bug#9705 concernant un pb d'interpretation lors de la création d'un email via le mailing adherents. Cette modif prends en compte les magic quotes, les retours à la ligne et la prévisualisation des mails html (auparavant les codes html créés étaient sniffés chez moi lors de l'edit d'un message déjà prévisualisé).
NB: la version utilisée et la 0.63 bugfix. Je vous joins également les fichiers modifiés.
En ésperant que ça fasse avancer le schmilblick pour une v.0.63 finale ;) Cordialement, Kevin Klein Les fichiers modifiés sont: mailing_adherents.php et mailing_adhrents.tpl Modifs mailing adherents.php * Lignes 76 à 94 supprimées et remplacées par:if (isset($_POST["mailing_go"]) || isset($_POST["mailing_reset"]) || isset($_POST["mailing_confirm"]))
{ if ($_POST['mailing_objet']=="")$error_detected[] = _T("Please type an object for the message.");
else If (get_magic_quotes_gpc()==1) {$data['mailing_objet']=htmlentities(stripslashes($_POST['mailing_objet'])); $data['mailing_objet_to_send']=html_entity_decode($data['mailing_objet']);
} else {$data['mailing_objet']=htmlentities($_POST['mailing_objet']); $data['mailing_objet_to_send']=html_entity_decode($data['mailing_objet']);
} if ($_POST['mailing_corps']=="") { $error_detected[] = _T("Please enter a message."); } else { #si le mail est en html if (isset($_POST['mailing_html'])) { $data['mailing_html']=$_POST['mailing_html']; If (get_magic_quotes_gpc()==1) {$data['mailing_corps'] = htmlentities(stripslashes($_POST['mailing_corps'])); $data['mailing_corps_display']=nl2br(html_entity_decode($data['mailing_corps'])); $data['mailing_corps_to_send']=$data['mailing_corps_display'];
} else {$data['mailing_corps'] = htmlentities($_POST['mailing_corps']); $data['mailing_corps_display']=nl2br(html_entity_decode($data['mailing_corps'])); $data['mailing_corps_to_send']=$data['mailing_corps_display'];
} } else { #si le mail est en texte $data['mailing_html']=0; If (get_magic_quotes_gpc()==1) {$data['mailing_corps'] = htmlentities(stripslashes($_POST['mailing_corps']));
$data['mailing_corps_display']=$data['mailing_corps'];$data['mailing_corps_to_send']=html_entity_decode($data['mailing_corps_display']);
} else {$data['mailing_corps'] = htmlentities($_POST['mailing_corps']);
$data['mailing_corps_display']=$data['mailing_corps'];$data['mailing_corps_to_send']=html_entity_decode($data['mailing_corps_display']);
} } } * Lignes 120 et 121 supprimée et remplacées par: $data['mailing_objet_to_send'], $data['mailing_corps_to_send'], Modif faite dans mailing_adherents.tpl: * Lignes 55 à 59 supprimée et remplacées par: <pre>{$data.mailing_corps_display}</pre>Execute($sql); while (!$result_members->EOF) { if ($result_members->fields[1]=='') $unreachable_members[]=$result_members->fields[0]; else $reachable_members[]=$result_members->fields[0]; $result_members->MoveNext(); } if (isset($_POST["mailing_done"])) header("location: gestion_adherents.php"); $etape = 0; if (isset($_POST["mailing_go"]) || isset($_POST["mailing_reset"]) || isset($_POST["mailing_confirm"])) { if ($_POST['mailing_objet']=="") $error_detected[] = _T("Please type an object for the message."); else If (get_magic_quotes_gpc()==1) { $data['mailing_objet']=htmlentities(stripslashes($_POST['mailing_objet'])); $data['mailing_objet_to_send']=html_entity_decode($data['mailing_objet']); } else { $data['mailing_objet']=htmlentities($_POST['mailing_objet']); $data['mailing_objet_to_send']=html_entity_decode($data['mailing_objet']); } if ($_POST['mailing_corps']=="") { $error_detected[] = _T("Please enter a message."); } else { #si le mail est en html if (isset($_POST['mailing_html'])) { $data['mailing_html']=$_POST['mailing_html']; If (get_magic_quotes_gpc()==1) { $data['mailing_corps'] = htmlentities(stripslashes($_POST['mailing_corps'])); $data['mailing_corps_display']=nl2br(html_entity_decode($data['mailing_corps'])); $data['mailing_corps_to_send']=$data['mailing_corps_display']; } else { $data['mailing_corps'] = htmlentities($_POST['mailing_corps']); $data['mailing_corps_display']=nl2br(html_entity_decode($data['mailing_corps'])); $data['mailing_corps_to_send']=$data['mailing_corps_display']; } } else { #si le mail est en texte $data['mailing_html']=0; If (get_magic_quotes_gpc()==1) { $data['mailing_corps'] = htmlentities(stripslashes($_POST['mailing_corps'])); $data['mailing_corps_display']=$data['mailing_corps']; $data['mailing_corps_to_send']=html_entity_decode($data['mailing_corps_display']); } else { $data['mailing_corps'] = htmlentities($_POST['mailing_corps']); $data['mailing_corps_display']=$data['mailing_corps']; $data['mailing_corps_to_send']=html_entity_decode($data['mailing_corps_display']); } } } if (count($error_detected)==0 && !isset($_POST["mailing_reset"])) $etape = 1; } if (isset($_POST["mailing_confirm"]) && count($error_detected)==0) { $etape = 2; $member_id_string = ""; foreach ($reachable_members as $id_adh) $member_id_string .= $id_adh.","; $member_id_string = substr($member_id_string,0,-1); // TODO : interpret cutom tags to include personal data in mails $sql = "SELECT id_adh, email_adh, nom_adh, prenom_adh FROM ".PREFIX_DB."adherents WHERE id_adh IN ($member_id_string)"; $result_members = &$DB->Execute($sql); if ($data['mailing_html']==0) $content_type = "text/plain"; else $content_type = "text/html"; $mail_result = ""; $email_adh = ""; while (!$result_members->EOF) { $mail_result = custom_mail($result_members->fields[1], $data['mailing_objet_to_send'], $data['mailing_corps_to_send'], $content_type); if( $mail_result == 1) { $email_adh = $result_members->fields[1]; dblog("Send mail to :"." \"" . $email_adh . "\"", $sql); $warning_detected[] = _T("Mail sent to :")." \"" . $email_adh . "\""; } else { switch ($mail_result) { case 2 : dblog("Email sent is disabled in the preferences. Ask galette admin."); $error_detected[] = _T("Email sent is disabled in the preferences. Ask galette admin"); break; case 3 : dblog("A problem happened while sending mail to :"." \"" . $email_adh . "\""); $error_detected[] = _T("A problem happened while sending mail to :")." \"" . $email_adh . "\""; break; case 4 : dblog("The mail server filled in the preferences cannot be reached. Ask Galette admin"); $error_detected[] = _T("The mail server filled in the preferences cannot be reached. Ask Galette admin"); break; case 5 : dblog("**IMPORTANT** There was a probably breaking attempt when sending mail to :"." \"" . $email_adh . "\""); $error_detected[] = _T("**IMPORTANT** There was a probably breaking attempt when sending mail to :")." \"" . $email_adh . "\""; break; default : dblog("A problem happened while sending mail to :"." \"" . $email_adh . "\""); $error_detected[] = _T("A problem happened while sending mail to :")." \"" . $email_adh . "\""; break; } } $result_members->MoveNext(); } } $_SESSION['galette']['labels']=$unreachable_members; $nb_reachable_members = count($reachable_members); $nb_unreachable_members = count($unreachable_members); $tpl->assign("warning_detected",$warning_detected); $tpl->assign("error_detected",$error_detected); $tpl->assign("nb_reachable_members",$nb_reachable_members); $tpl->assign("nb_unreachable_members",$nb_unreachable_members); $tpl->assign("data",$data); $tpl->assign("etape",$etape); $content = $tpl->fetch("mailing_adherents.tpl"); $tpl->assign("content",$content); $tpl->display("page.tpl"); ?>
{if $etape==2}
{_T("Your e-mail was sent to")}
{else}
{_T("You are about to send an e-mail to")}
{/if}
{$nb_reachable_members} {if $nb_reachable_members != 1}{_T("members")}{else}{_T("member")}{/if}
{if $etape==0}
{_T("Please compose your mail.")}
{/if}
{$data.mailing_corps}
{_T("Message preview:")}
{_T("Object:")}{$data.mailing_objet}
{_T("Message:")}
{$data.mailing_corps_display}
{$nb_unreachable_members} {if $nb_unreachable_members != 1}{_T("unreachable members:")}{else}{_T("unreachable member")}{/if}
{_T("Some members you have selected have no e-mail address. However, you can generate envelope labels to contact them by snail mail.")}