Changeset 48905 in spip-zone for _plugins_/spip-listes/spip-listes_1_9_3/inc/spiplistes_api.php
- Timestamp:
- Jun 18, 2011, 3:22:48 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/spip-listes/spip-listes_1_9_3/inc/spiplistes_api.php
r48255 r48905 896 896 * @return string 897 897 */ 898 function spiplistes_format s_abo_default () {898 function spiplistes_format_abo_default () { 899 899 $defaut = spiplistes_pref_lire('opt_format_courrier_defaut'); 900 900 if ( … … 1151 1151 1152 1152 /** 1153 * Renvoie le nom du patron pour la composition des messages de gestion 1154 * (confirmation d'abonnement, modification, etc.) 1155 * @todo boite de sélection dans une page de configuration ? 1156 * @return string 1157 * */ 1158 function spiplistes_patron_message () { 1159 return ('standard'); 1160 } 1161 1162 /** 1153 1163 * Incruster les styles inline 1154 1164 * … … 1189 1199 } 1190 1200 1201 spiplistes_debug_log('Chemin patrons : '.$path_patron); 1202 1191 1203 $patron_html = spiplistes_patron_find_in_path($path_patron, $contexte['lang'], false); 1192 1204 $contexte['patron_html'] = $patron_html; 1205 spiplistes_debug_log('CREATE html version USING '.$patron_html); 1193 1206 1194 1207 $result_html = … … 1495 1508 1496 1509 /** 1497 * utiliser l'api pour pouvoir envoyer par smtp si besoin 1498 * @version CP-20090111 1499 */ 1500 function spiplistes_envoyer_mail ($to, $subject, $message, $from = false, $headers = '', $format = 'texte') { 1510 * Compose le contenu du message via un patron 1511 * Les patrons de messages sont dans ~/patrons/messages_abos 1512 * @param string $objet 1513 * @param string $patron 1514 * @param array $contexte 1515 * @return string 1516 */ 1517 function spiplistes_preparer_message ($objet, $patron, $contexte) { 1518 1519 include_once (_DIR_PLUGIN_SPIPLISTES.'inc/spiplistes_mail.inc.php'); 1520 1521 // si pas encore abonne' ou desabonne', pas de format ! donc forcer a texte 1522 $format = ($contexte['format'] == 'html') ? $contexte['format'] : ($contexte['format'] = 'texte'); 1523 1524 $contexte['patron'] = $patron; 1525 $path_patron = _SPIPLISTES_PATRONS_MESSAGES_DIR . $patron; 1526 1527 list($message_html, $message_texte) = spiplistes_assembler_patron($path_patron, $contexte); 1528 1529 $charset = $GLOBALS['meta']['spiplistes_charset_envoi']; 1530 1531 if($charset != $GLOBALS['meta']['charset']) 1532 { 1533 include_spip('inc/charsets'); 1534 if($format == 'html') { 1535 $message_html = unicode2charset(charset2unicode($message_html), $charset); 1536 } 1537 //$message_texte = unicode2charset(charset2unicode($message_texte), $charset); 1538 $message_texte = spiplistes_translate_2_charset ($message_texte, $charset); 1539 } 1540 $email_a_envoyer = array(); 1541 $email_a_envoyer['texte'] = new phpMail('', $objet, '', $message_texte, $charset); 1542 if($format == 'html') { 1543 $email_a_envoyer['html'] = new phpMail('', $objet, $message_html, $message_texte, $charset); 1544 $email_a_envoyer['html']->Body = "<html>\n\n<body>\n\n" . $message_html . "\n\n</body></html>"; 1545 $email_a_envoyer['html']->AltBody = $message_texte; 1546 } 1547 $email_a_envoyer['texte']->Body = $message_texte ."\n\n"; 1548 $email_a_envoyer[$format]->SetAddress($contexte['email'], $contexte['nom']); 1549 1550 return($email_a_envoyer); 1551 } 1552 1553 /** 1554 * Envoyer un message en tenant compte des prefs SPIP-Listes 1555 * (SMTP ou mail(), simuler l'envoi,....) 1556 * 1557 * Le message ($message) peut être 1558 * - soit un string (au format texte) 1559 * - soit un array ('html' => $contenu_html, 'texte' => $contenu_texte) 1560 * 1561 * @param string $to 1562 * @param string $subject 1563 * @param string|array $message 1564 * @param string|bool $from 1565 * @param string $headers 1566 * @param string $format 1567 * @staticvar string|bool $opt_simuler_envoi 1568 * @version CP-20110618 1569 */ 1570 function spiplistes_envoyer_mail ($to 1571 , $subject 1572 , $message 1573 , $from = false 1574 , $headers = '' 1575 , $format = 'texte') { 1501 1576 1502 1577 static $opt_simuler_envoi; … … 1509 1584 $opt_simuler_envoi = spiplistes_pref_lire('opt_simuler_envoi'); 1510 1585 } 1586 1511 1587 if (!$from) 1512 1588 { … … 1521 1597 } 1522 1598 } 1523 // @TODO: voir email_reply_to ? 1599 /** 1600 * @TODO: voir email_reply_to ? 1601 */ 1524 1602 $reply_to = 'no-reply'.preg_replace("|.*(@[a-z.]+)|i", "$1", email_valide($from)); 1525 1603 1526 1604 if($opt_simuler_envoi == 'oui') { 1527 spiplistes_log( "!!! MAIL SIMULATION MODE !!!");1605 spiplistes_log('!!! MAIL SIMULATION MODE !!!'); 1528 1606 $result = true; 1529 1607 } … … 1533 1611 $email_a_envoyer = array(); 1534 1612 1535 $return_path = spiplistes_return_path ($from);1613 $return_path = spiplistes_return_path ($from); 1536 1614 1537 if(is_array($message) )1615 if(is_array($message) && ($format == 'html')) 1538 1616 { 1617 spiplistes_debug_log ('Messages HTML: '.strlen($message['html'])); 1539 1618 if($format=='html' && isset($message[$format])) { 1540 1619 $email_a_envoyer['html'] = new phpMail($to, $subject, $message['html'], $message['texte'], $charset); … … 1545 1624 $email_a_envoyer['html']->AddCustomHeader("Return-Path: ".$return_path); 1546 1625 $email_a_envoyer['html']->SMTPKeepAlive = true; 1547 $email_a_envoyer['html']->Body = $message['html'] ->Body;1548 $email_a_envoyer['html']->AltBody = $message[' html']->AltBody;1626 $email_a_envoyer['html']->Body = $message['html']; 1627 $email_a_envoyer['html']->AltBody = $message['texte']; 1549 1628 } 1550 $message = $message['texte']->Body;1551 1629 } 1552 1630 //$message = spiplistes_html_entity_decode ($message, $charset); … … 1554 1632 1555 1633 //$email_a_envoyer['texte'] = new phpMail($to, $subject, '', html_entity_decode($message), $charset); 1556 $email_a_envoyer['texte'] = new phpMail($to, $subject, '', $message , $charset);1634 $email_a_envoyer['texte'] = new phpMail($to, $subject, '', $message['texte'], $charset); 1557 1635 $email_a_envoyer['texte']->From = $from ; 1558 1636 if($fromname) $email_a_envoyer['html']->FromName = $fromname ; … … 1561 1639 $email_a_envoyer['texte']->AddCustomHeader('Return-Path: '.$return_path); 1562 1640 $email_a_envoyer['texte']->SMTPKeepAlive = true; 1641 $email_a_envoyer['texte']->Body = $message['texte']; 1563 1642 1564 $result = $email_a_envoyer[$format]->send(); 1565 1643 if ($result = $email_a_envoyer[$format]->send()) 1644 { 1645 $email_a_envoyer['html']->SmtpClose(); 1646 $email_a_envoyer['texte']->SmtpClose(); 1647 } 1648 1566 1649 $msg = "email from $from to $to"; 1567 spiplistes_log(!$result ? "error: $msg not sent": "$msg sent");1650 spiplistes_log(!$result ? 'error: '.$msg.' not sent' : "$msg sent"); 1568 1651 } 1569 1652 return($result); … … 1686 1769 return($result); 1687 1770 } 1771 1688 1772 1689 1773 /******************************************************************************************/
Note: See TracChangeset
for help on using the changeset viewer.