From 4cd3913975757b6fb64a57e4e236c58ed9b0c3b7 Mon Sep 17 00:00:00 2001 From: Ludovic CHEVALIER Date: Wed, 13 Jan 2021 09:17:50 +0100 Subject: [PATCH] [SKEL][PLUGINS] +reservation evenements --- .gitmodules | 33 + www/plugins/agenda | 1 + www/plugins/calendrier_mini | 1 + www/plugins/crayons | 1 + www/plugins/crayons/action/crayons.php | 34 - www/plugins/crayons/action/crayons_html.php | 457 - www/plugins/crayons/action/crayons_store.php | 541 - www/plugins/crayons/action/crayons_upload.php | 62 - .../crayons/controleurs/article_intro.html | 11 - .../crayons/controleurs/article_intro2.html | 17 - .../crayons/controleurs/article_intro3.php | 38 - .../controleurs/article_introduction.html | 54 - .../controleurs/article_introduction.php | 26 - .../crayons/controleurs/article_texte.html | 17 - .../crayons/controleurs/auteur_email.html | 11 - .../crayons/controleurs/auteur_nom.html | 11 - .../crayons/controleurs/auteur_qui.html | 24 - .../crayons/controleurs/breve_hyperlien.html | 9 - .../crayons/controleurs/document_fichier.html | 46 - www/plugins/crayons/controleurs/extra.html | 38 - .../crayons/controleurs/extra_fonctions.php | 8 - .../crayons/controleurs/forum_email.html | 11 - .../crayons/controleurs/forum_id_article.html | 33 - .../crayons/controleurs/forum_nom.html | 11 - .../crayons/controleurs/forum_qui.html | 15 - .../crayons/controleurs/hyperlien.html | 104 - .../crayons/controleurs/id_parent.html | 31 - www/plugins/crayons/controleurs/logo.html | 49 - .../controleurs/mots_article_brut.html | 20 - www/plugins/crayons/controleurs/portfolio.php | 26 - .../controleurs/rubrique_introduction.html | 41 - .../controleurs/rubrique_introduction.php | 29 - .../crayons/controleurs/signature_email.html | 11 - .../crayons/controleurs/signature_nom.html | 10 - .../crayons/controleurs/signature_qui.html | 16 - www/plugins/crayons/controleurs/statut.html | 26 - .../controleurs/syndic_article_hyperlien.html | 17 - www/plugins/crayons/controleurs/vignette.html | 47 - www/plugins/crayons/crayons.css | 40 - www/plugins/crayons/crayons.js.html | 33 - www/plugins/crayons/crayons.js_fonctions.php | 48 - www/plugins/crayons/crayons_fonctions.php | 480 - www/plugins/crayons/fonds/cfg_crayons.html | 11 - .../formulaires/configurer_crayons.html | 118 - www/plugins/crayons/images/annuler-16.png | Bin 669 -> 0 bytes www/plugins/crayons/images/changed.png | Bin 217 -> 0 bytes www/plugins/crayons/images/crayon-128.png | Bin 8035 -> 0 bytes www/plugins/crayons/images/crayon-24.png | Bin 1116 -> 0 bytes www/plugins/crayons/images/crayon-32.png | Bin 1251 -> 0 bytes www/plugins/crayons/images/crayon.png | Bin 1886 -> 0 bytes www/plugins/crayons/images/crayon20.png | Bin 438 -> 0 bytes www/plugins/crayons/images/edit.png | Bin 163 -> 0 bytes www/plugins/crayons/images/ok-16.png | Bin 451 -> 0 bytes www/plugins/crayons/images/pencil.png | Bin 213 -> 0 bytes www/plugins/crayons/images/resizer.png | Bin 179 -> 0 bytes www/plugins/crayons/images/searching.gif | Bin 1093 -> 0 bytes www/plugins/crayons/inc/compat_crayons.php | 103 - www/plugins/crayons/inc/crayons-json.php | 93 - www/plugins/crayons/inc/crayons.php | 720 -- www/plugins/crayons/js/crayons-fade.js | 101 - www/plugins/crayons/js/crayons.js | 585 - www/plugins/crayons/js/jquery.form.js | 1277 -- .../crayons/js/jquery.html5uploader.js | 157 - www/plugins/crayons/js/jquery.js | 10351 ---------------- www/plugins/crayons/js/resizehandle.js | 32 - www/plugins/crayons/js/uploader.js.html | 70 - www/plugins/crayons/lang/crayons.xml | 82 - www/plugins/crayons/lang/crayons_ar.php | 41 - www/plugins/crayons/lang/crayons_ast.php | 79 - www/plugins/crayons/lang/crayons_br.php | 41 - www/plugins/crayons/lang/crayons_ca.php | 76 - www/plugins/crayons/lang/crayons_de.php | 91 - www/plugins/crayons/lang/crayons_en.php | 91 - www/plugins/crayons/lang/crayons_eo.php | 41 - www/plugins/crayons/lang/crayons_es.php | 92 - www/plugins/crayons/lang/crayons_eu.php | 37 - www/plugins/crayons/lang/crayons_fa.php | 82 - www/plugins/crayons/lang/crayons_fr.php | 90 - www/plugins/crayons/lang/crayons_fr_tu.php | 88 - www/plugins/crayons/lang/crayons_gl.php | 44 - www/plugins/crayons/lang/crayons_it.php | 79 - www/plugins/crayons/lang/crayons_it_fem.php | 41 - www/plugins/crayons/lang/crayons_km.php | 24 - www/plugins/crayons/lang/crayons_lb.php | 41 - www/plugins/crayons/lang/crayons_nl.php | 91 - www/plugins/crayons/lang/crayons_oc_lnc.php | 41 - .../crayons/lang/crayons_oc_ni_mis.php | 92 - www/plugins/crayons/lang/crayons_pt_br.php | 90 - www/plugins/crayons/lang/crayons_ro.php | 41 - www/plugins/crayons/lang/crayons_ru.php | 86 - www/plugins/crayons/lang/crayons_sk.php | 91 - www/plugins/crayons/lang/crayons_sv.php | 41 - www/plugins/crayons/lang/crayons_tr.php | 41 - www/plugins/crayons/lang/crayons_tw.php | 41 - www/plugins/crayons/lang/crayons_zh.php | 65 - www/plugins/crayons/lang/crayons_zh_tw.php | 41 - www/plugins/crayons/lang/paquet-crayons.xml | 34 - .../crayons/lang/paquet-crayons_ar.php | 19 - .../crayons/lang/paquet-crayons_de.php | 16 - .../crayons/lang/paquet-crayons_en.php | 16 - .../crayons/lang/paquet-crayons_es.php | 16 - .../crayons/lang/paquet-crayons_fr.php | 14 - .../crayons/lang/paquet-crayons_fr_tu.php | 16 - .../crayons/lang/paquet-crayons_it.php | 16 - .../crayons/lang/paquet-crayons_nl.php | 16 - .../crayons/lang/paquet-crayons_oc_ni_mis.php | 16 - .../crayons/lang/paquet-crayons_pt_br.php | 16 - .../crayons/lang/paquet-crayons_ru.php | 16 - .../crayons/lang/paquet-crayons_sk.php | 16 - .../class.JavaScriptPacker.php | 773 -- .../crayons/modeles/uploader_item.html | 4 - .../crayons/modeles/uploader_liste.html | 112 - www/plugins/crayons/paquet.xml | 21 - www/plugins/crayons/plugin.xml | 59 - .../contenu/configurer_crayons.html | 5 - www/plugins/crayons/svn.revision | 10 - www/plugins/crayons/tetecrayons.php | 17 - www/plugins/crayons/vues/article_intro.html | 9 - www/plugins/crayons/vues/article_intro2.html | 9 - www/plugins/crayons/vues/article_intro3.html | 9 - .../crayons/vues/article_introduction.html | 9 - www/plugins/crayons/vues/article_texte.html | 23 - .../crayons/vues/document_fichier.html | 11 - www/plugins/crayons/vues/extra.html | 31 - www/plugins/crayons/vues/extra_fonctions.php | 9 - www/plugins/crayons/vues/hyperlien.html | 30 - www/plugins/crayons/vues/id_parent.html | 11 - www/plugins/crayons/vues/logo.html | 37 - .../crayons/vues/mots_article_brut.html | 17 - www/plugins/crayons/vues/qui.html | 21 - .../crayons/vues/rubrique_id_parent.html | 5 - .../crayons/vues/rubrique_introduction.html | 9 - www/plugins/crayons/vues/vignette.html | 18 - www/plugins/facteur | 1 + www/plugins/facteur/classes/facteur.php | 462 - www/plugins/facteur/emails/css.html | 63 - www/plugins/facteur/emails/inc-bas.html | 22 - www/plugins/facteur/emails/inc-button.html | 24 - www/plugins/facteur/emails/inc-haut.html | 31 - .../facteur/emails/test_email_html.html | 27 - .../facteur/emails/test_email_texte.html | 12 - www/plugins/facteur/emails/texte.html | 112 - www/plugins/facteur/erreurs et exceptions.txt | 42 - .../facteur/facteur_administrations.php | 80 - www/plugins/facteur/facteur_fonctions.php | 406 - .../facteur/facteur_ieconfig_metas.php | 18 - www/plugins/facteur/facteur_pipelines.php | 33 - .../formulaires/configurer_facteur.html | 231 - .../formulaires/configurer_facteur.php | 223 - www/plugins/facteur/inc/envoyer_mail.php | 299 - www/plugins/facteur/inc/facteur_classes.php | 16 - www/plugins/facteur/lang/facteur.xml | 42 - www/plugins/facteur/lang/facteur_de.php | 86 - www/plugins/facteur/lang/facteur_en.php | 86 - www/plugins/facteur/lang/facteur_es.php | 79 - www/plugins/facteur/lang/facteur_fa.php | 79 - www/plugins/facteur/lang/facteur_fr.php | 84 - www/plugins/facteur/lang/facteur_fr_tu.php | 79 - www/plugins/facteur/lang/facteur_it.php | 78 - www/plugins/facteur/lang/facteur_nl.php | 86 - .../facteur/lang/facteur_oc_ni_mis.php | 79 - www/plugins/facteur/lang/facteur_pt_br.php | 83 - www/plugins/facteur/lang/facteur_sk.php | 80 - www/plugins/facteur/lang/paquet-facteur.xml | 27 - .../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_fr_tu.php | 16 - .../facteur/lang/paquet-facteur_nl.php | 16 - .../facteur/lang/paquet-facteur_pt_br.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 | 23 - www/plugins/facteur/phpmailer-php5/LICENSE | 504 - .../phpmailer-php5/PHPMailerAutoload.php | 49 - www/plugins/facteur/phpmailer-php5/VERSION | 1 - .../phpmailer-php5/class.phpmailer.php | 4025 ------ .../phpmailer-php5/class.phpmaileroauth.php | 197 - .../class.phpmaileroauthgoogle.php | 77 - .../facteur/phpmailer-php5/class.pop3.php | 407 - .../facteur/phpmailer-php5/class.smtp.php | 1249 -- .../facteur/phpmailer-php5/composer.json | 44 - .../facteur/phpmailer-php5/composer.lock | 3576 ------ .../phpmailer-php5/extras/EasyPeasyICS.php | 148 - .../facteur/phpmailer-php5/extras/README.md | 17 - .../phpmailer-php5/extras/htmlfilter.php | 1159 -- .../extras/ntlm_sasl_client.php | 185 - .../phpmailer-php5/get_oauth_token.php | 162 - .../language/phpmailer.lang-am.php | 26 - .../language/phpmailer.lang-ar.php | 27 - .../language/phpmailer.lang-az.php | 26 - .../language/phpmailer.lang-be.php | 26 - .../language/phpmailer.lang-bg.php | 26 - .../language/phpmailer.lang-ca.php | 26 - .../language/phpmailer.lang-ch.php | 26 - .../language/phpmailer.lang-cs.php | 25 - .../language/phpmailer.lang-da.php | 26 - .../language/phpmailer.lang-de.php | 25 - .../language/phpmailer.lang-el.php | 25 - .../language/phpmailer.lang-eo.php | 25 - .../language/phpmailer.lang-es.php | 26 - .../language/phpmailer.lang-et.php | 27 - .../language/phpmailer.lang-fa.php | 27 - .../language/phpmailer.lang-fi.php | 27 - .../language/phpmailer.lang-fo.php | 26 - .../language/phpmailer.lang-fr.php | 29 - .../language/phpmailer.lang-gl.php | 26 - .../language/phpmailer.lang-he.php | 26 - .../language/phpmailer.lang-hr.php | 26 - .../language/phpmailer.lang-hu.php | 26 - .../language/phpmailer.lang-id.php | 26 - .../language/phpmailer.lang-it.php | 27 - .../language/phpmailer.lang-ja.php | 27 - .../language/phpmailer.lang-ka.php | 26 - .../language/phpmailer.lang-ko.php | 26 - .../language/phpmailer.lang-lt.php | 26 - .../language/phpmailer.lang-lv.php | 26 - .../language/phpmailer.lang-ms.php | 26 - .../language/phpmailer.lang-nb.php | 25 - .../language/phpmailer.lang-nl.php | 26 - .../language/phpmailer.lang-pl.php | 26 - .../language/phpmailer.lang-pt.php | 26 - .../language/phpmailer.lang-pt_br.php | 28 - .../language/phpmailer.lang-ro.php | 26 - .../language/phpmailer.lang-ru.php | 27 - .../language/phpmailer.lang-sk.php | 26 - .../language/phpmailer.lang-sl.php | 26 - .../language/phpmailer.lang-sr.php | 26 - .../language/phpmailer.lang-sv.php | 26 - .../language/phpmailer.lang-tr.php | 29 - .../language/phpmailer.lang-uk.php | 27 - .../language/phpmailer.lang-vi.php | 26 - .../language/phpmailer.lang-zh.php | 28 - .../language/phpmailer.lang-zh_cn.php | 27 - .../contenu/configurer_facteur.html | 5 - .../prive/themes/spip/images/facteur-16.png | Bin 715 -> 0 bytes .../prive/themes/spip/images/facteur-24.png | Bin 1453 -> 0 bytes .../prive/themes/spip/images/facteur-32.png | Bin 1631 -> 0 bytes www/plugins/facteur/svn.revision | 10 - www/plugins/formidable | 1 + .../action/dupliquer_formulaire.php | 75 - .../formidable/action/editer_formulaire.php | 132 - .../formidable/action/exporter_formulaire.php | 24 - .../action/formidable_recuperer_fichier.php | 52 - ...formidable_recuperer_fichier_par_email.php | 44 - .../action/supprimer_formulaire.php | 25 - .../action/supprimer_formulaires_reponse.php | 25 - .../formidable/action/vider_formulaire.php | 37 - .../formidable/base/formidable_tables.php | 241 - .../corbeille/formulaires_pre_suppression.php | 26 - .../formulaires_reponses_pre_suppression.php | 20 - .../css/formidable_analyse.css.html | 90 - .../formidable/echanger/formulaire/forms.php | 385 - .../formidable/echanger/formulaire/wcs.php | 176 - .../formidable/echanger/formulaire/yaml.php | 80 - .../exec/puce_statut_formulaires.php | 54 - .../formidable/formidable_administrations.php | 365 - .../formidable/formidable_autorisations.php | 302 - .../formidable/formidable_fonctions.php | 200 - www/plugins/formidable/formidable_options.php | 57 - .../formidable/formidable_pipelines.php | 287 - .../configurer_formidable_analyse.html | 56 - .../formulaires/editer_formulaire.html | 90 - .../formulaires/editer_formulaire.php | 75 - .../formulaires/editer_formulaire_champs.html | 56 - .../formulaires/editer_formulaire_champs.php | 127 - .../editer_formulaire_traitements.html | 56 - .../editer_formulaire_traitements.php | 126 - .../exporter_formulaire_analyse.html | 29 - .../exporter_formulaire_analyse.php | 131 - .../exporter_formulaire_reponses.html | 40 - .../exporter_formulaire_reponses.php | 269 - .../formidable/formulaires/formidable.html | 50 - .../formidable/formulaires/formidable.php | 601 - .../formulaires/importer_formulaire.html | 31 - .../formulaires/importer_formulaire.php | 66 - .../formulaires/inc-formidable-boutons.html | 4 - .../formulaires/inc-formidable-unicite.html | 21 - .../formidable_effacer_enregistrements.php | 42 - .../formidable_effacer_fichiers_email.php | 13 - .../formidable/genie/formidable_hasher_ip.php | 32 - .../collectionjson/formulaires-ressource.html | 11 - .../http/collectionjson/formulaires.html | 38 - .../formulaires_reponses-ressource.html | 11 - .../collectionjson/formulaires_reponses.html | 39 - .../collectionjson/formulaires_reponses.php | 128 - .../http/collectionjson/inc-formulaire.html | 43 - .../inc-formulaires_reponse.html | 36 - .../formidable/icones_barre/formulaire.png | Bin 623 -> 0 bytes .../formidable/images/formidable-128.png | Bin 9963 -> 0 bytes .../formidable/images/formidable-24.png | Bin 1230 -> 0 bytes .../formidable/images/formidable-64.png | Bin 4773 -> 0 bytes www/plugins/formidable/images/formidable.svg | 1104 -- .../formidable/images/formulaire-24.png | Bin 730 -> 0 bytes .../images/formulaire-action-ajouter.png | Bin 535 -> 0 bytes .../images/formulaire-analyse-24.png | Bin 1057 -> 0 bytes .../images/formulaire-config-auteurs-24.png | Bin 1047 -> 0 bytes .../images/formulaire-config-champs-24.png | Bin 816 -> 0 bytes .../formulaire-config-traitements-24.png | Bin 1016 -> 0 bytes .../images/formulaire-dupliquer-24.png | Bin 1166 -> 0 bytes .../images/formulaire-editer-24.png | Bin 986 -> 0 bytes .../images/formulaire-exporter-24.png | Bin 999 -> 0 bytes .../images/formulaire-nouveau-48.png | Bin 2203 -> 0 bytes .../images/formulaire-reponse-24.png | Bin 515 -> 0 bytes .../formulaire-reponse-supprimer-24.png | Bin 1016 -> 0 bytes .../images/formulaire-reponses-24.png | Bin 1013 -> 0 bytes .../formulaire-reponses-exporter-24.png | Bin 1095 -> 0 bytes .../formulaire-reponses-supprimer-24.png | Bin 1328 -> 0 bytes .../images/formulaire-supprimer-24.png | Bin 1274 -> 0 bytes www/plugins/formidable/inc/formidable.php | 410 - .../formidable/inc/formidable_fichiers.php | 549 - ...res_reponse_formulaires_reponses_champ.php | 30 - www/plugins/formidable/lang/formidable.xml | 37 - www/plugins/formidable/lang/formidable_ar.php | 170 - www/plugins/formidable/lang/formidable_de.php | 133 - www/plugins/formidable/lang/formidable_en.php | 289 - www/plugins/formidable/lang/formidable_es.php | 213 - www/plugins/formidable/lang/formidable_fr.php | 283 - www/plugins/formidable/lang/formidable_it.php | 152 - .../formidable/lang/formidable_pt_br.php | 275 - www/plugins/formidable/lang/formidable_ru.php | 214 - www/plugins/formidable/lang/formidable_sk.php | 175 - www/plugins/formidable/lang/formulaire.xml | 10 - www/plugins/formidable/lang/formulaire_fr.php | 20 - .../formidable/lang/formulaire_pt_br.php | 22 - www/plugins/formidable/lang/formulaire_ru.php | 22 - .../formidable/lang/formulaires_reponse.xml | 7 - .../lang/formulaires_reponse_fr.php | 29 - .../lang/formulaires_reponse_pt_br.php | 31 - .../formidable/lang/paquet-formidable.xml | 13 - .../formidable/lang/paquet-formidable_en.php | 15 - .../formidable/lang/paquet-formidable_es.php | 15 - .../formidable/lang/paquet-formidable_fr.php | 13 - .../lang/paquet-formidable_pt_br.php | 15 - www/plugins/formidable/modeles/form.html | 10 - .../formidable/modeles/formidable.html | 8 - .../modeles/formulaire_aide_memoire.html | 17 - .../modeles/formulaire_analyse.html | 68 - .../modeles/formulaire_formidable.yaml | 20 - .../modeles/formulaires_reponse.html | 13 - .../noisettes/formulaire_formidable.html | 2 - .../noisettes/formulaire_formidable.yaml | 15 - .../notifications/formulaire_accuse.html | 7 - .../notifications/formulaire_email.html | 25 - www/plugins/formidable/paquet.xml | 50 - .../prive/listes/corbeille_formulaires.html | 18 - .../corbeille_formulaires_reponses.html | 18 - .../prive/objets/contenu/formulaire.html | 19 - .../objets/contenu/formulaires_reponse.html | 33 - .../prive/objets/infos/formulaire.html | 8 - .../objets/infos/formulaires_reponse.html | 8 - .../prive/objets/liste/formulaires.html | 41 - .../objets/liste/formulaires_associer.html | 72 - .../liste/formulaires_associer_fonctions.php | 18 - .../prive/objets/liste/formulaires_lies.html | 62 - .../liste/formulaires_lies_fonctions.php | 17 - .../objets/liste/formulaires_reponses.html | 44 - .../contenu/configurer_formidable.html | 7 - .../prive/squelettes/contenu/formulaire.html | 45 - .../squelettes/contenu/formulaire_edit.html | 41 - .../prive/squelettes/contenu/formulaires.html | 14 - .../contenu/formulaires_analyse.html | 24 - .../contenu/formulaires_reponse.html | 33 - .../contenu/formulaires_reponses.html | 15 - .../prive/squelettes/extra/formulaire.html | 24 - .../squelettes/extra/formulaire_edit.html | 11 - .../squelettes/extra/formulaires_analyse.html | 5 - .../extra/formulaires_reponses.html | 5 - .../squelettes/hierarchie/formulaire.html | 3 - .../hierarchie/formulaire_edit.html | 3 - .../squelettes/hierarchie/formulaires.html | 0 .../hierarchie/formulaires_analyse.html | 7 - .../hierarchie/formulaires_reponse.html | 6 - .../hierarchie/formulaires_reponses.html | 5 - .../squelettes/inclure/formulaires_lies.html | 9 - .../inclure/formulaires_reponses-filtres.html | 26 - .../squelettes/navigation/formulaire.html | 55 - .../navigation/formulaire_edit.html | 28 - .../squelettes/navigation/formulaires.html | 6 - .../navigation/formulaires_analyse.html | 10 - .../navigation/formulaires_reponse.html | 19 - .../navigation/formulaires_reponses.html | 13 - .../prive/style_prive_plugin_formidable.html | 46 - .../themes/basic/images/formulaire-16.png | Bin 654 -> 0 bytes .../themes/spip/images/formulaire-16.png | Bin 654 -> 0 bytes .../themes/spip/images/formulaire-24.png | Bin 730 -> 0 bytes .../spip/images/formulaires_reponse-24.png | Bin 1013 -> 0 bytes .../formidable/public/formidable_criteres.php | 65 - .../puce_statut/formulaires_reponse.php | 91 - .../formidable/saisies-analyses/_base.html | 32 - .../formidable/saisies-analyses/auteurs.html | 22 - .../formidable/saisies-analyses/case.html | 27 - .../formidable/saisies-analyses/checkbox.html | 26 - .../saisies-analyses/destinataires.html | 14 - .../saisies-analyses/explication.html | 4 - .../formidable/saisies-analyses/fichiers.html | 3 - .../formidable/saisies-analyses/fieldset.html | 0 .../formidable/saisies-analyses/oui_non.html | 27 - .../formidable/saisies-analyses/radio.html | 26 - .../saisies-analyses/selecteur_article.html | 13 - .../saisies-analyses/selecteur_rubrique.html | 13 - .../selecteur_rubrique_article.html | 14 - .../saisies-analyses/selection.html | 25 - .../saisies-analyses/selection_multiple.html | 25 - .../saisies-vues/formulaire_formidable.html | 5 - .../formulaire_formidable_multiple.html | 9 - www/plugins/formidable/saisies/champ.html | 28 - .../saisies/formulaire_formidable.html | 22 - .../formulaire_formidable_multiple.html | 26 - www/plugins/formidable/svn.revision | 10 - www/plugins/formidable/todo.txt | 18 - www/plugins/formidable/traiter/email.php | 550 - www/plugins/formidable/traiter/email.yaml | 113 - .../formidable/traiter/enregistrement.php | 223 - .../formidable/traiter/enregistrement.yaml | 82 - www/plugins/nospam | 1 + www/plugins/nospam/images/nospam-32.png | Bin 2150 -> 0 bytes www/plugins/nospam/images/nospam.gif | Bin 14764 -> 0 bytes www/plugins/nospam/images/nospam.png | Bin 8532 -> 0 bytes www/plugins/nospam/inc/detecter_langue.php | 260 - www/plugins/nospam/inc/nospam.php | 263 - www/plugins/nospam/inclure/nobot.html | 5 - www/plugins/nospam/lang/nospam.xml | 32 - www/plugins/nospam/lang/nospam_ar.php | 20 - www/plugins/nospam/lang/nospam_de.php | 29 - www/plugins/nospam/lang/nospam_en.php | 29 - www/plugins/nospam/lang/nospam_es.php | 29 - www/plugins/nospam/lang/nospam_fa.php | 20 - www/plugins/nospam/lang/nospam_fr.php | 27 - www/plugins/nospam/lang/nospam_fr_tu.php | 29 - www/plugins/nospam/lang/nospam_nl.php | 29 - www/plugins/nospam/lang/nospam_pt_br.php | 29 - www/plugins/nospam/lang/nospam_sk.php | 29 - www/plugins/nospam/lang/paquet-nospam.xml | 26 - www/plugins/nospam/lang/paquet-nospam_ar.php | 14 - www/plugins/nospam/lang/paquet-nospam_de.php | 15 - www/plugins/nospam/lang/paquet-nospam_en.php | 15 - www/plugins/nospam/lang/paquet-nospam_es.php | 15 - www/plugins/nospam/lang/paquet-nospam_fr.php | 13 - .../nospam/lang/paquet-nospam_fr_tu.php | 15 - www/plugins/nospam/lang/paquet-nospam_nl.php | 15 - .../nospam/lang/paquet-nospam_pt_br.php | 15 - www/plugins/nospam/lang/paquet-nospam_sk.php | 15 - .../verifier_formulaire_ecrire_auteur.php | 52 - .../nospam/verifier_formulaire_forum.php | 140 - .../nospam/verifier_formulaire_signature.php | 49 - www/plugins/nospam/nospam_pipelines.php | 584 - www/plugins/nospam/paquet.xml | 25 - www/plugins/nospam/plugin.xml | 45 - www/plugins/nospam/svn.revision | 10 - www/plugins/reservation_evenement | 1 + www/plugins/saisies | 1 + .../saisies/action/deplacer_saisie.php | 49 - www/plugins/saisies/aide/saisies.html | 5 - .../saisies/balise/configurer_saisie.php | 43 - .../saisies/balise/generer_saisies.php | 55 - www/plugins/saisies/balise/saisie.php | 273 - www/plugins/saisies/balise/voir_saisie.php | 52 - www/plugins/saisies/balise/voir_saisies.php | 56 - .../saisies/css/formulaires_constructeur.css | 126 - .../saisies/demo/configurer_saisie.html | 51 - www/plugins/saisies/demo/generer_saisies.html | 152 - .../saisies/demo/page-saisies_cvt.html | 4 - www/plugins/saisies/demo/saisie.html | 11 - www/plugins/saisies/demo/voir_saisie.html | 10 - www/plugins/saisies/demo/voir_saisies.html | 147 - .../formulaires/construire_formulaire.html | 241 - .../formulaires/construire_formulaire.php | 622 - .../inc-construire_formulaire-actions.html | 27 - .../inc-generer_saisies_configurables.html | 9 - .../saisies/formulaires/inc-saisies-cvt.html | 24 - .../saisies/formulaires/saisies_cvt.html | 0 .../saisies/formulaires/saisies_cvt.php | 70 - .../saisies/images/formulaire-annuler-16.png | Bin 508 -> 0 bytes .../images/formulaire-configurer-16.png | Bin 734 -> 0 bytes .../saisies/images/formulaire-deplacer-16.png | Bin 391 -> 0 bytes .../images/formulaire-dupliquer-16.png | Bin 846 -> 0 bytes .../images/formulaire-enregistrer-16.png | Bin 560 -> 0 bytes .../images/formulaire-reinitialiser-24.png | Bin 1251 -> 0 bytes .../images/formulaire-saisie-defaut.png | Bin 306 -> 0 bytes .../images/formulaire-supprimer-16.png | Bin 231 -> 0 bytes www/plugins/saisies/images/logo_saisie_48.png | Bin 588 -> 0 bytes www/plugins/saisies/images/saisies-16.png | Bin 429 -> 0 bytes www/plugins/saisies/images/saisies-24.png | Bin 597 -> 0 bytes www/plugins/saisies/images/saisies-32.png | Bin 825 -> 0 bytes .../saisies/images/saisies_auteurs.png | Bin 583 -> 0 bytes www/plugins/saisies/images/saisies_case.png | Bin 185 -> 0 bytes .../saisies/images/saisies_checkbox.png | Bin 211 -> 0 bytes www/plugins/saisies/images/saisies_date.png | Bin 662 -> 0 bytes www/plugins/saisies/images/saisies_email.png | Bin 581 -> 0 bytes .../saisies/images/saisies_explication.png | Bin 259 -> 0 bytes .../saisies/images/saisies_fieldset.png | Bin 128 -> 0 bytes www/plugins/saisies/images/saisies_hidden.png | Bin 96 -> 0 bytes www/plugins/saisies/images/saisies_input.png | Bin 279 -> 0 bytes .../saisies/images/saisies_oui_non.png | Bin 326 -> 0 bytes www/plugins/saisies/images/saisies_radio.png | Bin 266 -> 0 bytes .../images/saisies_selecteur_article.png | Bin 168 -> 0 bytes .../images/saisies_selecteur_rubrique.png | Bin 168 -> 0 bytes .../saisies_selecteur_rubrique_article.png | Bin 193 -> 0 bytes .../saisies/images/saisies_selection.png | Bin 270 -> 0 bytes .../images/saisies_selection_multiple.png | Bin 313 -> 0 bytes .../saisies/images/saisies_textarea.png | Bin 246 -> 0 bytes www/plugins/saisies/inc/saisies.php | 563 - www/plugins/saisies/inc/saisies_afficher.php | 561 - www/plugins/saisies/inc/saisies_lister.php | 430 - www/plugins/saisies/inc/saisies_manipuler.php | 325 - .../saisies/inclure/configurer_saisie.html | 19 - .../inclure/configurer_saisie_fonctions.php | 39 - .../saisies/inclure/fieldset_legend.html | 8 - .../saisies/inclure/generer_saisies.html | 46 - .../saisies/inclure/js_afficher_si.html | 7 - www/plugins/saisies/inclure/saisies_aide.html | 65 - www/plugins/saisies/inclure/voir_saisies.html | 12 - www/plugins/saisies/javascript/saisies.js | 52 - www/plugins/saisies/lang/paquet-saisies.xml | 30 - .../saisies/lang/paquet-saisies_ar.php | 18 - .../saisies/lang/paquet-saisies_de.php | 17 - .../saisies/lang/paquet-saisies_en.php | 19 - .../saisies/lang/paquet-saisies_es.php | 17 - .../saisies/lang/paquet-saisies_fr.php | 17 - .../saisies/lang/paquet-saisies_fr_tu.php | 19 - .../saisies/lang/paquet-saisies_nl.php | 17 - .../saisies/lang/paquet-saisies_pt_br.php | 17 - .../saisies/lang/paquet-saisies_ru.php | 17 - .../saisies/lang/paquet-saisies_sk.php | 17 - www/plugins/saisies/lang/saisies.xml | 49 - www/plugins/saisies/lang/saisies_ca.php | 119 - www/plugins/saisies/lang/saisies_de.php | 215 - www/plugins/saisies/lang/saisies_en.php | 215 - www/plugins/saisies/lang/saisies_es.php | 200 - www/plugins/saisies/lang/saisies_fa.php | 135 - www/plugins/saisies/lang/saisies_fr.php | 213 - www/plugins/saisies/lang/saisies_fr_tu.php | 207 - www/plugins/saisies/lang/saisies_it.php | 173 - www/plugins/saisies/lang/saisies_nl.php | 215 - www/plugins/saisies/lang/saisies_pt_br.php | 205 - www/plugins/saisies/lang/saisies_ru.php | 189 - www/plugins/saisies/lang/saisies_sk.php | 197 - www/plugins/saisies/paquet.xml | 33 - .../prive/exec/construire_formulaire.html | 3 - .../listes/articles_originaux_recursifs.html | 14 - .../prive/listes/rubriques_recursives.html | 8 - .../prive/squelettes/contenu/saisies_doc.html | 34 - .../squelettes/navigation/saisies_doc.html | 9 - .../prive/style_prive_plugin_saisies.html | 23 - www/plugins/saisies/saisies-vues/_base.html | 59 - www/plugins/saisies/saisies-vues/auteurs.html | 16 - www/plugins/saisies/saisies-vues/case.html | 6 - .../saisies/saisies-vues/checkbox.html | 12 - www/plugins/saisies/saisies-vues/couleur.html | 4 - www/plugins/saisies/saisies-vues/date.html | 10 - .../saisies/saisies-vues/destinataires.html | 8 - .../saisies/saisies-vues/explication.html | 0 .../saisies/saisies-vues/fieldset.html | 7 - .../saisies/saisies-vues/groupe_mots.html | 9 - www/plugins/saisies/saisies-vues/mot.html | 3 - www/plugins/saisies/saisies-vues/oui_non.html | 1 - www/plugins/saisies/saisies-vues/radio.html | 4 - www/plugins/saisies/saisies-vues/secteur.html | 10 - .../saisies/saisies-vues/selecteur.html | 30 - .../saisies-vues/selecteur_article.html | 23 - .../selecteur_article_fonctions.php | 7 - .../saisies-vues/selecteur_document.html | 3 - .../saisies-vues/selecteur_rubrique.html | 24 - .../selecteur_rubrique_article.html | 38 - .../saisies/saisies-vues/selecteur_site.html | 13 - .../saisies/saisies-vues/selection.html | 4 - .../saisies-vues/selection_multiple.html | 10 - www/plugins/saisies/saisies.css.html | 56 - www/plugins/saisies/saisies/_base.html | 58 - .../saisies/saisies/articles_originaux.html | 51 - www/plugins/saisies/saisies/auteurs.html | 45 - www/plugins/saisies/saisies/auteurs.yaml | 147 - www/plugins/saisies/saisies/case.html | 21 - www/plugins/saisies/saisies/case.yaml | 151 - www/plugins/saisies/saisies/checkbox.html | 65 - www/plugins/saisies/saisies/checkbox.yaml | 140 - .../saisies/saisies/choisir_objet.html | 23 - .../saisies/saisies/choisir_objets.html | 20 - .../saisies/saisies/choisir_objets_edit.html | 21 - www/plugins/saisies/saisies/couleur.html | 12 - www/plugins/saisies/saisies/date.html | 72 - www/plugins/saisies/saisies/date.yaml | 146 - .../saisies/saisies/date_jour_mois_annee.html | 56 - .../saisies/saisies/destinataires.html | 68 - .../saisies/saisies/destinataires.yaml | 104 - www/plugins/saisies/saisies/email.html | 10 - www/plugins/saisies/saisies/email.yaml | 164 - www/plugins/saisies/saisies/explication.html | 7 - www/plugins/saisies/saisies/explication.yaml | 52 - www/plugins/saisies/saisies/fieldset.html | 33 - www/plugins/saisies/saisies/fieldset.yaml | 70 - www/plugins/saisies/saisies/groupe_mots.html | 32 - www/plugins/saisies/saisies/hidden.html | 12 - www/plugins/saisies/saisies/hidden.yaml | 35 - www/plugins/saisies/saisies/input.html | 49 - www/plugins/saisies/saisies/input.yaml | 162 - www/plugins/saisies/saisies/mot.html | 52 - www/plugins/saisies/saisies/mot.yaml | 131 - www/plugins/saisies/saisies/oui_non.html | 23 - www/plugins/saisies/saisies/oui_non.yaml | 109 - www/plugins/saisies/saisies/pays.html | 21 - www/plugins/saisies/saisies/police.html | 22 - .../position_construire_formulaire.html | 46 - www/plugins/saisies/saisies/radio.html | 30 - www/plugins/saisies/saisies/radio.yaml | 128 - www/plugins/saisies/saisies/recherche.html | 10 - www/plugins/saisies/saisies/secteur.html | 31 - www/plugins/saisies/saisies/selecteur.html | 16 - .../saisies/saisies/selecteur_article.html | 41 - .../saisies/saisies/selecteur_article.yaml | 128 - .../saisies/saisies/selecteur_document.html | 94 - .../saisies/saisies/selecteur_document.yaml | 59 - .../saisies/saisies/selecteur_langue.html | 20 - .../saisies/saisies/selecteur_rubrique.html | 40 - .../saisies/saisies/selecteur_rubrique.yaml | 122 - .../saisies/selecteur_rubrique_article.html | 45 - .../saisies/selecteur_rubrique_article.yaml | 128 - .../saisies/saisies/selecteur_site.html | 33 - www/plugins/saisies/saisies/selection.html | 54 - www/plugins/saisies/saisies/selection.yaml | 143 - .../saisies/saisies/selection_multiple.html | 44 - .../saisies/saisies/selection_multiple.yaml | 139 - .../saisies/saisies/selection_par_groupe.html | 35 - .../saisies/saisies/statuts_auteurs.html | 43 - www/plugins/saisies/saisies/telephone.html | 12 - www/plugins/saisies/saisies/textarea.html | 22 - www/plugins/saisies/saisies/textarea.yaml | 160 - www/plugins/saisies/saisies/true_false.html | 23 - www/plugins/saisies/saisies/url.html | 12 - www/plugins/saisies/saisies_fonctions.php | 279 - www/plugins/saisies/saisies_options.php | 54 - www/plugins/saisies/saisies_pipelines.php | 186 - www/plugins/saisies/svn.revision | 10 - www/plugins/skel_lhc/contenu/evenement.html | 20 + www/plugins/skel_lhc/evenement.html | 3 + .../inc-reservation_connection.html | 103 + .../inc-reservation_evenements.html | 43 + .../skel_lhc/formulaires/reservation.html | 48 + www/plugins/skel_lhc/habillage/skel_lhc.css | 85 +- www/plugins/skel_lhc/page-sommaire.html | 46 +- www/plugins/skel_lhc/paquet.xml | 3 +- www/plugins/spip-bonux | 1 + .../spip-bonux-3/demo/boucle_et_saut.html | 15 - .../spip-bonux-3/demo/boucles_iterations.html | 37 - www/plugins/spip-bonux-3/demo/noeud.html | 16 - .../img_pack/annuler-recherche.png | Bin 408 -> 0 bytes .../spip-bonux-3/img_pack/article-12.png | Bin 438 -> 0 bytes .../spip-bonux-3/img_pack/deplier-droite.gif | Bin 319 -> 0 bytes .../spip-bonux-3/img_pack/deplier-droite.png | Bin 240 -> 0 bytes .../spip-bonux-3/img_pack/frame-close.png | Bin 244 -> 0 bytes .../spip-bonux-3/img_pack/item-add.gif | Bin 571 -> 0 bytes .../spip-bonux-3/img_pack/item-add.png | Bin 552 -> 0 bytes .../spip-bonux-3/img_pack/item-remove.png | Bin 352 -> 0 bytes .../spip-bonux-3/img_pack/logo-bonux.gif | Bin 5894 -> 0 bytes .../img_pack/message_erreur-24.png | Bin 1276 -> 0 bytes .../img_pack/message_notice-24.png | Bin 914 -> 0 bytes .../spip-bonux-3/img_pack/message_ok-24.png | Bin 772 -> 0 bytes .../spip-bonux-3/img_pack/spip-bonux.png | Bin 36121 -> 0 bytes .../spip-bonux-3/img_pack/tri_asc-12.png | Bin 390 -> 0 bytes .../spip-bonux-3/img_pack/tri_asc-16.png | Bin 536 -> 0 bytes .../spip-bonux-3/img_pack/tri_asc-24.png | Bin 604 -> 0 bytes www/plugins/spip-bonux-3/img_pack/tri_asc.png | Bin 408 -> 0 bytes .../spip-bonux-3/img_pack/tri_desc-12.png | Bin 389 -> 0 bytes .../spip-bonux-3/img_pack/tri_desc-16.png | Bin 538 -> 0 bytes .../spip-bonux-3/img_pack/tri_desc-24.png | Bin 592 -> 0 bytes www/plugins/spip-bonux-3/inc/date_gestion.php | 45 - www/plugins/spip-bonux-3/inc/exporter_csv.php | 104 - www/plugins/spip-bonux-3/inc/importer_csv.php | 137 - .../javascript/jquery.qtip-1.0.0-rc3.js | 2040 --- .../javascript/jquery.qtip.activate.js | 68 - .../spip-bonux-3/lang/paquet-spip_bonux.xml | 32 - .../lang/paquet-spip_bonux_ar.php | 16 - .../lang/paquet-spip_bonux_de.php | 16 - .../lang/paquet-spip_bonux_en.php | 16 - .../lang/paquet-spip_bonux_es.php | 16 - .../lang/paquet-spip_bonux_fa.php | 15 - .../lang/paquet-spip_bonux_fr.php | 14 - .../lang/paquet-spip_bonux_nl.php | 16 - .../lang/paquet-spip_bonux_pt_br.php | 17 - .../lang/paquet-spip_bonux_ru.php | 15 - .../lang/paquet-spip_bonux_sk.php | 16 - www/plugins/spip-bonux-3/lang/spip_bonux.xml | 32 - .../spip-bonux-3/lang/spip_bonux_ar.php | 36 - .../spip-bonux-3/lang/spip_bonux_de.php | 36 - .../spip-bonux-3/lang/spip_bonux_en.php | 36 - .../spip-bonux-3/lang/spip_bonux_es.php | 36 - .../spip-bonux-3/lang/spip_bonux_fa.php | 36 - .../spip-bonux-3/lang/spip_bonux_fr.php | 34 - .../spip-bonux-3/lang/spip_bonux_nl.php | 36 - .../spip-bonux-3/lang/spip_bonux_pt_br.php | 36 - .../spip-bonux-3/lang/spip_bonux_ru.php | 36 - .../spip-bonux-3/lang/spip_bonux_sk.php | 36 - .../lib/array_column/_array_column.php | 115 - .../modeles/pagination_noancre.html | 16 - www/plugins/spip-bonux-3/paquet.xml | 22 - .../public/spip_bonux_balises.php | 139 - .../public/spip_bonux_criteres.php | 181 - .../spip-bonux-3/spip_bonux_fonctions.php | 213 - .../spip-bonux-3/spip_bonux_options.php | 279 - www/plugins/spip-bonux-3/svn.revision | 10 - .../spip-bonux-3/tests/balises/set_merge.html | 60 - .../spip-bonux-3/tests/balises/set_push.html | 25 - www/plugins/verifier | 1 + www/plugins/verifier/aide/verifier.html | 73 - .../verifier/aide/verifier_fonctions.php | 39 - www/plugins/verifier/images/icones-infos.txt | 2 - www/plugins/verifier/images/verifier-128.png | Bin 7566 -> 0 bytes www/plugins/verifier/images/verifier-16.png | Bin 605 -> 0 bytes www/plugins/verifier/images/verifier-24.png | Bin 998 -> 0 bytes www/plugins/verifier/images/verifier-32.png | Bin 1485 -> 0 bytes www/plugins/verifier/inc/is_email.php | 1277 -- www/plugins/verifier/inc/verifier.php | 137 - www/plugins/verifier/lang/paquet-verifier.xml | 28 - .../verifier/lang/paquet-verifier_de.php | 16 - .../verifier/lang/paquet-verifier_en.php | 16 - .../verifier/lang/paquet-verifier_es.php | 16 - .../verifier/lang/paquet-verifier_fr.php | 14 - .../verifier/lang/paquet-verifier_fr_tu.php | 16 - .../verifier/lang/paquet-verifier_nl.php | 16 - .../verifier/lang/paquet-verifier_pt_br.php | 16 - .../verifier/lang/paquet-verifier_ru.php | 16 - .../verifier/lang/paquet-verifier_sk.php | 16 - www/plugins/verifier/lang/verifier.xml | 48 - www/plugins/verifier/lang/verifier_ca.php | 65 - www/plugins/verifier/lang/verifier_de.php | 87 - www/plugins/verifier/lang/verifier_en.php | 178 - www/plugins/verifier/lang/verifier_es.php | 115 - www/plugins/verifier/lang/verifier_fa.php | 105 - www/plugins/verifier/lang/verifier_fr.php | 176 - www/plugins/verifier/lang/verifier_fr_tu.php | 114 - www/plugins/verifier/lang/verifier_it.php | 87 - www/plugins/verifier/lang/verifier_nl.php | 178 - www/plugins/verifier/lang/verifier_pt_br.php | 138 - www/plugins/verifier/lang/verifier_ru.php | 105 - www/plugins/verifier/lang/verifier_sk.php | 136 - www/plugins/verifier/paquet.xml | 25 - www/plugins/verifier/plugin.xml | 31 - .../squelettes/contenu/verifier_doc.html | 41 - .../squelettes/navigation/verifier_doc.html | 9 - .../prive/style_prive_plugin_verifier.html | 24 - www/plugins/verifier/svn.revision | 10 - www/plugins/verifier/test/verifier.html | 260 - www/plugins/verifier/verifier/code_postal.php | 70 - .../verifier/verifier/code_postal.yaml | 10 - .../verifier/verifier/comparaison_champ.php | 51 - .../verifier/verifier/comparaison_champ.yaml | 29 - www/plugins/verifier/verifier/couleur.php | 42 - www/plugins/verifier/verifier/couleur.yaml | 18 - www/plugins/verifier/verifier/date.php | 143 - www/plugins/verifier/verifier/date.yaml | 13 - www/plugins/verifier/verifier/decimal.php | 60 - www/plugins/verifier/verifier/decimal.yaml | 37 - www/plugins/verifier/verifier/email.php | 120 - www/plugins/verifier/verifier/email.yaml | 20 - www/plugins/verifier/verifier/entier.php | 50 - www/plugins/verifier/verifier/entier.yaml | 18 - www/plugins/verifier/verifier/fichiers.php | 266 - www/plugins/verifier/verifier/fichiers.yaml | 55 - www/plugins/verifier/verifier/id_document.php | 31 - .../verifier/verifier/id_document.yaml | 3 - www/plugins/verifier/verifier/id_objet.php | 38 - www/plugins/verifier/verifier/id_objet.yaml | 9 - .../verifier/verifier/image_upload.php | 40 - .../verifier/image_upload_multiple.php | 48 - www/plugins/verifier/verifier/isbn.php | 118 - www/plugins/verifier/verifier/isbn.yaml | 3 - www/plugins/verifier/verifier/password.php | 39 - www/plugins/verifier/verifier/regex.php | 31 - www/plugins/verifier/verifier/regex.yaml | 9 - www/plugins/verifier/verifier/siren_siret.php | 105 - .../verifier/verifier/siren_siret.yaml | 12 - www/plugins/verifier/verifier/taille.php | 55 - www/plugins/verifier/verifier/taille.yaml | 22 - www/plugins/verifier/verifier/telephone.php | 73 - www/plugins/verifier/verifier/telephone.yaml | 3 - www/plugins/verifier/verifier/url.php | 150 - www/plugins/verifier/verifier/url.yaml | 34 - www/plugins/verifier/verifier_fonctions.php | 11 - www/plugins/yaml | 1 + www/plugins/yaml/demo/iter_data_yaml.html | 17 - www/plugins/yaml/experimental/README | 9 - www/plugins/yaml/experimental/yaml.html | 5 - .../yaml/experimental/yaml_fonctions.php | 17 - www/plugins/yaml/inc/yaml.php | 111 - www/plugins/yaml/inc/yaml_sfyaml.php | 31 - www/plugins/yaml/inc/yaml_to_array.php | 16 - www/plugins/yaml/lang/paquet-yaml.xml | 29 - www/plugins/yaml/lang/paquet-yaml_de.php | 16 - www/plugins/yaml/lang/paquet-yaml_en.php | 16 - www/plugins/yaml/lang/paquet-yaml_es.php | 15 - www/plugins/yaml/lang/paquet-yaml_fa.php | 15 - www/plugins/yaml/lang/paquet-yaml_fr.php | 14 - www/plugins/yaml/lang/paquet-yaml_nl.php | 16 - www/plugins/yaml/lang/paquet-yaml_pt_br.php | 15 - www/plugins/yaml/lang/paquet-yaml_ru.php | 16 - www/plugins/yaml/lang/paquet-yaml_sk.php | 16 - www/plugins/yaml/paquet.xml | 19 - www/plugins/yaml/plugin.xml | 19 - www/plugins/yaml/sfyaml/sfYaml.php | 145 - www/plugins/yaml/sfyaml/sfYamlDumper.php | 60 - www/plugins/yaml/sfyaml/sfYamlInline.php | 424 - www/plugins/yaml/sfyaml/sfYamlParser.php | 540 - www/plugins/yaml/spyc/spyc-php4.php | 1024 -- www/plugins/yaml/spyc/spyc.php | 1046 -- www/plugins/yaml/svn.revision | 10 - www/plugins/yaml/yaml.png | Bin 12232 -> 0 bytes www/plugins/yaml/yaml_fonctions.php | 17 - 813 files changed, 383 insertions(+), 77012 deletions(-) create mode 160000 www/plugins/agenda create mode 160000 www/plugins/calendrier_mini create mode 160000 www/plugins/crayons delete mode 100644 www/plugins/crayons/action/crayons.php delete mode 100644 www/plugins/crayons/action/crayons_html.php delete mode 100644 www/plugins/crayons/action/crayons_store.php delete mode 100644 www/plugins/crayons/action/crayons_upload.php delete mode 100644 www/plugins/crayons/controleurs/article_intro.html delete mode 100644 www/plugins/crayons/controleurs/article_intro2.html delete mode 100644 www/plugins/crayons/controleurs/article_intro3.php delete mode 100644 www/plugins/crayons/controleurs/article_introduction.html delete mode 100644 www/plugins/crayons/controleurs/article_introduction.php delete mode 100644 www/plugins/crayons/controleurs/article_texte.html delete mode 100644 www/plugins/crayons/controleurs/auteur_email.html delete mode 100644 www/plugins/crayons/controleurs/auteur_nom.html delete mode 100644 www/plugins/crayons/controleurs/auteur_qui.html delete mode 100644 www/plugins/crayons/controleurs/breve_hyperlien.html delete mode 100644 www/plugins/crayons/controleurs/document_fichier.html delete mode 100644 www/plugins/crayons/controleurs/extra.html delete mode 100644 www/plugins/crayons/controleurs/extra_fonctions.php delete mode 100644 www/plugins/crayons/controleurs/forum_email.html delete mode 100644 www/plugins/crayons/controleurs/forum_id_article.html delete mode 100644 www/plugins/crayons/controleurs/forum_nom.html delete mode 100644 www/plugins/crayons/controleurs/forum_qui.html delete mode 100644 www/plugins/crayons/controleurs/hyperlien.html delete mode 100644 www/plugins/crayons/controleurs/id_parent.html delete mode 100644 www/plugins/crayons/controleurs/logo.html delete mode 100644 www/plugins/crayons/controleurs/mots_article_brut.html delete mode 100644 www/plugins/crayons/controleurs/portfolio.php delete mode 100644 www/plugins/crayons/controleurs/rubrique_introduction.html delete mode 100644 www/plugins/crayons/controleurs/rubrique_introduction.php delete mode 100644 www/plugins/crayons/controleurs/signature_email.html delete mode 100644 www/plugins/crayons/controleurs/signature_nom.html delete mode 100644 www/plugins/crayons/controleurs/signature_qui.html delete mode 100644 www/plugins/crayons/controleurs/statut.html delete mode 100644 www/plugins/crayons/controleurs/syndic_article_hyperlien.html delete mode 100644 www/plugins/crayons/controleurs/vignette.html delete mode 100644 www/plugins/crayons/crayons.css delete mode 100644 www/plugins/crayons/crayons.js.html delete mode 100644 www/plugins/crayons/crayons.js_fonctions.php delete mode 100644 www/plugins/crayons/crayons_fonctions.php delete mode 100644 www/plugins/crayons/fonds/cfg_crayons.html delete mode 100644 www/plugins/crayons/formulaires/configurer_crayons.html delete mode 100644 www/plugins/crayons/images/annuler-16.png delete mode 100644 www/plugins/crayons/images/changed.png delete mode 100644 www/plugins/crayons/images/crayon-128.png delete mode 100644 www/plugins/crayons/images/crayon-24.png delete mode 100644 www/plugins/crayons/images/crayon-32.png delete mode 100644 www/plugins/crayons/images/crayon.png delete mode 100644 www/plugins/crayons/images/crayon20.png delete mode 100644 www/plugins/crayons/images/edit.png delete mode 100755 www/plugins/crayons/images/ok-16.png delete mode 100644 www/plugins/crayons/images/pencil.png delete mode 100644 www/plugins/crayons/images/resizer.png delete mode 100644 www/plugins/crayons/images/searching.gif delete mode 100644 www/plugins/crayons/inc/compat_crayons.php delete mode 100644 www/plugins/crayons/inc/crayons-json.php delete mode 100644 www/plugins/crayons/inc/crayons.php delete mode 100644 www/plugins/crayons/js/crayons-fade.js delete mode 100644 www/plugins/crayons/js/crayons.js delete mode 100644 www/plugins/crayons/js/jquery.form.js delete mode 100644 www/plugins/crayons/js/jquery.html5uploader.js delete mode 100644 www/plugins/crayons/js/jquery.js delete mode 100644 www/plugins/crayons/js/resizehandle.js delete mode 100644 www/plugins/crayons/js/uploader.js.html delete mode 100644 www/plugins/crayons/lang/crayons.xml delete mode 100644 www/plugins/crayons/lang/crayons_ar.php delete mode 100644 www/plugins/crayons/lang/crayons_ast.php delete mode 100644 www/plugins/crayons/lang/crayons_br.php delete mode 100644 www/plugins/crayons/lang/crayons_ca.php delete mode 100644 www/plugins/crayons/lang/crayons_de.php delete mode 100644 www/plugins/crayons/lang/crayons_en.php delete mode 100644 www/plugins/crayons/lang/crayons_eo.php delete mode 100644 www/plugins/crayons/lang/crayons_es.php delete mode 100644 www/plugins/crayons/lang/crayons_eu.php delete mode 100644 www/plugins/crayons/lang/crayons_fa.php delete mode 100644 www/plugins/crayons/lang/crayons_fr.php delete mode 100644 www/plugins/crayons/lang/crayons_fr_tu.php delete mode 100644 www/plugins/crayons/lang/crayons_gl.php delete mode 100644 www/plugins/crayons/lang/crayons_it.php delete mode 100644 www/plugins/crayons/lang/crayons_it_fem.php delete mode 100644 www/plugins/crayons/lang/crayons_km.php delete mode 100644 www/plugins/crayons/lang/crayons_lb.php delete mode 100644 www/plugins/crayons/lang/crayons_nl.php delete mode 100644 www/plugins/crayons/lang/crayons_oc_lnc.php delete mode 100644 www/plugins/crayons/lang/crayons_oc_ni_mis.php delete mode 100644 www/plugins/crayons/lang/crayons_pt_br.php delete mode 100644 www/plugins/crayons/lang/crayons_ro.php delete mode 100644 www/plugins/crayons/lang/crayons_ru.php delete mode 100644 www/plugins/crayons/lang/crayons_sk.php delete mode 100644 www/plugins/crayons/lang/crayons_sv.php delete mode 100644 www/plugins/crayons/lang/crayons_tr.php delete mode 100644 www/plugins/crayons/lang/crayons_tw.php delete mode 100644 www/plugins/crayons/lang/crayons_zh.php delete mode 100644 www/plugins/crayons/lang/crayons_zh_tw.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons.xml delete mode 100644 www/plugins/crayons/lang/paquet-crayons_ar.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_de.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_en.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_es.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_fr.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_fr_tu.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_it.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_nl.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_oc_ni_mis.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_pt_br.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_ru.php delete mode 100644 www/plugins/crayons/lang/paquet-crayons_sk.php delete mode 100644 www/plugins/crayons/lib/JavaScriptPacker/class.JavaScriptPacker.php delete mode 100644 www/plugins/crayons/modeles/uploader_item.html delete mode 100644 www/plugins/crayons/modeles/uploader_liste.html delete mode 100644 www/plugins/crayons/paquet.xml delete mode 100644 www/plugins/crayons/plugin.xml delete mode 100644 www/plugins/crayons/prive/squelettes/contenu/configurer_crayons.html delete mode 100644 www/plugins/crayons/svn.revision delete mode 100644 www/plugins/crayons/tetecrayons.php delete mode 100644 www/plugins/crayons/vues/article_intro.html delete mode 100644 www/plugins/crayons/vues/article_intro2.html delete mode 100644 www/plugins/crayons/vues/article_intro3.html delete mode 100644 www/plugins/crayons/vues/article_introduction.html delete mode 100644 www/plugins/crayons/vues/article_texte.html delete mode 100644 www/plugins/crayons/vues/document_fichier.html delete mode 100644 www/plugins/crayons/vues/extra.html delete mode 100644 www/plugins/crayons/vues/extra_fonctions.php delete mode 100644 www/plugins/crayons/vues/hyperlien.html delete mode 100644 www/plugins/crayons/vues/id_parent.html delete mode 100644 www/plugins/crayons/vues/logo.html delete mode 100644 www/plugins/crayons/vues/mots_article_brut.html delete mode 100644 www/plugins/crayons/vues/qui.html delete mode 100644 www/plugins/crayons/vues/rubrique_id_parent.html delete mode 100644 www/plugins/crayons/vues/rubrique_introduction.html delete mode 100644 www/plugins/crayons/vues/vignette.html create mode 160000 www/plugins/facteur delete mode 100755 www/plugins/facteur/classes/facteur.php delete mode 100755 www/plugins/facteur/emails/css.html delete mode 100755 www/plugins/facteur/emails/inc-bas.html delete mode 100644 www/plugins/facteur/emails/inc-button.html delete mode 100755 www/plugins/facteur/emails/inc-haut.html delete mode 100755 www/plugins/facteur/emails/test_email_html.html delete mode 100755 www/plugins/facteur/emails/test_email_texte.html delete mode 100644 www/plugins/facteur/emails/texte.html delete mode 100644 www/plugins/facteur/erreurs et exceptions.txt delete mode 100755 www/plugins/facteur/facteur_administrations.php delete mode 100755 www/plugins/facteur/facteur_fonctions.php delete mode 100644 www/plugins/facteur/facteur_ieconfig_metas.php delete mode 100644 www/plugins/facteur/facteur_pipelines.php delete mode 100644 www/plugins/facteur/formulaires/configurer_facteur.html delete mode 100644 www/plugins/facteur/formulaires/configurer_facteur.php delete mode 100644 www/plugins/facteur/inc/envoyer_mail.php delete mode 100644 www/plugins/facteur/inc/facteur_classes.php delete mode 100644 www/plugins/facteur/lang/facteur.xml delete mode 100644 www/plugins/facteur/lang/facteur_de.php delete mode 100755 www/plugins/facteur/lang/facteur_en.php delete mode 100644 www/plugins/facteur/lang/facteur_es.php delete mode 100644 www/plugins/facteur/lang/facteur_fa.php delete mode 100755 www/plugins/facteur/lang/facteur_fr.php delete mode 100644 www/plugins/facteur/lang/facteur_fr_tu.php delete mode 100644 www/plugins/facteur/lang/facteur_it.php delete mode 100644 www/plugins/facteur/lang/facteur_nl.php delete mode 100644 www/plugins/facteur/lang/facteur_oc_ni_mis.php delete mode 100644 www/plugins/facteur/lang/facteur_pt_br.php delete mode 100644 www/plugins/facteur/lang/facteur_sk.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur.xml delete mode 100755 www/plugins/facteur/lang/paquet-facteur_de.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_en.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_es.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_fr.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_fr_tu.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_nl.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_pt_br.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_ru.php delete mode 100644 www/plugins/facteur/lang/paquet-facteur_sk.php delete mode 100644 www/plugins/facteur/lib/markdownify/LICENSE_LGPL.txt delete mode 100644 www/plugins/facteur/lib/markdownify/markdownify.php delete mode 100644 www/plugins/facteur/lib/markdownify/markdownify_extra.php delete mode 100644 www/plugins/facteur/lib/markdownify/parsehtml/parsehtml.php delete mode 100644 www/plugins/facteur/paquet.xml delete mode 100755 www/plugins/facteur/phpmailer-php5/LICENSE delete mode 100644 www/plugins/facteur/phpmailer-php5/PHPMailerAutoload.php delete mode 100644 www/plugins/facteur/phpmailer-php5/VERSION delete mode 100755 www/plugins/facteur/phpmailer-php5/class.phpmailer.php delete mode 100644 www/plugins/facteur/phpmailer-php5/class.phpmaileroauth.php delete mode 100644 www/plugins/facteur/phpmailer-php5/class.phpmaileroauthgoogle.php delete mode 100755 www/plugins/facteur/phpmailer-php5/class.pop3.php delete mode 100755 www/plugins/facteur/phpmailer-php5/class.smtp.php delete mode 100644 www/plugins/facteur/phpmailer-php5/composer.json delete mode 100644 www/plugins/facteur/phpmailer-php5/composer.lock delete mode 100644 www/plugins/facteur/phpmailer-php5/extras/EasyPeasyICS.php delete mode 100644 www/plugins/facteur/phpmailer-php5/extras/README.md delete mode 100644 www/plugins/facteur/phpmailer-php5/extras/htmlfilter.php delete mode 100644 www/plugins/facteur/phpmailer-php5/extras/ntlm_sasl_client.php delete mode 100644 www/plugins/facteur/phpmailer-php5/get_oauth_token.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-am.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ar.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-az.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-be.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-bg.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ca.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ch.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-cs.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-da.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-de.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-el.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-eo.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-es.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-et.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fa.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fi.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fo.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-fr.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-gl.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-he.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-hr.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-hu.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-id.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-it.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ja.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ka.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ko.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-lt.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-lv.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ms.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-nb.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-nl.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-pl.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-pt.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-pt_br.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ro.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-ru.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-sk.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-sl.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-sr.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-sv.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-tr.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-uk.php delete mode 100644 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-vi.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-zh.php delete mode 100755 www/plugins/facteur/phpmailer-php5/language/phpmailer.lang-zh_cn.php delete mode 100644 www/plugins/facteur/prive/squelettes/contenu/configurer_facteur.html delete mode 100644 www/plugins/facteur/prive/themes/spip/images/facteur-16.png delete mode 100644 www/plugins/facteur/prive/themes/spip/images/facteur-24.png delete mode 100644 www/plugins/facteur/prive/themes/spip/images/facteur-32.png delete mode 100644 www/plugins/facteur/svn.revision create mode 160000 www/plugins/formidable delete mode 100644 www/plugins/formidable/action/dupliquer_formulaire.php delete mode 100644 www/plugins/formidable/action/editer_formulaire.php delete mode 100644 www/plugins/formidable/action/exporter_formulaire.php delete mode 100644 www/plugins/formidable/action/formidable_recuperer_fichier.php delete mode 100644 www/plugins/formidable/action/formidable_recuperer_fichier_par_email.php delete mode 100644 www/plugins/formidable/action/supprimer_formulaire.php delete mode 100644 www/plugins/formidable/action/supprimer_formulaires_reponse.php delete mode 100644 www/plugins/formidable/action/vider_formulaire.php delete mode 100644 www/plugins/formidable/base/formidable_tables.php delete mode 100644 www/plugins/formidable/corbeille/formulaires_pre_suppression.php delete mode 100644 www/plugins/formidable/corbeille/formulaires_reponses_pre_suppression.php delete mode 100644 www/plugins/formidable/css/formidable_analyse.css.html delete mode 100644 www/plugins/formidable/echanger/formulaire/forms.php delete mode 100644 www/plugins/formidable/echanger/formulaire/wcs.php delete mode 100644 www/plugins/formidable/echanger/formulaire/yaml.php delete mode 100644 www/plugins/formidable/exec/puce_statut_formulaires.php delete mode 100644 www/plugins/formidable/formidable_administrations.php delete mode 100644 www/plugins/formidable/formidable_autorisations.php delete mode 100644 www/plugins/formidable/formidable_fonctions.php delete mode 100644 www/plugins/formidable/formidable_options.php delete mode 100644 www/plugins/formidable/formidable_pipelines.php delete mode 100644 www/plugins/formidable/formulaires/configurer_formidable_analyse.html delete mode 100644 www/plugins/formidable/formulaires/editer_formulaire.html delete mode 100644 www/plugins/formidable/formulaires/editer_formulaire.php delete mode 100644 www/plugins/formidable/formulaires/editer_formulaire_champs.html delete mode 100644 www/plugins/formidable/formulaires/editer_formulaire_champs.php delete mode 100644 www/plugins/formidable/formulaires/editer_formulaire_traitements.html delete mode 100644 www/plugins/formidable/formulaires/editer_formulaire_traitements.php delete mode 100644 www/plugins/formidable/formulaires/exporter_formulaire_analyse.html delete mode 100644 www/plugins/formidable/formulaires/exporter_formulaire_analyse.php delete mode 100644 www/plugins/formidable/formulaires/exporter_formulaire_reponses.html delete mode 100644 www/plugins/formidable/formulaires/exporter_formulaire_reponses.php delete mode 100644 www/plugins/formidable/formulaires/formidable.html delete mode 100644 www/plugins/formidable/formulaires/formidable.php delete mode 100644 www/plugins/formidable/formulaires/importer_formulaire.html delete mode 100644 www/plugins/formidable/formulaires/importer_formulaire.php delete mode 100644 www/plugins/formidable/formulaires/inc-formidable-boutons.html delete mode 100644 www/plugins/formidable/formulaires/inc-formidable-unicite.html delete mode 100644 www/plugins/formidable/genie/formidable_effacer_enregistrements.php delete mode 100644 www/plugins/formidable/genie/formidable_effacer_fichiers_email.php delete mode 100644 www/plugins/formidable/genie/formidable_hasher_ip.php delete mode 100644 www/plugins/formidable/http/collectionjson/formulaires-ressource.html delete mode 100644 www/plugins/formidable/http/collectionjson/formulaires.html delete mode 100644 www/plugins/formidable/http/collectionjson/formulaires_reponses-ressource.html delete mode 100644 www/plugins/formidable/http/collectionjson/formulaires_reponses.html delete mode 100644 www/plugins/formidable/http/collectionjson/formulaires_reponses.php delete mode 100644 www/plugins/formidable/http/collectionjson/inc-formulaire.html delete mode 100644 www/plugins/formidable/http/collectionjson/inc-formulaires_reponse.html delete mode 100644 www/plugins/formidable/icones_barre/formulaire.png delete mode 100644 www/plugins/formidable/images/formidable-128.png delete mode 100644 www/plugins/formidable/images/formidable-24.png delete mode 100644 www/plugins/formidable/images/formidable-64.png delete mode 100644 www/plugins/formidable/images/formidable.svg delete mode 100644 www/plugins/formidable/images/formulaire-24.png delete mode 100644 www/plugins/formidable/images/formulaire-action-ajouter.png delete mode 100644 www/plugins/formidable/images/formulaire-analyse-24.png delete mode 100644 www/plugins/formidable/images/formulaire-config-auteurs-24.png delete mode 100644 www/plugins/formidable/images/formulaire-config-champs-24.png delete mode 100644 www/plugins/formidable/images/formulaire-config-traitements-24.png delete mode 100644 www/plugins/formidable/images/formulaire-dupliquer-24.png delete mode 100644 www/plugins/formidable/images/formulaire-editer-24.png delete mode 100644 www/plugins/formidable/images/formulaire-exporter-24.png delete mode 100644 www/plugins/formidable/images/formulaire-nouveau-48.png delete mode 100644 www/plugins/formidable/images/formulaire-reponse-24.png delete mode 100644 www/plugins/formidable/images/formulaire-reponse-supprimer-24.png delete mode 100644 www/plugins/formidable/images/formulaire-reponses-24.png delete mode 100644 www/plugins/formidable/images/formulaire-reponses-exporter-24.png delete mode 100644 www/plugins/formidable/images/formulaire-reponses-supprimer-24.png delete mode 100644 www/plugins/formidable/images/formulaire-supprimer-24.png delete mode 100644 www/plugins/formidable/inc/formidable.php delete mode 100644 www/plugins/formidable/inc/formidable_fichiers.php delete mode 100644 www/plugins/formidable/inc/rechercher_joints_formulaires_reponse_formulaires_reponses_champ.php delete mode 100644 www/plugins/formidable/lang/formidable.xml delete mode 100644 www/plugins/formidable/lang/formidable_ar.php delete mode 100644 www/plugins/formidable/lang/formidable_de.php delete mode 100644 www/plugins/formidable/lang/formidable_en.php delete mode 100644 www/plugins/formidable/lang/formidable_es.php delete mode 100644 www/plugins/formidable/lang/formidable_fr.php delete mode 100644 www/plugins/formidable/lang/formidable_it.php delete mode 100644 www/plugins/formidable/lang/formidable_pt_br.php delete mode 100644 www/plugins/formidable/lang/formidable_ru.php delete mode 100644 www/plugins/formidable/lang/formidable_sk.php delete mode 100644 www/plugins/formidable/lang/formulaire.xml delete mode 100644 www/plugins/formidable/lang/formulaire_fr.php delete mode 100644 www/plugins/formidable/lang/formulaire_pt_br.php delete mode 100644 www/plugins/formidable/lang/formulaire_ru.php delete mode 100644 www/plugins/formidable/lang/formulaires_reponse.xml delete mode 100644 www/plugins/formidable/lang/formulaires_reponse_fr.php delete mode 100644 www/plugins/formidable/lang/formulaires_reponse_pt_br.php delete mode 100644 www/plugins/formidable/lang/paquet-formidable.xml delete mode 100644 www/plugins/formidable/lang/paquet-formidable_en.php delete mode 100644 www/plugins/formidable/lang/paquet-formidable_es.php delete mode 100644 www/plugins/formidable/lang/paquet-formidable_fr.php delete mode 100644 www/plugins/formidable/lang/paquet-formidable_pt_br.php delete mode 100644 www/plugins/formidable/modeles/form.html delete mode 100644 www/plugins/formidable/modeles/formidable.html delete mode 100644 www/plugins/formidable/modeles/formulaire_aide_memoire.html delete mode 100644 www/plugins/formidable/modeles/formulaire_analyse.html delete mode 100644 www/plugins/formidable/modeles/formulaire_formidable.yaml delete mode 100644 www/plugins/formidable/modeles/formulaires_reponse.html delete mode 100644 www/plugins/formidable/noisettes/formulaire_formidable.html delete mode 100644 www/plugins/formidable/noisettes/formulaire_formidable.yaml delete mode 100644 www/plugins/formidable/notifications/formulaire_accuse.html delete mode 100644 www/plugins/formidable/notifications/formulaire_email.html delete mode 100644 www/plugins/formidable/paquet.xml delete mode 100644 www/plugins/formidable/prive/listes/corbeille_formulaires.html delete mode 100644 www/plugins/formidable/prive/listes/corbeille_formulaires_reponses.html delete mode 100644 www/plugins/formidable/prive/objets/contenu/formulaire.html delete mode 100644 www/plugins/formidable/prive/objets/contenu/formulaires_reponse.html delete mode 100644 www/plugins/formidable/prive/objets/infos/formulaire.html delete mode 100644 www/plugins/formidable/prive/objets/infos/formulaires_reponse.html delete mode 100644 www/plugins/formidable/prive/objets/liste/formulaires.html delete mode 100644 www/plugins/formidable/prive/objets/liste/formulaires_associer.html delete mode 100644 www/plugins/formidable/prive/objets/liste/formulaires_associer_fonctions.php delete mode 100644 www/plugins/formidable/prive/objets/liste/formulaires_lies.html delete mode 100644 www/plugins/formidable/prive/objets/liste/formulaires_lies_fonctions.php delete mode 100644 www/plugins/formidable/prive/objets/liste/formulaires_reponses.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/configurer_formidable.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/formulaire.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/formulaire_edit.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/formulaires.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/formulaires_analyse.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/formulaires_reponse.html delete mode 100644 www/plugins/formidable/prive/squelettes/contenu/formulaires_reponses.html delete mode 100644 www/plugins/formidable/prive/squelettes/extra/formulaire.html delete mode 100644 www/plugins/formidable/prive/squelettes/extra/formulaire_edit.html delete mode 100755 www/plugins/formidable/prive/squelettes/extra/formulaires_analyse.html delete mode 100644 www/plugins/formidable/prive/squelettes/extra/formulaires_reponses.html delete mode 100644 www/plugins/formidable/prive/squelettes/hierarchie/formulaire.html delete mode 100644 www/plugins/formidable/prive/squelettes/hierarchie/formulaire_edit.html delete mode 100644 www/plugins/formidable/prive/squelettes/hierarchie/formulaires.html delete mode 100644 www/plugins/formidable/prive/squelettes/hierarchie/formulaires_analyse.html delete mode 100644 www/plugins/formidable/prive/squelettes/hierarchie/formulaires_reponse.html delete mode 100644 www/plugins/formidable/prive/squelettes/hierarchie/formulaires_reponses.html delete mode 100644 www/plugins/formidable/prive/squelettes/inclure/formulaires_lies.html delete mode 100644 www/plugins/formidable/prive/squelettes/inclure/formulaires_reponses-filtres.html delete mode 100644 www/plugins/formidable/prive/squelettes/navigation/formulaire.html delete mode 100644 www/plugins/formidable/prive/squelettes/navigation/formulaire_edit.html delete mode 100644 www/plugins/formidable/prive/squelettes/navigation/formulaires.html delete mode 100644 www/plugins/formidable/prive/squelettes/navigation/formulaires_analyse.html delete mode 100644 www/plugins/formidable/prive/squelettes/navigation/formulaires_reponse.html delete mode 100644 www/plugins/formidable/prive/squelettes/navigation/formulaires_reponses.html delete mode 100644 www/plugins/formidable/prive/style_prive_plugin_formidable.html delete mode 100644 www/plugins/formidable/prive/themes/basic/images/formulaire-16.png delete mode 100644 www/plugins/formidable/prive/themes/spip/images/formulaire-16.png delete mode 100644 www/plugins/formidable/prive/themes/spip/images/formulaire-24.png delete mode 100644 www/plugins/formidable/prive/themes/spip/images/formulaires_reponse-24.png delete mode 100644 www/plugins/formidable/public/formidable_criteres.php delete mode 100644 www/plugins/formidable/puce_statut/formulaires_reponse.php delete mode 100644 www/plugins/formidable/saisies-analyses/_base.html delete mode 100644 www/plugins/formidable/saisies-analyses/auteurs.html delete mode 100644 www/plugins/formidable/saisies-analyses/case.html delete mode 100644 www/plugins/formidable/saisies-analyses/checkbox.html delete mode 100644 www/plugins/formidable/saisies-analyses/destinataires.html delete mode 100644 www/plugins/formidable/saisies-analyses/explication.html delete mode 100644 www/plugins/formidable/saisies-analyses/fichiers.html delete mode 100644 www/plugins/formidable/saisies-analyses/fieldset.html delete mode 100644 www/plugins/formidable/saisies-analyses/oui_non.html delete mode 100644 www/plugins/formidable/saisies-analyses/radio.html delete mode 100644 www/plugins/formidable/saisies-analyses/selecteur_article.html delete mode 100644 www/plugins/formidable/saisies-analyses/selecteur_rubrique.html delete mode 100644 www/plugins/formidable/saisies-analyses/selecteur_rubrique_article.html delete mode 100644 www/plugins/formidable/saisies-analyses/selection.html delete mode 100644 www/plugins/formidable/saisies-analyses/selection_multiple.html delete mode 100644 www/plugins/formidable/saisies-vues/formulaire_formidable.html delete mode 100644 www/plugins/formidable/saisies-vues/formulaire_formidable_multiple.html delete mode 100644 www/plugins/formidable/saisies/champ.html delete mode 100644 www/plugins/formidable/saisies/formulaire_formidable.html delete mode 100644 www/plugins/formidable/saisies/formulaire_formidable_multiple.html delete mode 100644 www/plugins/formidable/svn.revision delete mode 100644 www/plugins/formidable/todo.txt delete mode 100644 www/plugins/formidable/traiter/email.php delete mode 100644 www/plugins/formidable/traiter/email.yaml delete mode 100644 www/plugins/formidable/traiter/enregistrement.php delete mode 100644 www/plugins/formidable/traiter/enregistrement.yaml create mode 160000 www/plugins/nospam delete mode 100644 www/plugins/nospam/images/nospam-32.png delete mode 100644 www/plugins/nospam/images/nospam.gif delete mode 100644 www/plugins/nospam/images/nospam.png delete mode 100644 www/plugins/nospam/inc/detecter_langue.php delete mode 100644 www/plugins/nospam/inc/nospam.php delete mode 100644 www/plugins/nospam/inclure/nobot.html delete mode 100644 www/plugins/nospam/lang/nospam.xml delete mode 100644 www/plugins/nospam/lang/nospam_ar.php delete mode 100644 www/plugins/nospam/lang/nospam_de.php delete mode 100644 www/plugins/nospam/lang/nospam_en.php delete mode 100644 www/plugins/nospam/lang/nospam_es.php delete mode 100644 www/plugins/nospam/lang/nospam_fa.php delete mode 100644 www/plugins/nospam/lang/nospam_fr.php delete mode 100644 www/plugins/nospam/lang/nospam_fr_tu.php delete mode 100644 www/plugins/nospam/lang/nospam_nl.php delete mode 100644 www/plugins/nospam/lang/nospam_pt_br.php delete mode 100644 www/plugins/nospam/lang/nospam_sk.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam.xml delete mode 100644 www/plugins/nospam/lang/paquet-nospam_ar.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_de.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_en.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_es.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_fr.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_fr_tu.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_nl.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_pt_br.php delete mode 100644 www/plugins/nospam/lang/paquet-nospam_sk.php delete mode 100644 www/plugins/nospam/nospam/verifier_formulaire_ecrire_auteur.php delete mode 100644 www/plugins/nospam/nospam/verifier_formulaire_forum.php delete mode 100644 www/plugins/nospam/nospam/verifier_formulaire_signature.php delete mode 100644 www/plugins/nospam/nospam_pipelines.php delete mode 100644 www/plugins/nospam/paquet.xml delete mode 100644 www/plugins/nospam/plugin.xml delete mode 100644 www/plugins/nospam/svn.revision create mode 160000 www/plugins/reservation_evenement create mode 160000 www/plugins/saisies delete mode 100644 www/plugins/saisies/action/deplacer_saisie.php delete mode 100644 www/plugins/saisies/aide/saisies.html delete mode 100644 www/plugins/saisies/balise/configurer_saisie.php delete mode 100644 www/plugins/saisies/balise/generer_saisies.php delete mode 100644 www/plugins/saisies/balise/saisie.php delete mode 100644 www/plugins/saisies/balise/voir_saisie.php delete mode 100644 www/plugins/saisies/balise/voir_saisies.php delete mode 100644 www/plugins/saisies/css/formulaires_constructeur.css delete mode 100644 www/plugins/saisies/demo/configurer_saisie.html delete mode 100644 www/plugins/saisies/demo/generer_saisies.html delete mode 100644 www/plugins/saisies/demo/page-saisies_cvt.html delete mode 100644 www/plugins/saisies/demo/saisie.html delete mode 100644 www/plugins/saisies/demo/voir_saisie.html delete mode 100644 www/plugins/saisies/demo/voir_saisies.html delete mode 100644 www/plugins/saisies/formulaires/construire_formulaire.html delete mode 100644 www/plugins/saisies/formulaires/construire_formulaire.php delete mode 100644 www/plugins/saisies/formulaires/inc-construire_formulaire-actions.html delete mode 100644 www/plugins/saisies/formulaires/inc-generer_saisies_configurables.html delete mode 100644 www/plugins/saisies/formulaires/inc-saisies-cvt.html delete mode 100644 www/plugins/saisies/formulaires/saisies_cvt.html delete mode 100644 www/plugins/saisies/formulaires/saisies_cvt.php delete mode 100644 www/plugins/saisies/images/formulaire-annuler-16.png delete mode 100644 www/plugins/saisies/images/formulaire-configurer-16.png delete mode 100644 www/plugins/saisies/images/formulaire-deplacer-16.png delete mode 100644 www/plugins/saisies/images/formulaire-dupliquer-16.png delete mode 100644 www/plugins/saisies/images/formulaire-enregistrer-16.png delete mode 100644 www/plugins/saisies/images/formulaire-reinitialiser-24.png delete mode 100644 www/plugins/saisies/images/formulaire-saisie-defaut.png delete mode 100644 www/plugins/saisies/images/formulaire-supprimer-16.png delete mode 100644 www/plugins/saisies/images/logo_saisie_48.png delete mode 100644 www/plugins/saisies/images/saisies-16.png delete mode 100644 www/plugins/saisies/images/saisies-24.png delete mode 100644 www/plugins/saisies/images/saisies-32.png delete mode 100644 www/plugins/saisies/images/saisies_auteurs.png delete mode 100644 www/plugins/saisies/images/saisies_case.png delete mode 100644 www/plugins/saisies/images/saisies_checkbox.png delete mode 100644 www/plugins/saisies/images/saisies_date.png delete mode 100644 www/plugins/saisies/images/saisies_email.png delete mode 100644 www/plugins/saisies/images/saisies_explication.png delete mode 100644 www/plugins/saisies/images/saisies_fieldset.png delete mode 100644 www/plugins/saisies/images/saisies_hidden.png delete mode 100644 www/plugins/saisies/images/saisies_input.png delete mode 100644 www/plugins/saisies/images/saisies_oui_non.png delete mode 100644 www/plugins/saisies/images/saisies_radio.png delete mode 100644 www/plugins/saisies/images/saisies_selecteur_article.png delete mode 100644 www/plugins/saisies/images/saisies_selecteur_rubrique.png delete mode 100644 www/plugins/saisies/images/saisies_selecteur_rubrique_article.png delete mode 100644 www/plugins/saisies/images/saisies_selection.png delete mode 100644 www/plugins/saisies/images/saisies_selection_multiple.png delete mode 100644 www/plugins/saisies/images/saisies_textarea.png delete mode 100644 www/plugins/saisies/inc/saisies.php delete mode 100644 www/plugins/saisies/inc/saisies_afficher.php delete mode 100644 www/plugins/saisies/inc/saisies_lister.php delete mode 100644 www/plugins/saisies/inc/saisies_manipuler.php delete mode 100644 www/plugins/saisies/inclure/configurer_saisie.html delete mode 100644 www/plugins/saisies/inclure/configurer_saisie_fonctions.php delete mode 100644 www/plugins/saisies/inclure/fieldset_legend.html delete mode 100644 www/plugins/saisies/inclure/generer_saisies.html delete mode 100644 www/plugins/saisies/inclure/js_afficher_si.html delete mode 100644 www/plugins/saisies/inclure/saisies_aide.html delete mode 100644 www/plugins/saisies/inclure/voir_saisies.html delete mode 100644 www/plugins/saisies/javascript/saisies.js delete mode 100644 www/plugins/saisies/lang/paquet-saisies.xml delete mode 100644 www/plugins/saisies/lang/paquet-saisies_ar.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_de.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_en.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_es.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_fr.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_fr_tu.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_nl.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_pt_br.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_ru.php delete mode 100644 www/plugins/saisies/lang/paquet-saisies_sk.php delete mode 100644 www/plugins/saisies/lang/saisies.xml delete mode 100644 www/plugins/saisies/lang/saisies_ca.php delete mode 100644 www/plugins/saisies/lang/saisies_de.php delete mode 100644 www/plugins/saisies/lang/saisies_en.php delete mode 100644 www/plugins/saisies/lang/saisies_es.php delete mode 100644 www/plugins/saisies/lang/saisies_fa.php delete mode 100644 www/plugins/saisies/lang/saisies_fr.php delete mode 100644 www/plugins/saisies/lang/saisies_fr_tu.php delete mode 100644 www/plugins/saisies/lang/saisies_it.php delete mode 100644 www/plugins/saisies/lang/saisies_nl.php delete mode 100644 www/plugins/saisies/lang/saisies_pt_br.php delete mode 100644 www/plugins/saisies/lang/saisies_ru.php delete mode 100644 www/plugins/saisies/lang/saisies_sk.php delete mode 100644 www/plugins/saisies/paquet.xml delete mode 100644 www/plugins/saisies/prive/exec/construire_formulaire.html delete mode 100644 www/plugins/saisies/prive/listes/articles_originaux_recursifs.html delete mode 100644 www/plugins/saisies/prive/listes/rubriques_recursives.html delete mode 100644 www/plugins/saisies/prive/squelettes/contenu/saisies_doc.html delete mode 100644 www/plugins/saisies/prive/squelettes/navigation/saisies_doc.html delete mode 100644 www/plugins/saisies/prive/style_prive_plugin_saisies.html delete mode 100644 www/plugins/saisies/saisies-vues/_base.html delete mode 100644 www/plugins/saisies/saisies-vues/auteurs.html delete mode 100644 www/plugins/saisies/saisies-vues/case.html delete mode 100644 www/plugins/saisies/saisies-vues/checkbox.html delete mode 100644 www/plugins/saisies/saisies-vues/couleur.html delete mode 100644 www/plugins/saisies/saisies-vues/date.html delete mode 100644 www/plugins/saisies/saisies-vues/destinataires.html delete mode 100644 www/plugins/saisies/saisies-vues/explication.html delete mode 100644 www/plugins/saisies/saisies-vues/fieldset.html delete mode 100644 www/plugins/saisies/saisies-vues/groupe_mots.html delete mode 100644 www/plugins/saisies/saisies-vues/mot.html delete mode 100644 www/plugins/saisies/saisies-vues/oui_non.html delete mode 100644 www/plugins/saisies/saisies-vues/radio.html delete mode 100644 www/plugins/saisies/saisies-vues/secteur.html delete mode 100644 www/plugins/saisies/saisies-vues/selecteur.html delete mode 100644 www/plugins/saisies/saisies-vues/selecteur_article.html delete mode 100644 www/plugins/saisies/saisies-vues/selecteur_article_fonctions.php delete mode 100644 www/plugins/saisies/saisies-vues/selecteur_document.html delete mode 100644 www/plugins/saisies/saisies-vues/selecteur_rubrique.html delete mode 100644 www/plugins/saisies/saisies-vues/selecteur_rubrique_article.html delete mode 100644 www/plugins/saisies/saisies-vues/selecteur_site.html delete mode 100644 www/plugins/saisies/saisies-vues/selection.html delete mode 100644 www/plugins/saisies/saisies-vues/selection_multiple.html delete mode 100644 www/plugins/saisies/saisies.css.html delete mode 100644 www/plugins/saisies/saisies/_base.html delete mode 100644 www/plugins/saisies/saisies/articles_originaux.html delete mode 100644 www/plugins/saisies/saisies/auteurs.html delete mode 100644 www/plugins/saisies/saisies/auteurs.yaml delete mode 100644 www/plugins/saisies/saisies/case.html delete mode 100644 www/plugins/saisies/saisies/case.yaml delete mode 100644 www/plugins/saisies/saisies/checkbox.html delete mode 100644 www/plugins/saisies/saisies/checkbox.yaml delete mode 100644 www/plugins/saisies/saisies/choisir_objet.html delete mode 100644 www/plugins/saisies/saisies/choisir_objets.html delete mode 100644 www/plugins/saisies/saisies/choisir_objets_edit.html delete mode 100644 www/plugins/saisies/saisies/couleur.html delete mode 100644 www/plugins/saisies/saisies/date.html delete mode 100644 www/plugins/saisies/saisies/date.yaml delete mode 100644 www/plugins/saisies/saisies/date_jour_mois_annee.html delete mode 100644 www/plugins/saisies/saisies/destinataires.html delete mode 100644 www/plugins/saisies/saisies/destinataires.yaml delete mode 100644 www/plugins/saisies/saisies/email.html delete mode 100644 www/plugins/saisies/saisies/email.yaml delete mode 100644 www/plugins/saisies/saisies/explication.html delete mode 100644 www/plugins/saisies/saisies/explication.yaml delete mode 100644 www/plugins/saisies/saisies/fieldset.html delete mode 100644 www/plugins/saisies/saisies/fieldset.yaml delete mode 100644 www/plugins/saisies/saisies/groupe_mots.html delete mode 100644 www/plugins/saisies/saisies/hidden.html delete mode 100644 www/plugins/saisies/saisies/hidden.yaml delete mode 100644 www/plugins/saisies/saisies/input.html delete mode 100644 www/plugins/saisies/saisies/input.yaml delete mode 100644 www/plugins/saisies/saisies/mot.html delete mode 100644 www/plugins/saisies/saisies/mot.yaml delete mode 100644 www/plugins/saisies/saisies/oui_non.html delete mode 100644 www/plugins/saisies/saisies/oui_non.yaml delete mode 100644 www/plugins/saisies/saisies/pays.html delete mode 100644 www/plugins/saisies/saisies/police.html delete mode 100644 www/plugins/saisies/saisies/position_construire_formulaire.html delete mode 100644 www/plugins/saisies/saisies/radio.html delete mode 100644 www/plugins/saisies/saisies/radio.yaml delete mode 100644 www/plugins/saisies/saisies/recherche.html delete mode 100644 www/plugins/saisies/saisies/secteur.html delete mode 100644 www/plugins/saisies/saisies/selecteur.html delete mode 100644 www/plugins/saisies/saisies/selecteur_article.html delete mode 100644 www/plugins/saisies/saisies/selecteur_article.yaml delete mode 100644 www/plugins/saisies/saisies/selecteur_document.html delete mode 100644 www/plugins/saisies/saisies/selecteur_document.yaml delete mode 100644 www/plugins/saisies/saisies/selecteur_langue.html delete mode 100644 www/plugins/saisies/saisies/selecteur_rubrique.html delete mode 100644 www/plugins/saisies/saisies/selecteur_rubrique.yaml delete mode 100644 www/plugins/saisies/saisies/selecteur_rubrique_article.html delete mode 100644 www/plugins/saisies/saisies/selecteur_rubrique_article.yaml delete mode 100644 www/plugins/saisies/saisies/selecteur_site.html delete mode 100644 www/plugins/saisies/saisies/selection.html delete mode 100644 www/plugins/saisies/saisies/selection.yaml delete mode 100755 www/plugins/saisies/saisies/selection_multiple.html delete mode 100644 www/plugins/saisies/saisies/selection_multiple.yaml delete mode 100644 www/plugins/saisies/saisies/selection_par_groupe.html delete mode 100644 www/plugins/saisies/saisies/statuts_auteurs.html delete mode 100644 www/plugins/saisies/saisies/telephone.html delete mode 100644 www/plugins/saisies/saisies/textarea.html delete mode 100644 www/plugins/saisies/saisies/textarea.yaml delete mode 100644 www/plugins/saisies/saisies/true_false.html delete mode 100644 www/plugins/saisies/saisies/url.html delete mode 100644 www/plugins/saisies/saisies_fonctions.php delete mode 100644 www/plugins/saisies/saisies_options.php delete mode 100644 www/plugins/saisies/saisies_pipelines.php delete mode 100644 www/plugins/saisies/svn.revision create mode 100755 www/plugins/skel_lhc/contenu/evenement.html create mode 100644 www/plugins/skel_lhc/evenement.html create mode 100644 www/plugins/skel_lhc/formulaires/inc-reservation_connection.html create mode 100644 www/plugins/skel_lhc/formulaires/inc-reservation_evenements.html create mode 100755 www/plugins/skel_lhc/formulaires/reservation.html create mode 160000 www/plugins/spip-bonux delete mode 100644 www/plugins/spip-bonux-3/demo/boucle_et_saut.html delete mode 100644 www/plugins/spip-bonux-3/demo/boucles_iterations.html delete mode 100644 www/plugins/spip-bonux-3/demo/noeud.html delete mode 100644 www/plugins/spip-bonux-3/img_pack/annuler-recherche.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/article-12.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/deplier-droite.gif delete mode 100644 www/plugins/spip-bonux-3/img_pack/deplier-droite.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/frame-close.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/item-add.gif delete mode 100644 www/plugins/spip-bonux-3/img_pack/item-add.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/item-remove.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/logo-bonux.gif delete mode 100644 www/plugins/spip-bonux-3/img_pack/message_erreur-24.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/message_notice-24.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/message_ok-24.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/spip-bonux.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_asc-12.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_asc-16.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_asc-24.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_asc.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_desc-12.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_desc-16.png delete mode 100644 www/plugins/spip-bonux-3/img_pack/tri_desc-24.png delete mode 100644 www/plugins/spip-bonux-3/inc/date_gestion.php delete mode 100644 www/plugins/spip-bonux-3/inc/exporter_csv.php delete mode 100644 www/plugins/spip-bonux-3/inc/importer_csv.php delete mode 100644 www/plugins/spip-bonux-3/javascript/jquery.qtip-1.0.0-rc3.js delete mode 100644 www/plugins/spip-bonux-3/javascript/jquery.qtip.activate.js delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux.xml delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_ar.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_de.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_en.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_es.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_fa.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_fr.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_nl.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_pt_br.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_ru.php delete mode 100644 www/plugins/spip-bonux-3/lang/paquet-spip_bonux_sk.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux.xml delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_ar.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_de.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_en.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_es.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_fa.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_fr.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_nl.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_pt_br.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_ru.php delete mode 100644 www/plugins/spip-bonux-3/lang/spip_bonux_sk.php delete mode 100755 www/plugins/spip-bonux-3/lib/array_column/_array_column.php delete mode 100644 www/plugins/spip-bonux-3/modeles/pagination_noancre.html delete mode 100644 www/plugins/spip-bonux-3/paquet.xml delete mode 100644 www/plugins/spip-bonux-3/public/spip_bonux_balises.php delete mode 100644 www/plugins/spip-bonux-3/public/spip_bonux_criteres.php delete mode 100644 www/plugins/spip-bonux-3/spip_bonux_fonctions.php delete mode 100644 www/plugins/spip-bonux-3/spip_bonux_options.php delete mode 100644 www/plugins/spip-bonux-3/svn.revision delete mode 100644 www/plugins/spip-bonux-3/tests/balises/set_merge.html delete mode 100644 www/plugins/spip-bonux-3/tests/balises/set_push.html create mode 160000 www/plugins/verifier delete mode 100644 www/plugins/verifier/aide/verifier.html delete mode 100644 www/plugins/verifier/aide/verifier_fonctions.php delete mode 100644 www/plugins/verifier/images/icones-infos.txt delete mode 100644 www/plugins/verifier/images/verifier-128.png delete mode 100644 www/plugins/verifier/images/verifier-16.png delete mode 100644 www/plugins/verifier/images/verifier-24.png delete mode 100644 www/plugins/verifier/images/verifier-32.png delete mode 100644 www/plugins/verifier/inc/is_email.php delete mode 100644 www/plugins/verifier/inc/verifier.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier.xml delete mode 100644 www/plugins/verifier/lang/paquet-verifier_de.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_en.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_es.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_fr.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_fr_tu.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_nl.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_pt_br.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_ru.php delete mode 100644 www/plugins/verifier/lang/paquet-verifier_sk.php delete mode 100644 www/plugins/verifier/lang/verifier.xml delete mode 100644 www/plugins/verifier/lang/verifier_ca.php delete mode 100644 www/plugins/verifier/lang/verifier_de.php delete mode 100644 www/plugins/verifier/lang/verifier_en.php delete mode 100644 www/plugins/verifier/lang/verifier_es.php delete mode 100644 www/plugins/verifier/lang/verifier_fa.php delete mode 100644 www/plugins/verifier/lang/verifier_fr.php delete mode 100644 www/plugins/verifier/lang/verifier_fr_tu.php delete mode 100644 www/plugins/verifier/lang/verifier_it.php delete mode 100644 www/plugins/verifier/lang/verifier_nl.php delete mode 100644 www/plugins/verifier/lang/verifier_pt_br.php delete mode 100644 www/plugins/verifier/lang/verifier_ru.php delete mode 100644 www/plugins/verifier/lang/verifier_sk.php delete mode 100644 www/plugins/verifier/paquet.xml delete mode 100644 www/plugins/verifier/plugin.xml delete mode 100644 www/plugins/verifier/prive/squelettes/contenu/verifier_doc.html delete mode 100644 www/plugins/verifier/prive/squelettes/navigation/verifier_doc.html delete mode 100644 www/plugins/verifier/prive/style_prive_plugin_verifier.html delete mode 100644 www/plugins/verifier/svn.revision delete mode 100644 www/plugins/verifier/test/verifier.html delete mode 100644 www/plugins/verifier/verifier/code_postal.php delete mode 100644 www/plugins/verifier/verifier/code_postal.yaml delete mode 100644 www/plugins/verifier/verifier/comparaison_champ.php delete mode 100644 www/plugins/verifier/verifier/comparaison_champ.yaml delete mode 100644 www/plugins/verifier/verifier/couleur.php delete mode 100644 www/plugins/verifier/verifier/couleur.yaml delete mode 100644 www/plugins/verifier/verifier/date.php delete mode 100644 www/plugins/verifier/verifier/date.yaml delete mode 100644 www/plugins/verifier/verifier/decimal.php delete mode 100644 www/plugins/verifier/verifier/decimal.yaml delete mode 100644 www/plugins/verifier/verifier/email.php delete mode 100644 www/plugins/verifier/verifier/email.yaml delete mode 100644 www/plugins/verifier/verifier/entier.php delete mode 100644 www/plugins/verifier/verifier/entier.yaml delete mode 100755 www/plugins/verifier/verifier/fichiers.php delete mode 100644 www/plugins/verifier/verifier/fichiers.yaml delete mode 100644 www/plugins/verifier/verifier/id_document.php delete mode 100644 www/plugins/verifier/verifier/id_document.yaml delete mode 100644 www/plugins/verifier/verifier/id_objet.php delete mode 100644 www/plugins/verifier/verifier/id_objet.yaml delete mode 100755 www/plugins/verifier/verifier/image_upload.php delete mode 100755 www/plugins/verifier/verifier/image_upload_multiple.php delete mode 100644 www/plugins/verifier/verifier/isbn.php delete mode 100644 www/plugins/verifier/verifier/isbn.yaml delete mode 100644 www/plugins/verifier/verifier/password.php delete mode 100644 www/plugins/verifier/verifier/regex.php delete mode 100644 www/plugins/verifier/verifier/regex.yaml delete mode 100644 www/plugins/verifier/verifier/siren_siret.php delete mode 100644 www/plugins/verifier/verifier/siren_siret.yaml delete mode 100644 www/plugins/verifier/verifier/taille.php delete mode 100644 www/plugins/verifier/verifier/taille.yaml delete mode 100644 www/plugins/verifier/verifier/telephone.php delete mode 100644 www/plugins/verifier/verifier/telephone.yaml delete mode 100644 www/plugins/verifier/verifier/url.php delete mode 100644 www/plugins/verifier/verifier/url.yaml delete mode 100644 www/plugins/verifier/verifier_fonctions.php create mode 160000 www/plugins/yaml delete mode 100644 www/plugins/yaml/demo/iter_data_yaml.html delete mode 100644 www/plugins/yaml/experimental/README delete mode 100644 www/plugins/yaml/experimental/yaml.html delete mode 100644 www/plugins/yaml/experimental/yaml_fonctions.php delete mode 100644 www/plugins/yaml/inc/yaml.php delete mode 100644 www/plugins/yaml/inc/yaml_sfyaml.php delete mode 100644 www/plugins/yaml/inc/yaml_to_array.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml.xml delete mode 100644 www/plugins/yaml/lang/paquet-yaml_de.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_en.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_es.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_fa.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_fr.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_nl.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_pt_br.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_ru.php delete mode 100644 www/plugins/yaml/lang/paquet-yaml_sk.php delete mode 100644 www/plugins/yaml/paquet.xml delete mode 100644 www/plugins/yaml/plugin.xml delete mode 100755 www/plugins/yaml/sfyaml/sfYaml.php delete mode 100755 www/plugins/yaml/sfyaml/sfYamlDumper.php delete mode 100755 www/plugins/yaml/sfyaml/sfYamlInline.php delete mode 100755 www/plugins/yaml/sfyaml/sfYamlParser.php delete mode 100644 www/plugins/yaml/spyc/spyc-php4.php delete mode 100644 www/plugins/yaml/spyc/spyc.php delete mode 100644 www/plugins/yaml/svn.revision delete mode 100644 www/plugins/yaml/yaml.png delete mode 100644 www/plugins/yaml/yaml_fonctions.php diff --git a/.gitmodules b/.gitmodules index 0692065a..4077323b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,36 @@ [submodule "www/plugins/metasplus"] path = www/plugins/metasplus url = https://git.spip.net/spip-contrib-extensions/metasplus.git +[submodule "www/plugins/agenda"] + path = www/plugins/agenda + url = https://git.spip.net/spip-contrib-extensions/agenda.git +[submodule "www/plugins/calendrier_mini"] + path = www/plugins/calendrier_mini + url = https://git.spip.net/spip-contrib-extensions/calendrier_mini.git +[submodule "www/plugins/facteur"] + path = www/plugins/facteur + url = https://git.spip.net/spip-contrib-extensions/facteur.git +[submodule "www/plugins/formidable"] + path = www/plugins/formidable + url = https://git.spip.net/spip-contrib-extensions/formidable.git +[submodule "www/plugins/nospam"] + path = www/plugins/nospam + url = https://git.spip.net/spip-contrib-extensions/nospam.git +[submodule "www/plugins/saisies"] + path = www/plugins/saisies + url = https://git.spip.net/spip-contrib-extensions/saisies.git +[submodule "www/plugins/spip-bonux"] + path = www/plugins/spip-bonux + url = https://git.spip.net/spip-contrib-extensions/spip-bonux.git +[submodule "www/plugins/verifier"] + path = www/plugins/verifier + url = https://git.spip.net/spip-contrib-extensions/verifier.git +[submodule "www/plugins/reservation_evenement"] + path = www/plugins/reservation_evenement + url = https://git.spip.net/spip-contrib-extensions/reservation_evenement.git +[submodule "www/plugins/yaml"] + path = www/plugins/yaml + url = https://git.spip.net/spip-contrib-extensions/yaml.git +[submodule "www/plugins/crayons"] + path = www/plugins/crayons + url = https://git.spip.net/spip-contrib-extensions/crayons.git diff --git a/www/plugins/agenda b/www/plugins/agenda new file mode 160000 index 00000000..4d70d290 --- /dev/null +++ b/www/plugins/agenda @@ -0,0 +1 @@ +Subproject commit 4d70d2909751bece80d3e16fb9cc2f3423fb1324 diff --git a/www/plugins/calendrier_mini b/www/plugins/calendrier_mini new file mode 160000 index 00000000..fa594e7a --- /dev/null +++ b/www/plugins/calendrier_mini @@ -0,0 +1 @@ +Subproject commit fa594e7af8ee320310bb2aad912c58541910b7c8 diff --git a/www/plugins/crayons b/www/plugins/crayons new file mode 160000 index 00000000..fb728cf7 --- /dev/null +++ b/www/plugins/crayons @@ -0,0 +1 @@ +Subproject commit fb728cf7431b81cc094debdfbd21a8b336d41c7e diff --git a/www/plugins/crayons/action/crayons.php b/www/plugins/crayons/action/crayons.php deleted file mode 100644 index 8bdc3651..00000000 --- a/www/plugins/crayons/action/crayons.php +++ /dev/null @@ -1,34 +0,0 @@ -''); - - if (preg_match(_PREG_CRAYON, $class, $regs)) { - list(,$nomcrayon,$type,$champ,$id) = $regs; - $regs[] = $class; - - // A-t-on le droit de crayonner ? - spip_log("autoriser('crayonner', $type, $id, NULL, array('modele'=>$champ)", 'crayons_distant'); - if (!autoriser('crayonner', $type, $id, null, array('modele'=>$champ))) { - $return['$erreur'] = "$type $id: " . _U('crayons:non_autorise'); - } else { - $f = charger_fonction($type.'_'.$champ, 'controleurs', true) - or $f = charger_fonction($champ, 'controleurs', true) - or $f = charger_fonction($type, 'controleurs', true) - or $f = 'controleur_dist'; - list($html,$status) = $f($regs, $c); - if ($status) { - $return['$erreur'] = $html; - } else { - $return['$html'] = $html; - } - } - } else { - $return['$erreur'] = _U('crayons:donnees_mal_formatees'); - } - - return $return; -} - -function controleur_dist($regs, $c = null) { - list( , $nomcrayon, $type, $champ, $id, $class) = $regs; - $options = array( - 'class' => $class - ); - list($distant,$table) = distant_table($type); - - // Si le controleur est un squelette html, on va chercher - // les champs qu'il lui faut dans la table demandee - // Attention, un controleur multi-tables ne fonctionnera - // que si les champs ont le meme nom dans toutes les tables - // (par exemple: hyperlien est ok, mais pas nom) - if (($fichier = find_in_path(($controleur = 'controleurs/' . $type . '_' . $champ) . '.html')) - || ($fichier = find_in_path(($controleur = 'controleurs/' . $champ) .'.html'))) { - if (!lire_fichier($fichier, $controldata)) { - die('erreur lecture controleur'); - } - if (preg_match_all('/\bname=(["\'])#ENV\{name_(\w+)\}\1/', $controldata, $matches, PREG_PATTERN_ORDER)) { - $champ = $matches[2]; - } - } else { - $controleur = ''; - } - - $valeur = valeur_colonne_table($type, $champ, $id); - - #spip_log("$valeur = valeur_colonne_table($type, $champ, $id);"); - #spip_log($champ); - - if ($valeur === false) { - return array("$type $id $champ: " . _U('crayons:pas_de_valeur'), 6); - } -/* if (is_scalar($valeur)) { - $valeur = array($champ => $valeur); - }*/ - - // type du crayon (a revoir quand le core aura type ses donnees) - $inputAttrs = array(); - if ($controleur) { - $options['hauteurMini'] = 80; // base de hauteur mini - $option['inmode'] = 'controleur'; - $options['controleur'] = $controleur; - } elseif (preg_match(",[\n\r],", $valeur[$champ]) - or (($champ == 'valeur') && ($id == 'descriptif_site')) - or - // on regarde le type tel que defini dans serial - // (attention il y avait des blob dans les vieux spip) - ($sqltype = colonne_table($type, $champ)) && - (in_array($sqltype['type'], array('mediumtext', 'longblob', 'longtext')) || - (($sqltype['type'] == 'text' || $sqltype['type'] == 'blob') - and in_array($champ, array('descriptif', 'bio'))))) { - // si la valeur fait plusieurs lignes on doit mettre un textarea - // derogation specifique pour descriptif_site de spip_metas - $options['hauteurMini'] = 80; // hauteur mini d'un textarea - $option['inmode'] = 'texte'; - } else { // ligne, hauteur naturelle - $options['hauteurMaxi'] = 0; - $option['inmode'] = 'ligne'; - // c'est un nombre entier - if ($sqltype['long']) { - // si long est [4,3] sa longueur maxi est 8 (1234,123) - if (is_array($sqltype['long'])) { - if (count($sqltype['long']) == 2) { - $inputAttrs['maxlength'] = $sqltype['long'][0] + 1 + $sqltype['long'][1]; - } else { - // on ne sait pas ce que c'est ! - $inputAttrs['maxlength'] = $sqltype['long'][0]; - } - } else { - $inputAttrs['maxlength'] = $sqltype['long']; - } - } - } - - $crayon = new Crayon($nomcrayon, $valeur, $options, $c); - $inputAttrs['style'] = implode('', $crayon->styles); - - if (!$controleur) { - $inputAttrs['style'] .= 'width:' . $crayon->largeur . 'px;' . - ($crayon->hauteur ? ' height:' . $crayon->hauteur . 'px;' : ''); - } - - $html = $controleur ? $crayon->formulaire(null, $inputAttrs) : - $crayon->formulaire($option['inmode'], $inputAttrs); - $status = null; - - return array($html,$status); -} - -// Definition des crayons -class Crayon { - // le nom du crayon "type-modele-id" comme "article-introduction-237" - var $name; - // type, a priori une table, extrait du nom plus eventuellement base distante - var $type; - // table la table a crayonner - var $table; - // distant base distante - var $distant; - // modele, un champ comme "texte" ou un modele, extrait du nom - var $modele; - // l'identificateur dans le type, comme un numero d'article - var $id; - // la ou les valeurs des champs du crayon, tableau associatif champ => valeur - var $texts = array(); - // une cle unique pour chaque crayon demande - var $key; - // un md5 associe aux valeurs pour verifier et detecter si elles changent - var $md5; - // dimensions indicatives - var $largeurMini = 170; - var $largeurMaxi = 700; - var $hauteurMini = 80; - var $hauteurMaxi = 700; - var $largeur; - // le mode d'entree: texte, ligne ou controleur - var $inmode = ''; - // eventuellement le fond modele pour le controleur - var $controleur = ''; - var $styles = array(); - - // le constructeur du crayon - // $name : son nom - // $texts : tableau associatif des valeurs ou valeur unique si crayon monochamp - // $options : options directes du crayon (developpement) - function __construct($name, $texts = array(), $options = array(), $c = null) { - $this->name = $name; - - list($this->type, $this->modele, $this->id) = array_pad(explode('-', $this->name, 3), 3, ''); - list($this->distant,$this->table) = distant_table($this->type); - if (is_scalar($texts) || is_null($texts)) { - $texts = array($this->modele => $texts); - } - $this->texts = $texts; - $this->key = strtr(uniqid('wid', true), '.', '_'); - $this->md5 = $this->md5(); - foreach ($options as $opt => $val) { - $this->$opt = $val; - } - $this->dimension($c); - $this->css(); - } - - // calcul du md5 associe aux valeurs - function md5() { - #spip_log($this->texts, 'crayons'); - return md5(serialize($this->texts)); - } - - // dimensions indicatives - function dimension($c) { - // largeur du crayon - $this->largeur = min(max(intval(_request('w', $c)), $this->largeurMini), $this->largeurMaxi); - // hauteur maxi d'un textarea selon wh: window height - $maxheight = min(max(intval(_request('wh', $c)) - 50, 400), $this->hauteurMaxi); - $this->hauteur = min(max(intval(_request('h', $c)), $this->hauteurMini), $maxheight); - $this->left = _request('left'); - $this->top = _request('top'); - $this->w = _request('w'); - $this->h = _request('h'); - $this->ww = _request('ww'); - $this->wh = _request('wh'); - } - - // recuperer les elements de style - function css() { - foreach (array('color', 'font-size', 'font-family', 'font-weight', 'line-height', 'min-height', 'text-align') as $property) { - if (null !== ($p = _request($property))) { - $this->styles[] = "$property:$p;"; - } - } - - $property = 'background-color'; - if (!$p = _request($property) - or $p == 'transparent') { - $p = 'white'; - } - $this->styles[] = "$property:$p;"; - } - - // formulaire standard - function formulaire($contexte = array(), $inputAttrs = array()) { - return - $this->code() . - $this->input($contexte, $inputAttrs); - } - - // balises input type hidden d'identification du crayon - function code() { - return - ''."\n" - . ''."\n" - . '' . "\n" - . ''."\n" - . '' - ."\n" - ; - } - -/** - * Fabriquer les balises des champs d'apres un modele controleurs/(type_)modele.html - * - * @param array $contexte - * tableau (nom=>valeur) qui sera enrichi puis passe à recuperer_fond - * @return string - * le contenu de recuperer_fond du controleur - */ - function fond($contexte = array()) { - include_spip('inc/filtres'); - $contexte['id_' . $this->type] = $this->id; - $contexte['id_' . $this->table] = $this->id; - $contexte['crayon_type'] = $this->type; - $contexte['crayon_modele'] = $this->modele; - $contexte['lang'] = $GLOBALS['spip_lang']; - $contexte['key'] = $this->key; - $contexte['largeur'] = $this->largeur; - $contexte['hauteur'] = $this->hauteur; - $contexte['self'] = _request('self'); - foreach ($this->texts as $champ => $val) { - $contexte['name_' . $champ] = 'content_' . $this->key . '_' . $champ; - } - $contexte['style'] = join(' ', $this->styles); - include_spip('public/assembler'); - return recuperer_fond($this->controleur, $contexte); - } - -/** - * Fabriquer les balises du ou des champs - * $attrs est un tableau (attr=>val) d'attributs communs ou pour le champs unique - * - * @param string|array $spec - * soit un scalaire 'ligne' ou 'texte' précisant le type de balise - * soit un array($champ=>array('type'=>'...', 'attrs'=>array(attributs specifique du champs))) - * @return string - * le html de l'input - */ - function input($spec = 'ligne', $attrs = array()) { - if ($this->controleur) { - return $this->fond($spec); - } - include_spip('inc/filtres'); - $return = ''; - foreach ($this->texts as $champ => $val) { - $type = is_array($spec) ? $spec[$champ]['type'] : $spec; - switch ($type) { - case 'texte': - $id = uniqid('wid'); - $input = '\n"; - break; - case 'ligne': - default: - $input = ''."\n"; - } - - if (is_array($spec) && isset($spec[$champ]['attrs'])) { - foreach ($spec[$champ]['attrs'] as $attr => $val) { - $input = inserer_attribut($input, $attr, $val); - } - } - - foreach ($attrs as $attr => $val) { - $input = inserer_attribut($input, $attr, $val); - } - - // petit truc crado pour mettre la barre typo si demandee - // pour faire propre il faudra reprogrammer la bt en jquery - $meta_crayon = isset($GLOBALS['meta']['crayons']) ? unserialize($GLOBALS['meta']['crayons']) : array(); - if (isset($meta_crayon['barretypo']) - and $meta_crayon['barretypo'] - and $type == 'texte') { - // Pas la peine de mettre cette barre si PortePlume est la - if (!( - function_exists('chercher_filtre') - and $f = chercher_filtre('info_plugin') - and $f('PORTE_PLUME', 'est_actif') - ) - ) { - include_spip('inc/barre'); - $input = "
" - . (function_exists('afficher_barre') - ? afficher_barre("document.getElementById('$id')") - : '') - . '
' - . $input; - } - } - - $return .= $input; - } - return $return; - } -} - -/** - * Fabriquer les boutons du formulaire - * - * @param array $boutons - * Le tableau des boutons - * @return string - * Le html des boutons - */ -function crayons_boutons($boutons = array()) { - $boutons['submit'] = array('ok', texte_backend(_T('bouton_enregistrer'))); - $boutons['cancel'] = array('cancel', texte_backend(_T('crayons:annuler'))); - - $html = ''; - foreach ($boutons as $bnam => $bdef) { - if ($bdef) { - $html .= ''; - } - } - - if ($html) { - return '
'.$html.'
'; - } -} - -function crayons_formulaire($html, $action = 'crayons_store') { - if (!$html) { - return ''; - } - - // on est oblige de recreer un Crayon pour connaitre la largeur du form. - // Pb conceptuel a revoir - $crayon = new Crayon(''); - $class = ($crayon->largeur < 250 ? ' small' : ''); - - - include_spip('inc/filtres'); - return liens_absolus( - '
' - . '
' - . $html - . crayons_boutons() - . '
' - .'
' - ); -} - -// -// Un Crayon avec une verification de code de securite -// -class SecureCrayon extends Crayon { - - function __construct($name, $text='') { - parent::__construct($name, $text); - } - - function code() { - $code = parent::code(); - $secu = md5($GLOBALS['meta']['alea_ephemere']. '=' . $this->name); - - return - $code - .''."\n"; - } -} - -/** - * Action affichant le controleur html ou php adéquat - * - * on affiche le formulaire demande (controleur associe au crayon) - * Si le crayon n'est pas de type "crayon", c'est un crayon etendu, qui - * integre le formulaire requis à son controleur (pour avoir les boutons - * du formulaire dans un controleur Draggable, par exemple, mais il y a - * d'autres usages possibles) - * - */ -function action_crayons_html_dist() { - include_spip('inc/crayons'); - - // Utiliser la bonne langue d'environnement - if (!isset($GLOBALS['forcer_lang']) or !$GLOBALS['forcer_lang'] or ($GLOBALS['forcer_lang'] === 'non')) { - lang_select($GLOBALS['auteur_session']['lang']); - } - - $return = affiche_controleur(_request('class')); - if (!_request('type') or _request('type') == 'crayon') { - $return['$html'] = crayons_formulaire($return['$html']); - } - - $json = trim(crayons_json_encode($return)); - - header('Content-Type: text/plain; charset=utf-8'); - die($json); -} diff --git a/www/plugins/crayons/action/crayons_store.php b/www/plugins/crayons/action/crayons_store.php deleted file mode 100644 index b440f7b4..00000000 --- a/www/plugins/crayons/action/crayons_store.php +++ /dev/null @@ -1,541 +0,0 @@ - 0) { - $content[$field] = $_FILES['content_'.$crayon.'_'.$field]; - } else { - $content[$field] = false; - } - // cf. valeur passee dans crayon->md5() : false ou filemtime() du logo - } else { - /** - * le changement de charset n'est plus necessaire - * depuis jquery 1.5 (feature non documentee de jquery!) - */ - if (isset($_POST['content_'.$crayon.'_'.$field])) { - $content[$field] = is_array($_POST['content_'.$crayon.'_'.$field]) - ?implode(',', $_POST['content_'.$crayon.'_'.$field]) - :$_POST['content_'.$crayon.'_'.$field]; - } else { - $content[$field] = null; - } - } - } - } - - // Si les donnees POSTees ne correspondent pas a leur md5, - // il faut les traiter - if (isset($name) - and md5(serialize($content)) != $_POST['md5_'.$crayon]) { - if (!isset($_POST['secu_'.$crayon]) - or verif_secu($name, $_POST['secu_' . $crayon])) { - $results[] = array($name, $content, $_POST['md5_'.$crayon], $crayon); - } else { - return false; // erreur secu - } - } else { - // cas inchange - $results[] = array($name, $content, false, $crayon); - } - } - } - return $results; -} - - -function crayons_store($options = array()) { - // permettre de surcharger les fonctions de recuperation des valeurs - // et de sauvegardes de celles-ci - $options = array_merge(array( - 'f_get_valeur' => 'crayons_store_get_valeur', - 'f_set_modifs' => 'crayons_store_set_modifs', - ), $options); - - include_spip('inc/crayons'); - $wdgcfg = wdgcfg(); - - $return = array('$erreur'=>''); - - $postees = post_crayons(); - - $modifs = $updates = array(); - if (!is_array($postees)) { - $return['$erreur'] = _U('crayons:donnees_mal_formatees'); - } else { - foreach ($postees as $postee) { - if ($postee[2] !== false) { - $name = $postee[0]; - $content = $postee[1]; - - if ($content && preg_match(_PREG_CRAYON, 'crayon '.$name, $regs)) { - list(,$crayon,$type,$modele,$id) = $regs; - $wid = $postee[3]; - - spip_log("autoriser('crayonner', $type, $id, null, array('modele' => $modele)", 'crayons_distant'); - if (!autoriser('crayonner', $type, $id, null, array('modele' => $modele))) { - $return['$erreur'] = - "$type $id: " . _U('crayons:non_autorise'); - } else { - // recuperer l'existant pour calculer son md5 et verifier - // qu'il n'a pas ete modifie entre-temps - $get_valeur = $options['f_get_valeur']; - $data = $get_valeur($content, $regs); - - $md5 = md5(serialize($data)); - - // est-ce que le champ a ete modifie dans la base entre-temps ? - if ($md5 != $postee[2]) { - // si oui, la modif demandee correspond peut-etre - // a la nouvelle valeur ? dans ce cas on procede - // comme si "pas de modification", sinon erreur - if ($md5 != md5(serialize($content))) { - $return['$erreur'] = "$type $id $modele: " . - _U('crayons:modifie_par_ailleurs'); - } - } - - $modifs[] = array($type, $modele, $id, $content, $wid); - - /* aiguillage pour verification de la saisie - Pour traitement ulterieur les fonctions de verifications doivent renvoyer $invalides : - $invalides[wid_champ]['msg'] -> message de saisie invalide - $invalides[wid_champ]['retour'] -> caracteres invalides */ - $f = 'verifier_'.$type.'_'.$modele; - if (function_exists($f)) { - if (count($invalides = $f($modifs))) { - $return['$invalides'] = $invalides; - } - } - } - } - } - } - } - - if (!$modifs and !$return['$erreur']) { - $return['$erreur'] = $wdgcfg['msgNoChange'] ? _U('crayons:pas_de_modification') : ' '; - $return['$annuler'] = true; - } - - // un champ invalide ... ou rien ==> on ne fait rien ! - if (isset($return['$invalides']) and $return['$invalides']) { - return $return; - } - - // une quelconque erreur ... ou rien ==> on ne fait rien ! - if (isset($return['$erreur']) and $return['$erreur']) { - return $return; - } - - // on traite toutes les modifications - // en appelant la fonction adequate de traitement - $set_modifs = $options['f_set_modifs']; - $return = $set_modifs($modifs, $return); - - // une quelconque erreur ... ou rien ==> on ne fait rien ! - if ($return['$erreur']) { - return $return; - } - - // et maintenant refaire l'affichage des crayons modifies - include_spip('inc/texte'); - foreach ($modifs as $m) { - list($type, $modele, $id, $content, $wid) = $m; - $f = charger_fonction($type.'_'.$modele, 'vues', true) - or $f = charger_fonction($modele, 'vues', true) - or $f = charger_fonction($type, 'vues', true) - or $f = 'vues_dist'; - $return[$wid] = $f($type, $modele, $id, $content, $wid); - } - return $return; -} - -// recuperer une valeur en fonction des parametres recuperes -// cette fonction cherche une valeur d'une colonne d'une table SQL -function crayons_store_get_valeur($content, $regs) { - list(,$crayon,$type,$modele,$id) = $regs; - return valeur_colonne_table($type, array_keys($content), $id); -} - -// stocke les valeurs envoyees dans des colonnes de table SQL -function crayons_store_set_modifs($modifs, $return) { - // sinon on bosse : toutes les modifs ont ete acceptees - // verifier qu'on a tout ce qu'il faut pour mettre a jour la base - // et regrouper les mises a jour par type/id - foreach ($modifs as $modif) { - list($type, $modele, $id, $content, $wid) = $modif; - - $fun = ''; - // si le crayon est un MODELE avec une fonction xxx_revision associee - // cas ou une fonction xxx_revision existe - if (function_exists($f = $type.'_'. $modele . '_revision') - or function_exists($f = $modele . '_revision') - or function_exists($f = $type . '_revision')) { - $fun = $f; - } elseif (function_exists('lister_tables_objets_sql') - and $tables_objet = lister_tables_objets_sql() - and isset($tables_objet[table_objet_sql($type)])) { - // si on est en SPIP 3+ et qu'on edite un objet editorial bien declare - // passer par l'API objet_modifier - $fun = 'crayons_objet_modifier'; - } else { - // sinon spip < 3 (ou pas un objet edito) - // on teste les objets connus et on route sur les fonctions correspondantes - switch ($type) { - case 'article': - $fun = 'crayons_update_article'; - break; - case 'breve': - include_spip('action/editer_breve'); - $fun = 'revisions_breves'; - break; - case 'forum': - include_spip('inc/forum'); - $fun = 'enregistre_et_modifie_forum'; - break; - case 'rubrique': - include_spip('action/editer_rubrique'); - $fun = 'revisions_rubriques'; - break; - case 'syndic': - case 'site': - include_spip('action/editer_site'); - $fun = 'revisions_sites'; - break; - case 'document': - include_spip('plugins/installer'); - include_spip('inc/plugin'); - if (spip_version_compare($GLOBALS['spip_version_branche'], '3.0.0alpha', '>=')) { - include_spip('action/editer_document'); - $fun = 'document_modifier'; - } else { - include_spip('inc/modifier'); - $fun = 'revision_document'; - } - break; - // cas geres de la maniere la plus standard - case 'auteur': - case 'mot': - case 'signature': - case 'petition': - default: - include_spip('inc/modifier'); - $fun = 'revision_'.$type; - break; - } - } - // si on a pas reussi on passe par crayons_update() qui fera un update sql brutal - if (!$fun or !function_exists($fun)) { - $fun = 'crayons_update'; - // $return['$erreur'] = "$type: " . _U('crayons:non_implemente'); - // break; - } - - if (!isset($updates[$type][$fun])) { - $updates[$type][$fun] = array(); - } - if (!isset($updates[$type][$fun][$id])) { - $updates[$type][$fun][$id] = array('wdg'=>array(), 'chval'=>array()); - } - // pour reaffecter le retour d'erreur sql au cas ou - $updates[$type][$fun][$id]['wdg'][] = $wid; - foreach ($content as $champtable => $val) { - $updates[$type][$fun][$id]['chval'][$champtable] = $val; - } - } - - // il manque une fonction de mise a jour ==> on ne fait rien ! - if ($return['$erreur']) { - return $return; - } - - // hop ! mises a jour table par table et id par id - foreach ($updates as $type => $idschamps) { - foreach ($idschamps as $fun => $ids) { - foreach ($ids as $id => $champsvaleurs) { - /* cas particulier du logo dans un crayon complexe : - ce n'est pas un champ de la table */ - if (isset($champsvaleurs['chval']['logo'])) { - spip_log('revision logo', 'crayons'); - logo_revision($id, $champsvaleurs['chval'], $type, $champsvaleurs['wdg']); - unset($champsvaleurs['chval']['logo']); - } - if (count($champsvaleurs['chval'])) { - // -- revisions_articles($id_article, $c) -- - spip_log("$fun($id ...)", 'crayons'); - $updok = $fun($id, $champsvaleurs['chval'], $type, $champsvaleurs['wdg']); - // Renvoyer erreur si update base distante echoue, - // on ne regarde pas les updates base local car ils ne renvoient rien - list($distant,$table) = distant_table($type); - if ($distant and !$updok) { - $return['$erreur'] = "$type: " . _U('crayons:update_impossible'); - } - } - } - } - } - return $return; -} - -// -// VUE -// -function vues_dist($type, $modele, $id, $content, $wid) { - // pour ce qui a une {lang_select} par defaut dans la boucle, - // la regler histoire d'avoir la bonne typo dans le propre() - // NB: ceci n'a d'impact que sur le "par defaut" en bas - list($distant,$table) = distant_table($type); - if (colonne_table($type, 'lang')) { - $b = valeur_colonne_table($type, 'lang', $id); - lang_select($a = array_pop($b)); - } else { - lang_select($a = $GLOBALS['meta']['langue_site']); - } - - // chercher vues/article_toto.html - // sinon vues/toto.html - if (find_in_path(($fond = 'vues/' . $type . '_' . $modele) . '.html') - or find_in_path(($fond = 'vues/' . $modele) .'.html') - or find_in_path(($fond = 'vues/' . $type) .'.html')) { - $primary = (function_exists('id_table_objet')?id_table_objet($table):'id_' . $table); - $contexte = array( - $primary => $id, - 'crayon_type' => $type, - 'crayon_modele' => $modele, - 'champ' => $modele, - 'class' => _request('class_'.$wid), - 'self' => _request('self'), - 'lang' => $GLOBALS['spip_lang'] - ); - $contexte = array_merge($contexte, $content); - include_spip('public/assembler'); - return recuperer_fond($fond, $contexte); - } else { - // vue par defaut - // Par precaution on va rechercher la valeur - // dans la base de donnees (meme si a priori la valeur est - // ce qu'on vient d'envoyer, il y a nettoyage des caracteres et - // eventuellement d'autres filtres de saisie...) - $bdd = valeur_colonne_table($type, $modele, $id); - if (count($bdd)) { - $valeur = array_pop($bdd); - } else { - // les champs n'ont pas ete retrouves dans la base - // ce qui signifie a priori que nous sommes en face d'une cle primaire compose - // et qu'un crayon a modifie un element de cette cle (c'est pas malin !) - // dans ce cas, on reaffiche a minima ce qu'on vient de publier - // mais il sera impossible de le reediter dans la foulee avec le meme crayon - // (car l'identifiant du crayon se base sur l'id). - // Il faudra donc recharger la page pour pouvoir reediter. - if (is_scalar($id)) { - $valeur = $content[$modele]; - } - } - - if ($valeur) { - // seul spip core sait rendre les donnees - if (function_exists('appliquer_traitement_champ')) { - $valeur = appliquer_traitement_champ($valeur, $modele, table_objet($table)); - } else { - if (in_array($modele, array('chapo', 'texte', 'descriptif', 'ps', 'bio'))) { - $valeur = propre($valeur); - } else { - $valeur = typo($valeur); - } - } - } - return $valeur; - } -} - - -/** - * Fonction de mise a jour par API editer_objet - * @param $id - * @param $data - * @param $type - * @param $ref - * @return bool|mixed|string - */ -function crayons_objet_modifier($id, $data, $type, $ref) { - if (include_spip('action/editer_objet') - and function_exists('objet_modifier')) { - return objet_modifier(objet_type($type), $id, $data); - } - // fallback - return crayons_update($id, $data, $type); -} - -// -// Fonctions de mise a jour generique -// -function crayons_update($id, $colval = array(), $type = '') { - if (!$colval or !count($colval)) { - return false; - } - list($distant,$table) = distant_table($type); - - if ($distant) { - list($nom_table, $where) = table_where($type, $id); - if (!$nom_table) { - return false; - } - - $update = $sep = ''; - foreach ($colval as $col => $val) { - $update .= $sep . '`' . $col . '`=' . _q($val); - $sep = ', '; - } - - $a = spip_query($q = 'UPDATE `' . $nom_table . '` SET ' . $update . ' WHERE ' . $where, $distant); - - #spip_log($q); - include_spip('inc/invalideur'); - suivre_invalideur($cond, $modif = true); - } else { - // cle primaire composee : 3-4-rubrique - // calculer un where approprie - // et modifier sans passer par la fonction destinee aux tables principales - // on limite a SPIP 2 mini car sql_updateq n'est pas mappe dans les crayons_compat - if (is_scalar($id) and ($GLOBALS['spip_version_code'] >= '1.93')) { - list($nom_table, $where) = table_where($type, $id, true); // where sous forme de tableau - $a = sql_updateq($nom_table, $colval, $where); - } else { - // modification d'une table principale - include_spip('inc/modifier'); - $a = modifier_contenu($type, $id, array(), $colval); - } - } - return $a; -} - -// -// Fonctions de mise a jour -// -function crayons_update_article($id_article, $c = false) { - include_spip('action/editer_article'); - - // Enregistrer les nouveaux contenus - revisions_articles($id_article, $c); - - // En cas de statut ou de id_rubrique - // NB: instituer_article veut id_parent, et pas id_rubrique ! - if (isset($c['id_rubrique'])) { - $c['id_parent'] = $c['id_rubrique']; - unset($c['id_rubrique']); - } - instituer_article($id_article, $c); -} - -/** - * Enregistre les modifications sur une configuration - * suite à un crayon sur une meta - * - * La colonne est toujours 'valeur' pour ces données. - * La donnée à enregistrer peut-être une sous partie de configuration. - * Si c'est le cas, on gère l'enregistrement via ecrire_config. - * - * @param string $a - * Nom ou clé de la meta (descriptif_site ou demo__truc pour demo/truc) - * @param bool|array $c - * Liste des champs modifiés - * Ici, 'valeur' normalement. - * @return void -**/ -function revision_meta($a, $c = false) { - if (isset($c['valeur'])) { - // Certaines cles de configuration sont echapées ici (cf #EDIT_CONFIG{demo/truc}) - $a = str_replace('__', '/', $a); - spip_log("meta '$a' = '$c[valeur]'", 'crayons'); - // eviter de planter les vieux SPIP - if (false === strpos($a, '/')) { - ecrire_meta($a, $c['valeur']); - // SPIP 3 ou Bonux 2 ou CFG - } else { - include_spip('inc/config'); - ecrire_config($a, $c['valeur']); - } - include_spip('inc/invalideur'); - suivre_invalideur('meta'); - } -} - - -// TODO: -// Ce modele est cense enregistrer les tags sous forme de ?? -// une ligne dans un champ spip_articles.tags, et/ou des mots-cles... -function modeles_tags($id, $c) { - var_dump($id); #id_article - var_dump($c); # perturbant : ici on a array('id_article'=>'valeur envoyee') -} - -function action_crayons_store_dist() { - return action_crayons_store_args(); -} - -// permettre de passer une autre fonction de stockage des informations -function action_crayons_store_args($store = 'crayons_store') { - header('Content-Type: text/plain; charset='.$GLOBALS['meta']['charset']); - lang_select($GLOBALS['auteur_session']['lang']); - - $r = $store(); - - // Si on a ete appeles par jQuery, on renvoie tout, c'est le client - // crayons.js qui va traiter l'affichage du resultat et status - # Attention le test $_SERVER["HTTP_X_REQUESTED_WITH"] === "XMLHttpRequest" - # n'est pas bon car le cas d'un fichier uploade via iframe n'est pas detecte - - // S'il y a une adresse de redirection, on renvoie vers elle - // En cas d'erreur il faudrait ajouter &err=... dans l'url ? - if (_request('redirect')) { - if (!$r['$erreur'] - or $r['$annuler']) { - include_spip('inc/headers'); - redirige_par_entete(_request('redirect')); - } else { - echo "

".$r['$erreur']."

\n"; - - foreach ($r as $wid => $v) { - if ($wid !== '$erreur') { - echo "
$v

\n"; - } - } - echo "" - .quote_amp(_request('redirect')) - ."\n"; - } - } else { - // Cas normal : JSON - echo crayons_json_export($r); - } - - exit; -} diff --git a/www/plugins/crayons/action/crayons_upload.php b/www/plugins/crayons/action/crayons_upload.php deleted file mode 100644 index 38b80996..00000000 --- a/www/plugins/crayons/action/crayons_upload.php +++ /dev/null @@ -1,62 +0,0 @@ -=')) { - define('_SPIP3', true); - } - } - if (defined('_SPIP3')) { - include_spip('action/ajouter_documents'); - $ajouter_un_document = charger_fonction('ajouter_un_document', 'action'); - $id = $ajouter_un_document('new', $file, $type, $id, 'document'); - } else { - include_spip('inc/ajouter_documents'); - $id = ajouter_un_document($source, $nom_envoye, $type, $id, 'document', $id_document = 0, $documents_actifs, $titrer = true); - } - } - - if (!$id) { - $erreur = 'erreur !'; - } - - $a = recuperer_fond('modeles/uploader_item', array('id_document' => $id, 'erreur' => $erreur)); - - echo $a; -} diff --git a/www/plugins/crayons/controleurs/article_intro.html b/www/plugins/crayons/controleurs/article_intro.html deleted file mode 100644 index 87a4d050..00000000 --- a/www/plugins/crayons/controleurs/article_intro.html +++ /dev/null @@ -1,11 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'article_intro' , uniquement html - -] -#CACHE{0} - - - diff --git a/www/plugins/crayons/controleurs/article_intro2.html b/www/plugins/crayons/controleurs/article_intro2.html deleted file mode 100644 index 803dd07f..00000000 --- a/www/plugins/crayons/controleurs/article_intro2.html +++ /dev/null @@ -1,17 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'article_intro2' , uniquement html - -] -#CACHE{0} - -
-Introduction - - -
- diff --git a/www/plugins/crayons/controleurs/article_intro3.php b/www/plugins/crayons/controleurs/article_intro3.php deleted file mode 100644 index 557f676c..00000000 --- a/www/plugins/crayons/controleurs/article_intro3.php +++ /dev/null @@ -1,38 +0,0 @@ - 234)); - - $return = array( - // html - $n->formulaire( - // champs et attributs propres - array( - 'descriptif' => array('type' => 'texte', 'attrs' => array( - 'style' => 'height:' . ceil($n->hauteur*2/13) . 'px;' . - 'width:' . $n->largeur . 'px;')), - 'chapo' => array('type' => 'texte', 'attrs' => array( - 'style' => 'height:' . ceil($n->hauteur*4/13) . 'px;' . - 'width:' . $n->largeur . 'px;')), - 'texte' => array('type' => 'texte', 'attrs' => array( - 'style' => 'height:' . ceil($n->hauteur*4/13) . 'px;' . - 'width:' . $n->largeur . 'px;'))) //, - // attributs communs :( marche pas pour style , pas 2 fois ? - // array('style' => 'width:' . $n->largeur . 'px;') - ), - // status - null); - - return $return; -} diff --git a/www/plugins/crayons/controleurs/article_introduction.html b/www/plugins/crayons/controleurs/article_introduction.html deleted file mode 100644 index 53d16945..00000000 --- a/www/plugins/crayons/controleurs/article_introduction.html +++ /dev/null @@ -1,54 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'article_introduction' php+html - - (les balises écrites ci-dessous sont volontairement avec un espace pour ne pas être - compilée) - - Appelé via # EDIT{introduction} dans une boucle article - - Affiche les trois champs : - - descriptif (si rempli, il sera le rendu de # INTRODUCTION) - - chapo - - texte - - Si aucun descriptif, le rendu de # INTRODUCTION est par défaut les 600 premiers caractères de - # CHAPO + # TEXTE - -] -#CACHE{0} - -
    -
  • -

    <:crayons:legend_introduction_article:>

    -

    <:crayons:explication_introduction_article:>

    -
      -
    • - - -
    • - [(#CONFIG{articles_chapeau}|=={oui}|oui) -
    • - - -
    • ] -
    • - - -
    • -
    -
  • -
- diff --git a/www/plugins/crayons/controleurs/article_introduction.php b/www/plugins/crayons/controleurs/article_introduction.php deleted file mode 100644 index 4c152930..00000000 --- a/www/plugins/crayons/controleurs/article_introduction.php +++ /dev/null @@ -1,26 +0,0 @@ - 234, 'controleur' => 'controleurs/article_introduction')); - - $contexte = array( - 'h_descriptif' => (int)ceil($n->hauteur*2/13), - 'h_chapo' => (int)ceil($n->hauteur*4/13), - 'h_texte' => (int)ceil($n->hauteur*4/13)); - $html = $n->formulaire($contexte); - $status = null; - - return array($html, $status); -} diff --git a/www/plugins/crayons/controleurs/article_texte.html b/www/plugins/crayons/controleurs/article_texte.html deleted file mode 100644 index 03e8303a..00000000 --- a/www/plugins/crayons/controleurs/article_texte.html +++ /dev/null @@ -1,17 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'article_intro' , uniquement html - -] -#CACHE{0} - - - -[(#CONFIG{crayons/upload}|?{ - #MODELE{uploader_liste,id_article} - -})] - - diff --git a/www/plugins/crayons/controleurs/auteur_email.html b/www/plugins/crayons/controleurs/auteur_email.html deleted file mode 100644 index 2272130b..00000000 --- a/www/plugins/crayons/controleurs/auteur_email.html +++ /dev/null @@ -1,11 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'auteur_email', uniquement html - -] -#CACHE{0} - - - - diff --git a/www/plugins/crayons/controleurs/auteur_nom.html b/www/plugins/crayons/controleurs/auteur_nom.html deleted file mode 100644 index d1ad82ff..00000000 --- a/www/plugins/crayons/controleurs/auteur_nom.html +++ /dev/null @@ -1,11 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'auteur_nom', uniquement html - -] -#CACHE{0} - - - - diff --git a/www/plugins/crayons/controleurs/auteur_qui.html b/www/plugins/crayons/controleurs/auteur_qui.html deleted file mode 100644 index 2ac3f632..00000000 --- a/www/plugins/crayons/controleurs/auteur_qui.html +++ /dev/null @@ -1,24 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'auteur_qui', uniquement html - -] -#CACHE{0} - - -
-

<:crayons:legend_controleur_qui:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- diff --git a/www/plugins/crayons/controleurs/breve_hyperlien.html b/www/plugins/crayons/controleurs/breve_hyperlien.html deleted file mode 100644 index a90378ae..00000000 --- a/www/plugins/crayons/controleurs/breve_hyperlien.html +++ /dev/null @@ -1,9 +0,0 @@ - -
Hyperlien - -
- -
- diff --git a/www/plugins/crayons/controleurs/document_fichier.html b/www/plugins/crayons/controleurs/document_fichier.html deleted file mode 100644 index 7471fca9..00000000 --- a/www/plugins/crayons/controleurs/document_fichier.html +++ /dev/null @@ -1,46 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'document' - -] -#CACHE{0} - - -[(#REM) En fonction de du contexte, choisir un logo ] - - - -[(#SET{image,[]})] - - - - [(#SET{logo,[(#GET{image}|image_reduire{0,40})]})] - - [(#REM) hacke l'url pour eviter le cache du navigateur ] - [(#SET{url,[(#GET{logo}|extraire_attribut{src} - |parametre_url{s,#EVAL{time()}})]})] - - [(#GET{logo}|inserer_attribut{src,#GET{url}} - |inserer_attribut{style,vertical-align:middle;})] -   <:crayons:legend_controleur_fichier_remplacer{extension=#EXTENSION}:> - [((#GET{image} - |extraire_attribut{width})×[(#GET{image} - |extraire_attribut{height})]px)] - - - - - -[(#REM) - -TODO: document distant (cf. document_fichier_revision dans inc/crayons) - -
- - -] - - - - diff --git a/www/plugins/crayons/controleurs/extra.html b/www/plugins/crayons/controleurs/extra.html deleted file mode 100644 index 1863ec4f..00000000 --- a/www/plugins/crayons/controleurs/extra.html +++ /dev/null @@ -1,38 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'extra' - -] -#CACHE{0} - - -extra - - - - -[(#EXTRA**|extra_saisie{auteurs,#STATUT})] - - - -[(#EXTRA**|extra_saisie{articles,#ID_RUBRIQUE})] - - - -[(#EXTRA**|extra_saisie{breves,#ID_RUBRIQUE})] - - - -[(#EXTRA**|extra_saisie{rubriques,#ID_SECTEUR})] - - - -[(#EXTRA**|extra_saisie{sites,#ID_RUBRIQUE})] - - - - - - - - \ No newline at end of file diff --git a/www/plugins/crayons/controleurs/extra_fonctions.php b/www/plugins/crayons/controleurs/extra_fonctions.php deleted file mode 100644 index cb208a0f..00000000 --- a/www/plugins/crayons/controleurs/extra_fonctions.php +++ /dev/null @@ -1,8 +0,0 @@ - - - diff --git a/www/plugins/crayons/controleurs/forum_id_article.html b/www/plugins/crayons/controleurs/forum_id_article.html deleted file mode 100644 index 703cce7c..00000000 --- a/www/plugins/crayons/controleurs/forum_id_article.html +++ /dev/null @@ -1,33 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'forum-id_article' - - NB: il est possible d'ajouter ci-dessous un second menu - qui permettrait de passer d'un article a une breve ; la seule - difficulte etant de savoir remettre a zero la valeur id_article - si une breve a ete selectionnee (et vice-versa) - - Tant qu'on en pas besoin, hein, on va laisser comme a. - -] -#CACHE{0} - -0}> - - -
-Associer ce forum à l'article : - -
-
- - - diff --git a/www/plugins/crayons/controleurs/forum_nom.html b/www/plugins/crayons/controleurs/forum_nom.html deleted file mode 100644 index d40980b9..00000000 --- a/www/plugins/crayons/controleurs/forum_nom.html +++ /dev/null @@ -1,11 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'forum-nom', uniquement html - -] -#CACHE{0} - - - - diff --git a/www/plugins/crayons/controleurs/forum_qui.html b/www/plugins/crayons/controleurs/forum_qui.html deleted file mode 100644 index 933a3297..00000000 --- a/www/plugins/crayons/controleurs/forum_qui.html +++ /dev/null @@ -1,15 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'forum_qui', uniquement html - -] -#CACHE{0} - - -
Qui ? -
- -
- diff --git a/www/plugins/crayons/controleurs/hyperlien.html b/www/plugins/crayons/controleurs/hyperlien.html deleted file mode 100644 index b271d83f..00000000 --- a/www/plugins/crayons/controleurs/hyperlien.html +++ /dev/null @@ -1,104 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'hyperlien', uniquement html - - (attention pour les syndic_articles et breves, les champs ne sont - pas les memes, il faut donc un autre controleur) - -] -#CACHE{0} - - -
-

<:crayons:legend_controleur_hyperlien:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- - - -
-

<:crayons:legend_controleur_hyperlien:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- - - -
-

<:crayons:legend_controleur_hyperlien:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- - - -
-

<:crayons:legend_controleur_hyperlien:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- - - -
-

<:crayons:legend_controleur_hyperlien:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- - - - - - diff --git a/www/plugins/crayons/controleurs/id_parent.html b/www/plugins/crayons/controleurs/id_parent.html deleted file mode 100644 index 69618635..00000000 --- a/www/plugins/crayons/controleurs/id_parent.html +++ /dev/null @@ -1,31 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'id_parent', uniquement html - - Utilisable dans une boucle rubriques et articles - On affiche toutes les rubriques même non publiées - On sépare visuellement les sous rubriques - -] -#CACHE{0} - -#SET{id,#ID_RUBRIQUE} - - -#SET{id,#ID_PARENT} - - - - - \ No newline at end of file diff --git a/www/plugins/crayons/controleurs/logo.html b/www/plugins/crayons/controleurs/logo.html deleted file mode 100644 index c8f120c5..00000000 --- a/www/plugins/crayons/controleurs/logo.html +++ /dev/null @@ -1,49 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'logo' - -] -#CACHE{0} - -[(#REM) En fonction de du contexte, choisir un logo ] -[(#SET{image,[(#ID_ARTICLE|?{#LOGO_ARTICLE_NORMAL} - |sinon{[(#ID_AUTEUR|?{#LOGO_AUTEUR_NORMAL})]} - |sinon{[(#ID_BREVE|?{#LOGO_BREVE_NORMAL})]} - |sinon{[(#ID_RUBRIQUE|?{[(#LOGO_RUBRIQUE_NORMAL|extraire_attribut{src}|match{[(#EVAL{_DIR_IMG})]rubon0\.}|?{'',#LOGO_RUBRIQUE_NORMAL})]})]} - |sinon{[(#ID_SYNDIC_ARTICLE|?{#LOGO_SYNDIC_ARTICLE})]} - |sinon{[(#ID_SYNDIC|?{#LOGO_SITE_NORMAL})]} - |sinon{[(#ID_MOT|?{#LOGO_MOT_NORMAL})]})]})] -[(#GET{image}|?{ - [(#SET{logo,[(#GET{image}|image_reduire{64})]})] - [(#REM) hacke l'url pour eviter le cache du navigateur ] - [(#SET{url,[(#GET{logo}|extraire_attribut{src} - |parametre_url{s,#EVAL{time()}})]})] - [(#SET{legend, - <:crayons:legend_controleur_logo_remplacer:> - [((#GET{image} - |extraire_attribut{width})×[(#GET{image} - |extraire_attribut{height})]px)] : - })] - [(#SET{supprimer, - [
- -
] - })] -})] - -
-

- [(#GET{legend}|sinon{<:crayons:legend_controleur_logo:>})] - [
(#GET{logo}|inserer_attribut{src,#GET{url}} - |inserer_attribut{style,vertical-align:middle;})
] -

-
    - -
-
\ No newline at end of file diff --git a/www/plugins/crayons/controleurs/mots_article_brut.html b/www/plugins/crayons/controleurs/mots_article_brut.html deleted file mode 100644 index 159cc16c..00000000 --- a/www/plugins/crayons/controleurs/mots_article_brut.html +++ /dev/null @@ -1,20 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'mots_article_brut' - -] -#CACHE{0} - -
Mots-clé pour #TITRE (#ID_ARTICLE) - - - - -Pas d'existant - -
- diff --git a/www/plugins/crayons/controleurs/portfolio.php b/www/plugins/crayons/controleurs/portfolio.php deleted file mode 100644 index 362206ad..00000000 --- a/www/plugins/crayons/controleurs/portfolio.php +++ /dev/null @@ -1,26 +0,0 @@ -\"\"
';") - . http_script('', generer_url_public('jquery.js')) - . http_script('', _DIR_JAVASCRIPT . 'layer.js', '') - . afficher_documents_colonne($id, $type, 'portfolio'); - - $status = null; - - return array($html, $status); -} diff --git a/www/plugins/crayons/controleurs/rubrique_introduction.html b/www/plugins/crayons/controleurs/rubrique_introduction.html deleted file mode 100644 index b1c98e00..00000000 --- a/www/plugins/crayons/controleurs/rubrique_introduction.html +++ /dev/null @@ -1,41 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'rubrique_introduction' php+html - - (les balises écrites ci-dessous sont volontairement avec un espace pour ne pas être - compilée) - - Appelé via # EDIT{introduction} dans une boucle rubrique - - Affiche les deux champs : - - descriptif (si rempli, il sera le rendu de # INTRODUCTION) - - texte - - Si aucun descriptif, le rendu de # INTRODUCTION est par défaut les 600 premiers caractères de - # # TEXTE - -] -#CACHE{0} - -
-

<:crayons:legend_introduction_rubrique:>

-
    -
  • - - -
  • -
  • - - -
  • -
-
- diff --git a/www/plugins/crayons/controleurs/rubrique_introduction.php b/www/plugins/crayons/controleurs/rubrique_introduction.php deleted file mode 100644 index c1000afa..00000000 --- a/www/plugins/crayons/controleurs/rubrique_introduction.php +++ /dev/null @@ -1,29 +0,0 @@ - 234, 'controleur' => 'controleurs/rubrique_introduction') - ); - - $contexte = array( - 'h_descriptif' => (int)ceil($n->hauteur*5/13), - 'h_texte' => (int)ceil($n->hauteur*7/13)); - $html = $n->formulaire($contexte); - $status = null; - - return array($html, $status); -} diff --git a/www/plugins/crayons/controleurs/signature_email.html b/www/plugins/crayons/controleurs/signature_email.html deleted file mode 100644 index ec501bb9..00000000 --- a/www/plugins/crayons/controleurs/signature_email.html +++ /dev/null @@ -1,11 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'signature-email', uniquement html - -] -#CACHE{0} - - - - diff --git a/www/plugins/crayons/controleurs/signature_nom.html b/www/plugins/crayons/controleurs/signature_nom.html deleted file mode 100644 index 1f8136c4..00000000 --- a/www/plugins/crayons/controleurs/signature_nom.html +++ /dev/null @@ -1,10 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'signature-nom', uniquement html -] -#CACHE{0} - - - - diff --git a/www/plugins/crayons/controleurs/signature_qui.html b/www/plugins/crayons/controleurs/signature_qui.html deleted file mode 100644 index fbb208cb..00000000 --- a/www/plugins/crayons/controleurs/signature_qui.html +++ /dev/null @@ -1,16 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'signature_qui', uniquement html - -] -#CACHE{0} - - -
Qui ? - -
- -
- diff --git a/www/plugins/crayons/controleurs/statut.html b/www/plugins/crayons/controleurs/statut.html deleted file mode 100644 index e532361c..00000000 --- a/www/plugins/crayons/controleurs/statut.html +++ /dev/null @@ -1,26 +0,0 @@ - -[(#REM) - - Un crayon pour changer le statut (autrement dit, une gomme) - - Plutot qu'un menu on peut avoir envie de faire une interface plus jolie - mais techniquement ça tourne (version SVN > 1.9.2). - -] - - -#SET{id,#STATUT} - - - - - - diff --git a/www/plugins/crayons/controleurs/syndic_article_hyperlien.html b/www/plugins/crayons/controleurs/syndic_article_hyperlien.html deleted file mode 100644 index f8026f05..00000000 --- a/www/plugins/crayons/controleurs/syndic_article_hyperlien.html +++ /dev/null @@ -1,17 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'hyperlien' des articles syndiques - -] -#CACHE{0} - - -
Hyperlien - -
- -
- diff --git a/www/plugins/crayons/controleurs/vignette.html b/www/plugins/crayons/controleurs/vignette.html deleted file mode 100644 index 15bd12eb..00000000 --- a/www/plugins/crayons/controleurs/vignette.html +++ /dev/null @@ -1,47 +0,0 @@ -[(#REM) - - Controleur pour le crayon 'vignette' - Ce crayon ne s'applique qu'aux documents - On le mets dans une boucle documents contenant le critère {tous} au cas - ou le document ne soit pas considere comme publie - -] -#CACHE{0} - - -[(#SET{image,[(#ID_VIGNETTE|>{0}|?{#LOGO_DOCUMENT})]})] -[(#GET{image}|?{ - [(#SET{vignette,[(#GET{image}|image_reduire{64})]})] - [(#REM) hacke l'url pour eviter le cache du navigateur ] - [(#SET{url,[(#GET{vignette}|extraire_attribut{src} - |parametre_url{s,#EVAL{time()}})]})] - [(#SET{legend, - <:crayons:legend_controleur_vignette_remplacer:> - [((#GET{image} - |extraire_attribut{width})×[(#GET{image} - |extraire_attribut{height})]px)] : - })] - [(#SET{supprimer, - [
- -
] - })] -})] - -
-

- [(#GET{legend}|sinon{<:crayons:legend_controleur_vignette:>})] - [
(#GET{vignette}|inserer_attribut{src,#GET{url}} - |inserer_attribut{style,vertical-align:middle;})
] -

-
    -
  • -
    - -
    - #GET{supprimer} -
  • -
-
- \ No newline at end of file diff --git a/www/plugins/crayons/crayons.css b/www/plugins/crayons/crayons.css deleted file mode 100644 index 4c62420f..00000000 --- a/www/plugins/crayons/crayons.css +++ /dev/null @@ -1,40 +0,0 @@ -em.crayon-img-changed { display: none; } -.crayon-changed em.crayon-img-changed { display: block; } -.crayon-changed em.crayon-crayon { display: none; } -em.crayon-edit, -em.crayon-crayon { display: none; } -.crayon-boutons, -.crayon-searching { float: right;padding:0;text-align: right;} -.crayon-boutons button { border:1px solid; cursor: pointer;display:inline-block; } -.crayon-boutons .crayon-submit { background: #e6efc2 url(images/ok-16.png) 2px center no-repeat; color: #264409; border-color: #c6d880;float:right;margin-bottom: 0.5em;margin-left:0.5em;padding-left:20px;} -.crayon-boutons .crayon-cancel { background: #fbe3e4 url(images/annuler-16.png) center center no-repeat; color: #8a1f11; border-color: #fbc2c4;width: 40px; text-indent: -3000em;padding-right:20px;} -.small .crayon-boutons {float:none;} -.small .crayon-boutons .crayon-submit {text-indent: -3000em;background-position: center;width: 40px;} -.small .crayon-boutons .crayon-cancel {float:left;} - -.crayon-icones { float: right; width: 20px; text-align: right; position: relative; top:0; left:0; z-index:4999; } -.crayon-icones span,.crayon-icones em { position:absolute; left:0; } -em.crayon-edit, -em.crayon-crayon, -em.crayon-img-changed { cursor: pointer; border:0; } - -/* definition des icones */ -.crayon-icones em.crayon-crayon { background: url(images/crayon20.png) no-repeat; height: 20px; width: 20px; } -.crayon-icones em.crayon-searching { background: url(images/searching.gif) no-repeat; height: 13px; width: 13px; } -.crayon-icones em.crayon-edit { background: url(images/edit.png) no-repeat; height: 20px; width: 20px; } -.crayon-icones em.crayon-img-changed { background: url(images/changed.png) no-repeat; height: 20px; width: 20px; } - -.formulaire_crayon .crayon-active { padding: 1px; border: 1px inset; font: inherit; display:block; } -.crayon-html .formulaire_crayon { max-width: 703px; } -.crayon-html textarea { overflow: auto; font: inherit; } -.crayon-html { z-index:5000; } -.crayon-html .crayon-boutons { position:absolute; right:0px; } -.crayon-html .small .crayon-boutons {position: relative;} - - -.crayon-invalide { display: block; background-color: #ff8888; border: 1px dashed #ff0000; } -.crayon-invalide p { margin:0; padding: 1%; font-style: italic; font-size: 80%; } -/* resizer */ -.resizehandle { background:transparent url("images/resizer.png") no-repeat scroll 50%; cursor:ns-resize; font-size:0.1em; width: auto !important;margin-right: 150px;} -.small .resizehandle {margin-right: 0;} -.resizehandle_boutons { margin-top: -16px; } diff --git a/www/plugins/crayons/crayons.js.html b/www/plugins/crayons/crayons.js.html deleted file mode 100644 index 6448ca4b..00000000 --- a/www/plugins/crayons/crayons.js.html +++ /dev/null @@ -1,33 +0,0 @@ -[(#REM) - - Charger la librairie crayons et ses addenda - -] -#HTTP_HEADER{'Content-Type: text/javascript'} - -[(#ENV**{debug_crayons}|?{ - #CACHE{0} -, - #CACHE{7*24*3600,cache-client} -})] - -/* cQuery est jQuery, renommee pour eviter tout conflit */ - -[(#CHEMIN{js/jquery.js}|pack_cQuery)] - -cQuery.noConflict(); - -[(#CHEMIN{js/jquery.form.js}|pack_cQuery)] - -[(#CHEMIN{js/crayons.js}|pack_cQuery)] - -[(#CHEMIN{js/resizehandle.js}|pack_cQuery)] - -[(#CHEMIN{js/jquery.html5uploader.js}|pack_cQuery)] - -[(#CONFIG{crayons}|match{s:11:"yellow_fade";s:2:"on";}|?{' ',''}) - [(#CHEMIN{js/crayons-fade.js}|pack_cQuery)] -] - -[(#REM) Appeler la callback si demandee ] -[(#ENV{callback})();] diff --git a/www/plugins/crayons/crayons.js_fonctions.php b/www/plugins/crayons/crayons.js_fonctions.php deleted file mode 100644 index 17c8e3e5..00000000 --- a/www/plugins/crayons/crayons.js_fonctions.php +++ /dev/null @@ -1,48 +0,0 @@ -pack())) { - return $t; - } - - // erreur - spip_log('erreur de pack_js'); - return $flux; -} diff --git a/www/plugins/crayons/crayons_fonctions.php b/www/plugins/crayons/crayons_fonctions.php deleted file mode 100644 index fd0c89fd..00000000 --- a/www/plugins/crayons/crayons_fonctions.php +++ /dev/null @@ -1,480 +0,0 @@ - $value) { - $execs[$key] = trim($value); - } - if ($exec_autorise == '*' || in_array($exec, $execs)) { - return true; - } - } - - return false; -} - -/** - * Ajouter la gestion des crayons dans l'espace privé - * - * @pipeline header_prive - * @uses Crayons_preparer_page() - * - * @param string $head - * Contenu du header - * @return string - * Contenu du header -**/ -function Crayons_insert_head($head) { - // verifie la presence d'une meta crayons, si c'est vide - // on ne cherche meme pas a traiter l'espace prive - $config_espace_prive = @unserialize($GLOBALS['meta']['crayons']); - if (empty($config_espace_prive)) { - return $head; - } - - // verifie que l'edition de l'espace prive est autorisee - if (isset($config_espace_prive['espaceprive']) - and $config_espace_prive['espaceprive'] == 'on') { - // determine les pages (exec) crayonnables - if (test_exec_crayonnable(_request('exec'))) { - // Calcul des droits - include_spip('inc/crayons'); - $head = Crayons_preparer_page($head, '*', wdgcfg(), 'head'); - } - } - - // retourne l'entete modifiee - return $head; -} - -/** - * Ajouter la gestion des crayons dans l'espace public - * - * @pipeline affichage_final - * @uses analyse_droits_rapide_dist() - * @uses Crayons_preparer_page() - * @note - * Le pipeline affichage_final est executé à chaque hit sur toute la page - * - * @param string $page - * Contenu de la page à envoyer au navigateur - * @return string - * Contenu de la page à envoyer au navigateur -**/ -function &Crayons_affichage_final(&$page) { - - // ne pas se fatiguer si le visiteur n'a aucun droit - if (!(function_exists('analyse_droits_rapide')?analyse_droits_rapide():analyse_droits_rapide_dist())) { - return $page; - } - - // sinon regarder rapidement si la page a des classes crayon - if (strpos($page, 'crayon')===false) { - return $page; - } - - // voir un peu plus precisement lesquelles - include_spip('inc/crayons'); - if (!preg_match_all(_PREG_CRAYON, $page, $regs, PREG_SET_ORDER)) { - return $page; - } - - $wdgcfg = wdgcfg(); - - // calculer les droits sur ces crayons - include_spip('inc/autoriser'); - $droits = array(); - $droits_accordes = 0; - foreach ($regs as $reg) { - list(,$crayon,$type,$champ,$id) = $reg; - if (_DEBUG_CRAYONS) { - spip_log("autoriser('modifier', $type, $id, NULL, array('champ'=>$champ))", 'crayons_distant'); - } - if (autoriser('modifier', $type, $id, null, array('champ'=>$champ))) { - if (!isset($droits['.' . $crayon])) { - $droits['.' . $crayon] = 0; - } - $droits['.' . $crayon]++; - $droits_accordes ++; - } - } - - // et les signaler dans la page - if ($droits_accordes == count($regs)) { // tous les droits - $page = Crayons_preparer_page($page, '*', $wdgcfg); - } elseif ($droits) { // seulement certains droits, preciser lesquels - $page = Crayons_preparer_page($page, join(',', array_keys($droits)), $wdgcfg); - } - - return $page; -} - -/** - * Ajoute les scripts css et js nécessaires aux crayons dans le code HTML - * - * @uses crayons_var2js() - * - * @param string $page - * Code HTML de la page complète ou du header seulement - * @param string $droits - * - Liste de css définissant les champs crayonnables - * (séparés par virgule) dont l'édition est autorisée - * - "*" si tous sont autorisés - * @param array $wdgcfg - * Description de la configuration des crayons (attribut => valeur) - * @param string $mode - * - page : toute la page est présente dans `$page` - * - head : seul le header est présent dans `$page` - * @return -**/ -function &Crayons_preparer_page(&$page, $droits, $wdgcfg = array(), $mode = 'page') { - /** - * Si pas forcer_lang, on charge le contrôleur dans la langue que l'utilisateur a dans le privé - */ - if (!isset($GLOBALS['forcer_lang']) or !$GLOBALS['forcer_lang'] or ($GLOBALS['forcer_lang'] === 'non')) { - lang_select($GLOBALS['auteur_session']['lang']); - } - - $jsFile = generer_url_public('crayons.js'); - if (_DEBUG_CRAYONS) { - $jsFile = parametre_url($jsFile, 'debug_crayons', 1, '&'); - } - include_spip('inc/filtres'); // rien que pour direction_css() :( - $cssFile = direction_css(find_in_path('crayons.css')); - - $config = crayons_var2js(array( - 'imgPath' => dirname(find_in_path('images/crayon.png')), - 'droits' => $droits, - 'dir_racine' => _DIR_RACINE, - 'self' => self('&'), - 'txt' => array( - 'error' => _U('crayons:svp_copier_coller'), - 'sauvegarder' => $wdgcfg['msgAbandon'] ? _U('crayons:sauvegarder') : '' - ), - 'img' => array( - 'searching' => array( - 'txt' => _U('crayons:veuillez_patienter') - ), - 'crayon' => array( - 'txt' => _U('crayons:editer') - ), - 'edit' => array( - 'txt' => _U('crayons:editer_tout') - ), - 'img-changed' => array( - 'txt' => _U('crayons:deja_modifie') - ) - ), - 'cfg' => $wdgcfg - )); - - - // Est-ce que PortePlume est la ? - $meta_crayon = isset($GLOBALS['meta']['crayons']) ? unserialize($GLOBALS['meta']['crayons']): array(); - $pp = ''; - if (isset($meta_crayon['barretypo']) && $meta_crayon['barretypo']) { - if (function_exists('chercher_filtre') - and $f = chercher_filtre('info_plugin') - and $f('PORTE_PLUME','est_actif')) { - $pp = <<"; - $incJS = <</* */ - -EOH; - - if ($mode == 'head') { - //js inline avant les css, sinon ca bloque le chargement - $page = $page . $incJS . $incCSS; - return $page; - } - - $pos_head = strpos($page, ''); - if ($pos_head === false) { - return $page; - } - - // js inline avant la premiere css, ou sinon avant la fin du head - $pos_link = strpos($page, ''); - $page = substr_replace($page, $incCSS, $pos_head, 0); - - return $page; -} - -/** - * Balise indiquant un champ SQL crayonnable - * - * @note - * Si cette fonction est absente, `balise_EDIT_dist()` déclarée par SPIP - * ne retourne rien - * - * @example - * ``` - *
#TEXTE
- *
#PS
- * ``` - * - * @param Champ $p - * Pile au niveau de la balise - * @return Champ - * Pile complétée par le code à générer -**/ -function balise_EDIT($p) { - - // le code compile de ce qui se trouve entre les {} de la balise - $label = interprete_argument_balise(1, $p); - - // Verification si l'on est dans le cas d'une meta - // #EDIT{meta-descriptif_site} ou #EDIT{meta-demo/truc} - if (preg_match('/meta-(.*)\'/', $label, $meta)) { - $type = 'meta'; - $label= 'valeur'; - $primary = $meta[1]; - $p->code = "classe_boucle_crayon('" - . $type - ."','" - .$label - ."'," - . "str_replace('/', '__', '$primary')" # chaque / doit être remplacé pour CSS. - .").' '"; - $p->interdire_scripts = false; - return $p; - } - - $i_boucle = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle; - // #EDIT hors boucle? ne rien faire - if (!isset($p->boucles[$i_boucle]) or !$type = ($p->boucles[$i_boucle]->type_requete)) { - $p->code = "''"; - $p->interdire_scripts = false; - return $p; - } - - // crayon sur une base distante 'nua__article-intro-5' - if ($distant = $p->boucles[$i_boucle]->sql_serveur) { - $type = $distant.'__'.$type; - } - - // le compilateur 1.9.2 ne calcule pas primary pour les tables secondaires - // il peut aussi arriver une table sans primary (par ex: une vue) - if (!($primary = $p->boucles[$i_boucle]->primary)) { - include_spip('inc/vieilles_defs'); # 1.9.2 pour trouver_def_table - if (function_exists('trouver_def_table')) { - list($nom, $desc) = trouver_def_table( - $p->boucles[$i_boucle]->type_requete, - $p->boucles[$i_boucle] - ); - $primary = $desc['key']['PRIMARY KEY']; - } - } - // On rajoute ici un debug dans le cas où aucune clé primaire n'est trouvée. - // Cela peut se présenter par exemple si on utilise #EDIT{monchamp} directement - // dans une boucle CONDITION sans faire référence au nom de la boucle d'au dessus. - if (!$primary) { - erreur_squelette(_T('crayons:absence_cle_primaire'), $p); - } - - $primary = explode(',', $primary); - $id = array(); - foreach ($primary as $key) { - $id[] = champ_sql(trim($key), $p); - } - $primary = implode(".'-'.", $id); - - $p->code = "classe_boucle_crayon('" - . $type - ."'," - .sinon($label, "''") - .',' - . $primary - .").' '"; - $p->interdire_scripts = false; - return $p; -} - -/** - * Balise indiquant une configuration crayonnable - * - * @example - * ``` - *
#DESCRIPTIF_SITE_SPIP
- *
#CONFIG{demo/truc}
- * ``` - * - * @param Champ $p - * Pile au niveau de la balise - * @return Champ - * Pile complétée par le code à générer -**/ -function balise_EDIT_CONFIG_dist($p) { - - // le code compile de ce qui se trouve entre les {} de la balise - $config = interprete_argument_balise(1, $p); - if (!$config) { - return $p; - } - - // chaque / du nom de config doit être transformé pour css. - // nous utiliserons '__' à la place. - - $type = 'meta'; - $label= 'valeur'; - - $p->code = "classe_boucle_crayon('" - . $type - . "','" - . $label - . "'," - . "str_replace('/', '__', $config)" - . ").' '"; - $p->interdire_scripts = false; - return $p; -} - -/** - * Crée le controleur du crayon indiqué par la classe CSS - * - * @param string $class - * Class CSS de crayon tel que créé par #EDIT - * @return string - * HTML du crayon, sinon texte d'erreur -**/ -function creer_le_crayon($class) { - include_spip('inc/crayons'); - include_spip('action/crayons_html'); - $a = affiche_controleur($class, array('w' => 485, 'h' => 300, 'wh' => 500)); - return $a['$erreur'] ? $a['$erreur'] : $a['$html']; -} - -/** - * Balise `#CRAYON` affichant un formulaire de crayon - * - * SI `?edit=1;` - * - * @example - * ``` - * #CRAYON{ps} - * ``` - * - * @param Champ $p - * Pile au niveau de la balise - * @return Champ - * Pile complétée par le code à générer -**/ -function balise_CRAYON($p) { - $p = balise_EDIT($p); - $p->code = 'creer_le_crayon('.$p->code.')'; - return $p; -} - - -/** - * Donne la classe CSS crayon - * - * En fonction : - * - du type de la boucle - * (attention aux exceptions pour `#EDIT` dans les boucles HIERARCHIE et SITES) - * - du champ demande (vide, + ou se terminant par + : (+)classe type--id) - * - de l'id courant - * - * @param string $type - * Type d'objet, ou "meta" pour un champ de configuration - * @param string $champ - * Champ SQL concerné - * @param int|string $id - * Identifiant de la ligne sql - * @return string - * Classes CSS (à ajouter dans le HTML à destination du javascript de Crayons) -**/ -function classe_boucle_crayon($type, $champ, $id) { - // $type = objet_type($type); - $type = $type[strlen($type) - 1] == 's' ? - substr($type, 0, -1) : - str_replace( - array('hierarchie','syndication'), - array('rubrique','site'), - $type - ); - - $plus = (substr($champ, -1) == '+' and $champ = substr($champ, 0, -1)) - ? " $type--$id" - : ''; - - // test rapide pour verifier que l'id est valide (a-zA-Z0-9) - if (false !== strpos($id, ' ')) { - spip_log("L'identifiant ($id) ne pourra être géré ($type | $champ)", 'crayons'); - return 'crayon_id_ingerable'; - } - - return 'crayon ' . $type . '-' . $champ . '-' . $id . $plus; -} diff --git a/www/plugins/crayons/fonds/cfg_crayons.html b/www/plugins/crayons/fonds/cfg_crayons.html deleted file mode 100644 index df6eef95..00000000 --- a/www/plugins/crayons/fonds/cfg_crayons.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - -#CACHE{0} -
-#FORMULAIRE_CONFIGURER_CRAYONS -
diff --git a/www/plugins/crayons/formulaires/configurer_crayons.html b/www/plugins/crayons/formulaires/configurer_crayons.html deleted file mode 100644 index 54d2c8b0..00000000 --- a/www/plugins/crayons/formulaires/configurer_crayons.html +++ /dev/null @@ -1,118 +0,0 @@ - - - - -
- -

[(#CHEMIN{images/crayon-24.png}|image_reduire{24}|inserer_attribut{class,cadre-icone}|inserer_attribut{alt,''})]<:crayons:titre_config_crayons:>

- -[

(#ENV*{message_ok})

] -[

(#ENV*{message_erreur})

] - -
-
-#ACTION_FORMULAIRE{#ENV{action}} -
    -#SET{erreurs,#ENV**{erreurs}|table_valeur{barretypo}} -
  • - - [(#GET{erreurs})] -
    - - - [(#PLUGIN{porte_plume,version}|version_compare{'1.5','>='}|oui) - [

    - (#VAL{PORTE_PLUME_PUBLIC}|defined|et{#VAL{PORTE_PLUME_PUBLIC}|constant} - |ou{#CONFIG{barre_outils_public}|=={non}}) - <:crayons:activation_barre_impossible:> -

    ] - ] -
    -
  • - -#SET{erreurs,#ENV**{erreurs}|table_valeur{msgNoChange}} -
  • - - [(#GET{erreurs})] -
    - - -
    -
    - - -
    -
  • - -#SET{erreurs,#ENV**{erreurs}|table_valeur{filet}} -
  • - - [(#GET{erreurs})] -
    - - -
    -
    - - -
    -
    - - -
    -
  • - - -#SET{erreurs,#ENV**{erreurs}|table_valeur{reduire_logo}} -
  • - - [(#GET{erreurs})] -

    <:crayons:explication_reduire_logo:>

    - -
  • - -
  • -

    <:crayons:legend_editer_prive:>

    -
      - #SET{erreurs,#ENV**{erreurs}|table_valeur{espaceprive}} -
    • - - [(#GET{erreurs})] -
      - - -
      -
    • - #SET{erreurs,#ENV**{erreurs}|table_valeur{exec_autorise}} -
    • - - [(#GET{erreurs})] -

      <:crayons:explication_exec_autorise:>

      - -
    • -
    -
  • - - -
  • -

    <:crayons:legend_documents:>

    -
      -
    • - - [(#GET{erreurs})] -
      - - -
      -
    • -
    -
  • - - -
-

- -

-
-
-
diff --git a/www/plugins/crayons/images/annuler-16.png b/www/plugins/crayons/images/annuler-16.png deleted file mode 100644 index fd4c41aaa42ec344d5869600aa0fc5d2b4d3439e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 669 zcmV;O0%HA%P)Nwo__)Q#=Jf)AVlv2|O;e<5!D2iASNx=~Q5i|9rTbS1%n3m=FQ)3mguX(ye` z>w3?)!HT*guqpeG+Z28@{h z4@bBnMvD-jr7JTqXuXH@g=^4$zKFOjtAJK+&OyKN5{%Oqq4Q=LfC;XK0#?KbtxR8q zz2;k9Opt`krR(tX*%EHy)U8=?-o1!>GDuHchIaiGD1_PM)9nl^PfmdM<1=;=AIDuG zf9IjtZY@0$Fo|(YjOrO^HyYv>EZ0})(PAoTAZy}6G0;#<1U5EYFmyfvI*F$24is7} z=(5Ym!-n?AuWtr$C>7e{i%v}lBu;Plxkz5+MeL6kql)XB5gaz<$Czsg@qKL!vStKP z7{y35(pRb>jkV(mgA=@-&ReDt(PO!AzawJ@O&!weZfmgTD)v-;t48WmN31bDqNSYo zx7q_9NIm)P_EO;a#8y-lXtm&g({si6Vg(WOd7jgJv2c%AD7aAM)xs{QDx*pmg56rn zLb;%V>v*Eb?Rz5s$njP;<~W8T81u;`hr?U%R1!%;G=B;|iozQHX)No;0Wz@;o?%Qu_W%F@AY({UO#lFTB>(_`g8%^e{{R4h=l}px z2mk>USO5SzmjD14Z`WEMkN^N4*-1n}RCwC$oq3d;Wu5Oo&%4yV_nz+Tfov>FSY&ZQ zT);sbMiNlDbH+jOxX!(T_g+L?0d+iHXO6hcWv-**H9>GebWjtJ5e33FHya6AJH4dS zdv)#gF3)rSsOqFBsyYD@pt|dK&U32YO4rHh_q+U-=cy`aMl+hxjAk^W8O>-$Gnz5C zLNsqd?U1+M-Y#_QD`@(uXxfvYzAtXLaetEla|3)$XxhK#ZTo|xQ&U8O0b&stv*mBqnsC=pg%H3lezr7k>nJ`LV;qTfNj}`k~6Tc_aF~!+{osqp1vwyEc}Q1m+#%|eD6DfrUT3d z^?&uNZ*rA-Xy>6JePm*SR5D3Aog$yhVObWMreT^UrpH7#4BFe8xe zBOiUZ=>Uye_<0fHTf?cep3G(_=JRFsTR4tWHU|ye&@oL90e=9?vUv8n-5fZ0aE&Y7 z-#d5y%ln%IXjChd@?*JT@vNa_l47AizL2MA6|rpxsZ<$!1H&*dOasGX;Pv_NdOeI! zPBJ_?<^jHB-}!xClK>4C_uqBbds2pR%c1cJ@~Je1Y_>xEHUPS=qw6|`VPcvl9@B&A zG4Xo5`22ocDUnKbBSb?Hz?kdc-+lMpXSFR_^s`+H7kVb2eHMA3m*Vc-6mvPOTn+{3 zhEW3FEUVu%F-#MW$BW17#pCf132H6dcAl(UOXNzUY{4A&x_aZ#~1Js3Id;z;qVBg^(Lg$>rMPK_Gt?zpuT5Bu1bTM=d(_@x90WV&U z2h;Qr3WqT~o@bR(|EJOJ!JKt~_3PIMySlpmZ#W!oJ9zLQ$z+m3p}^qaAdY46*YAEe zix)4Z=j^j7&Yw@gb?~H8_%sb)z+Y0o-$yVMBGHmS6XFK*y6c~5wEHk;YXG0m_sLbO zR;?1EGzu9W9wwDaA%x(RQ%)fq4wrsU(>Ud{(=cN(CZ2l^v2_dH@o~H!6OY$RBoaY4 zjK`HyKW)VOFee>g!-fru!r}0bB9VwclgTi>4jedu5Q2*?x`=)I_L0eCP)dYb&RodMfdF9HkV7Vc<9p6B838lSw9% zNfs|$NNZag#g0yjQra=c`H=Uz>-!t^e#|Kc*zmIr+P2)bTg^$2af)1qlefW9Bqt{s z9vq~;U> zhOOaie?Iv0i`O5xhwi|9R>e|@7pF9tq>P8gAFQKmCo621*K020|G~sTi2dv+>Et*|>c(ZNU)jz8JYoj$9$fo;`br#bUIzwGoR( zi6vSw{Q-vh5B}S_b?d&@==Wt#5a6!6f4uZJqxb)C%1V2M)Nx#J9f6ckENG;rG|+Vp zr4I3j=Qc4ob$||kob>P%`+5)1+1W|J??=;h!Yyq~j*X6H)2VCkz4zX!CIK2C=3UZp z$J3Kfoo(Pnx*AdnTo+syCME=q1-dDSMGZn>!H~V5XGWitO%RojY9HzGJrBpIPky8#Zh(+S=Rhdgr;9 zE;zgG99BnG5))Ahxgw+K6hlLKkUAcpAQVyrf)I@;iUsKHEoo!>$X+b1z(vc?qgW_1 zK05S~b?dI)He2q|tabpU)CZ%{=mir~6Qt59B3gv=qHFLAgLUU$$>XaA__v3CiPZA= zd|m>6f$4#L`!$pUnyC>8nmo|E3FDCh@9DnmcPMe+Y`RDKELMM8cX#(syk2kg;K75W zQYo^zEC&uAK%w~HHP`aq3*N?CR;^)ZYJkzg0Fj6!l`L5M~m5>>cN6;}CI ze&7SwTst(I?$fM24-g0hZdko~^@4fx=F!s9g6q1ZQYj3>VEOXpc>JZ4TNj;jCf{58 zMQ*(CBeeTF+1u-YfIt93VMQ>c2!|AJYQN~tzkA=`KQr6z)2vJZ>({Se6$}PHkkc;w&;W7w&whT{iWMv0 z+tQN2aTLSDhnbidC6~*wc=2MQ(P-%pHw@;_pN~?C(a}*RCnu3Yv9M=8=XIXV{r&Ac zH1-QthtJxwz+86cY)zH3jsOX7;eR@=VsLm8#2C7sV{~+!$;k<>yz)v$Mn*Vv=n(Dg z?bx=B5CYq_86O{K>C&YH!$Exh0DpJ(hw15UQ^tgT)0J0US!fcV5!$}r{LN)W`M^bE z+cq=dU&^T$M+k>(HfpD_O_V3?MHk)O^f(1B^gVF?2 z6D)O4yYF4^d&dK_xmBJu1aR-a#wQhD^$1(*rjPDL26$Hx3eD$|OS*~0+OaGf(=>?1 zVsv$NF)%PdI-RCiEFRhIGYo^t$w`u_bRm;Y-oh-8+2jBp2F_Gcp&~J~rHgZ`Bb-XuT+ zg#GKQJAu!Z@_<5|x)96|&<5CmLu;##cw8|!I7)xNMJ^{faG;+=s*CLZKHX7 zi&>z%@Jp(BCl=>)=n2Pje+cuI6#XTgF99UYRrdsC#-1-iRC z(X=>`Xp~&8z+itbQ{&^eU48Y{qfG)dK;(b<-m?_y!$=9bj<$RW2w#~1Hl>e1kbo*b zO1xf!)vM#IUY(#|=Xh#!fM75}IMK$wojab8()|&0BpP}Yoc;NgLP>cW3ZHUZ#QaW3 z!~uU9@FL)pmtC=3;1G}^cjzEip%2V3*-S<{j(yX*b?b_Ag#Zoh08+~L=$dw^QWAW= zQtrnrTfbfA_fh2^y|#hFkjs*o9N^5B-E1G%86R)Cd)>Nq4>5P{N zlmcVLQZT$_b=wt|@0R~Wy`m7D0$D7nUkNZQtoV*UNzs^Z?wpeZP)dDHq1u!q(R(`4 zySq#Ft`vyMoImXX(?lo&1sEBHOa_DxC%nsXy<<0p<4LzkfCh-ecfI3$6o0Fv1k=QG z+Hw#AWaX!~x*%i~5o9Sf6!UQSFbD%>X0T$r?g}T8k1|K2p^CtvA6=p;rEXIwuX0?> z#q-eS84&S}=fb z)hQ*lyUtPIQRUiinh3H?1O=HX)aWn*6X_qrjvV+#I6l?eBtQd1-w)mrM)3sz<+}J* zEJF)Kz_!Z3a};nTOFthW1%N~j97H(|N=U5Oj%Sr-f15cT4MPB>)ITWHsnT&UTNC(~ zFDq5^u2U}XWf|~F^-s5f26Ai|cX9$DJUGDt+~Clc!trFbNq`23{dZopOu=VLfC_?V zt_Ix%t9TS-Sq1v^wa~$}a0d>85-7vMN$lE)Q1{S`#vp)F>hqu?(sA(4pNDt;d~oum zH}_R5{)qLoS{BsI)%W*iR>>*-{ei9_@rvW-vDjk?(d)fMg{Lzu0->Ah^#rI zr0_y{zebd8|M`>wp@Ctd3Td2ygJ{A)dQv#?{XYoBlTSCHZvY3_`Q7sjrPOUGrAx;l zw0s$6yd4TzknRhuf4Tsa3Um$7u>1C*iUklFZp*$A%-pR_*c*fZO3A+k@kZ%Nj7W&c znWvQszhd!)RsS>@q$(W&Fnq|VF`VH+gfNl8F=TY$tD$)EP!skBAi(x-pPf*OTND!M zxS6BU%y8+V!N>V(q3+1{fO(9$MZAEjw*Mz)52q2aGG_Xk84*q!^ zL{=;ZI|H^|9`@8I{GPA#^XrzCFmy6kwoQ2MYMpH#ebfkT&qCZ=UvcV6Ac` zhR;Xqxo3lPAe)`e4KMtvD@Cd2_Xlya6BPUQATYt7f!4wAgkqChn@~4^18n}rDvwm^ zRt3Vf9a_#j4PT-I(#g`$2daiW(?7eV5BU)Wh5gSWiv^Sr(B6Lt)B49I%nd>SrPPOj zbEWOzYl+i(*6YB|LN51w@Q;jpCDX^j@rSS{1}P5pB7}(uClQI!+d{F)ktWOyK!Cq| zZF##=>SmNeNlC}KYcPCan3^bod}M1^J-_Hv3Iah;F1fv1QPKrnqIC^CjcB}Y@R+j% zP)h!H1@m0nA-r%tiB+p1HwlG8mHOoi3qNm|!oY5gU3SeJbX_mKC!V0 zZ-Y31MBN6;=UNsmt5*`9zZjBZVA*vFzjE&P`N0T~-M0-pI|bF^d&xPlMQ-GGuk5CTXgKMLv$*LDbYbkcp^8z7&AOuC%zYt8)KQsEa)P#D=q{?LAeFwtXa^p>fw z1Y;8uO;{U%01wSq7-4lSZk#gI|3kN>a*U=bCI;3}QE?pZE&-}4R z5$eZHNE?IzQmM~@YIiJ)#ImKdpMEAx4MQ$l%I}o}pXoh+*9E^H0&%jvTPThX0VZZg z%GD$Jn?mskrwM5T5a8FJ?Klgi{$5InZkjB;PVPgEK^;gC; z5ex$o?O4e^G6%MS=0T4X@y<(sD;OQ$+k~)pH8|+Co`1nznBn*8y|rz6 zpH#gj9NMzD=$&?oL*j9jaB{p@wkJSfl#l!11P1gMW~Bi$05|x!iu-O9jvMHCv?pKzG*^R zH~F!>OznFHG!LG*L!jIGW-vP5*8rf`Q@yA`f?BUpm5p$X=c@m$)@zUH1SgdMKlqpt zQK(xKAZ>>gZ@n0QxDEPtmhyYO++QyI&@{%jY(m-=y6Gph)Y>5obw>jLFKPg<)d643 z09HM~Yh71c|8bGvq!K_X@o62FIhIAolEs{I(VHPXa)utoCDBv{v<4xn3;zvg-NiYqzRSP_If2@ZB3%en2X2P|5)z zIOFoaLN~lHIt+#m8YCxE1jA$_adF5FZni|@|iu2B( zXVuw|8pKLXF*KTHblf4G^U#sVu>5HvfzoSn*-4? z^%_!pW$vy7La(88txg?qJk`76=!YDuir32HNFA?I5vbIfws7mxL}(=k{C>{5@?GT9 z6YSae6sakVNPHnnPF;a+df5ByZ_B5D1ZX;R^iWLqGq(L<5C&#M5njZdf#}#XuK~5I zI+c9Abv!+My;g4~5LK1+%Zlq4^?{csg#f1Ed3)Fw)(s&zZRr~@?I=Uf4I-??tXj2{ za3YS-b*!R=E4^4n3y*1*3O_Tz$YblVb18H^NOYMxZ1}nTRaATBqh3SlTAgb#gVLFy zdRH_2ENlEME8IXH=l^r^2yn*@EA_B1{8v8HhtM^!6~liS!XJ$jUl_&{@F7v)I%rCP z@{`RL@N|TrZ62A!+nL<^BnS__Rzr47K`|d0LjTo;%9WC1RQ?) zw@Amv@R-C_Xj?RcJ6{F0*UI7g3`3e@seLBvS9O-0LG`t+UmG=mp&Rdv24kiWI;LS@ zdOR3DFNV*D;q@X610^MnW#JSHcy%9Bt_h(oCU^gV^x#eeK0@<_@^^@v0@1O;Nd{gV zqpH_xROVWZs{2@KKUND@4|rJz{Fep%Nh3he8@xQ|4WJu3y6M62`7pg+Os^N+G!a7J zl+|w+3iu3@wzJN_wMQ9v`rk`uKLQ%DQ;qwA(Xj_!A&VDvtX;3uj)@mByPs)zQ`x&$ z7jd$V;yK3j@6{u~w{KXnFcyfP>oI*8x{2ZOV0g>w_jnMxj&$9U`fVH6vOr4g!6G}h z>}J>YHgr#vHJ6MRd@*s$Nd#W20lZ$Lm!B!W&s1!w<0#@P^SP{}_{#i$tQvw>odAYr zyfYC_gmhg;_n4SoZ;1e2FTylSR4)VX+BUA^;Mf)ePYp3PK8jB*#nQ%!EJ=RH9~s+z zlGI*Zwd-}jueN$o2k4pdc)f~U)d9X%(Rac@KWPLAcmtP40ueOb!0?on@AIL1JZPGR z>o~Z@BCcg2EeqGODCYBI3mIIu^dZjD$nVuO@%0k`d_9Y=1$-^g#SC-$THqWD^vY{@ zhE`4;N2_?^M0>*Q|I;fv5}}qi`@8{k^ZDx63_UNTCPO}#M@pAT zXR^=97T+818XJ9yN@s@Ftr~2jMxl4Sy?ecUUeDTP9lKXm7B5ex+D|G0bX~u=CESwG z4dZCuuPFRn+b-pO+diWHd_G4ulfkwvCY*`Bted;y6aTn#>q}6&nxS>mtLE(bF>GGF zh@x<d!X3i>&6w$prp{6Tt5YTowx@(8_(k;q{`I+df%t``mKz=QuW2p+GK^Az#Qb zZjB$#tK1cz_~wo+FCni}r$;wtAi#^=jXRdLR|8#13b#%xcPxv4MfN?66J-C9L@4nN zzdu;2{L9t9ZkmX4;pdcdziU}IMT>kcOD3CPq%e}SME?CB{rWM%uUF7j=5>ST@5IfN z-zybgsW?$%8aEU8ZiTwtDiWxd0Q@T&CxigHrd`w?>*zd^_sb5TO}Bj&;7iNGDila( z(hOw=la9!*z5c7)|M(&&bb1}N8#Tb6X|egW(^W(HLRXvY_!Y- zx?4l>wVtn4*v&Mpd)2?Qz)QYQtHDimcHXoa zz?*fzKbFncv;10ZTeYg4IwVkaX7mjO`UxYzw?DnYY>BqLI~<9ldp$>Tzm)Q5-*4GS z+opGDNAjneo>}*=_aEAH9H3W%Z62r1t2#Sx93!VY6_2$PUu%*_qbmMHJHTljt=+4= zfdG2h`YYQ$Y1=5*VgJC^hXB|@_0+zk%^xI9Lqx54mdWu z_CKBc?#~~&=I#ea{s07PRPLTC5*RgR^tCo*W~$_6o&4=of$vnM0C^1HXXV$-y<`G7 z(p=ru+IF_%=J04ibi+8Re8=Y5-J6sDyy4;Z{o>)#-vhBKg_}J8jC|$!c&)~WR?M&g zBWq0Is#RX==UQXiS!wepg#ZN=f9Icfju}r3>|*tT16**Y$%EJ4 z_sIC~fHq$E#t5^{#Eu$;oj69%F01l-y;ZNGpEGK&ImLY`FZ$4jJ}feJ;44`%Z}I$9 z?_hi?LzKg`#@g7j^9zJBBI2B5PHxVOB_ zDw{u6|1Rqkbh1WXw=0NHt@!HK)+-|CWV|E-Y~Q~9Z5O}w65sp&e}pT)%Pnr)A|&tKCxte!X+^GwrQcw`We3`YTCLZ&cd^{X`L9>C&a|>F!yCbR7oz z4gezgvxg3S>cK}3|GG-~)i%#DR6di^YxV5)diWD^X1+;)8qw9&Ij^T@!G#?iUF?2t z2f1t}x%r7FKD>47-i>AD`)XLeVCIuF$C|&-G^MLIxTywRG{Jv)1Q3Agp4WZ(ij}8F z(&-eVBSY5H&piF9ty{M~2y|6gzELs2sXpRdYyR%kY2(})Et^aIvvo7Ia82-EA^|El zZCuSTV!nW%ojbM^AAkJu8=raRnctUf-&eo;{D1hdkb@Jg@2iKhwrbJ$2Wc&NXxUD?ors^-qs( z^>W1>2BI9D*=sd`pJ~-QKw0mE4o$#cy%bQnOdwPy!?c=V<~jUK#acaeHx>RGZ39(B z-|bdS>S_V5IKDISO~7B{1gHdFRVZK8DAs0r_e&G-2CV_A&)`#o05g4*SrhCA?gFa2 lfy!;#<9SnK6Y$q){C`X}rzt_(hjah{002ovPDHLkV1h`dpRND^ diff --git a/www/plugins/crayons/images/crayon-24.png b/www/plugins/crayons/images/crayon-24.png deleted file mode 100644 index 4370da9bda0454be5cecd746a1197b37eea9f970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1116 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM3?#3wJbMaAaTa()7Bet#3xhBt!>lI(3R2di=ni&{={s+=87#M;$7#Kw(7#OUkGcbtfUyqWX zz`($y8sHP+3e*Duy?M$&#)dK>Ao<}P|Bp{R{};>#vS+5UK@%>5jGZ(@Wp;TAo+XdG!Tb@VcGKK5C$^&ZsMdbpSgh|i`UGDi0`VBxV&W|gxv>r z7_xeZ$uFOCeSXLCWw|F%>hGMHTefV0sASnOb?=(l#%YRoCz)AT+V0rC zrz1suQnvhuXS_*X@_*;e364zOx_!&^Wm953^!-q_S{U1TRSzsU3dF;ICYhK*b+g`K8&VK2}mCJK-S8iCl#@&6Bo&EN$+jlISe`tZ_p~DA`Y~FhE^x5mT z@7=g_>i+d754ZL_JJ|fZq4xQ{?&qgcUmZ<;btd@rg^YLS{XQK|{&cbb^VOX1H?w|R zT=e7X!Jn6w|9VjO>vhYo*X@69RsFeJ_V-Ec-)GJL9@hVR(f#lJ#D8CA{=d8K|HJVA z53B#bZu$SA|NpPa|Nkud|8LI!|8xKU-}|gadJiy6YfFOsf*BZ@n3$PafPj^ijh%yo zlZ%_1hnJ6EP)JxrL{wBvTtZSxT3SX{K~YIrSy@FzRb5?OLrYsn&%ngg)ZD_t%Erdt z!O_v#Hy}DLB{eNQGq0emvZ1-Hv#)>3`~@plZ`i(b&%VQFFI>2Bxv zU%!9<{`2SGzaT^IbOr`S2~QWt5RHk+2@XtFH&1%;+;E6-FK!bSE8KtY+BeOEGajwl zS^GEEbIuH*#8O_})N?Z)9b@hNy45fur{nF+8`IYJYrYHEmEe@FvCN|W)vDZVqf`Uc znza18d(LqO$0%l>oF>{Ck<&M0UuJ2i?Xn$#7a#S0Rx&&qDZDHeYM!of z@F{#ZW#;SW%Zd-|=;`SR2y^(pX{qVF0KVA^R;=KV=l1BcO#d`T^5YwYKs85C*HqWc zKsz;o^J|hGE=jUpAh<_J>sHjOO^a-N1kPRzejZ+ByrFZY529(N#l*7W%rVtXGF$9_r3aOyt6-7!~ zNVrYMk{D2d2ucD%0D*9XOM)T=A;=LLG!UsrB(VJ$TI`QLv->{BytDJp?Cv!@?$~;i zH41{D^?t{(fiOEPZzBX;vHUa{Oj{T}p^TuoXhvcroeX)C;)rAiKWgMDav(X9#H6*8 z4?)nH%Xt4_AGmoHX(9i}`8f#ODq79|S0Ir{I2V@RgsZAJdbOu6!D3ab z3g)K`z>R_xokiXHZ@kQzvD^M@=lRR$-+$EBDt)BMg{S_A;wXa^qZ$1ezE>KpngtdM z)(h$li~`!wRToD`Cr${Y88FNsJ4g9C#RWJp6R7o)ky~fH;=?`LQ|znid#1af@sbiQ z#rd^j)0@ke{I3TB;XX;?rU{wJyFL$JUo2p!*K~9=wKS@E-la*Ff6BJC77{y%kz?J- zN@{HV&%w!;xX*bIZHL@-zghJFIinhM@f%kmyUJi7> zf`x3bkOTA$V37+JbHGv&0J#9%06+kM5P%8*9spwL$H8V3e-)LcJX|-wd<}KD}w2iI3y}iR$N2hJuckFc8<>v100pl~z zJ$v^bIQaSDBNz|7{IK4^Uh=32hb>7mGyE?DnMJ7qhii&T9;740wakE1 zap!j0A^L=IYK>=$>uk`d7ZYP`he)$lpU!vvL4FKZI7&dX!wI#-zH}-5>tU4nTSCF0 zRa*E6{R#JuimsJ-M9m1~L*LQl3vSY+$nQPv5U2p&fs>^f;fIN1x*!UXCO`2F?~D5a zj;;7Yvk!~yX58Q!w|}ykXBn3CZEiJvV2PO_nOqdw4puuDiw~V>Z=|AcPnfOoAJ*$@ zhhx$`&UU_>oKg8U3aWibmKJ1ZWOZJIqi!aK-Ad>>l@;G~dF0_ic0~d)6pA!nEJBGEua*kE4vn z&R={hQ+S&Yqj9lr8)T<3F}XaGFm!js_~hgm>F%SRORg5Ez}(@w!qNn?M8wJz{Z?`9 lrp*zTGCYY$wu)%7ZG(_Y1RBNA$#ePJ`uX6nWtfNye*T diff --git a/www/plugins/crayons/images/crayon.png b/www/plugins/crayons/images/crayon.png deleted file mode 100644 index 74d9c22b72a1ca0a82ed433c0732c0757b690b23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1886 zcmV-k2ch_hP)8jd)8O^HSsTXZQaL6M+aR_DR4ENweZ%pE1>nkjU-g8-dQ)f z?&5}rUze8!0P3@cC$7v9WB`N^*j0ZsSy}F{^p_gr8-Lp6_kIc>lL!*4cla{+RT+lI zVz7R78B|sTL&_X|@9yTqK5wUhu531$ed^di6r+=~aC~qQl77Z z1AzE@g4l9$U*mhcCwTkJr_%^Tm`{a(rhsV!6a^Ism#JS?OZ6_#0q8&2^iOWWo7#@v zWEk-HheH#(Wdksv4upB7bqm%+f<%?YhPu}7HctUS1Vlm(QpTS8@a3J8rp=z|9UNzZ zAb=uE^HHGr6v&!3tX&nPgu-v@c6V>~)I31;%fDd+?%LGWwS{4F@7U$|%ztLmVAurw zs=^`2phyx>fx^lPRYJgjZ27?}ANn>q;rCQIUtM4->{kU#P9g=w&C0-`8#rxzd)4xzlv2ZX@3 z+ScwJo&kUeXcK#@VOUHQg#a)d8i`J4V@VTII$JmuoOIw;l0_&jmMJChr;Xp~@_S|? z)c0c3Swy?RG;G2lY(a#*ADx|G83Q0=Aow+TAsu`&6bBWMWuizbdCOBHvEKbne+FPr zTecmGE2Y0oBr=mDmtv6A5hxWQpe{g=Wf6$;L2`R->#MhUY9@Gc|E^~lk|)kTf4^?o zR{iMMlrcSn+hC6X;9&( zf~rx<{&;uCG0~F%5CH`}^R0==`1Eizh8%*E28#tT{G|XWk{C`+Uiy(|pAG)&faaQ(BbAcV6NYXf zcYdKBlot7%zs;H`;_o~S0NdM{p3!%lkIr2EWHbhnBsvi0RkgB&hy?1L5t^r8kT`Yd z(Q6iC_n!E7G<9hv?e+ySQ0F5MSrqIBF9UFk;;u86jV*sae$JdtS#WXu8hmtq3hHkX z%=;rz=4}A3`VKU{W}3#~BX6C?cr1o5Jb4>5-d8IDz!M!E9RY6xa21(R9@8MZd%ZAp z)>iI3}YPte7xi%fDqz1C+A6WZ9WX*in+45%p4hx znwy)~iJ~~$+1WXSi1t#C03q*gOF1Bv&j3SQ#|>9PPI{oDLx&EX)ikXv6bii&iA0dY z07sG}eUAOyYre?!{}TY_iRI_GE7RSBynXf=zd`Q6F9;z!mV6CBM3WH0^0#xGmbkL{ zcRB}vl@k%BBUM#v2_X&FO&@@WHdhh=X1T7pHo-NQvlr)z<{9 diff --git a/www/plugins/crayons/images/crayon20.png b/www/plugins/crayons/images/crayon20.png deleted file mode 100644 index c8e385192048e22390cbb50ec8ab25977168ad8e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)*`J-+$@6`}ETdDKUOVZZ6hoCaFt>$T5%+nPZu?!dO*a z_>i197uTsP&lkS`_$%S`>?m?v2m!~ZMVx*8?rW(4FE@jVoM0R)E29UgE@Va*5Y+TJ z^XET#;318OgUA(XFof)?k`y`1cB3YV*cN}|0?Oh^Ut?*lttBfx!6)Eav=yj zJG<^Xv%K40QEtXycTHvqEj5J&hYuen*@d78;sE&?h{cahi+uOw=zPzA-(K@EGBS#g z6U&@HEDXi`K>QDgKX7qzy$9k%US3{lK0ZDMLYM`~z#l;T8i+pwF&hy72jXA<|NoZ< gVlVV0HVWVX03Zs1$?R=?q5uE@07*qoM6N<$g1ocD#Q*>R diff --git a/www/plugins/crayons/images/edit.png b/www/plugins/crayons/images/edit.png deleted file mode 100644 index aa0c5d619fe02c9a41d3c84d927d95768a55c201..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE;AmZytjh{fsT1O=u&6(1kja~KCO zZ`r>6|MuokD;?I0*}-7W)8?48m`#ZNA2XvKvtxtC^#zZwt`1L@;1D{zOf3D9 zg81RdA{qySvLtw#h3&8MF4;9bQ%KXq(`<2MzZqN5-Uij>Ku6TCSbjm=FHR0vS{GWXg z=jFEi{#(+mPYdl{bJ+sm-!h2X0+2YXqDA3r`Z z{0G?zlwk(Ok%)vW!-P4vv1&#KAea1K`JDUz+#3vF3}U;W`I!(fb_Hr!{gNAuT}jjo tH^dVdGoGE~X@(m@tY$_^vok<|0RUEP!L?xlWyb&j002ovPDHLkV1gj@#Tx(s diff --git a/www/plugins/crayons/images/pencil.png b/www/plugins/crayons/images/pencil.png deleted file mode 100644 index 8be481227e25efd9de89acd0915ac2f988d7f9e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQax&b~RuK)l4|M~Oh{{8!xEnD{a z^XF&Jo^9T|`R2`=Yu2o}eEIUuojd2xpMU1enVBy(~QcNX5e!&b3Ws}cZ0C_o{E{-7@ z=aUl_$gWuIkbiVa+NQ5=Td#Z(pSaR|huPeP8BUs&vnD@oaLH7D>$GK!1jnha)2AF# z3}>)EYGM^wV`RXr#3Z;hQRR6WbLX+VPbTgrPmMzSR;yfo^({T(pFe-|=FJHS2_HUusI06sHa5O`_3G5AQy)Hj7#bRS>(;H^yLWHe zwCT{HLpyftIDY*2moHx?Po8XNXV=x$_5J(z?c2A%fB*i?n>W?f)$7-<-??*VbaeFW z*|RTSzMP(({`&Rnj~_ptJb7}%h7G%R?TU(u>gecr@#4jU2M-o3Sg>WwmYX+k&YCrA z_3G8Xe*N0FZ(mbW(~~DpK7IN$ckbLhd-gnj{CL{5X?O12$;!&Qc=4ivfx+$Dw@;lq zb?n%&#>U2l3m4YZ)I59k?C#yWYuB!AYimnMN!h=D|GRhZ7^n>t|8x7fh6Fo12DlpO z889;f%~$-%!pX(J$DjkU3lvQbtQHHD`;KRH-7r%-@zSJ0+xqAkouo>sJ%;^qjVqpU zXs{{A@N>e6J|KhZll+}Whrl)pJThOc?~3I^5Hsw>y6ZwiUppcom%tgZJN@c zbl?dmZ|wODHPxWZ3G0>>Y~G}BK4a3X61$!LFLua$nZ)nAcvr1e(VOKQ^$d~>j!?IX zGw3h@!;~8o46K$9RO60XbexFjnzCYvN|Z(The^#Je5OgLD0`|HXi4=eHD7AT>0;jpMTgn-PVSEMYnYYG+hE)BVaHjfj;|k_P3?Ruo!ntg1jiI3(1D=fbOi-x zOG-<7lYp9cN3*yJuVimioGJ6EQ5WQ)+7U$Y2cso~E_& diff --git a/www/plugins/crayons/inc/compat_crayons.php b/www/plugins/crayons/inc/compat_crayons.php deleted file mode 100644 index db6456c7..00000000 --- a/www/plugins/crayons/inc/compat_crayons.php +++ /dev/null @@ -1,103 +0,0 @@ - $elt) { - $ret .= $sep . '"' . $key . '":' . crayons_var2js($elt); - $sep = ','; - } - return $ret .'}'; - } else { - $ret = '['; - foreach ($var as $elt) { - $ret .= $sep . crayons_var2js($elt); - $sep = ','; - } - return $ret .']'; - } - } - return false; -} - -// Un json_encode qui marche en iso (la spec JSON exige utf-8) -function crayons_json_encode($v) { - if ($GLOBALS['meta']['charset'] == 'utf-8' and function_exists('json_encode')) { - return json_encode($v); - } - - $v = crayons_var2js($v); - - if ($GLOBALS['meta']['charset'] != 'utf-8') { - include_spip('inc/charsets'); - $v = charset2unicode($v); - } - - return $v; -} - -// http://doc.spip.org/@json_export -function crayons_json_export($var) { - return crayons_json_encode($var); - -/// Il semble que ce hack n'ait plus lieu d'etre avec jquery 1.5 -/* - // flag indiquant qu'on est en iframe et qu'il faut proteger nos - // donnees dans un "; - else - return $var; -*/ -} diff --git a/www/plugins/crayons/inc/crayons.php b/www/plugins/crayons/inc/crayons.php deleted file mode 100644 index 7bcf64d3..00000000 --- a/www/plugins/crayons/inc/crayons.php +++ /dev/null @@ -1,720 +0,0 @@ -\'"]+?\b((\w+)-(\w+)-(\w+(?:-\w+)*))\b,'); - -// Compatibilite pour 1.92 : on a besoin de sql_fetch et table_objet_sql -if ($GLOBALS['spip_version_code'] < '1.93' and $f = charger_fonction('compat_crayons', 'inc')) { - $f(); -} - -// Autoriser les crayons sur les tables non SPIP ? -// Par defaut : oui (pour les admins complets, si autoriser_defaut_dist()) ; -// mettre a false en cas de mutualisation par prefixe de table, -// sinon on ne peut pas garantir que les sites sont hermetiques -if (!defined('_CRAYONS_TABLES_EXTERNES')) { - define('_CRAYONS_TABLES_EXTERNES', true); -} - -// Autorisations non prevues par le core -include_spip('inc/autoriser'); - -include_spip('inc/crayons-json'); - -if (!function_exists('autoriser_meta_modifier_dist')) { -/** - * Autorisation d'éditer les configurations dans spip_meta - * - * Les admins complets OK pour certains champs, - * Sinon, il faut être webmestre - * - * @note - * Attention sur les SPIP < 11515 (avant 04/2008) inc/autoriser - * passe seulement intval($id) alors qu'ici la cle est une chaine... - * - * @param string $faire Action demandée - * @param string $type Type d'objet sur lequel appliquer l'action - * @param int $id Identifiant de l'objet - * @param array $qui Description de l'auteur demandant l'autorisation - * @param array $opt Options de cette autorisation - * @return bool true s'il a le droit, false sinon -**/ -function autoriser_meta_modifier_dist($faire, $type, $id, $qui, $opt) { - // Certaines cles de configuration sont echapées ici (cf #EDIT_CONFIG{demo/truc}) - // $id = str_replace('__', '/', $id); - if (in_array($id, array('nom_site', 'slogan_site', 'descriptif_site', 'email_webmaster'))) { - return autoriser('configurer', null, null, $qui); - } else { - return autoriser('webmestre', null, null, $qui); - } -} -} - -// table spip_messages, la c'est tout simplement non (peut mieux faire, -// mais c'est a voir dans le core/organiseur ou dans autorite) -if (defined('_DIR_PLUGIN_ORGANISEUR')) { - include_spip('organiseur_autoriser'); -} - -if (!function_exists('autoriser_message_modifier_dist')) { - function autoriser_message_modifier_dist($faire, $type, $id, $qui, $opt) { - return false; - } -} -//compat 192 documents -if ($GLOBALS['spip_version_code'] < '1.93') { - if (!function_exists('get_spip_doc')) { - function get_spip_doc($fichier) { - // fichier distant - if (preg_match(',^\w+://,', $fichier)) { - return $fichier; - } - // gestion d'erreurs, fichier='' - if (!strlen($fichier)) { - return false; - } - - // fichier normal - return (strpos($fichier, _DIR_IMG) === false) ? _DIR_IMG . $fichier : $fichier; - } - } -} - -// Autoriser l'usage des crayons ? -function autoriser_crayonner_dist($faire, $type, $id, $qui, $opt) { - // Le type pouvant etre une table, verifier les autoriser('modifier') - // correspondant ; ils demandent le nom de l'objet: spip_articles => article - // ex: spip_articles => 'article' - $type = preg_replace(',^spip_(.*?)s?$,', '\1', $type); - if (strlen($GLOBALS['table_prefix'])) { - $type = preg_replace(',^'.$GLOBALS['table_prefix'].'_(.*?)s?$,', '\1', $type); - } - - // Tables non SPIP ? Si elles sont interdites il faut regarder - // quelle table on appelle, et verifier si elle est "interne" - if (!_CRAYONS_TABLES_EXTERNES) { - include_spip('base/serial'); - include_spip('base/auxiliaires'); - include_spip('public/parametrer'); - if (!isset($GLOBALS['tables_principales']['spip_'.table_objet($type)]) - and !isset($GLOBALS['tables_auxiliaires']['spip_'.table_objet($type)])) { - return false; - } - } - - // Traduire le modele en liste de champs - if (isset($opt['modele'])) { - $opt['champ'] = $opt['modele']; - } - - // Pour un auteur, si le champ est statut ou email, signaler l'option - // ad hoc (cf. inc/autoriser) - if ($type == 'auteur' - and in_array($opt['champ'], array('statut', 'email'))) { - $opt[$opt['champ']] = true; - } - - return ( - autoriser('modifier', $type, $id, $qui, $opt) - ); -} - -// Si un logo est demande, on renvoie la date dudit logo (permettra de gerer -// un "modifie par ailleurs" si la date a change, rien de plus) -function valeur_champ_logo($table, $id, $champ) { - $chercher_logo = charger_fonction('chercher_logo', 'inc'); - $on = $chercher_logo($id, id_table_objet($table), 'on'); - return $on ? filemtime($on[0]) : false; -} - -// Idem : si un doc est demande, on renvoie la date du doc -function valeur_champ_document($table, $id, $champ) { - $s = spip_query('SELECT date FROM spip_documents WHERE id_document=' . _q($id)); - if ($t = sql_fetch($s)) { - return $t['date']; - } -} - -function valeur_champ_vignette($table, $id, $champ) { - $vignette = sql_getfetsel('id_vignette', 'spip_documents', 'id_document=' . intval($id)); - if (is_numeric($vignette) && ($vignette > 0)) { - $date = sql_getfetsel('date', 'spip_documents', 'id_document=' . intval($vignette)); - } - return $date ? $date : false; -} -// cette fonction de revision recoit le fichier upload a passer en logo -// en reference : le nom du widget, pour aller chercher d'autres donnees -// (ex: supprimer) -function logo_revision($id, $file, $type, $ref) { - $chercher_logo = charger_fonction('chercher_logo', 'inc'); - $_id_objet = id_table_objet($type); - - // Chargement d'un nouveau logo ? - if ($file['logo']) { - define('FILE_UPLOAD', true); // message pour crayons_json_export :( - - if (include_spip('action/editer_logo') - and function_exists('logo_modifier')) { - logo_modifier($type, $id, 'on', $file['logo']); - } else { - // compat SPIP < 3.1 - // supprimer l'ancien logo - $on = $chercher_logo($id, $_id_objet, 'on'); - if ($on) { - @unlink($on[0]); - } - - // ajouter le nouveau - include_spip('action/iconifier'); - action_spip_image_ajouter_dist(type_du_logo($_id_objet) . 'on' . $id, false, false); // beurk - } - } else { - // Suppression du logo ? - if ($wid = array_pop($ref) - and $_POST['content_'.$wid.'_logo_supprimer'] == 'on') { - if (include_spip('action/editer_logo') - and function_exists('logo_supprimer')) { - logo_supprimer($type, $id, 'on'); - } else { - if ($on = $chercher_logo($id, $_id_objet, 'on')) { - @unlink($on[0]); - } - } - } - } - - // Reduire le logo ? - if (is_array($cfg = @unserialize($GLOBALS['meta']['crayons'])) - and $max = intval($cfg['reduire_logo'])) { - $on = $chercher_logo($id, $_id_objet, 'on'); - include_spip('inc/filtres'); - @copy($on[0], $temp = _DIR_VAR . 'tmp' . rand(0, 999) . '.' . $on[3]); - $img1 = filtrer('image_reduire', $temp, $max); - $img2 = preg_replace(',[?].*,', '', extraire_attribut($img1, 'src')); - if (@file_exists($img2) - and $img2 != $temp) { - if (include_spip('action/editer_logo') - and function_exists('logo_modifier')) { - logo_modifier($type, $id, 'on', $img2); - } else { - @unlink($on[0]); - $dest = $on[1].$on[2].'.' - .preg_replace(',^.*\.(gif|jpg|png)$,', '\1', $img2); - @rename($img2, $dest); - } - } - @unlink($temp); - } - - return true; -} - - -// cette fonction de revision recoit le fichier upload a passer en document -function document_fichier_revision($id, $data, $type, $ref) { - - $s = spip_query('SELECT * FROM spip_documents WHERE id_document=' . intval($id)); - if (!$t = sql_fetch($s)) { - return false; - } - - /* - // Envoi d'une URL de document distant ? - // TODO: verifier l'extension distante, sinon tout explose - if ($data['fichier'] - AND preg_match(',^(https?|ftp)://.+,', $data['fichier'])) { - include_spip('inc/modifier'); - modifier_contenu('document', $id, - array('champs' => array('fichier', 'distant')), - array('fichier' => $data['fichier'], 'distant' => 'oui') - ); - return true; - } - else - */ - - // Chargement d'un nouveau doc ? - if ($data['document']) { - $arg = $data['document']; - /** - * Méthode >= SPIP 3.0 - * ou SPIP 2.x + Mediathèque - */ - if ($ajouter_documents = charger_fonction('ajouter_documents', 'action', true)) { - $actifs = $ajouter_documents($id, array($arg), '', 0, $t['mode']); - $x = reset($actifs); - if (is_numeric($x)) { - return true; - } else { - return false; - } - } elseif ($ajouter_documents = charger_fonction('ajouter_documents', 'inc', true)) { - /** - * Méthode SPIP < 3.0 - */ - check_upload_error($arg['error']); - $x = $ajouter_documents($arg['tmp_name'], $arg['name'], - 'article', 0, 'document', null, $actifs); - // $actifs contient l'id_document nouvellement cree - // on recopie les donnees interessantes dans l'ancien - $extension = ', extension '; - //compat 192 - if ($GLOBALS['spip_version_code'] < '1.93') { - $extension = ''; - } - - if ($id_new = array_pop($actifs) - and $s = spip_query("SELECT fichier, taille, largeur, hauteur $extension, distant FROM spip_documents - WHERE id_document="._q($id_new)) - and $new = sql_fetch($s)) { - define('FILE_UPLOAD', true); // message pour crayons_json_export :( - - // Une vignette doit rester une image - if ($t['mode'] == 'vignette' - and !in_array($new['extension'], array('jpg', 'gif', 'png'))) { - return false; - } - - // Maintenant on est bon, on recopie les nouvelles donnees - // dans l'ancienne ligne spip_documents - include_spip('inc/modifier'); - modifier_contenu( - 'document', - $id, - # 'champs' inutile a partir de SPIP 11348 - array('champs' => array_keys($new)), - $new - ); - - // supprimer l'ancien document (sauf s'il etait distant) - if ($t['distant'] != 'oui' - and file_exists(get_spip_doc($t['fichier']))) { - supprimer_fichier(get_spip_doc($t['fichier'])); - } - - // Effacer la ligne temporaire de spip_document - spip_query('DELETE FROM spip_documents WHERE id_document='.intval($id_new)); - - // oublier id_document temporaire (ca marche chez moi, sinon bof) - spip_query('ALTER TABLE spip_documents AUTO_INCREMENT='.intval($id_new)); - - return true; - } - } - } -} - -// cette fonction de revision soit supprime la vignette d'un document, -// soit recoit le fichier upload a passer ou remplacer la vignette du document -function vignette_revision($id, $data, $type, $ref) { - $s = sql_fetsel('id_document,id_vignette', 'spip_documents', 'id_document = '.intval($id)); - if (!is_array($s)) { - return false; - } - - include_spip('inc/modifier'); - include_spip('inc/documents'); - include_spip('action/editer_document');//pour revision_document - // Chargement d'un nouveau doc ? - if ($data['vignette']) { - define('FILE_UPLOAD', true); - if (is_numeric($s['id_vignette']) and ($s['id_vignette'] > 0)) { - spip_log('suppression de la vignette'); - // Suppression du document - $vignette = sql_getfetsel('fichier', 'spip_documents', 'id_document='.intval($s['id_vignette'])); - if (@file_exists($f = get_spip_doc($vignette))) { - spip_log("efface $f"); - supprimer_fichier($f); - } - sql_delete('spip_documents', 'id_document='.intval($s['id_vignette'])); - sql_delete('spip_documents_liens', 'id_document='.intval($s['id_vignette'])); - - pipeline( - 'post_edition', - array( - 'args' => array( - 'operation' => 'supprimer_document', - 'table' => 'spip_documents', - 'id_objet' => $s['id_vignette'] - ), - 'data' => null - ) - ); - $id_vignette = 0; - } - - $arg = $data['vignette']; - check_upload_error($arg['error']); - // Ajout du document comme vignette - - /** - * Méthode >= SPIP 3.0 - * ou SPIP 2.x + Mediatheque - */ - if ($ajouter_documents = charger_fonction('ajouter_documents', 'action', true)) { - $x = $ajouter_documents(null,array($arg),'', 0, 'vignette'); - $vignette = reset($x); - if (intval($vignette)) { - document_modifier($id, array('id_vignette'=>$vignette)); - } elseif ($id_vignette) { - document_modifier($id, array('id_vignette'=>$id_vignette)); - } - } elseif ($ajouter_documents = charger_fonction('ajouter_documents', 'inc', true)) { - /** - * Méthode < SPIP 3.0 - */ - // On remet l'id_vignette a 0 si on l'a supprimé - if ($id_vignette) { - revision_document($s['id_document'], array('id_vignette' => 0)); - } - $x = $ajouter_documents($arg['tmp_name'], $arg['name'],'','', 'vignette', $id, $actifs); - } - } elseif ($wid = array_pop($ref) - and $_POST['content_'.$wid.'_vignette_supprimer'] == 'on') { - if (is_numeric($s['id_vignette']) and ($s['id_vignette']>0)) { - // Suppression du document - $vignette = sql_getfetsel('fichier', 'spip_documents', 'id_document='.intval($s['id_vignette'])); - if (@file_exists($f = get_spip_doc($vignette))) { - spip_log("efface $f"); - supprimer_fichier($f); - } - sql_delete('spip_documents', 'id_document='.intval($s['id_vignette'])); - sql_delete('spip_documents_liens', 'id_document = ' . intval($s['id_vignette'])); - - pipeline( - 'post_edition', - array( - 'args' => array( - 'operation' => 'supprimer_document', - 'table' => 'spip_documents', - 'id_objet' => $s['id_vignette'] - ), - 'data' => null - ) - ); - - // On remet l'id_vignette a 0 - revision_document($s['id_document'], array('id_vignette'=>0)); - } - } - return true; -} - - -function colonne_table($type, $col) { - list($distant,$table) = distant_table($type); - $nom_table = ''; - if (!(($tabref = &crayons_get_table($table, $nom_table)) - && isset($tabref['field'][$col]) - && ($brut = $tabref['field'][$col]))) { - return false; - } - $ana = explode(' ', $brut); - $sta = 0; - $sep = ''; - $ret = array('brut' => $brut, - 'type' => '', 'notnull' => false, 'long' => 0, 'def' => ''); - foreach ($ana as $mot) { - switch ($sta) { - case 0: - $ret['type'] = ($mot = strtolower($mot)); - continue; - case 1: - if ($mot[strlen($mot) - 1] == ')') { - $pos = strpos($mot, '('); - $ret['type'] = strtolower(substr($mot, 0, $pos++)); - $vir = explode(',', substr($mot, $pos, -1)); - if ($ret['type'] == 'enum') { - $ret['enum'] = $vir; - } elseif (count($vir) > 1) { - $ret['long'] = $vir; - } else { - $ret['long'] = $vir[0]; - } - $sta = 1; - continue; - } - if (!$sta) { - $sta = 1; - continue; - } - continue; - case 2: - switch (strtolower($mot)) { - case 'not': - $sta = 3; - continue; - case 'default': - $sta = 4; - continue; - } - continue; - case 3: - $ret['notnull'] = strtolower($mot) == 'null'; - $sta = 2; - continue; - case 4: - $df1 = strpos('"\'', $mot[0]) !== false? $mot[0] : ''; - $sta = 5; - continue; - case 5: - $ret['def'] .= $sep . $mot; - if (!$df1) { - $sta = 2; - continue; - } - if ($df1 == $mot[strlen($mot) - 1]) { - $ret['def'] = substr($ret['def'], 1, -1); - $sta = 2; - } - $sep = ' '; - continue; - } - } - return $ret; -} - - -/** - * Obtient le nom de la table ainsi que sa ou ses clés primaires - * - * @param string $type - * Table sur laquelle s'applique le crayon. - * Ce type peut contenir le nom d'un connecteur distant tel que `{connect}__{table}` - * - * @return array|bool - * - false si on ne trouve pas de table ou de table ayant de clé primaire - * - liste : - * - - nom de la table sql - * - - tableau des noms de clés primaires -**/ -function crayons_get_table_name_and_primary($type) { - static $types = array(); - if (isset($types[$type])) { - return $types[$type]; - } - - $nom_table = ''; - if ($tabref = &crayons_get_table($type, $nom_table) - and ($tabid = explode(',', $tabref['key']['PRIMARY KEY']))) { - return $types[$type] = array($nom_table, $tabid); - } - spip_log('crayons: table ' . $type . ' inconnue'); - return $types[$type] = false; -} - - -function table_where($type, $id, $where_en_tableau = false) { - if (!$infos = crayons_get_table_name_and_primary($type)) { - return array(false, false); - } - - list($nom_table, $tabid) = $infos; - - if (is_scalar($id)) { - $id = explode('-', $id); - } - // sortie tableau pour sql_updateq - if ($where_en_tableau) { - $where = array(); - foreach ($id as $idcol => $idval) { - $where[] = '`' . (is_int($idcol) ? trim($tabid[$idcol]) : $idcol) . '`=' . sql_quote($idval); - } - // sinon sortie texte pour sql_query - } else { - $where = $and = ''; - foreach ($id as $idcol => $idval) { - $where .= $and . '`' . (is_int($idcol) ? trim($tabid[$idcol]) : $idcol) . '`=' . _q($idval); - $and = ' AND '; - } - } - return array($nom_table, $where); -} -// var_dump(colonne_table('forum', 'id_syndic')); die(); - -function valeur_colonne_table_dist($type, $col, $id) { - - // Table introuvable ou sans clé primaire - if (!$infos = crayons_get_table_name_and_primary($type)) { - return false; - } - $table = reset($infos); - - $r = array(); - - // valeurs non SQL - foreach ($col as $champ) { - if (function_exists($f = 'valeur_champ_'.$table.'_'.$champ) - or function_exists($f = 'valeur_champ_'.$champ)) { - $r[$champ] = $f($table, $id, $champ); - $col = array_diff($col, array($champ)); - } - } - - // valeurs SQL - if (count($col)) { - list($distant, $table) = distant_table($type); - list($nom_table, $where) = table_where($type, $id); - - if ($s = spip_query( - 'SELECT `' . implode($col, '`, `') . - '` FROM ' . $nom_table . ' WHERE ' . $where, - $distant - ) and $t = sql_fetch($s)) { - $r = array_merge($r, $t); - } - } - - return $r; -} - -/** - * Extrait la valeur d'une ou plusieurs colonnes d'une table - * - * @param string $table - * Type d'objet de la table (article) - * @param string|array $col - * Nom de la ou des colonnes (ps) - * @param string $id - * Identifiant de l'objet - * @return array - * Couples Nom de la colonne => Contenu de la colonne -**/ -function valeur_colonne_table($table, $col, $id) { - if (!is_array($col)) { - $col = array($col); - } - - if (function_exists($f = $table . '_valeur_colonne_table_dist') - or function_exists($f = $table.'_valeur_colonne_table') - or $f = 'valeur_colonne_table_dist') { - return $f($table, $col, $id); - } -} - -/** - * Extrait la valeur d'une configuration en meta - * - * Pour ces données, il n'y a toujours qu'une colonne (valeur), - * mais on gère l'enregistrement et la lecture via lire_config ou ecrire_config - * dès que l'on demande des sous parties d'une configuration. - * - * On ne retourne alors ici dans 'valeur' que la sous-partie demandée si - * c'est le cas. - * - * @param string $table - * Nom de la table (meta) - * @param array $col - * Nom des colonnes (valeur) - * @param string $id - * Nom ou clé de configuration (descriptif_site ou demo__truc pour demo/truc) - * @return array - * Couple valeur => Contenu de la configuration -**/ -function meta_valeur_colonne_table_dist($table, $col, $id) { - // Certaines clés de configuration sont echapées ici (cf #EDIT_CONFIG{demo/truc}) - $id = str_replace('__', '/', $id); - - // Éviter de planter les vieux SPIP - if (false === strpos($id, '/')) { - $config = isset($GLOBALS['meta'][$id]) ? $GLOBALS['meta'][$id] : ''; - // SPIP 3 ou Bonux 2 ou CFG - } else { - include_spip('inc/config'); - $config = lire_config($id, ''); - } - return array('valeur' => $config); -} - - -function return_log($var) { - die(crayons_json_export(array('$erreur'=> var_export($var, true)))); -} - -function _U($texte, $params = array()) { - include_spip('inc/charsets'); - return unicode2charset(html2unicode(_T($texte, $params))); -} - -/** - * Obtenir la configuration des crayons - * - * @note wdgcfg = widget config :-) - * - * @return array - * Couples : attribut => valeur -**/ -function wdgcfg() { - $php = function_exists('crayons_config') ? crayons_config() : array(); - include_spip('inc/meta'); - lire_metas(); - global $meta; - $metacrayons = empty($meta['crayons']) ? array() : unserialize($meta['crayons']); - $wdgcfg = array(); - foreach (array( - 'msgNoChange' => false, - 'msgAbandon' => false, /* etait: true */ - 'filet' => false, - 'yellow_fade' => false, - 'clickhide' => false /* etait: true */ - ) as $cfgi => $def) { - $wdgcfg[$cfgi] = isset($php[$cfgi]) ? $php[$cfgi] : - isset($metacrayons[$cfgi]) ? $metacrayons[$cfgi] : $def; - } - return $wdgcfg; -} - -function &crayons_get_table($type, &$nom_table) { - list($distant,$table) = distant_table($type); - static $return = array(); - static $noms = array(); - if (!isset($return[$table])) { - $try = array(table_objet_sql($table), 'spip_'.table_objet($table), 'spip_' . $table . 's', $table . 's', 'spip_' . $table, $table); - - // premiere possibilite (à partir de 1.9.3) : regarder directement la base - if (function_exists('sql_showtable')) { - foreach ($try as $nom) { - if ($q = sql_showtable($nom, !$distant, $distant)) { - $noms[$table] = $nom; - $return[$table] = $q; - break; - } - } - } - - // seconde, une heuristique 1.9.2 - if (!isset($return[$table])) { - include_spip('base/serial'); - include_spip('base/auxiliaires'); - include_spip('public/parametrer'); - foreach (array('tables_principales', 'tables_auxiliaires') as $categ) { - foreach ($try as $nom) { - if (isset($GLOBALS[$categ][$nom])) { - $noms[$table] = $nom; - $return[$table] = & $GLOBALS[$categ][$nom]; - break 2; - } - } - } - } - } - - $nom_table = $noms[$table]; - return $return[$table]; -} - -function distant_table($type) { - //separation $type en $distant $table - //separateur double underscore "__" - strstr($type, '__') ? list($distant,$table) = explode('__', $type) : list($distant, $table) = array(false, $type); - return array($distant,$table); -} diff --git a/www/plugins/crayons/js/crayons-fade.js b/www/plugins/crayons/js/crayons-fade.js deleted file mode 100644 index 47f5b882..00000000 --- a/www/plugins/crayons/js/crayons-fade.js +++ /dev/null @@ -1,101 +0,0 @@ - -// Gestion du Yellow Fade (fonctionnalite optionnelle) -function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) { - var delta = maxValue - minValue; - var stepp = minValue+(Math.pow(((1 / totalSteps)*actualStep),powr)*delta); - return Math.ceil(stepp) -}; - -function doBGFade(elem,startRGB,endRGB,finalColor,steps,intervals,powr) { - if (elem.bgFadeInt) window.clearInterval(elem.bgFadeInt); - var actStep = 0; - elem.bgFadeInt = window.setInterval( - function() { - elem.style.backgroundColor = "rgb("+ - easeInOut(startRGB[0],endRGB[0],steps,actStep,powr)+","+ - easeInOut(startRGB[1],endRGB[1],steps,actStep,powr)+","+ - easeInOut(startRGB[2],endRGB[2],steps,actStep,powr)+")"; - actStep++; - if (actStep > steps) { - elem.style.backgroundColor = finalColor; - window.clearInterval(elem.bgFadeInt); - } - } - ,intervals) -}; - -function findPos(obj) { - var curleft = curtop = 0; - if (obj.offsetParent) { - curleft = obj.offsetLeft; - curtop = obj.offsetTop; - while (obj = obj.offsetParent) { - curleft += obj.offsetLeft; - curtop += obj.offsetTop; - } - } - return [curleft,curtop]; -}; - -// demarrage crayons-fade -jQuery(document).ready(function() { - if (configCrayons.cfg.yellow_fade) { - // Activer le Yellow Fade pour les elements editables - jQuery("div.crayon").hover(function(){doBGFade(this,[255,255,180],[255,255,255],'transparent',40,20,4);}, function(){}); - } - - if (configCrayons.cfg.filet) { - // on rajoute une div supplémentaire qui se cale avec la div courante - // C'est elle qui va s'afficher lors du hover - - // esthetique - jQuery('.crayon-icones img',this).css({ - 'padding':'2px', - 'border':'2px solid #999', - 'border-left':'0', - 'background-color':'#FFF' - }); - - var test=0; - - jQuery('.crayon-autorise').each( - function(){ - var contenu = jQuery(this).html(); - jQuery(this) - .css('height',this.offsetHeight + 'px') - .html('
'); - jQuery(this) - .find('div') - .html(contenu) - .css('position','absolute') - .css('width',this.offsetWidth + 'px'); - jQuery(this) - .prepend('
') - .find('.survol') - .css('border','1px solid red') - .css('display','none') - .css('position','absolute') - .css('height',(this.offsetHeight - 2) + 'px') - .css('width',(this.offsetWidth - 2) + 'px'); - if (jQuery.browser.msie) { - jQuery('#survol') - .css('width',this.offsetWidth + 'px') - .css('height',this.offsetHeight + 'px'); - } - } - ); - - jQuery('.crayon-autorise').hover( - function(){ - if (jQuery.browser.msie) jQuery(this).addClass('crayon-hover'); - jQuery('.survol', this).css('display','block'); - }, - function(){ - if (jQuery.browser.msie) jQuery(this).removeClass('crayon-hover'); - jQuery('.survol', this).css('display','none'); - } - ); - - } - -}); diff --git a/www/plugins/crayons/js/crayons.js b/www/plugins/crayons/js/crayons.js deleted file mode 100644 index 713b8acb..00000000 --- a/www/plugins/crayons/js/crayons.js +++ /dev/null @@ -1,585 +0,0 @@ -(function($){ -/* - * crayons.js (c) Fil, toggg, 2006-2013 -- licence GPL - */ - -// le prototype configuration de Crayons -$.prototype.cfgCrayons = function (options) { - this.url_crayons_html = '?action=crayons_html'; - this.img = { - 'searching':{'txt':'En attente du serveur ...'}, - 'edit':{'txt':'Editer'}, - 'img-changed':{'txt':'Deja modifie'} - }; - this.txt = { - }; - for (opt in options) { - this[opt] = options[opt]; - } -}; - -$.prototype.cfgCrayons.prototype.mkimg = function(what, extra) { - var txt = this.img[what] ? this.img[what].txt : this.img['crayon'].txt; - return ''; -}; - -$.prototype.cfgCrayons.prototype.iconclick = function(c, type) { - - // le + qui passe en prive pour editer tout si classe type--id - var link = c.match(/\b(\w+)--(\d+)\b/); - link = link ? - '' + this.mkimg('edit', ' (' + link[1] + ' ' + link[2] + ')') + '' : ''; - - // on recherche une class du type type-champ-id - // comme article-texte-10 pour le texte de l'article 10 - // ou meta-valeur-meta - var cray = - c.match(/\b\w+-(\w+)-\d(?:-\w+)+\b/) // numeros_lien-type-2-3-article (table-champ-cles) - || c.match(/\b\w+-(\w+)-\d+\b/) // article-texte-10 (inclu dans le precedent, mais bon) - || c.match(/\b\meta-valeur-(\w+)\b/) // meta-valeur-xx - ; - - var boite = !cray ? '' : this.mkimg(type, ' (' + cray[1] + ')'); - - return "" + boite + - this.mkimg('img-changed', cray ? ' (' + cray[1] + ')': '') + - link +""; -}; - -function entity2unicode(txt) -{ - var reg = txt.split(/&#(\d+);/i); - for (var i = 1; i < reg.length; i+=2) { - reg[i] = String.fromCharCode(parseInt(reg[i])); - } - return reg.join(''); -}; - -function uniAlert(txt) -{ - alert(entity2unicode(txt)); -}; - -function uniConfirm(txt) -{ - return confirm(entity2unicode(txt)); -}; - -// donne le crayon d'un element -$.fn.crayon = function(){ - if (this.length) - return $( - $.map(this, function(a){ - return '#'+($(a).find('.crayon-icones').attr('rel')); - }) - .join(',')); - else - return $([]); -}; - -// ouvre un crayon -$.fn.opencrayon = function(evt, percent) { - if (evt && evt.stopPropagation) { - evt.stopPropagation(); - } - return this - .each(function(){ - // verifier que je suis un crayon - if (!$(this).is('.crayon')) - return; - - // voir si je dispose deja du crayon comme voisin - if ($(this).is('.crayon-has')) { - $(this) - .css('visibility','hidden') - .crayon() - .show(); - } - // sinon charger le formulaire - else { - // sauf si je suis deja en train de le charger (lock) - if ($(this).find("em.crayon-searching").length) { - return; - } - $(this) - .find('>span.crayon-icones span') - .append(configCrayons.mkimg('searching')); // icone d'attente - var me=this; - var offset = $(this).offset(); - var params = { - 'top': offset.top, - 'left': offset.left, - 'w': $(this).width(), - 'h': $(this).height(), - 'ww': (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth)), - 'wh': (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight)), - 'em': $(this).css('fontSize'), // Bug de jquery resolu : http://bugs.jquery.com/ticket/760 - 'class': me.className, - 'color': $(this).css('color'), - 'font-size': $(this).css('fontSize'), - 'font-family': $(this).css('fontFamily'), - 'font-weight': $(this).css('fontWeight'), - 'line-height': $(this).css('lineHeight'), - 'min-height': $(this).css('lineHeight'), - 'text-align': $(this).css('textAlign'), - 'background-color': $(this).css('backgroundColor'), - 'self': configCrayons.self - }; - if (me.type) params.type = me.type; - if (params['background-color'] == 'transparent' - || params['background-color'] == 'rgba(0, 0, 0, 0)') { - $(me).parents() - .each(function(){ - var bg = $(this).css('backgroundColor'); - if (bg != 'transparent' - && (params['background-color'] == 'transparent' - || params['background-color'] == 'rgba(0, 0, 0, 0)')) - params['background-color'] = bg; - }); - } - $.post(configCrayons.url_crayons_html, - params, - function (c) { - try { - c = $.parseJSON(c); - } catch(e) { - c = {'$erreur': 'erreur de communication :' + ' ' + e.message, '$html':''}; - } - $(me) - .find("em.crayon-searching") - .remove(); - if (c.$erreur) { - uniAlert(c.$erreur); - return false; - } - id_crayon++; - - var position = 'absolute'; - $(me).parents().each(function(){ - if($(this).css("position") == "fixed") - position = 'fixed'; - }); - - $(me) - .css('visibility','hidden') - .addClass('crayon-has') - .find('>.crayon-icones') - .attr('rel','crayon_'+id_crayon); - // Detection IE sur sa capacite a gerer zoom : - // http://www.sitepoint.com/detect-css3-property-browser-support/ - if (document.createElement("detect").style.zoom === "") { - $(me).css({'zoom':1}); - } - var pos = $(me).offset(); - $('
') - .css({ - 'position':position, - 'top':pos['top']-1, - 'left':pos['left']-1 - }) - .appendTo('body') - .html(c.$html); - $(me) - .activatecrayon(percent); - // Si le crayon a une taille mini qui le fait deborder - // a droite de l'ecran, recadrer vers la gauche - var diff = $('#crayon_'+id_crayon).offset().left + $('#crayon_'+id_crayon).width() - $(window).width(); - if (diff>0) { - $('#crayon_'+id_crayon) - .css({'left': parseInt(pos['left'])-diff}); - } - } - ); - } - }); -}; - -// annule le crayon ouvert (fonction destructive) -$.fn.cancelcrayon = function() { - this - .filter('.crayon-has') - .css('visibility','visible') - .removeClass('crayon-has') - .removeClass('crayon-changed') - .crayon() - .remove(); - return this; -}; - -// masque le crayon ouvert -$.fn.hidecrayon = function() { - this - .filter('.crayon-has') - .css('visibility','visible') - .crayon() - .hide() - .removeClass('crayon-hover'); - return this; -}; - -// active un crayon qui vient d'etre charge -$.fn.activatecrayon = function(percent) { - var focus = false; - this - .crayon() - .click(function(e){ - e.stopPropagation(); - }); - this - .each(function(){ - var me = $(this); - var crayon = $(this).crayon(); - crayon - .find('form') - .append( - $('') - .attr('value',configCrayons.self) - ) - .ajaxForm({ - "dataType":"json", - "error": function(d) { - uniAlert('erreur de communication'); - crayon - .empty() - .append( - $('
') - .html(d.responseText || d.error || 'erreur inconnue') - ) - .css({ - background: 'white', - color: 'black', - width: '480px', - border: 'red solid 2px', - padding: '10px'} - ); - }, - "success": function(d) { - // parfois le JSON n'est pas renvoye sous forme d'objet - // mais d'une chaine encadree de
...
- if (typeof d == "string") { - try { - d = $.parseJSON(d.replace(/^
/,'').replace(/<[/]pre>$/,''));
-					} catch(e) {
-						d = {'$erreur': 'erreur de communication :' + '  ' + e.message, '$html':''};
-					}
-				}
-				me
-				.find("em.crayon-searching")
-					.remove();
-
-				//Remise a zero des warnings invalides (unwrap)
-				crayon
-				.find("span.crayon-invalide p")
-					  .remove();
-				crayon
-				.find("span.crayon-invalide")
-					  .each(function(){
-					      $(this).replaceWith( this.childNodes );
-						}
-					    );
-
-				if(d.$invalides) {
-					for (invalide in d.$invalides) {
-						//Affichage des warnings invalides
-						d.$invalides[invalide]['retour']?retour=d.$invalides[invalide]['retour']:retour='';
-						d.$invalides[invalide]['msg']?msg=d.$invalides[invalide]['msg']:msg='';
-						crayon
-						    .find("*[name='content_"+invalide+"']")
-							.wrap("")
-						    .parent()
-						    .append("

" - + retour - + " " - + msg - + "

" - ); - } - - } - - if (d.$erreur > '') { - if (d.$annuler) { - if (d.$erreur > ' ') { - uniAlert(d.$erreur); - } - me - .cancelcrayon(); - } else { - uniAlert(d.$erreur+'\n'+configCrayons.txt.error); - } - } - - if (d.erreur > '' || d.$invalides) { - crayon - .find('form') - .css('opacity', 1.0) - .find(".crayon-boutons,.resizehandle") - .show() - .end() - .find('.crayon-searching') - .remove(); - return false; - } - // Desactive celui pour qui on vient de recevoir les nouvelles donnees - $(me) - .cancelcrayon(); - // Insere les donnees dans *tous* les elements ayant le meme code - var tous = $( - '.crayon.crayon-autorise.' + - me[0].className.match(/crayon ([^ ]+)/)[1] - ) - .html( - d[$('input.crayon-id', crayon).val()] - ) - .iconecrayon(); - - // Invalider des préchargements ajax - if (typeof jQuery.spip == 'object' && typeof jQuery.spip.preloaded_urls == 'object') { - jQuery.spip.preloaded_urls = {}; - } - - // Declencher le onAjaxLoad normal de SPIP - if (typeof jQuery.spip == 'object' && typeof jQuery.spip.triggerAjaxLoad == 'function') { - jQuery.spip.triggerAjaxLoad(tous.get()); - } - // SPIP 2.x - else if (typeof triggerAjaxLoad == 'function') { - triggerAjaxLoad(tous.get()); - } - }}) - .bind('form-submit-validate',function(form,a, e, options, veto){ - if(!veto.veto) - crayon - .find('form') - .css('opacity', 0.5) - .after(configCrayons.mkimg('searching')) // icone d'attente - .find(".crayon-boutons,.resizehandle") - .hide(); - }) - // keyup pour les input et textarea ... - .keyup(function(e){ - crayon - .find(".crayon-boutons") - .show(); - me - .addClass('crayon-changed'); - e.cancelBubble = true; // ne pas remonter l'evenement vers la page - }) - // ... change pour les select : ici on submit direct, pourquoi pas - .change(function(e){ - crayon - .find(".crayon-boutons") - .show(); - me - .addClass('crayon-changed'); - e.cancelBubble = true; - }) - .keypress(function(e){ - e.cancelBubble = true; - }) - // focus par defaut (crayons sans textarea/text, mais uniquement menus ou fichiers) - .find('input:visible:not(:disabled):not([readonly]):first').focus().end() - .find("textarea.crayon-active,input.crayon-active[type=text]") - .each(function(n){ - // focus pour commencer a taper son texte directement dans le champ - // sur le premier textarea non readonly ni disabled - // on essaie de positionner la selection (la saisie) au niveau du clic - // ne pas le faire sur un input de [type=file] - if (n==0) { - if(!$(this).is(':disabled, [readonly]')){ - this.focus(); - focus = true; - } - // premiere approximation, en fonction de la hauteur du clic - var position = parseInt(percent * this.textLength); - this.selectionStart=position; - this.selectionEnd=position; - }else if(!focus && !$(this).is(':disabled, [readonly]')) - this.focus(); - }) - .end() - .keydown(function(e){ - if(!e.charCode && e.keyCode == 119 /* F8, windows */) { - crayon - .find("form.formulaire_crayon") - .submit(); - } - if (e.keyCode == 27) { /* esc */ - me - .cancelcrayon(); - } - }) - .keypress(function(e){ - // Clavier pour sauver - if ( - (e.ctrlKey && ( - /* ctrl-s ou ctrl-maj-S, firefox */ - ((e.charCode||e.keyCode) == 115) || ((e.charCode||e.keyCode) == 83)) - /* ctrl-s, safari */ - || (e.charCode==19 && e.keyCode==19) - ) || - ( - e.shiftKey && (e.keyCode == 13) /* shift-return */ - ) - ) { - crayon - .find("form.formulaire_crayon") - .submit(); - } - var maxh = this.className.match(/\bmaxheight(\d+)?\b/); - if (maxh) { - maxh = maxh[1] ? parseInt(maxh[1]) : 200; - maxh = this.scrollHeight < maxh ? this.scrollHeight : maxh; - if (maxh > this.clientHeight) { - $(this).css('height', maxh + 'px'); - } - } - }) - .find(".crayon-submit") - .click(function(e){ - e.stopPropagation(); - $(this) - .parents("form:eq(0)") - .submit(); - }) - .end() - .find(".crayon-cancel") - .click(function(e){ - e.stopPropagation(); - me - .cancelcrayon(); - }) - .end() - // decaler verticalement si la fenetre d'edition n'est pas visible - .each(function(){ - var offset = $(this).offset(); - var hauteur = parseInt($(this).css('height')); - var scrolltop = $(window).scrollTop(); - var h = $(window).height(); - if (offset['top'] - 5 <= scrolltop) - $(window).scrollTop(offset['top'] - 5); - else if (offset['top'] + hauteur - h + 20 > scrolltop) - $(window).scrollTop(offset['top'] + hauteur - h + 30); - // Si c'est textarea, on essaie de caler verticalement son contenu - // et on lui ajoute un resizehandle - $("textarea", this) - .each(function(){ - if (percent && this.scrollHeight > hauteur) { - this.scrollTop = this.scrollHeight * percent - hauteur; - } - }) - .resizehandle() - // decaler les boutons qui suivent un resizer de 16px vers le haut - .next('.resizehandle') - .next('.crayon-boutons') - .addClass('resizehandle_boutons'); - }) - .end(); - // Declencher le onAjaxLoad normal de SPIP - // (apres donc le chargement de la page de saisie (controleur)) - if (typeof jQuery.spip == 'object' && typeof jQuery.spip.triggerAjaxLoad == 'function') { - jQuery.spip.triggerAjaxLoad(crayon.get()); - } - // SPIP 2.x - else if (typeof triggerAjaxLoad == 'function') { - triggerAjaxLoad(crayon.get()); - } - }); -}; - -// insere les icones et le type de crayon (optionnel) dans l'element -$.fn.iconecrayon = function(){ - return this.each(function() { - var ctype = this.className.match(/\b[^-]type_(\w+)\b/); - type = (ctype) ? ctype[1] : 'crayon'; - if (ctype) this.type = type; // Affecte son type a l'objet crayon - $(this).prepend(configCrayons.iconclick(this.className, type)) - .find('.crayon-' + type + ', .crayon-img-changed') // le crayon a clicker lui-meme et sa memoire - .click(function(e){ - $(this).parents('.crayon:eq(0)').opencrayon(e); - }); - }); -}; - -// initialise les crayons -$.fn.initcrayon = function(){ - var editme = function(e){ - timeme=null; - $(this).opencrayon(e, - // calcul du "percent" du click par rapport a la hauteur totale du div - ((e.pageY ? e.pageY : e.clientY) - document.body.scrollTop - this.offsetTop) - / this.clientHeight); - }; - var timeme; - this - .addClass('crayon-autorise') - .dblclick(editme) - .bind("touchstart",function(e){var me=this;timeme=setTimeout(function(){editme.apply(me,[e]);},800);}) - .bind("touchend",function(e){if (timeme) {clearTimeout(timeme);timeme=null;}}) - .iconecrayon() - .hover( // :hover pour MSIE - function(){ - $(this) - .addClass('crayon-hover') - .find('>span.crayon-icones') - .find('>span>em.crayon-' + (this.type||'crayon') + ',>span>em.crayon-edit') - .show();//'visibility','visible'); - },function(){ - $(this) - .removeClass('crayon-hover') - .find('>span.crayon-icones') - .find('>span>em.crayon-' + (this.type||'crayon') + ',>span>em.crayon-edit') - .hide();//('visibility','hidden'); - } - ); - return this; -}; - -// demarrage -$.fn.crayonsstart = function() { - if (!configCrayons.droits) return; - id_crayon = 0; // global - - // sortie, demander pour sauvegarde si oubli - if (configCrayons.txt.sauvegarder) { - $(window).unload(function(e) { - var chg = $(".crayon-changed"); - if (chg.length && uniConfirm(configCrayons.txt.sauvegarder)) { - chg.crayon().find('form').submit(); - } - }); - } - - // demarrer les crayons - if ((typeof crayons_init_dynamique == 'undefined') || (crayons_init_dynamique==false)) { - - // compat jQuery 1.9 - if (typeof $.fn.live == 'undefined') { - $.fn.live = function( types, data, fn ) { - $( this.context ).on( types, this.selector, data, fn ); - return this; - }; - } - $('.crayon:not(.crayon-init)') - .live('mouseover touchstart', function(e) { - $(this) - .addClass('crayon-init') - .filter(configCrayons.droits) - .initcrayon() - .trigger('mouseover'); - if (e.type=='touchstart') - $(this).trigger('touchstart'); - }); - } - - // un clic en dehors ferme tous les crayons ouverts ? - if (configCrayons.cfg.clickhide) - $("html") - .click(function(){ - $('.crayon-has') - .hidecrayon(); - }); -}; - -})(jQuery); diff --git a/www/plugins/crayons/js/jquery.form.js b/www/plugins/crayons/js/jquery.form.js deleted file mode 100644 index 591ad6f1..00000000 --- a/www/plugins/crayons/js/jquery.form.js +++ /dev/null @@ -1,1277 +0,0 @@ -/*! - * jQuery Form Plugin - * version: 3.51.0-2014.06.20 - * Requires jQuery v1.5 or later - * Copyright (c) 2014 M. Alsup - * Examples and documentation at: http://malsup.com/jquery/form/ - * Project repository: https://github.com/malsup/form - * Dual licensed under the MIT and GPL licenses. - * https://github.com/malsup/form#copyright-and-license - */ -/*global ActiveXObject */ - -// AMD support -(function (factory) { - "use strict"; - if (typeof define === 'function' && define.amd) { - // using AMD; register as anon module - define(['jquery'], factory); - } else { - // no AMD; invoke directly - factory( (typeof(jQuery) != 'undefined') ? jQuery : window.Zepto ); - } -} - -(function($) { -"use strict"; - -/* - Usage Note: - ----------- - Do not use both ajaxSubmit and ajaxForm on the same form. These - functions are mutually exclusive. Use ajaxSubmit if you want - to bind your own submit handler to the form. For example, - - $(document).ready(function() { - $('#myForm').on('submit', function(e) { - e.preventDefault(); // <-- important - $(this).ajaxSubmit({ - target: '#output' - }); - }); - }); - - Use ajaxForm when you want the plugin to manage all the event binding - for you. For example, - - $(document).ready(function() { - $('#myForm').ajaxForm({ - target: '#output' - }); - }); - - You can also use ajaxForm with delegation (requires jQuery v1.7+), so the - form does not have to exist when you invoke ajaxForm: - - $('#myForm').ajaxForm({ - delegation: true, - target: '#output' - }); - - When using ajaxForm, the ajaxSubmit function will be invoked for you - at the appropriate time. -*/ - -/** - * Feature detection - */ -var feature = {}; -feature.fileapi = $("").get(0).files !== undefined; -feature.formdata = window.FormData !== undefined; - -var hasProp = !!$.fn.prop; - -// attr2 uses prop when it can but checks the return type for -// an expected string. this accounts for the case where a form -// contains inputs with names like "action" or "method"; in those -// cases "prop" returns the element -$.fn.attr2 = function() { - if ( ! hasProp ) { - return this.attr.apply(this, arguments); - } - var val = this.prop.apply(this, arguments); - if ( ( val && val.jquery ) || typeof val === 'string' ) { - return val; - } - return this.attr.apply(this, arguments); -}; - -/** - * ajaxSubmit() provides a mechanism for immediately submitting - * an HTML form using AJAX. - */ -$.fn.ajaxSubmit = function(options) { - /*jshint scripturl:true */ - - // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) - if (!this.length) { - log('ajaxSubmit: skipping submit process - no element selected'); - return this; - } - - var method, action, url, $form = this; - - if (typeof options == 'function') { - options = { success: options }; - } - else if ( options === undefined ) { - options = {}; - } - - method = options.type || this.attr2('method'); - action = options.url || this.attr2('action'); - - url = (typeof action === 'string') ? $.trim(action) : ''; - url = url || window.location.href || ''; - if (url) { - // clean url (don't include hash vaue) - url = (url.match(/^([^#]+)/)||[])[1]; - } - - options = $.extend(true, { - url: url, - success: $.ajaxSettings.success, - type: method || $.ajaxSettings.type, - iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' - }, options); - - // hook for manipulating the form data before it is extracted; - // convenient for use with rich editors like tinyMCE or FCKEditor - var veto = {}; - this.trigger('form-pre-serialize', [this, options, veto]); - if (veto.veto) { - log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); - return this; - } - - // provide opportunity to alter form data before it is serialized - if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { - log('ajaxSubmit: submit aborted via beforeSerialize callback'); - return this; - } - - var traditional = options.traditional; - if ( traditional === undefined ) { - traditional = $.ajaxSettings.traditional; - } - - var elements = []; - var qx, a = this.formToArray(options.semantic, elements); - if (options.data) { - options.extraData = options.data; - qx = $.param(options.data, traditional); - } - - // give pre-submit callback an opportunity to abort the submit - if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { - log('ajaxSubmit: submit aborted via beforeSubmit callback'); - return this; - } - - // fire vetoable 'validate' event - this.trigger('form-submit-validate', [a, this, options, veto]); - if (veto.veto) { - log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); - return this; - } - - var q = $.param(a, traditional); - if (qx) { - q = ( q ? (q + '&' + qx) : qx ); - } - if (options.type.toUpperCase() == 'GET') { - options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; - options.data = null; // data is null for 'get' - } - else { - options.data = q; // data is the query string for 'post' - } - - var callbacks = []; - if (options.resetForm) { - callbacks.push(function() { $form.resetForm(); }); - } - if (options.clearForm) { - callbacks.push(function() { $form.clearForm(options.includeHidden); }); - } - - // perform a load on the target only if dataType is not provided - if (!options.dataType && options.target) { - var oldSuccess = options.success || function(){}; - callbacks.push(function(data) { - var fn = options.replaceTarget ? 'replaceWith' : 'html'; - $(options.target)[fn](data).each(oldSuccess, arguments); - }); - } - else if (options.success) { - callbacks.push(options.success); - } - - options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg - var context = options.context || this ; // jQuery 1.4+ supports scope context - for (var i=0, max=callbacks.length; i < max; i++) { - callbacks[i].apply(context, [data, status, xhr || $form, $form]); - } - }; - - if (options.error) { - var oldError = options.error; - options.error = function(xhr, status, error) { - var context = options.context || this; - oldError.apply(context, [xhr, status, error, $form]); - }; - } - - if (options.complete) { - var oldComplete = options.complete; - options.complete = function(xhr, status) { - var context = options.context || this; - oldComplete.apply(context, [xhr, status, $form]); - }; - } - - // are there files to upload? - - // [value] (issue #113), also see comment: - // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 - var fileInputs = $('input[type=file]:enabled', this).filter(function() { return $(this).val() !== ''; }); - - var hasFileInputs = fileInputs.length > 0; - var mp = 'multipart/form-data'; - var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); - - var fileAPI = feature.fileapi && feature.formdata; - log("fileAPI :" + fileAPI); - var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; - - var jqxhr; - - // options.iframe allows user to force iframe mode - // 06-NOV-09: now defaulting to iframe mode if file input is detected - if (options.iframe !== false && (options.iframe || shouldUseFrame)) { - // hack to fix Safari hang (thanks to Tim Molendijk for this) - // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d - if (options.closeKeepAlive) { - $.get(options.closeKeepAlive, function() { - jqxhr = fileUploadIframe(a); - }); - } - else { - jqxhr = fileUploadIframe(a); - } - } - else if ((hasFileInputs || multipart) && fileAPI) { - jqxhr = fileUploadXhr(a); - } - else { - jqxhr = $.ajax(options); - } - - $form.removeData('jqxhr').data('jqxhr', jqxhr); - - // clear element array - for (var k=0; k < elements.length; k++) { - elements[k] = null; - } - - // fire 'notify' event - this.trigger('form-submit-notify', [this, options]); - return this; - - // utility fn for deep serialization - function deepSerialize(extraData){ - var serialized = $.param(extraData, options.traditional).split('&'); - var len = serialized.length; - var result = []; - var i, part; - for (i=0; i < len; i++) { - // #252; undo param space replacement - serialized[i] = serialized[i].replace(/\+/g,' '); - part = serialized[i].split('='); - // #278; use array instead of object storage, favoring array serializations - result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]); - } - return result; - } - - // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) - function fileUploadXhr(a) { - var formdata = new FormData(); - - for (var i=0; i < a.length; i++) { - formdata.append(a[i].name, a[i].value); - } - - if (options.extraData) { - var serializedData = deepSerialize(options.extraData); - for (i=0; i < serializedData.length; i++) { - if (serializedData[i]) { - formdata.append(serializedData[i][0], serializedData[i][1]); - } - } - } - - options.data = null; - - var s = $.extend(true, {}, $.ajaxSettings, options, { - contentType: false, - processData: false, - cache: false, - type: method || 'POST' - }); - - if (options.uploadProgress) { - // workaround because jqXHR does not expose upload property - s.xhr = function() { - var xhr = $.ajaxSettings.xhr(); - if (xhr.upload) { - xhr.upload.addEventListener('progress', function(event) { - var percent = 0; - var position = event.loaded || event.position; /*event.position is deprecated*/ - var total = event.total; - if (event.lengthComputable) { - percent = Math.ceil(position / total * 100); - } - options.uploadProgress(event, position, total, percent); - }, false); - } - return xhr; - }; - } - - s.data = null; - var beforeSend = s.beforeSend; - s.beforeSend = function(xhr, o) { - //Send FormData() provided by user - if (options.formData) { - o.data = options.formData; - } - else { - o.data = formdata; - } - if(beforeSend) { - beforeSend.call(this, xhr, o); - } - }; - return $.ajax(s); - } - - // private function for handling file uploads (hat tip to YAHOO!) - function fileUploadIframe(a) { - var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; - var deferred = $.Deferred(); - - // #341 - deferred.abort = function(status) { - xhr.abort(status); - }; - - if (a) { - // ensure that every serialized input is still enabled - for (i=0; i < elements.length; i++) { - el = $(elements[i]); - if ( hasProp ) { - el.prop('disabled', false); - } - else { - el.removeAttr('disabled'); - } - } - } - - s = $.extend(true, {}, $.ajaxSettings, options); - s.context = s.context || s; - id = 'jqFormIO' + (new Date().getTime()); - if (s.iframeTarget) { - $io = $(s.iframeTarget); - n = $io.attr2('name'); - if (!n) { - $io.attr2('name', id); - } - else { - id = n; - } - } - else { - $io = $(' - ] -
- #ACTION_FORMULAIRE{#ENV{action}} -
    -
  • -
    - <:facteur:configuration_adresse_envoi:> -
      -
    • - [(#ENV**{erreurs}|table_valeur{facteur_adresse_envoi})] -
      - - -
      -
      - - -
      -
    • -
    • - [ - (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_nom})] - -
    • -
    • - [ - (#ENV**{erreurs}|table_valeur{facteur_adresse_envoi_email})] - -
    • - #SET{name,facteur_forcer_from}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} -
    • [ - (#GET{erreurs}) - ] -
      - #SET{val,non} - - #SET{val,oui} - - -
      -
    • -
    -
    -
  • -
  • -
    - <:facteur:configuration_mailer:> -
      -
    • - -

      <:facteur:configuration_smtp_descriptif:>

      - [(#ENV**{erreurs}|table_valeur{facteur_smtp})] -
      - - -
      -
      - - -
      -
    • -
    • - [ - (#ENV**{erreurs}|table_valeur{facteur_smtp_host})] - -
    • -
    • - [ - (#ENV**{erreurs}|table_valeur{facteur_smtp_port})] - -
    • -
    • - - [(#ENV**{erreurs}|table_valeur{facteur_smtp_auth})] -
      - - -
      -
      - - -
      -
        -
      • - [ - (#ENV**{erreurs}|table_valeur{facteur_smtp_username})] - -
      • -
      • - [ - (#ENV**{erreurs}|table_valeur{facteur_smtp_password})] - -
      • -
      -
    • -
    • - - [(#ENV**{erreurs}|table_valeur{facteur_smtp_secure})] -
      - - -
      -
      - - -
      -
      - - -
      -
    • -
    • - - [(#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed})] -
      - - -
      -
      - - -
      -
    • -
    • - [ - (#ENV**{erreurs}|table_valeur{facteur_smtp_sender})] -

      <:facteur:facteur_smtp_sender_descriptif:>

      - -
    • -
    -
    -
  • -
  • -
    - <:facteur:facteur_filtres:> -
      -
    • - [(#ENV**{erreurs}|table_valeur{facteur_smtp_secure})] -

      <:facteur:facteur_filtres_descriptif:>

      -
      - - -
      -
      - - -
      -
    • -
    -
    -
  • -
  • -
    - <:facteur:facteur_copies:> -
      -
    • -

      <:facteur:facteur_copies_descriptif:>

      -
    • -
    • - - [(#ENV**{erreurs}|table_valeur{facteur_cc})] - -
    • -
    • - - [(#ENV**{erreurs}|table_valeur{facteur_bcc})] - -
    • -
    -
    -
  • -
-

- -

-
    -
  • -
    -

    <:facteur:tester_la_configuration:>

    -
      - #SET{name,email_test}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} -
    • - [ - (#GET{erreurs}) - ] -

      <:facteur:note_test_configuration:>

      -
    • -
    -
    -
  • -
-

- -

-
-
- diff --git a/www/plugins/facteur/formulaires/configurer_facteur.php b/www/plugins/facteur/formulaires/configurer_facteur.php deleted file mode 100644 index 2b731d1a..00000000 --- a/www/plugins/facteur/formulaires/configurer_facteur.php +++ /dev/null @@ -1,223 +0,0 @@ - lire_config('facteur_adresse_envoi'), - 'facteur_adresse_envoi_nom' => lire_config('facteur_adresse_envoi_nom'), - 'facteur_adresse_envoi_email' => lire_config('facteur_adresse_envoi_email'), - 'facteur_forcer_from' => lire_config('facteur_forcer_from'), - 'facteur_smtp' => lire_config('facteur_smtp'), - 'facteur_smtp_host' => lire_config('facteur_smtp_host'), - 'facteur_smtp_port' => lire_config('facteur_smtp_port', 25), - 'facteur_smtp_auth' => lire_config('facteur_smtp_auth'), - 'facteur_smtp_username' => lire_config('facteur_smtp_username'), - 'facteur_smtp_password' => '', - '_facteur_smtp_password' => lire_config('facteur_smtp_password'), - 'facteur_smtp_secure' => lire_config('facteur_smtp_secure'), - 'facteur_smtp_tls_allow_self_signed'=> lire_config('facteur_smtp_tls_allow_self_signed'), - 'facteur_smtp_sender' => lire_config('facteur_smtp_sender'), - 'facteur_filtre_images' => lire_config('facteur_filtre_images'), - 'facteur_filtre_iso_8859' => lire_config('facteur_filtre_iso_8859'), - 'facteur_cc' => lire_config('facteur_cc'), - 'facteur_bcc' => lire_config('facteur_bcc'), - 'email_test' => lire_config('facteur_adresse_envoi') == 'oui' ? lire_config('facteur_adresse_envoi_email') : $GLOBALS['meta']['email_webmaster'], - 'tester' => '', - ); - - // recuperer le from par defaut actuel pour l'indiquer dans le formulaire - include_spip('classes/facteur'); - $facteur = new Facteur('test@example.org', 'Test', '', '', array('adresse_envoi' => 'non')); - $valeurs['_from_defaut'] = $facteur->From; - if ($facteur->FromName) { - $valeurs['_from_defaut'] = $facteur->FromName . ' <'.$valeurs['_from_defaut'].'>'; - } - - return $valeurs; -} - -function formulaires_configurer_facteur_verifier_dist() { - $erreurs = array(); - include_spip('inc/config'); - if ($email = _request('facteur_adresse_envoi_email') - and !email_valide($email)) { - $erreurs['facteur_adresse_envoi_email'] = _T('form_email_non_valide'); - set_request('facteur_adresse_envoi', 'oui'); - } - if (_request('facteur_smtp') == 'oui') { - if (!($h = _request('facteur_smtp_host'))) { - $erreurs['facteur_smtp_host'] = _T('info_obligatoire'); - } else { - $h = trim($h); - $regexp_ip_valide = '#^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))|((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$#'; - // Source : http://www.d-sites.com/2008/10/09/regex-ipv4-et-ipv6/ - if (!preg_match($regexp_ip_valide, $h)) { // ce n'est pas une IP - if (!preg_match(';^([^.\s/?:]+[.])*[^.\s/?:]+$;', $h) - or gethostbyname($h) == $h) { - $erreurs['facteur_smtp_host'] = _T('facteur:erreur_invalid_host'); - } - } else { - if (gethostbyaddr($h) == $h) { - $erreurs['facteur_smtp_host'] = _T('facteur:erreur_invalid_host'); - } - } - set_request('facteur_smtp_host', $h); - } - if (!($p=_request('facteur_smtp_port'))) { - $erreurs['facteur_smtp_port'] = _T('info_obligatoire'); - } elseif (!preg_match(';^[0-9]+$;', $p) or !intval($p)) { - $erreurs['facteur_smtp_port'] = _T('facteur:erreur_invalid_port'); - } - - if (!_request('facteur_smtp_auth')) { - $erreurs['facteur_smtp_auth'] = _T('info_obligatoire'); - } - - if (_request('facteur_smtp_auth')=='oui') { - if (!_request('facteur_smtp_username')) { - $erreurs['facteur_smtp_username'] = _T('info_obligatoire'); - } - if (!_request('facteur_smtp_password') and !lire_config('facteur_smtp_password')) { - $erreurs['facteur_smtp_password'] = _T('info_obligatoire'); - } - } - } - if ($emailcc = _request('facteur_cc') - and !email_valide($emailcc)) { - $erreurs['facteur_cc'] = _T('form_email_non_valide'); - } - if ($emailbcc = _request('facteur_bcc') - and !email_valide($emailbcc)) { - $erreurs['facteur_bcc'] = _T('form_email_non_valide'); - } - - if (_request('tester')) { - if (!$email = _request('email_test')) { - $erreurs['email_test'] = _T('info_obligatoire'); - } elseif (!email_valide($email)) { - $erreurs['email_test'] = _T('form_email_non_valide'); - } - } - - - if (count($erreurs) > 0) { - $erreurs['message_erreur'] = _T('facteur:erreur_generale'); - } - return $erreurs; -} - -function formulaires_configurer_facteur_traiter_dist() { - include_spip('inc/meta'); - - $facteur_adresse_envoi = _request('facteur_adresse_envoi'); - ecrire_meta('facteur_adresse_envoi', ($facteur_adresse_envoi=='oui')?'oui':'non'); - - $facteur_adresse_envoi_nom = _request('facteur_adresse_envoi_nom'); - ecrire_meta('facteur_adresse_envoi_nom', $facteur_adresse_envoi_nom?$facteur_adresse_envoi_nom:''); - - $facteur_adresse_envoi_email = _request('facteur_adresse_envoi_email'); - ecrire_meta('facteur_adresse_envoi_email', $facteur_adresse_envoi_email?$facteur_adresse_envoi_email:''); - - $facteur_forcer_from = _request('facteur_forcer_from'); - ecrire_meta('facteur_forcer_from', ($facteur_forcer_from=='oui')?'oui':'non'); - - $facteur_smtp = _request('facteur_smtp'); - ecrire_meta('facteur_smtp', ($facteur_smtp=='oui')?'oui':'non'); - - $facteur_smtp_host = _request('facteur_smtp_host'); - ecrire_meta('facteur_smtp_host', $facteur_smtp_host?$facteur_smtp_host:''); - - $facteur_smtp_port = _request('facteur_smtp_port'); - ecrire_meta('facteur_smtp_port', strlen($facteur_smtp_port)?intval($facteur_smtp_port):''); - - $facteur_smtp_auth = _request('facteur_smtp_auth'); - ecrire_meta('facteur_smtp_auth', ($facteur_smtp_auth=='oui')?'oui':'non'); - - $facteur_smtp_username = _request('facteur_smtp_username'); - ecrire_meta('facteur_smtp_username', $facteur_smtp_username); - - if ($facteur_smtp_password = _request('facteur_smtp_password')) { - ecrire_meta('facteur_smtp_password', $facteur_smtp_password); - } - - $facteur_smtp_secure = _request('facteur_smtp_secure'); - ecrire_meta('facteur_smtp_secure', in_array($facteur_smtp_secure, array('non', 'ssl', 'tls')) ? $facteur_smtp_secure : 'non'); - - $facteur_smtp_tls_allow_self_signed = _request('facteur_smtp_tls_allow_self_signed'); - ecrire_meta('facteur_smtp_tls_allow_self_signed', ($facteur_smtp_tls_allow_self_signed=='oui')?'oui':'non'); - - $facteur_smtp_sender = _request('facteur_smtp_sender'); - ecrire_meta('facteur_smtp_sender', $facteur_smtp_sender); - - ecrire_meta('facteur_filtre_images', intval(_request('facteur_filtre_images'))); - ecrire_meta('facteur_filtre_iso_8859', intval(_request('facteur_filtre_iso_8859'))); - - $facteur_cc = _request('facteur_cc'); - ecrire_meta('facteur_cc', $facteur_cc?$facteur_cc:''); - - $facteur_bcc = _request('facteur_bcc'); - ecrire_meta('facteur_bcc', $facteur_bcc?$facteur_bcc:''); - - - $res = array('message_ok' => _T('facteur:config_info_enregistree')); - - // faut-il envoyer un message de test ? - if (_request('tester')) { - $res = array(); - $destinataire = _request('email_test'); - $err = facteur_envoyer_mail_test($destinataire, _T('facteur:corps_email_de_test')); - if ($err) { - $res['message_erreur'] = $err; - } else { - $res['message_ok'] = _T('facteur:email_test_envoye'); - } - } - - return $res; -} - -/** - * Fonction pour tester un envoi de mail ver sun destinataire - * renvoie une erreur eventuelle ou rien si tout est OK - * @param string $destinataire - * @param string $titre - * @return string - * message erreur ou vide si tout est OK - */ -function facteur_envoyer_mail_test($destinataire, $titre) { - - include_spip('classes/facteur'); - $message_html = recuperer_fond('emails/test_email_html', array()); - $message_texte = recuperer_fond('emails/test_email_texte', array()); - $corps = array( - 'html' => $message_html, - 'texte' => $message_texte, - 'exceptions' => true, - ); - - // passer par envoyer_mail pour bien passer par les pipeline et avoir tous les logs - $envoyer_mail = charger_fonction('envoyer_mail', 'inc'); - try { - $retour = $envoyer_mail($destinataire, $titre, $corps); - } catch (Exception $e) { - return $e->getMessage(); - } - - // si echec mais pas d'exception, on signale de regarder dans les logs - if (!$retour) { - return _T('facteur:erreur').' '._T('facteur:erreur_dans_log'); - } - - // tout est OK, pas d'erreur - return ''; -} diff --git a/www/plugins/facteur/inc/envoyer_mail.php b/www/plugins/facteur/inc/envoyer_mail.php deleted file mode 100644 index 6c9f7469..00000000 --- a/www/plugins/facteur/inc/envoyer_mail.php +++ /dev/null @@ -1,299 +0,0 @@ - 'test@exemple.com', 'nom' => 'Adresse de test') - * pour spécifier un nom d'envoyeur pour chaque adresse. - * string nom_repondre_a : le nom d'envoyeur pour compléter l'email repondre_a - * string adresse_erreur : addresse de retour en cas d'erreur d'envoi - * array pieces_jointes : listes de pieces a embarquer dans l'email, chacune au format array : - * string chemin : chemin file system pour trouver le fichier a embarquer - * string nom : nom du document tel qu'apparaissant dans l'email - * string encodage : encodage a utiliser, parmi 'base64', '7bit', '8bit', 'binary', 'quoted-printable' - * string mime : mime type du document - * array headers : tableau d'en-tetes personalises, une entree par ligne d'en-tete - * bool exceptions : lancer une exception en cas d'erreur (false par defaut) - * @param string $from (deprecie, utiliser l'entree from de $corps) - * @param string $headers (deprecie, utiliser l'entree headers de $corps) - * @return bool - */ -function inc_envoyer_mail($destinataire, $sujet, $corps, $from = "", $headers = "") { - $message_html = ''; - $message_texte = ''; - $nom_envoyeur = $cc = $bcc = $repondre_a = ''; - $pieces_jointes = array(); - - // si $corps est un tableau -> fonctionnalites etendues - // avec entrees possible : html, texte, pieces_jointes, nom_envoyeur, ... - if (is_array($corps)) { - $message_html = isset($corps['html']) ? $corps['html'] : ""; - $message_texte = isset($corps['texte']) ? nettoyer_caracteres_mail($corps['texte']) : ""; - $pieces_jointes = isset($corps['pieces_jointes']) ? $corps['pieces_jointes'] : array(); - $nom_envoyeur = isset($corps['nom_envoyeur']) ? $corps['nom_envoyeur'] : ""; - $from = isset($corps['from']) ? $corps['from']: $from; - $cc = isset($corps['cc']) ? $corps['cc'] : ""; - $bcc = isset($corps['bcc']) ? $corps['bcc'] : ""; - $repondre_a = isset($corps['repondre_a']) ? $corps['repondre_a'] : ""; - $nom_repondre_a = isset($corps['nom_repondre_a']) ? $corps['nom_repondre_a'] : ''; - $adresse_erreur = isset($corps['adresse_erreur']) ? $corps['adresse_erreur'] : ""; - $headers = isset($corps['headers']) ? $corps['headers'] : $headers; - if (is_string($headers)){ - $headers = array_map('trim',explode("\n",$headers)); - $headers = array_filter($headers); - } - } - // si $corps est une chaine -> compat avec la fonction native SPIP - // gerer le cas ou le corps est du html avec un Content-Type: text/html dans les headers - else { - if (preg_match(',Content-Type:\s*text/html,ims',$headers)){ - $message_html = $corps; - } - else { - // Autodetection : tester si le mail est en HTML - if (strpos($headers,"Content-Type:")===false - AND strpos($corps,"<")!==false // eviter les tests suivants si possible - AND $ttrim = trim($corps) - AND substr($ttrim,0,1)=="<" - AND substr($ttrim,-1,1)==">" - AND stripos($ttrim,"")!==false){ - - if(!strlen($sujet)){ - // dans ce cas on ruse un peu : extraire le sujet du title - if (preg_match(",(.*),Uims",$corps,$m)) - $sujet = $m[1]; - else { - // fallback, on prend le body si on le trouve - if (preg_match(",]*>(.*),Uims",$corps,$m)) - $ttrim = $m[1]; - - // et on extrait la premiere ligne de vrai texte... - // nettoyer le html et les retours chariots - $ttrim = textebrut($ttrim); - $ttrim = str_replace("\r\n", "\r", $ttrim); - $ttrim = str_replace("\r", "\n", $ttrim); - // decouper - $ttrim = explode("\n",trim($ttrim)); - // extraire la premiere ligne de texte brut - $sujet = array_shift($ttrim); - } - } - $message_html = $corps; - } - // c'est vraiment un message texte - else - $message_texte = nettoyer_caracteres_mail($corps); - } - $headers = array_map('trim',explode("\n",$headers)); - $headers = array_filter($headers); - } - $sujet = nettoyer_titre_email($sujet); - - // si le mail est en texte brut, on l'encapsule dans un modele surchargeable - // pour garder le texte brut, il suffit de faire un modele qui renvoie uniquement #ENV*{texte} - if ($message_texte AND ! $message_html){ - $message_html = recuperer_fond("emails/texte",array('texte'=>$message_texte,'sujet'=>$sujet)); - } - // si le mail est en HTML sans alternative, la generer - if ($message_html AND !$message_texte){ - $message_texte = facteur_mail_html2text($message_html); - } - - $exceptions = false; - if (is_array($corps) AND isset($corps['exceptions'])){ - $exceptions = $corps['exceptions']; - } - - // mode TEST : forcer l'email - if (defined('_TEST_EMAIL_DEST')) { - if (!_TEST_EMAIL_DEST){ - spip_log($e="Envois bloques par la constante _TEST_EMAIL_DEST", 'mail.' . _LOG_ERREUR); - if ($exceptions) { - throw new Exception($e); - } - return false; - } - else - $destinataire = _TEST_EMAIL_DEST; - } - - // plusieurs destinataires peuvent etre fournis separes par des virgules - // c'est un format standard dans l'envoi de mail - // les passer au format array pour phpMailer - // mais ne pas casser si on a deja un array en entree - // si pas destinataire du courriel on renvoie false (eviter les warning PHP : ligne 464 de phpmailer-php5/class.phpmailer.php - // suppression des adresses de courriels invalides, si aucune valide, renvoyer false (eviter un warning PHP : ligne 464 de phpmailer-php5/class.phpmailer.php) - if (is_array($destinataire)) - $destinataire = implode(", ",$destinataire); - - if(strlen($destinataire) > 0){ - $destinataire = array_map('trim',explode(",",$destinataire)); - foreach ($destinataire as $key => $value) { - if(!email_valide($value)) - unset($destinataire[$key]); - } - if(count($destinataire) == 0) { - spip_log($e="Aucune adresse email de destination valable pour l'envoi du courriel.", 'mail.' . _LOG_ERREUR); - if ($exceptions) { - throw new Exception($e); - } - return false; - } - } - else { - if ($bcc) { - // On peut envoyer de mail que en bcc - $destinataire = ''; - } else { - spip_log($e="Aucune adresse email de destination valable pour l'envoi du courriel.", 'mail.' . _LOG_ERREUR); - if ($exceptions) { - throw new Exception($e); - } - return false; - } - } - - // On crée l'objet Facteur (PHPMailer) pour le manipuler ensuite - $facteur = new Facteur($destinataire, $sujet, $message_html, $message_texte); - if (is_array($corps) AND isset($corps['exceptions'])){ - $facteur->SetExceptions($corps['exceptions']); - } - - // On ajoute le courriel de l'envoyeur s'il est fournit par la fonction - if (empty($from) AND empty($facteur->From)) { - $from = $GLOBALS['meta']["email_envoi"]; - if (empty($from) OR !email_valide($from)) { - spip_log("Meta email_envoi invalide. Le mail sera probablement vu comme spam.", 'mail.' . _LOG_ERREUR); - if(is_array($destinataire) && count($destinataire) > 0) - $from = $destinataire[0]; - else - $from = $destinataire; - } - } - - // "Marie Toto " - if (preg_match(",^([^<>\"]*)<([^<>\"]+)>$,i",$from,$m)){ - $nom_envoyeur = trim($m[1]); - $from = trim($m[2]); - } - if (!empty($from)){ - $facteur->From = $from; - // la valeur par défaut de la config n'est probablement pas valable pour ce mail, - // on l'écrase pour cet envoi - $facteur->FromName = $from; - } - - // On ajoute le nom de l'envoyeur s'il fait partie des options - if ($nom_envoyeur) - $facteur->FromName = $nom_envoyeur; - - // Si plusieurs emails dans le from, pas de Name ! - if (strpos($facteur->From,",")!==false){ - $facteur->FromName = ""; - } - - // S'il y a des copies à envoyer - if ($cc){ - if (is_array($cc)) - foreach ($cc as $courriel) - $facteur->AddCC($courriel); - else - $facteur->AddCC($cc); - } - - // S'il y a des copies cachées à envoyer - if ($bcc){ - if (is_array($bcc)) - foreach ($bcc as $courriel) - $facteur->AddBCC($courriel); - else - $facteur->AddBCC($bcc); - } - - // S'il y a une adresse de reply-to - if ($repondre_a) { - if (is_array($repondre_a)) { - foreach ($repondre_a as $courriel) { - if (is_array($courriel)) { - $facteur->AddReplyTo($courriel['email'], $courriel['nom']); - } else { - $facteur->AddReplyTo($courriel); - } - } - } elseif ($nom_repondre_a) { - $facteur->AddReplyTo($repondre_a, $nom_repondre_a); - } else { - $facteur->AddReplyTo($repondre_a); - } - } - - // S'il y a des pièces jointes on les ajoute proprement - if (count($pieces_jointes)) { - foreach ($pieces_jointes as $piece) { - $facteur->AddAttachment( - $piece['chemin'], - isset($piece['nom']) ? $piece['nom']:'', - (isset($piece['encodage']) AND in_array($piece['encodage'],array('base64', '7bit', '8bit', 'binary', 'quoted-printable'))) ? $piece['encodage']:'base64', - isset($piece['mime']) ? $piece['mime']:Facteur::_mime_types(pathinfo($piece['chemin'], PATHINFO_EXTENSION)) - ); - } - } - - // Si une adresse email a été spécifiée pour les retours en erreur, on l'ajoute - if (!empty($adresse_erreur)) - $facteur->Sender = $adresse_erreur; - - // si entetes personalises : les ajouter - // attention aux collisions : si on utilise l'option cc de $corps - // et qu'on envoie en meme temps un header Cc: xxx, yyy - // on aura 2 lignes Cc: dans les headers - if (!empty($headers)) { - foreach($headers as $h){ - // verifions le format correct : il faut au moins un ":" dans le header - // et on filtre le Content-Type: qui sera de toute facon fourni par facteur - if (strpos($h,":")!==false - AND strncmp($h,"Content-Type:",13)!==0) - $facteur->AddCustomHeader($h); - } - } - - // On passe dans un pipeline pour modifier tout le facteur avant l'envoi - $facteur = pipeline('facteur_pre_envoi', $facteur); - - // On génère les headers - $head = $facteur->CreateHeader(); - - // Et c'est parti on envoie enfin - spip_log("mail via facteur\n$head"."Destinataire:".print_r($destinataire,true),'mail'); - spip_log("mail\n$head"."Destinataire:".print_r($destinataire,true),'facteur'); - $retour = $facteur->Send(); - - if (!$retour){ - spip_log("Erreur Envoi mail via Facteur : ".print_r($facteur->ErrorInfo,true),'mail.'._LOG_ERREUR); - } - - return $retour ; -} diff --git a/www/plugins/facteur/inc/facteur_classes.php b/www/plugins/facteur/inc/facteur_classes.php deleted file mode 100644 index 2dbd35dd..00000000 --- a/www/plugins/facteur/inc/facteur_classes.php +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/plugins/facteur/lang/facteur_de.php b/www/plugins/facteur/lang/facteur_de.php deleted file mode 100644 index 5c1e5114..00000000 --- a/www/plugins/facteur/lang/facteur_de.php +++ /dev/null @@ -1,86 +0,0 @@ - 'Die Konfiguration des Briefträgers wurde gespeichert.', - 'configuration_adresse_envoi' => 'Standard-Absenderadresse', - 'configuration_facteur' => 'Postbote', - 'configuration_facteur_smtp_tls_allow_self_signed' => 'Validierung des SSL-Zertifikats', - 'configuration_mailer' => 'Versandart', - 'configuration_smtp' => 'Auswahl der Versandmethode', - 'configuration_smtp_descriptif' => 'Im Zweifel hier die mail() Funktion von PHP eintragen.', - 'corps_email_de_test' => 'Das ist ein Versandtest mit Sondärzeichen: Bär Größe Maß accentué', - - // E - 'email_envoye_par' => 'Absender @site@', - 'email_test_envoye' => 'Die Testmail wurde fehlerfrei verschickt. Falls sie nicht richtig ankommt, bearbeiten sie ihre Serverkonfiguration oder kontaktieren sie den Administrator.', - 'erreur' => 'Fehler', - 'erreur_dans_log' => ' : mehr Details in der Logdatei', - 'erreur_generale' => 'Konfigurationsfehler. Bitte Inhalt des Formulars korrigieren.', - 'erreur_invalid_host' => 'falscher Servername', - 'erreur_invalid_port' => 'falsche Portnummer', - - // F - 'facteur_adresse_envoi_email' => 'E-Mail :', - 'facteur_adresse_envoi_nom' => 'Name:', - 'facteur_bcc' => 'Blindkopie (BCC) :', - 'facteur_cc' => 'Kopie (CC) :', - 'facteur_copies' => 'Kopien:', - 'facteur_copies_descriptif' => 'Eine Kopie der E-Mails wird an die angegebenen Adressen geschickt. Geben sie eine Adresse als Empfänger der Kopie bzw. Blindkopie an.', - 'facteur_email_test' => 'Eine Testmail versenden an:', - 'facteur_filtre_accents' => 'Sonderzeichen in HTML-Entitäten umwandeln (z.B. für Hotmail).', - 'facteur_filtre_css' => 'Stile zwischen und zu "inline" Stilen umwandeln, sinnvoll für Webmail die inline-Stile externen vorzieht.', - 'facteur_filtre_images' => 'Verlinkte Bilder in E-Mail einbetten', - 'facteur_filtre_iso_8859' => 'Nach ISO-8859-1 umwandeln', - 'facteur_filtres' => 'Filter', - 'facteur_filtres_descriptif' => 'Beim Versand können die Mails durch mehrere Filter behandelt werden.', - 'facteur_smtp_auth' => 'Autorisierung erforderlich:', - 'facteur_smtp_auth_non' => 'nein', - 'facteur_smtp_auth_oui' => 'ja', - 'facteur_smtp_host' => 'Server:', - 'facteur_smtp_password' => 'Passwort:', - 'facteur_smtp_port' => 'Port:', - 'facteur_smtp_secure' => 'Verschlüsselte Verbindung:', - 'facteur_smtp_secure_non' => 'nein', - 'facteur_smtp_secure_ssl' => 'SSL (obsolet)', - 'facteur_smtp_secure_tls' => 'TLS (empfohlen)', - 'facteur_smtp_sender' => 'Fehlercodes (optional)', - 'facteur_smtp_sender_descriptif' => 'Legt im Kopf der Mail die Empfängeradresse für Fehlermeldungen fest (bzw. den Return-Path).', - 'facteur_smtp_tls_allow_self_signed_non' => 'Das SSL-Zertifikat des SMTP-Servers ist von einer Zertifizierungsstelle erstellt worden (empfohlen).', - 'facteur_smtp_tls_allow_self_signed_oui' => 'das SSL-Zertifikat des SMTP-Servers ist selbst signiert.', - 'facteur_smtp_username' => 'Benutzername:', - - // L - 'label_facteur_forcer_from' => 'Diese Versandadresse anzeigen wenn die Domain im Feld From nicht identisch ist', - - // M - 'message_identite_email' => 'Die Konfiguration des Plugins Postbote (facteur) überschreibt diese Adresse für den Mailversand.', - - // N - 'note_test_configuration' => 'Eine Mail wird an diese Adresse geschickt.', - - // P - 'personnaliser' => 'Individuelle Einstellungen', - - // T - 'tester' => 'Testen', - 'tester_la_configuration' => 'Konfiguration testen', - - // U - 'utiliser_mail' => 'Funktion mail() von PHP verwenden', - 'utiliser_reglages_site' => 'Einstellungen von SPIP verwenden:
@from@ ', - 'utiliser_smtp' => 'SMTP verwenden', - - // V - 'valider' => ' OK ', - 'version_html' => 'HTML-Version.', - 'version_texte' => 'Textversion.' -); diff --git a/www/plugins/facteur/lang/facteur_en.php b/www/plugins/facteur/lang/facteur_en.php deleted file mode 100755 index cbfdfef1..00000000 --- a/www/plugins/facteur/lang/facteur_en.php +++ /dev/null @@ -1,86 +0,0 @@ - 'Postman’s configuration is now saved', - 'configuration_adresse_envoi' => 'Default sending address', - 'configuration_facteur' => 'Postman', - 'configuration_facteur_smtp_tls_allow_self_signed' => 'SSL certificate validation', - 'configuration_mailer' => 'Sending method', - 'configuration_smtp' => 'Choose your mailer', - 'configuration_smtp_descriptif' => 'If you’re not sure about the settings, leave them set to "PHP mail".', - 'corps_email_de_test' => 'This is a test email', - - // E - 'email_envoye_par' => 'Sent by @site@', - 'email_test_envoye' => 'The test email was successfully sent. If you do not receive it correctly, check the configuration of your server or contact a server administrator.', - 'erreur' => 'Error', - 'erreur_dans_log' => ': check the log file for more details', - 'erreur_generale' => 'There are one or more configuration errors. Please check the contents of the form.', - 'erreur_invalid_host' => 'This host name is not valid', - 'erreur_invalid_port' => 'This port number is not valid', - - // F - 'facteur_adresse_envoi_email' => 'Email:', - 'facteur_adresse_envoi_nom' => 'Name:', - 'facteur_bcc' => 'Blind Carbon Copy (BCC):', - 'facteur_cc' => 'Carbon Copy (CC):', - 'facteur_copies' => 'Copies', - 'facteur_copies_descriptif' => 'An email will be sent to specified adresses. One Carbon Copy and/or one Blind Carbon Copy.', - 'facteur_email_test' => 'Send a test email to:', - 'facteur_filtre_accents' => 'Transform accents into their html entities (useful for Hotmail).', - 'facteur_filtre_css' => 'Transform styles present between <head> and </head> into inline styles, useful for webmails because inline styles overwrite external styles.', - 'facteur_filtre_images' => 'Embed images referenced in emails', - 'facteur_filtre_iso_8859' => 'Convert to ISO-8859-1', - 'facteur_filtres' => 'Filters', - 'facteur_filtres_descriptif' => 'Some filters can be applied before sending an email.', - 'facteur_smtp_auth' => 'Requires authentication:', - 'facteur_smtp_auth_non' => 'no', - 'facteur_smtp_auth_oui' => 'yes', - 'facteur_smtp_host' => 'Host:', - 'facteur_smtp_password' => 'Password:', - 'facteur_smtp_port' => 'Port:', - 'facteur_smtp_secure' => 'Secure:', - 'facteur_smtp_secure_non' => 'no', - 'facteur_smtp_secure_ssl' => 'SSL (depreciated)', - 'facteur_smtp_secure_tls' => 'TLS (recommended)', - 'facteur_smtp_sender' => 'Return-Path (optional)', - 'facteur_smtp_sender_descriptif' => 'Define the Return-Path in the mail header, useful for error feedback.', - 'facteur_smtp_tls_allow_self_signed_non' => 'the SSL certificate of the SMTP server is issued by a Certificate Authority (recommended).', - 'facteur_smtp_tls_allow_self_signed_oui' => 'the SSL certificate of the SMTP server is self-signed.', - 'facteur_smtp_username' => 'Username:', - - // L - 'label_facteur_forcer_from' => 'Force this sending address when From is not on the same domain', - - // M - 'message_identite_email' => 'The configuration of the plugin "factor" preset this email address for sending emails.', - - // N - 'note_test_configuration' => 'A test email will be sent to this address.', - - // P - 'personnaliser' => 'Customize', - - // T - 'tester' => 'Test', - 'tester_la_configuration' => 'Test the config', - - // U - 'utiliser_mail' => 'Use mail function from PHP', - 'utiliser_reglages_site' => 'Use the SPIP site’s settings:
@from@', - 'utiliser_smtp' => 'Use SMTP', - - // V - 'valider' => 'Submit', - 'version_html' => 'HTML version.', - 'version_texte' => 'Text version.' -); diff --git a/www/plugins/facteur/lang/facteur_es.php b/www/plugins/facteur/lang/facteur_es.php deleted file mode 100644 index d85f7485..00000000 --- a/www/plugins/facteur/lang/facteur_es.php +++ /dev/null @@ -1,79 +0,0 @@ - 'La configuración del cartero fue guardada correctamente', - 'configuration_adresse_envoi' => 'Configuración de la dirección de envío', # MODIF - 'configuration_facteur' => 'Cartero', - 'configuration_mailer' => 'Configuración del "mailer"', # MODIF - 'configuration_smtp' => 'Elección del método de envío del correo electrónico', - 'configuration_smtp_descriptif' => 'Si no estás seguro, elige la función de correo electrónico de PHP.', - 'corps_email_de_test' => 'Éste es un mensaje de prueba acentuado', - - // E - 'email_envoye_par' => 'Enviado por @site@', - 'email_test_envoye' => 'El correo electrónico de prueba se ha enviado correctamente. Si no lo recibes, verifica la configuración de tu servidor o contacta a un administrador del servicio. ', - 'erreur' => 'Error', - 'erreur_dans_log' => ': consulta el archivo de registro (log) para más detalles', - 'erreur_generale' => 'Hay uno o más errores de configuración. Por favor, compruebe el contenido del formulario. ', - 'erreur_invalid_host' => 'Este nombre de host es incorrecto', - 'erreur_invalid_port' => 'Este número de puerto es incorrecto', - - // F - 'facteur_adresse_envoi_email' => 'Correo electrónico:', - 'facteur_adresse_envoi_nom' => 'Nombre:', - 'facteur_bcc' => 'Copia Oculta (CCO):', - 'facteur_cc' => 'Copia (CC) :', - 'facteur_copies' => 'Copias:', # MODIF - 'facteur_copies_descriptif' => 'Un correo electrónico será enviado en copia a las direcciones definidas. Una sola dirección en copia y/o una sola dirección en copia oculta.', - 'facteur_filtre_accents' => 'Transformar los acentos en su versión html (especialmente útil para Hotmail).', - 'facteur_filtre_css' => 'Transformar los estilos contenidos entre y en estilos en línea, útil para los webmails porque los estilos lineales tienen prioridad sobre los estilos externos. ', - 'facteur_filtre_images' => 'Incorporar las imágenes de referencia en los correos electrónicos', - 'facteur_filtre_iso_8859' => 'Convertir en ISO-8859-1', - 'facteur_filtres' => 'Filtros', - 'facteur_filtres_descriptif' => 'Filtros pueden aplicarse a los correos electrónicos al ser enviados.', - 'facteur_smtp_auth' => 'Requiere autenticación:', - 'facteur_smtp_auth_non' => 'no', - 'facteur_smtp_auth_oui' => 'sí', - 'facteur_smtp_host' => 'Host:', - 'facteur_smtp_password' => 'Contraseña:', - 'facteur_smtp_port' => 'Puerto:', - 'facteur_smtp_secure' => 'Conexión segura:', - 'facteur_smtp_secure_non' => 'no', - 'facteur_smtp_secure_ssl' => 'SSL (obsoleto)', - 'facteur_smtp_secure_tls' => 'TLS (recomendado)', - 'facteur_smtp_sender' => 'Rebote de errores (opcional)', # MODIF - 'facteur_smtp_sender_descriptif' => 'Indica en el encabezado del correo electrónico la dirección de correo electrónico de rebote de errores (o "Return-Path"), y en caso de un envío a través del método SMTP indica, también, la dirección del remitente.', # MODIF - 'facteur_smtp_username' => 'Nombre de usuario:', - - // M - 'message_identite_email' => 'La configuración del plugin "cartero" sobrecarga esta dirección de correo para el envío de correos.', - - // N - 'note_test_configuration' => 'Un correo electrónico se enviará a la dirección de envío definida (o aquélla del webmaster).', # MODIF - - // P - 'personnaliser' => 'Personalizar esta configuración', - - // T - 'tester' => 'Probar', - 'tester_la_configuration' => 'Testar la configuración', - - // U - 'utiliser_mail' => 'Utilizar la función de correo electrónico de PHP', - 'utiliser_reglages_site' => 'Utilizar la configuración del sitio SPIP: el nombre mostrado será el nombre del sitio SPIP y la dirección de correo electrónico será la del webmaster', # MODIF - 'utiliser_smtp' => 'Utilizar SMTP', - - // V - 'valider' => 'Validar', - 'version_html' => 'Versión HTML.', - 'version_texte' => 'Versión texto.' -); diff --git a/www/plugins/facteur/lang/facteur_fa.php b/www/plugins/facteur/lang/facteur_fa.php deleted file mode 100644 index 43546570..00000000 --- a/www/plugins/facteur/lang/facteur_fa.php +++ /dev/null @@ -1,79 +0,0 @@ - 'پيكربندي پستجي ثبت شده است.', - 'configuration_adresse_envoi' => 'پيكربندي نشاني نامه ', # MODIF - 'configuration_facteur' => 'پستچي', - 'configuration_mailer' => 'پيكربندي نامه‌ رسان', # MODIF - 'configuration_smtp' => 'انتخاب روش ارسال نامه', - 'configuration_smtp_descriptif' => 'اگر در مورد تنظيمات مطمئن نيستيد، بگذاريد «پي.اچ.پي ميل» تنظيم كند. ', - 'corps_email_de_test' => 'اين يك ايميل آزمايشي است.', - - // E - 'email_envoye_par' => 'ارسال شده توسط @site@', - 'email_test_envoye' => 'ايميل آزمايشي با موفقيت ارسال شد. اگر آن را درست دريافت نكرده‌ايد، پيكربندي سرور خود را تعديل كنيد، يا با ادمين سرور تماس بگيريد. ', - 'erreur' => 'خطا', - 'erreur_dans_log' => 'براي جزئيات بيشتر فايل لاگ را چك كنيد:', - 'erreur_generale' => 'يك يا چند خطار در پيكربندي وجود دارد. لطفاض محتويات فرم را چك كنيد.', - 'erreur_invalid_host' => 'نام اين هاست معتبر نيست', - 'erreur_invalid_port' => 'شماره اين پورت درست نيست.', - - // F - 'facteur_adresse_envoi_email' => 'ايميل: ', - 'facteur_adresse_envoi_nom' => 'نام:‌', - 'facteur_bcc' => 'كپي مخفي (بي.سي.سي): ', - 'facteur_cc' => 'كپي غيرمخفي (سي.سي): ', - 'facteur_copies' => 'كپي‌ها:‌', # MODIF - 'facteur_copies_descriptif' => 'يك ايميل به نشاني مشخص شده ارسال خواهد شد. يك كپي غير مخفي و/يا يك كپي مخفي.', - 'facteur_filtre_accents' => 'تبديل اكسان‌ها به اچ.تي.ام.ال (براي هاتميل مفيد است)', - 'facteur_filtre_css' => 'تبديل استايل‌هاي مطالب بين و به استايل‌هاي درخط، مفيد براي وب‌ميل‌ها، زيرا استايل‌هاي درخط بر استايل‌هاي بيروني اولويت مي‌يابند.', - 'facteur_filtre_images' => 'گنجاندن تصويرهاي ارسالي در داخل ايميل‌ها', - 'facteur_filtre_iso_8859' => 'تبديل به ISO-8859-1', - 'facteur_filtres' => 'فيلترها', - 'facteur_filtres_descriptif' => 'فيلتر‌ها مي‌توانند پيش از ارسال ايميل‌ها مورد استفاده قرار بگيرند. ', - 'facteur_smtp_auth' => 'مستلزم تأييد است: ', - 'facteur_smtp_auth_non' => 'نه', - 'facteur_smtp_auth_oui' => 'بله', - 'facteur_smtp_host' => 'هاست: ', - 'facteur_smtp_password' => 'گذر واژه:', - 'facteur_smtp_port' => 'پورت:‌', - 'facteur_smtp_secure' => 'ارتباط امن:‌', - 'facteur_smtp_secure_non' => 'نه', - 'facteur_smtp_secure_ssl' => 'اس.اس.ال', # MODIF - 'facteur_smtp_secure_tls' => 'تي.ال.اس', # MODIF - 'facteur_smtp_sender' => 'برگشت خطاها (دلبخواه)', # MODIF - 'facteur_smtp_sender_descriptif' => 'تعيين مسير برگشت در بالاي ايميل مفيد براي خطاي فيدبك، همچنين در حالت اس.ام.تي.پي (پروتكل انتقال ساده نامه) فرستنده نامه را مشخص مي‌كمند. ', # MODIF - 'facteur_smtp_username' => 'نام كاربر:‌', - - // M - 'message_identite_email' => 'پيكربندي پلاگين «پستچي» نشاني اين ايميل را براي ارسال ايميل‌ها تنظيم مي‌كند', - - // N - 'note_test_configuration' => 'يك ايميل به نشاني مرسوله تعيين شده (يا به نشاني وب مستر) ارسال خواهد شد', # MODIF - - // P - 'personnaliser' => 'شخصي سازي اين تنظيمات ', - - // T - 'tester' => 'آزمايش كردن', - 'tester_la_configuration' => 'آزمايش پيكربندي ', - - // U - 'utiliser_mail' => 'ار كاركرد نامه پي.اچ.پي استفاده كنيد', - 'utiliser_reglages_site' => 'استفاده از تنظيمات سايت اسپيپ: نام وب سايت نام فرستنده خواهد بود و نشاني ايميل نشاني ايميل وب مستر خواهد بود. ', # MODIF - 'utiliser_smtp' => 'از اس.ام.تي.پي (پروتكل ارسال ساده نامه)‌ اسفتاده كنيد', - - // V - 'valider' => 'معتبر كردن', - 'version_html' => 'نسخه اچ.تي.ام.ال', - 'version_texte' => 'نسخه متني.' -); diff --git a/www/plugins/facteur/lang/facteur_fr.php b/www/plugins/facteur/lang/facteur_fr.php deleted file mode 100755 index 401e7cbb..00000000 --- a/www/plugins/facteur/lang/facteur_fr.php +++ /dev/null @@ -1,84 +0,0 @@ - 'La configuration du facteur a bien été enregistrée', - 'configuration_adresse_envoi' => 'Adresse d’envoi par défaut', - 'configuration_facteur' => 'Facteur', - 'configuration_facteur_smtp_tls_allow_self_signed' => 'Validation du certificat SSL', - 'configuration_mailer' => 'Méthode d’envoi', - 'configuration_smtp' => 'Choix de la méthode d’envoi de mail', - 'configuration_smtp_descriptif' => 'Si vous n’êtes pas sûrs, choisissez la fonction mail de PHP.', - 'corps_email_de_test' => 'Ceci est un email de test accentué', - - // E - 'email_envoye_par' => 'Envoyé par @site@', - 'email_test_envoye' => 'L’email de test a correctement été envoyé. Si vous ne le recevez pas correctement, vérifiez la configuration de votre serveur ou contactez un administrateur du serveur.', - 'erreur' => 'Erreur', - 'erreur_dans_log' => ' : consultez le fichier log pour plus de détails', - 'erreur_generale' => 'Il y a une ou plusieurs erreurs de configuration. Veuillez vérifier le contenu du formulaire.', - 'erreur_invalid_host' => 'Ce nom d’hôte n’est pas correct', - 'erreur_invalid_port' => 'Ce numéro de port n’est pas correct', - - // F - 'facteur_adresse_envoi_email' => 'Email :', - 'facteur_adresse_envoi_nom' => 'Nom :', - 'facteur_bcc' => 'Copie Cachée (BCC) :', - 'facteur_cc' => 'Copie (CC) :', - 'facteur_copies' => 'Copies', - 'facteur_copies_descriptif' => 'Un email sera envoyé en copie aux adresses définies. Une seule adresse en copie et/ou une seule adresse en copie cachée.', - 'facteur_email_test' => 'Envoyer un email de test à :', - 'facteur_filtre_accents' => 'Transformer les accents en leur entités html (utile pour Hotmail notamment).', - 'facteur_filtre_css' => 'Transformer les styles contenus entre et en des styles "en ligne", utile pour les webmails car les styles en ligne ont la priorité sur les styles externes.', - 'facteur_filtre_images' => 'Embarquer les images référencées dans les emails', - 'facteur_filtre_iso_8859' => 'Convertir en ISO-8859-1', - 'facteur_filtres' => 'Filtres', - 'facteur_filtres_descriptif' => 'Des filtres peuvent être appliqués aux emails au moment de l’envoi.', - 'facteur_smtp_auth' => 'Requiert une authentification :', - 'facteur_smtp_auth_non' => 'non', - 'facteur_smtp_auth_oui' => 'oui', - 'facteur_smtp_host' => 'Hôte :', - 'facteur_smtp_password' => 'Mot de passe :', - 'facteur_smtp_port' => 'Port :', - 'facteur_smtp_secure' => 'Connexion sécurisée :', - 'facteur_smtp_secure_non' => 'non', - 'facteur_smtp_secure_ssl' => 'SSL (déprécié)', - 'facteur_smtp_secure_tls' => 'TLS (recommandé)', - 'facteur_smtp_sender' => 'Adresse de retour des erreurs (optionnel)', - 'facteur_smtp_sender_descriptif' => 'Définit dans l’entête du mail l’adresse email de retour des erreurs (ou Return-Path)', - 'facteur_smtp_tls_allow_self_signed_non' => 'le certificat SSL du serveur SMTP est émis par une Autorité de Certification (recommandé).', - 'facteur_smtp_tls_allow_self_signed_oui' => 'le certificat SSL du serveur SMTP est auto-signé.', - 'facteur_smtp_username' => 'Nom d’utilisateur :', - - // L - 'label_facteur_forcer_from' => 'Forcer cette adresse d’envoi quand le From n’est pas sur le même domaine', - - // M - 'message_identite_email' => 'La configuration du plugin "facteur" surcharge cette adresse email pour l’envoi de courriels.', - - // N - 'note_test_configuration' => 'Un email sera envoyé à cette adresse.', - - // P - 'personnaliser' => 'Personnaliser ces réglages', - - // T - 'tester' => 'Tester', - 'tester_la_configuration' => 'Tester la configuration', - - // U - 'utiliser_mail' => 'Utiliser la fonction mail de PHP', - 'utiliser_reglages_site' => 'Utiliser les réglages du site SPIP :
@from@', - 'utiliser_smtp' => 'Utiliser SMTP', - - // V - 'valider' => 'Valider', - 'version_html' => 'Version HTML.', - 'version_texte' => 'Version texte.' -); diff --git a/www/plugins/facteur/lang/facteur_fr_tu.php b/www/plugins/facteur/lang/facteur_fr_tu.php deleted file mode 100644 index d129ddf2..00000000 --- a/www/plugins/facteur/lang/facteur_fr_tu.php +++ /dev/null @@ -1,79 +0,0 @@ - 'La configuration du facteur a bien été enregistrée', - 'configuration_adresse_envoi' => 'Configuration de l’adresse d’envoi', # MODIF - 'configuration_facteur' => 'Facteur', - 'configuration_mailer' => 'Configuration du mailer', # MODIF - 'configuration_smtp' => 'Choix de la méthode d’envoi de mail', - 'configuration_smtp_descriptif' => 'Si tu n’es pas sûr, choisis la fonction mail de PHP.', - 'corps_email_de_test' => 'Ceci est un email de test accentué', - - // E - 'email_envoye_par' => 'Envoyé par @site@', - 'email_test_envoye' => 'L’email de test a correctement été envoyé. Si tu ne le reçois pas correctement, vérifie la configuration de ton serveur ou contacte un administrateur du serveur.', - 'erreur' => 'Erreur', - 'erreur_dans_log' => ' : consulte le fichier log pour plus de détails', - 'erreur_generale' => 'Il y a une ou plusieurs erreurs de configuration. Vérifie le contenu du formulaire.', - 'erreur_invalid_host' => 'Ce nom d’hôte n’est pas correct', - 'erreur_invalid_port' => 'Ce numéro de port n’est pas correct', - - // F - 'facteur_adresse_envoi_email' => 'Email :', - 'facteur_adresse_envoi_nom' => 'Nom :', - 'facteur_bcc' => 'Copie Cachée (BCC) :', - 'facteur_cc' => 'Copie (CC) :', - 'facteur_copies' => 'Copies :', # MODIF - 'facteur_copies_descriptif' => 'Un email sera envoyé en copie aux adresses définies. Une seule adresse en copie et/ou une seule adresse en copie cachée.', - 'facteur_filtre_accents' => 'Transformer les accents en leur entités html (utile pour Hotmail notamment).', - 'facteur_filtre_css' => 'Transformer les styles contenus entre et en des styles "en ligne", utile pour les webmails car les styles en ligne ont la priorité sur les styles externes.', - 'facteur_filtre_images' => 'Embarquer les images référencées dans les emails', - 'facteur_filtre_iso_8859' => 'Convertir en ISO-8859-1', - 'facteur_filtres' => 'Filtres', - 'facteur_filtres_descriptif' => 'Des filtres peuvent être appliqués aux emails au moment de l’envoi.', - 'facteur_smtp_auth' => 'Requiert une authentification :', - 'facteur_smtp_auth_non' => 'non', - 'facteur_smtp_auth_oui' => 'oui', - 'facteur_smtp_host' => 'Hôte :', - 'facteur_smtp_password' => 'Mot de passe :', - 'facteur_smtp_port' => 'Port :', - 'facteur_smtp_secure' => 'Connexion sécurisée :', - 'facteur_smtp_secure_non' => 'non', - 'facteur_smtp_secure_ssl' => 'SSL', # MODIF - 'facteur_smtp_secure_tls' => 'TLS', # MODIF - 'facteur_smtp_sender' => 'Retour des erreurs (optionnel)', # MODIF - 'facteur_smtp_sender_descriptif' => 'Définit dans l’entête du mail l’adresse email de retour des erreurs (ou Return-Path), et lors d’un envoi via la méthode SMTP cela définit aussi l’adresse de l’envoyeur.', # MODIF - 'facteur_smtp_username' => 'Nom d’utilisateur :', - - // M - 'message_identite_email' => 'La configuration du plugin "facteur" surcharge cette adresse email pour l’envoi de courriels.', - - // N - 'note_test_configuration' => 'Un email sera envoyé à l’adresse d’envoi définie (ou celle du webmaster).', # MODIF - - // P - 'personnaliser' => 'Personnaliser ces réglages', - - // T - 'tester' => 'Tester', - 'tester_la_configuration' => 'Tester la configuration', - - // U - 'utiliser_mail' => 'Utiliser la fonction mail de PHP', - 'utiliser_reglages_site' => 'Utiliser les réglages du site SPIP : le nom affiché sera le nom du site SPIP et l’adresse email sera celle du webmaster', # MODIF - 'utiliser_smtp' => 'Utiliser SMTP', - - // V - 'valider' => 'Valider', - 'version_html' => 'Version HTML.', - 'version_texte' => 'Version texte.' -); diff --git a/www/plugins/facteur/lang/facteur_it.php b/www/plugins/facteur/lang/facteur_it.php deleted file mode 100644 index d027e15c..00000000 --- a/www/plugins/facteur/lang/facteur_it.php +++ /dev/null @@ -1,78 +0,0 @@ - 'La configurazione di Facteur è stata registrata', - 'configuration_adresse_envoi' => 'Configurazione dell’indirizzo emittente', # MODIF - 'configuration_mailer' => 'Configurazione del mailer', # MODIF - 'configuration_smtp' => 'Scelta del metodo d’invio di mail', - 'configuration_smtp_descriptif' => 'Se no siete sicuri, scegliete la funzione mail di PHP.', - 'corps_email_de_test' => 'Questo è un mail di prova con accento', - - // E - 'email_envoye_par' => 'Inviato da @site@', - 'email_test_envoye' => 'La mail di prova è stata correttamente inviata. Se non la ricevete correttamente, verficate la configurazione del server o contattate un amministratore del server.', - 'erreur' => 'Errorr', - 'erreur_dans_log' => ': consultate il file log per maggiori dettagli', - 'erreur_generale' => 'Ci sono uno o più errori di configurazione. Verificate il contenuto del formulario.', - 'erreur_invalid_host' => 'Questo nome di host non è corretto', - 'erreur_invalid_port' => 'Questu numero di porta non è corretto', - - // F - 'facteur_adresse_envoi_email' => 'Email:', - 'facteur_adresse_envoi_nom' => 'Cognome:', - 'facteur_bcc' => 'Copia nascosta (CCN):', - 'facteur_cc' => 'Copia (CC):', - 'facteur_copies' => 'Copie:', # MODIF - 'facteur_copies_descriptif' => 'Una mail sarà mandata in copia agli indirizzi definiti. Un solo indirizzo in copia e/o un solo indirizzo in copia nascosta.', - 'facteur_filtre_accents' => 'Trasformate gli accenti nella loro entity html (utile sopratutto per Hotmail).', - 'facteur_filtre_css' => 'Trasformare gli stili contenuti tra e negli stili "in linea", utile per le webmail perché gli stili in linea hanno la precedenza sugli stili estermi.', - 'facteur_filtre_images' => 'Integrate le immagini citate nelle mail', - 'facteur_filtre_iso_8859' => 'Convertire in ISO-8859-1', - 'facteur_filtres' => 'Filtri', - 'facteur_filtres_descriptif' => 'Alcuni filtri possono essere applicati alle mail al momento dell’invio.', - 'facteur_smtp_auth' => 'Richiede un’autenticazione:', - 'facteur_smtp_auth_non' => 'no', - 'facteur_smtp_auth_oui' => 'si', - 'facteur_smtp_host' => 'Host:', - 'facteur_smtp_password' => 'Password:', - 'facteur_smtp_port' => 'Porta:', - 'facteur_smtp_secure' => 'Connessione sicura:', - 'facteur_smtp_secure_non' => 'no', - 'facteur_smtp_secure_ssl' => 'SSL', # MODIF - 'facteur_smtp_secure_tls' => 'TLS', # MODIF - 'facteur_smtp_sender' => 'Resoconto degli errori (opzionale)', # MODIF - 'facteur_smtp_sender_descriptif' => 'Definisce nella testata della mail l’indirizzo mail di resoconto degli errori (o Return-Path), e durante l’invio tramite il metodo SMTP definisce anche l’indirizzo del mittente.', # MODIF - 'facteur_smtp_username' => 'Nome dell’utente:', - - // M - 'message_identite_email' => 'La configurazione del plugin "facteur" sovraccarica questo indirizzo mail per l’invio della posta.', - - // N - 'note_test_configuration' => 'Una mail sarà inviata all’indirizzo definito (o all’indirizzo del webmaster).', # MODIF - - // P - 'personnaliser' => 'Personnalizzate questi impostazioni', - - // T - 'tester' => 'Provare', - 'tester_la_configuration' => 'Provare la configurazione', - - // U - 'utiliser_mail' => 'Usare la funzione mail di PHP', - 'utiliser_reglages_site' => 'Usare le impostazioni del sito SPIP: il nome visualizzato sarà il nome del sito SPIP e l’indirizzo mail sarà quello del webmaster', # MODIF - 'utiliser_smtp' => 'Utilisare SMTP', - - // V - 'valider' => 'Confermare', - 'version_html' => 'Versione HTML.', - 'version_texte' => 'Versione testo.' -); diff --git a/www/plugins/facteur/lang/facteur_nl.php b/www/plugins/facteur/lang/facteur_nl.php deleted file mode 100644 index bed0feeb..00000000 --- a/www/plugins/facteur/lang/facteur_nl.php +++ /dev/null @@ -1,86 +0,0 @@ - 'De configuratie is opgeslagen', - 'configuration_adresse_envoi' => 'Configuratie van het verzendadres', - 'configuration_facteur' => 'Postbode', - 'configuration_facteur_smtp_tls_allow_self_signed' => 'Validatie van het SSL certificaat', - 'configuration_mailer' => 'Configuratie van de mailer', - 'configuration_smtp' => 'Verzendwijze', - 'configuration_smtp_descriptif' => 'Kies, wanneer je twijfelt voor de functie PHP mail.', - 'corps_email_de_test' => 'Dit is een geaccentueerd testbericht', - - // E - 'email_envoye_par' => 'Verzonden door @site@', - 'email_test_envoye' => 'Het testbericht is verzonden. Ontvang je het niet juist, controleer dan de configuratie van de server.', - 'erreur' => 'Fout', - 'erreur_dans_log' => ': meer details in het logbestand', - 'erreur_generale' => 'Een of meerdere fouten in de configuratie. Controleer de inhoud van dit formulier.', - 'erreur_invalid_host' => 'Deze hostnaam is onjuist', - 'erreur_invalid_port' => 'Dit poortnummer is onjuist', - - // F - 'facteur_adresse_envoi_email' => 'Email:', - 'facteur_adresse_envoi_nom' => 'Naam:', - 'facteur_bcc' => 'Verborgen (BCC) :', - 'facteur_cc' => 'Kopie (CC) :', - 'facteur_copies' => 'Kopieën:', - 'facteur_copies_descriptif' => 'Deze adressen worden in kopie van de email gezet. Niet meer dan één adres in kopie en/of in verborgen kopie.', - 'facteur_email_test' => 'Een test email sturen naar:', - 'facteur_filtre_accents' => 'Zet tekens met accenten om in hun html-code (met name voor Hotmail).', - 'facteur_filtre_css' => 'Zet de stijlen binnen <head> en </head> om in "inline" stijlen, wat zinvol is voor webmails.', - 'facteur_filtre_images' => 'Voeg afbeeldingen in', - 'facteur_filtre_iso_8859' => 'Omzetten in ISO-8859-1', - 'facteur_filtres' => 'Filters', - 'facteur_filtres_descriptif' => 'Bij het verzenden kunnen bepaalde filters worden toegepast.', - 'facteur_smtp_auth' => 'Vereist authentificatie:', - 'facteur_smtp_auth_non' => 'nee', - 'facteur_smtp_auth_oui' => 'ja', - 'facteur_smtp_host' => 'Host:', - 'facteur_smtp_password' => 'Wachtwoord:', - 'facteur_smtp_port' => 'Poort:', - 'facteur_smtp_secure' => 'Beveiligde verbinding:', - 'facteur_smtp_secure_non' => 'nee', - 'facteur_smtp_secure_ssl' => 'SSL (gedeprecieerd)', - 'facteur_smtp_secure_tls' => 'TLS (aanbevolen)', - 'facteur_smtp_sender' => 'Return-Path (optioneel)', - 'facteur_smtp_sender_descriptif' => 'Geef het Return-Path voor de mail aan, bv voor feedback. In SMTP bepaalt het het emailadres van de verzender.', - 'facteur_smtp_tls_allow_self_signed_non' => 'het SSL certificaat van de SMTP server is uitgegeven door een Certificaatautoriteit (aanbevolen).', - 'facteur_smtp_tls_allow_self_signed_oui' => 'het SSL certificaat van de SMTP server is auto-signé.', - 'facteur_smtp_username' => 'Naam van de gebruiker:', - - // L - 'label_facteur_forcer_from' => 'Forceer dit verzendadres wanneer de From niet tot hetzelfde domein behoort', - - // M - 'message_identite_email' => 'De configuratie van plugin "facteur" laadt dit e-mailadres voor het verzenden van mails.', - - // N - 'note_test_configuration' => 'Een mail wordt naar het aangegeven adres (of naar de webmaster) verzonden.', - - // P - 'personnaliser' => 'Personaliseren', - - // T - 'tester' => 'Testen', - 'tester_la_configuration' => 'Configuratietest', - - // U - 'utiliser_mail' => 'Gebruik de PHP mail functie', - 'utiliser_reglages_site' => 'Gebruik de instellingen van SPIP:
@from@
De getoonde naam is die van de site en het adres dat van de webmaster', - 'utiliser_smtp' => 'Gebruik SMTP', - - // V - 'valider' => 'Bevestigen', - 'version_html' => 'HTML-versie.', - 'version_texte' => 'Tekstversie.' -); diff --git a/www/plugins/facteur/lang/facteur_oc_ni_mis.php b/www/plugins/facteur/lang/facteur_oc_ni_mis.php deleted file mode 100644 index 90fe4f29..00000000 --- a/www/plugins/facteur/lang/facteur_oc_ni_mis.php +++ /dev/null @@ -1,79 +0,0 @@ - 'La counfiguracioun dóu fatour es ben estada registrada', - 'configuration_adresse_envoi' => 'Counfiguracioun de l’adressa de spedissioun', # MODIF - 'configuration_facteur' => 'Fatour', - 'configuration_mailer' => 'Counfiguracioun dóu mailer', # MODIF - 'configuration_smtp' => 'Chausida de la mètodou de spedissioun de mail', - 'configuration_smtp_descriptif' => 'Se noun sias segur, chaussissès la founcioun mail de PHP.', - 'corps_email_de_test' => 'Aiçòt es un e-mail de prova achentat', - - // E - 'email_envoye_par' => 'Mandat da @site@', - 'email_test_envoye' => 'L’e-mail de prova es ben estat mandat. Se noun lou recevès courretamen, verificàs la counfiguracioun dóu vouòstre servidou o countatàs un aministratour dóu servidou.', - 'erreur' => 'Errour', - 'erreur_dans_log' => ' : counsultàs lou fichié log per mai de detai', - 'erreur_generale' => 'Lì a, au màncou, un errour de counfiguracioun. Vourguès verificà lou countengut dóu fourmulari.', - 'erreur_invalid_host' => 'Aquestou noum d’oste es pas courret', - 'erreur_invalid_port' => 'Aquestou nùmero de pouòrt es pas courret', - - // F - 'facteur_adresse_envoi_email' => 'E-mail :', - 'facteur_adresse_envoi_nom' => 'Noum :', - 'facteur_bcc' => 'Còpia Escounduda (BCC) :', - 'facteur_cc' => 'Còpia (CC) :', - 'facteur_copies' => 'Còpia :', # MODIF - 'facteur_copies_descriptif' => 'Un e-mail serà mandat en còpia ai adressa definidi. Basta una adressa en còpia e/o basta una adressa en còpia escounduda.', - 'facteur_filtre_accents' => 'Trasfourmà lu achent en li siéu entità html (utile per Hotmail per isemple).', - 'facteur_filtre_css' => 'Trasfourmà lu estil countengut tra e en dei estil "en ligna", utile per lu webmail perqué lu estil en ligna an la priourità soubre lu estil estèrnou.', - 'facteur_filtre_images' => 'Embarcà li image referençadi en lu e-mail', - 'facteur_filtre_iso_8859' => 'Counvertì en ISO-8859-1', - 'facteur_filtres' => 'Filtre', - 'facteur_filtres_descriptif' => 'Dei filtre pouòdon estre aplicat ai e-mail au moumen de la spedissioun.', - 'facteur_smtp_auth' => 'Necessita una autentificacioun :', - 'facteur_smtp_auth_non' => 'noun', - 'facteur_smtp_auth_oui' => 'ahì', - 'facteur_smtp_host' => 'Oste :', - 'facteur_smtp_password' => 'Mot de passa :', - 'facteur_smtp_port' => 'Pouòrt :', - 'facteur_smtp_secure' => 'Counessioun seguritada :', - 'facteur_smtp_secure_non' => 'noun', - 'facteur_smtp_secure_ssl' => 'SSL (oussoulet)', - 'facteur_smtp_secure_tls' => 'TLS (racoumandat)', - 'facteur_smtp_sender' => 'Retour dei errour (oupciounal)', # MODIF - 'facteur_smtp_sender_descriptif' => 'Definit en l’entestacioun dóu e-mail de retour dei errour (o Return-Path), e dóu tems d’una spedissioun vìa lou mètodou SMTP acò definit finda l’adressa de l’espeditour.', # MODIF - 'facteur_smtp_username' => 'Noum d’utilisaire :', - - // M - 'message_identite_email' => 'Lou counfiguracioun dóu plugin "fatour" soubre-scriéu aquela adressa e-mail per la spedissioun.', - - // N - 'note_test_configuration' => 'Un e-mail serà mandat a l’adressa de spedissioun definida (o aquela dóu webmèstre).', # MODIF - - // P - 'personnaliser' => 'Persounalisà aquestu reglage', - - // T - 'tester' => 'Prouvà', - 'tester_la_configuration' => 'Prouvà la counfiguracioun', - - // U - 'utiliser_mail' => 'Utilisà la founcioun mail de PHP', - 'utiliser_reglages_site' => 'Utilisà lu reglage dóu sit SPIP : lou noum afichat serà lou noum dóu sit SPIP et l’adressa e-mail serà aquela dóu webmèstre', # MODIF - 'utiliser_smtp' => 'Utilisà SMTP', - - // V - 'valider' => 'Validà', - 'version_html' => 'Versioun HTML.', - 'version_texte' => 'Versioun tèst.' -); diff --git a/www/plugins/facteur/lang/facteur_pt_br.php b/www/plugins/facteur/lang/facteur_pt_br.php deleted file mode 100644 index 4aed5739..00000000 --- a/www/plugins/facteur/lang/facteur_pt_br.php +++ /dev/null @@ -1,83 +0,0 @@ - 'A configuração do Carteiro foi gravada corretamente', - 'configuration_adresse_envoi' => 'Endereço de envio padrão', - 'configuration_facteur' => 'Carteiro', - 'configuration_mailer' => 'Método de envio', - 'configuration_smtp' => 'Seleção do método de envio de e-mail', - 'configuration_smtp_descriptif' => 'Se tiver dúvida, escolha a função mail do PHP.', - 'corps_email_de_test' => 'Este é um e-mail de teste acentuado', - - // E - 'email_envoye_par' => 'Enviado por @site@', - 'email_test_envoye' => 'O e-mail de teste foi enviado corretamente. Se você não o receber, verifique a configuração do seu servidor ou contate o administrador do servidor.', - 'erreur' => 'Erro', - 'erreur_dans_log' => ' : consulte o arquivo de log para obter mais detalhes', - 'erreur_generale' => 'Há um ou mais erros de configuração. Por favor, verifique o conteúdo do formulário.', - 'erreur_invalid_host' => 'Este nome de host não está correto', - 'erreur_invalid_port' => 'Este número de porta não está correto', - - // F - 'facteur_adresse_envoi_email' => 'E-mail:', - 'facteur_adresse_envoi_nom' => 'Nome:', - 'facteur_bcc' => 'Cópia Oculta (BCC):', - 'facteur_cc' => 'Cópia (CC):', - 'facteur_copies' => 'Cópias', - 'facteur_copies_descriptif' => 'Um e-mail será enviado em cópia para os endereços especificados. Um único endereço em cópia e/ou um único endereço em cópia oculta.', - 'facteur_email_test' => 'Enviar um e-mail de teste para:', - 'facteur_filtre_accents' => 'Transformar os acentos em entidades HTML (útil especialmente para o Hotmail).', - 'facteur_filtre_css' => 'Transformaros estílos contidos entre e em estilos "em linha", útil para os webmails, já que os estilos em linha têm prioridade sobre os estilos externos.', - 'facteur_filtre_images' => 'Embutir as imagens referenciadas no próprio e-mail', - 'facteur_filtre_iso_8859' => 'Converter em ISO-8859-1', - 'facteur_filtres' => 'Filtros', - 'facteur_filtres_descriptif' => 'Filtros podem ser aplicados aos e-mails, no momento do envio.', - 'facteur_smtp_auth' => 'Requer autenticação:', - 'facteur_smtp_auth_non' => 'não', - 'facteur_smtp_auth_oui' => 'sim', - 'facteur_smtp_host' => 'Host:', - 'facteur_smtp_password' => 'Senha:', - 'facteur_smtp_port' => 'Porta:', - 'facteur_smtp_secure' => 'Conexão segura:', - 'facteur_smtp_secure_non' => 'náo', - 'facteur_smtp_secure_ssl' => 'SSL (obsoleto)', - 'facteur_smtp_secure_tls' => 'TLS (recomendado)', - 'facteur_smtp_sender' => 'Endereço pelo retorno dos erros (opcional)', - 'facteur_smtp_sender_descriptif' => 'Informa, no cabeçalho da mensagem, o endereço de e-mail de retorno dos erros (ou Return-Path)', - 'facteur_smtp_username' => 'Nome do usuário:', - - // L - 'label_facteur_forcer_from' => 'Forçar o endereço de envio quando o From não é no mesmo domínio.', - - // M - 'message_identite_email' => 'A configuração do plugin "Carteiro" define este endereço de e-mail para o envio das mensagens.', - - // N - 'note_test_configuration' => 'Um e-mail será enviado a este endereço.', - - // P - 'personnaliser' => 'Personalizar essas configurações', - - // T - 'tester' => 'Testar', - 'tester_la_configuration' => 'Testar a configuração', - - // U - 'utiliser_mail' => 'Usar a função mail do PHP', - 'utiliser_reglages_site' => 'Usar as configurações do site SPIP: :
@from@ ', - 'utiliser_smtp' => 'Usar SMTP', - - // V - 'valider' => 'Validar', - 'version_html' => 'Versão HTML.', - 'version_texte' => 'Versão texto.' -); diff --git a/www/plugins/facteur/lang/facteur_sk.php b/www/plugins/facteur/lang/facteur_sk.php deleted file mode 100644 index 37fdbe54..00000000 --- a/www/plugins/facteur/lang/facteur_sk.php +++ /dev/null @@ -1,80 +0,0 @@ - 'Nastavenia Poštára sa uložili správne', - 'configuration_adresse_envoi' => 'Nastavenie adresy odosielateľa', # MODIF - 'configuration_facteur' => 'Poštár', - 'configuration_mailer' => 'Nastavenia Poštára', # MODIF - 'configuration_smtp' => 'Výber spôsobu odoslania e-mailu', - 'configuration_smtp_descriptif' => 'Ak si nie ste istý, zvoľte si funkciu mail jazyka PHP.', - 'corps_email_de_test' => 'Toto je testovací e-mail s diakritikou', - - // E - 'email_envoye_par' => 'Odoslané z @site@', - 'email_test_envoye' => 'Testovací e-mail bol úspešne odoslaný. Ak ho nedostanete, skontrolujte nastavenia svojho servera alebo sa obráťte na administrátora servera.', - 'erreur' => 'Chyba', - 'erreur_dans_log' => ' : viac podrobností nájdete v súbore log', - 'erreur_generale' => 'V nastaveniach je jedna alebo viac chýb. Prosím, skontrolujte obsah formulára.', - 'erreur_invalid_host' => 'Názov servera nie je správny', - 'erreur_invalid_port' => 'Toto číslo portu nie je správne', - - // F - 'facteur_adresse_envoi_email' => 'E-mail:', - 'facteur_adresse_envoi_nom' => '(Obchodné) meno:', - 'facteur_bcc' => 'Skrytá kópia (BCC):', - 'facteur_cc' => 'Kópia (CC):', - 'facteur_copies' => 'Kópie:', # MODIF - 'facteur_copies_descriptif' => 'Kópia e-mailu sa pošle na zadané adresy. Na jednu adresu bude odoslaná bežná kópia a/lebo skrytá kópia.', - 'facteur_email_test' => 'Skúšobný e-mail poslať na adresu:', - 'facteur_filtre_accents' => 'Diakritiku meniť na entity html (užitočné najmä pre Hotmail).', - 'facteur_filtre_css' => 'Zmeniť štýly medzi a  na "in-line" štýly, užitočné pre webmaily, lebo in-line štýly majú prednosť pred externými.', - 'facteur_filtre_images' => 'Do e-mailov pridávať obrázky, na ktoré sa v nich odkazuje', - 'facteur_filtre_iso_8859' => 'Zmeniť na ISO-8859-1', - 'facteur_filtres' => 'Filtre', - 'facteur_filtres_descriptif' => 'Pri posielaní sa na e-maily môžu použiť filtre.', - 'facteur_smtp_auth' => 'Vyžaduje sa prihlásenie:', - 'facteur_smtp_auth_non' => 'nie', - 'facteur_smtp_auth_oui' => 'áno', - 'facteur_smtp_host' => 'Host:', - 'facteur_smtp_password' => 'Heslo:', - 'facteur_smtp_port' => 'Port:', - 'facteur_smtp_secure' => 'Zabezpečené pripojenie:', - 'facteur_smtp_secure_non' => 'nie', - 'facteur_smtp_secure_ssl' => 'SSL (zastarané)', - 'facteur_smtp_secure_tls' => 'TLS (odporúča sa)', - 'facteur_smtp_sender' => 'Vypísanie chýb (nepovinné)', # MODIF - 'facteur_smtp_sender_descriptif' => 'Zadané v hlavičke návratnej e-mailovej adresy pri chybe (alebo Return-Path) a pri jej odoslaní metódou SMTP je aj adresou odosielateľa.', # MODIF - 'facteur_smtp_username' => 'Používateľské meno:', - - // M - 'message_identite_email' => 'Nastavenia zásuvného modulu "Poštár" predvolili túto e-mailovú adresu na posielanie e-mailov.', - - // N - 'note_test_configuration' => 'E-mail bude odoslaný na túto adresu.', - - // P - 'personnaliser' => 'Prispôsobiť si tieto nastavenia', - - // T - 'tester' => 'Otestovať', - 'tester_la_configuration' => 'Otestovať nastavenia', - - // U - 'utiliser_mail' => 'Používať funkciu mail z PHP', - 'utiliser_reglages_site' => 'Použiť nastavenia stránky v SPIPe: zobrazovaný názov je názov stránky a e-mailová adresa je e-mail webmastera', # MODIF - 'utiliser_smtp' => 'Používať SMTP', - - // V - 'valider' => 'Potvrdiť', - 'version_html' => 'HTML verzia.', - 'version_texte' => 'Textová verzia.' -); diff --git a/www/plugins/facteur/lang/paquet-facteur.xml b/www/plugins/facteur/lang/paquet-facteur.xml deleted file mode 100644 index e85115b6..00000000 --- a/www/plugins/facteur/lang/paquet-facteur.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/www/plugins/facteur/lang/paquet-facteur_de.php b/www/plugins/facteur/lang/paquet-facteur_de.php deleted file mode 100755 index c45d2141..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_de.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Der Postbote befördert Emails im HTML-Format, im Nur-Text-Format oder in beiden, egal ob per SMTP oder nicht.', - 'facteur_nom' => 'Postbote', - 'facteur_slogan' => 'Er befördert ihre Emails' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_en.php b/www/plugins/facteur/lang/paquet-facteur_en.php deleted file mode 100644 index 3e458c77..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_en.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Postman delivers emails in HTML, text or mixed format; via SMTP or not', - 'facteur_nom' => 'Postman', - 'facteur_slogan' => 'He delivers emails' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_es.php b/www/plugins/facteur/lang/paquet-facteur_es.php deleted file mode 100644 index 7bf6260b..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_es.php +++ /dev/null @@ -1,16 +0,0 @@ - '"Cartero" se ocupa de la distribución de correos electrónicos en formato HTML, texto o mixto; vía SMTP o no', - 'facteur_nom' => 'Cartero', - 'facteur_slogan' => 'Distribuye sus correos electrónicos' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_fr.php b/www/plugins/facteur/lang/paquet-facteur_fr.php deleted file mode 100644 index b903c882..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_fr.php +++ /dev/null @@ -1,14 +0,0 @@ - 'Facteur s’occupe de la distribution des courriels au format HTML, texte ou mixte ; via SMTP ou non', - 'facteur_nom' => 'Facteur', - 'facteur_slogan' => 'Il distribue vos courriels' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_fr_tu.php b/www/plugins/facteur/lang/paquet-facteur_fr_tu.php deleted file mode 100644 index 9bc7ed8d..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_fr_tu.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Facteur s’occupe de la distribution des courriels au format HTML, texte ou mixte ; via SMTP ou non', - 'facteur_nom' => 'Facteur', - 'facteur_slogan' => 'Il distribue tes courriels' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_nl.php b/www/plugins/facteur/lang/paquet-facteur_nl.php deleted file mode 100644 index 1d0d7dce..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_nl.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Postbode (Facteur) houdt zich bezig met de distributie van email in HTML, tekst of gemengd formaat; al dan niet via SMTP', - 'facteur_nom' => 'Postbode', - 'facteur_slogan' => 'Hij verzendt uw mail' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_pt_br.php b/www/plugins/facteur/lang/paquet-facteur_pt_br.php deleted file mode 100644 index 0ef1d7a9..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_pt_br.php +++ /dev/null @@ -1,16 +0,0 @@ - 'O Carteiro cuida da distribuição de e-mails no formato HTML, texto ou misto; via SMTP ou não', - 'facteur_nom' => 'Carteiro', - 'facteur_slogan' => 'Distribue os seus e-mails' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_ru.php b/www/plugins/facteur/lang/paquet-facteur_ru.php deleted file mode 100644 index db108ce9..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_ru.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Плагин отправляет письма в текстовом, HTML или смешанном формате; при помощи SMTP или функции mail', - 'facteur_nom' => 'Почтальон (Facteur)', - 'facteur_slogan' => 'Он отправляет письма' -); diff --git a/www/plugins/facteur/lang/paquet-facteur_sk.php b/www/plugins/facteur/lang/paquet-facteur_sk.php deleted file mode 100644 index ce771d97..00000000 --- a/www/plugins/facteur/lang/paquet-facteur_sk.php +++ /dev/null @@ -1,16 +0,0 @@ - 'Poštár slúži na doručovanie e-mailov vo formáte HTML, v textovej alebo v zmiešanej podobe či už cez SMTP, alebo nie', - 'facteur_nom' => 'Poštár', - 'facteur_slogan' => 'Posiela vašu poštu' -); diff --git a/www/plugins/facteur/lib/markdownify/LICENSE_LGPL.txt b/www/plugins/facteur/lib/markdownify/LICENSE_LGPL.txt deleted file mode 100644 index 5ab7695a..00000000 --- a/www/plugins/facteur/lib/markdownify/LICENSE_LGPL.txt +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/www/plugins/facteur/lib/markdownify/markdownify.php b/www/plugins/facteur/lib/markdownify/markdownify.php deleted file mode 100644 index c5c0410a..00000000 --- a/www/plugins/facteur/lib/markdownify/markdownify.php +++ /dev/null @@ -1,1192 +0,0 @@ -, ) - * @license LGPL, see LICENSE_LGPL.txt and the summary below - * @copyright (C) 2007 Milian Wolff - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/** - * HTML Parser, see http://sf.net/projects/parseHTML - */ -require_once dirname(__FILE__) . '/parsehtml/parsehtml.php'; - -/** - * default configuration - */ -define('MDFY_LINKS_EACH_PARAGRAPH', false); -define('MDFY_BODYWIDTH', false); -define('MDFY_KEEPHTML', true); - -/** - * HTML to Markdown converter class - */ -class Markdownify { - /** - * html parser object - * - * @var parseHTML - */ - var $parser; - /** - * markdown output - * - * @var string - */ - var $output; - /** - * stack with tags which where not converted to html - * - * @var array - */ - var $notConverted = array(); - /** - * skip conversion to markdown - * - * @var bool - */ - var $skipConversion = false; - /* options */ - /** - * keep html tags which cannot be converted to markdown - * - * @var bool - */ - var $keepHTML = false; - /** - * wrap output, set to 0 to skip wrapping - * - * @var int - */ - var $bodyWidth = 0; - /** - * minimum body width - * - * @var int - */ - var $minBodyWidth = 25; - /** - * display links after each paragraph - * - * @var bool - */ - var $linksAfterEachParagraph = false; - /** - * constructor, set options, setup parser - * - * @param bool $linksAfterEachParagraph wether or not to flush stacked links after each paragraph - * defaults to false - * @param int $bodyWidth wether or not to wrap the output to the given width - * defaults to false - * @param bool $keepHTML wether to keep non markdownable HTML or to discard it - * defaults to true (HTML will be kept) - * @return void - */ - function __construct($linksAfterEachParagraph = MDFY_LINKS_EACH_PARAGRAPH, $bodyWidth = MDFY_BODYWIDTH, $keepHTML = MDFY_KEEPHTML) { - $this->linksAfterEachParagraph = $linksAfterEachParagraph; - $this->keepHTML = $keepHTML; - - if ($bodyWidth > $this->minBodyWidth) { - $this->bodyWidth = intval($bodyWidth); - } else { - $this->bodyWidth = false; - } - - $this->parser = new parseHTML; - $this->parser->noTagsInCode = true; - - # we don't have to do this every time - $search = array(); - $replace = array(); - foreach ($this->escapeInText as $s => $r) { - array_push($search, '#(?escapeInText = array( - 'search' => $search, - 'replace' => $replace - ); - } - /** - * parse a HTML string - * - * @param string $html - * @return string markdown formatted - */ - function parseString($html) { - $this->parser->html = $html; - $this->parse(); - return $this->output; - } - /** - * tags with elements which can be handled by markdown - * - * @var array - */ - var $isMarkdownable = array( - 'p' => array(), - 'ul' => array(), - 'ol' => array(), - 'li' => array(), - 'br' => array(), - 'blockquote' => array(), - 'code' => array(), - 'pre' => array(), - 'a' => array( - 'href' => 'required', - 'title' => 'optional', - ), - 'strong' => array(), - 'b' => array(), - 'em' => array(), - 'i' => array(), - 'img' => array( - 'src' => 'required', - 'alt' => 'optional', - 'title' => 'optional', - ), - 'h1' => array(), - 'h2' => array(), - 'h3' => array(), - 'h4' => array(), - 'h5' => array(), - 'h6' => array(), - 'hr' => array(), - ); - /** - * html tags to be ignored (contents will be parsed) - * - * @var array - */ - var $ignore = array( - 'html', - 'body', - ); - /** - * html tags to be dropped (contents will not be parsed!) - * - * @var array - */ - var $drop = array( - 'script', - 'head', - 'style', - 'form', - 'area', - 'object', - 'param', - 'iframe', - ); - /** - * Markdown indents which could be wrapped - * @note: use strings in regex format - * - * @var array - */ - var $wrappableIndents = array( - '\* ', # ul - '\d. ', # ol - '\d\d. ', # ol - '> ', # blockquote - '', # p - ); - /** - * list of chars which have to be escaped in normal text - * @note: use strings in regex format - * - * @var array - * - * TODO: what's with block chars / sequences at the beginning of a block? - */ - var $escapeInText = array( - '([-*_])([ ]{0,2}\1){2,}' => '\\\\$0|', # hr - '\*\*([^*\s]+)\*\*' => '\*\*$1\*\*', # strong - '\*([^*\s]+)\*' => '\*$1\*', # em - '__(?! |_)(.+)(?!<_| )__' => '\_\_$1\_\_', # em - '_(?! |_)(.+)(?!<_| )_' => '\_$1\_', # em - '`(.+)`' => '\`$1\`', # code - '\[(.+)\](\s*\()' => '\[$1\]$2', # links: [text] (url) => [text\] (url) - '\[(.+)\](\s*)\[(.*)\]' => '\[$1\]$2\[$3\]', # links: [text][id] => [text\][id\] - ); - /** - * wether last processed node was a block tag or not - * - * @var bool - */ - var $lastWasBlockTag = false; - /** - * name of last closed tag - * - * @var string - */ - var $lastClosedTag = ''; - /** - * iterate through the nodes and decide what we - * shall do with the current node - * - * @param void - * @return void - */ - function parse() { - $this->output = ''; - # drop tags - $this->parser->html = preg_replace('#<('.implode('|', $this->drop).')[^>]*>.*#sU', '', $this->parser->html); - while ($this->parser->nextNode()) { - switch ($this->parser->nodeType) { - case 'doctype': - break; - case 'pi': - case 'comment': - if ($this->keepHTML) { - $this->flushLinebreaks(); - $this->out($this->parser->node); - $this->setLineBreaks(2); - } - # else drop - break; - case 'text': - $this->handleText(); - break; - case 'tag': - if (in_array($this->parser->tagName, $this->ignore)) { - break; - } - if ($this->parser->isStartTag) { - $this->flushLinebreaks(); - } - if ($this->skipConversion) { - $this->isMarkdownable(); # update notConverted - $this->handleTagToText(); - continue; - } - if (!$this->parser->keepWhitespace && $this->parser->isBlockElement && $this->parser->isStartTag) { - $this->parser->html = ltrim($this->parser->html); - } - if ($this->isMarkdownable()) { - if ($this->parser->isBlockElement && $this->parser->isStartTag && !$this->lastWasBlockTag && !empty($this->output)) { - if (!empty($this->buffer)) { - $str =& $this->buffer[count($this->buffer) -1]; - } else { - $str =& $this->output; - } - if (substr($str, -strlen($this->indent)-1) != "\n".$this->indent) { - $str .= "\n".$this->indent; - } - } - $func = 'handleTag_'.$this->parser->tagName; - $this->$func(); - if ($this->linksAfterEachParagraph && $this->parser->isBlockElement && !$this->parser->isStartTag && empty($this->parser->openTags)) { - $this->flushStacked(); - } - if (!$this->parser->isStartTag) { - $this->lastClosedTag = $this->parser->tagName; - } - } else { - $this->handleTagToText(); - $this->lastClosedTag = ''; - } - break; - default: - trigger_error('invalid node type', E_USER_ERROR); - break; - } - $this->lastWasBlockTag = $this->parser->nodeType == 'tag' && $this->parser->isStartTag && $this->parser->isBlockElement; - } - if (!empty($this->buffer)) { - trigger_error('buffer was not flushed, this is a bug. please report!', E_USER_WARNING); - while (!empty($this->buffer)) { - $this->out($this->unbuffer()); - } - } - ### cleanup - $this->output = rtrim(str_replace('&', '&', str_replace('<', '<', str_replace('>', '>', $this->output)))); - # end parsing, flush stacked tags - $this->flushStacked(); - $this->stack = array(); - } - /** - * check if current tag can be converted to Markdown - * - * @param void - * @return bool - */ - function isMarkdownable() { - if (!isset($this->isMarkdownable[$this->parser->tagName])) { - # simply not markdownable - return false; - } - if ($this->parser->isStartTag) { - $return = true; - if ($this->keepHTML) { - $diff = array_diff(array_keys($this->parser->tagAttributes), array_keys($this->isMarkdownable[$this->parser->tagName])); - if (!empty($diff)) { - # non markdownable attributes given - $return = false; - } - } - if ($return) { - foreach ($this->isMarkdownable[$this->parser->tagName] as $attr => $type) { - if ($type == 'required' && !isset($this->parser->tagAttributes[$attr])) { - # required markdown attribute not given - $return = false; - break; - } - } - } - if (!$return) { - array_push($this->notConverted, $this->parser->tagName.'::'.implode('/', $this->parser->openTags)); - } - return $return; - } else { - if (!empty($this->notConverted) && end($this->notConverted) === $this->parser->tagName.'::'.implode('/', $this->parser->openTags)) { - array_pop($this->notConverted); - return false; - } - return true; - } - } - /** - * output all stacked tags - * - * @param void - * @return void - */ - function flushStacked() { - # links - foreach ($this->stack as $tag => $a) { - if (!empty($a)) { - call_user_func(array(&$this, 'flushStacked_'.$tag)); - } - } - } - /** - * output link references (e.g. [1]: http://example.com "title"); - * - * @param void - * @return void - */ - function flushStacked_a() { - $out = false; - foreach ($this->stack['a'] as $k => $tag) { - if (!isset($tag['unstacked'])) { - if (!$out) { - $out = true; - $this->out("\n\n", true); - } else { - $this->out("\n", true); - } - $this->out(' ['.$tag['linkID'].']: '.$tag['href'].(isset($tag['title']) ? ' "'.$tag['title'].'"' : ''), true); - $tag['unstacked'] = true; - $this->stack['a'][$k] = $tag; - } - } - } - /** - * flush enqued linebreaks - * - * @param void - * @return void - */ - function flushLinebreaks() { - if ($this->lineBreaks && !empty($this->output)) { - $this->out(str_repeat("\n".$this->indent, $this->lineBreaks), true); - } - $this->lineBreaks = 0; - } - /** - * handle non Markdownable tags - * - * @param void - * @return void - */ - function handleTagToText() { - if (!$this->keepHTML) { - if (!$this->parser->isStartTag && $this->parser->isBlockElement) { - $this->setLineBreaks(2); - } - } else { - # dont convert to markdown inside this tag - /** TODO: markdown extra **/ - if (!$this->parser->isEmptyTag) { - if ($this->parser->isStartTag) { - if (!$this->skipConversion) { - $this->skipConversion = $this->parser->tagName.'::'.implode('/', $this->parser->openTags); - } - } else { - if ($this->skipConversion == $this->parser->tagName.'::'.implode('/', $this->parser->openTags)) { - $this->skipConversion = false; - } - } - } - - if ($this->parser->isBlockElement) { - if ($this->parser->isStartTag) { - if (in_array($this->parent(), array('ins', 'del'))) { - # looks like ins or del are block elements now - $this->out("\n", true); - $this->indent(' '); - } - if ($this->parser->tagName != 'pre') { - $this->out($this->parser->node."\n".$this->indent); - if (!$this->parser->isEmptyTag) { - $this->indent(' '); - } else { - $this->setLineBreaks(1); - } - $this->parser->html = ltrim($this->parser->html); - } else { - # don't indent inside
 tags
-            $this->out($this->parser->node);
-            static $indent;
-            $indent =  $this->indent;
-            $this->indent = '';
-          }
-        } else {
-          if (!$this->parser->keepWhitespace) {
-            $this->output = rtrim($this->output);
-          }
-          if ($this->parser->tagName != 'pre') {
-            $this->indent('  ');
-            $this->out("\n".$this->indent.$this->parser->node);
-          } else {
-            # reset indentation
-            $this->out($this->parser->node);
-            static $indent;
-            $this->indent = $indent;
-          }
-
-          if (in_array($this->parent(), array('ins', 'del'))) {
-            # ins or del was block element
-            $this->out("\n");
-            $this->indent('  ');
-          }
-          if ($this->parser->tagName == 'li') {
-            $this->setLineBreaks(1);
-          } else {
-            $this->setLineBreaks(2);
-          }
-        }
-      } else {
-        $this->out($this->parser->node);
-      }
-      if (in_array($this->parser->tagName, array('code', 'pre'))) {
-        if ($this->parser->isStartTag) {
-          $this->buffer();
-        } else {
-          # add stuff so cleanup just reverses this
-          $this->out(str_replace('<', '&lt;', str_replace('>', '&gt;', $this->unbuffer())));
-        }
-      }
-    }
-  }
-  /**
-   * handle plain text
-   *
-   * @param void
-   * @return void
-   */
-  function handleText() {
-    if ($this->hasParent('pre') && strpos($this->parser->node, "\n") !== false) {
-      $this->parser->node = str_replace("\n", "\n".$this->indent, $this->parser->node);
-    }
-    if (!$this->hasParent('code') && !$this->hasParent('pre')) {
-      # entity decode
-      $this->parser->node = $this->decode($this->parser->node);
-      if (!$this->skipConversion) {
-        # escape some chars in normal Text
-        $this->parser->node = preg_replace($this->escapeInText['search'], $this->escapeInText['replace'], $this->parser->node);
-      }
-    } else {
-      $this->parser->node = str_replace(array('"', '&apos'), array('"', '\''), $this->parser->node);
-    }
-    $this->out($this->parser->node);
-    $this->lastClosedTag = '';
-  }
-  /**
-   * handle  and  tags
-   *
-   * @param void
-   * @return void
-   */
-  function handleTag_em() {
-    $this->out('*', true);
-  }
-  function handleTag_i() {
-    $this->handleTag_em();
-  }
-  /**
-   * handle  and  tags
-   *
-   * @param void
-   * @return void
-   */
-  function handleTag_strong() {
-    $this->out('**', true);
-  }
-  function handleTag_b() {
-    $this->handleTag_strong();
-  }
-  /**
-   * handle 

tags - * - * @param void - * @return void - */ - function handleTag_h1() { - $this->handleHeader(1); - } - /** - * handle

tags - * - * @param void - * @return void - */ - function handleTag_h2() { - $this->handleHeader(2); - } - /** - * handle

tags - * - * @param void - * @return void - */ - function handleTag_h3() { - $this->handleHeader(3); - } - /** - * handle

tags - * - * @param void - * @return void - */ - function handleTag_h4() { - $this->handleHeader(4); - } - /** - * handle

tags - * - * @param void - * @return void - */ - function handleTag_h5() { - $this->handleHeader(5); - } - /** - * handle
tags - * - * @param void - * @return void - */ - function handleTag_h6() { - $this->handleHeader(6); - } - /** - * number of line breaks before next inline output - */ - var $lineBreaks = 0; - /** - * handle header tags (

-

) - * - * @param int $level 1-6 - * @return void - */ - function handleHeader($level) { - if ($this->parser->isStartTag) { - $this->out(str_repeat('#', $level).' ', true); - } else { - $this->setLineBreaks(2); - } - } - /** - * handle

tags - * - * @param void - * @return void - */ - function handleTag_p() { - if (!$this->parser->isStartTag) { - $this->setLineBreaks(2); - } - } - /** - * handle tags - * - * @param void - * @return void - */ - function handleTag_a() { - if ($this->parser->isStartTag) { - $this->buffer(); - if (isset($this->parser->tagAttributes['title'])) { - $this->parser->tagAttributes['title'] = $this->decode($this->parser->tagAttributes['title']); - } else { - $this->parser->tagAttributes['title'] = null; - } - $this->parser->tagAttributes['href'] = $this->decode(trim($this->parser->tagAttributes['href'])); - $this->stack(); - } else { - $tag = $this->unstack(); - $buffer = $this->unbuffer(); - - if (empty($tag['href']) && empty($tag['title'])) { - # empty links... testcase mania, who would possibly do anything like that?! - $this->out('['.$buffer.']()', true); - return; - } - - if ($buffer == $tag['href'] && empty($tag['title'])) { - # - $this->out('<'.$buffer.'>', true); - return; - } - - $bufferDecoded = $this->decode(trim($buffer)); - if (substr($tag['href'], 0, 7) == 'mailto:' && 'mailto:'.$bufferDecoded == $tag['href']) { - if (is_null($tag['title'])) { - # - $this->out('<'.$bufferDecoded.'>', true); - return; - } - # [mail@example.com][1] - # ... - # [1]: mailto:mail@example.com Title - $tag['href'] = 'mailto:'.$bufferDecoded; - } - if ($this->linksAfterEachParagraph!=='inline'){ - # [This link][id] - foreach ($this->stack['a'] as $tag2) { - if ($tag2['href'] == $tag['href'] && $tag2['title'] === $tag['title']) { - $tag['linkID'] = $tag2['linkID']; - break; - } - } - if (!isset($tag['linkID'])) { - $tag['linkID'] = count($this->stack['a']) + 1; - array_push($this->stack['a'], $tag); - } - - $this->out('['.trim($buffer).']['.$tag['linkID'].']', true); - } - else { - # [This link|title](url) - if ($tag['title']) - $buffer.="|".$tag['title']; - $this->out('['.trim($buffer).']('.$tag['href'].')', true); - } - } - } - /** - * handle tags - * - * @param void - * @return void - */ - function handleTag_img() { - if (!$this->parser->isStartTag) { - return; # just to be sure this is really an empty tag... - } - - if (isset($this->parser->tagAttributes['title'])) { - $this->parser->tagAttributes['title'] = $this->decode($this->parser->tagAttributes['title']); - } else { - $this->parser->tagAttributes['title'] = null; - } - if (isset($this->parser->tagAttributes['alt'])) { - $this->parser->tagAttributes['alt'] = $this->decode($this->parser->tagAttributes['alt']); - } else { - $this->parser->tagAttributes['alt'] = null; - } - - if (empty($this->parser->tagAttributes['src'])) { - # support for "empty" images... dunno if this is really needed - # but there are some testcases which do that... - if (!empty($this->parser->tagAttributes['title'])) { - $this->parser->tagAttributes['title'] = ' '.$this->parser->tagAttributes['title'].' '; - } - $this->out('!['.$this->parser->tagAttributes['alt'].']('.$this->parser->tagAttributes['title'].')', true); - return; - } else { - $this->parser->tagAttributes['src'] = $this->decode($this->parser->tagAttributes['src']); - } - - # [This link][id] - $link_id = false; - if (!empty($this->stack['a'])) { - foreach ($this->stack['a'] as $tag) { - if ($tag['href'] == $this->parser->tagAttributes['src'] - && $tag['title'] === $this->parser->tagAttributes['title']) { - $link_id = $tag['linkID']; - break; - } - } - } else { - $this->stack['a'] = array(); - } - if (!$link_id) { - $link_id = count($this->stack['a']) + 1; - $tag = array( - 'href' => $this->parser->tagAttributes['src'], - 'linkID' => $link_id, - 'title' => $this->parser->tagAttributes['title'] - ); - array_push($this->stack['a'], $tag); - } - - $this->out('!['.$this->parser->tagAttributes['alt'].']['.$link_id.']', true); - } - /** - * handle tags - * - * @param void - * @return void - */ - function handleTag_code() { - if ($this->hasParent('pre')) { - # ignore code blocks inside

-      return;
-    }
-    if ($this->parser->isStartTag) {
-      $this->buffer();
-    } else {
-      $buffer = $this->unbuffer();
-      # use as many backticks as needed
-      preg_match_all('#`+#', $buffer, $matches);
-      if (!empty($matches[0])) {
-        rsort($matches[0]);
-
-        $ticks = '`';
-        while (true) {
-          if (!in_array($ticks, $matches[0])) {
-            break;
-          }
-          $ticks .= '`';
-        }
-      } else {
-        $ticks = '`';
-      }
-      if ($buffer[0] == '`' || substr($buffer, -1) == '`') {
-        $buffer = ' '.$buffer.' ';
-      }
-      $this->out($ticks.$buffer.$ticks, true);
-    }
-  }
-  /**
-   * handle 
 tags
-   *
-   * @param void
-   * @return void
-   */
-  function handleTag_pre() {
-    if ($this->keepHTML && $this->parser->isStartTag) {
-      # check if a simple  follows
-      if (!preg_match('#^\s*#Us', $this->parser->html)) {
-        # this is no standard markdown code block
-        $this->handleTagToText();
-        return;
-      }
-    }
-    $this->indent('    ');
-    if (!$this->parser->isStartTag) {
-      $this->setLineBreaks(2);
-    } else {
-      $this->parser->html = ltrim($this->parser->html);
-    }
-  }
-  /**
-   * handle 
tags - * - * @param void - * @return void - */ - function handleTag_blockquote() { - $this->indent('> '); - } - /** - * handle