Browse Source

Suppression de la vieille classe Facteur qui est depreciee et n'a plus lieu d'etre. Il faut utiliser les classes SPIP\Facteur\FacteurXxxx en direct ou via la fonction facteur_factory()

pull/13/head
Cerdic 8 months ago
parent
commit
b7bb2d7c42
  1. 133
      classes/facteur.php
  2. 2
      formulaires/tester_facteur.php
  3. 1
      inc/envoyer_mail.php
  4. 61
      inc/facteur.php

133
classes/facteur.php

@ -1,133 +0,0 @@
<?php
/**
* Plugin Facteur 4
* (c) 2009-2019 Collectif SPIP
* Distribue sous licence GPL
*
* @package SPIP\Facteur\Classes\Facteur
*
* @deprecated voir inc/Facteur/
*/
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('inc/facteur');
include_spip('inc/Facteur/FacteurSMTP');
class Facteur extends SPIP\Facteur\FacteurSMTP {
/**
* @param $email
* @param $objet
* @param $message_html
* @param $message_texte
* @param array $options
*
* @throws Exception
*/
public function __construct($email, $objet, $message_html, $message_texte, $options = array()) {
// config eventuellement surchargeee lors de l'appel
$config = facteur_config($options);
// compat ancienne option smtp
if (isset($options['smtp']) and empty($config['mailer'])) {
$config['mailer'] = ($options['smtp'] === 'oui' ? 'smtp' : 'mail');
}
// toute autre config que smtp se degrade en mail()
if ($config['mailer'] !== 'smtp') {
unset($config['smtp_host']);
unset($config['smtp_port']);
}
parent::__construct($config);
$this->setObjet($objet);
$this->setDest($email);
$this->setMessage($message_html, $message_texte);
}
/**
* Transforme du HTML en texte brut, mais proprement
* utilise le filtre facteur_mail_html2text
* @uses facteur_mail_html2text()
*
* @param string $html Le HTML à transformer
* @param bool $advanced Inutilisé
* @return string Retourne un texte brut formaté correctement
* @deprecated
*/
public function html2text($html, $advanced = false){
return facteur_mail_html2text($html);
}
/**
* Compat ascendante, obsolete
* @deprecated
*/
public function ConvertirStylesEnligne() {
$this->Body = facteur_convertir_styles_inline($this->Body);
}
/**
* Transformer les urls des liens et des images en url absolues
* sans toucher aux images embarquees de la forme "cid:..."
*/
protected function UrlsAbsolues($base=null){
return parent::urlsToAbsUrls($base);
}
/**
* Embed les images HTML dans l'email
*/
protected function JoindreImagesHTML() {
return parent::embedReferencedImages();
}
/**
* Conversion safe d'un texte utf en isotruc
* @param string $text
* @param string $mode
* @return string
*/
protected function safe_utf8_decode($text,$mode='texte_brut') {
return parent::safeUtf8Decode($text, $mode);
}
/**
* Convertir tout le mail utf en isotruc
*/
protected function ConvertirUtf8VersIso8859() {
return parent::convertMessageFromUtf8ToIso8859();
}
/**
* Convertir les accents du body en entites html
* @deprecated
*/
protected function ConvertirAccents() {
// tableau à compléter au fur et à mesure
$cor = array(
'à' => '&agrave;',
'â' => '&acirc;',
'ä' => '&auml;',
'ç' => '&ccedil;',
'é' => '&eacute;',
'è' => '&egrave;',
'ê' => '&ecirc;',
'ë' => '&euml;',
'î' => '&icirc;',
'ï' => '&iuml;',
'ò' => '&ograve;',
'ô' => '&ocirc;',
'ö' => '&ouml;',
'ù' => '&ugrave;',
'û' => '&ucirc;',
'œ' => '&oelig;',
'€' => '&euro;'
);
$this->Body = strtr($this->Body, $cor);
}
}

2
formulaires/tester_facteur.php

@ -105,8 +105,6 @@ function facteur_inline_base64src($texte, $type="text/html"){
*/
function facteur_envoyer_mail_test($destinataire, $titre, &$message_html, $options = array()) {
include_spip('classes/facteur');
$piece_jointe = array();
if (test_plugin_actif('medias') and !empty($options['piece_jointe'])) {

1
inc/envoyer_mail.php

@ -16,7 +16,6 @@ if (!defined('_EMAIL_AUTO_CONVERT_TEXT_TO_HTML')) {
define('_EMAIL_AUTO_CONVERT_TEXT_TO_HTML', true);
}
include_spip('classes/facteur');
// inclure le fichier natif de SPIP, pour les fonctions annexes
include_once _DIR_RESTREINT."inc/envoyer_mail.php";

61
inc/facteur.php

@ -8,6 +8,37 @@
*/
/**
* Generer le FacteurXXX selon la config par defaut/passee en options
* @param array $options
* @return \SPIP\Facteur\FacteurMail
* @throws \PHPMailer\PHPMailer\Exception
* @api
*/
function facteur_factory($options = array()) {
if (!is_array($options)) {
$options = array();
}
$options = facteur_config($options);
$config_mailer = $options['mailer'];
$methodes = facteur_lister_methodes_mailer();
if (!empty($methodes[$config_mailer]['class'])
and $FacteurClass = $methodes[$config_mailer]['class']
and include_spip("inc/Facteur/$FacteurClass")
and class_exists($FacteurClass = "SPIP\\Facteur\\{$FacteurClass}")){
return new $FacteurClass($options);
}
else {
spip_log("Impossible de trouver la medthode $config_mailer ou sa classe " . (empty($methodes[$config_mailer]) ? '' : $methodes[$config_mailer]), 'facteur' . _LOG_ERREUR);
// fallback fonction mail()
include_spip('inc/Facteur/FacteurMail');
return new SPIP\Facteur\FacteurMail($options);
}
}
/**
* Lister les methodes mailer disponibles et le nom de la classe a instancier
* @return array[]
@ -99,33 +130,3 @@ function facteur_config_envoyeur_par_defaut() {
return $config;
}
/**
* Generer le FacteurXXX selon la config par defaut/passee en options
* @param array $options
* @return \SPIP\Facteur\FacteurMail
* @throws \PHPMailer\PHPMailer\Exception
*/
function facteur_factory($options = array()) {
if (!is_array($options)) {
$options = array();
}
$options = facteur_config($options);
$config_mailer = $options['mailer'];
$methodes = facteur_lister_methodes_mailer();
if (!empty($methodes[$config_mailer]['class'])
and $FacteurClass = $methodes[$config_mailer]['class']
and include_spip("inc/Facteur/$FacteurClass")
and class_exists($FacteurClass = "SPIP\\Facteur\\{$FacteurClass}")){
return new $FacteurClass($options);
}
else {
spip_log("Impossible de trouver la medthode $config_mailer ou sa classe " . (empty($methodes[$config_mailer]) ? '' : $methodes[$config_mailer]), 'facteur' . _LOG_ERREUR);
// fallback fonction mail()
include_spip('inc/Facteur/FacteurMail');
return new SPIP\Facteur\FacteurMail($options);
}
}
Loading…
Cancel
Save