From a463177039939e8c9294e065d7505f8de95d48c2 Mon Sep 17 00:00:00 2001 From: Ludovic CHEVALIER Date: Sat, 1 Feb 2014 19:40:49 +0100 Subject: [PATCH] [PLUGINS] +abomailman --- .../abomailmans/abomailman_template.html | 6 + .../abomailmans_administrations.php | 28 + .../abomailmans/abomailmans_autoriser.php | 32 + .../abomailmans/abomailmans_fonctions.php | 45 + .../abomailmans/abomailmans_pipelines.php | 31 + .../abomailmans/base/abomailmans_install.php | 62 + .../abomailmans/content/newsletter.html | 10 + .../abomailmans/contenu/page-newsletter.html | 10 + .../controleurs/abomailman_descriptif.html | 13 + .../controleurs/abomailman_titre.html | 13 + .../abomailmans/formulaires/abomailman.html | 72 + .../abomailmans/formulaires/abomailman.php | 151 ++ .../formulaires/abomailman_envoi_liste.html | 72 + .../formulaires/abomailman_envoi_liste.php | 130 + .../abomailman_mini_une_liste.html | 27 + .../formulaires/abomailman_mini_une_liste.php | 94 + .../formulaires/editer_abomailman.html | 136 + .../formulaires/editer_abomailman.php | 114 + .../formulaires/inc-previsu_mail.html | 30 + .../abomailmans/genie/abomailmans_envois.php | 133 + www/plugins/abomailmans/inc/abomailmans.php | 84 + www/plugins/abomailmans/lang/abomailmans.xml | 15 + .../abomailmans/lang/abomailmans_de.php | 114 + .../abomailmans/lang/abomailmans_en.php | 140 + .../abomailmans/lang/abomailmans_es.php | 140 + .../abomailmans/lang/abomailmans_fr.php | 138 + .../abomailmans/lang/abomailmans_sk.php | 140 + .../abomailmans/lang/paquet-abomailmans.xml | 15 + .../lang/paquet-abomailmans_de.php | 16 + .../lang/paquet-abomailmans_en.php | 18 + .../lang/paquet-abomailmans_es.php | 19 + .../lang/paquet-abomailmans_fr.php | 17 + .../lang/paquet-abomailmans_sk.php | 19 + www/plugins/abomailmans/paquet.xml | 34 + .../prive/listes/abomailman_mots.html | 9 + .../prive/listes/abomailman_rubriques.html | 17 + .../prive/listes/abomailman_templates.html | 16 + .../prive/listes/listes_des_listes.html | 20 + .../prive/objets/contenu/abomailman.html | 30 + .../prive/objets/infos/abomailman.html | 4 + .../prive/squelettes/contenu/abomailman.html | 24 + .../squelettes/contenu/abomailman_edit.html | 30 + .../contenu/abomailman_envoyer.html | 7 + .../prive/squelettes/contenu/abomailmans.html | 40 + .../squelettes/navigation/abomailman.html | 8 + .../squelettes/navigation/abomailmans.html | 5 + .../prive/style_prive_plugin_abomailmans.html | 8 + .../themes/spip/images/abomailmans-16.png | Bin 0 -> 742 bytes .../themes/spip/images/abomailmans-24.png | Bin 0 -> 1232 bytes .../themes/spip/images/abomailmans-32.png | Bin 0 -> 1391 bytes .../spip/images/abomailmans-envoyer-24.png | Bin 0 -> 1414 bytes .../themes/spip/images/abomailmans-new-16.png | Bin 0 -> 837 bytes www/plugins/abomailmans/svn.revision | 10 + .../abomailmans/templates/nouveautes.html | 67 + .../abomailmans/templates/nouveautes.txt.html | 38 + .../templates/nouveautes_fr_en.html | 98 + .../templates/nouveautes_fr_en.txt.html | 58 + www/plugins/facteur/classes/facteur.php | 347 +++ www/plugins/facteur/emails/css.html | 63 + www/plugins/facteur/emails/inc-bas.html | 22 + www/plugins/facteur/emails/inc-button.html | 23 + www/plugins/facteur/emails/inc-haut.html | 31 + .../facteur/emails/test_email_html.html | 28 + .../facteur/emails/test_email_texte.html | 12 + www/plugins/facteur/emails/texte.html | 111 + www/plugins/facteur/erreurs et exceptions.txt | 42 + .../facteur/facteur_administrations.php | 83 + www/plugins/facteur/facteur_fonctions.php | 387 +++ .../facteur/facteur_ieconfig_metas.php | 18 + www/plugins/facteur/facteur_pipelines.php | 33 + .../formulaires/configurer_facteur.html | 197 ++ .../formulaires/configurer_facteur.php | 171 ++ www/plugins/facteur/inc/envoyer_mail.php | 230 ++ www/plugins/facteur/inc/facteur_classes.php | 17 + www/plugins/facteur/lang/facteur.xml | 25 + www/plugins/facteur/lang/facteur_de.php | 79 + www/plugins/facteur/lang/facteur_en.php | 79 + www/plugins/facteur/lang/facteur_es.php | 79 + www/plugins/facteur/lang/facteur_fr.php | 77 + www/plugins/facteur/lang/facteur_nl.php | 79 + www/plugins/facteur/lang/facteur_sk.php | 79 + www/plugins/facteur/lang/paquet-facteur.xml | 20 + .../facteur/lang/paquet-facteur_de.php | 16 + .../facteur/lang/paquet-facteur_en.php | 16 + .../facteur/lang/paquet-facteur_es.php | 16 + .../facteur/lang/paquet-facteur_fr.php | 14 + .../facteur/lang/paquet-facteur_nl.php | 16 + .../facteur/lang/paquet-facteur_ru.php | 16 + .../facteur/lang/paquet-facteur_sk.php | 16 + .../facteur/lib/markdownify/LICENSE_LGPL.txt | 504 ++++ .../facteur/lib/markdownify/markdownify.php | 1192 +++++++++ .../lib/markdownify/markdownify_extra.php | 489 ++++ .../lib/markdownify/parsehtml/parsehtml.php | 618 +++++ www/plugins/facteur/paquet.xml | 22 + www/plugins/facteur/phpmailer-php5/LICENSE | 504 ++++ www/plugins/facteur/phpmailer-php5/README | 178 ++ .../phpmailer-php5/class.phpmailer.php | 2320 +++++++++++++++++ .../facteur/phpmailer-php5/class.pop3.php | 407 +++ .../facteur/phpmailer-php5/class.smtp.php | 814 ++++++ .../language/phpmailer.lang-ar.php | 27 + .../language/phpmailer.lang-br.php | 26 + .../language/phpmailer.lang-ca.php | 26 + .../language/phpmailer.lang-ch.php | 26 + .../language/phpmailer.lang-cz.php | 25 + .../language/phpmailer.lang-de.php | 25 + .../language/phpmailer.lang-dk.php | 26 + .../language/phpmailer.lang-en.php | 25 + .../language/phpmailer.lang-es.php | 26 + .../language/phpmailer.lang-et.php | 26 + .../language/phpmailer.lang-fi.php | 27 + .../language/phpmailer.lang-fo.php | 27 + .../language/phpmailer.lang-fr.php | 25 + .../language/phpmailer.lang-hu.php | 25 + .../language/phpmailer.lang-it.php | 27 + .../language/phpmailer.lang-ja.php | 26 + .../language/phpmailer.lang-nl.php | 25 + .../language/phpmailer.lang-no.php | 25 + .../language/phpmailer.lang-pl.php | 25 + .../language/phpmailer.lang-ro.php | 27 + .../language/phpmailer.lang-ru.php | 25 + .../language/phpmailer.lang-se.php | 26 + .../language/phpmailer.lang-tr.php | 27 + .../language/phpmailer.lang-zh.php | 26 + .../language/phpmailer.lang-zh_cn.php | 26 + .../contenu/configurer_facteur.html | 5 + .../prive/themes/spip/images/facteur-16.png | Bin 0 -> 715 bytes .../prive/themes/spip/images/facteur-24.png | Bin 0 -> 1453 bytes .../prive/themes/spip/images/facteur-32.png | Bin 0 -> 1631 bytes www/plugins/facteur/svn.revision | 10 + 129 files changed, 12759 insertions(+) create mode 100644 www/plugins/abomailmans/abomailman_template.html create mode 100644 www/plugins/abomailmans/abomailmans_administrations.php create mode 100755 www/plugins/abomailmans/abomailmans_autoriser.php create mode 100755 www/plugins/abomailmans/abomailmans_fonctions.php create mode 100755 www/plugins/abomailmans/abomailmans_pipelines.php create mode 100755 www/plugins/abomailmans/base/abomailmans_install.php create mode 100644 www/plugins/abomailmans/content/newsletter.html create mode 100644 www/plugins/abomailmans/contenu/page-newsletter.html create mode 100644 www/plugins/abomailmans/controleurs/abomailman_descriptif.html create mode 100644 www/plugins/abomailmans/controleurs/abomailman_titre.html create mode 100644 www/plugins/abomailmans/formulaires/abomailman.html create mode 100644 www/plugins/abomailmans/formulaires/abomailman.php create mode 100644 www/plugins/abomailmans/formulaires/abomailman_envoi_liste.html create mode 100644 www/plugins/abomailmans/formulaires/abomailman_envoi_liste.php create mode 100644 www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.html create mode 100644 www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.php create mode 100644 www/plugins/abomailmans/formulaires/editer_abomailman.html create mode 100644 www/plugins/abomailmans/formulaires/editer_abomailman.php create mode 100644 www/plugins/abomailmans/formulaires/inc-previsu_mail.html create mode 100755 www/plugins/abomailmans/genie/abomailmans_envois.php create mode 100755 www/plugins/abomailmans/inc/abomailmans.php create mode 100644 www/plugins/abomailmans/lang/abomailmans.xml create mode 100644 www/plugins/abomailmans/lang/abomailmans_de.php create mode 100755 www/plugins/abomailmans/lang/abomailmans_en.php create mode 100644 www/plugins/abomailmans/lang/abomailmans_es.php create mode 100755 www/plugins/abomailmans/lang/abomailmans_fr.php create mode 100644 www/plugins/abomailmans/lang/abomailmans_sk.php create mode 100644 www/plugins/abomailmans/lang/paquet-abomailmans.xml create mode 100644 www/plugins/abomailmans/lang/paquet-abomailmans_de.php create mode 100644 www/plugins/abomailmans/lang/paquet-abomailmans_en.php create mode 100644 www/plugins/abomailmans/lang/paquet-abomailmans_es.php create mode 100644 www/plugins/abomailmans/lang/paquet-abomailmans_fr.php create mode 100644 www/plugins/abomailmans/lang/paquet-abomailmans_sk.php create mode 100644 www/plugins/abomailmans/paquet.xml create mode 100644 www/plugins/abomailmans/prive/listes/abomailman_mots.html create mode 100644 www/plugins/abomailmans/prive/listes/abomailman_rubriques.html create mode 100755 www/plugins/abomailmans/prive/listes/abomailman_templates.html create mode 100644 www/plugins/abomailmans/prive/listes/listes_des_listes.html create mode 100644 www/plugins/abomailmans/prive/objets/contenu/abomailman.html create mode 100644 www/plugins/abomailmans/prive/objets/infos/abomailman.html create mode 100644 www/plugins/abomailmans/prive/squelettes/contenu/abomailman.html create mode 100644 www/plugins/abomailmans/prive/squelettes/contenu/abomailman_edit.html create mode 100644 www/plugins/abomailmans/prive/squelettes/contenu/abomailman_envoyer.html create mode 100644 www/plugins/abomailmans/prive/squelettes/contenu/abomailmans.html create mode 100644 www/plugins/abomailmans/prive/squelettes/navigation/abomailman.html create mode 100644 www/plugins/abomailmans/prive/squelettes/navigation/abomailmans.html create mode 100644 www/plugins/abomailmans/prive/style_prive_plugin_abomailmans.html create mode 100755 www/plugins/abomailmans/prive/themes/spip/images/abomailmans-16.png create mode 100644 www/plugins/abomailmans/prive/themes/spip/images/abomailmans-24.png create mode 100644 www/plugins/abomailmans/prive/themes/spip/images/abomailmans-32.png create mode 100644 www/plugins/abomailmans/prive/themes/spip/images/abomailmans-envoyer-24.png create mode 100644 www/plugins/abomailmans/prive/themes/spip/images/abomailmans-new-16.png create mode 100644 www/plugins/abomailmans/svn.revision create mode 100755 www/plugins/abomailmans/templates/nouveautes.html create mode 100644 www/plugins/abomailmans/templates/nouveautes.txt.html create mode 100644 www/plugins/abomailmans/templates/nouveautes_fr_en.html create mode 100644 www/plugins/abomailmans/templates/nouveautes_fr_en.txt.html create mode 100755 www/plugins/facteur/classes/facteur.php create mode 100755 www/plugins/facteur/emails/css.html create mode 100755 www/plugins/facteur/emails/inc-bas.html create mode 100644 www/plugins/facteur/emails/inc-button.html create mode 100755 www/plugins/facteur/emails/inc-haut.html create mode 100755 www/plugins/facteur/emails/test_email_html.html create mode 100755 www/plugins/facteur/emails/test_email_texte.html create mode 100644 www/plugins/facteur/emails/texte.html create mode 100644 www/plugins/facteur/erreurs et exceptions.txt create mode 100755 www/plugins/facteur/facteur_administrations.php create mode 100755 www/plugins/facteur/facteur_fonctions.php create mode 100644 www/plugins/facteur/facteur_ieconfig_metas.php create mode 100644 www/plugins/facteur/facteur_pipelines.php create mode 100644 www/plugins/facteur/formulaires/configurer_facteur.html create mode 100644 www/plugins/facteur/formulaires/configurer_facteur.php create mode 100644 www/plugins/facteur/inc/envoyer_mail.php create mode 100644 www/plugins/facteur/inc/facteur_classes.php create mode 100644 www/plugins/facteur/lang/facteur.xml create mode 100644 www/plugins/facteur/lang/facteur_de.php create mode 100755 www/plugins/facteur/lang/facteur_en.php create mode 100644 www/plugins/facteur/lang/facteur_es.php create mode 100755 www/plugins/facteur/lang/facteur_fr.php create mode 100644 www/plugins/facteur/lang/facteur_nl.php create mode 100644 www/plugins/facteur/lang/facteur_sk.php create mode 100644 www/plugins/facteur/lang/paquet-facteur.xml create mode 100755 www/plugins/facteur/lang/paquet-facteur_de.php create mode 100644 www/plugins/facteur/lang/paquet-facteur_en.php create mode 100644 www/plugins/facteur/lang/paquet-facteur_es.php create mode 100644 www/plugins/facteur/lang/paquet-facteur_fr.php create mode 100644 www/plugins/facteur/lang/paquet-facteur_nl.php create mode 100644 www/plugins/facteur/lang/paquet-facteur_ru.php create mode 100644 www/plugins/facteur/lang/paquet-facteur_sk.php create mode 100644 www/plugins/facteur/lib/markdownify/LICENSE_LGPL.txt create mode 100644 www/plugins/facteur/lib/markdownify/markdownify.php create mode 100644 www/plugins/facteur/lib/markdownify/markdownify_extra.php create mode 100644 www/plugins/facteur/lib/markdownify/parsehtml/parsehtml.php create mode 100644 www/plugins/facteur/paquet.xml create mode 100755 www/plugins/facteur/phpmailer-php5/LICENSE create mode 100755 www/plugins/facteur/phpmailer-php5/README create mode 100755 www/plugins/facteur/phpmailer-php5/class.phpmailer.php create mode 100755 www/plugins/facteur/phpmailer-php5/class.pop3.php create mode 100755 www/plugins/facteur/phpmailer-php5/class.smtp.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ar.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-br.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ca.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ch.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-cz.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-de.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-dk.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-en.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-es.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-et.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fi.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fo.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fr.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-hu.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-it.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ja.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-nl.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-no.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-pl.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ro.php create mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ru.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-se.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-tr.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-zh.php create mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-zh_cn.php create mode 100644 www/plugins/facteur/prive/squelettes/contenu/configurer_facteur.html create mode 100644 www/plugins/facteur/prive/themes/spip/images/facteur-16.png create mode 100644 www/plugins/facteur/prive/themes/spip/images/facteur-24.png create mode 100644 www/plugins/facteur/prive/themes/spip/images/facteur-32.png create mode 100644 www/plugins/facteur/svn.revision diff --git a/www/plugins/abomailmans/abomailman_template.html b/www/plugins/abomailmans/abomailman_template.html new file mode 100644 index 0000000..fa40a36 --- /dev/null +++ b/www/plugins/abomailmans/abomailman_template.html @@ -0,0 +1,6 @@ +#CACHE{0} +[(#ENV{envoi_txt}|non) + ] +[(#ENV{envoi_txt}|oui|et{#CHEMIN{templates/#ENV{template}.txt.html}|oui}) + +] \ No newline at end of file diff --git a/www/plugins/abomailmans/abomailmans_administrations.php b/www/plugins/abomailmans/abomailmans_administrations.php new file mode 100644 index 0000000..86fa3cf --- /dev/null +++ b/www/plugins/abomailmans/abomailmans_administrations.php @@ -0,0 +1,28 @@ + \ No newline at end of file diff --git a/www/plugins/abomailmans/abomailmans_autoriser.php b/www/plugins/abomailmans/abomailmans_autoriser.php new file mode 100755 index 0000000..ec860f9 --- /dev/null +++ b/www/plugins/abomailmans/abomailmans_autoriser.php @@ -0,0 +1,32 @@ + \ No newline at end of file diff --git a/www/plugins/abomailmans/abomailmans_fonctions.php b/www/plugins/abomailmans/abomailmans_fonctions.php new file mode 100755 index 0000000..3b8aa9a --- /dev/null +++ b/www/plugins/abomailmans/abomailmans_fonctions.php @@ -0,0 +1,45 @@ + \ No newline at end of file diff --git a/www/plugins/abomailmans/abomailmans_pipelines.php b/www/plugins/abomailmans/abomailmans_pipelines.php new file mode 100755 index 0000000..4ab2a0d --- /dev/null +++ b/www/plugins/abomailmans/abomailmans_pipelines.php @@ -0,0 +1,31 @@ + \ No newline at end of file diff --git a/www/plugins/abomailmans/base/abomailmans_install.php b/www/plugins/abomailmans/base/abomailmans_install.php new file mode 100755 index 0000000..390d9b0 --- /dev/null +++ b/www/plugins/abomailmans/base/abomailmans_install.php @@ -0,0 +1,62 @@ + 'abomailman', + 'url_edit' => 'abomailman_edit', + 'editable' => 'oui', + 'texte_retour' => 'abomailmans:icone_retour_abomailman', + 'texte_objet' => 'abomailmans:abomailman', + 'texte_objets' => 'abomailmans:abomailmans', + 'texte_modifier' => 'abomailmans:icone_modifier_abomailman', + 'texte_creer' => 'abomailmans:nouveau_abomailman', + 'info_aucun_objet'=> 'abomailmans:info_abomailman_aucun', + 'info_1_objet' => 'abomailmans:info_abomailmans_1', + 'info_nb_objets' => 'abomailmans:info_abomailmans_nb', + 'icone_objet' => 'abomailmans-24', + 'titre' => "titre, '' AS lang", + 'principale' => 'oui', + 'champs_editables' => array('titre','descriptif','abo_type','email','email_sympa','email_subscribe','email_unsubscribe','modele_defaut','periodicite','lang','desactive'), + 'field'=> array( + "id_abomailman" => "bigint(21) NOT NULL", + "titre" => "varchar(255) NOT NULL", + "descriptif" => "text", + "abo_type" => "varchar(255) DEFAULT 'news' NOT NULL", + "email" => "varchar(255)", + "email_sympa" => "varchar(255) DEFAULT '' NOT NULL", + "email_subscribe" => "varchar(255)", + "email_unsubscribe" => "varchar(255)", + "modele_defaut" => "varchar(255) DEFAULT '' NOT NULL", + "periodicite" => "varchar(255) DEFAULT '' NOT NULL", + "maj" => "TIMESTAMP", + "date_envoi" => "TIMESTAMP", + "lang" => "VARCHAR(10) DEFAULT '' NOT NULL", + "desactive" => "tinyint(4) NOT NULL default '0'" + ), + 'key' => array( + "PRIMARY KEY" => "id_abomailman" + ), + 'rechercher_champs' => array( + 'titre' => 8, + 'descriptif' => 8 + ), + 'champs_versionnes' => array('titre', 'descriptif', 'email', 'email_sympa', 'email_subscribe', 'email_unsubscribe', 'modele_defaut','periodicite','lang','desactive') + ); + return $tables; +} + +?> \ No newline at end of file diff --git a/www/plugins/abomailmans/content/newsletter.html b/www/plugins/abomailmans/content/newsletter.html new file mode 100644 index 0000000..49cb394 --- /dev/null +++ b/www/plugins/abomailmans/content/newsletter.html @@ -0,0 +1,10 @@ +[(#REM) Fil d'Ariane ] +

<:accueil_site:> > <:abomailmans:bouton_listes_diffusion:>

+ +
+
+
+
+ #FORMULAIRE_ABOMAILMAN +
+
diff --git a/www/plugins/abomailmans/contenu/page-newsletter.html b/www/plugins/abomailmans/contenu/page-newsletter.html new file mode 100644 index 0000000..49cb394 --- /dev/null +++ b/www/plugins/abomailmans/contenu/page-newsletter.html @@ -0,0 +1,10 @@ +[(#REM) Fil d'Ariane ] +

<:accueil_site:> > <:abomailmans:bouton_listes_diffusion:>

+ +
+
+
+
+ #FORMULAIRE_ABOMAILMAN +
+
diff --git a/www/plugins/abomailmans/controleurs/abomailman_descriptif.html b/www/plugins/abomailmans/controleurs/abomailman_descriptif.html new file mode 100644 index 0000000..0a8dbaf --- /dev/null +++ b/www/plugins/abomailmans/controleurs/abomailman_descriptif.html @@ -0,0 +1,13 @@ +[(#REM) + + Controleur pour le crayon 'abomailman_descriptif' , uniquement html + + Permet de bénéficier du plugin multilang + +] +#CACHE{0} + + + diff --git a/www/plugins/abomailmans/controleurs/abomailman_titre.html b/www/plugins/abomailmans/controleurs/abomailman_titre.html new file mode 100644 index 0000000..037d064 --- /dev/null +++ b/www/plugins/abomailmans/controleurs/abomailman_titre.html @@ -0,0 +1,13 @@ +[(#REM) + + Controleur pour le crayon 'abomailman_titre', uniquement html + + Permet de bénéficier du plugin multilang + +] +#CACHE{0} + + + + diff --git a/www/plugins/abomailmans/formulaires/abomailman.html b/www/plugins/abomailmans/formulaires/abomailman.html new file mode 100644 index 0000000..112a8cc --- /dev/null +++ b/www/plugins/abomailmans/formulaires/abomailman.html @@ -0,0 +1,72 @@ +
+ [
(#ENV*{message_ok})
] + [

(#ENV*{message_erreur})

] + + + #SET{abo_types,#ARRAY} + + [(#SET{abo_types,[(#GET{abo_types}|push{#ABO_TYPE})]})] + + [(#GET{abo_types}|count|>{1}|oui) + [(#SET{legende,<:abomailmans:inscription_lettres_legende:>})] + ] + [(#GET{abo_types}|count|=={1}|oui) + [(#GRAND_TOTAL|>{1}|oui) + [(#SET{legende,[(#VAL{abomailmans:legende_inscriptions_}|concat{#GET{abo_types}|table_valeur{0}}|_T)]})] + ] + [(#GRAND_TOTAL|>{1}|non) + [(#SET{legende,[(#VAL{abomailmans:legende_inscription_}|concat{#GET{abo_types}|table_valeur{0}}|_T)]})] + ] + ] +
+
+ [(#REM) declarer les hidden qui declencheront le service du formulaire + parametre : url d'action ] + #ACTION_FORMULAIRE{#ENV{action}} +
+ #GET{legende} +
    +
  • + + [(#ENV**{erreurs}|table_valeur{nom})] + +
  • +
  • + + [(#ENV**{erreurs}|table_valeur{email})] + +
  • + +
  • + [(#ENV**{erreurs}|table_valeur{listes})] +
      +
    • + +
      + [

      + (#DESCRIPTIF|PtoBR) +

      ] + + +
      + +
    • +
    +
  • + +
+ [(#REM) Piege a robots spammeurs, du moins on essaie] +

+ + +

+

+ + +

+
+
+
+
+ +
diff --git a/www/plugins/abomailmans/formulaires/abomailman.php b/www/plugins/abomailmans/formulaires/abomailman.php new file mode 100644 index 0000000..868c417 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/abomailman.php @@ -0,0 +1,151 @@ +_T('abomailmans:erreur_nobot')); + } + + $nom = _request('nom'); + $email = _request('email'); + $listes = _request('listes', true); + $abonnement = _request('abonnement'); + $desabonnement = _request('desabonnement'); + + $message = null; + + $message_listes = "
    "; + + $nb_listes = 0; + foreach($listes as $id_abomailman) { + $nb_listes++; + + //on initialise l'envoi + // on traite chaque liste via une fonction reutilisable ailleurs + $traiter=abomailman_traiter_abonnement($id_abomailman,$abonnement); + $titre = $traiter[0]; + $proprio_email=$traiter[1]; + $liste_email=$traiter[2]; + $sujet=$traiter[3]; + $body= array( + 'texte' => $traiter[4], + 'nom_envoyeur' => $nom + ); + $headers=$traiter[5]; + + // si on veut ajouter un mail de notification ou de test + /* + $liste_email = array( + $liste_email,"verif@exemple.com" + ); + */ + if (abomailman_mail($nom, $email, $proprio_email,$liste_email, $sujet, $body,'',$headers)){ + $message_listes .= "
  • $titre
  • "; + }else{ + $message_listes .= "
  • ". _T('pass_erreur_probleme_technique')."
  • "; + $probleme=true; + } + } + + $message_listes .= "

"; + + if($abonnement){ + if($nb_listes>1){ + $message .= _T("abomailmans:message_confirmation_a"); + }else{ + $message .= _T("abomailmans:message_confirmation_unique_a"); + } + } else{ + if($nb_listes>1){ + $message .= _T("abomailmans:message_confirmation_d"); + }else{ + $message .= _T("abomailmans:message_confirmation_unique_d"); + } + } + + $message .= $message_listes; + $message .= "

" . _T("abomailmans:message_confirm_suite") . "

"; + + if ($probleme==false) + return $message; + else + return $message_listes; +} +?> diff --git a/www/plugins/abomailmans/formulaires/abomailman_envoi_liste.html b/www/plugins/abomailmans/formulaires/abomailman_envoi_liste.html new file mode 100644 index 0000000..1860427 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/abomailman_envoi_liste.html @@ -0,0 +1,72 @@ +
+[(#REM) pour IE qui sinon se perd dans l'ajax !, ne pas retirer]
+ + [

(#ENV*{message_ok})

] + [

(#ENV*{message_erreur})

] + [(#ENV{editable}) + [(#REM) + Bloc de previsualisation + + Si on valide la previsu, on n'envoie pas en ajax + + ][
+
+ [(#ACTION_FORMULAIRE{#ENV{action}})] + + + + + + + (#ENV*{erreurs}|table_valeur{previsu}) +
+
] +
+ [(#ACTION_FORMULAIRE{#ENV{action}})] +
    +
  • + + [(#ENV**{erreurs}|table_valeur{template})] + +
  • +
  • + + [(#ENV**{erreurs}|table_valeur{date})] + + #INCLURE{fond=formulaires/dateur/inc-dateur} +
  • +
  • + + [(#ENV**{erreurs}|table_valeur{id_rubrique})] + +
  • +
  • + + [(#ENV**{erreurs}|table_valeur{id_mot})] + +
  • +
  • + + [(#ENV**{erreurs}|table_valeur{sujet})] + +
  • +
  • + + [(#ENV**{erreurs}|table_valeur{message})] + +
  • +
+

+ +

+
+
] +
diff --git a/www/plugins/abomailmans/formulaires/abomailman_envoi_liste.php b/www/plugins/abomailmans/formulaires/abomailman_envoi_liste.php new file mode 100644 index 0000000..9960860 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/abomailman_envoi_liste.php @@ -0,0 +1,130 @@ +$fond, + ); + /* Format Texte */ + $query['envoi_txt'] = "oui"; + $body['texte'] = recuperer_fond('abomailman_template',$query); + + if (strlen($fond) > 10) { + // email denvoi depuis config facteur + if ($GLOBALS['meta']['facteur_adresse_envoi'] == 'oui' + AND $GLOBALS['meta']['facteur_adresse_envoi_email']) + $from_email = $GLOBALS['meta']['facteur_adresse_envoi_email']; + else + $from_email = $email_webmaster; + // nom denvoi depuis config facteur + if ($GLOBALS['meta']['facteur_adresse_envoi'] == 'oui' + AND $GLOBALS['meta']['facteur_adresse_envoi_nom']) + $from_nom = $GLOBALS['meta']['facteur_adresse_envoi_nom']; + else + $from_nom = $nom_site; + + if (abomailman_mail($from_nom, $from_email, "", $email_receipt, $sujet,$body, true, $charset)) { + $message = _T('abomailmans:email_envoye',array('liste'=>$email_receipt)); + } else { + $message = _T('pass_erreur_probleme_technique'); + } + } else { + $message = _T('abomailmans:contenu_insuffisant'); + } + + return array('message_ok'=>$message); +} + +?> diff --git a/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.html b/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.html new file mode 100644 index 0000000..13bd990 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.html @@ -0,0 +1,27 @@ +#CACHE{0} +
+ + [

(#ENV*{message_ok})

] + [

(#ENV*{message_erreur})

] + + [(#ENV*{editable}|oui) +
+
+ #ACTION_FORMULAIRE{#ENV{action}} +
    + #SET{erreurs,#ENV**{erreurs}|table_valeur{la_demo}} +
  • + [(#GET{erreurs})] + +
  • +
+ [(#REM) Piege a robots spammeurs, du moins on essaie] +

+ + +

+

+
+
+ ] +
diff --git a/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.php b/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.php new file mode 100644 index 0000000..747d423 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/abomailman_mini_une_liste.php @@ -0,0 +1,94 @@ +_T('abomailmans:erreur_nobot')); + } + + $message = null; + + // on initialise l'envoi + // on traite chaque liste via une fonction reutilisable ailleurs + // on passe abonnement a true d'office + $traiter=abomailman_traiter_abonnement($id_abomailman,true); + $titre = $traiter[0]; + $proprio_email=$traiter[1]; + $liste_email=$traiter[2]; + $sujet=$traiter[3]; + $body="$nom - $email ".$traiter[4]; + $headers=$traiter[5]; + + if (abomailman_mail($nom, $email, $proprio_email,$liste_email, $sujet, $body,$headers)){ + $message_listes .= "

$titre

"; + }else{ + $message_listes .= "

". _T('pass_erreur_probleme_technique')."

"; + $probleme=true; + } + + $message .= $body."". _T("abomailmans:message_confirmation_unique_a"); + $message .= $message_listes; + $message .= "

" . _T("abomailmans:message_confirm_suite") . "

"; + + if ($probleme==false) + return $message; + else + return $message_listes; +} +?> \ No newline at end of file diff --git a/www/plugins/abomailmans/formulaires/editer_abomailman.html b/www/plugins/abomailmans/formulaires/editer_abomailman.html new file mode 100644 index 0000000..7c74956 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/editer_abomailman.html @@ -0,0 +1,136 @@ +
+ + [

(#ENV*{message_ok})

] + [

(#ENV*{message_erreur})

] + [(#ENV{editable}) +
+ #ACTION_FORMULAIRE{#ENV{action}} +
    +
  • + + [(#ENV**{erreurs}|table_valeur{titre})] + +
  • +
  • + [ + (#ENV**{erreurs}|table_valeur{descriptif}) + ] +
  • +
  • + +
    + + +
    +
    + + +
    +
  • +
  • +
    +

    <:abomailmans:emails_a_renseigner:>

    +
      +
    • + +

      <:abomailmans:emailliste_abomailman:>

      + [(#ENV**{erreurs}|table_valeur{email})] + +
    • +
    • + +

      <:abomailmans:explication_email_subscribe:>

      + [(#ENV**{erreurs}|table_valeur{email_subscribe})] + +
    • +
    • + +

      <:abomailmans:explication_email_unsubscribe:>

      + [(#ENV**{erreurs}|table_valeur{email_unsubscribe})] + +
    • +
    • + +

      <:abomailmans:explication_email_sympa:>

      + [(#ENV**{erreurs}|table_valeur{email_sympa})] + +
    • + [
    • + + [(#ENV**{erreurs}|table_valeur{langue})] + +
    • ] +
    +
    +
  • +
  • +
    +

    <:abomailmans:envoi_regulier:>

    +
      +
    • + +

      <:abomailmans:envoi_regulier_info:>

      +
      + + + +
      +
    • +
    • + +

      <:abomailmans:template_defaut_info:>

      + [(#ENV**{erreurs}|table_valeur{template})] + +
    • +
    • + +

      + <:abomailmans:envoi_liste_parametres:> + [(#ENV{modele_defaut}|oui) +
      + [(#SET{date_ref,[(#DATE|moins30|affdate{annee})-][(#DATE|moins30|affdate{mois})]})] + <:abomailmans:voir_modele_depuis:>[ (#DATE|moins30|affdate{nom_mois})][ (#DATE|moins30|affdate{annee})] : <:abomailmans:previsu_html:> | <:abomailmans:previsu_txt:>. + ] +

      + +
    • +
    +
    +
  • +
  • +
    +

    <:abomailmans:label_etat_liste:>

    +
      +
    • + +
      + + +
      +
      + + +
      +
    • + [(#ENV{id_abomailman}|intval|oui) +
    • + +
      + + +
      +
    • ] +
    +
    +
  • +
+

+ +

+
] +
\ No newline at end of file diff --git a/www/plugins/abomailmans/formulaires/editer_abomailman.php b/www/plugins/abomailmans/formulaires/editer_abomailman.php new file mode 100644 index 0000000..5d746f8 --- /dev/null +++ b/www/plugins/abomailmans/formulaires/editer_abomailman.php @@ -0,0 +1,114 @@ +0) { + $erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire'); + } + + return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis +} + +function formulaires_editer_abomailman_traiter_dist($id_abomailman='new',$retour='', $config_fonc='', $row=array(), $hidden=''){ + $res = formulaires_editer_objet_traiter('abomailman',$id_abomailman,0,0,$retour,$config_fonc,$row,$hidden); + + $message = array(); + $valeurs['envoi_liste_parametres'] = _request('envoi_liste_parametres'); + + $datas = array(); + + // Récupération des données + $datas['titre'] = _request('titre'); + $datas['descriptif'] = _request('descriptif'); + if(_request('abo_type') && in_array(_request('abo_type'), array('news','ml'))){ + $datas['abo_type'] = _request('abo_type'); + } + $datas['email'] = _request('email'); + $datas['email_subscribe'] = _request('email_subscribe'); + $datas['email_unsubscribe'] = _request('email_unsubscribe'); + $datas['email_sympa'] = _request('email_sympa'); + $datas['desactive'] = _request('desactive'); + $datas['modele_defaut'] = str_replace('\'','',_request('template'))."".$valeurs['envoi_liste_parametres']; + $datas['periodicite'] = _request('periodicite'); + $datas['lang'] = _request('langue'); + + // on récupère les données de la liste + if(intval($id_abomailman)){ + if($datas['desactive'] == '2'){ + sql_delete("spip_abomailmans","id_abomailman = $id_abomailman"); + $message['message_ok'] = _T('abomailmans:liste_supprimee',array("id"=>$id_abomailman,"titre"=> $datas['titre'])); + $message['editable'] = false; + }else{ + sql_updateq("spip_abomailmans",$datas,"id_abomailman = $id_abomailman"); + $message['message_ok'] = _T('abomailmans:liste_updatee',array("id"=>$id_abomailman,"titre"=> $datas['titre'])); + } + }else{ + $message['message_ok'] = _T('abomailmans:liste_creee',array("id"=>$id_abomailman,"titre"=> $datas['titre'])); + $message['editable'] = false; + } + + if (!$retour) { + $message['redirect'] = parametre_url(parametre_url(self(),'id_abomailman', $res['id_abomailman']),'abomailman',''); + } else { + // sinon on utilise la redirection donnee. + $message['redirect'] = parametre_url($retour, 'id_abomailman', $res['id_abomailman']); + } + return $message; +} + +?> \ No newline at end of file diff --git a/www/plugins/abomailmans/formulaires/inc-previsu_mail.html b/www/plugins/abomailmans/formulaires/inc-previsu_mail.html new file mode 100644 index 0000000..5e570ba --- /dev/null +++ b/www/plugins/abomailmans/formulaires/inc-previsu_mail.html @@ -0,0 +1,30 @@ +
    +
  • +
    +

    <:previsualisation:> <:abomailmans:previsu_html:>

    +
    + #ENV*{template_html} +
    +

    <:previsualisation:> <:abomailmans:previsu_txt:>

    +
    +
    #ENV*{template_txt, #VAL{abomailmans:pas_template_txt}|_T}
    +
    +

    <:abomailmans:destinataire:>

    +
      +
    • + + + + +
    • +
    +
    +
  • +
+[

+ +

] \ No newline at end of file diff --git a/www/plugins/abomailmans/genie/abomailmans_envois.php b/www/plugins/abomailmans/genie/abomailmans_envois.php new file mode 100755 index 0000000..0a5da56 --- /dev/null +++ b/www/plugins/abomailmans/genie/abomailmans_envois.php @@ -0,0 +1,133 @@ +$fond, + ); + /* Format Texte */ + $query['envoi_txt'] = "oui"; + $body['texte'] = recuperer_fond('abomailman_template',$query); + + //Si la page renvoie un contenu + if (strlen($fond) > 10) { + + // email denvoi depuis config facteur + if ($GLOBALS['meta']['facteur_adresse_envoi'] == 'oui' + AND $GLOBALS['meta']['facteur_adresse_envoi_email']) + $from_email = $GLOBALS['meta']['facteur_adresse_envoi_email']; + else + $from_email = $email_webmaster; + // nom denvoi depuis config facteur + if ($GLOBALS['meta']['facteur_adresse_envoi'] == 'oui' + AND $GLOBALS['meta']['facteur_adresse_envoi_nom']) + $from_nom = $GLOBALS['meta']['facteur_adresse_envoi_nom']; + else + $from_nom = $nom_site; + + if (abomailman_mail($from_nom, $from_email, "", $email_receipt, $sujet,$body, true, $charset)) { + spip_log("envoi ok = $url_genere tous les $periodicite jours sujet =".$sujet,"abomailmans"); + } else { + spip_log("!! envoi nok = $url_genere tous les $periodicite jours sujet =".$sujet,"abomailmans."._LOG_ERREUR); + $envoi_ok=false; + } + } + else { + spip_log("maintenant=".date('Y-m-d H:i:s', time())." date demande = ".$query['date']." non envoye =$url_genere : rien de neuf depuis $periodicite jours","abomailmans"); + } + + if($envoi_ok) { + // Noter que l'envoi est OK meme si envoi echoue faute de contenu, on reessaiera dans /periodicite/ jours + sql_updateq("spip_abomailmans", array("date_envoi" => date('Y-m-d H:i:s', time())), "id_abomailman=".$t['id_abomailman']); + } + return false; # c'est bon +} + +?> \ No newline at end of file diff --git a/www/plugins/abomailmans/inc/abomailmans.php b/www/plugins/abomailmans/inc/abomailmans.php new file mode 100755 index 0000000..e4ba2d6 --- /dev/null +++ b/www/plugins/abomailmans/inc/abomailmans.php @@ -0,0 +1,84 @@ + diff --git a/www/plugins/abomailmans/lang/abomailmans.xml b/www/plugins/abomailmans/lang/abomailmans.xml new file mode 100644 index 0000000..016cf4d --- /dev/null +++ b/www/plugins/abomailmans/lang/abomailmans.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/www/plugins/abomailmans/lang/abomailmans_de.php b/www/plugins/abomailmans/lang/abomailmans_de.php new file mode 100644 index 0000000..48358ad --- /dev/null +++ b/www/plugins/abomailmans/lang/abomailmans_de.php @@ -0,0 +1,114 @@ + 'Ich abonniere', + 'active' => 'Aktiv', + 'aucune_langue' => 'Keine ANgabn', + + // B + 'bouton_listes_diffusion' => 'Mailinglisten', + 'btn_abonnement' => 'Abonnieren', + 'btn_desabonnement' => 'Abbestellen', + + // C + 'choisir_liste' => 'Sie müssen eine Liste wählen.', + 'contenu_date' => 'Inhalt ab diesem Datum', # MODIF + 'creation_droits_insuffisants' => 'Sie haben kein Recht dazu ...', + + // D + 'desactive' => 'Abgeschaltet', + + // E + 'email' => 'E-Mail', + 'email_abonnement' => 'Ihre E-Mail Adresse', + 'email_envoye' => 'Die E-Mail wurde an die Mailingliste verschickt: @liste@.', + 'email_oublie' => 'Sie haben ihre E-Mail Adresse vergessen', + 'emailliste_abomailman' => 'E-Mail Adresse der Liste', + 'emailliste_abosympa' => 'E-Mail Adresse des Sympa-Administrators', + 'emailliste_subscribe' => 'Subscribe', + 'emailliste_unsubscribe' => 'Unsubscribe', # MODIF + 'envoi_apercu' => 'Vorschau', + 'envoi_confirmer' => 'Bestätigen und absenden', + 'envoi_liste_parametres' => 'Parameterliste', + 'envoi_regulier' => 'Automatics mail', + 'envoi_regulier_info' => 'Keep empty if you do not want to send automatically', + 'envoi_regulier_tous_les' => 'Send each', + 'envoi_vers' => 'send to', + 'envoyer_courier' => 'Mail senden', + 'envoyer_courier_liste' => 'Mail an diese Mailingliste senden:', + 'envoyer_mailmans' => 'Modell und Inhalt auswählen', # MODIF + 'erreur_email_liste_oublie' => 'Die E-Mail Adresse ist obligatorisch.', + 'explication_email_subscribe' => 'Email for subscribe, something like suffix+subscribe@exemple.org', + 'explication_email_sympa' => 'Wenn dieses Feld ausgefüllt ist, wird von einer Sympa-Liste ausgegangen, + anderenfalls von einer Mailman-Liste.', + 'explication_email_unsubscribe' => 'Email for unsubscribe', + + // I + 'icone_ajouter_liste' => 'Neue Liste hinzufügen', + 'icone_envoyer_mail_liste' => 'Mail aus dem Inhalt dieser Website generieren und an die Buchstaben senden', + 'info_sisympa' => '[Obligatorisch bei Sympa-Listen]', + 'insciption_listes_legende' => 'Mailing-Listen Abonnements', # MODIF + 'inscription_lettres_legende' => 'Abonnement bei Newslettern
und Diskussionslisten', + + // J + 'je_m_abonne' => 'Markieren um Abonnement zu bestellen oder zu kündigen.', + + // L + 'label_etat_liste' => 'Status der Liste', + 'langue_liste' => 'Sprache der Liste', + 'les_listes_mailmans' => 'Bekannte Mailman-Listen', + 'lire_article' => 'Artikel lesen', + 'liste_creee' => 'Die Liste Nummer @id@ (@titre@) wurde angelegt.', + 'liste_non_existante' => 'Die Liste existiert nich oder wurde entfernt.', + 'liste_oublie' => 'Sie habe vergessen, eine Liste auszuwählen!', + 'liste_supprimee' => 'Die Liste Nummer @id@ (@titre@) wurde gelöscht.', + 'liste_updatee' => 'Die Liste Nummer @id@ (@titre@) wurde aktualisiert.', + + // M + 'message' => 'Einleitungstext vor den Inhalten ihrer Website', + 'message_confirm_suite' => 'Um ihren Auftrag zu bestätigen beantworten sie bitte die Bestätigungsmail, die sie erhalten werden..', + 'message_confirmation_a' => 'Aboanfragen an folgende Listen wurden gesendet:', + 'message_confirmation_d' => 'Stornierungsaufträge an folgende Listen wurden gesendet. ', + 'message_confirmation_unique_a' => 'Eine Aboanfragen an folgende Liste wurden gesendet:', + 'message_confirmation_unique_d' => 'Stornierungsauftrag an folgende Liste wurden gesendet. ', + 'mot' => 'Artikel zu diesem Schlagwort auflisten', + + // N + 'nom' => 'Name und Vorname (freiwillige Angabe)', + + // P + 'periodicite' => ' days.', + 'prenom' => 'Vorname', + + // R + 'rubrique' => 'Artikel der Rubrik auflisten', + + // S + 'souhaite_rester' => 'Ich möchte auf dem Laufenden bleiben', + 'sujet' => 'Thema der Mail', + 'sujet_obligatoire' => 'Es muss ein Thema angegeben werden.', + 'supprimer' => 'Löschen', + 'sympa_message_confirmation' => 'Eine Bestätigungsmail wurde an folgende Adresse gesendet: ', # MODIF + + // T + 'template' => 'Modell und Inhalte auswählen', + 'template_defaut' => 'Default template', + 'titre_abomailman' => 'Bezeichnung der Liste', + 'titre_liste_obligatoire' => 'Die Liste muss eine Bezeichnung erhalten', + 'toute_liste' => 'ALle Mailinglisten', # MODIF + + // V + 'verifier_formulaire' => 'Überprüfen sie den Inhalt des Formulars.', + 'veut_s_abonner' => 'want to subscribe', + 'veut_se_desabonner' => 'want to unsubscribe', + 'votre_email' => 'Ihre E-Mail' +); + +?> diff --git a/www/plugins/abomailmans/lang/abomailmans_en.php b/www/plugins/abomailmans/lang/abomailmans_en.php new file mode 100755 index 0000000..89527c5 --- /dev/null +++ b/www/plugins/abomailmans/lang/abomailmans_en.php @@ -0,0 +1,140 @@ + 'Newsletter or mailing list', + 'abomailmans' => 'Mailing lists or newsletters', + 'abonne' => 'I subscribe', + 'activation' => 'Activation', + 'active' => 'Active', + 'aucune_langue' => 'None specified', + + // B + 'bouton_listes_diffusion' => 'Mailing lists', + 'btn_abonnement' => 'Subscribe', + 'btn_desabonnement' => 'Unsubscribe', + + // C + 'choisir_liste' => 'You should choose a list.', + 'contenu_date' => 'Content since this date', + 'creation_droits_insuffisants' => 'Your rights are insufficients', + + // D + 'desactive' => 'Disabled', + 'destinataire' => 'Recipient', + + // E + 'email' => 'Email address', + 'email_abonnement' => 'Your email address', + 'email_envoye' => 'The email has been sent to the list : @liste@.', + 'email_oublie' => 'You forgot your email address', + 'emailliste_abomailman' => 'The email address of the list', + 'emailliste_abosympa' => 'The email address of the Sympa admin', + 'emailliste_subscribe' => 'Subscribe', + 'emailliste_unsubscribe' => 'Unsubscribe', + 'emails_a_renseigner' => 'Email addresses to provide', + 'envoi_apercu' => 'Previsualization', + 'envoi_confirmer' => 'Confirm and send', + 'envoi_liste_parametres' => 'List of parameters [Facultatif]', + 'envoi_parametres' => 'Settings', + 'envoi_regulier' => 'Automatics mail', + 'envoi_regulier_info' => 'Leave empty if you do not want to send automatically', + 'envoi_regulier_tous_les' => 'Send each', + 'envoi_vers' => 'send to', + 'envoyer_courier' => 'Send an email', + 'envoyer_courier_liste' => 'Send this content to this list :', + 'envoyer_mailmans' => 'Select the template and its content', + 'erreur_email_liste_oublie' => 'The email address of the list is mandatory', + 'erreur_nobot' => 'No registration has been made ​​due to a technical problem', + 'explication_email_subscribe' => 'Email for subscribe, something like suffix+subscribe@exemple.org', + 'explication_email_sympa' => 'If this field is filled in, the list is considered as a "Sympa" list, if not, as a "Mailman" list.', + 'explication_email_unsubscribe' => 'Email for unsubscribe', + + // I + 'icone_ajouter_liste' => 'Add a new list', + 'icone_envoyer_mail_liste' => 'Send an e-mail to the lists from the content of this site', + 'icone_modifier_abomailman' => 'Edit the list', + 'icone_retour_abomailman' => 'Back to the list', + 'info_abomailman_aucun' => 'No list', + 'info_abomailmans_1' => 'A list', + 'info_abomailmans_nb' => '@nb@ lists', + 'info_sisympa' => '[Mandatory for a Sympa list]', + 'insciption_listes_legende' => 'Subscription to the mailing lists', + 'inscription_lettres_legende' => 'Subscription to the newsletters
and mailing lists', + + // J + 'je_m_abonne' => 'Check to confirm the subscription or unsubscription.', + + // L + 'label_etat_liste' => 'Status of the list', + 'label_type_abo' => 'Type', + 'label_type_ml' => 'Mailing-list', + 'label_type_news' => 'Newsletter', + 'langue_liste' => 'Language of the list', + 'legende_inscription_ml' => 'Subscription to the mailing list', + 'legende_inscription_news' => 'Subscription to the newsletter', + 'legende_inscriptions_ml' => 'Subscription to the mailing lists', + 'legende_inscriptions_news' => 'Subscription to the newsletters', + 'les_listes_mailmans' => 'The Mailman’s or Sympa’s lists filled', + 'lire_article' => 'Read the article', + 'liste_creee' => 'The list number @id@ (@titre@) has been created.', + 'liste_non_existante' => 'The asked list doesn’t exist or has been deleted', + 'liste_oublie' => 'You forgot to check a list.', + 'liste_supprimee' => 'The list number @id@ (@titre@) has been deleted.', + 'liste_updatee' => 'The list number @id@ (@titre@) has been updated.', + + // M + 'message' => 'Introduction of your email, before the site’s content', + 'message_confirm_suite' => 'To validate your request, please reply to the confirmation email that you will receive.', + 'message_confirmation_a' => 'A subscription request to the following lists has been sent :', + 'message_confirmation_d' => 'An unsubscribing request from the lists below has been sent. ', + 'message_confirmation_unique_a' => 'A subscription request to the following list has been sent :', + 'message_confirmation_unique_d' => 'An unsubscribing request from the list below has been sent. ', + 'mot' => 'And list the articles linked to the keyword', + + // N + 'nom' => 'Name and surname (optional)', + 'nouveau_abomailman' => 'New mailing list', + + // P + 'pas_template_txt' => 'There is no text version for this template', + 'periodicite' => ' days.', + 'prenom' => 'First name', + 'previsu_html' => 'html', + 'previsu_txt' => 'text', + + // R + 'rubrique' => 'And list the articles of the section', + + // S + 'souhaite_rester' => 'I wish to keep informed', + 'sujet' => 'Subject of the mail', + 'sujet_obligatoire' => 'The subject is mandatory.', + 'suppression_definitive' => 'Permanent removal !', + 'supprimer' => 'Delete', + 'sympa_message_confirmation' => 'A validation email has been sent to the address: ', + + // T + 'template' => 'Choose a template and his content', + 'template_defaut' => 'Default template', + 'template_defaut_info' => 'If the file "choosed_template.txt.html" exists, the newsletter will be sent in html + text format. Otherwise, only the html version will be sent.', + 'texte_descriptif' => 'Description', + 'titre_abomailman' => 'Title of the list', + 'titre_liste_obligatoire' => 'The title of the list is mandatory', + 'toute_liste' => 'All mailing lists', + + // V + 'verifier_formulaire' => 'Please verify the filling of the form.', + 'veut_s_abonner' => 'want to subscribe', + 'veut_se_desabonner' => 'want to unsubscribe', + 'voir_modele_depuis' => 'See an example of the template with', + 'votre_email' => 'Your email' +); + +?> diff --git a/www/plugins/abomailmans/lang/abomailmans_es.php b/www/plugins/abomailmans/lang/abomailmans_es.php new file mode 100644 index 0000000..8ca4b81 --- /dev/null +++ b/www/plugins/abomailmans/lang/abomailmans_es.php @@ -0,0 +1,140 @@ + 'Lista de difusión o discusiones', + 'abomailmans' => 'Listas de difusión o discusiones', + 'abonne' => 'Me suscribo', + 'activation' => 'Activación', + 'active' => 'Activo', + 'aucune_langue' => 'Ninguno específico', + + // B + 'bouton_listes_diffusion' => 'Listas de difusión', + 'btn_abonnement' => 'Suscribirse', + 'btn_desabonnement' => 'Darse de baja', + + // C + 'choisir_liste' => 'Debe elegir una lista.', + 'contenu_date' => 'Contenido a partir de esta fecha', + 'creation_droits_insuffisants' => 'Sus derechos son insuficientes...', + + // D + 'desactive' => 'Desactivado', + 'destinataire' => 'Destinatario', + + // E + 'email' => 'Correo electrónico', + 'email_abonnement' => 'Su dirección de correo electrónico', + 'email_envoye' => 'El correo electrónico ha sido enviado a la lista de difusión: @liste@.', + 'email_oublie' => 'Ha olvidado su dirección de correo electrónico', + 'emailliste_abomailman' => 'La dirección de correo electrónico de la lista', + 'emailliste_abosympa' => 'La dirección de correo electrónico del administrador Sympa', + 'emailliste_subscribe' => 'Suscripción', + 'emailliste_unsubscribe' => 'Baja como suscriptor', + 'emails_a_renseigner' => 'Correos electrónicos a reportar', + 'envoi_apercu' => 'Vista previa', + 'envoi_confirmer' => 'Confirmar y enviar', + 'envoi_liste_parametres' => 'Lista de parámetros de configuración [Opcional]', + 'envoi_parametres' => 'Configuración', + 'envoi_regulier' => 'Envíos automáticos', + 'envoi_regulier_info' => 'Dejar en blanco para no recibir envíos automáticos', + 'envoi_regulier_tous_les' => 'Enviar todos los', + 'envoi_vers' => 'enviar a', + 'envoyer_courier' => 'Envíar un correo electrónico', + 'envoyer_courier_liste' => 'Enviar este correo electrónico a esta lista de difusión:', + 'envoyer_mailmans' => 'Seleccionar el modelo y su contenido', + 'erreur_email_liste_oublie' => 'La dirección de correo electrónico es obligatoria', + 'erreur_nobot' => 'Su inscripción no ha podido efectuarse debido a un problema técnico', + 'explication_email_subscribe' => 'Correo electrónico de suscripción, del estilo suffixe+subscribe@exemple.org', + 'explication_email_sympa' => 'Si este campo es reportado, la lista se considera como una lista de servidor "Sympa", en caso contrario como una lista "Mailman" o "ezmlm".', + 'explication_email_unsubscribe' => 'Correo electrónico de baja de suscripción', + + // I + 'icone_ajouter_liste' => 'Añadir una nueva lista', + 'icone_envoyer_mail_liste' => 'Enviar un correo electrónico a los boletines a partir del contenido de este sitio', + 'icone_modifier_abomailman' => 'Modificar la lista', + 'icone_retour_abomailman' => 'Volver a la lista', + 'info_abomailman_aucun' => 'Ninguna lista', + 'info_abomailmans_1' => 'Una lista', + 'info_abomailmans_nb' => '@nb@ listas', + 'info_sisympa' => '[Obligatorio en caso de liste Sympa]', + 'insciption_listes_legende' => 'Suscripción a las listas de suscripción', + 'inscription_lettres_legende' => 'Suscripción a las listas de difusión y de discusiones', + + // J + 'je_m_abonne' => 'Marque para validar la suscripción o la baja en la suscripción', + + // L + 'label_etat_liste' => 'Estado de la lista', + 'label_type_abo' => 'Tipo', + 'label_type_ml' => 'Lista de discusión', + 'label_type_news' => 'Lista de difusión', + 'langue_liste' => 'Idioma de la lista', + 'legende_inscription_ml' => 'Inscripción a la lista de discusión', + 'legende_inscription_news' => 'Inscripción en la lista de difusión', + 'legende_inscriptions_ml' => 'Inscripción en la listas de discusión', + 'legende_inscriptions_news' => 'Inscripción a las listas de difusión', + 'les_listes_mailmans' => 'Listas mailmans, sympa o ezmlm reportadas', + 'lire_article' => 'Leer artículo', + 'liste_creee' => 'La lista número @id@ (@titre@) ha sido creada.', + 'liste_non_existante' => 'La lista solicitada no existe o ha sido eliminada', + 'liste_oublie' => '¡Ha olvidado marcar una lista!', + 'liste_supprimee' => 'La lista número @id@ (@titre@) ha sido eliminada.', + 'liste_updatee' => 'La lista número @id@ (@titre@) ha sido actualizada.', + + // M + 'message' => 'Introducción a su correo, antes del contenido del sitio', + 'message_confirm_suite' => 'Para confirmar su solicitud, responda a la solicitud de confirmación que ha recibido por correo electrónico.', + 'message_confirmation_a' => 'Una solicitud de suscripción a las siguientes listas acaba de ser enviada:', + 'message_confirmation_d' => 'Una solicitud de baja en la suscripción a las siguientes listas acaba de ser enviada.', + 'message_confirmation_unique_a' => 'Una solicitud de suscripción a la siguiente lista acaba de ser enviada:', + 'message_confirmation_unique_d' => 'Una solicitud de baja de la suscripción a la siguiente lista acaba de ser enviada. ', + 'mot' => 'Y listar los artículos de la palabra clave', + + // N + 'nom' => 'Apellidos y nombre (opcional)', + 'nouveau_abomailman' => 'Nueva lista de difusión', + + // P + 'pas_template_txt' => 'No hay una versión texto para este modelo', + 'periodicite' => ' días.', + 'prenom' => 'Nombre', + 'previsu_html' => 'html', + 'previsu_txt' => 'texto', + + // R + 'rubrique' => 'Y listar los artículos de la sección', + + // S + 'souhaite_rester' => 'Quiero estar informado/a', + 'sujet' => 'Asunto del correo electrónico', + 'sujet_obligatoire' => 'El asunto es obligatorio.', + 'suppression_definitive' => '¡Eliminación definitiva!', + 'supprimer' => 'Eliminar', + 'sympa_message_confirmation' => 'Un correo electrónico de confirmación ha sido enviado a la dirección: ', + + // T + 'template' => 'Elija el modelo y su contenido', + 'template_defaut' => 'Modelo por defecto', + 'template_defaut_info' => 'Si el archivo modelo_elegido.txt.html existe, el boletín será enviado en modo html + texte. Si no, sólo la versión html será expedida. ', + 'texte_descriptif' => 'Descripción', + 'titre_abomailman' => 'Título de la lista', + 'titre_liste_obligatoire' => 'El título de la lista es obligatorio', + 'toute_liste' => 'Todas las listas de difusión', + + // V + 'verifier_formulaire' => 'Verifique el contenido del formulario.', + 'veut_s_abonner' => 'quiere suscribirse', + 'veut_se_desabonner' => 'quiere darse de baja', + 'voir_modele_depuis' => 'Ver un ejemplo del modelo con', + 'votre_email' => 'Su correo electrónico' +); + +?> diff --git a/www/plugins/abomailmans/lang/abomailmans_fr.php b/www/plugins/abomailmans/lang/abomailmans_fr.php new file mode 100755 index 0000000..13f687e --- /dev/null +++ b/www/plugins/abomailmans/lang/abomailmans_fr.php @@ -0,0 +1,138 @@ + 'Liste de diffusion ou discussions', + 'abomailmans' => 'Listes de diffusion ou discussions', + 'abonne' => 'Je m’abonne', + 'activation' => 'Activation', + 'active' => 'Active', + 'aucune_langue' => 'Aucune spécifique', + + // B + 'bouton_listes_diffusion' => 'Les listes de diffusion', + 'btn_abonnement' => 'S’abonner', + 'btn_desabonnement' => 'Se désabonner', + + // C + 'choisir_liste' => 'Vous devez choisir une liste.', + 'contenu_date' => 'Contenu à partir de cette date', + 'creation_droits_insuffisants' => 'Vos droits sont insuffisants...', + + // D + 'desactive' => 'Désactivée', + 'destinataire' => 'Destinataire', + + // E + 'email' => 'E-mail', + 'email_abonnement' => 'Votre adresse e-mail', + 'email_envoye' => 'L’e-mail a été envoyé à la liste de diffusion : @liste@.', + 'email_oublie' => 'Vous avez oublié votre adresse e-mail', + 'emailliste_abomailman' => 'L’adresse e-mail de la liste', + 'emailliste_abosympa' => 'L’adresse e-mail de l’administrateur Sympa', + 'emailliste_subscribe' => 'Abonnement', + 'emailliste_unsubscribe' => 'Désabonnement', + 'emails_a_renseigner' => 'Emails à renseigner', + 'envoi_apercu' => 'Aperçu', + 'envoi_confirmer' => 'Confirmer et envoyer', + 'envoi_liste_parametres' => 'Liste des paramètres [Facultatif]', + 'envoi_parametres' => 'Paramètres', + 'envoi_regulier' => 'Envois automatiques', + 'envoi_regulier_info' => 'Laisser vide pour ne pas avoir d’envois automatiques', + 'envoi_regulier_tous_les' => 'Envoi tous les', + 'envoi_vers' => 'envoi vers', + 'envoyer_courier' => 'Envoyer un courrier', + 'envoyer_courier_liste' => 'Envoyer ce courrier à cette liste de diffusion :', + 'envoyer_mailmans' => 'Sélectionner le modèle et son contenu', + 'erreur_email_liste_oublie' => 'L’adresse email de la liste est obligatoire', + 'erreur_nobot' => 'Votre inscription n’ a pu être effectué à cause d’un problème technique', + 'explication_email_subscribe' => 'Email d’abonnement, de style suffixe+subscribe@exemple.org', + 'explication_email_sympa' => 'Si ce champ est renseigné, la liste est considérée comme une liste de serveur "Sympa", dans le cas contraire comme une liste "Mailman" ou "ezmlm".', + 'explication_email_unsubscribe' => 'Email de désabonnement', + + // I + 'icone_ajouter_liste' => 'Ajouter une nouvelle liste', + 'icone_envoyer_mail_liste' => 'Envoyer un e-mail aux lettres à partir du contenu de ce site', + 'icone_modifier_abomailman' => 'Modifier la liste', + 'icone_retour_abomailman' => 'Retour à la liste', + 'info_abomailman_aucun' => 'Aucune liste', + 'info_abomailmans_1' => 'Une liste', + 'info_abomailmans_nb' => '@nb@ listes', + 'info_sisympa' => '[Obligatoire si liste Sympa]', + 'insciption_listes_legende' => 'Abonnement aux listes de diffusion', + 'inscription_lettres_legende' => 'Abonnement aux listes de diffusion et de discussions', + + // J + 'je_m_abonne' => 'Cochez pour valider l’abonnement ou le désabonnement.', + + // L + 'label_etat_liste' => 'État de la liste', + 'label_type_abo' => 'Type', + 'label_type_ml' => 'Liste de discussion', + 'label_type_news' => 'Liste de diffusion', + 'langue_liste' => 'Langue de la liste', + 'legende_inscription_ml' => 'Inscription à la liste de discussion', + 'legende_inscription_news' => 'Inscription à la liste de diffusion', + 'legende_inscriptions_ml' => 'Inscription aux listes de discussion', + 'legende_inscriptions_news' => 'Inscription aux listes de diffusion', + 'les_listes_mailmans' => 'Les listes mailmans, sympa ou ezmlm renseignées', + 'lire_article' => 'Lire l’article', + 'liste_creee' => 'La liste numéro @id@ (@titre@) a été créée.', + 'liste_non_existante' => 'La liste demandée n’existe pas ou a été supprimée', + 'liste_oublie' => 'Vous avez oublié de cocher une liste !', + 'liste_supprimee' => 'La liste numéro @id@ (@titre@) a été supprimée.', + 'liste_updatee' => 'La liste numéro @id@ (@titre@) a été mise à jour.', + + // M + 'message' => 'Introduction à votre courrier, avant le contenu issu du site', + 'message_confirm_suite' => 'Pour valider votre demande, répondez à la demande de confirmation que vous allez recevoir par mail.', + 'message_confirmation_a' => 'Une demande d’abonnement aux listes suivantes vient d’être envoyée :', + 'message_confirmation_d' => 'Une demande de désabonnement aux listes suivantes vient d’être envoyée. ', + 'message_confirmation_unique_a' => 'Une demande d’abonnement à la liste suivante vient d’être envoyée :', + 'message_confirmation_unique_d' => 'Une demande de désabonnement à la liste suivante vient d’être envoyée. ', + 'mot' => 'Et lister les articles du mot clé', + + // N + 'nom' => 'Nom et prénom (facultatif)', + 'nouveau_abomailman' => 'Nouvelle liste de diffusion', + + // P + 'pas_template_txt' => 'Il n’y a pas de version texte pour ce modèle', + 'periodicite' => ' jours.', + 'prenom' => 'Prénom', + 'previsu_html' => 'html', + 'previsu_txt' => 'texte', + + // R + 'rubrique' => 'Et lister les articles de la rubrique', + + // S + 'souhaite_rester' => 'Je souhaite rester informé-e', + 'sujet' => 'Sujet du courrier', + 'sujet_obligatoire' => 'Le sujet est obligatoire.', + 'suppression_definitive' => 'Suppression définitive !', + 'supprimer' => 'Supprimer', + 'sympa_message_confirmation' => 'Un email de validation a été envoyé à l’adresse : ', + + // T + 'template' => 'Choisissez le modèle et son contenu', + 'template_defaut' => 'Modèle par défaut', + 'template_defaut_info' => 'Si le fichier modele_choisi.txt.html existe, la newsletter sera envoyée en mode html + texte. Sinon seule la version html sera expédiée.', + 'texte_descriptif' => 'Descriptif', + 'titre_abomailman' => 'Titre de la liste', + 'titre_liste_obligatoire' => 'Le titre de la liste est obligatoire', + 'toute_liste' => 'Toutes les listes de diffusion', + + // V + 'verifier_formulaire' => 'Vérifiez le remplissage du formulaire.', + 'veut_s_abonner' => 'veut s’abonner', + 'veut_se_desabonner' => 'veut se désabonner', + 'voir_modele_depuis' => 'Voir un exemple du modèle avec', + 'votre_email' => 'Votre email' +); + +?> diff --git a/www/plugins/abomailmans/lang/abomailmans_sk.php b/www/plugins/abomailmans/lang/abomailmans_sk.php new file mode 100644 index 0000000..e26de39 --- /dev/null +++ b/www/plugins/abomailmans/lang/abomailmans_sk.php @@ -0,0 +1,140 @@ + 'E-mailová alebo diskusná skupina', + 'abomailmans' => 'E-mailové alebo diskusné skupiny', + 'abonne' => 'Prihlasujem sa na odoberanie', + 'activation' => 'Aktivácia', + 'active' => 'Aktivovaný', + 'aucune_langue' => 'Žiaden konkrétny', + + // B + 'bouton_listes_diffusion' => 'E-mailové skupiny', + 'btn_abonnement' => 'PrihlásiÅ¥ sa na odoberanie', + 'btn_desabonnement' => 'OdhlásiÅ¥ sa z odoberania', + + // C + 'choisir_liste' => 'Musíte si vybraÅ¥ skupinu.', + 'contenu_date' => 'Novinky z tohto dňa', + 'creation_droits_insuffisants' => 'VaÅ¡e práva sú nedostatočné.', + + // D + 'desactive' => 'Deaktivovaný', + 'destinataire' => 'Príjemca', + + // E + 'email' => 'E-mail', + 'email_abonnement' => 'VaÅ¡a e-mailová adresa', + 'email_envoye' => 'E-mail bol odoslaný do skupiny: @liste@.', + 'email_oublie' => 'Zabudli ste svoju e-mailovú adresu', + 'emailliste_abomailman' => 'E-mailová adresa skupiny', + 'emailliste_abosympa' => 'E-mailová adresa administrátora (Sympa)', + 'emailliste_subscribe' => 'Prihlásenie na odoberanie', + 'emailliste_unsubscribe' => 'Odhlásenie sa z odoberania', + 'emails_a_renseigner' => 'E-maily pre informácie', + 'envoi_apercu' => 'Anketa', + 'envoi_confirmer' => 'PotvrdiÅ¥ a poslaÅ¥', + 'envoi_liste_parametres' => 'Zoznam parametrov [Nepovinné]', + 'envoi_parametres' => 'Parametre', + 'envoi_regulier' => 'Automatické odosielanie', + 'envoi_regulier_info' => 'Nevypĺňajte, ak nechcete využívaÅ¥ automatické odosielanie', + 'envoi_regulier_tous_les' => 'PoslaÅ¥ vÅ¡etky', + 'envoi_vers' => 'príjemca', + 'envoyer_courier' => 'PoslaÅ¥ e-mail', + 'envoyer_courier_liste' => 'Tento e-mail poslaÅ¥ do e-mailovej skupiny:', + 'envoyer_mailmans' => 'Vyberte si Å¡ablónu a jej obsah', + 'erreur_email_liste_oublie' => 'E-mailová adresa skupiny je povinný údaj', + 'erreur_nobot' => 'Registrácia sa z technických príčin neuskutočnila', + 'explication_email_subscribe' => 'E-mail na prihlásenie sa na odoberanie v podobesuffixe+subscribe@exemple.org', + 'explication_email_sympa' => 'Ak toto pole vyplníte, skupina bude považovaná za skupinu servera Sympa, v opačnom prípade za skupinu servera "Mailman" alebo "ezmlm".', + 'explication_email_unsubscribe' => 'E-mail na odhlásenie', + + // I + 'icone_ajouter_liste' => 'PridaÅ¥ novú skupinu', + 'icone_envoyer_mail_liste' => 'PoslaÅ¥ e-mail s textom tejto stránky', + 'icone_modifier_abomailman' => 'UpraviÅ¥ skupinu', + 'icone_retour_abomailman' => 'VrátiÅ¥ sa na skupinu', + 'info_abomailman_aucun' => 'Žiadna skupina', + 'info_abomailmans_1' => 'Jedna skupina', + 'info_abomailmans_nb' => '@nb@ skupín', + 'info_sisympa' => '(Povinné pre skupinu Sympa)', + 'insciption_listes_legende' => 'Odoberanie príspevkov e-mailových skupín', + 'inscription_lettres_legende' => 'Odoberanie príspevkov e-mailových a diskusných skupín', + + // J + 'je_m_abonne' => 'Označením prísluÅ¡ného poľa potvrďte svoje prihlásenie alebo odhlásenie.', + + // L + 'label_etat_liste' => 'Stav skupiny', + 'label_type_abo' => 'Typ', + 'label_type_ml' => 'Diskusná skupina', + 'label_type_news' => 'E-mailová skupina', + 'langue_liste' => 'Jazyk skupiny', + 'legende_inscription_ml' => 'Registrácia do diskusnej skupiny', + 'legende_inscription_news' => 'Registrácia do e-mailovej skupiny', + 'legende_inscriptions_ml' => 'Registrácia do diskusných skupín', + 'legende_inscriptions_news' => 'Registrácia do e-mailových skupín', + 'les_listes_mailmans' => 'Informované skupiny mailmans, sympa alebo ezmlm', + 'lire_article' => 'ČítaÅ¥ článok', + 'liste_creee' => 'Skupina číslo @id@ (@titre@) bola vytvorená.', + 'liste_non_existante' => 'Požadovaná skupina neexistuje alebo bola vymazaná', + 'liste_oublie' => 'Zabudli ste skontrolovaÅ¥ skupinu!', + 'liste_supprimee' => 'Skupina číslo @id@ (@titre@) bola vymazaná.', + 'liste_updatee' => 'Skupina číslo @id@ (@titre@) bola aktualizovaná.', + + // M + 'message' => 'Úvod do e-mailu pred obsahom stránky', + 'message_confirm_suite' => 'Ak chcete potvrdiÅ¥ požiadavku, postupujte podľa pokynov, ktoré dostanete e-mailom.', + 'message_confirmation_a' => 'Bola odoslaná požiadavka na prihlásenie na odoberanie príspevkov týchto skupín:', + 'message_confirmation_d' => 'Požiadavka na odhlásenie z odoberania príspevkov týchto skupín bola odoslaná.', + 'message_confirmation_unique_a' => 'Bola odoslaná požiadavka na odoberanie príspevkov z tejto skupiny:', + 'message_confirmation_unique_d' => 'Požiadavka na odhlásenie sa z odoberania príspevkov z tejto skupiny bola odoslaná.', + 'mot' => 'A vypísaÅ¥ články s kľúčovým slovom ', + + // N + 'nom' => 'Priezvisko a meno (nepovinné)', + 'nouveau_abomailman' => 'Nová e-mailová skupina', + + // P + 'pas_template_txt' => 'K tejto Å¡ablóne neexistuje textová verzie', + 'periodicite' => ' dní/dni.', + 'prenom' => 'Krstné meno', + 'previsu_html' => 'html', + 'previsu_txt' => 'nenaformátovaný text', + + // R + 'rubrique' => 'A vypísaÅ¥ články z rubriky', + + // S + 'souhaite_rester' => 'Chcem maÅ¥ prehľad', + 'sujet' => 'Predmet e-mailu', + 'sujet_obligatoire' => 'Predmet je povinný.', + 'suppression_definitive' => 'Definitívne odstránenie!', + 'supprimer' => 'OdstrániÅ¥', + 'sympa_message_confirmation' => 'Potvrdzovací e-mail bol odoslaný na túto adresu: ', + + // T + 'template' => 'Vyberte si Å¡ablónu a jej obsah', + 'template_defaut' => 'Predvolená Å¡ablóna', + 'template_defaut_info' => 'Ak súbor modele_choisi.txt.html existuje, bulletin bude odoslaný vo verzii html aj ako text. Inak bude odoslaný iba vo verzii html.', + 'texte_descriptif' => 'Opis', + 'titre_abomailman' => 'Názov skupiny', + 'titre_liste_obligatoire' => 'Názov skupiny je povinný údaj', + 'toute_liste' => 'VÅ¡etky e-mailové skupiny', + + // V + 'verifier_formulaire' => 'Skontrolujte, ako ste vyplnili formulár.', + 'veut_s_abonner' => 'chcem sa prihlásiÅ¥', + 'veut_se_desabonner' => 'chcem sa odhlásiÅ¥', + 'voir_modele_depuis' => 'ZobraziÅ¥ príklad Å¡ablóny s ', + 'votre_email' => 'Váš e-mail' +); + +?> diff --git a/www/plugins/abomailmans/lang/paquet-abomailmans.xml b/www/plugins/abomailmans/lang/paquet-abomailmans.xml new file mode 100644 index 0000000..909001c --- /dev/null +++ b/www/plugins/abomailmans/lang/paquet-abomailmans.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/www/plugins/abomailmans/lang/paquet-abomailmans_de.php b/www/plugins/abomailmans/lang/paquet-abomailmans_de.php new file mode 100644 index 0000000..3df03c7 --- /dev/null +++ b/www/plugins/abomailmans/lang/paquet-abomailmans_de.php @@ -0,0 +1,16 @@ + 'Dieses Plugin ermöglich mit dem TAG #FORMULAIRE_ABOMAILMAN das Abnonnieren von Mailinglisten. + Dem Adminstrator steht ein Interface zur Verwaltung dieser Listen zur Verfügung.', + 'abomailmans_nom' => 'Abonnieren Sie Mailing-Listen' +); + +?> diff --git a/www/plugins/abomailmans/lang/paquet-abomailmans_en.php b/www/plugins/abomailmans/lang/paquet-abomailmans_en.php new file mode 100644 index 0000000..125c1ac --- /dev/null +++ b/www/plugins/abomailmans/lang/paquet-abomailmans_en.php @@ -0,0 +1,18 @@ + 'This plugin adds a registration form to mailing lists and newsletters services as [Mailman->http://www.gnu.org/software/mailman/], [Ezmlm->http://www.ezmlm.org/] or [Sympa->http://www.sympa.org]. + +The administrator can manage the lists from the private space via a dedicated interface.', + 'abomailmans_nom' => 'Mailing lists and newsletters subscription', + 'abomailmans_slogan' => 'Interface your Mailman, Ezmlm or Sympa mailing lists and newsletters with SPIP' +); + +?> diff --git a/www/plugins/abomailmans/lang/paquet-abomailmans_es.php b/www/plugins/abomailmans/lang/paquet-abomailmans_es.php new file mode 100644 index 0000000..3ec6930 --- /dev/null +++ b/www/plugins/abomailmans/lang/paquet-abomailmans_es.php @@ -0,0 +1,19 @@ + 'Este plugin permite a través de una etiqueta #FORMULAIRE_ABOMAILMAN mostrar un formulario de suscripción al conjunto de las listas [Mailman->http://www.gnu.org/software/mailman/], [Ezmlm->http://www.ezmlm.org/] o [Sympa->http://www.sympa.org] renseignées. +_ Esta inscripción se hace a través de la interfaz privada de SPIP por el menú "Edición Abomailmans listas de difusiones mailman". +_ A continuación puede seleccionar artículos de su SPIP, por criterios de fecha, de sección y/o de palabra clave y enviar su contenido a estas listas, usando esqueletos de formateo de contenido. +_ El enlace con las listas Mailman, Ezmlm y Sympa se hace por envíos de correo electrónico. ', + 'abomailmans_nom' => 'Suscripción a las listas de difusión', + 'abomailmans_slogan' => 'Vincular sus listas de difusiones mailman, ezmlm o sympa con su SPIP' +); + +?> diff --git a/www/plugins/abomailmans/lang/paquet-abomailmans_fr.php b/www/plugins/abomailmans/lang/paquet-abomailmans_fr.php new file mode 100644 index 0000000..1b389ce --- /dev/null +++ b/www/plugins/abomailmans/lang/paquet-abomailmans_fr.php @@ -0,0 +1,17 @@ + 'Ce plugin permet via une balise #FORMULAIRE_ABOMAILMAN d’afficher un formulaire d’abonnement à l’ensemble des listes [Mailman->http://www.gnu.org/software/mailman/], [Ezmlm->http://www.ezmlm.org/] ou [Sympa->http://www.sympa.org] renseignées. +_ Cette inscription se fait via l’interface privée de SPIP par le menu "Edition Abomailmans les listes de diffusions mailman". +_ Ensuite il vous est possible de sélectionner des articles de votre SPIP, par des critères de date, de rubrique et/ou de mot-clé et envoyer leurs contenus à ces listes, en utilisant des squelettes de mise en page du contenu. +_ Le lien avec les listes Mailman, Ezmlm et Sympa se fait par des envois d’e-mail.', + 'abomailmans_nom' => 'Abonnement à des listes de diffusion', + 'abomailmans_slogan' => 'Interfacer vos listes de diffusions mailman, ezmlm ou sympa avec votre SPIP' +); + +?> diff --git a/www/plugins/abomailmans/lang/paquet-abomailmans_sk.php b/www/plugins/abomailmans/lang/paquet-abomailmans_sk.php new file mode 100644 index 0000000..817dd1e --- /dev/null +++ b/www/plugins/abomailmans/lang/paquet-abomailmans_sk.php @@ -0,0 +1,19 @@ + 'Tento zásuvný modul umožňuje pomocou tagu #FORMULAIRE_ABOMAILMAN zobraziÅ¥ formulár na prihlásenie sa na odoberanie príspevkov celého radu typov skupín (resp. konferencií) [Mailman,->http://www.gnu.org/software/mailman/] [Ezmlm->http://www.ezmlm.org/] alebo [Sympa.->http://www.sympa.org] +_ Registrácia sa vykonáva cez súkromnú zónu SPIPu pomocou menu "Úprava skupín typu mailman". +_ Potom si zo svojej stránky v SPIPe môžete vybraÅ¥ články podľa dátumu, rubriky a/lebo kľúčového slova a poslaÅ¥ ich do týchto skupín (resp. konferencií, mailing listov) pomocou Å¡ablón na úpravu vzhľadu textu. +_ Odkaz na skupiny Mailman, Ezmlm a Sympa získate odoslaním e-mailu.', + 'abomailmans_nom' => 'Odoberanie príspevkov e-mailových konferencií (skupín)', + 'abomailmans_slogan' => 'Ovládajte svoje e-mailové skupiny, (e-mailové konferencie), diskusné skupiny či mailing listy typu mailman, ezmlm alebo sympa so svojím SPIPom' +); + +?> diff --git a/www/plugins/abomailmans/paquet.xml b/www/plugins/abomailmans/paquet.xml new file mode 100644 index 0000000..1a33da3 --- /dev/null +++ b/www/plugins/abomailmans/paquet.xml @@ -0,0 +1,34 @@ + + + Abonnement à des listes de diffusion + + + NetAktiv + Anne-lise Martenot + Yffic + kent1 + GPL 3 + + + + + + + + + + + + + + + diff --git a/www/plugins/abomailmans/prive/listes/abomailman_mots.html b/www/plugins/abomailmans/prive/listes/abomailman_mots.html new file mode 100644 index 0000000..f50a3c2 --- /dev/null +++ b/www/plugins/abomailmans/prive/listes/abomailman_mots.html @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/listes/abomailman_rubriques.html b/www/plugins/abomailmans/prive/listes/abomailman_rubriques.html new file mode 100644 index 0000000..02ec561 --- /dev/null +++ b/www/plugins/abomailmans/prive/listes/abomailman_rubriques.html @@ -0,0 +1,17 @@ +#SET{id_parent,#ENV{id_rubrique,0}} +#SET{niveau,#ENV{niveau,1}} +[(#GET{niveau}|>={2}|oui) + [(#SET{marge,#ENV{marge}|concat{----}})] + +] + +[(#GET{niveau}|=={1}|oui) + [(#SET{marge,•})] +] +[(#GET{niveau}|=={2}|oui) + [(#SET{marge,'   |----'})] +] + + +[(#INCLURE{fond=prive/listes/abomailman_rubriques}{niveau=[(#GET{niveau}|plus{1})]}{id_rubrique=#ID_RUBRIQUE}{id_rubrique_env}{marge=#GET{marge}})] + \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/listes/abomailman_templates.html b/www/plugins/abomailmans/prive/listes/abomailman_templates.html new file mode 100755 index 0000000..a5c3340 --- /dev/null +++ b/www/plugins/abomailmans/prive/listes/abomailman_templates.html @@ -0,0 +1,16 @@ +[(#REM) Tous les fichiers *.html, mais pas les .txt.html ] +#SET{arraytemplate,#EVAL{find_all_in_path("templates/",".*(? +[(#SET{select,[(#MODELE_DEFAUT|nettoie_chemin)]})] + +[(#ENV{template}|oui) +[(#SET{select,[(#ENV{template})]})] +] + + + + + \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/listes/listes_des_listes.html b/www/plugins/abomailmans/prive/listes/listes_des_listes.html new file mode 100644 index 0000000..5b8556f --- /dev/null +++ b/www/plugins/abomailmans/prive/listes/listes_des_listes.html @@ -0,0 +1,20 @@ + +
  • + [(#ENV**{erreurs}|table_valeur{listes})] +
      +
    • + [(#GRAND_TOTAL|>{1}|oui) + ] + +
      + + + [

      + (#DESCRIPTIF|PtoBR) +

      ] +
      + +
    • +
    +
  • +
    diff --git a/www/plugins/abomailmans/prive/objets/contenu/abomailman.html b/www/plugins/abomailmans/prive/objets/contenu/abomailman.html new file mode 100644 index 0000000..3bd664d --- /dev/null +++ b/www/plugins/abomailmans/prive/objets/contenu/abomailman.html @@ -0,0 +1,30 @@ + +
    +
    <:info_titre:>
    +
    #TITRE
    +
    +
    +
    <:info_descriptif:>
    + [(#DESCRIPTIF|image_reduire{500,0})]
    + +
    +
    <:abomailmans:emailliste_abomailman:>
    + +
    +[
    +
    <:abomailmans:emailliste_abosympa:>
    + +
    ] +[
    +
    <:abomailmans:envoi_regulier:>
    +
    (#PERIODICITE)
    +
    ] +[
    +
    <:abomailmans:langue_liste:>
    +
    (#LANG|traduire_nom_langue|sinon{<:abomailmans:aucune_langue:>})
    +
    ] +[
    +
    <:info_notes:>
    +
    (#NOTES)
    +
    +] \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/objets/infos/abomailman.html b/www/plugins/abomailmans/prive/objets/infos/abomailman.html new file mode 100644 index 0000000..674be39 --- /dev/null +++ b/www/plugins/abomailmans/prive/objets/infos/abomailman.html @@ -0,0 +1,4 @@ +
    +#SET{texte_objet,#ENV{type}|objet_info{texte_objet}|_T} +
    <:titre_cadre_numero_objet{objet=#GET{texte_objet}}:>

    [(#ENV{id}|generer_info_entite{#ENV{type},[(#ENV{type}|id_table_objet)],'**'})]

    +
    diff --git a/www/plugins/abomailmans/prive/squelettes/contenu/abomailman.html b/www/plugins/abomailmans/prive/squelettes/contenu/abomailman.html new file mode 100644 index 0000000..80aef1b --- /dev/null +++ b/www/plugins/abomailmans/prive/squelettes/contenu/abomailman.html @@ -0,0 +1,24 @@ + +[(#BOITE_OUVRIR{[ + [(#AUTORISER{modifier,abomailman,#ID_ABOMAILMAN}) + [(#ID_ABOMAILMAN|afficher_qui_edite{abomailman}|non) + [(#URL_ECRIRE{abomailman_edit,id_abomailman=#ID_ABOMAILMAN}|icone_verticale{<:abomailmans:icone_modifier_abomailman:>,abomailmans-24,edit,right ajax preload})] + ] + [(#ID_ABOMAILMAN|afficher_qui_edite{abomailman}|oui) + [(#URL_ECRIRE{abomailman_edit,id_abomailman=#ID_ABOMAILMAN}|icone_verticale{#ID_ABOMAILMAN|afficher_qui_edite{abomailmans-24},warning-24,'',right ajax preload})] + ] + ] +

    [(#RANG). ](#TITRE|sinon{<:info_sans_titre:>})[(#CHEMIN_IMAGE{abomailmans-24.png}|balise_img{article,cadre-icone})]

    +],simple fiche_objet})] +
    +
    +#INCLURE{fond=prive/objets/contenu/abomailman,env} +
    +#BOITE_FERMER + +[(#EVAL{_AJAX}|oui) + +] + +[(#ENV**{exec}|=={abomailman_edit}|?{#INCLURE{fond=prive/squelettes/contenu/abomailman_edit,env,retourajax=oui},#REM|sinon_interdire_acces})] + diff --git a/www/plugins/abomailmans/prive/squelettes/contenu/abomailman_edit.html b/www/plugins/abomailmans/prive/squelettes/contenu/abomailman_edit.html new file mode 100644 index 0000000..d35478b --- /dev/null +++ b/www/plugins/abomailmans/prive/squelettes/contenu/abomailman_edit.html @@ -0,0 +1,30 @@ +[(#ID_ABOMAILMAN|intval|oui) + [(#AUTORISER{modifier,abomailman,#ID_ABOMAILMAN}|sinon_interdire_acces)] +][(#ID_ABOMAILMAN|intval|non) + [(#AUTORISER{creer,abomailman}|sinon_interdire_acces)] +] +#SET{retour,#ENV{redirect}|sinon{#ID_ABOMAILMAN|intval|?{#URL_ECRIRE{abomailman,id_abomailman=#ID_ABOMAILMAN},#URL_ECRIRE{abomailmans}}}} + +
    + +
    + [(#GET{retour}|icone_verticale{<:icone_retour:>,abomailmans-24,'',left retour[(#ENV{retourajax,''}|oui)ajax preload]})] +

    [(#TITRE|supprimer_numero)]

    +
    + +
    + [(#GET{retour}|icone_verticale{<:icone_retour:>,abomailmans-24,'',left retour[(#ENV{retourajax,''}|oui)ajax preload]})] +

    <:abomailmans:icone_ajouter_liste:>

    +
    + + #SET{redirect,#ENV{redirect,#ID_ABOMAILMAN|generer_url_entite{abomailman}}} + [(#ENV{retourajax,''}|oui) + #SET{redirect,'javascript:if (window.jQuery) jQuery(".entete-formulaire .retour a").followLink();'} +
    + ] + #FORMULAIRE_EDITER_ABOMAILMAN{#ENV{id_abomailman,oui},#GET{redirect}} + [(#ENV{retourajax,''}|oui) +
    + + ] +
    \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/squelettes/contenu/abomailman_envoyer.html b/www/plugins/abomailmans/prive/squelettes/contenu/abomailman_envoyer.html new file mode 100644 index 0000000..bdd5b3b --- /dev/null +++ b/www/plugins/abomailmans/prive/squelettes/contenu/abomailman_envoyer.html @@ -0,0 +1,7 @@ +
    +
    + [(#GET{retour}|icone_verticale{<:icone_retour:>,abomailmans-24,'',left retour[(#ENV{retourajax,''}|oui)ajax preload]})] +

    <:abomailmans:envoyer_courier:>

    +
    +#FORMULAIRE_ABOMAILMAN_ENVOI_LISTE +
    \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/squelettes/contenu/abomailmans.html b/www/plugins/abomailmans/prive/squelettes/contenu/abomailmans.html new file mode 100644 index 0000000..2e0616a --- /dev/null +++ b/www/plugins/abomailmans/prive/squelettes/contenu/abomailmans.html @@ -0,0 +1,40 @@ +#CACHE{0} + +

    <:abomailmans:les_listes_mailmans:>

    + + +#BOITE_OUVRIR + #ANCRE_PAGINATION +
    + + + + + + + + + + +
    + [] + + [(#TITRE)] + + #LANG + + [(#DESACTIVE|=={1}|?{<:abomailmans:desactive:>,<:abomailmans:active:>})] + [(#AUTORISER{modifier,abomailman,#ID_ABOMAILMAN}|?{ + #ID_ABOMAILMAN, + #ID_ABOMAILMAN + })]
    + [] +
    +[(#BOITE_FERMER)] +
    +[(#AUTORISER{creer, abomailman}|oui) + [(#URL_ECRIRE{abomailman_edit,id_abomailman=new}|parametre_url{redirect,#SELF} + |icone_verticale{<:abomailmans:icone_ajouter_liste:>,abomailmans-24,new,right})] +] \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/squelettes/navigation/abomailman.html b/www/plugins/abomailmans/prive/squelettes/navigation/abomailman.html new file mode 100644 index 0000000..fb094b5 --- /dev/null +++ b/www/plugins/abomailmans/prive/squelettes/navigation/abomailman.html @@ -0,0 +1,8 @@ +[(#ID_ABOMAILMAN|generer_info_entite{abomailman,[(#VAL{abomailman}|id_table_objet)],'**'}|intval|=={#ID_ABOMAILMAN}|sinon_interdire_acces)] + +#BOITE_OUVRIR{'','info'} +#PIPELINE{boite_infos,#ARRAY{data,'',args,#ARRAY{'type','abomailman','id',#ID_ABOMAILMAN}}} +#BOITE_FERMER + +[(#ENV{exec}|=={abomailman_edit}|oui)] + diff --git a/www/plugins/abomailmans/prive/squelettes/navigation/abomailmans.html b/www/plugins/abomailmans/prive/squelettes/navigation/abomailmans.html new file mode 100644 index 0000000..4c9b97d --- /dev/null +++ b/www/plugins/abomailmans/prive/squelettes/navigation/abomailmans.html @@ -0,0 +1,5 @@ + +[(#BOITE_OUVRIR)] +[(#URL_ECRIRE{abomailman_envoyer}|icone_horizontale{<:abomailmans:icone_envoyer_mail_liste:>,abomailmans-envoyer-24})] +[(#BOITE_FERMER)] + \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/style_prive_plugin_abomailmans.html b/www/plugins/abomailmans/prive/style_prive_plugin_abomailmans.html new file mode 100644 index 0000000..54a7677 --- /dev/null +++ b/www/plugins/abomailmans/prive/style_prive_plugin_abomailmans.html @@ -0,0 +1,8 @@ +#CACHE{3600*100,cache-client} +#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15} +#HTTP_HEADER{Vary: Accept-Encoding} + +.abo_message { + overflow:auto; + width:520px; +} \ No newline at end of file diff --git a/www/plugins/abomailmans/prive/themes/spip/images/abomailmans-16.png b/www/plugins/abomailmans/prive/themes/spip/images/abomailmans-16.png new file mode 100755 index 0000000000000000000000000000000000000000..a98ffe982f7499a2c83cb541f471cdd163f4b946 GIT binary patch literal 742 zcmVXuCi*XTTnS>E( zkRY`Rp-rnIT53Xj|A`jS!d<_K7A=EzmHk>J6hTyO(&?qLWB~dMd^pyIBWA|j!mXp{CePlhR;#7$?F6P+!r-%~J*#8m&7?MxP-dv? ztSDsG%LxG~rF`{z`Rd&}x4(KsRCxIK$x?TB_o-&o#MI;@zO1jKG&F=WW5*Bk;1G~y zaJxMNK)F-`5iJqXw0CLt@=RByGVyC|4UI+vwOS3meSHYS5Jl@?lma=o7uh)nZ8V05 zk4&7OzA)njfj?l3$pb*Sdo~o#f<~)_@cIq-O2e@O5$yHaDq;Z zjg53wx@Mi@q8|hxA}*H8vES2k@#N^}%+~J^t3Q9dOqF_}lqxeb5eU}Vq+VZp-gc3g z84EY(7vC(u<@*mF@!Z_}VkfTSF68osdXj8^Qd+~y=j)v~`ahlr9*BGZmECK^%xOFB YABI?fAsFICdjJ3c07*qoM6N<$f@Z2pYXATM literal 0 HcmV?d00001 diff --git a/www/plugins/abomailmans/prive/themes/spip/images/abomailmans-24.png b/www/plugins/abomailmans/prive/themes/spip/images/abomailmans-24.png new file mode 100644 index 0000000000000000000000000000000000000000..b2b75fab94d1ddae91bb01850d1b56cbe36a2ed0 GIT binary patch literal 1232 zcmV;>1TXuEP)s? z=jG)x%qfUB0s+D;_@NV4?s;(JmDeicIS{AxJ08-M~Nb-^zzc#U-l1NpPxE* z^wn=GH*WN<+8};IcXwk;cXvxf0s#cjI<}2g^38W&pIB)t5E1>!@z1_Ic<{h?|if{9spCv(-MG^A7La>PG+-DOOr5%*>oUEFy1)5Ud7x=iT?; z*f+IzdT^l1%-LC{ruMM=*@ zz5U+Lz*nl$KhQHawtaf@rV%dweu+HKnVmh);?fe^$41d{iR%js1Q9G?oqHf%J3UE~ zuykvQiKlij`Sir=BGRLV1_vjG1_lmW=g6{*N~MCfxvrDy0Su%=jce^Q(zG#M3E*^3Q?<1vPlgl&uNrO zn4+K+$8;M5N_8|j&vUd^=)ze-@RZ^%%HpFT~xbsH+n zA5)@0ni}%FSiL(+6xKTOqQHBPQVJ2lSxddyz?qciZr&tbUgp-BGc3J)lv17{cQ*qN z?teN00%Vy%$1yTKzGLi}ojX4lWYh;wsZ=J8V?qch6(Mo#T&dJw9jH$B#$9BMCYeb| zl9kH@8a{;RVHF~fB*~TEem(z@09~vOj-E#;2AX~4(u*H|di>PhJyX3&(HYxf9>GeuG=Lmx@}g uHn$$Etmn5yL?Twz-ZRtzK7`;pVgCcA(m>$5p`9=Q0000R;_tV8| zJJVsJuO*)3!b}03rZ>>Nc_!pzQ(( zt$XqY>qh|+!2I+hWnidH)f%VZ=Vgxn5nvM>10=R4OGx z2vn;zjL`^@&Cf>>rc}b6d4sd(KfW3-Eg_s=6*8N=2w~+{vJe7m-76ow|K8_-&wgoL zfAg)gPmPU@UOxWZvoz{Us6vtL+qbf`)IcePlmem{7e`DB!AJ&aK;%7;Aa* z&>@C_KW|RL+#Fb&OX`7vK{k$T;KcLC`Q+1!mw^GGApv>nwbSFHqoWjyMXvpJopl2P zRI4?9zi|U&EW01u#r`Mu6U8y}b8~p0P$*DPDjWa9l~Nd^nVFrXQZBJ)_oKXe>h*Cz zN^dIXlu~c;sI?87}GO=6au3SzO@Tu0Pj6Mc%n!W$8l%h z3n36fV68!GgH8?Bv=m4U=w1OJ5J-(7_^f_(0GxBw>kXnP>HtV7Nz)W-EXEj&(b$#( z#^|0E0I=3zbc$~kst!Q#{(=0r7mqes3XCyWV+lZ-rU;$45OteQ^@9p{AG+jk0{~h6 zjmcE78Gtbc(T4&6%~a!80|f88*sk3Yv|^8VZEamH(9hMlZ{6oXZrj7HJLG-T@lTX14;)IUq~HT9!67sWznElL~4jev&`r`)L zdyKW%9=y@0NawODlf#4% znF8&`1=w`rg%`gqD0R@aq?9u1f{{`pq$I>Ku295FiMIyXOo^ODB3e~5UkbeURI9VU zeDn2J&j_Fl>;N{BuSZNyj*nkGa`YI^T4wG~Gd(lQ^t~xAT)4PapSYH_d&kL`tgW8} z?vt;bUSAm;WMsnzoH5u`W2~jwSOoYBsOE?f$Qsv1+@e_^=RpFXTq-d#vJq!ZwmYn& zzPLc^&+q4r1AVsTs!*U@F5|4GR4TE!xJaQ`>?c%TC!_2oGiR7&ZcIcClZ%sd(1c`6 zVjqgWNTt*VtD;U7MT!>cgG9)K=z}6EQpGnxu*QN>Q7CO`1p~FwnM~BAnrLG)qiAN% z$z(&H#%?{RX`cF;R0wR6&^0@|^?be;L{J44sx^|AUZPg3 z(g1ScVkrD11Z$ygK0SK62%k%cRssRSBD`@vUvcIQZn*KcrS25uP@GCkyYZrHRHiQs?00PiDvb9FM=e3t#Y_>BH zLg+^yd*b;WJGPG(3K89%CW8E{e8Vm?w?|8Yzv#O*u;m2k1&7o1eZq!m^##5u>A{c<;yWy8GU}z;0RU>FZjvX6^VztA_aSqr>ER&eYUURPY?nNSm(}yYr_-AF$;?ejBL1!(TyXw3n9AXK!5+pKwsZA);Y2)qf{!PwPvn7 zN2%1s;NSp_dL5-ST5FV2KZq!bFvif^+snY<;MLtdeIwd?S5#W+IF1oQptZ((Ppw)b z%W?={jm26+nk0~>XI;^`=Do*cIZ{b2ps2mK80$bvq9{Tsh1MFW6K zDI(3<1jZPidhh3~Tk#8S9{nRqDZKZ@NrJT&L_h`~aL!@!yq#tgMcCYuWf^Ij;*7ys zN1CQ&S=L6iTE%%7>Uoz}j_e{y5|T8d5jU~cAcREv;M=8kCW9!75K@vP8CjZQoWnXx zk|d;Q+D5b4BzJJbRS(kNyN^E~zK^)sB#jfSu}CS<&Uu`3D5cv3Qc9FkBuPRX$4svJ zC$F!Y!~f+~mbb9oSeb7>~eCNcpr*d3W>Fj+!(y~NGTCQ z;H;%uui>&30mPw#Dx9sporQ0$Qh?VP?|=3Qh3aagv|0}h4lEox_`&P{Ie2i`2Tx&1 zeFy<56^Y5E+RB(w^At+w5Crf6tZ5y!f-lQ3@zy{+KeTSjyZ@F2&_Qc(bbX&Vp!lmN z_+LUNL>d`|jLYJPJDg{F-N+pnO(e6$*wIsVc zGuhwF{(e6X^&(~;yu*Xf`|#lL71mm|t5qrA8QHh*3Y7{bN%;KaQoUJY##oR79EUHi zoZ)?U+if7LRBEym@^`zI9aZH061ehG4zAlcZ+8$bVacYS50 zzI>?1#2)Cx@JjVEofszefHs_S0p`ws^zxfi$G)mmDy6Nhl)PA?cJ^%b!Q`P%`qJKl z{d1bbyDsqBvzGz*@TldN)wPS3@u}-(c8&gyK-fA)a!*xccr?Iu& zd|Kblffpgo;gcE5XLUi*gI^mUPo6qGJ6bLudDLvOy4oOGTVrf|oOZj7)&`{%FFf-W zjTX2T79U>3wa{om+zb}oAn>2d^V|an!x1(&HW=HvlRO`wlpOj zMr$qOUQFNzSZnF`72PP}=)HTa_jG#y1jVE zetq>DJ2y9fX&5&&OpaHG(sXNCWf`vLMZ-8TEY3m*A1MDjcCEGj?YMscO_y&`Q>f + +Origine: file:///home/svn/repository/spip-zone/_plugins_/abomailmans/trunk +Revision: 77298 +Dernier commit: 2013-10-18 00:00:06 +0200 + +file:///home/svn/repository/spip-zone/_plugins_/abomailmans/trunk +77298 +2013-10-18 00:00:06 +0200 + \ No newline at end of file diff --git a/www/plugins/abomailmans/templates/nouveautes.html b/www/plugins/abomailmans/templates/nouveautes.html new file mode 100755 index 0000000..31a071e --- /dev/null +++ b/www/plugins/abomailmans/templates/nouveautes.html @@ -0,0 +1,67 @@ +#CACHE{0}[(#HTTP_HEADER{Content-type: text/html[; charset=(#CHARSET)]})] +[(#REM) +/********************************************************** +* Ce squelette pour Abomailmains +* Attention a : +* - ne pas envoyer des gabarits de plus de 10Ko +* - ne pas placer de balises d'ouverture ou de fermeture html et body +* ils seront ajoutes automatiquement a l'envoi du mail +* - mettre les style CSS directement dans les balises pour etre sur qu'ils seront interpretes (meme par les webmails) +* - les urls et liens images seront automatiquement converties en absolues +* ex. rubrique5.html -> http://www.monsite.org/rubrique5.html +* Inspire du plugin Spip-Listes +* $Id: nouveautes.html 59659 2012-03-23 14:00:11Z root $ +***********************************************************/] + + + +
    + + + + + + #SET{type, agenda} + + + + +
    +

    + [(#LOGO_SITE_SPIP||image_reduire{100,100}|inserer_attribut{style,'border:0;'}|sinon{#NOM_SITE_SPIP})] +

    + #DESCRIPTIF + + [

    (#ENV{sujet})

    ] + [

    (#ENV{message})

    ] + +
     
    +
    + [(#GET{type}|!={'agenda'}|?{'',' '}) + [
    + [(#DATE_REDAC|nom_jour)] (#DATE_REDAC|affdate_jourcourt)[ - (#DATE_REDAC|affdate{'H:i'})] +
    ] + ] + [

    (#TITRE|textebrut|supprimer_numero)

    ] + + [(#GET{type}|=={'agenda'}|?{'',' '})

    [(#DATE|affdate)]

    ] + + + + +
    [

    (#INTRODUCTION|textebrut|liens_absolus)

    ]
    + [(#LOGO_ARTICLE||image_reduire{100,100}|liens_absolus)] +
    + <:abomailmans:lire_article:> +
    +
     
    +
    +
    +
    diff --git a/www/plugins/abomailmans/templates/nouveautes.txt.html b/www/plugins/abomailmans/templates/nouveautes.txt.html new file mode 100644 index 0000000..b31aee3 --- /dev/null +++ b/www/plugins/abomailmans/templates/nouveautes.txt.html @@ -0,0 +1,38 @@ +#CACHE{0}[(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})] +[(#REM) +/********************************************************** +* Ce squelette pour Abomailmains +* Attention a : +* - ne pas envoyer des gabarits de plus de 10Ko +* - les urls et liens images seront automatiquement converties en absolues +* ex. rubrique5.html -> http://www.monsite.org/rubrique5.html +* Inspire du plugin Spip-Listes +* $Id: nouveautes.html 44651 2011-02-14 10:33:12Z yffic@lefourneau.com $ +***********************************************************/] + + +[(#DESCRIPTIF)] + +[(#ENV{sujet})] +[(#ENV{message})] + + +------------------------------------------------------------------------------ + +#SET{type, agenda} +[(#GET{type}|!={'agenda'}|?{'',' '}) + [[(#DATE_REDAC|nom_jour)] (#DATE_REDAC|affdate_jourcourt)[ - (#DATE_REDAC|affdate{'H:i'})]] +] +[(#TITRE|textebrut|supprimer_numero)] +[(#GET{type}|=={'agenda'}|?{'',' '})[(#DATE|affdate)]] + > [(#TITRE|couper{80})] +[(#INTRODUCTION|textebrut|liens_absolus)] +<:abomailmans:lire_article:> : [(#URL_ARTICLE|url_absolue)] + +------------------------------------------------------------------------------ + +------------------------------------------------------------------------------ + +[(#NOM_SITE_SPIP|textebrut)] (#URL_SITE_SPIP) + +[(#FILTRE{supprimer_tags|filtrer_entites|trim})] \ No newline at end of file diff --git a/www/plugins/abomailmans/templates/nouveautes_fr_en.html b/www/plugins/abomailmans/templates/nouveautes_fr_en.html new file mode 100644 index 0000000..24ce9dc --- /dev/null +++ b/www/plugins/abomailmans/templates/nouveautes_fr_en.html @@ -0,0 +1,98 @@ +#CACHE{0}[(#HTTP_HEADER{Content-type: text/html[; charset=(#CHARSET)]})] +[(#REM) +/********************************************************** +* Ce squelette pour Abomailmains +* Attention a : +* - ne pas envoyer des gabarits de plus de 10Ko +* - ne pas placer de balises d'ouverture ou de fermeture html et body +* ils seront ajoutes automatiquement a l'envoi du mail +* - mettre les style CSS directement dans les balises pour etre sur qu'ils seront interpretes (meme par les webmails) +* - les urls et liens images seront automatiquement converties en absolues +* ex. rubrique5.html -> http://www.monsite.org/rubrique5.html +* Inspire du plugin Spip-Listes +* $Id: nouveautes.html 44651 2011-02-14 10:33:12Z yffic@lefourneau.com $ +***********************************************************/] +#SET{tableau_nouveautes,#ARRAY} + + #SET{tableau_nouveautes, #GET{tableau_nouveautes}|push{#ID_ARTICLE}} + + + + +
    + + + + + + + + + + + + + + +
    +

    + [(#LOGO_SITE_SPIP||image_reduire{100,100}|inserer_attribut{style,'border:0;'}|sinon{#NOM_SITE_SPIP})] +

    +
    + + + + +
    + [(#DESCRIPTIF*|extraire_multi{fr}|propre)] + + [

    (#ENV*{sujet}|extraire_multi{fr})

    ] + [

    (#ENV*{message}|extraire_multi{fr})

    ] + +
      + [(#DESCRIPTIF*|extraire_multi{en}|propre)] + + [

    (#ENV*{sujet}|extraire_multi{en})

    ] + [

    (#ENV*{message}|extraire_multi{en})

    ] + +
    +
     
    +
    + + + + +
    + + [

    (#TITRE|textebrut|supprimer_numero)

    ] +
    [(#DATE|affdate)]
    + + [

    (#INTRODUCTION{150}|textebrut|liens_absolus)

    +

    Lire l'article

    ] + [(#SET{logo,#LOGO_ARTICLE||image_reduire{100,100}|liens_absolus})] + +
    + [(#GET{logo})] + + + [

    (#TITRE|textebrut|supprimer_numero)

    ] +
    [(#DATE|affdate)]
    + + [

    (#INTRODUCTION{150}|textebrut|liens_absolus)

    +

    Read the article

    ] + +
    +
     
    +
    +
    diff --git a/www/plugins/abomailmans/templates/nouveautes_fr_en.txt.html b/www/plugins/abomailmans/templates/nouveautes_fr_en.txt.html new file mode 100644 index 0000000..6d5987d --- /dev/null +++ b/www/plugins/abomailmans/templates/nouveautes_fr_en.txt.html @@ -0,0 +1,58 @@ +#CACHE{0}[(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})] +[(#REM) +/********************************************************** +* Ce squelette pour Abomailmains +* Attention a : +* - ne pas envoyer des gabarits de plus de 10Ko +* - les urls et liens images seront automatiquement converties en absolues +* ex. rubrique5.html -> http://www.monsite.org/rubrique5.html +* Inspire du plugin Spip-Listes +* $Id: nouveautes.html 44651 2011-02-14 10:33:12Z yffic@lefourneau.com $ +***********************************************************/] + + +[(#DESCRIPTIF*|extraire_multi{fr}|propre)] + +[(#ENV*{sujet}|extraire_multi{fr})] +[(#ENV*{message}|extraire_multi{fr})] + + +------------------------------------------------------------------------------ + + +[(#SURTITRE|textebrut|supprimer_numero) :] +[(#TITRE|textebrut|supprimer_numero)] +[(#DATE|affdate)] + > [(#TITRE*|extraire_multi{fr}|couper{80})] +[(#INTRODUCTION|textebrut|liens_absolus)] +Lire l'article : [(#URL_ARTICLE|url_absolue)] +------------------------------------------------------------------------------ + + +[(#NOM_SITE_SPIP*|extraire_multi{fr}|textebrut)] (#URL_SITE_SPIP) + + +############################################################################## + + +[(#DESCRIPTIF*|extraire_multi{en}|propre)] + +[(#ENV*{sujet}|extraire_multi{en})] +[(#ENV*{message}|extraire_multi{en})] + + +------------------------------------------------------------------------------ + + +[(#SURTITRE|textebrut|supprimer_numero) :] +[(#TITRE|textebrut|supprimer_numero)] +[(#DATE|affdate)] + > [(#TITRE*|extraire_multi{en}|couper{80})] +[(#INTRODUCTION|textebrut|liens_absolus)] +Read the article : [(#URL_ARTICLE|url_absolue)] +------------------------------------------------------------------------------ + + +[(#NOM_SITE_SPIP*|extraire_multi{en}|textebrut)] (#URL_SITE_SPIP) + +[(#FILTRE{supprimer_tags|filtrer_entites|trim})] \ No newline at end of file diff --git a/www/plugins/facteur/classes/facteur.php b/www/plugins/facteur/classes/facteur.php new file mode 100755 index 0000000..daedf1e --- /dev/null +++ b/www/plugins/facteur/classes/facteur.php @@ -0,0 +1,347 @@ + $GLOBALS['meta']['facteur_adresse_envoi'], + 'adresse_envoi_email' => $GLOBALS['meta']['facteur_adresse_envoi_email'], + 'adresse_envoi_nom' => $GLOBALS['meta']['facteur_adresse_envoi_nom'], + 'cc' => $GLOBALS['meta']['facteur_cc'], + 'bcc' => $GLOBALS['meta']['facteur_bcc'], + 'smtp' => $GLOBALS['meta']['facteur_smtp'], + 'smtp_host' => $GLOBALS['meta']['facteur_smtp_host'], + 'smtp_port' => $GLOBALS['meta']['facteur_smtp_port'], + 'smtp_auth' => $GLOBALS['meta']['facteur_smtp_auth'], + 'smtp_username' => $GLOBALS['meta']['facteur_smtp_username'], + 'smtp_password' => $GLOBALS['meta']['facteur_smtp_password'], + 'smtp_secure' => $GLOBALS['meta']['facteur_smtp_secure'], + 'smtp_sender' => $GLOBALS['meta']['facteur_smtp_sender'], + 'filtre_images' => $GLOBALS['meta']['facteur_filtre_images'], + 'filtre_iso_8859' => $GLOBALS['meta']['facteur_filtre_iso_8859'], + ); + $options = array_merge($defaut, $options); + + if (defined('_FACTEUR_DEBUG_SMTP')) { + $this->SMTPDebug = _FACTEUR_DEBUG_SMTP ; + } + if ($options['adresse_envoi'] == 'oui' + AND $options['adresse_envoi_email']) + $this->From = $options['adresse_envoi_email']; + else + $this->From = (isset($GLOBALS['meta']["email_envoi"]) AND $GLOBALS['meta']["email_envoi"])? + $GLOBALS['meta']["email_envoi"] + :$GLOBALS['meta']['email_webmaster']; + + // Si plusieurs emails dans le from, pas de Name ! + if (strpos($this->From,",")===false){ + if ($options['adresse_envoi'] == 'oui' + AND $options['adresse_envoi_nom']) + $this->FromName = $options['adresse_envoi_nom']; + else + $this->FromName = strip_tags(extraire_multi($GLOBALS['meta']['nom_site'])); + } + + $this->CharSet = "utf-8"; + $this->Mailer = 'mail'; + $this->Subject = unicode_to_utf_8(charset2unicode($objet,$GLOBALS['meta']['charset'])); + + //Pour un envoi multiple de mail, $email doit être un tableau avec les adresses. + if (is_array($email)) { + foreach ($email as $cle => $adresseMail) { + if (!$this->AddAddress($adresseMail)) + spip_log("Erreur AddAddress $adresseMail : ".print_r($this->ErrorInfo,true),'facteur'); + } + } + else + if (!$this->AddAddress($email)) + spip_log("Erreur AddAddress $email : ".print_r($this->ErrorInfo,true),'facteur'); + + if (!empty($options['smtp_sender'])) { + $this->Sender = $options['smtp_sender']; + $this->AddCustomHeader("Errors-To: ".$this->Sender); + } + + if (!defined('_TEST_EMAIL_DEST')){ + if (!empty($options['cc'])) { + $this->AddCC( $options['cc'] ); + } + if (!empty($options['bcc'])) { + $this->AddBCC( $options['bcc'] ); + } + } + + if (isset($options['smtp']) AND $options['smtp'] == 'oui') { + $this->Mailer = 'smtp'; + $this->Host = $options['smtp_host']; + $this->Port = $options['smtp_port']; + if ($options['smtp_auth'] == 'oui') { + $this->SMTPAuth = true; + $this->Username = $options['smtp_username']; + $this->Password = $options['smtp_password']; + } + else { + $this->SMTPAuth = false; + } + if (intval(phpversion()) == 5) { + if ($options['smtp_secure'] == 'ssl') + $this->SMTPSecure = 'ssl'; + if ($options['smtp_secure'] == 'tls') + $this->SMTPSecure = 'tls'; + } + } + + if (!empty($message_html)) { + $message_html = unicode_to_utf_8(charset2unicode($message_html,$GLOBALS['meta']['charset'])); + $this->Body = $message_html; + $this->IsHTML(true); + if ($options['filtre_images']) + $this->JoindreImagesHTML(); + $this->UrlsAbsolues(); + } + if (!empty($message_texte)) { + $message_texte = unicode_to_utf_8(charset2unicode($message_texte,$GLOBALS['meta']['charset'])); + if (!$this->Body) { + $this->IsHTML(false); + $this->Body = $message_texte; + } + else { + $this->AltBody = $message_texte; + } + } + + if ($options['filtre_iso_8859']) + $this->ConvertirUtf8VersIso8859(); + + } + + /* + * Transforme du HTML en texte brut, mais proprement + * utilise le filtre facteur_mail_html2text + * @uses facteur_mail_html2text() + * + * @param string $html Le HTML à transformer + * @return string Retourne un texte brut formaté correctement + */ + function html2text($html){ + return facteur_mail_html2text($html); + } + + /** + * Transformer les urls des liens et des images en url absolues + * sans toucher aux images embarquees de la forme "cid:..." + */ + function UrlsAbsolues($base=null){ + include_spip('inc/filtres_mini'); + if (preg_match_all(',(<(a|link)[[:space:]]+[^<>]*href=["\']?)([^"\' ><[:space:]]+)([^<>]*>),imsS', + $this->Body, $liens, PREG_SET_ORDER)) { + foreach ($liens as $lien) { + if (strncmp($lien[3],"cid:",4)!==0){ + $abs = url_absolue($lien[3], $base); + if ($abs <> $lien[3] and !preg_match('/^#/',$lien[3])) + $this->Body = str_replace($lien[0], $lien[1].$abs.$lien[4], $this->Body); + } + } + } + if (preg_match_all(',(<(img|script)[[:space:]]+[^<>]*src=["\']?)([^"\' ><[:space:]]+)([^<>]*>),imsS', + $this->Body, $liens, PREG_SET_ORDER)) { + foreach ($liens as $lien) { + if (strncmp($lien[3],"cid:",4)!==0){ + $abs = url_absolue($lien[3], $base); + if ($abs <> $lien[3]) + $this->Body = str_replace($lien[0], $lien[1].$abs.$lien[4], $this->Body); + } + } + } + } + + function JoindreImagesHTML() { + $image_types = array( + 'gif' => 'image/gif', + 'jpg' => 'image/jpeg', + 'jpeg' => 'image/jpeg', + 'jpe' => 'image/jpeg', + 'bmp' => 'image/bmp', + 'png' => 'image/png', + 'tif' => 'image/tiff', + 'tiff' => 'image/tiff', + 'swf' => 'application/x-shockwave-flash' + ); + $src_found = array(); + $images_embeded = array(); + if (preg_match_all( + '/["\'](([^"\']+)\.('.implode('|', array_keys($image_types)).'))([?][^"\']+)?([#][^"\']+)?["\']/Uims', + $this->Body, $images, PREG_SET_ORDER)) { + + $adresse_site = $GLOBALS['meta']['adresse_site'].'/'; + foreach($images as $im){ + $src_orig = $im[1].$im[4].$im[5]; + if (!isset($src_found[$src_orig])){ // deja remplace ? rien a faire (ie la meme image presente plusieurs fois) + // examiner le src et voir si embedable + $src = $im[1]; + if ($src AND strncmp($src,$adresse_site,strlen($adresse_site))==0) + $src = _DIR_RACINE . substr($src,strlen($adresse_site)); + if ($src + AND !preg_match(",^[a-z0-9]+://,i",$src) + AND ( + file_exists($f=$src) // l'image a ete generee depuis le meme cote que l'envoi + OR (_DIR_RACINE AND file_exists($f=_DIR_RACINE.$src)) // l'image a ete generee dans le public et on est dans le prive + OR (!_DIR_RACINE AND file_exists($f=_DIR_RESTREINT.$src)) // l'image a ete generee dans le prive et on est dans le public + ) + ){ + if (!isset($images_embeded[$f])){ + $extension = strtolower($im[3]); + $header_extension = $image_types[$extension]; + $cid = md5($f); // un id unique pour un meme fichier + $images_embeded[$f] = $cid; // marquer l'image comme traitee, inutile d'y revenir + $this->AddEmbeddedImage($f, $cid, basename($f),'base64',$header_extension); + } + + $this->Body = str_replace($src_orig, "cid:".$images_embeded[$f], $this->Body); + $src_found[$src_orig] = $f; + } + } + } + } + } + + + /** + * Compat ascendante, obsolete + */ + function ConvertirStylesEnligne() { + $this->Body = facteur_convertir_styles_inline($this->Body); + } + + + function safe_utf8_decode($text,$mode='texte_brut') { + if (!is_utf8($text)) + return ($text); + + if (function_exists('iconv') && $mode == 'texte_brut') { + $text = str_replace('’',"'",$text); + $text = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text); + return str_replace('’',"'",$text); + } + else { + if ($mode == 'texte_brut') { + $text = str_replace('’',"'",$text); + } + $text = unicode2charset(utf_8_to_unicode($text),'iso-8859-1'); + return str_replace('’',"'",$text); + } + } + + function ConvertirUtf8VersIso8859() { + $this->CharSet = 'iso-8859-1'; + $this->Body = str_ireplace('charset=utf-8', 'charset=iso-8859-1', $this->Body); + $this->Body = $this->safe_utf8_decode($this->Body,'html'); + $this->AltBody = $this->safe_utf8_decode($this->AltBody); + $this->Subject = $this->safe_utf8_decode($this->Subject); + $this->FromName = $this->safe_utf8_decode($this->FromName); + } + + function ConvertirAccents() { + // tableau à compléter au fur et à mesure + $cor = array( + 'à' => 'à', + 'â' => 'â', + 'ä' => 'ä', + 'ç' => 'ç', + 'é' => 'é', + 'è' => 'è', + 'ê' => 'ê', + 'ë' => 'ë', + 'î' => 'î', + 'ï' => 'ï', + 'ò' => 'ò', + 'ô' => 'ô', + 'ö' => 'ö', + 'ù' => 'ù', + 'û' => 'û', + 'œ' => 'œ', + '€' => '€' + ); + + $this->Body = strtr($this->Body, $cor); + } + public function Send() { + ob_start(); + $retour = parent::Send(); + $error = ob_get_contents(); + ob_end_clean(); + if( !empty($error) ) { + spip_log("Erreur Facteur->Send : $error",'facteur.err'); + } + return $retour; + } + public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream') { + ob_start(); + $retour = parent::AddAttachment($path, $name, $encoding, $type); + $error = ob_get_contents(); + ob_end_clean(); + if( !empty($error) ) { + spip_log("Erreur Facteur->AddAttachment : $error",'facteur.err'); + } + return $retour; + } + public function AddReplyTo($address, $name = '') { + ob_start(); + $retour = parent::AddReplyTo($address, $name); + $error = ob_get_contents(); + ob_end_clean(); + if( !empty($error) ) { + spip_log("Erreur Facteur->AddReplyTo : $error",'facteur.err'); + } + return $retour; + } + public function AddBCC($address, $name = '') { + ob_start(); + $retour = parent::AddBCC($address, $name); + $error = ob_get_contents(); + ob_end_clean(); + if( !empty($error) ) { + spip_log("Erreur Facteur->AddBCC : $error",'facteur.err'); + } + return $retour; + } + public function AddCC($address, $name = '') { + ob_start(); + $retour = parent::AddCC($address, $name); + $error = ob_get_contents(); + ob_end_clean(); + if( !empty($error) ) { + spip_log("Erreur Facteur->AddCC : $error",'facteur.err'); + } + return $retour; + } +} + +?> diff --git a/www/plugins/facteur/emails/css.html b/www/plugins/facteur/emails/css.html new file mode 100755 index 0000000..ace3aa9 --- /dev/null +++ b/www/plugins/facteur/emails/css.html @@ -0,0 +1,63 @@ + \ No newline at end of file diff --git a/www/plugins/facteur/emails/inc-bas.html b/www/plugins/facteur/emails/inc-bas.html new file mode 100755 index 0000000..b8a8c19 --- /dev/null +++ b/www/plugins/facteur/emails/inc-bas.html @@ -0,0 +1,22 @@ + +  + +[ +[(#NOM_SITE_SPIP|textebrut)] + +] +  + + + + + + + +
    + + + + + + \ No newline at end of file diff --git a/www/plugins/facteur/emails/inc-button.html b/www/plugins/facteur/emails/inc-button.html new file mode 100644 index 0000000..08fc0d3 --- /dev/null +++ b/www/plugins/facteur/emails/inc-button.html @@ -0,0 +1,23 @@ +[(#REM) + Bulletproof button code for email html + from http://emailbtn.net/ + + Arguments : + url + label + color (#ffffff par defaut) + bgcolor (#556270 par defaut) + bordercolor (#1e3650 par defaut) + borderradius (4px par defaut) + width (200px par defaut) + height (40px par defaut) + bgurl (rien par defaut) +] +#ENV*{label} \ No newline at end of file diff --git a/www/plugins/facteur/emails/inc-haut.html b/www/plugins/facteur/emails/inc-haut.html new file mode 100755 index 0000000..21f4ee1 --- /dev/null +++ b/www/plugins/facteur/emails/inc-haut.html @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + +
    + + +
    + + + + + + +[ + + +] + +
     
    [(#NOM_SITE_SPIP|textebrut)]
      diff --git a/www/plugins/facteur/emails/test_email_html.html b/www/plugins/facteur/emails/test_email_html.html new file mode 100755 index 0000000..481b417 --- /dev/null +++ b/www/plugins/facteur/emails/test_email_html.html @@ -0,0 +1,28 @@ +#HTTP_HEADER{Content-Type:text/html} +#INCLURE{fond=emails/inc-haut} + +

    <:facteur:corps_email_de_test:>

    + +

    <:facteur:version_html:>

    + + + [(#TEXTE|image_reduire{550,0})] +
    + [(#NOTES|image_reduire{550,0})] + + + [(#TEXTE|image_reduire{550,0})] +
    + [(#NOTES|image_reduire{550,0})] + + + + + [(#MODELE{img}|image_reduire{550,0})] + + + + [(#MODELE{doc}|image_reduire{550,0})] + + +#INCLURE{fond=emails/inc-bas} \ No newline at end of file diff --git a/www/plugins/facteur/emails/test_email_texte.html b/www/plugins/facteur/emails/test_email_texte.html new file mode 100755 index 0000000..e8953af --- /dev/null +++ b/www/plugins/facteur/emails/test_email_texte.html @@ -0,0 +1,12 @@ +<:facteur:corps_email_de_test:> +-------------------------------- + +<:facteur:version_texte:> + + + [(#TEXTE|textebrut)] + + + [(#TEXTE|textebrut)] + + diff --git a/www/plugins/facteur/emails/texte.html b/www/plugins/facteur/emails/texte.html new file mode 100644 index 0000000..e8ed065 --- /dev/null +++ b/www/plugins/facteur/emails/texte.html @@ -0,0 +1,111 @@ + + + + + [(#ENV*{sujet})] + + + + +
    + [
    (#ENV{intro,''})
    ] + + + + +
    + + + + + + + + +
    #NOM_SITE_SPIP
    + + + + + +
    + + + + + + + + + +
    +
    + [(#ENV*{html,#ENV*{texte}|replace{'<','<'}|facteur_nl2br_si_pas_autobr|propre|replace{'
    \s*
    (\s*
    )+?','

    '}|concat{'

    '}})] +
    +
    +
    +
    + — #SET{site,#NOM_SITE_SPIP}<:facteur:email_envoye_par{site=#GET{site}}:> +
    +
    + +
    + +
    +
    +
    +
    + + diff --git a/www/plugins/facteur/erreurs et exceptions.txt b/www/plugins/facteur/erreurs et exceptions.txt new file mode 100644 index 0000000..192c8a2 --- /dev/null +++ b/www/plugins/facteur/erreurs et exceptions.txt @@ -0,0 +1,42 @@ +Avril 2012 +Yffic + +Petit point sur la gestion des erreurs et les exceptions de phpMailer 5. "Parce que c'est pénible de ne pas savoir pourquoi ça ne marche pas" + +Constat : +- Les problèmes de connexion smtp ne sont pas affichées dans l'interface privée de SPIP après un test d'envoi via la page de config de Facteur. On a juste le message "Erreur: consultez le fichier log pour plus de détails" dans un cadre rouge. + +- Dans formulaires/configurer_facteur.php, facteur_envoyer_mail_test() renvoie true/false. Donc on n'a pas accès aux messages d'erreurs de phpMailer dans l'espace privé. + +- La gestion des exceptions via la classe phpmailerException n'est pas activée par défaut dans phpMailer (Cf le constructeur). Elle sert surtout à faire remonter les messages d'erreur. + +- Après avoir activé la gestion des exceptions et le mode debug de la classe smtp (qui ne fait que des echo), on peut remarquer que les messages d'erreurs affichés par les exceptions dans phpMailer ne reprennent pas les vraies causes d'erreurs relevées dans la classe smtp. Si par exemple, on n'active pas ssl dans php, le debug "echo" affiche "SMTP -> ERROR: Failed to connect to server: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?", mais l'exception se contente d'un "SMTP Error: Could not connect to SMTP host" dans le fichier log. C'est quand même dommage de ne pas avoir accès au premier message d'erreur. + +- Voir aussi : +http://code.google.com/a/apache-extras.org/p/phpmailer/issues/detail?id=50 +http://code.google.com/a/apache-extras.org/p/phpmailer/issues/detail?id=5 + +En attendant une éventuelle amélioration de phpMailer, on peut : + +- Upgrader phpMailer 5.2.1. J'ai testé, ca ne change rien au niveau de la gestion des messages d'erreur, mais ça corrige d'autres trucs. +05/04/12 : Un cas foireux avec la version 5.2.1 : Si comme hôte on met un serveur ssl (ssl0.ovh.net), mais qu'on ne coche pas ssl au dessous, lors d'un test d'envoi, la roue Ajax tourne en rond indéfiniment... Pas de retour, aucune trace meme avec de simples echo... Je pense que ca tourne en rond au niveau de la fonction feof de get_lines. Cf les Notes de http://php.net/manual/fr/function.feof.php... Il n'est pas donc pas si urgent d'upgrader... + +- Redéfinir dans la classe Facteur, les fonctions Send, AddAttachment, AddReplyTo, AddBCC, AddCC, de la classe PhpMailer de cette façon : +public function Send() { + ob_start(); + parent::Send(); + $error = ob_get_contents(); + ob_end_clean(); + if( !empty($error) ) { + spip_log("Erreur Facteur->Send : $error",'facteur.err'); + } +} +Avec une constante pour activer ce mode et rajouter au début du constructeur de Facteur : +if (defined('_FACTEUR_DEBUG_SMTP')) { + $this->SMTPDebug = _FACTEUR_DEBUG_SMTP ; +} +Ajouter la ligne qui suit dans mes_options.php permet donc de retrouver les erreurs dans le fichier facteur.err.log. +define('_FACTEUR_DEBUG_SMTP','5'); // Le niveau peut varier de 1 à 5, 5 affichant tout le dialogue lors de la connexion smtp avec le serveur + + + diff --git a/www/plugins/facteur/facteur_administrations.php b/www/plugins/facteur/facteur_administrations.php new file mode 100755 index 0000000..1b0467a --- /dev/null +++ b/www/plugins/facteur/facteur_administrations.php @@ -0,0 +1,83 @@ + diff --git a/www/plugins/facteur/facteur_fonctions.php b/www/plugins/facteur/facteur_fonctions.php new file mode 100755 index 0000000..9c09ca4 --- /dev/null +++ b/www/plugins/facteur/facteur_fonctions.php @@ -0,0 +1,387 @@ + + * le corps est entre + * une eventuelle intro peut etre fournie entre + * + * @param string $texte_ou_html + * @return string + */ +function facteur_email_wrap_to_html($texte_ou_html){ + $texte_ou_html = trim($texte_ou_html); + // attention : si pas de contenu on renvoi du vide aussi (mail vide = mail vide) + if (!strlen(trim($texte_ou_html))) + return $texte_ou_html; + + $contexte = array("sujet"=>"","texte"=>"","intro"=>""); + + // tester si le mail est en html (simplifie) + if (substr($texte_ou_html,0,1)=="<" + AND substr($texte_ou_html,-1,1)==">" + AND stripos($texte_ou_html,"")!==false){ + + // dans ce cas on ruse un peu : extraire le sujet du title + $sujet = ""; + if (preg_match(",(.*),Uims",$texte_ou_html,$m)){ + $contexte['sujet'] = $m[1]; + $texte_ou_html = preg_replace(",(.*),Uims","",$texte_ou_html,1); + $texte_ou_html = trim($texte_ou_html); + } + if (preg_match(",(.*),Uims",$texte_ou_html,$m)){ + $contexte['intro'] = $m[1]; + $texte_ou_html = preg_replace(",(.*),Uims","",$texte_ou_html,1); + $texte_ou_html = trim($texte_ou_html); + } + $contexte['html'] = preg_replace(",,ims","",$texte_ou_html); + } + else { + // la premiere ligne est toujours le sujet + $texte_ou_html = explode("\n",$texte_ou_html); + $contexte['sujet'] = trim(array_shift($texte_ou_html)); + $contexte['texte'] = trim(implode("\n",$texte_ou_html)); + } + + // attention : si pas de contenu on renvoi du vide aussi (mail vide = mail vide) + if (!strlen(trim(implode("",$contexte)))) + return ""; + + return recuperer_fond("emails/texte",$contexte); +} + + /* + + Written by Eric Dols - edols@auditavenue.com + + You may freely use or modify this, provided + you leave credits to the original coder. + Feedback about (un)successfull uses, bugs and improvements done + are much appreciated, but don't expect actual support. + + PURPOSE OF THIS FUNCTION + It is designed to process html emails relying + on a css stylesheet placed in the for layout in + order to enhance compatibility with email clients, + including webmail services. + Provided you use minimal css, you can keep styling separate + from the content in your email template, and let this function + "inject" those styles inline in your email html tags on-the-fly, + just before sending. + Technically, it grabs the style declarations found in the + section and inserts each declaration inline, + inside the corresponding html tags in the email message. + + Supports both HTML and XHTML markup seamlessly. Thus + tolerant to email message writers using non-xhtml tag, + even when template is xhtml compliant (e.g. they would + add instead of a xhtml compliant ). + + NEW 10 dec. 2003: + - code revised, including a few regexp bugs fixed. + - multiple class for a tag are now allowed

    + - all unsupported css styles are now moved to the body section (not just a:hover etc...) + + USE + Add this function to a function library include, like "inline.inc" + and include it near the beginning of your php page: + require ("inline.inc"); + + load the html source of message into a variable + like $html_source and process it using: + $html_source = sheet2inline($html_source) + + + STYLE DEFINITIONS SUPPORTED + TAG { ... } + TAG1, TAG2, ... { ... } + TAG.class { ... } + .class { ...) + TAG:pseudo { ... } + + + CSS definitions may be freely formatted (spaces, tabs, linefeeds...), + they are converted to oneliners before inserting them inline in the html tags. + + .class definitions are processed AFTER tag definitions, + thus appended inline after any existing tag styling to + preserve the normal css priority behavior. + + Existing style="..." attributes in tags are NOT stripped. However they MUST + be with double quotes. If not, an addtional style="..." attribute will be added + + + KNOWN LIMITATIONS + - style info should be placed in section. I believe + it shouldnt be too hard to modify to point to an external + stylesheet instead. + - no support (yet?): + * chains like P UL LI { .... } or P UL LI.class { .... } + * #divname p { ... } and + * a:hover, a:visited {...} multiple class:pseudo + They require a significantly more complicated processing likely + based on stylesheet and document trees parsing. + Many email clients don't handle more than what is supported + by this script anyway. + - pseudo-classes like a:hover {...} can't be inserted inline + in the html tags: they are moved to a \n", $body); + } + // append a copy of the pseudo-element declaration to that body style section + $styledefinition = trim($styles[5][$i]); + $styledefinition = preg_replace ("!\s+!mi", " ", $styledefinition ); // convert style definition to a one-liner (optional) + $declaration = $styles[1][$i].trim($styles[2][$i]).$styles[3][$i].trim($styles[4][$i])." { ".$styledefinition." }"; + $body = preg_replace ("!(]*>\s*]*>\s*<\!\-\-[^>]*)"."(\s*\-\->\s*)!si", "\$1".$declaration."\n\$2", $body); + $styles[6][$i]= 2; // mark as moved to (.*)!si", "\$1\$2" , $body); + + // check what styles have been injected +# print_r($styles); + + return $body; +} + +/** + * facteur_addstyle + * @author Eric Dols + * + * @param $matches + * @return string + */ +function facteur_addstyle($matches) { + + // $matches[1]=tag, $matches[2]=tag attributes (if any), $matches[3]=xhtml closing (if any) + + // variables values set in calling function + global $styledefinition, $styletag, $styleclass; + + // convert the style definition to a one-liner + $styledefinition = preg_replace ("!\s+!mi", " ", $styledefinition ); + // convert all double-quotes to single-quotes + $styledefinition = preg_replace ('/"/','\'', $styledefinition ); + + if (preg_match ("/style\=/i", $matches[2])) { + // add styles to existing style attribute if any already in the tag + $pattern = "!(.* style\=)[\"]([^\"]*)[\"](.*)!mi"; + $replacement = "\$1".'"'."\$2 ".$styledefinition.'"'."\$3"; + $attributes = preg_replace ($pattern, $replacement , $matches[2]); + } else { + // otherwise add new style attribute to tag (none was present) + $attributes = $matches[2].' style="'.$styledefinition.'"'; + } + + if ($styleclass!="") { + // if we were injecting a class style, remove the now useless class attribute from the html tag + + // Single class in tag case (class="classname"): remove class attribute altogether + $pattern = "!(.*) class\=['\"]".$styleclass."['\"](.*)!mi"; + $replacement = "\$1\$2"; + $attributes = preg_replace ( $pattern, $replacement, $attributes); + + // Multiple classes in tag case (class="classname anotherclass..."): remove class name from class attribute. + // classes are injected inline and removed by order of appearance in stylesheet + // exact same behavior as where last declared class attributes in