Browse Source

On remanie le formulaire de config et on separe le test dans un formulaire a part + ajouter une piece jointe au test si possible + des chaines de langue

svn/root/tags/v4.0.3
Cerdic 3 years ago
parent
commit
2a30aacbf4
  1. 12
      emails/test_email_html.html
  2. 6
      emails/test_email_texte.html
  3. 388
      formulaires/configurer_facteur.html
  4. 36
      formulaires/configurer_facteur.php
  5. 41
      formulaires/tester_facteur.html
  6. 125
      formulaires/tester_facteur.php
  7. 2
      inc/envoyer_mail.php
  8. 4
      lang/facteur_fr.php
  9. 4
      prive/squelettes/contenu/configurer_facteur.html

12
emails/test_email_html.html

@ -16,12 +16,20 @@
</BOUCLE_art2>
<//B_art>
<BOUCLE_image(DOCUMENTS){extension IN jpg,png,gif}{0,1}>
<BOUCLE_image(DOCUMENTS){extension IN jpg,png,gif}{0,1}{statut==.*}{brise=0}>
[(#MODELE{img}|image_reduire{550,0})]
</BOUCLE_image>
<BOUCLE_pdf(DOCUMENTS){extension=pdf}{0,1}>
<BOUCLE_pdf(DOCUMENTS){extension=pdf}{0,1}{statut==.*}{brise=0}>
[(#MODELE{doc}|image_reduire{550,0})]
</BOUCLE_pdf>
[(#ENV{piece_jointe}|oui)
<div>
<h3><:medias:titre_documents_joints:></h3>
[(#ENV{piece_jointe/chemin}|basename|unique{basename})][ - (#ENV{piece_jointe/nom}|unique{basename})]
</div>
]
</body>
#FILTRE{liens_absolus}
#FILTRE{facteur_email_wrap_to_html}

6
emails/test_email_texte.html

@ -10,3 +10,9 @@
[(#TEXTE|textebrut)]
</BOUCLE_art2>
<//B_art>
[(#ENV{piece_jointe}|oui)
### <:medias:titre_documents_joints:>
[(#ENV{piece_jointe/chemin}|basename|unique{basename})][ - (#ENV{piece_jointe/nom}|unique{basename})]
]

388
formulaires/configurer_facteur.html

@ -1,231 +1,197 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<h3 class="titrem"><:facteur:titre_configurer_facteur:></h3>
[<div class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</div>]
[<div class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</div>]
[(#ENV{tester,''}|et{#ENV*{message_erreur}|non})
<iframe style='width:95%;height:500px;margin:10px;' src='#URL_PAGE{emails/test_email_html,var_mode=calcul}'></iframe>
]
<form method="post" action="#ENV{action}"><div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul class="editer-groupe">
<li class="fieldset">
<fieldset>
<legend><:facteur:configuration_adresse_envoi:></legend>
<ul class="editer-groupe">
<li class="editer editer_facteur_adresse_envoi [ (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi}|oui)erreur]">
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi})</span>]
<div class="choix">
<input type="radio" name="facteur_adresse_envoi" class="radio" value="non" id="facteur_adresse_envoi_non"[(#ENV{facteur_adresse_envoi,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_adresse_envoi_non"><:facteur:utiliser_reglages_site{from=#ENV{_from_defaut}}:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_adresse_envoi" class="radio" value="oui" id="facteur_adresse_envoi_oui"[(#ENV{facteur_adresse_envoi,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_adresse_envoi_oui"><:facteur:personnaliser:></label>
</div>
</li>
<li class="editer editer_facteur_adresse_envoi_perso editer_facteur_adresse_envoi_nom [ (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_nom}|oui)erreur]"[(#ENV{facteur_adresse_envoi,'non'}|=={non}|oui)style='display:none;']>
<label for="facteur_adresse_envoi_nom"><:facteur:facteur_adresse_envoi_nom:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_nom})</span>]
<input type="text" name="facteur_adresse_envoi_nom" class="text" value="#ENV**{facteur_adresse_envoi_nom}" id="facteur_adresse_envoi_nom" />
</li>
<li class="editer editer_facteur_adresse_envoi_perso editer_facteur_adresse_envoi_email [ (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_email}|oui)erreur]"[(#ENV{facteur_adresse_envoi,'non'}|=={non}|oui)style='display:none;']>
<label for="facteur_adresse_envoi_email"><:facteur:facteur_adresse_envoi_email:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_email})</span>]
<input type="text" name="facteur_adresse_envoi_email" class="text" value="#ENV**{facteur_adresse_envoi_email}" id="facteur_adresse_envoi_email" />
</li>
#SET{name,facteur_forcer_from}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
<span class='erreur_message'>(#GET{erreurs})</span>
]
<div class="choix">
#SET{val,non}
<input type="hidden" name="#GET{name}" value="#GET{val}" />
#SET{val,oui}
<input type="checkbox" name="#GET{name}" class="checkbox" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)checked="checked"] />
<label for="#GET{name}_#GET{val}"><:facteur:label_facteur_forcer_from:></label>
</div>
</li>
</ul>
</fieldset>
</li>
<li class="fieldset">
<fieldset>
<legend><:facteur:configuration_mailer:></legend>
<ul class="editer-groupe">
<li class="editer editer_facteur_smtp [ (#ENV**{erreurs}|table_valeur{facteur_smtp}|oui)erreur]">
<label><:facteur:configuration_smtp:></label>
<p class="explication"><:facteur:configuration_smtp_descriptif:></p>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp" class="radio" value="non" id="facteur_smtp_non"[(#ENV{facteur_smtp,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_non"><:facteur:utiliser_mail:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp" class="radio" value="oui" id="facteur_smtp_oui"[(#ENV{facteur_smtp,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_smtp_oui"><:facteur:utiliser_smtp:></label>
</div>
</li>
<li class="editer editer_facteur_smtp_param editer_facteur_smtp_host [ (#ENV**{erreurs}|table_valeur{facteur_smtp_host}|oui)erreur]"[(#ENV{facteur_smtp,'non'}|=={non}|oui)style='display:none;']>
<label for="facteur_smtp_host"><:facteur:facteur_smtp_host:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_host})</span>]
<input type="text" name="facteur_smtp_host" class="text" value="#ENV**{facteur_smtp_host}" id="facteur_smtp_host" />
</li>
<li class="editer editer_facteur_smtp_param editer_facteur_smtp_port [ (#ENV**{erreurs}|table_valeur{facteur_smtp_port}|oui)erreur]"[(#ENV{facteur_smtp,'non'}|=={non}|oui)style='display:none;']>
<label for="facteur_smtp_port"><:facteur:facteur_smtp_port:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_port})</span>]
<input type="text" name="facteur_smtp_port" class="text" value="#ENV**{facteur_smtp_port}" id="facteur_smtp_port" />
</li>
<li class="editer editer_facteur_smtp_param editer_facteur_smtp_auth [ (#ENV**{erreurs}|table_valeur{facteur_smtp_auth}|oui)erreur]"[(#ENV{facteur_smtp,'non'}|=={non}|oui)style='display:none;']>
<label><:facteur:facteur_smtp_auth:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_auth})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp_auth" class="radio" value="non" id="facteur_smtp_auth_non"[(#ENV{facteur_smtp_auth,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_auth_non"><:facteur:facteur_smtp_auth_non:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_auth" class="radio" value="oui" id="facteur_smtp_auth_oui"[(#ENV{facteur_smtp_auth,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_smtp_auth_oui"><:facteur:facteur_smtp_auth_oui:></label>
</div>
<ul class="editer-groupe" id="smtp-auth"[(#ENV{facteur_smtp_auth,'non'}|=={non}|oui)style='display:none;']>
<li class="editer editer_facteur_smtp_username [ (#ENV**{erreurs}|table_valeur{facteur_smtp_username}|oui)erreur]">
<label for="facteur_smtp_username"><:facteur:facteur_smtp_username:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_username})</span>]
<input type="text" name="facteur_smtp_username" class="text" value="#ENV**{facteur_smtp_username}" id="facteur_smtp_username" />
</li>
<li class="editer editer_facteur_smtp_password [ (#ENV**{erreurs}|table_valeur{facteur_smtp_password}|oui)erreur]">
<label for="facteur_smtp_password"><:facteur:facteur_smtp_password:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_password})</span>]
<input type="password" name="facteur_smtp_password" class="text" value="#ENV**{facteur_smtp_password}" id="facteur_smtp_password"
[placeholder="(#ENV**{_facteur_smtp_password}|facteur_affiche_password_masque|attribut_html)"] />
</li>
</ul>
</li>
<li class="editer editer_facteur_smtp_param editer_facteur_smtp_secure [ (#ENV**{erreurs}|table_valeur{facteur_smtp_secure}|oui)erreur]"[(#ENV{facteur_smtp,'non'}|=={non}|oui)style='display:none;']>
<label><:facteur:facteur_smtp_secure:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_secure})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp_secure" class="radio" value="non" id="facteur_smtp_secure_non"[(#ENV{facteur_smtp_secure,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_secure_non"><:facteur:facteur_smtp_secure_non:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_secure" class="radio" value="tls" id="facteur_smtp_secure_tls"[(#ENV{facteur_smtp_secure,'non'}|=={tls}|oui)checked="checked"]/>
<label for="facteur_smtp_secure_tls"><:facteur:facteur_smtp_secure_tls:></label>
<fieldset>
<legend><:facteur:configuration_adresse_envoi:></legend>
<div class="editer-groupe">
<div class="editer pleine_largeur editer_facteur_adresse_envoi [ (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi}|oui)erreur]">
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi})</span>]
<div class="choix">
<input type="radio" name="facteur_adresse_envoi" class="radio" value="non" id="facteur_adresse_envoi_non"[(#ENV{facteur_adresse_envoi,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_adresse_envoi_non"><:facteur:utiliser_reglages_site{from=#ENV{_from_defaut}}:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_adresse_envoi" class="radio" value="oui" id="facteur_adresse_envoi_oui"[(#ENV{facteur_adresse_envoi,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_adresse_envoi_oui"><:facteur:personnaliser:></label>
<div class="suite editer-groupe"[(#ENV{facteur_adresse_envoi,'non'}|=={non}|oui)style='display:none;']>
<div class="editer editer_facteur_adresse_envoi_perso editer_facteur_adresse_envoi_nom [ (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_nom}|oui)erreur]">
<label for="facteur_adresse_envoi_nom"><:facteur:facteur_adresse_envoi_nom:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_nom})</span>]
<input type="text" name="facteur_adresse_envoi_nom" class="text" value="#ENV**{facteur_adresse_envoi_nom}" id="facteur_adresse_envoi_nom" />
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_secure" class="radio" value="ssl" id="facteur_smtp_secure_ssl"[(#ENV{facteur_smtp_secure,'non'}|=={ssl}|oui)checked="checked"]/>
<label for="facteur_smtp_secure_ssl"><:facteur:facteur_smtp_secure_ssl:></label>
<div class="editer editer_facteur_adresse_envoi_perso editer_facteur_adresse_envoi_email [ (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_email}|oui)erreur]">
<label for="facteur_adresse_envoi_email"><:facteur:facteur_adresse_envoi_email:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_email})</span>]
<input type="text" name="facteur_adresse_envoi_email" class="text" value="#ENV**{facteur_adresse_envoi_email}" id="facteur_adresse_envoi_email" />
</div>
</li>
<li class="editer editer_facteur_smtp_tls_allow_self_signed [ (#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed}|oui)erreur]">
<label><:facteur:configuration_facteur_smtp_tls_allow_self_signed:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp_tls_allow_self_signed" class="radio" value="non" id="facteur_smtp_tls_allow_self_signed_non"[(#ENV{facteur_smtp_tls_allow_self_signed,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_tls_allow_self_signed_non"><:facteur:facteur_smtp_tls_allow_self_signed_non:></label>
</div>
</div>
</div>
#SET{name,facteur_forcer_from}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
<div class="editer pleine_largeur editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
<span class='erreur_message'>(#GET{erreurs})</span>
]
<div class="choix">
#SET{val,non}
<input type="hidden" name="#GET{name}" value="#GET{val}" />
#SET{val,oui}
<input type="checkbox" name="#GET{name}" class="checkbox" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)checked="checked"] />
<label for="#GET{name}_#GET{val}"><:facteur:label_facteur_forcer_from:></label>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend><:facteur:configuration_mailer:></legend>
<p class="explication"><:facteur:configuration_smtp_descriptif:></p>
<div class="editer-groupe">
<div class="editer pleine_largeur editer_facteur_smtp [ (#ENV**{erreurs}|table_valeur{facteur_smtp}|oui)erreur]">
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp" class="radio" value="non" id="facteur_smtp_non"[(#ENV{facteur_smtp,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_non"><:facteur:utiliser_mail:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp" class="radio" value="oui" id="facteur_smtp_oui"[(#ENV{facteur_smtp,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_smtp_oui"><:facteur:utiliser_smtp:></label>
<div class="suite editer-groupe editer_facteur_smtp_param" [(#ENV{facteur_smtp,'non'}|=={non}|oui)style='display:none;']>
<div class="editer editer_facteur_smtp_host [ (#ENV**{erreurs}|table_valeur{facteur_smtp_host}|oui)erreur]">
<label for="facteur_smtp_host"><:facteur:facteur_smtp_host:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_host})</span>]
<input type="text" name="facteur_smtp_host" class="text" value="#ENV**{facteur_smtp_host}" id="facteur_smtp_host" />
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_tls_allow_self_signed" class="radio" value="oui" id="facteur_smtp_tls_allow_self_signed_oui"[(#ENV{facteur_smtp_tls_allow_self_signed,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_smtp_tls_allow_self_signed_oui"><:facteur:facteur_smtp_tls_allow_self_signed_oui:></label>
<div class="editer editer_facteur_smtp_port [ (#ENV**{erreurs}|table_valeur{facteur_smtp_port}|oui)erreur]">
<label for="facteur_smtp_port"><:facteur:facteur_smtp_port:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_port})</span>]
<input type="text" name="facteur_smtp_port" class="text" value="#ENV**{facteur_smtp_port}" id="facteur_smtp_port" />
</div>
</li>
<li class="editer editer_facteur_smtp_sender [ (#ENV**{erreurs}|table_valeur{facteur_smtp_sender}|oui)erreur]">
<label for="facteur_smtp_sender"><:facteur:facteur_smtp_sender:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_sender})</span>]
<p class="explication"><:facteur:facteur_smtp_sender_descriptif:></p>
<input type="text" name="facteur_smtp_sender" class="text" value="#ENV**{facteur_smtp_sender}" id="facteur_smtp_sender" />
</li>
</ul>
</fieldset>
</li>
<li class="fieldset">
<fieldset>
<legend><:facteur:facteur_filtres:></legend>
<ul class="editer-groupe">
<li class="editer editer_facteur_filtres[ (#ENV**{erreurs}|table_valeur{facteur_filtres}|oui)erreur]">
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_secure})</span>]
<p class="explication"><:facteur:facteur_filtres_descriptif:></p>
<div class="choix">
<input type="checkbox" name="facteur_filtre_images" class="checkbox" value="1" id="facteur_filtre_images"[(#ENV{facteur_filtre_images,''}|=={1}|oui)checked="checked"]/>
<label for="facteur_filtre_images"><:facteur:facteur_filtre_images:></label>
<div class="editer editer_facteur_smtp_auth [ (#ENV**{erreurs}|table_valeur{facteur_smtp_auth}|oui)erreur]">
<label><:facteur:facteur_smtp_auth:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_auth})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp_auth" class="radio" value="non" id="facteur_smtp_auth_non"[(#ENV{facteur_smtp_auth,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_auth_non"><:facteur:facteur_smtp_auth_non:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_auth" class="radio" value="oui" id="facteur_smtp_auth_oui"[(#ENV{facteur_smtp_auth,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_smtp_auth_oui"><:facteur:facteur_smtp_auth_oui:></label>
<div class="suite editer-groupe" [(#ENV{facteur_smtp_auth,'non'}|=={non}|oui)style='display:none;']>
<div class="editer editer_facteur_smtp_username [ (#ENV**{erreurs}|table_valeur{facteur_smtp_username}|oui)erreur]">
<label for="facteur_smtp_username"><:facteur:facteur_smtp_username:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_username})</span>]
<input type="text" name="facteur_smtp_username" class="text" value="#ENV**{facteur_smtp_username}" id="facteur_smtp_username" />
</div>
<div class="editer editer_facteur_smtp_password [ (#ENV**{erreurs}|table_valeur{facteur_smtp_password}|oui)erreur]">
<label for="facteur_smtp_password"><:facteur:facteur_smtp_password:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_password})</span>]
<input type="password" name="facteur_smtp_password" class="text" value="#ENV**{facteur_smtp_password}" id="facteur_smtp_password"
[placeholder="(#ENV**{_facteur_smtp_password}|facteur_affiche_password_masque|attribut_html)"] />
</div>
</div>
</div>
</div>
<div class="choix">
<input type="checkbox" name="facteur_filtre_iso_8859" class="checkbox" value="1" id="facteur_filtre_iso_8859"[(#ENV{facteur_filtre_iso_8859,''}|=={1}|oui)checked="checked"]/>
<label for="facteur_filtre_iso_8859"><:facteur:facteur_filtre_iso_8859:></label>
<div class="editer editer_facteur_smtp_secure [ (#ENV**{erreurs}|table_valeur{facteur_smtp_secure}|oui)erreur]">
<label><:facteur:facteur_smtp_secure:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_secure})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp_secure" class="radio" value="non" id="facteur_smtp_secure_non"[(#ENV{facteur_smtp_secure,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_secure_non"><:facteur:facteur_smtp_secure_non:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_secure" class="radio" value="tls" id="facteur_smtp_secure_tls"[(#ENV{facteur_smtp_secure,'non'}|=={tls}|oui)checked="checked"]/>
<label for="facteur_smtp_secure_tls"><:facteur:facteur_smtp_secure_tls:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_secure" class="radio" value="ssl" id="facteur_smtp_secure_ssl"[(#ENV{facteur_smtp_secure,'non'}|=={ssl}|oui)checked="checked"]/>
<label for="facteur_smtp_secure_ssl"><:facteur:facteur_smtp_secure_ssl:></label>
</div>
</div>
</li>
</ul>
</fieldset>
</li>
<li class="fieldset">
<fieldset>
<legend><:facteur:facteur_copies:></legend>
<ul class="editer-groupe">
<li class="editer editer_facteur_copies editer_facteur_desc">
<p class="explication"><:facteur:facteur_copies_descriptif:></p>
</li>
<li class="editer editer_facteur_copies editer_facteur_cc [ (#ENV**{erreurs}|table_valeur{facteur_cc}|oui)erreur]">
<label for="facteur_cc"><:facteur:facteur_cc:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_cc})</span>]
<input type="text" name="facteur_cc" class="text" value="#ENV**{facteur_cc}" id="facteur_cc" />
</li>
<li class="editer editer_facteur_copies editer_facteur_bcc [ (#ENV**{erreurs}|table_valeur{facteur_bcc}|oui)erreur]">
<label for="facteur_bcc"><:facteur:facteur_bcc:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_bcc})</span>]
<input type="text" name="facteur_bcc" class="text" value="#ENV**{facteur_bcc}" id="facteur_bcc" />
</li>
</ul>
</fieldset>
</li>
</ul>
</div>
</div>
</div>
<div class="editer editer_facteur_smtp_tls_allow_self_signed [ (#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed}|oui)erreur]">
<label><:facteur:configuration_facteur_smtp_tls_allow_self_signed:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed})</span>]
<div class="choix">
<input type="radio" name="facteur_smtp_tls_allow_self_signed" class="radio" value="non" id="facteur_smtp_tls_allow_self_signed_non"[(#ENV{facteur_smtp_tls_allow_self_signed,'non'}|=={non}|oui)checked="checked"]/>
<label for="facteur_smtp_tls_allow_self_signed_non"><:facteur:facteur_smtp_tls_allow_self_signed_non:></label>
</div>
<div class="choix">
<input type="radio" name="facteur_smtp_tls_allow_self_signed" class="radio" value="oui" id="facteur_smtp_tls_allow_self_signed_oui"[(#ENV{facteur_smtp_tls_allow_self_signed,'non'}|=={oui}|oui)checked="checked"]/>
<label for="facteur_smtp_tls_allow_self_signed_oui"><:facteur:facteur_smtp_tls_allow_self_signed_oui:></label>
</div>
</div>
<div class="editer editer_facteur_smtp_sender [ (#ENV**{erreurs}|table_valeur{facteur_smtp_sender}|oui)erreur]">
<label for="facteur_smtp_sender"><:facteur:facteur_smtp_sender:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_sender})</span>]
<p class="explication"><:facteur:facteur_smtp_sender_descriptif:></p>
<input type="text" name="facteur_smtp_sender" class="text" value="#ENV**{facteur_smtp_sender}" id="facteur_smtp_sender" />
</div>
</div>
</fieldset>
<fieldset>
<legend><:facteur:facteur_filtres:></legend>
<div class="editer-groupe">
<div class="editer pleine_largeur editer_facteur_filtres[ (#ENV**{erreurs}|table_valeur{facteur_filtres}|oui)erreur]">
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_secure})</span>]
<p class="explication"><:facteur:facteur_filtres_descriptif:></p>
<div class="choix">
<input type="checkbox" name="facteur_filtre_images" class="checkbox" value="1" id="facteur_filtre_images"[(#ENV{facteur_filtre_images,''}|=={1}|oui)checked="checked"]/>
<label for="facteur_filtre_images"><:facteur:facteur_filtre_images:></label>
</div>
<div class="choix">
<input type="checkbox" name="facteur_filtre_iso_8859" class="checkbox" value="1" id="facteur_filtre_iso_8859"[(#ENV{facteur_filtre_iso_8859,''}|=={1}|oui)checked="checked"]/>
<label for="facteur_filtre_iso_8859"><:facteur:facteur_filtre_iso_8859:></label>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend><:facteur:facteur_copies:></legend>
<p class="explication"><:facteur:facteur_copies_descriptif:></p>
<div class="editer-groupe">
<div class="editer editer_facteur_copies editer_facteur_cc [ (#ENV**{erreurs}|table_valeur{facteur_cc}|oui)erreur]">
<label for="facteur_cc"><:facteur:facteur_cc:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_cc})</span>]
<input type="text" name="facteur_cc" class="text" value="#ENV**{facteur_cc}" id="facteur_cc" />
</div>
<div class="editer editer_facteur_copies editer_facteur_bcc [ (#ENV**{erreurs}|table_valeur{facteur_bcc}|oui)erreur]">
<label for="facteur_bcc"><:facteur:facteur_bcc:></label>
[<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_bcc})</span>]
<input type="text" name="facteur_bcc" class="text" value="#ENV**{facteur_bcc}" id="facteur_bcc" />
</div>
</div>
</fieldset>
<p class="boutons">
<input type="submit" name="valider" class="submit" value="<:bouton_valider:>" />
</p>
<ul class="editer-groupe">
<li class="fieldset">
<fieldset>
<h3 class="legend"><:facteur:tester_la_configuration:></h3>
<ul class="editer-groupe">
#SET{name,email_test}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
<li class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="#GET{name}"><:facteur:facteur_email_test:></label>[
<span class='erreur_message'>(#GET{erreurs})</span>
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/>
<p class="explication"><:facteur:note_test_configuration:></p>
</li>
</ul>
</fieldset>
</li>
</ul>
<p class="boutons">
<input type="submit" name="tester" class="submit" value="<:facteur:tester:>" />
</p>
</div></form>
</div>
<script type="text/javascript">
jQuery(function(){
jQuery('input[name=facteur_adresse_envoi]').change(function(){
if (jQuery(this).attr('value')=='oui')
jQuery('.editer_facteur_adresse_envoi_perso').show('fast');
else
jQuery('.editer_facteur_adresse_envoi_perso').hide('fast');
});
jQuery('input[name=facteur_smtp]').change(function(){
if (jQuery(this).attr('value')=='oui')
jQuery('.editer_facteur_smtp_param').show('fast');
else
jQuery('.editer_facteur_smtp_param').hide('fast');
});
jQuery('input[name=facteur_smtp_secure]').change(function(){
if (jQuery(this).attr('value')=='tls')
jQuery('.editer_facteur_smtp_tls_allow_self_signed').show('fast');
else
jQuery('.editer_facteur_smtp_tls_allow_self_signed').hide('fast');
});
jQuery('input[name=facteur_smtp_auth]').change(function(){
if (jQuery(this).attr('value')=='oui')
jQuery('#smtp-auth').show('fast');
else
jQuery('#smtp-auth').hide('fast');
jQuery('.choix>.suite').each(function(){
var $suite = jQuery(this);
var $input = $suite.siblings('input.radio').eq(0);
var name = $input.attr('name');
jQuery('input[name='+name+']').change(function() {
if ($input.prop('checked')) {
$suite.show('fast');
}
else {
$suite.hide('fast');
}
});
});
})
</script>

36
formulaires/configurer_facteur.php

@ -185,39 +185,3 @@ function formulaires_configurer_facteur_traiter_dist() {
return $res;
}
/**
* Fonction pour tester un envoi de mail ver sun destinataire
* renvoie une erreur eventuelle ou rien si tout est OK
* @param string $destinataire
* @param string $titre
* @return string
* message erreur ou vide si tout est OK
*/
function facteur_envoyer_mail_test($destinataire, $titre) {
include_spip('classes/facteur');
$message_html = recuperer_fond('emails/test_email_html', array());
$message_texte = recuperer_fond('emails/test_email_texte', array());
$corps = array(
'html' => $message_html,
'texte' => $message_texte,
'exceptions' => true,
);
// passer par envoyer_mail pour bien passer par les pipeline et avoir tous les logs
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
try {
$retour = $envoyer_mail($destinataire, $titre, $corps);
} catch (Exception $e) {
return $e->getMessage();
}
// si echec mais pas d'exception, on signale de regarder dans les logs
if (!$retour) {
return _T('facteur:erreur').' '._T('facteur:erreur_dans_log');
}
// tout est OK, pas d'erreur
return '';
}

41
formulaires/tester_facteur.html

@ -0,0 +1,41 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:facteur:tester_la_configuration:></h3>
[<div class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</div>]
[<div class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</div>]
<form method="post" action="#ENV{action}"><div>
#ACTION_FORMULAIRE{#ENV{action}}
<div class="editer-groupe">
#SET{name,email_test}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="#GET{name}"><:facteur:facteur_email_test:></label>[
<span class='erreur_message'>(#GET{erreurs})</span>
]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/>
<p class="explication"><:facteur:note_test_configuration:></p>
</div>
</div>
<p class="boutons">
<input type="submit" name="tester" class="submit" value="<:facteur:tester:>" />
</p>
</div></form>
[(#ENV{_message_html_test}|oui)
<div class="feedback_message_test">
<h3><:facteur:label_message_envoye:></h3>
<iframe class="message_test" src='[(#ENV*{_message_html_test}|facteur_inline_base64src)]'></iframe>
<style>
.feedback_message_test {
margin: 1.5em 0;
}
.message_test {
width: 100%;
box-shadow: 0 0 10px #888;
max-height: 90vh;
height: [(#ENV*{_message_html_test}|strlen|div{130}|round)em];
}
</style>
</div>
]
</div>

125
formulaires/tester_facteur.php

@ -0,0 +1,125 @@
<?php
/**
* Plugin Facteur 2
* (c) 2009-2011 Collectif SPIP
* Distribue sous licence GPL
*
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function formulaires_tester_facteur_charger_dist() {
include_spip('inc/config');
$valeurs = array(
'email_test' => lire_config('facteur_adresse_envoi') == 'oui' ? lire_config('facteur_adresse_envoi_email') : $GLOBALS['meta']['email_webmaster'],
);
if (isset($GLOBALS['_message_html_test'])) {
$valeurs['_message_html_test'] = $GLOBALS['_message_html_test'];
}
return $valeurs;
}
function formulaires_tester_facteur_verifier_dist() {
$erreurs = array();
if (!$email = _request('email_test')) {
$erreurs['email_test'] = _T('info_obligatoire');
} elseif (!email_valide($email)) {
$erreurs['email_test'] = _T('form_email_non_valide');
}
return $erreurs;
}
function formulaires_tester_facteur_traiter_dist() {
// envoyer un message de test ?
$res = array();
$destinataire = _request('email_test');
$message_html = '';
$err = facteur_envoyer_mail_test($destinataire, _T('facteur:corps_email_de_test'), $message_html);
if ($err) {
$res['message_erreur'] = nl2br($err);
} else {
$res['message_ok'] = _T('facteur:email_test_envoye');
$GLOBALS['_message_html_test'] = $message_html;
}
return $res;
}
/**
* Inliner du contenu base64 pour presenter le html du mail de test envoye
* @param string $texte
* @param string $type
* @return string
*/
function facteur_inline_base64src($texte, $type="text/html"){
return "data:$type;charset=".$GLOBALS['meta']['charset'].";base64,".base64_encode($texte);
}
/**
* Fonction pour tester un envoi de mail ver sun destinataire
* renvoie une erreur eventuelle ou rien si tout est OK
* @param string $destinataire
* @param string $titre
* @param string $message_html
* @return string
* message erreur ou vide si tout est OK
*/
function facteur_envoyer_mail_test($destinataire, $titre, &$message_html) {
include_spip('classes/facteur');
$piece_jointe = array();
if (test_plugin_actif('medias')) {
// trouver une piece jointe dans les documents si possible, la plus legere possible, c'est juste pour le principe
$docs = sql_allfetsel('*', 'spip_documents', 'media='.sql_quote('file').' AND distant='.sql_quote('non').' AND brise=0','', 'taille DESC', '0,10');
foreach ($docs as $doc) {
$file = get_spip_doc($doc['fichier']);
if (file_exists($file)) {
$mime = sql_getfetsel('mime_type', 'spip_types_documents', 'extension='.sql_quote($doc['extension']));
$piece_jointe = array(
'chemin' => $file,
'nom' => $doc['titre'] ? $doc['titre'] : basename($doc['fichier']),
'mime' => $mime,
);
break;
}
}
}
$message_html = recuperer_fond('emails/test_email_html', array('piece_jointe' => $piece_jointe));
$message_texte = recuperer_fond('emails/test_email_texte', array('piece_jointe' => $piece_jointe));
$corps = array(
'html' => $message_html,
'texte' => $message_texte,
'exceptions' => true,
);
if ($piece_jointe) {
$corps['pieces_jointes'] = array($piece_jointe);
}
// passer par envoyer_mail pour bien passer par les pipeline et avoir tous les logs
$envoyer_mail = charger_fonction('envoyer_mail', 'inc');
try {
$retour = $envoyer_mail($destinataire, $titre, $corps);
} catch (Exception $e) {
return $e->getMessage();
}
// si echec mais pas d'exception, on signale de regarder dans les logs
if (!$retour) {
return _T('facteur:erreur').' '._T('facteur:erreur_dans_log');
}
// tout est OK, pas d'erreur
return '';
}

2
inc/envoyer_mail.php

@ -134,7 +134,7 @@ function inc_envoyer_mail($destinataire, $sujet, $corps, $from = "", $headers =
// mode TEST : forcer l'email
if (defined('_TEST_EMAIL_DEST')) {
if (!_TEST_EMAIL_DEST){
spip_log($e="Envois bloques par la constante _TEST_EMAIL_DEST", 'mail.' . _LOG_ERREUR);
spip_log($e=_T('facteur:erreur_envoi_bloque_constante'), 'mail.' . _LOG_ERREUR);
if ($exceptions) {
throw new Exception($e);
}

4
lang/facteur_fr.php

@ -25,6 +25,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'erreur_generale' => 'Il y a une ou plusieurs erreurs de configuration. Veuillez vérifier le contenu du formulaire.',
'erreur_invalid_host' => 'Ce nom d’hôte n’est pas correct',
'erreur_invalid_port' => 'Ce numéro de port n’est pas correct',
'erreur_envoi_bloque_constante' => "Envois bloqués par la constante <tt>_TEST_EMAIL_DEST</tt>.
Vérifiez votre fichier <tt>mes_options.php</tt>",
// F
'facteur_adresse_envoi_email' => 'Email :',
@ -58,6 +60,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// L
'label_facteur_forcer_from' => 'Forcer cette adresse d’envoi quand le <tt>From</tt> n’est pas sur le même domaine',
'label_message_envoye' => 'Message envoyé :',
// M
'message_identite_email' => 'La configuration du plugin "facteur" surcharge cette adresse email pour l’envoi de courriels.',
@ -71,6 +74,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// T
'tester' => 'Tester',
'tester_la_configuration' => 'Tester la configuration',
'titre_configurer_facteur' => 'Configuration de Facteur',
// U
'utiliser_mail' => 'Utiliser la fonction mail de PHP',

4
prive/squelettes/contenu/configurer_facteur.html

@ -2,4 +2,8 @@
<h1 class="grostitre"><:facteur:configuration_facteur:></h1>
<div class="ajax">
#FORMULAIRE_CONFIGURER_FACTEUR
</div>
<div class="ajax">
#FORMULAIRE_TESTER_FACTEUR
</div>
Loading…
Cancel
Save