[SPIP] ~version 3.0.7-->3.0.10
authorLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Wed, 5 Jun 2013 09:38:12 +0000 (11:38 +0200)
committerLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Wed, 5 Jun 2013 09:38:12 +0000 (11:38 +0200)
382 files changed:
www/CHANGELOG.txt
www/config/ecran_securite.php
www/ecrire/action/editer_objet.php
www/ecrire/action/inscrire_auteur.php
www/ecrire/action/logout.php
www/ecrire/auth/spip.php
www/ecrire/balise/formulaire_inscription.php
www/ecrire/base/abstract_sql.php
www/ecrire/base/objets.php
www/ecrire/inc/actions.php
www/ecrire/inc/autoriser.php
www/ecrire/inc/chercher_rubrique.php
www/ecrire/inc/cookie.php
www/ecrire/inc/feedfinder.php [deleted file]
www/ecrire/inc/filtres.php
www/ecrire/inc/filtres_ecrire.php
www/ecrire/inc/flock.php
www/ecrire/inc/headers.php
www/ecrire/inc/plugin.php
www/ecrire/inc/rubriques.php
www/ecrire/inc/utils.php
www/ecrire/inc_version.php
www/ecrire/lang/ecrire.xml
www/ecrire/lang/ecrire_ar.php
www/ecrire/lang/ecrire_ast.php
www/ecrire/lang/ecrire_bg.php
www/ecrire/lang/ecrire_br.php
www/ecrire/lang/ecrire_bs.php
www/ecrire/lang/ecrire_ca.php
www/ecrire/lang/ecrire_co.php
www/ecrire/lang/ecrire_cpf.php
www/ecrire/lang/ecrire_cpf_hat.php
www/ecrire/lang/ecrire_cs.php
www/ecrire/lang/ecrire_da.php
www/ecrire/lang/ecrire_de.php
www/ecrire/lang/ecrire_en.php
www/ecrire/lang/ecrire_eo.php
www/ecrire/lang/ecrire_es.php
www/ecrire/lang/ecrire_eu.php
www/ecrire/lang/ecrire_fa.php
www/ecrire/lang/ecrire_fon.php
www/ecrire/lang/ecrire_fr.php
www/ecrire/lang/ecrire_gl.php
www/ecrire/lang/ecrire_hu.php
www/ecrire/lang/ecrire_id.php
www/ecrire/lang/ecrire_it.php
www/ecrire/lang/ecrire_it_fem.php
www/ecrire/lang/ecrire_ja.php
www/ecrire/lang/ecrire_km.php
www/ecrire/lang/ecrire_lb.php
www/ecrire/lang/ecrire_my.php
www/ecrire/lang/ecrire_nl.php
www/ecrire/lang/ecrire_oc_auv.php
www/ecrire/lang/ecrire_oc_gsc.php
www/ecrire/lang/ecrire_oc_lms.php
www/ecrire/lang/ecrire_oc_lnc.php
www/ecrire/lang/ecrire_oc_ni.php
www/ecrire/lang/ecrire_oc_ni_la.php
www/ecrire/lang/ecrire_oc_prv.php
www/ecrire/lang/ecrire_oc_va.php
www/ecrire/lang/ecrire_pl.php
www/ecrire/lang/ecrire_pt.php
www/ecrire/lang/ecrire_pt_br.php
www/ecrire/lang/ecrire_ro.php
www/ecrire/lang/ecrire_ru.php
www/ecrire/lang/ecrire_sk.php
www/ecrire/lang/ecrire_sv.php
www/ecrire/lang/ecrire_tr.php
www/ecrire/lang/ecrire_vi.php
www/ecrire/lang/ecrire_zh.php
www/ecrire/lang/public.xml
www/ecrire/lang/public_co.php
www/ecrire/lang/public_de.php
www/ecrire/lang/spip.xml
www/ecrire/lang/spip_ar.php
www/ecrire/lang/spip_ast.php
www/ecrire/lang/spip_ay.php
www/ecrire/lang/spip_bg.php
www/ecrire/lang/spip_br.php
www/ecrire/lang/spip_bs.php
www/ecrire/lang/spip_ca.php
www/ecrire/lang/spip_co.php
www/ecrire/lang/spip_cpf.php
www/ecrire/lang/spip_cpf_hat.php
www/ecrire/lang/spip_cs.php
www/ecrire/lang/spip_da.php
www/ecrire/lang/spip_de.php
www/ecrire/lang/spip_en.php
www/ecrire/lang/spip_eo.php
www/ecrire/lang/spip_es.php
www/ecrire/lang/spip_eu.php
www/ecrire/lang/spip_fa.php
www/ecrire/lang/spip_fon.php
www/ecrire/lang/spip_fr.php
www/ecrire/lang/spip_gl.php
www/ecrire/lang/spip_he.php
www/ecrire/lang/spip_hu.php
www/ecrire/lang/spip_id.php
www/ecrire/lang/spip_it.php
www/ecrire/lang/spip_it_fem.php
www/ecrire/lang/spip_ja.php
www/ecrire/lang/spip_km.php
www/ecrire/lang/spip_lb.php
www/ecrire/lang/spip_my.php
www/ecrire/lang/spip_nl.php
www/ecrire/lang/spip_oc_auv.php
www/ecrire/lang/spip_oc_gsc.php
www/ecrire/lang/spip_oc_lms.php
www/ecrire/lang/spip_oc_lnc.php
www/ecrire/lang/spip_oc_ni.php
www/ecrire/lang/spip_oc_ni_la.php
www/ecrire/lang/spip_oc_prv.php
www/ecrire/lang/spip_oc_va.php
www/ecrire/lang/spip_pl.php
www/ecrire/lang/spip_pt.php
www/ecrire/lang/spip_pt_br.php
www/ecrire/lang/spip_ro.php
www/ecrire/lang/spip_ru.php
www/ecrire/lang/spip_sk.php
www/ecrire/lang/spip_sv.php
www/ecrire/lang/spip_tr.php
www/ecrire/lang/spip_vi.php
www/ecrire/lang/spip_zh.php
www/ecrire/maj/svn10000.php
www/ecrire/paquet.xml
www/ecrire/plugins/installer.php
www/ecrire/public/balises.php
www/ecrire/public/boucles.php
www/ecrire/public/cacher.php
www/ecrire/public/compiler.php
www/ecrire/public/criteres.php
www/ecrire/public/debusquer.php
www/ecrire/public/parametrer.php
www/ecrire/public/tracer.php
www/ecrire/req/mysql.php
www/ecrire/req/sqlite_fonctions.php
www/ecrire/req/sqlite_generique.php
www/ecrire/typographie/fr.php
www/plugins-dist/breves/lang/breves.xml
www/plugins-dist/breves/lang/breves_ft_tu.php [deleted file]
www/plugins-dist/compagnon/compagnon/article_redaction _redacteur.html [deleted file]
www/plugins-dist/compagnon/compagnon/article_redaction_redacteur.html [new file with mode: 0644]
www/plugins-dist/compagnon/lang/compagnon_eo.php
www/plugins-dist/compagnon/paquet.xml
www/plugins-dist/compresseur/inc/compresseur_concatener.php
www/plugins-dist/compresseur/inc/compresseur_minifier.php
www/plugins-dist/compresseur/lang/compresseur.xml
www/plugins-dist/compresseur/lib/csstidy/css_optimiser.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/lang.inc.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests.inc [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/_files.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.Text_Diff_Renderer_parallel.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_csst.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_harness.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_reporter.php [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/README [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/atvalues.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/font-face-atmedia-2.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/font-face-atmedia.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/ie-hacks.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-default.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-high.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-highest.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-low.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css1.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css2.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css21.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css3.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/importance.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/multiple-properties.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/preserve-merging.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/active.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/adjacent.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-begins.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-contains.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-equals.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-set.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/chain.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/child.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/class.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/combinator-compressed.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/descendant.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/errors/dangling-combinator.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/errors/duplicate-combinator.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/first-child.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/focus.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/grouping.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/hover.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/id.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/lang.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/link.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/merge-optimization.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/merge-preserve.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/pseudo-elements.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/same-merge-siblings.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/same-nomerge.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/simple.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/type.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal-optimization.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal-shorthand.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/visited.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/background-general.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/background-noopt.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand1.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand2.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand3.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-face.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-general.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-noopt.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-weight-general.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-weight-noopt.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/margin-general.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/margin-noopt.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/padding-general.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/padding-noopt.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/atmedia-decimals.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/complex-gradient.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/cursor.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-atmedia-2.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-atmedia.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-simple.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face_woff.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/hex.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/ie-hacks-sort.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/ie-hacks.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/iezoom.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/newlines.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/same-atmedia-merge.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/same-atmedia-nomerge.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/colors.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/font-family.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/important.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-float.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-leadingzero.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-missingunit.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-missingzero.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-signed.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-trailingzero.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-zero.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/quoted-strings.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/vendor-prefixed/webkit-gradient.csst [deleted file]
www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/test.csst.php [deleted file]
www/plugins-dist/compresseur/lib/minify_html/class.minify_html.php
www/plugins-dist/compresseur/paquet.xml
www/plugins-dist/dump/lang/dump.xml
www/plugins-dist/filtres_images/favicon.ico.html
www/plugins-dist/filtres_images/paquet.xml
www/plugins-dist/forum/formulaires/forum.php
www/plugins-dist/forum/inc/forum_insert.php
www/plugins-dist/forum/lang/forum.xml
www/plugins-dist/forum/lang/forum_eu.php
www/plugins-dist/forum/lang/forum_ft_tu.php [deleted file]
www/plugins-dist/forum/lang/forum_ru.php
www/plugins-dist/forum/paquet.xml
www/plugins-dist/forum/prive/squelettes/navigation/controler_forum.html
www/plugins-dist/mediabox/colorbox/thickbox/colorbox.css
www/plugins-dist/mediabox/lang/mediabox.xml
www/plugins-dist/mediabox/lang/paquet-mediabox.xml
www/plugins-dist/medias/base/typedoc.php
www/plugins-dist/medias/formulaires/joindre_document.php
www/plugins-dist/medias/inc/documents.php
www/plugins-dist/medias/medias_administrations.php
www/plugins-dist/medias/paquet.xml
www/plugins-dist/medias/prive/squelettes/inclure/portfolio-documents.html
www/plugins-dist/mots/base/mots.php
www/plugins-dist/mots/lang/mots.xml
www/plugins-dist/mots/lang/mots_ar.php
www/plugins-dist/mots/lang/mots_ast.php
www/plugins-dist/mots/lang/mots_ca.php
www/plugins-dist/mots/lang/mots_de.php
www/plugins-dist/mots/lang/mots_en.php
www/plugins-dist/mots/lang/mots_es.php
www/plugins-dist/mots/lang/mots_fa.php
www/plugins-dist/mots/lang/mots_fr.php
www/plugins-dist/mots/lang/mots_fr_tu.php
www/plugins-dist/mots/lang/mots_gl.php
www/plugins-dist/mots/lang/mots_it.php
www/plugins-dist/mots/lang/mots_lb.php
www/plugins-dist/mots/lang/mots_nl.php
www/plugins-dist/mots/lang/mots_pt_br.php
www/plugins-dist/mots/lang/mots_ru.php
www/plugins-dist/mots/lang/mots_sk.php
www/plugins-dist/mots/mots_administrations.php
www/plugins-dist/mots/paquet.xml
www/plugins-dist/msie_compat/lang/msiecompat.xml
www/plugins-dist/organiseur/organiseur_autoriser.php
www/plugins-dist/organiseur/organiseur_fonctions.php
www/plugins-dist/organiseur/paquet.xml
www/plugins-dist/petitions/lang/petitions.xml
www/plugins-dist/petitions/lang/petitions_ar.php
www/plugins-dist/petitions/lang/petitions_de.php
www/plugins-dist/petitions/lang/petitions_en.php
www/plugins-dist/petitions/lang/petitions_es.php
www/plugins-dist/petitions/lang/petitions_fa.php
www/plugins-dist/petitions/lang/petitions_fr.php
www/plugins-dist/petitions/lang/petitions_it.php
www/plugins-dist/petitions/lang/petitions_nl.php
www/plugins-dist/petitions/lang/petitions_ru.php
www/plugins-dist/petitions/lang/petitions_sk.php
www/plugins-dist/petitions/prive/modeles/signature.html
www/plugins-dist/petitions/prive/squelettes/navigation/controler_petition.html
www/plugins-dist/revisions/formulaires/configurer_revisions_objets.html
www/plugins-dist/revisions/formulaires/configurer_revisions_objets.php
www/plugins-dist/revisions/inc/revisions_pipeline.php
www/plugins-dist/revisions/paquet.xml
www/plugins-dist/revisions/prive/objets/contenu/revision.html
www/plugins-dist/revisions/prive/objets/contenu/revision_fonctions.php
www/plugins-dist/revisions/prive/rss/revisions.html
www/plugins-dist/safehtml/lang/paquet-safehtml.xml
www/plugins-dist/safehtml/lang/paquet-safehtml_ru.php [new file with mode: 0644]
www/plugins-dist/sites/inc/feedfinder.php [new file with mode: 0644]
www/plugins-dist/sites/inc/syndic.php
www/plugins-dist/sites/lang/sites.xml
www/plugins-dist/sites/lang/sites_eu.php
www/plugins-dist/sites/paquet.xml
www/plugins-dist/squelettes_par_rubrique/paquet.xml
www/plugins-dist/squelettes_par_rubrique/squelettes_par_rubrique_options.php
www/plugins-dist/statistiques/javascript/jquery.tflot.js
www/plugins-dist/statistiques/lang/statistiques.xml
www/plugins-dist/statistiques/lang/statistiques_de.php
www/plugins-dist/statistiques/paquet.xml
www/plugins-dist/statistiques/prive/squelettes/contenu/stats_repartition_fonctions.php
www/plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-data_fonctions.php
www/plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-jours.html
www/plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-mois.html
www/plugins-dist/statistiques/prive/squelettes/inclure/stats-visites-populaires.html
www/plugins-dist/statistiques/prive/stats/visites.html
www/plugins-dist/statistiques/prive/style_prive_plugin_stats.html
www/plugins-dist/svp/action/teleporter.php
www/plugins-dist/svp/formulaires/inc-admin_plugin.html
www/plugins-dist/svp/inc/svp_actionner.php
www/plugins-dist/svp/lang/paquet-svp.xml
www/plugins-dist/svp/lang/svp.xml
www/plugins-dist/svp/lang/svp_ar.php
www/plugins-dist/svp/lang/svp_de.php
www/plugins-dist/svp/lang/svp_en.php
www/plugins-dist/svp/lang/svp_es.php
www/plugins-dist/svp/lang/svp_fa.php
www/plugins-dist/svp/lang/svp_fr.php
www/plugins-dist/svp/lang/svp_it.php
www/plugins-dist/svp/lang/svp_ru.php
www/plugins-dist/svp/lang/svp_sk.php
www/plugins-dist/svp/paquet.xml
www/plugins-dist/textwheel/inc/lien.php
www/plugins-dist/textwheel/lang/tw.xml
www/plugins-dist/textwheel/lang/tw_en.php [new file with mode: 0644]
www/plugins-dist/textwheel/paquet.xml
www/plugins-dist/textwheel/typographie/fr.php
www/plugins-dist/urls_etendues/lang/paquet-urls.xml
www/plugins-dist/urls_etendues/lang/urls.xml
www/plugins-dist/urls_etendues/lang/urls_de.php
www/plugins-dist/urls_etendues/lang/urls_ru.php
www/plugins-dist/urls_etendues/urls/arbo.php
www/plugins-dist/vertebres/paquet.xml
www/plugins-dist/vertebres/public/vertebrer.php
www/prive/echafaudage/contenu/objets.html
www/prive/formulaires/configurer_reducteur.php
www/prive/formulaires/login.html
www/prive/formulaires/rediriger_article.html
www/prive/formulaires/rediriger_article.php
www/prive/formulaires/selecteur/articles.html
www/prive/formulaires/selecteur/generique.html
www/prive/formulaires/selecteur/rubriques.html
www/prive/formulaires/traduire.html
www/prive/informer_auteur_fonctions.php
www/prive/javascript/ajaxCallback.js
www/prive/javascript/login-sha-min.js [new file with mode: 0644]
www/prive/spip_admin.css
www/prive/spip_pass.html
www/prive/squelettes/contenu/configurer_multilang.html [deleted file]
www/prive/squelettes/contenu/configurer_multilinguisme.html [new file with mode: 0644]
www/prive/squelettes/inclure/admin_vider_cache.html
www/prive/squelettes/inclure/head.html
www/prive/themes/spip/icons.css.html
www/prive/themes/spip/images/cfg-24.png [new file with mode: 0644]
www/prive/themes/spip/lists.css.html
www/squelettes-dist/formulaires/inscription.php
www/squelettes-dist/identifiants.html
www/svn.revision

index aa30793..cc8c9dc 100644 (file)
@@ -1,3 +1,153 @@
+SPIP-Core spip-3.0.8 -> spip-3.0.9  24 mai 2013
+-------------------------------------------------------------
+r20427 | kent1     |  (jeu. 18 avril 2013) | report de c20426Du texte en dur dans le privé qui se transforme en chaînes de langue.
+r20428 | b_b       |  (jeu. 18 avril 2013) | une accolade de trop dans r20427
+r20430 | kent1     |  (sam. 20 avril 2013) | les link opensearch ne sont pas des feeds, ils ne fournissent rien donc évitons de les récupérer
+r20432 | kent1     |  (sam. 20 avril 2013) | Petit refactoring avant dispartion de ce fichier
+r20435 | kent1     |  (sam. 20 avril 2013) | Report de c20434Fichier devenu non nécessaire depuis longtemps => déplacé dans le plugin sites
+r20441 | kent1     |  (mer. 24 avril 2013) | Report de c20440On concatène les deux js obligatoires du login en 1 que l'on minifie pour éviter deux requètes
+r20443 | b_b       |  (jeu. 25 avril 2013) | report de r20442 / retour sur r18418 : SPIP 3 premium, le SPIP qui vous permet d'utiliser plus de 100 plugins !
+r20452 | marcimat  |  (sam. 27 avril 2013) | Report de r20451 : Proposer la clé 'texte_definir_comme_traduction_objet' dans la déclaration de l'objet éditorial pour définir la chaîne «Ce X est une traduction du X numéro :» qui pour l'instant s'affichait systématiquement avec le texte 'article' erroné. On mappe pour les articles la chaîne de langue déjà existante.Ainsi «tradrub» ou d'autres plugins ayant des objets éditoriaux avec traductions peuvent définir les bons textes (fa_b, denisb)
+r20456 | cedric    |  (dim. 28 avril 2013) | chargement non bloquant en utilisant getScript
+r20457 | cedric    |  (dim. 28 avril 2013) | Chargement non bloquant (utiliser getScript qui est asynchrone)
+r20458 | denisb    |  (lun. 29 avril 2013) | abstract_sql.php : report de r20438 (esj). éviter quelques logs d'erreur.
+r20460 | denisb    |  (lun. 29 avril 2013) | debusquer.php : évitons d'interpréter les critères de boucle<pre>(comme par exemple  : {"<br />"} )</pre>
+r20467 | cedric    |  (mer. 01 mai 2013) | quand on cree un objet, prendre le premier statut declare si dispo, sinon prepa (plus generique)
+r20468 | cedric    |  (ven. 03 mai 2013) | Optimiser #PRODUIRE :- on ne reecrit le fichier que quand il change effectivement en passant par un fichier intermediaire .last (evite le renouvellement inutile des timestamp, qui produisent des feuilles compilees inutilement)- quand on reecrit le fichier il faut appeler clearstatcache() sur ce fichier, sinon PHP ressert le vieux timestamp jusqu'a la fin du hit, et il faut recharger 2 fois la page pour avoir la mise a jour(realet,ne0futur)
+r20476 | cedric    |  (ven. 03 mai 2013) | Ferme #2960 : comparer le nom du cookie avant remplacement du prefixe pour determiner httponly
+r20477 | cedric    |  (ven. 03 mai 2013) | ferme #2877 : r19544 avait mal interprete le test sur le define, qui sert a interdire l'utilisation de CONVERT ou PBM, pas a l'autoriser
+r20478 | cedric    |  (ven. 03 mai 2013) | Ferme #2912 : ne pas casser un critere {annee=2013} sur une table avec un champ année+ notice PHP potentielle
+r20479 | rasta     |  (ven. 03 mai 2013) | L'icône d'un objet peut avoir été déclarée explicitement, donc c'est cette info qu'on utilise.
+r20481 | cedric    |  (ven. 03 mai 2013) | Ferme #2953 : puce dans le plan de site
+r20482 | cedric    |  (ven. 03 mai 2013) | Ferme #2949. Report de r20232 r20233 r20235 r20236 : support de IF NOT EXISTS en fonction de la bonne version de SQLite
+r20484 | denisb    |  (lun. 06 mai 2013) | chercher_rubrique.php : accessibilité ; ajouter un alt explicite sur la loupe qui affiche la liste des rubriques ; ajout de la chaîne de langue correspondante (résout #2990).
+r20486 | fil       |  (lun. 06 mai 2013) | profiler les boucles dans tmp/profiler.log si leur temps de calcul depasse un certain seuil (a fixer avec define('_BOUCLE_PROFILER', 5000); par exemple pour 5 secondes).report de http://zone.spip.org/trac/spip-zone/changeset/72578
+r20488 | fil       |  (lun. 06 mai 2013) | report de [20483] : si un login n'existe pas, plutot que de piocher les infos sur un autre login (au risque de fournir la photo d'un auteur sans lien lorsqu'on se trompe dans son email), inventer une reponse credible a base de secret_du_site(), de la date du jour, et du login
+r20489 | fil       |  (lun. 06 mai 2013) | ajouter un debug utile dans log/mysql-slow.log ; avec {{{define('_DEBUG_SLOW_QUERIES', true);}}} dans mes_optionsreport de [20487]
+r20490 | denisb    |  (mar. 07 mai 2013) | suite de r20484 : soyons plus générique, le sélecteur peut servir pour autre chose que des rubriques.
+r20494 | cedric    |  (mar. 07 mai 2013) | Articles virtuels : faire une redirection propre via la fonction redirige_par_entetes(), qui explicite le status 302 par defaut (il etait indetermine dans le code precedent).La constante _STATUS_REDIRECTION_VIRTUEL permet par ailleurs de personaliser ce status en le passant en 301 systématique par exemple.
+r20495 | denisb    |  (mar. 07 mai 2013) | inc/actions.php : Le paramètre optionnel "public", forçant la construction d'URL dans l'espace public, apparu dans generer_action_auteur lors de r12798 et r13014, doit être aussi proposé dans la redirige_action_auteur qui appelle celle-ci, autrement ça oblige à la réécrire à chaque fois.. report de r20462 (esj)
+r20497 | denisb    |  (mar. 07 mai 2013) | inc/actions.php : oupsss. report du oupsss  r20463 (esj)
+r20499 | b_b       |  (mer. 08 mai 2013) | report de r20498 : icône cfg en 24px, ferme #2992
+r20509 | cedric    |  (sam. 11 mai 2013) | ferme #2913 : zone clicable sur l'icone "Modifier ce.." lorsque la configuration des urls est activée
+r20512 | cedric    |  (sam. 11 mai 2013) | Ferme #2910 : quand l'url courante est profonde (url arbo) les redirections relatives étaient ambigues.Il se trouve que le Location était "souvent" bien interprété sur les forums mais c'était un coup de chance et foirait dans d'autres cas. Le lien http fournit dans le HTML était lui toujours mal interprété.On lève l'ambiguité en transformant en url absolue dès que la profondeur courante est supérieure à la normale et que l'url de redirection est relative. Il faudrait généraliser ce passage en absolu en branche 3.1
+r20515 | cedric    |  (dim. 12 mai 2013) | chaine de langue manquante sur l'upgrade des plugins
+r20516 | cedric    |  (dim. 12 mai 2013) | Ferme #2948 : quand une rubrique est selectionnée, il faut l'afficher dans le select, même si on a pas le droit d'y déplacer un article
+r20518 | denisb    |  (dim. 12 mai 2013) | typographie/fr.php : ne pas ajouter d'insécable devant : si ce : est suivi de : (cas des adresses ipv6). résout #2931
+r20519 | cedric    |  (dim. 12 mai 2013) | Ferme #2804 : les post AJAX sur un site iso-truc sont présumés en utf et importés dans le charset local par _request(). Mais ce n'est pas forcément le cas et le test de la preg n'est pas fiable, ce qui supprime des accents bien encodés a tort. On complète le test par un is_utf8() plus fiable ce qui résoud mon cas test sur edition d'un document, titre : "titre avé un accent"A noter que le bug n'était pas systématique sur un même site (certains post passant sans problème, d'autres non). Cela peut venir du type de formulaire qui est posté parfois par une iframe en cas d'upload.
+r20520 | cedric    |  (lun. 13 mai 2013) | #2999 et http://forum.spip.net/fr_247990.html : liste plus exhaustive et complete des UA des bots, car ceux qu'on laisse passer faussent les stats (surestimées)  Source : commentaires en bas de http://wanderr.com/jay/detect-crawlers-with-php-faster/2009/04/08/ (version optimisée/factorée, on ne garde que les UA qui ne matchent pas les mots-clés génériques en début de liste)
+r20521 | cedric    |  (lun. 13 mai 2013) | et incrémenter l'écran
+r20522 | ben       |  (mar. 14 mai 2013) |  ferme #3003
+r20523 | cedric    |  (mar. 14 mai 2013) | #2999 : la definition de _IS_BOT par le core est un fall-back si l'ecran de securite n'a pas ete appelé. C'est la definition de l'ecran, plus a jour, qui est prioritaire.
+r20525 | denisb    |  (ven. 17 mai 2013) | prive/formulaires/login.html : ajout de la variable lang dans le lien vers le formulaire de rappel du mot de passe. ferme #3005
+r20529 | denisb    |  (ven. 17 mai 2013) | prive/spip_pass.html : report de r20528 (suite de r20526)
+r20531 | denisb    |  (sam. 18 mai 2013) | prive/squelettes/inclure/head.html : report de r20530 - ne pas casser l'affichage du plan de site dans le privé.
+r20534 | cedric    |  (lun. 20 mai 2013) | Ferme #3002 : lorsque la table des rubriques est mal formée et contient une branche morte ou une reference circulaire dans les parents, la fonction propager_les_secteurs() tourne en boucle infinie.Correction :- proteger de ce risque par un maxiter initialisé par le nombre de rubriques de la table- revoir l'algo de mise a jour en procedant de proche en proche, par profondeur croissante et non pas "tant qu'il y a une rubrique mal rangee".Cela permet de plus de detecter le cas d'une table rubrique mal formee et de produire un log en consequence
+r20535 | cedric    |  (mar. 21 mai 2013) | complement a r20534 : optimiser les updates en les faisant par groupe de rubriques de meme secteur poser un id_secteur=0 sur toutes les rubriques hors hierarchie si il y en a (references circulaires, parents qui n'existent plus)
+r20536 | cedric    |  (mar. 21 mai 2013) | Ferme #3004 : se proteger des references circulaires dans la table des rubriques dans la boucle HIERARCHIEPlutot qu'un code specifique, on utilise la fonction generique calcul_hierarchie_in() que l'on modifie pour tenir compte de ce cas limite. Pour etre homogene, on inverse l'ordre des rubriques qu'elle renvoie.
+r20538 | ben       |  (mar. 21 mai 2013) | Langues (pre 3.0.9)
+r20539 | ben       |  (mar. 21 mai 2013) | preparation SPIP 3.0.9
+r20540 | cedric    |  (mer. 22 mai 2013) | Inscription d'un auteur : le commentaire dit "Si mode inconnu laisser faire, c'est une extension non std", mais passer quand meme par une autorisation, qui par défaut sera a false (puisque l'auteur est non connu, donc non identifié, il n'a aucun droit par defaut).Il suffit que autoriser("inscrireauteur","xxx") renvoie true pour permettre l'inscription d'un auteur avec le statut xxx
+r20544 | cedric    |  (mer. 22 mai 2013) | Revert de r20389 car TIMESTAMPDIFF pas supporte par Mysql 4.x, on garde l'optimisation dans la branche 3.1
+r20545 | cedric    |  (mer. 22 mai 2013) | si on utilise un plugin avec 'use strict mode;' $.ajax plante dedans car .caller n'est pas disponible. Proteger avec un try.catch
+r20547 | marcimat  |  (mer. 22 mai 2013) | Report de r20546 : La fonction «concat» de sql peut avoir plus de 2 arguments. Indiquons cela aussi à SQLite.
+r20562 | cedric    |  (ven. 24 mai 2013) | Report adapté de r20552, r20555 et r20560 : deleguer dans tous les cas l'autorisation de s'inscrire à autoriser("inscrireauteur",$mode,$id), Mais si aucun mode n'est fourni sur le #FORMULAIRE_INSCRIPTION, on choisit le meilleur possible parmi 1comite ou 6forum.
+r20568 | ben       |  (ven. 24 mai 2013) | report de lang
+
+SPIP-plugins-dist spip-3.0.8 -> spip-3.0.9  24 mai 2013
+-------------------------------------------------------------
+r72198 | kent1     |  (sam. 20 avril 2013) | report de z72197Permettre à un plugin utilisant les révisions à spécifier les labels des champs sous révision via un nouveau pipeline "revisions_chercher_label"La valeur par défaut sera toujours la même qu'auparavantVersion 1.7.4
+r72205 | kent1     |  (sam. 20 avril 2013) | Report de z72204Déplacement du fichier depuis le core, il n'est utile que via ce plugin
+r72287 | suske     |  (mer. 24 avril 2013) | Aérer la navigation dans la thickbox (permet d'avoir plus de 100 images). Ferme http://core.spip.org/issues/2983 . Report de r72286
+r72335 | kent1     |  (jeu. 25 avril 2013) | Report de z72334Ajout de la prise en compte de l'extension ".tar"Version 2.7.45Version de schéma 1.2.4
+r72422 | cedric    |  (lun. 29 avril 2013) | eviter un notice/warning
+r72555 | cedric    |  (ven. 03 mai 2013) | Ferme http://core.spip.org/issues/2955 : certains criteres ne se compilent pas bien {logo}, {recherche}... les ajouters aux exceptions+ utiliser #CHAMP_SQL{} systématiquement pour eviter homonymie malheureuse
+r72557 | cedric    |  (ven. 03 mai 2013) | Ferme #2912 : ne pas casser un critere {annee=2013} sur une table avec un champ année
+r72562 | cedric    |  (ven. 03 mai 2013) | clear_stat_cache pour que le timestamp soit a jour dans la page construite dans ce hit
+r72609 | denisb    |  (mar. 07 mai 2013) | signature.html : permettre aux pétitions de bénéficier d'un permalink pour s'y retrouver malgré les paginations
+r72715 | cedric    |  (ven. 10 mai 2013) | Lisibilité et ergo des statistiques (Tetue)- echelle axe des Y à droite (près des mesures les plus récentes)- legende en dessous des graphes, en ligne- Titre en fer a gauche, regroupé avec les actions de pagination- graphe des mois depuis l'origine du site par defaut (graphe des jours inchangé sur 90jours)- axe des X : date humainement lisible (15 janvier au lieu de 15/01/2013)- eviter les effets de gradients sur les barres ça gene le lisibilité. On met en plein avec une très légere transparence pour ne presque pas distinguer border et background- le gris des weekend était a peine visible sur certains ecrans, on le fonce- la barre des changement d'année est de largeur 1 mois sur le graphe des mois- ne pas masquer l'explication car elle n'est pas visible- hierarchie de l'info dans le tableau des résumésUn peu de refactoring js en utilisant closest('.graphique') au lieu d'enchainer les .parent() qui rendent le code peu robuste
+r72716 | cedric    |  (ven. 10 mai 2013) | Lisibilité et ergo des statistiques- page des referers : reduire la largeur de la colonne gauche pour eviter cette impression de texte centré  (Tetue)- mettre la miniature en float:right, et reduire sa taille
+r72717 | cedric    |  (ven. 10 mai 2013) | Lisibilité et ergo des statistiques : reparer l'affichage de la repartition par rubrique qui etait tout cassé car construit avec des table dans des tables dans des tables... heritant toutes des styles par defaut (Tetue)
+r72733 | cedric    |  (sam. 11 mai 2013) | http://core.spip.org/issues/2889 :Certaines dates de flux ont formatees dans la langue du flux et non en anglais. On essaye de remplacer le nom des mois par le nom anglais pour interpreter la dateCertaines dates finissent par UT au lieu de UTC qui bloque la conversion par strtotime, on corrige si necessaireQuand on a pas reussi a lire la date, il faut forcer a la date du jour et pas laisser 1970
+r72744 | cedric    |  (sam. 11 mai 2013) | Reparer la largeur totale de la barre dans les sous rubriques : elle reprend la largeur correspondant au nombre de visites de la branche parente+ ajustements de style sur la page
+r72763 | cedric    |  (dim. 12 mai 2013) | mise a jour de la librairie Minify_HTML
+r72767 | cedric    |  (dim. 12 mai 2013) | Ferme https://core.spip.org/issues/2787 : la librairie Minify_HTML note en TODO qu'elle doit prendre en compte les attributs avec multiples retour ligne. En attendant une solution générale, on echappe les <input> pour ne pas fausser ce qui est posté en hidden lors de la previsu
+r72774 | denisb    |  (dim. 12 mai 2013) | textwheel : ne pas ajouter d'insécable devant : si ce : est suivi de : (cas des adresses ipv6).
+r72909 | kent1     |  (mar. 21 mai 2013) | Indentation
+r72917 | cedric    |  (mar. 21 mai 2013) | http://core.spip.org/issues/3004 : se proteger des references circulaires dans les rubriques lorsqu'on stylise (et on protege avec une profondeur maxi de 10000 dans tous les cas)
+r72918 | cedric    |  (mar. 21 mai 2013) | nettoyer_raccourcis_typo() supprime les raccourcis d'ancres
+r72925 | ben       |  (mar. 21 mai 2013) | Langues (pre 3.0.9)
+r72967 | b_b       |  (jeu. 23 mai 2013) | report de r72966 : déjà retrouve ses accents
+r72978 | cedric    |  (ven. 24 mai 2013) | Comme pour apple-touch-icon, pousser dans le cache stocké au format texte du binaire issu d'un fichier image est perilleux et casse parfois. On remplace par un readfile PHP.
+r72982 | cedric    |  (ven. 24 mai 2013) | Report adapté de r20552, r20555 et r20560 : deleguer dans tous les cas l'autorisation de s'inscrire à autoriser("inscrireauteur",$mode,$id), Mais si aucun mode n'est fourni sur le #FORMULAIRE_INSCRIPTION, on choisit le meilleur possible parmi 1comite ou 6forum.Complément à http://core.spip.org/projects/spip/repository/revisions/20562
+r72983 | cedric    |  (ven. 24 mai 2013) | oups erreur dans r72982, je revert a la version precedente
+r72987 | ben       |  (ven. 24 mai 2013) | report de lang
+
+
+SPIP-Core spip-3.0.7 -> spip-3.0.8  17 avril 2013
+-------------------------------------------------------------
+r20355 | cedric    |  (sam. 23 mars 2013)  | 1sReport oublie et tardif de r15574 : nettoyer_uri() cache son resultat dans une static. On introduit un argument permettant de la reseter a une valeur fournieurl_de_base() cache son resultat dans un tableau static, indexe en fonction de la globale profondeur_url :on introduit un argument  qui permet :- en passant une valeur entiere, de calculer l'url pour cette profondeur- en passant un array(), de reinitialiser la static en cache a cette valeur- en passant false, de recuperer la staticsi aucune valeur n'est fournie, c'est la globale profondeur_url qui est utilisee, comme auparavant.Ces deux modifications permettent de sauvegarder/restaurer le contexte de l'url dans laquelle une page est calculee (pour un calcul differe)+ PHPDoc sur les deux fonctions
+r20359 | suske     |  (mer. 27 mars 2013)  | report de 20358 - le rédac ne peut plus mettre une redirection quand l'article est publié
+r20361 | suske     |  (mer. 27 mars 2013)  | report de 20360
+r20363 | suske     |  (mer. 27 mars 2013)  | report de 20362 - pfff
+r20365 | b_b       |  (mer. 27 mars 2013)  | report de r20364 : indentation
+r20367 | guytarr   |  (mer. 27 mars 2013)  | report de r20366 (chankalan)
+r20369 | kent1     |  (mer. 27 mars 2013)  | report de r20368On met à jour, on n'installe pas si on a déjà une meta du même nomC'est un peu moins ambigue du genre "Installation réussie" pour un plugin qui est là depuis 2 ans alors qu'il est juste mis à jour
+r20378 | cedric    |  (ven. 29 mars 2013)  | optimisation des ecritures disque : pour les bots on utilise tous les caches disponibles même si périmés, et quand il faut calculer un cache on ne l'écrit pas sur le disque (cela évite de générer un flux d'écriture pour des caches qui ne servent pas aux vrais visiteurs, et cela évite aussi de faire gonfler les caches de manière deraisonable)
+r20388 | cedric    |  (ven. 29 mars 2013)  | Suport SQLite de la fonction mysql TIMESTAMPDIFFhttps://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampdiff
+r20389 | cedric    |  (ven. 29 mars 2013)  | Optimisation du critere {age} : utiliser la fonction SQL TIMESTAMPDIFF plutot qu'une expression compliquee. On doit pouvoir optimiser aussi les xxx_relatifs mais c'est à creuser
+r20390 | marcimat  |  (ven. 29 mars 2013)  | Autoriser `#_contenu_article:LESAUTEURS` lorsqu'on demande les auteurs d'une boucle parente.
+r20392 | kent1     |  (ven. 29 mars 2013)  | On est en 3.0.7 maintenantDéclaration du pipeline traduire appelé dans le formulaire prive/traduire.php (http://core.spip.org/projects/spip/repository/entry/branches/spip-3.0/prive/formulaires/traduire.php#L73)Du coup encore une raison de logguer moins ;)
+r20397 | denisb    |  (lun. 01 avril 2013) | debusquer.php : ôter le tableau des erreurs par un clic sur sa barre de titre. résout #2968.
+r20400 | cedric    |  (mar. 02 avril 2013) | simplification de jour_relatif : la fonction SQL TO_DAYS donne exactement le bon resultat, inutile d'y ajouter un calcul basé sur le mois et l'année qui donne un résultat approximatif dès que les dates sont à cheval sur des mois différents.
+r20401 | denisb    |  (mer. 03 avril 2013) | debusquer.php : cosmétique (apparition du 'toogle-bug') ; r20397 cassait la navigation du var_profile : on répare.
+r20402 | denisb    |  (mer. 03 avril 2013) | tracer.php, spip_admin.css : suite (indispensable) de r20401.
+r20404 | denisb    |  (jeu. 04 avril 2013) | debusquer.php :- on revient sur l'utilisation de jQuery qui n'est pas toujours fonctionnelle.- highlight_string ne pose plus de tags obsolètes en PHP5.- un peu de cosmétique.
+r20406 | denisb    |  (lun. 08 avril 2013) | ecrire/inc/filtres.php : on ajoute subrepticement un troisième argument à la fonction appliquer_filtre. si ce troisième argument est fourni et que la fonction ne trouve pas le filtre demandé, elle renvoit quand même la balise non filtrée.si ce troisième argument n'est pas fourni (par défaut) et que la fonction ne trouve pas le filtre demandé, elle ne renvoit rien (compatibilité avec l'utilisation actuelle).
+r20408 | b_b       |  (mar. 09 avril 2013) | report des commentaires de r20243
+r20410 | marcimat  |  (mar. 09 avril 2013) | Coquille dans r18955 : créer un index nécessite le mot clé 'INDEX', pas seulement 'ADD'.
+r20416 | suske     |  (dim. 14 avril 2013) | report de 18952 - il y a environ un an: Pouvoir appeler la fonction Bouton_spip_rss en lui précisant l'info-bulle
+r20419 | ben       |  (mer. 17 avril 2013) | report de langues Pre 3.0.8
+
+SPIP-plugins-dist spip-3.0.7 -> spip-3.0.8  17 avril 2013
+-------------------------------------------------------------
+r71097 | guytarr   |  (mar. 26 mars 2013)  | report de r71094 et r71096 (Suske, denisb)
+r71135 | kent1     |  (mer. 27 mars 2013)  | Report de r71134Ne pas pouvoir ajouter des libs dans _DIR_LIB si on n'est pas autorisé à "plugins_ajouter"Bien éviter l'affichage des boutons d'ajouts dans le formulaireVersion 0.80.13 (par contre)
+r71263 | guytarr   |  (ven. 29 mars 2013)  | include manquant (_Eric_)
+r71267 | guytarr   |  (ven. 29 mars 2013)  | collecter_request vidait $c, du coup on avait plus d'objet pour forum_insert_statut et seule la configuration globale du site était prise en compte, ce qui ennuyait Suske.
+r71270 | guytarr   |  (ven. 29 mars 2013)  | r71263 n'est pas utile et ne resout rien, on vire (bis)
+r71272 | rasta     |  (ven. 29 mars 2013)  | Tester si le parent a bien une URL non-vide avant de concaténer, sinon on se retrouve avec une URL ayant un "/" *devant*. Ce qui produit des bugs sur les installations en sous-dossier.Par contre je n'ai pas compris pourquoi il y a un traitement différent entre parent "null" et parent "0".
+r71391 | kent1     |  (lun. 01 avril 2013) | Report de r71390Evitera de faire parler les logs
+r71394 | kent1     |  (lun. 01 avril 2013) | Report de r71392Evitera de faire parler les logs
+r71396 | kent1     |  (lun. 01 avril 2013) | Report de r71395Donner une action vide aux pipelines internes du pluginEvitera de faire parler les logsversion 0.4.11
+r71398 | kent1     |  (lun. 01 avril 2013) | Report de r71397Donner une action vide aux pipelines internes du pluginEvitera de faire parler les logs
+r71408 | teddy     |  (lun. 01 avril 2013) | Report de c68328
+r71453 | kent1     |  (mar. 02 avril 2013) | Report de z71452Si c'est une lib ce n'est pas _DIR_PLUGINS_AUTO mais _DIR_LIB et avoir un plugin non activable à cause d'une lib mise à jour et plugin mis à jour autrement que via svp c'est un peu nulversion 0.80.14
+r71578 | denisb    |  (jeu. 04 avril 2013) | controler_forum.html, controler_petition.html : le filtre 'minifier' est une fonction fournie par le plugin 'compresseur' (qui n'est pas en necessite) ; s'il n'est pas disponible, on s'en passe. résout #2971
+r71579 | denisb    |  (jeu. 04 avril 2013) | petitions : ajout (et utilisation) d'un item de langue.
+r71661 | b_b       |  (ven. 05 avril 2013) | report de r65256 : ft_tu n'est pas une langue (taffit)
+r71662 | b_b       |  (ven. 05 avril 2013) | report de r65257 : ft_tu n'est pas une langue (taffit)
+r71704 | denisb    |  (sam. 06 avril 2013) | medias,portfolio-documents.html : cette action (définitive) mérite bien une confirmation !  (http://forum.spip.net/fr_251453.html)
+r71757 | kent1     |  (lun. 08 avril 2013) | Pourquoi imposer un mode document ou choix pour l'upload ftp alors que l'on veut juste ne pas le montrer lorsque le mode est image ou vignette.En gros ce commit permet d'avoir la partie ftp pour des modes pas forcément par défaut dans SPIP (conversions ...)
+r71758 | kent1     |  (lun. 08 avril 2013) | Indentation et utilisation similaire un peu partout des {} (ok on n'a pas de conventions de code mais bon)
+r71768 | kent1     |  (lun. 08 avril 2013) | Indentation et espaces
+r71771 | kent1     |  (lun. 08 avril 2013) | Répertoire vide
+r71772 | kent1     |  (lun. 08 avril 2013) | Répertoires vides
+r71775 | kent1     |  (lun. 08 avril 2013) | Répertoires vides finalisés (David Prévot)
+r71777 | kent1     |  (lun. 08 avril 2013) | Pas nécessaire
+r71779 | kent1     |  (lun. 08 avril 2013) | Un petit incrément du coup
+r71782 | kent1     |  (lun. 08 avril 2013) | On a déjà du mal avec nos propres tests... on va pas se tapper ceux des autres
+r71783 | denisb    |  (lun. 08 avril 2013) | controler_forum, controler_petition : prise en compte de la nouvelle écriture de appliquer_filtre (http://core.spip.org/projects/spip/repository/revisions/20406). résout (enfin) http://core.spip.org/issues/2972.
+r71789 | kent1     |  (lun. 08 avril 2013) | ne pas utiliser / pour les délimiteurs pour éviter un bug sur les /
+r71848 | marcimat  |  (mar. 09 avril 2013) | Sur les traces de http://core.spip.org/projects/spip/repository/revisions/20410 , ajouter un index nécessite ADD INDEX, pas seulement ADD.
+r72003 | b_b       |  (sam. 13 avril 2013) | report de r72002 : afficher le nom du jour dans le title des barres du graph de visites par jour
+r72031 | b_b       |  (dim. 14 avril 2013) | report de r72030 : #2963 toujours, fermer la balise rss pour avoir un flux valide
+r72033 | b_b       |  (dim. 14 avril 2013) | report de r72032 : http://core.spip.org/issues/2963 jointure sur la table auteurs pour bien renseigner dc:creator dans le flux
+r72035 | b_b       |  (dim. 14 avril 2013) | report de r72034 : http://core.spip.org/issues/2976 un rédacteur ne doit pas pouvroi créer d'annonce
+r72067 | marcimat  |  (mar. 16 avril 2013) | Report de r72066. Nom incorrect du fichier d'un compagnon, et en plus un var_dump trainait dedans.
+r72121 | ben       |  (mer. 17 avril 2013) | report de langues Pre 3.0.8
+r72123 | b_b       |  (mer. 17 avril 2013) | report de r72040 : tentons de fixer  http://core.spip.org/issues/2977 : mapper sur la bonne autorisation pour la supression de message + fix du critère destinataire pour ne pas afficher les messages de l'auteur dans sa boite de réception
+
 SPIP-Core spip-3.0.6 -> spip-3.0.7  22 mars 2013
 -------------------------------------------------------------
 
index 51e48df..63ee299 100644 (file)
@@ -5,7 +5,7 @@
  * ------------------
  */
 
-define('_ECRAN_SECURITE', '1.1.5'); // 8 mars 2013
+define('_ECRAN_SECURITE', '1.1.7'); // 24 mai 2013
 
 /*
  * Documentation : http://www.spip.net/fr_article4200.html
@@ -23,8 +23,12 @@ if (isset($_GET['test_ecran_securite']))
 if (!defined('_IS_BOT'))
        define('_IS_BOT',
                isset($_SERVER['HTTP_USER_AGENT'])
-               AND preg_match(',bot|slurp|crawler|spider|webvac|yandex|INA dlweb|EC2LinkFinder|80legs,i',
-                       (string) $_SERVER['HTTP_USER_AGENT'])
+               AND preg_match(
+           // mots generiques
+           ',bot|slurp|crawler|spider|webvac|yandex|'
+           // UA plus cibles
+           . '80legs|accoona|AltaVista|ASPSeek|Baidu|Charlotte|EC2LinkFinder|eStyle|Google|INA dlweb|Java VM|LiteFinder|Lycos|Rambler|Scooter|ScrubbyBloglines|Yahoo|Yeti'
+           . ',i',(string) $_SERVER['HTTP_USER_AGENT'])
        );
 
 /*
@@ -66,6 +70,14 @@ if (preg_match(',^(.*/)?spip_acces_doc\.,', (string)$_SERVER['REQUEST_URI'])) {
        $file = addslashes((string)$_GET['file']);
 }
 
+/*
+ * Pas d'inscription abusive
+ */
+if (isset($_REQUEST['mode']) AND isset($_REQUEST['page'])
+AND !in_array($_REQUEST['mode'],array("6forum","1comite"))
+AND $_REQUEST['page'] == "identifiants")
+       $ecran_securite_raison = "identifiants";
+
 /*
  * Agenda joue à l'injection php
  */
@@ -304,4 +316,4 @@ if (
 }
 
 
-?>
+?>
\ No newline at end of file
index cc5658f..7fcf0f4 100644 (file)
@@ -178,8 +178,14 @@ function objet_inserer($objet, $id_parent=null, $set=null) {
                $champs['langue_choisie'] = 'non';
        }
 
-       if (isset($desc['field']['statut']))
-               $champs['statut'] = 'prepa';
+       if (isset($desc['field']['statut'])){
+               if (isset($desc['statut_textes_instituer'])){
+                       $champs['statut'] = reset(array_keys($desc['statut_textes_instituer']));
+               }
+               else
+                       $champs['statut'] = 'prepa';
+       }
+
 
        if ((isset($desc['date']) AND $d=$desc['date']) OR isset($desc['field'][$d='date']))
                $champs[$d] = date('Y-m-d H:i:s');
index 6f0d22b..d7de112 100644 (file)
@@ -241,37 +241,16 @@ function creer_pass_pour_auteur($id_auteur) {
 }
 
 /**
- * Un filtre pour determiner le nom du mode des librement inscrits,
- * a l'aide de la liste globale des statuts (tableau mode => nom du mode)
- * Utile pour le formulaire d'inscription.
- * Si un mode est fourni, verifier que la configuration l'accepte.
- * Si mode inconnu laisser faire, c'est une extension non std
- * mais verifier que la syntaxe est compatible avec SQL
+ * @deprecated a virer en 3.1 car pas utilise dans les squelettes
  *
- * http://doc.spip.org/@tester_config
+ * voir l'autorisation correspondante
  *
  * @param string $statut_tmp
  * @return string
  */
 function tester_statut_inscription($statut_tmp){
-       $s = array_search($statut_tmp, $GLOBALS['liste_des_statuts']);
-       switch ($s) {
-
-       case 'info_redacteurs' :
-         return (($GLOBALS['meta']['accepter_inscriptions'] == 'oui') ? $statut_tmp : '');
-
-       case 'info_visiteurs' :
-         return (($GLOBALS['meta']['accepter_visiteurs'] == 'oui' OR $GLOBALS['meta']['forums_publics'] == 'abo') ? $statut_tmp : '');
-
-       default:
-         if ($statut_tmp AND $statut_tmp == addslashes($statut_tmp))
-           return $statut_tmp;
-         if ($GLOBALS['meta']["accepter_inscriptions"] == "oui")
-           return $GLOBALS['liste_des_statuts']['info_redacteurs'];
-         if ($GLOBALS['meta']["accepter_visiteurs"] == "oui")
-           return $GLOBALS['liste_des_statuts']['info_visiteurs'];
-         return '';
-       }
+       include_spip('inc/autoriser');
+       return autoriser('inscrireauteur', $statut_tmp) ? $statut_tmp : '';
 }
 
 
@@ -290,8 +269,10 @@ function confirmer_statut_inscription($auteur){
        // securite
        if ($auteur['statut'] != 'nouveau') return $auteur;
 
-       if (!($s = tester_statut_inscription($auteur['prefs'])))
+       include_spip('inc/autoriser');
+       if (!autoriser('inscrireauteur', $auteur['prefs']))
                return $auteur;
+       $s = $auteur['prefs'];
 
        include_spip('inc/autoriser');
        // accorder l'autorisation de modif du statut auteur
index 6a9e968..a76d287 100644 (file)
@@ -14,10 +14,17 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 
 include_spip('inc/cookie');
 
-// http://doc.spip.org/@action_logout_dist
+
+/**
+ * Se deloger
+ * Pour eviter les CSRF on passe par une etape de confirmation si pas de jeton fourni
+ * avec un autosubmit js pour ne pas compliquer l'experience utilisateur
+ *
+ * http://doc.spip.org/@action_logout_dist
+ *
+ */
 function action_logout_dist()
 {
-       global $visiteur_session, $ignore_auth_http;
        $logout =_request('logout');
        $url = securiser_redirect_action(_request('url'));
        // cas particulier, logout dans l'espace public
@@ -25,18 +32,41 @@ function action_logout_dist()
                $url = url_de_base();
 
        // seul le loge peut se deloger (mais id_auteur peut valoir 0 apres une restauration avortee)
-       if (is_numeric($visiteur_session['id_auteur'])) {
+       if (isset($GLOBALS['visiteur_session']['id_auteur']) 
+               AND is_numeric($GLOBALS['visiteur_session']['id_auteur'])
+               // des sessions anonymes avec id_auteur=0 existent, mais elle n'ont pas de statut : double check
+         AND isset($GLOBALS['visiteur_session']['statut'])) {
+
+               // il faut un jeton pour fermer la session (eviter les CSRF)
+               if (!$jeton = _request('jeton')
+                OR !verifier_jeton_logout($jeton,$GLOBALS['visiteur_session'])){
+                       $jeton = generer_jeton_logout($GLOBALS['visiteur_session']);
+                       $action = generer_url_action("logout","jeton=$jeton");
+                       $action = parametre_url($action,'logout',_request('logout'));
+                       $action = parametre_url($action,'url',_request('url'));
+                       include_spip("inc/minipres");
+                       include_spip("inc/filtres");
+                       $texte = bouton_action(_T('spip:icone_deconnecter'),$action);
+                       $texte = "<div class='boutons'>$texte</div>";
+                       $texte .= '<script type="text/javascript">document.write("<style>body{visibility:hidden;}</style>");window.document.forms[0].submit();</script>';
+                       $res = minipres(_T('spip:icone_deconnecter'),$texte,'',true);
+                       echo $res;
+                       return;
+               }
+
                include_spip('inc/auth');
-               auth_trace($visiteur_session, '0000-00-00 00:00:00');
+               auth_trace($GLOBALS['visiteur_session'], '0000-00-00 00:00:00');
        // le logout explicite vaut destruction de toutes les sessions
                if (isset($_COOKIE['spip_session'])) {
                        $session = charger_fonction('session', 'inc');
-                       $session($visiteur_session['id_auteur']);
+                       $session($GLOBALS['visiteur_session']['id_auteur']);
                        spip_setcookie('spip_session', $_COOKIE['spip_session'], time()-3600);
                }
                // si authentification http, et que la personne est loge,
                // pour se deconnecter, il faut proposer un nouveau formulaire de connexion http
-               if (isset($_SERVER['PHP_AUTH_USER']) AND !$ignore_auth_http AND $GLOBALS['auth_can_disconnect']) {
+               if (isset($_SERVER['PHP_AUTH_USER'])
+                       AND !$GLOBALS['ignore_auth_http']
+                       AND $GLOBALS['auth_can_disconnect']) {
                          ask_php_auth(_T('login_deconnexion_ok'),
                                       _T('login_verifiez_navigateur'),
                                       _T('login_retour_public'),
@@ -54,4 +84,47 @@ function action_logout_dist()
                : generer_url_public('login'));
 }
 
-?>
+/**
+ * Generer un jeton de logout personnel et ephemere
+ * @param array $session
+ * @param null|string $alea
+ * @return string
+ */
+function generer_jeton_logout($session,$alea=null){
+       if (is_null($alea)){
+               if (!isset($GLOBALS['meta']['alea_ephemere'])){
+                       include_spip('base/abstract_sql');
+                       $GLOBALS['meta']['alea_ephemere'] = sql_getfetsel('valeur', 'spip_meta', "nom='alea_ephemere'");
+               }
+               $alea = $GLOBALS['meta']['alea_ephemere'];
+       }
+
+       $jeton = md5($session['date_session']
+         .$session['id_auteur']
+         .$session['statut']
+         .$alea
+       );
+       return $jeton;
+}
+
+/**
+ * Verifier que le jeton de logout est bon
+ * il faut verifier avec alea_ephemere_ancien si pas bon avec alea_ephemere
+ * pour gerer le cas de la rotation d'alea
+ * @param string $jeton
+ * @param array $session
+ * @return bool
+ */
+function verifier_jeton_logout($jeton,$session){
+       if (generer_jeton_logout($session)===$jeton)
+               return true;
+       if (!isset($GLOBALS['meta']['alea_ephemere_ancien'])){
+               include_spip('base/abstract_sql');
+               $GLOBALS['meta']['alea_ephemere_ancien'] = sql_getfetsel('valeur', 'spip_meta', "nom='alea_ephemere_ancien'");
+       }
+       if (generer_jeton_logout($session,$GLOBALS['meta']['alea_ephemere_ancien'])===$jeton)
+               return true;
+       return false;
+}
+
+?>
\ No newline at end of file
index 7bc8f62..cdbdba5 100644 (file)
@@ -97,8 +97,7 @@ function auth_spip_formulaire_login($flux){
        // javascript qui gere la securite du login en evitant de faire circuler le pass en clair
        $flux['data'].=
          ($compat_md5?'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'md5.js"></script>':'')
-               . '<script type="text/javascript" src="'._DIR_JAVASCRIPT.'sha256.js"></script>'
-               .'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'login.js"></script>'
+               .'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'login-sha-min.js"></script>'
                .'<script type="text/javascript">/*<![CDATA[*/'
                ."var alea_actuel='".$flux['args']['contexte']['_alea_actuel']."';"
                ."var alea_futur='".$flux['args']['contexte']['_alea_futur']."';"
index c31e947..e7902f3 100644 (file)
@@ -41,8 +41,16 @@ function balise_FORMULAIRE_INSCRIPTION ($p) {
  */
 function balise_FORMULAIRE_INSCRIPTION_stat($args, $context_compil) {
        list($mode, $id) = $args;
-       $mode = tester_config($id, $mode);
-       return $mode ? array($mode, $id) : '';
+
+       include_spip('inc/autoriser');
+       if ($mode)
+               return autoriser('inscrireauteur', $mode, $id) ? array($mode, $id) : '';
+       elseif (
+                  autoriser('inscrireauteur', $mode = "1comite", $id)
+         OR autoriser('inscrireauteur', $mode = "6forum", $id))
+               return array($mode, $id);
+
+       return '';
 }
 
 ?>
index 8925056..cc9f967 100644 (file)
@@ -606,7 +606,7 @@ function sql_showbase($spip=NULL, $serveur='', $option=true)
 
        // la globale n'est remplie qu'apres l'appel de sql_serveur.
        if ($spip == NULL){
-               $connexion = $GLOBALS['connexions'][$serveur ? $serveur : 0];
+               $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
                $spip = $connexion['prefixe'] . '\_%';
        }
 
@@ -648,7 +648,7 @@ function sql_showtable($table, $table_spip = false, $serveur='', $option=true)
 
        // la globale n'est remplie qu'apres l'appel de sql_serveur.
        if ($table_spip){
-               $connexion = $GLOBALS['connexions'][$serveur ? $serveur : 0];
+               $connexion = $GLOBALS['connexions'][$serveur ? strtolower($serveur) : 0];
                $prefixe = $connexion['prefixe'];
                $vraie_table = preg_replace('/^spip/', $prefixe, $table);
        } else $vraie_table = $table;
index e28d5cc..526737c 100644 (file)
@@ -84,6 +84,7 @@ function lister_tables_objets_sql($table_sql=null, $desc=array()){
                                'info_nb_objets' => 'info_nb_articles',
                                'texte_logo_objet' => 'logo_article',
                                'texte_langue_objet' => 'titre_langue_article',
+                               'texte_definir_comme_traduction_objet' => 'trad_lier',
                                'titre' => 'titre, lang',
                                'date' => 'date',
                                'principale' => 'oui',
@@ -530,35 +531,36 @@ $tables_auxiliaires['spip_jobs_liens'] = array(
  * Auto remplissage des informations non explicites
  * sur un objet d'une table sql
  *
- * table_objet
- * table_objet_surnoms
- * type
- * type_surnoms
- * url_voir
- * url_edit
- * icone_objet
+ * table_objet
+ * table_objet_surnoms
+ * type
+ * type_surnoms
+ * url_voir
+ * url_edit
+ * icone_objet
  *
- * texte_retour
- * texte_modifier
- * texte_creer
- * texte_creer_associer
- * texte_ajouter
- * texte_objets
- * texte_objet
+ * texte_retour
+ * texte_modifier
+ * texte_creer
+ * texte_creer_associer
+ * texte_ajouter
+ * texte_objets
+ * texte_objet
  *
- * info_aucun_objet
- * info_1_objet
- * info_nb_objets
+ * info_aucun_objet
+ * info_1_objet
+ * info_nb_objets
  *
- * texte_logo_objet
- * texte_langue_objet
+ * - texte_logo_objet
+ * - texte_langue_objet
+ * - texte_definir_comme_traduction_objet
  *
- * principale
- * champs_contenu : utlise pour generer l'affichage par defaut du contenu
- * editable
- * champs_editables : utilise pour prendre en compte le post lors de l'edition
+ * principale
+ * - champs_contenu : utlisé pour générer l'affichage par défaut du contenu
+ * editable
+ * - champs_editables : utilisé pour prendre en compte le post lors de l'édition
  * 
- * champs_versionnes
+ * champs_versionnes
  *
  * statut
  * statut_images
@@ -567,10 +569,10 @@ $tables_auxiliaires['spip_jobs_liens'] = array(
  * texte_changer_statut
  * aide_changer_statut
  *
- * modeles : permet de declarer les modeles associes a cet objet
+ * modeles : permet de declarer les modeles associes a cet objet
  * 
- * les infos non renseignees sont auto deduites par conventions
- * ou laissees vides
+ * Les infos non renseignées sont auto-déduites par conventions
+ * ou laissées vides
  *
  * @param string $table_sql
  * @param array $infos
@@ -641,6 +643,9 @@ function renseigner_table_objet_sql($table_sql,&$infos){
                $infos['texte_logo_objet'] = $infos['type'].':'.'titre_logo_'.$infos['type'];
        if (!isset($infos['texte_langue_objet']))  // objet:texte_langue_objet "Langue de ce X"
                $infos['texte_langue_objet'] = $infos['type'].':'.'titre_langue_'.$infos['type'];
+       if (!isset($infos['texte_definir_comme_traduction_objet']))  // "Ce X est une traduction du X numéro :"
+               $infos['texte_definir_comme_traduction_objet'] = $infos['type'].':'.'texte_definir_comme_traduction_'.$infos['type'];
+
 
        // objet:info_aucun_objet
        if (!isset($infos['info_aucun_objet']))
index 717f8c8..dabed25 100644 (file)
@@ -36,11 +36,11 @@ function generer_action_auteur($action, $arg, $redirect = "", $mode = false, $at
 }
 
 // http://doc.spip.org/@redirige_action_auteur
-function redirige_action_auteur($action, $arg, $ret, $gra = '', $mode = false, $atts = ''){
+function redirige_action_auteur($action, $arg, $ret, $gra = '', $mode = false, $atts = '', $public = false) {
 
-       $r = _DIR_RESTREINT.generer_url_ecrire($ret, $gra, true, true);
+       $r = ($public ? _DIR_RESTREINT_ABS : _DIR_RESTREINT) .generer_url_ecrire($ret, $gra, true, $public);
 
-       return generer_action_auteur($action, $arg, $r, $mode, $atts);
+       return generer_action_auteur($action, $arg, $r, $mode, $atts, $public);
 }
 
 // http://doc.spip.org/@redirige_action_post
index ceb78f6..85877da 100644 (file)
@@ -1268,4 +1268,36 @@ function verifier_table_non_vide($table='spip_rubriques') {
                 $done[$table] = sql_countsel($table)>0;
        return $done[$table];
 }
+
+/**
+ * Une autorisation determiner la possibilite de s'inscire pour un statut et un id_rubrique,
+ * a l'aide de la liste globale des statuts (tableau mode => nom du mode)
+ * Utile pour le formulaire d'inscription.
+ * Par defaut, seuls 6forum et 1comite possibles, les autres sont en false
+ * pour un nouveau mode il suffit de definir l'autorisation specifique
+ *
+ * @param $faire
+ * @param $quoi
+ *   statut auteur demande
+ * @param $id
+ *   id_rubrique eventuel (pas utilise ici, utilise dans des usages persos)
+ * @param $qui
+ * @param $opt
+ * @return bool
+ */
+function autoriser_inscrireauteur_dist($faire, $quoi, $id, $qui, $opt){
+
+       $s = array_search($quoi, $GLOBALS['liste_des_statuts']);
+       switch ($s) {
+
+               case 'info_redacteurs' :
+                 return ($GLOBALS['meta']['accepter_inscriptions'] == 'oui');
+
+               case 'info_visiteurs' :
+                 return ($GLOBALS['meta']['accepter_visiteurs'] == 'oui' OR $GLOBALS['meta']['forums_publics'] == 'abo');
+
+       }
+
+       return false;
+}
 ?>
index 87b4a5c..04518c5 100644 (file)
@@ -96,7 +96,7 @@ function sous_menu_rubriques($id_rubrique, $root, $niv, &$data, &$enfants, $excl
                                $niv+1, $data, $enfants, $exclus, $restreint, $type);
 
        // si l'objet a deplacer est publie, verifier qu'on a acces aux rubriques
-       if ($restreint AND !autoriser('publierdans','rubrique',$root))
+       if ($restreint AND $root!=$id_rubrique AND !autoriser('publierdans','rubrique',$root))
                return $sous;
 
        // et voila le travail
@@ -216,7 +216,7 @@ function construire_selecteur($url, $js, $idom, $name, $init='', $id=0)
        . $url
        . "', this.parentNode.nextSibling, this.nextSibling,'',event)\"><img src='"
        . chemin_image($icone)
-       . "'\nstyle='vertical-align: middle;' alt=' ' /></a><img src='"
+       . "'\nstyle='vertical-align: middle;' alt='"._T('titre_image_selecteur')."' /></a><img src='"
        . chemin_image('searching.gif') 
        . "' id='img_"
        .  $idom
index 5648e26..e26ec32 100644 (file)
@@ -17,6 +17,9 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 //
 // http://doc.spip.org/@spip_setcookie
 function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='', $secure='') {
+       // liste des cookies en httponly (a passer en define si besoin)
+       $httponly = in_array($name, explode(' ', 'spip_session'));
+
        $name = preg_replace ('/^spip_/', $GLOBALS['cookie_prefix'].'_', $name);
        if ($path == 'AUTO')
                $path = defined('_COOKIE_PATH')?_COOKIE_PATH:preg_replace(',^\w+://[^/]*,', '', url_de_base());
@@ -25,9 +28,6 @@ function spip_setcookie ($name='', $value='', $expire=0, $path='AUTO', $domain='
 
        #spip_log("cookie('$name', '$value', '$expire', '$path', '$domain', '$secure', '$httponly'");
 
-       // liste des cookies en httponly (a passer en define si besoin)
-       $httponly = in_array($name, explode(' ', 'spip_session'));
-
        $a =
        ($httponly AND strnatcmp(phpversion(),'5.2.0') >= 0) ?
        @setcookie ($name, $value, $expire, $path, $domain, $secure, $httponly)
diff --git a/www/ecrire/inc/feedfinder.php b/www/ecrire/inc/feedfinder.php
deleted file mode 100644 (file)
index e632053..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-<?php
-
-if (!defined('_ECRIRE_INC_VERSION')) return;
-
-/**********************************
-adaptation en php de feedfinder.py :
-
-"""Ultra-liberal feed finder, de Mark Pilgrim
-<http://diveintomark.org/projects/feed_finder/>
-
-Par: courcy.michael@wanadoo.fr
-
-adaptation en php, je ne reprends qu'une partie de cette algorithme
-
-0) A chaque etape on verifie si les feed indiques sont reellement des feeds
-1) Si l'uri passe est un feed on retourne le resultat tout simplement
-2) Si le header de la page contient des balises LINK qui renvoient vers des feed on les retourne
-3) on cherche les liens <a> qui se termine par  ".rss", ".rdf", ".xml", ou ".atom"
-4) on cherche les liens <a> contenant "rss", "rdf", "xml", ou "atom"
-
-j'integre pas l'interrogation  avec xml_rpc de syndic8, mais on peut le faire assez facilement
-dans la phase de test sur differentes url je n'ai constate aucune diffrerence entre les reponses 
-donnees par feedfinder.py et les miennes donc je ne suis pas sur de voir l'interet
-
-Je ne me preoccupe pas comme l'auteur de savoir si mes liens de feed sont sur le meme serveur ou pas
-
-exemple d'utilisation
-
-print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
-
-on obtient
-
-Array
-(
-    [0] => http://willy.boerland.com/myblog/atom/feed
-    [1] => http://willy.boerland.com/myblog/blogapi/rsd
-    [2] => http://willy.boerland.com/myblog/rss.xml
-    [3] => http://willy.boerland.com/myblog/node/feed
-)
-
-*****************************************************************/
-
-$verif_complete = 0; //mettez le a 1 si vous voulez controler la validite des feed trouves mais le temps d'execution
-                     //est alors plus long
-
-//une fonction qui permet de si un lien est un feed ou nom, si c'est un feed elle retourne son type
-//si c'est pas un feed elle retourne 0, cette verification est evidemment tres tres legere
-// http://doc.spip.org/@is_feed
-function is_feed($url){
-
-       # methode SPIP
-       if (function_exists('recuperer_page')) {
-               $buffer = recuperer_page($url);
-               if (preg_match("/<(\w*) .*/", $buffer, $matches)){
-                //ici on detecte la premiere balise
-                $type_feed = $matches[1];
-                switch ($type_feed) {
-                       case "rss": return "rss";
-                       case "feed": return "atom";
-                       case "rdf": return "rdf";
-                }
-               }
-        return '';
-       }
-
-      $fp = @fopen($url, "r");
-      if (!$fp ) {
-           return 0;
-      }
-      //verifion la nature de ce fichier
-      while (!feof($fp)) {
-           $buffer = fgets($fp, 4096);
-           if (preg_match("/<(\w*) .*/", $buffer, $matches)){
-                //ici on detecte la premiere balise
-                $type_feed = $matches[1];
-                switch ($type_feed) {
-                       case "rss": fclose($fp); return "rss";
-                       case "feed": fclose($fp); return "atom";
-                       case "rdf": fclose($fp); return "rdf";
-                       default : fclose($fp); return 0;
-                }
-           }
-      }
-}
-
-/*****************test is_feed******************************
-echo is_feed("http://spip-contrib.net/backend" _EXTENSIO_PHP") . "<br />"; //retourne rss
-echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
-echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
-echo is_feed("http://willy.boerland.com/myblog/atom/feed") //retourne atom
-echo is_feed("http://spip.net/") . "<br />"; //retoune 0
-//pas trouver d'exmples avec rdf j'ai encore du mal a saisir ce que rdf apporte de plus que rss
-//mais bon j'ai pas aprofondi
-************************************************************/
-
-//fonction sans finesse mais efficace
-//on parcourt ligne par ligne a la recherche de balise <a> ou <link>
-//si dans le corps de celle-ci on trouve les mots rss, xml, atom ou rdf
-//alors on recupere la valeur href='<url>', on adapte celle-ci si elle
-//est relative et on verifie que c'est bien un feed si oui on l'ajoute
-//au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne 
-//un tableau vide
-// http://doc.spip.org/@get_feed_from_url
-function get_feed_from_url($url, $buffer=false){
-         global $verif_complete;
-         //j'ai prevenu ce sera pas fin
-         if (!preg_match("/^http:\/\/.*/", $url)) $url = "http://www." . $url;
-         if (!$buffer) $buffer = @file_get_contents($url);
-
-         $feed_list = array();
-         //extraction des <link>
-         if (preg_match_all("/<link [^>]*>/i", $buffer, $matches)){
-                    //y a t-y rss atom rdf ou xml dans ces balises
-                    foreach($matches[0] as $link){
-                      if (  strpos($link, "rss")
-                         || strpos($link, "rdf")
-                         || strpos($link, "atom")
-                         || strpos($link, "xml") ){
-                            //voila un candidat on va extraire sa partie href et la placer dans notre tableau
-                            if (preg_match("/href=['|\"]?([^\s'\"]*)['|\"]?/",$link,$matches2)){
-                                 //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
-                                 if (!preg_match("/^http:\/\/.*/", $matches2[1])){
-                                        $matches2[1] = concat_url($url,$matches2[1]);
-                                 }
-                                 if($verif_complete){
-                                        if (is_feed($matches2[1])) $feed_list[] = $matches2[1];
-                                 }else  $feed_list[] = $matches2[1];
-                            }
-                      }
-                    }
-                    //print_r($matches);
-         }
-         //extraction des <a>
-         if (preg_match_all("/<a [^>]*>/i", $buffer, $matches)){
-                    //y a t-y rss atom rdf ou xml dans ces balises
-                    foreach($matches[0] as $link){
-                       if (  strpos($link, "rss")
-                         || strpos($link, "rdf")
-                         || strpos($link, "atom")
-                         || strpos($link, "xml") ){
-                            //voila un candidat on va extraire sa partie href et la placer dans notre tableau
-                            if (preg_match("/href=['|\"]?([^\s'\"]*)['|\"]?/",$link,$matches2)){
-                                 //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
-                                 if (!preg_match("/^http:\/\/.*/", $matches2[1])){
-                                        $matches2[1] = concat_url($url,$matches2[1]);
-                                 }
-                                 if($verif_complete){
-                                        if (is_feed($matches2[1])) $feed_list[] = $matches2[1];
-                                 }else  $feed_list[] = $matches2[1];
-                            }
-                       }
-                    }
-         }
-         return $feed_list;
-}
-/************************************ getFeed ****************************
-print_r (get_feed_from_url("spip-contrib.net"));
-print_r (get_feed_from_url("http://liberation.fr/"));
-print_r (get_feed_from_url("cnn.com"));
-print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
-*****************************    Resultat *****************************************
-Array
-(
-    [0] => http://www.spip-contrib.net/backend.php
-)
-Array
-(
-    [0] => http://www.liberation.fr/rss.php
-)
-Array
-(
-    [0] => http://rss.cnn.com/rss/cnn_topstories.rss
-    [1] => http://rss.cnn.com/rss/cnn_latest.rss
-    [2] => http://www.cnn.com/services/rss/
-    [3] => http://www.cnn.com/services/rss/
-    [4] => http://www.cnn.com/services/rss/
-)
-Array
-(
-    [0] => http://willy.boerland.com/myblog/atom/feed
-    [1] => http://willy.boerland.com/myblog/blogapi/rsd
-    [2] => http://willy.boerland.com/myblog/rss.xml
-    [3] => http://willy.boerland.com/myblog/node/feed
-)
-************************************************************************/
-
-//petite fonction qui prend en charge les problemes de double slash
-//qunad on concatene les lien 
-// http://doc.spip.org/@concat_url
-function concat_url($url1, $path){
-       # methode spip
-       if(function_exists('suivre_lien')) {
-               return suivre_lien($url1,$path);
-       }
-        $url = $url1 . "/" . $path;
-        //cette operation peut tres facilement avoir genere // ou /// 
-        $url = str_replace("///", "/", $url);
-        $url = str_replace("//", "/", $url); 
-        //cas particulier de http://
-        $url = str_replace("http:/", "http://", $url);
-        return $url;
-}
-
-/****************************test concat**********************
-echo concat_url("http://spip.net" , "ecrire")."<br />";
-echo concat_url("http://spip.net/" , "ecrire")."<br />";
-echo concat_url("http://spip.net" , "/ecrire")."<br />";
-echo concat_url("http://spip.net/" , "/ecrire")."<br />";
-*************************************************************/
-
-
-
-
-?>
index 971b863..f1c2fc5 100644 (file)
@@ -68,11 +68,33 @@ function chercher_filtre($fonc, $default=NULL) {
        return $default;
 }
 
-// http://doc.spip.org/@appliquer_filtre
-function appliquer_filtre($arg, $filtre) {
+/**
+ * Applique un filtre
+ * 
+ * Fonction générique qui prend en argument l’objet (texte, etc) à modifier
+ * et le nom du filtre. Retrouve les arguments du filtre demandé dans les arguments
+ * transmis à cette fonction, via func_get_args().
+ *
+ * @see filtrer() Assez proche
+ * 
+ * @param string $arg
+ *     Texte sur lequel appliquer le filtre
+ * @param string $filtre
+ *     Nom du filtre a appliquer
+ * @param string $force
+ *     La fonction doit-elle retourner le texte ou rien ?
+ * @return string
+ *     Texte avec le filtre appliqué s'il a été trouvé,
+ *     Texte sans le filtre appliqué s'il n'a pas été trouvé et que $force n'a
+ *       pas été fourni,
+ *     Chaîne vide si le filtre n'a pas été trouvé et que $force a été fourni.
+**/
+function appliquer_filtre($arg, $filtre, $force=NULL) {
        $f = chercher_filtre($filtre);
-       if (!$f)
-               return ''; // ou faut-il retourner $arg inchange == filtre_identite?
+       if (!$f) {
+               if (!$force) return '';
+               else return $arg;
+       }
 
        $args = func_get_args();
        array_shift($args); // enlever $arg
@@ -1550,13 +1572,16 @@ function vider_attribut ($balise, $attribut) {
 
 /**
  * Un filtre pour determiner le nom du satut des inscrits
- * @param void $dummy
+ *
+ * @deprecated a virer en 3.1
+ *
+ * @param void|int $id
  * @param string $mode
  * @return string
  */
-function tester_config($dummy, $mode='') {
-       include_spip('action/inscrire_auteur');
-       return tester_statut_inscription($mode);
+function tester_config($id, $mode='') {
+       include_spip('inc/autoriser');
+       return autoriser('inscrireauteur', $mode, $id) ? $mode : '';
 }
 
 //
@@ -2995,10 +3020,12 @@ function produire_fond_statique($fond, $contexte=array(), $options = array(), $c
 
        // mettre a jour le fichier si il n'existe pas
        // ou trop ancien
+       // le dernier fichier produit est toujours suffixe par .last
+       // et recopie sur le fichier cible uniquement si il change
        if (!file_exists($filename)
-               OR (isset($cache['lastmodified']) AND $cache['lastmodified'] AND filemtime($filename)<$cache['lastmodified'])
-               OR (defined('_VAR_MODE') AND _VAR_MODE=='recalcul')) 
-       {
+               OR !file_exists($filename.".last")
+               OR (isset($cache['lastmodified']) AND $cache['lastmodified'] AND filemtime($filename.".last")<$cache['lastmodified'])
+               OR (defined('_VAR_MODE') AND _VAR_MODE=='recalcul')) {
                $contenu = $cache['texte'];
                // passer les urls en absolu si c'est une css
                if ($extension=="css")
@@ -3009,10 +3036,18 @@ function produire_fond_statique($fond, $contexte=array(), $options = array(), $c
                        $comment = "/* #PRODUIRE{fond=$fond";
                        foreach($contexte as $k=>$v)
                                $comment .= ",$k=$v";
-                       $comment .="} le ".date("Y-m-d H:i:s")." */\n";
+                       // pas de date dans le commentaire car sinon ca invalide le md5 et force la maj
+                       // mais on peut mettre un md5 du contenu, ce qui donne un aperu rapide si la feuille a change ou non
+                       $comment .="}\n   md5:".md5($contenu)." */\n";
                }
                // et ecrire le fichier
-               ecrire_fichier($filename,$comment.$contenu);
+               ecrire_fichier($filename.".last",$comment.$contenu);
+               // regarder si on recopie
+               if (!file_exists($filename)
+                 OR md5_file($filename)!==md5_file($filename.".last")){
+                       @copy($filename.".last",$filename);
+                       spip_clearstatcache(true,$filename); // eviter que PHP ne reserve le vieux timestamp
+               }
        }
        
        return $filename;
index 1735a43..0d7ae35 100644 (file)
@@ -359,9 +359,9 @@ function lien_article_virtuel($virtuel){
  * @param string $lang
  * @return string
  */
-function bouton_spip_rss($op, $args=array(), $lang='') {
+function bouton_spip_rss($op, $args=array(), $lang='', $title='RSS') {
        include_spip('inc/acces');
-       $clic = http_img_pack('rss-24.png', 'RSS', '', 'RSS');
+       $clic = http_img_pack('feed.png', 'RSS', '', $title);
        $args = param_low_sec($op, $args, $lang, 'rss');
        $url = generer_url_public('rss', $args);
        return "<a style='float: ".$GLOBALS['spip_lang_right'].";' href='$url'>$clic</a>";
index 271f662..b6c3677 100644 (file)
@@ -284,6 +284,16 @@ function spip_unlink($f) {
        }
 }
 
+/**
+ * clearstatcache adapte a la version PHP
+ * @param bool $clear_realpath_cache
+ * @param null $filename
+ */
+function spip_clearstatcache($clear_realpath_cache = false, $filename=null){
+       return (version_compare(PHP_VERSION, '5.3.0') >= 0)?
+               clearstatcache($clear_realpath_cache,$filename):clearstatcache();
+}
+
 /*
  * Suppression complete d'un repertoire.
  *
index efd818e..134106d 100644 (file)
@@ -20,7 +20,7 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 function redirige_par_entete($url, $equiv='', $status = 302) {
        if (!in_array($status,array(301,302)))
                $status = 302;
-       
+
        $url = trim(strtr($url, "\n\r", "  "));
        # en theorie on devrait faire ca tout le temps, mais quand la chaine
        # commence par ? c'est imperatif, sinon l'url finale n'est pas la bonne
@@ -28,6 +28,12 @@ function redirige_par_entete($url, $equiv='', $status = 302) {
                $url = url_de_base().$url;
        if ($url[0]=='#')
                $url = self('&').$url;
+       # si profondeur non nulle et url relative, il faut la passer en absolue
+       if ($GLOBALS['profondeur_url']>(_DIR_RESTREINT?1:2)
+               AND !preg_match(",^(\w+:)?//,",$url)){
+               include_spip("inc/filtres_mini");
+               $url = url_absolue($url);
+       }
 
        if ($x = _request('transformer_xml'))
                $url = parametre_url($url, 'transformer_xml', $x, '&');
index 532c34e..59a1707 100644 (file)
@@ -71,7 +71,7 @@ function fast_find_plugin_dirs($dir, $max_prof=100) {
        }
 
        foreach($subdirs as $d){
-               $fichiers = array_merge($fichiers,fast_find_plugin_dirs("$d/",--$max_prof));
+               $fichiers = array_merge($fichiers,fast_find_plugin_dirs("$d/",$max_prof-1));
        }
        return $fichiers;
 }
@@ -759,7 +759,7 @@ function plugin_installes_meta()
                                                  .boite_ouvrir(_T('plugin_titre_installation', array('plugin' => typo($infos['nom']))), ($ok ? 'success' : 'error'))
                                              .$trace
                                              ."<div class='result'>"
-                                             .($ok ? _T("plugin_info_install_ok") : _T("avis_operation_echec"))
+                                             .($ok ? ((isset($infos['upgrade']) && $infos['upgrade']) ? _T("plugin_info_upgrade_ok") : _T("plugin_info_install_ok")) : _T("avis_operation_echec"))
                                              ."</div>"
                                              .boite_fermer()
                                              ."</div>";
index 2eded09..e6ab01e 100644 (file)
@@ -281,24 +281,90 @@ function calculer_rubriques_publiees() {
  *
  * Cherche les rubriques ayant des id_secteur ou profondeurs ne correspondant pas
  * avec leur parent, et les met à jour. De même avec les articles et leur id_secteur
+ * On procede en iterant la profondeur de 1 en 1 pour ne pas risquer une boucle infinie sur reference circulaire
  * 
  * @return void
 **/
 function propager_les_secteurs()
 {
-       // fixer les id_secteur des rubriques racines
+       // Profondeur 0
+       // Toutes les rubriques racines sont de profondeur 0
+       // et fixer les id_secteur des rubriques racines
        sql_update('spip_rubriques', array('id_secteur'=>'id_rubrique','profondeur'=>0), "id_parent=0");
+       // Toute rubrique non racine est de profondeur >0
+       sql_updateq('spip_rubriques', array('profondeur'=>1), "id_parent<>0 AND profondeur=0");
+
+       // securite : pas plus d'iteration que de rubriques dans la base
+       $maxiter = sql_countsel("spip_rubriques");
 
        // reparer les rubriques qui n'ont pas l'id_secteur de leur parent
+       // on fait profondeur par profondeur
+
+       $prof = 0;
        do {
                $continuer = false;
-               $r = sql_select("A.id_rubrique AS id, R.id_secteur AS secteur, R.profondeur+1 as profondeur", "spip_rubriques AS A, spip_rubriques AS R", "A.id_parent = R.id_rubrique AND (A.id_secteur <> R.id_secteur OR A.profondeur <> R.profondeur+1)");
-               while ($row = sql_fetch($r)) {
-                       sql_update("spip_rubriques", array("id_secteur" => $row['secteur'],'profondeur' => $row['profondeur']), "id_rubrique=".$row['id']);
+
+               // Par recursivite : si toutes les rubriques de profondeur $prof sont bonnes
+               // on fixe le profondeur $prof+1
+
+               // Toutes les rubriques dont le parent est de profondeur $prof ont une profondeur $prof+1
+               // on teste A.profondeur > $prof+1 car :
+               // - toutes les rubriques de profondeur 0 à $prof sont bonnes
+               // - si A.profondeur = $prof+1 c'est bon
+               // - cela nous protege de la boucle infinie en cas de reference circulaire dans les rubriques
+               $maxiter2 = $maxiter;
+               while ($maxiter2--
+                       AND $rows = sql_allfetsel(
+                       "A.id_rubrique AS id, R.id_secteur AS id_secteur, R.profondeur+1 as profondeur",
+                       "spip_rubriques AS A JOIN spip_rubriques AS R ON A.id_parent = R.id_rubrique",
+                       "R.profondeur=".intval($prof)." AND (A.id_secteur <> R.id_secteur OR A.profondeur > R.profondeur+1)",
+                 "","R.id_secteur","0,100")){
+
+                       $id_secteur = null;
+                       $ids = array();
+                       while ($row = array_shift($rows)) {
+                               if ($row['id_secteur']!==$id_secteur){
+                                       if (count($ids))
+                                               sql_updateq("spip_rubriques", array("id_secteur" => $id_secteur,'profondeur' => $prof+1), sql_in('id_rubrique',$ids));
+                                       $id_secteur = $row['id_secteur'];
+                                       $ids = array();
+                               }
+                               $ids[] = $row['id'];
+                       }
+                       if (count($ids))
+                               sql_updateq("spip_rubriques", array("id_secteur" => $id_secteur,'profondeur' => $prof+1), sql_in('id_rubrique',$ids));
+               }
+
+
+               // Toutes les rubriques de profondeur $prof+1 qui n'ont pas un parent de profondeur $prof sont decalees
+               $maxiter2 = $maxiter;
+               while ($maxiter2--
+                       AND $rows = sql_allfetsel(
+                       "id_rubrique as id",
+                       "spip_rubriques",
+                       "profondeur=".intval($prof+1)." AND id_parent NOT IN (".sql_get_select("zzz.id_rubrique","spip_rubriques AS zzz","zzz.profondeur=".intval($prof)).")",'','','0,100')){
+                       $rows = array_map('reset',$rows);
+                       sql_updateq("spip_rubriques", array('profondeur' => $prof+2), sql_in("id_rubrique",$rows));
+               }
+
+               // ici on a fini de valider $prof+1, toutes les rubriques de prondeur 0 a $prof+1 sont OK
+               // si pas de rubrique a profondeur $prof+1 pas la peine de continuer
+               // si il reste des rubriques non vues, c'est une branche morte ou reference circulaire (base foireuse)
+               // on arrete les frais
+               if (sql_countsel("spip_rubriques","profondeur=".intval($prof+1))){
+                       $prof++;
                        $continuer = true;
                }
-       } while ($continuer);
-       
+       }
+       while ($continuer AND $maxiter--);
+
+       // loger si la table des rubriques semble foireuse
+       // et mettre un id_secteur=0 sur ces rubriques pour eviter toute selection par les boucles
+       if (sql_countsel("spip_rubriques","profondeur>".intval($prof+1))){
+               spip_log("Les rubriques de profondeur>".($prof+1)." semblent suspectes (branches morte ou reference circulaire dans les parents)",_LOG_CRITIQUE);
+               sql_update("spip_rubriques",array('id_secteur'=>0),"profondeur>".intval($prof+1));
+       }
+
        // reparer les articles
        $r = sql_select("A.id_article AS id, R.id_secteur AS secteur", "spip_articles AS A, spip_rubriques AS R", "A.id_rubrique = R.id_rubrique AND A.id_secteur <> R.id_secteur");
 
@@ -469,13 +535,15 @@ function calcul_branche_in($id) {
  * @see inc_calcul_hierarchie_in_dist()
  * @param string|int|array $id
  *     Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies
+ * @param bool $tout
+ *     inclure la rubrique de depart dans la hierarchie ou non
  * @return string
  *     Liste des identifiants séparés par des virgules,
  *     incluant les rubriques transmises et toutes leurs parentées
  */
-function calcul_hierarchie_in($id) {
+function calcul_hierarchie_in($id, $tout=true) {
        $calcul_hierarchie_in = charger_fonction('calcul_hierarchie_in','inc');
-       return $calcul_hierarchie_in($id);
+       return $calcul_hierarchie_in($id, $tout);
 }
 
 
@@ -506,13 +574,14 @@ function inc_calcul_branche_in_dist($id) {
        $branche = $r = $id;
 
        // On ajoute une generation (les filles de la generation precedente)
-       // jusqu'a epuisement
-       while ($filles = sql_allfetsel(
+       // jusqu'a epuisement, en se protegeant des references circulaires
+       $maxiter = 10000;
+       while ($maxiter-- AND $filles = sql_allfetsel(
                                        'id_rubrique',
                                        'spip_rubriques',
-                                       sql_in('id_parent', $r)." AND ". sql_in('id_rubrique', $r, 'NOT')
+                                       sql_in('id_parent', $r) ." AND ". sql_in('id_rubrique', $r, 'NOT')
                                        )) {
-               $r = join(',', array_map('array_shift', $filles));
+               $r = join(',', array_map('reset', $filles));
                $branche .= ',' . $r;
        }
 
@@ -532,11 +601,13 @@ function inc_calcul_branche_in_dist($id) {
  *
  * @param string|int|array $id
  *     Identifiant de la, ou des rubriques dont on veut obtenir les hierarchies
+ * @param bool $tout
+ *     inclure la rubrique de depart dans la hierarchie ou non
  * @return string
  *     Liste des identifiants séparés par des virgules,
  *     incluant les rubriques transmises et toutes leurs parentées
  */
-function inc_calcul_hierarchie_in_dist($id) {
+function inc_calcul_hierarchie_in_dist($id, $tout=true) {
        static $b = array();
 
        // normaliser $id qui a pu arriver comme un array, comme un entier, ou comme une chaine NN,NN,NN
@@ -545,14 +616,19 @@ function inc_calcul_hierarchie_in_dist($id) {
        if (isset($b[$id]))
                return $b[$id];
 
-       // Notre branche commence par la rubrique de depart
-       $hier = $id;
+       // Notre branche commence par la rubrique de depart si $tout=true
+       $hier = $tout?$id:"";
 
        // On ajoute une generation (les filles de la generation precedente)
-       // jusqu'a epuisement
-       while ($parents = sql_allfetsel('id_parent', 'spip_rubriques',sql_in('id_rubrique', $id))) {
+       // jusqu'a epuisement, en se protegeant des references circulaires
+       $maxiter = 10000;
+       while ($maxiter-- AND $parents = sql_allfetsel(
+                       'id_parent',
+                       'spip_rubriques',
+                       sql_in('id_rubrique', $id) ." AND ". sql_in('id_parent',$hier,'NOT')
+                 )) {
                $id = join(',', array_map('reset', $parents));
-               $hier .= ',' . $id;
+               $hier = $id.(strlen($hier)?','.$hier:'');
        }
 
        # securite pour ne pas plomber la conso memoire sur les sites prolifiques
index 3516e9d..03340b2 100644 (file)
@@ -239,8 +239,12 @@ function _request($var, $c=false) {
        AND isset($GLOBALS['meta']['charset'])
        AND $GLOBALS['meta']['charset'] != 'utf-8'
        AND is_string($a)
-       AND preg_match(',[\x80-\xFF],', $a)) {
-               include_spip('inc/charsets');
+       // check rapide mais pas fiable
+       AND preg_match(',[\x80-\xFF],', $a)
+       // check fiable
+       AND include_spip('inc/charsets')
+       AND is_utf8($a)
+       ) {
                return importer_charset($a, 'utf-8');
        }
 
@@ -377,14 +381,18 @@ function ancre_url($url, $ancre) {
        return $url . (strlen($ancre) ? '#'. $ancre : '');
 }
 
-//
-// pour le nom du cache, les types_urls et self
-//
-// http://doc.spip.org/@nettoyer_uri
-function nettoyer_uri()
+/**
+ * pour le nom du cache, les types_urls et self
+ * http://doc.spip.org/@nettoyer_uri
+ *
+ * @param string|null $reset
+ * @return string
+ */
+function nettoyer_uri($reset = null)
 {
        static $done = false;
        static $propre = '';
+       if (!is_null($reset)) return $propre=$reset;
        if ($done) return $propre;
        $done = true;
 
@@ -1197,20 +1205,32 @@ function test_valeur_serveur($truc) {
 //
 // Fonctions de fabrication des URL des scripts de Spip
 //
-
-// l'URL de base du site, sans se fier a meta(adresse_site) qui
-// peut etre fausse (sites a plusieurs noms d'hotes, deplacements, erreurs)
-// Note : la globale $profondeur_url doit etre initialisee de maniere a
-// indiquer le nombre de sous-repertoires de l'url courante par rapport a la
-// racine de SPIP : par exemple, sur ecrire/ elle vaut 1, sur sedna/ 1, et a
-// la racine 0. Sur url/perso/ elle vaut 2
-// http://doc.spip.org/@url_de_base
-function url_de_base() {
+/**
+ * l'URL de base du site, sans se fier a meta(adresse_site) qui
+ * peut etre fausse (sites a plusieurs noms d'hotes, deplacements, erreurs)
+ * Note : la globale $profondeur_url doit etre initialisee de maniere a
+ * indiquer le nombre de sous-repertoires de l'url courante par rapport a la
+ * racine de SPIP : par exemple, sur ecrire/ elle vaut 1, sur sedna/ 1, et a
+ * la racine 0. Sur url/perso/ elle vaut 2
+ * http://doc.spip.org/@url_de_base
+ *
+ * @param int|boo|array $profondeur
+ *    si non renseignee : retourne l'url pour la profondeur $GLOBALS['profondeur_url']
+ *    si int : indique que l'on veut l'url pour la prondeur indiquee
+ *    si bool : retourne le tableau static complet
+ *    si array : reinitialise le tableau static complet avec la valeur fournie
+ * @return string|array
+ */
+function url_de_base($profondeur=null) {
 
        static $url = array();
+       if (is_array($profondeur)) return $url = $profondeur;
+       if ($profondeur===false) return $url;
+
+       if (is_null($profondeur)) $profondeur = $GLOBALS['profondeur_url'];
 
-       if (isset($url[$GLOBALS['profondeur_url']]))
-               return $url[$GLOBALS['profondeur_url']];
+       if (isset($url[$profondeur]))
+               return $url[$profondeur];
 
        $http = (
                (isset($_SERVER["SCRIPT_URI"]) AND
@@ -1237,9 +1257,9 @@ function url_de_base() {
                }
        }
 
-       $url[$GLOBALS['profondeur_url']] = url_de_($http,$host,$GLOBALS['REQUEST_URI'],$GLOBALS['profondeur_url']);
+       $url[$profondeur] = url_de_($http,$host,$GLOBALS['REQUEST_URI'],$profondeur);
 
-       return $url[$GLOBALS['profondeur_url']];
+       return $url[$profondeur];
 }
 /**
  * fonction testable de construction d'une url appelee par url_de_base()
index 2d2d3bb..5fea50b 100644 (file)
@@ -59,17 +59,6 @@ if (!defined('_NOM_PERMANENTS_INACCESSIBLES')) define('_NOM_PERMANENTS_INACCESSI
 # le nom du repertoire des fichiers Permanents Accessibles par http://
 if (!defined('_NOM_PERMANENTS_ACCESSIBLES')) define('_NOM_PERMANENTS_ACCESSIBLES', "IMG/");
 
-/*
- * detecteur de robot d'indexation
- * utilise en divers endroits, centralise ici
- */
-if (!defined('_IS_BOT'))
-       define('_IS_BOT',
-               isset($_SERVER['HTTP_USER_AGENT'])
-               AND preg_match(',bot|slurp|crawler|spider|webvac|yandex|INA dlweb|EC2LinkFinder|80legs,i',
-                       $_SERVER['HTTP_USER_AGENT'])
-       );
-
 
 // Le nom du fichier de personnalisation
 if (!defined('_NOM_CONFIG')) define('_NOM_CONFIG', 'mes_options');
@@ -94,6 +83,16 @@ if (!defined('_ECRAN_SECURITE')
 AND @file_exists($f = _ROOT_RACINE . _NOM_PERMANENTS_INACCESSIBLES . 'ecran_securite.php'))
        include $f;
 
+/*
+ * detecteur de robot d'indexation
+ * utilise en divers endroits, centralise ici si l'ecran l'a pas deja fait
+ */
+if (!defined('_IS_BOT'))
+       define('_IS_BOT',
+               isset($_SERVER['HTTP_USER_AGENT'])
+               AND preg_match(',bot|slurp|crawler|spider|webvac|yandex|INA dlweb|EC2LinkFinder|80legs,i',
+                       $_SERVER['HTTP_USER_AGENT'])
+       );
 
 //
 // *** Parametrage par defaut de SPIP ***
@@ -216,17 +215,12 @@ $xml_indent = false;
 
 // Vignettes de previsulation des referers
 // dans les statistiques
-// 3 de trouves, possibilite de switcher
-// - Thumbshots.org: le moins instrusif, quand il n'a pas, il renvoit un pixel vide
-// - Girafa semble le plus complet, bicoz renvoit toujours la page d'accueil; mais avertissement si pas de preview
+// 2 de trouves, possibilite de switcher
 // - Alexa, equivalent Thumbshots, avec vignettes beaucoup plus grandes mais avertissement si pas de preview
 //   Pour Alexa, penser a indiquer l'url du site dans l'id.
 //   Dans Alexa, si on supprimer size=small, alors vignettes tres grandes
-// - On abandonne thumbshots.com qui demande une inscription et on passe sous apercite.fr en conservant exactement la même
-//   expression pour insérer l'url du site
+// - apercite.fr : on conserve exactement la même expression pour insérer l'url du site
 $source_vignettes = "http://www.apercite.fr/api/apercite/120x90/oui/oui/http://";
-// $source_vignettes = "http://open.thumbshots.org/image.pxf?url=http://";
-// $source_vignettes = "http://msnsearch.srv.girafa.com/srv/i?s=MSNSEARCH&r=http://";
 // $source_vignettes = "http://pthumbnails.alexa.com/image_server.cgi?id=www.monsite.net&size=small&url=http://";
 
 $formats_logos =  array ('gif', 'jpg', 'png');
@@ -296,7 +290,7 @@ $liste_des_authentifications = array(
 // pour specifier les versions de SPIP necessaires
 // il faut s'en tenir a un nombre de decimales fixe
 // ex : 2.0.0, 2.0.0-dev, 2.0.0-beta, 2.0.0-beta2
-$spip_version_branche = "3.0.7";
+$spip_version_branche = "3.0.10";
 // version des signatures de fonctions PHP
 // (= numero SVN de leur derniere modif cassant la compatibilite et/ou necessitant un recalcul des squelettes)
 $spip_version_code = 17873;
index d6972d0..d009148 100644 (file)
        <langue code="ca" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=ca">
                <traducteur nom="merce" lien="http://trad.spip.net/auteur/merce" />
        </langue>
-       <langue code="co" />
+       <langue code="co" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=co">
+               <traducteur nom="tavamig" lien="http://trad.spip.net/auteur/tavamig" />
+       </langue>
        <langue code="cpf" />
        <langue code="cpf_hat" />
        <langue code="cs" />
        <langue code="da" />
        <langue code="de" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=de">
-               <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
                <traducteur nom="Fil" lien="http://trad.spip.net/auteur/fil" />
+               <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
                <traducteur nom="Rainer Müller" lien="http://trad.spip.net/auteur/rainer-muller" />
+               <traducteur nom="Torsten Willmann" lien="http://trad.spip.net/auteur/torsten-willmann" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Benitron" lien="http://trad.spip.net/auteur/benitron" />
                <traducteur nom="Fil" lien="http://trad.spip.net/auteur/fil" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
-               <traducteur nom="Mark" lien="http://trad.spip.net/auteur/mark" />
                <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+               <traducteur nom="Jennie Hughes" lien="http://trad.spip.net/auteur/jennie-hughes" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Mark" lien="http://trad.spip.net/auteur/mark" />
+               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=eo">
-               <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
                <traducteur nom="Fil" lien="http://trad.spip.net/auteur/fil" />
                <traducteur nom="frederik" lien="http://trad.spip.net/auteur/frederik" />
+               <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
-               <traducteur nom="severo" lien="http://trad.spip.net/auteur/severo" />
-               <traducteur nom="Nathan" lien="http://trad.spip.net/auteur/nathan" />
-               <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+               <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
+               <traducteur nom="mjrusalv" lien="http://trad.spip.net/auteur/mjrusalv" />
+               <traducteur nom="Nathan" lien="http://trad.spip.net/auteur/nathan" />
                <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
+               <traducteur nom="severo" lien="http://trad.spip.net/auteur/severo" />
        </langue>
        <langue code="eu" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=eu">
                <traducteur nom="otalazt" lien="http://trad.spip.net/auteur/otalazt" />
        </langue>
        <langue code="fr_tu" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=fr_tu">
                <traducteur nom="Astalaseven" lien="http://trad.spip.net/auteur/astalaseven" />
-               <traducteur nom="orlammd" lien="http://trad.spip.net/auteur/orlammd" />
-               <traducteur nom="RealET" lien="http://trad.spip.net/auteur/realet" />
-               <traducteur nom="PatV" lien="http://trad.spip.net/auteur/pat" />
                <traducteur nom="beatnick" lien="http://trad.spip.net/auteur/beatnick" />
                <traducteur nom="Benitron" lien="http://trad.spip.net/auteur/benitron" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="Nathan" lien="http://trad.spip.net/auteur/nathan" />
+               <traducteur nom="orlammd" lien="http://trad.spip.net/auteur/orlammd" />
+               <traducteur nom="PatV" lien="http://trad.spip.net/auteur/pat" />
+               <traducteur nom="RealET" lien="http://trad.spip.net/auteur/realet" />
        </langue>
        <langue code="gl" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=gl">
                <traducteur nom="Antón Méixome" lien="http://trad.spip.net/auteur/anton-meixome" />
@@ -73,8 +79,8 @@
        <langue code="hu" />
        <langue code="id" />
        <langue code="it" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=it">
-               <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
                <traducteur nom="cam.lafit" lien="http://trad.spip.net/auteur/cam-lafit" />
+               <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
        </langue>
        <langue code="it_fem" />
        <langue code="ja" />
        </langue>
        <langue code="my" />
        <langue code="nl" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=nl">
-               <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
-               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
                <traducteur nom="gerbrand" lien="http://trad.spip.net/auteur/gerbrand" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
+               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="oc_auv" />
        <langue code="oc_gsc" />
        <langue code="oc_prv" />
        <langue code="oc_va" />
        <langue code="pl" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=pl">
-               <traducteur nom="keycheck" lien="http://trad.spip.net/auteur/keycheck" />
                <traducteur nom="Karolina Anna" lien="http://trad.spip.net/auteur/karolina-anna" />
+               <traducteur nom="keycheck" lien="http://trad.spip.net/auteur/keycheck" />
        </langue>
        <langue code="pt" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=pt">
                <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
        </langue>
        <langue code="pt_br" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=pt_br">
-               <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
                <traducteur nom="Fil" lien="http://trad.spip.net/auteur/fil" />
+               <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
        </langue>
        <langue code="ro" url="http://trad.spip.net/tradlang_module/ecrire_?lang_cible=ro">
                <traducteur nom="vmurariu" lien="http://trad.spip.net/auteur/vmurariu" />
index e6587db..dd15473 100644 (file)
@@ -56,6 +56,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'إضافة مشترك:',
        'bouton_annonce' => 'إعلان',
        'bouton_annuler' => 'الغاء',
+       'bouton_cache_activer' => 'إعادة تشغيل الذاكرة المخبأة',
+       'bouton_cache_desactiver' => 'إيقاف الذاكرة المخبأة مؤقتاً',
        'bouton_checkbox_envoi_message' => 'إمكان إرسال مشاركة',
        'bouton_checkbox_indiquer_site' => 'يجب إدخال إسم موقع',
        'bouton_checkbox_signature_unique_email' => 'توقيع واحد فقط لكل عنوان بريد الكتروني',
@@ -293,6 +295,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'مع شريط أدواته؟',
        'info_base_installee' => '<b>تم تثبيت بنية قاعدة البيانات. ',
        'info_bio' => 'السيرة',
+       'info_cache_desactive' => 'الذاكرة المخبأة متوقفة مؤقتاً.',
        'info_chapeau' => 'المقدمة',
        'info_chapeau_2' => 'المقدمة:',
        'info_chemin_acces_1' => 'خيارات: <b>مسار الدخول في الدليل</b>',
@@ -435,6 +438,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ زائر',
        'info_nom' => 'الإسم',
        'info_nom_destinataire' => 'إسم المرسل اليه',
+       'info_nom_pas_conforme' => 'علامات html غير مسموح بها',
        'info_nom_site' => 'إسم موقعك',
        'info_nombre_articles' => '@nb_articles@ مقال،',
        'info_nombre_partcipants' => 'مشاركون في النقاش:',
@@ -765,6 +769,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'تم تحميل الإضافات أدناه وتفعيلها في مجلد @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'لا يمكن إيقافها.',
        'plugin_info_telecharger' => 'للتحميل من @url@ والتثبيت في @rep@',
+       'plugin_info_upgrade_ok' => 'نجحت الترقية',
        'plugin_librairies_installees' => 'المكتبات المثبتة',
        'plugin_necessite_lib' => 'هذا الملحق يتطلب المكتبة @lib@',
        'plugin_necessite_plugin' => 'يتطلب الملحق @plugin@ بالاصدار @version@ على الاقل.',
index 96a3d90..a9f6c3e 100644 (file)
@@ -56,6 +56,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'AÑADER UN PARTICIPANTE:',
        'bouton_annonce' => 'ANUNCIU',
        'bouton_annuler' => 'Anular',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'posibilidá d\'unviar un mensaxe',
        'bouton_checkbox_indiquer_site' => 'poner obligatoriamente un sitiu Web',
        'bouton_checkbox_signature_unique_email' => 'una sola firma por corréu electrónicu',
@@ -293,6 +295,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'cola so barra de ferramientes?',
        'info_base_installee' => 'L\'armazón de la base de datos ta instalada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Cabecera',
        'info_chapeau_2' => 'Cabecera:',
        'info_chemin_acces_1' => 'Opciones: <b>Camín d\'accesu na guía</b>',
@@ -435,6 +438,7 @@ fai falta tener accesu per FTP al sirvidor del sitiu Web.</p>',
        'info_nb_visiteurs' => '@nb@ visitantes',
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome del destinatariu',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome del to sitiu',
        'info_nombre_articles' => '@nb_articles@ artículos,',
        'info_nombre_partcipants' => 'PARTICIPANTES NEL DISCUTINIU:',
@@ -765,6 +769,7 @@ con una color que indica el estáu:',
        'plugin_info_plugins_dist_1' => 'Les estensiones darréu se carguen y s\'activen nel direutoriu @plugins_dist@.', # MODIF
        'plugin_info_plugins_dist_2' => 'Estes nun pueden desactivase.', # MODIF
        'plugin_info_telecharger' => 'a descargar de @url@ y a instalar en @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Llibreríes instaláes',
        'plugin_necessite_lib' => 'Esti plugin necesita la llibrería @lib@',
        'plugin_necessite_plugin' => 'Necesita el plugin @plugin@ en versión @version@ mínimo.',
index 7444f31..fba34cb 100644 (file)
@@ -56,6 +56,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ДОБАВЯНЕ НА УЧАСТНИК:',
        'bouton_annonce' => 'СЪОБЩЕНИЕ',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'възможност за изпращане на съобщение',
        'bouton_checkbox_indiquer_site' => 'Моля, впишете името на Интернет сайт',
        'bouton_checkbox_signature_unique_email' => 'позволен е само един запис на електронен адрес',
@@ -291,6 +293,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Структурата на Вашата база данни е инсталирана.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Преглед',
        'info_chapeau_2' => 'Въведение:',
        'info_chemin_acces_1' => 'Опции: <b>Път за достъп до директорията</b>',
@@ -433,6 +436,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Име',
        'info_nom_destinataire' => 'Име на получателя',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Име на сайта Ви',
        'info_nombre_articles' => '@nb_articles@ статии,',
        'info_nombre_partcipants' => 'УЧАСТНИЦИ В ДИСКУСИЯТА:',
@@ -762,6 +766,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index a4b0772..f8a04f8 100644 (file)
@@ -52,6 +52,8 @@ Arabat aotren an enporzhiadenn-mañ.<p>Evit muioc\'h a ditouroù, sellit ouzh <a
        'bouton_ajouter_participant' => 'OUZHPENNAÑ UR PERZHIAD :',
        'bouton_annonce' => 'KEMENN',
        'bouton_annuler' => 'Nullañ',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'galloud da gas ur gemennadenn',
        'bouton_checkbox_indiquer_site' => 'merkañ ul lec\'hienn web dre ret',
        'bouton_checkbox_signature_unique_email' => 'ur sinadur hepken dre chomlec\'h postel ',
@@ -287,6 +289,7 @@ ar skeudennoù enframmet. Evel-se e c\'heller krouiñ, da skouer,
        'info_barre_outils' => 'gant e varrenn ostilhoù ?',
        'info_base_installee' => 'Staliet eo framm ho tiaz-titouroù.',
        'info_bio' => 'Buhezskrid',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Tog',
        'info_chapeau_2' => 'Tog :',
        'info_chemin_acces_1' => 'Dibarzhioù : <b>hent moned er rollad tud</b>',
@@ -418,6 +421,7 @@ Riskloù zo e vefe distrujet ho tiaz titouroù pe ne\'z afe ket en-dro ken.<br /
        'info_nb_visiteurs' => '@nb@ gweladennerion',
        'info_nom' => 'Anv',
        'info_nom_destinataire' => 'Anv an degemerer',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Anv ho lec\'hienn',
        'info_nombre_articles' => '@nb_articles@ pennad,',
        'info_nombre_partcipants' => 'PERZHIDI ER GAOZ :',
@@ -746,6 +750,7 @@ diskouezet en ul liv disheñvel, diouzh o stad :',
        'plugin_info_plugins_dist_1' => 'Karget ha gweredek eo an askouezioù-mañ er c\'havlec\'h @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Diweredekaus ez int',
        'plugin_info_telecharger' => 'da bellgargañ adal @url@ ha da staliañ e @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Levraouegoù bet staliet',
        'plugin_necessite_lib' => 'Ezhomm en deus an adveziant-mañ eus al levraoueg @lib@',
        'plugin_necessite_plugin' => 'Ezhomm en deus eus an adveziant @plugin@ e stumm @version@ d\'an nebeutañ.',
index 38322b4..1d667b2 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'DODAJ UCESNIKA:',
        'bouton_annonce' => 'NAJAVA',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'mogucnost slanja poruke',
        'bouton_checkbox_indiquer_site' => 'obavezno naznaciti jednu web stranicu',
        'bouton_checkbox_signature_unique_email' => 'samo jedan potpis po e-mail adresi',
@@ -279,6 +281,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Struktura vase baze podatake je instalirana.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Uvod',
        'info_chapeau_2' => 'Uvod:',
        'info_chemin_acces_1' => 'Opcije: <b>Putanja pristupa u direktorij</b>', # MODIF
@@ -404,6 +407,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Ime',
        'info_nom_destinataire' => 'Ime primaoca',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Ime vase stranice',
        'info_nombre_articles' => '@nb_articles@ clanci,',
        'info_nombre_partcipants' => 'UCESNICI DISKUSIJE:',
@@ -722,6 +726,7 @@ Prevodi su (sa bojom koja ukazuje na njihovo stanje) povezani sa originalnim cla
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 8016bb7..54e41b0 100644 (file)
@@ -49,6 +49,8 @@ desactivada per raons de seguretat (cosa normal en molts proveïdors d\'hostatge
        'bouton_ajouter_participant' => 'AFEGIR UN PARTICIPANT :',
        'bouton_annonce' => 'ANUNCI',
        'bouton_annuler' => 'Anul·lar',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat d\'enviar un missatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatòriament un lloc Web',
        'bouton_checkbox_signature_unique_email' => 'una sola signatura per adreça electrònica ',
@@ -282,6 +284,7 @@ desactivada per raons de seguretat (cosa normal en molts proveïdors d\'hostatge
        'info_barre_outils' => 'amb la seva barra d\'eines?',
        'info_base_installee' => 'L\'estructura de la vostra bases de dades s\'ha instal·lat.',
        'info_bio' => 'Biografia',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Encapçalament',
        'info_chapeau_2' => 'Encapçalament:',
        'info_chemin_acces_1' => 'Opcions: <b>Camí d\'accés al directori</b>',
@@ -411,6 +414,7 @@ desactivada per raons de seguretat (cosa normal en molts proveïdors d\'hostatge
        'info_nb_visiteurs' => '@nb@ visitants',
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom del destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom del vostre lloc',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSIÓ:',
@@ -734,6 +738,7 @@ amb un color que indica el seu estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions que hi ha a sota es carreguen i s\'activen al directori @plugins_dist@.', # MODIF
        'plugin_info_plugins_dist_2' => 'No es poden desactivar.', # MODIF
        'plugin_info_telecharger' => 'baixar-lo des de @url@ i instal·lar-lo a @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Llibreries instal·lades',
        'plugin_necessite_lib' => 'Aquest plugin necessita la llibreria @lib@',
        'plugin_necessite_plugin' => 'Requereix el plugin @plugin@ com a mínim en la versió @version@.',
index 9a8c864..1f783c0 100644 (file)
@@ -10,8 +10,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        // A
        'activer_plugin' => 'Attivà u plugin',
        'affichage' => 'Vede',
-       'aide_non_disponible' => 'Sta parte di l\'aiutu ùn hè ancu disupunìbule in corsu.',
-       'annuler_recherche' => 'Annuler la recherche', # NEW
+       'aide_non_disponible' => 'Sta parte di l\'aiutu ùn hè ancu dispunìbule in corsu.',
+       'annuler_recherche' => 'Annullà a ricerca',
        'auteur' => 'Autore :',
        'avis_acces_interdit' => 'Accessu interdettu.',
        'avis_article_modifie' => 'Attenti, @nom_auteur_modif@ hà travagliatu nant\'à st\'artìculu @date_diff@ minuti fà',
@@ -34,8 +34,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
                à una versione di SPIP sferente da quella stallata.</b> Puderanu accade grossi prublemi :
                rìsicu di distruzzione di a vostra basa, gattivi funziunamenti vari di u situ, ecc.
                Ùn cunfirmate micca sta dumanda d\'impurtazione !
-               <p>Per sapè ne di più, andate à vede <A HREF=\'http://www.spip.net/fr_article1489.html\'>
-               a ducumentazione di SPIP</a>.</p>', # MODIF
+               <p>Per sapè ne di più, andate à vede <a href="@spipnet@">
+               a ducumentazione di SPIP</a>.</p>',
        'avis_espace_interdit' => '<b>Spaziu interdettu</b><div>Hè digià stallatu SPIP.</div>',
        'avis_lecture_noms_bases_1' => 'U prugrammu di stallazione ùn hà pussutu leghje i nomi di e base stallate nant\'à u servore.',
        'avis_lecture_noms_bases_2' => 'Sia ùn hè dispunìbule nisuna basa di dati, sia a funzione chì permette d\'accede à e base hè
@@ -55,6 +55,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'AGHJUNGHJE UN UTILIZATORE :',
        'bouton_annonce' => 'ANNUNCIU',
        'bouton_annuler' => 'Annullà',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'pussibulità di mandà un messagiu',
        'bouton_checkbox_indiquer_site' => 'rinsignà per forza un situ web',
        'bouton_checkbox_signature_unique_email' => 'una sola zifra per indirizzu email',
@@ -66,7 +68,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_effacer_tout' => 'TUTTU sguassà',
        'bouton_envoi_message_02' => 'MANDÀ UN MESSAGIU',
        'bouton_envoyer_message' => 'Messagiu definitivu : mandà',
-       'bouton_fermer' => 'Fermer', # NEW
+       'bouton_fermer' => 'Chjode',
        'bouton_mettre_a_jour_base' => 'Mettre à jour la base de données', # NEW
        'bouton_modifier' => 'Mudificà',
        'bouton_pense_bete' => 'MEMENTU À USU PERSUNALE',
@@ -124,45 +126,45 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'ecran_securite' => ' + écran de sécurité @version@', # NEW
        'email' => 'email',
        'email_2' => 'email :',
-       'en_savoir_plus' => 'En savoir plus', # NEW
+       'en_savoir_plus' => 'Sapè ne di più',
        'entree_adresse_annuaire' => 'Indirizzu di l\'annuariu',
        'entree_adresse_email' => 'U vostru indirizzu email',
-       'entree_adresse_email_2' => 'Adresse email', # NEW
+       'entree_adresse_email_2' => 'Indirizzu mail',
        'entree_base_donnee_1' => 'Indirizzu di a basa di dati',
        'entree_base_donnee_2' => '(À spessu st\'indirizzu currisponde à quellu di u vostru situ, qualchì volta à «localhost», o puru pò esse lasciatu viotu.)',
        'entree_biographie' => 'Biugrafia corta in poche parulle.',
        'entree_chemin_acces' => '<b>Dà</b> u percorsu d\'accessu :',
        'entree_cle_pgp' => 'A vostra chjave PGP',
-       'entree_cle_pgp_2' => 'Clé PGP', # NEW
-       'entree_contenu_rubrique' => '(Cuntenutu di a rùbbrica in poche parulle)',
+       'entree_cle_pgp_2' => 'Chjave PGP',
+       'entree_contenu_rubrique' => '(Cuntenutu di a rùbrica in poche parulle)', # MODIF
        'entree_identifiants_connexion' => 'I vostri còdici persunali di cunnessione ...',
-       'entree_identifiants_connexion_2' => 'Identifiants de connexion', # NEW
+       'entree_identifiants_connexion_2' => 'Identificativi di cunnessione',
        'entree_informations_connexion_ldap' => 'Rinsignate in stu furmulariu i dati di cunnessione à u vostu annuariu LDAP.
        St\'infurmazioni sò da dumandà à l\'amministratore di u sistema o di a rete.',
        'entree_infos_perso' => 'Quale site ?',
-       'entree_infos_perso_2' => 'Qui est l\'auteur ?', # NEW
-       'entree_interieur_rubrique' => 'Dentru a rùbbrica :',
+       'entree_infos_perso_2' => 'Quale hè l\'autore ?',
+       'entree_interieur_rubrique' => 'Dentru a rùbrica :',
        'entree_liens_sites' => '<b>Lea ipertestu</b> (riferimentu, situ da visità ...)',
        'entree_login' => 'Login',
        'entree_login_connexion_1' => 'Login di cunnessione',
        'entree_login_connexion_2' => '(Currisponde certe volte à u login d\'accessu cù FTP; o puru si pò lascià viotu)',
        'entree_login_ldap' => 'Login LDAP iniziale',
-       'entree_mot_passe' => 'Password',
+       'entree_mot_passe' => 'Parola secreta (password)',
        'entree_mot_passe_1' => 'Password di cunnessione',
        'entree_mot_passe_2' => '(Currisponde certe volte à u password d\'accessu cù FTP; o puru si pò lascià viotu)',
        'entree_nom_fichier' => 'Entrate u nome di u schedariu @texte_compresse@ :',
-       'entree_nom_pseudo' => 'Nome o pseudo',
-       'entree_nom_pseudo_1' => '(Nome o pseudo)',
-       'entree_nom_pseudo_2' => 'Nom ou pseudo', # NEW
+       'entree_nom_pseudo' => 'Nome o fintunome (pseudo)',
+       'entree_nom_pseudo_1' => '(Nome o fintunome)',
+       'entree_nom_pseudo_2' => 'Nome o fintunome (pseudo)',
        'entree_nom_site' => 'Nome di u vostru situ',
-       'entree_nom_site_2' => 'Nom du site de l\'auteur', # NEW
-       'entree_nouveau_passe' => 'Nuvellu password',
-       'entree_passe_ldap' => 'Password',
+       'entree_nom_site_2' => 'Nome di u situ di l\'autore',
+       'entree_nouveau_passe' => 'Nuvella parola secreta',
+       'entree_passe_ldap' => 'Parola secreta',
        'entree_port_annuaire' => 'U nùmeru di porta di l\'annuariu',
        'entree_signature' => 'Zifra',
-       'entree_titre_obligatoire' => '<b>Tìtulu</b> [Ubbligatoriu]<br />',
+       'entree_titre_obligatoire' => '<b>Tìtulu</b> [Ubligatoriu]<br />',
        'entree_url' => 'Indirizzu (URL) di u situ',
-       'entree_url_2' => 'Adresse (URL) du site', # NEW
+       'entree_url_2' => 'Indirizzu (URL) di u situ',
        'erreur_connect_deja_existant' => 'Un serveur existe déjà avec ce nom', # NEW
        'erreur_nom_connect_incorrect' => 'Ce nom de serveur n\'est pas autorisé', # NEW
        'erreur_plugin_desinstalation_echouee' => 'La désinstallation du plugin a echoué. Vous pouvez néanmoins le desactiver.', # NEW
@@ -196,30 +198,30 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'ical_titre_js' => 'Javascript',
        'ical_titre_mailing' => 'Mailing-list',
        'ical_titre_rss' => 'Schedariu di sindicazione',
-       'icone_accueil' => 'Accueil', # NEW
+       'icone_accueil' => 'Accuglienza',
        'icone_activer_cookie' => 'Attivà u cookie di currispundenza',
-       'icone_activite' => 'Activité', # NEW
+       'icone_activite' => 'Attività',
        'icone_admin_plugin' => 'Gestione di i plugins',
-       'icone_administration' => 'Maintenance', # NEW
+       'icone_administration' => 'Mantenimentu',
        'icone_afficher_auteurs' => 'Vede l\'autori',
        'icone_afficher_visiteurs' => 'Vede i visitori',
        'icone_arret_discussion' => 'Ùn participà più à sta ragiunata',
        'icone_calendrier' => 'Almanaccu',
-       'icone_configuration' => 'Configuration', # NEW
+       'icone_configuration' => 'Cunfigurazione',
        'icone_creer_auteur' => 'Creà un novu autore è assucià lu à st\'artìculu',
        'icone_creer_mot_cle' => 'Creà un nuvellu segnu è assucià lu à st\'artìculu',
        'icone_creer_mot_cle_rubrique' => 'Creà un nuvellu segnu è assucià lu à sta rùbbrica',
        'icone_creer_mot_cle_site' => 'Creà un nuvellu segnu è assucià lu à stu situ',
        'icone_creer_rubrique_2' => 'Creà una nova rùbbrica',
-       'icone_edition' => 'Édition', # NEW
+       'icone_edition' => 'Edizione',
        'icone_envoyer_message' => 'Mandà u messagiu',
-       'icone_ma_langue' => 'Ma langue', # NEW
-       'icone_mes_infos' => 'Mes informations', # NEW
-       'icone_mes_preferences' => 'Mes préférences', # NEW
+       'icone_ma_langue' => 'A mo lingua',
+       'icone_mes_infos' => 'E mo infurmazioni',
+       'icone_mes_preferences' => 'E mo preferenze',
        'icone_modifier_article' => 'Mudificà l\'artìculu',
        'icone_modifier_message' => 'Mudificà u messagiu',
        'icone_modifier_rubrique' => 'Mudificà a rùbbrica',
-       'icone_publication' => 'Publication', # NEW
+       'icone_publication' => 'Publicazione',
        'icone_relancer_signataire' => 'Rilancià u signatariu',
        'icone_retour' => 'In daretu',
        'icone_retour_article' => 'Turnà à l\'artìculu',
@@ -229,26 +231,26 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'icone_supprimer_rubrique' => 'Sguassà sta rùbbrica',
        'icone_supprimer_signature' => 'Sguassà sta zifra',
        'icone_valider_signature' => 'Cunfirmà sta zifra',
-       'image_administrer_rubrique' => 'Pudete amministrà sta rùbbrica',
+       'image_administrer_rubrique' => 'Pudete amministrà sta rùbrica',
        'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # NEW
        'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # NEW
        'info_1_article' => '1 artìculu',
        'info_1_article_syndique' => '1 article syndiqué', # NEW
-       'info_1_auteur' => '1 auteur', # NEW
-       'info_1_message' => '1 message', # NEW
+       'info_1_auteur' => '1 autore',
+       'info_1_message' => '1 messagiu',
        'info_1_mot_cle' => '1 mot-clé', # NEW
-       'info_1_rubrique' => '1 rubrique', # NEW
+       'info_1_rubrique' => '1 rùbrica',
        'info_1_site' => '1 situ',
-       'info_1_visiteur' => '1 visiteur', # NEW
+       'info_1_visiteur' => '1 visitore',
        'info_activer_cookie' => 'Pudete puru attivà un <b>cookie di currispundenza</b>, vi permetterà 
        di passà senza straziu da u situ pùbblicu à u situ privatu.',
-       'info_admin_etre_webmestre' => 'Me donner les droits de webmestre', # NEW
+       'info_admin_etre_webmestre' => 'Dammi i diritti di webmaestru',
        'info_admin_gere_rubriques' => 'St\'amministratore gestisce e seguenti rùbbriche :',
        'info_admin_gere_toutes_rubriques' => 'St\'amministratore gestisce <b>tutte e rùbbriche</b>.', # MODIF
        'info_admin_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', # NEW
-       'info_admin_je_suis_webmestre' => 'Je suis <b>webmestre</b>', # NEW
-       'info_admin_statuer_webmestre' => 'Donner à cet administrateur les droits de webmestre', # NEW
-       'info_admin_webmestre' => 'Cet administrateur est <b>webmestre</b>', # NEW
+       'info_admin_je_suis_webmestre' => 'Sò u <b>webmaestru</b>',
+       'info_admin_statuer_webmestre' => 'Dà à st\'amministratore tutti i diritti di webmaestru',
+       'info_admin_webmestre' => 'St\'amministratore hè <b>webmaestru</b>',
        'info_administrateur' => 'Amministratore',
        'info_administrateur_1' => 'Amministratore',
        'info_administrateur_2' => 'di u situ (<i>da usà cù assai cura</i>)',
@@ -274,18 +276,18 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_articles_02' => 'artìculi',
        'info_articles_2' => 'artìculi',
        'info_articles_auteur' => 'Artìculi di st\'autore',
-       'info_articles_miens' => 'Mes articles', # NEW
-       'info_articles_tous' => 'Tous les articles', # NEW
+       'info_articles_miens' => 'I mo artìculi',
+       'info_articles_tous' => 'Tutti l\'artìculi',
        'info_articles_trouves' => 'Artìculi trovi',
        'info_articles_trouves_dans_texte' => 'Artìculi trovi (ricerca in u testu)',
        'info_attente_validation' => 'I vostri artìculi in attesa di cunvalidazione',
-       'info_aucun_article' => 'Aucun article', # NEW
+       'info_aucun_article' => 'Nisun artìculu',
        'info_aucun_article_syndique' => 'Aucun article syndiqué', # NEW
-       'info_aucun_auteur' => 'Aucun auteur', # NEW
-       'info_aucun_message' => 'Aucun message', # NEW
-       'info_aucun_rubrique' => 'Aucune rubrique', # NEW
-       'info_aucun_site' => 'Aucun site', # NEW
-       'info_aucun_visiteur' => 'Aucun visiteur', # NEW
+       'info_aucun_auteur' => 'Nisunu autore',
+       'info_aucun_message' => 'Nisun messagiu',
+       'info_aucun_rubrique' => 'Nisuna rùbrica',
+       'info_aucun_site' => 'Nisun situ',
+       'info_aucun_visiteur' => 'Nisun visitore',
        'info_aujourdhui' => 'oghje : ',
        'info_auteur_message' => 'AUTORE DI U MESSAGIU :',
        'info_auteurs' => 'L\'autori',
@@ -295,7 +297,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_avertissement' => 'Avertimentu',
        'info_barre_outils' => 'cù a tàvula di strumenti?',
        'info_base_installee' => 'Hè stallata a struttura di a vostra basa di dati.',
-       'info_bio' => 'Biographie', # NEW
+       'info_bio' => 'Biugrafia',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Cappellu',
        'info_chapeau_2' => 'Cappellu :',
        'info_chemin_acces_1' => 'Opzioni : <b>Percorsu d\'accessu à i dati in l\'annuariu</b>',
@@ -306,7 +309,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_classement_1' => '<sup>o</sup> nant\'à @liste@',
        'info_classement_2' => '<sup>o</sup> nant\'à @liste@',
        'info_code_acces' => 'Ùn vi scurdate di i vostri còdici d\'accessu !',
-       'info_compatibilite_html' => 'Norme HTML à suivre', # NEW
+       'info_compatibilite_html' => 'Norma HTML da rispettà',
        'info_compresseur_gzip' => '<b>N. B. :</b> Arricumandemu di verificà capunanzu sì l\'òspite cumpressa digià in autumàticu i script php;. Pè sapè la, 
                pudete aduprà per esempiu stu serviziu : @testgzip@', # MODIF
        'info_compresseur_texte' => 'Sì u vostru servore ùn cumpressa micca in autumàticu e pàgine HTML da mandà le à i visitori, pruvate puru à furzà a cumpressione da 
@@ -329,12 +332,12 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_connexion_ok' => 'A cunnessione hè riesciuta.',
        'info_contact' => 'Cuntatti',
        'info_contenu_articles' => 'Cuntenutu di l\'artìculi',
-       'info_contributions' => 'Contributions', # NEW
+       'info_contributions' => 'Cuntributi',
        'info_creation_paragraphe' => '(Per creà paragrafi indipendenti, lasciate puru ligne viote.)', # MODIF
        'info_creation_rubrique' => 'Prima di pudè scrive artìculi, <br />vi tocca à creà omancu una rùbbrica.<br />',
        'info_creation_tables' => 'Creazione di e tàvule in a basa di dati',
        'info_creer_base' => '<b>Creà</b> una nuvella basa di dati :',
-       'info_dans_rubrique' => 'In a rùbbrica :',
+       'info_dans_rubrique' => 'In a rùbrica :',
        'info_date_publication_anterieure' => 'Data di ùltima scrittura :',
        'info_date_referencement' => 'DATA DI RIFERIMENTU DI STU SITU :',
        'info_derniere_etape' => 'Fatta !',
@@ -403,14 +406,15 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_langues' => 'Lingua di u situ',
        'info_ldap_ok' => 'Hè stallata l\'autentificazione LDAP.',
        'info_lien_hypertexte' => 'Lea ipertestu :',
-       'info_liste_nouveautes_envoyee' => 'La liste des nouveautés a été envoyée', # NEW
+       'info_liste_nouveautes_envoyee' => 'Hè stata mandata a lista di e nuvità.
+',
        'info_liste_redacteurs_connectes' => 'Lista di i scrittori cunnessi',
        'info_login_existant' => 'Stu login esiste digià.',
        'info_login_trop_court' => 'Login troppu cortu.',
        'info_login_trop_court_car_pluriel' => 'Le login doit contenir au moins @nb@ caractères.', # NEW
        'info_logos' => 'I logo',
        'info_maximum' => 'màsimu :',
-       'info_meme_rubrique' => 'In a listessa rùbbrica',
+       'info_meme_rubrique' => 'In a listessa rùbrica',
        'info_message' => 'Messagiu di u  ',
        'info_message_efface' => 'MESSAGIU SGUASSATU',
        'info_message_en_redaction' => 'I vostri messagi in corsu di scrittura',
@@ -420,7 +424,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_mise_a_niveau_base_2' => '{{Attenti!}} Hè stata stallata una versione
        di i schedari di SPIP {anteriore} di pettu à quella chì era in usu per stu situ :
        Ci hè u rìsicu chì a vostra basa di dati sia persa è chì u vostru situ sia scundisatu.<br />{{Ristallà i schedari di SPIP.}}',
-       'info_modification_enregistree' => 'Votre modification a été enregistrée', # NEW
+       'info_modification_enregistree' => 'Hè stata arregistrata a vostra mudìfica',
        'info_modifier_auteur' => 'Mudificà l\'autore :',
        'info_modifier_rubrique' => 'Mudificà a rùbbrica :',
        'info_modifier_titre' => 'Mudificà : @titre@',
@@ -434,21 +438,22 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
                E lingue digià aduprate in u situ (venenu e prime) ùn ponu esse disattivate.',
        'info_multi_objets' => '@objets@ : activer le menu de langue', # NEW
        'info_multi_rubriques' => 'Attivà u menù di lingua pè e rùbbriche ?',
-       'info_multi_secteurs' => '... solu per e rùbbriche cullucate à a {ràdica} di u situ ?',
-       'info_nb_articles' => '@nb@ articles', # NEW
+       'info_multi_secteurs' => '... solu per e rùbriche cullucate à a {ràdica} di u situ ?',
+       'info_nb_articles' => '@nb@ artìculi',
        'info_nb_articles_syndiques' => '@nb@ articles syndiqués', # NEW
-       'info_nb_auteurs' => '@nb@ auteurs', # NEW
-       'info_nb_messages' => '@nb@ messages', # NEW
+       'info_nb_auteurs' => '@nb@ autori',
+       'info_nb_messages' => '@nb@ messagi',
        'info_nb_mots_cles' => '@nb@ mots-clés', # NEW
-       'info_nb_rubriques' => '@nb@ rubriques', # NEW
-       'info_nb_sites' => '@nb@ sites', # NEW
-       'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
+       'info_nb_rubriques' => '@nb@ rùbriche',
+       'info_nb_sites' => '@nb@ siti',
+       'info_nb_visiteurs' => '@nb@ visitori',
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome di u destinatariu',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome di u vostru situ',
        'info_nombre_articles' => '@nb_articles@ artìculi,',
        'info_nombre_partcipants' => 'PARTICIPANTI À A RAGIUNATA :',
-       'info_nombre_rubriques' => '@nb_rubriques@ rùbbriche,',
+       'info_nombre_rubriques' => '@nb_rubriques@ rùbriche,',
        'info_nombre_sites' => '@nb_sites@ siti, ',
        'info_non_deplacer' => 'Ùn spiazzà micca...',
        'info_non_envoi_annonce_dernieres_nouveautes' => 'SPIP pò mandà à colpi regulari annunci riguardu à l\'ùltime nuvità di u situ
@@ -456,7 +461,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_non_envoi_liste_nouveautes' => 'Ùn mandà micca a lista di e nuvità',
        'info_non_modifiable' => 'ùn pò esse mudificatu',
        'info_non_suppression_mot_cle' => 'ùn vogliu micca sguassà segnu.',
-       'info_note_numero' => 'Note @numero@', # NEW
+       'info_note_numero' => 'Nota @numero@',
        'info_notes' => 'Note',
        'info_nouveaux_message' => 'Nuvelli messagi',
        'info_nouvel_article' => 'Nuvellu artìculu',
@@ -475,9 +480,9 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_par_nombre_article' => 'per numeru d\'artìculi',
        'info_par_statut' => 'per statutu',
        'info_par_tri' => '\'(per @tri@)\'',
-       'info_passe_trop_court' => 'Password troppu cortu.',
+       'info_passe_trop_court' => 'Parola secreta troppu corta.', # MODIF
        'info_passe_trop_court_car_pluriel' => 'Le mot de passe doit contenir au moins @nb@ caractères.', # NEW
-       'info_passes_identiques' => 'I dui password ùn sò listessi.',
+       'info_passes_identiques' => 'E duie parole secrete ùn sò listesse.',
        'info_pense_bete_ancien' => 'I vostri mementi vechji', # MODIF
        'info_plus_cinq_car' => 'più di 5 caràtteri',
        'info_plus_cinq_car_2' => '(Più di 5 caràtteri)',
@@ -530,10 +535,10 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_reserve_admin' => 'Solu l\'amministratori ponu mudificà st\'indirizzu.',
        'info_restreindre_rubrique' => 'Limità a gestione à a rùbbrica :',
        'info_resultat_recherche' => 'Risultati di a ricerca :',
-       'info_rubriques' => 'Rùbbriche',
-       'info_rubriques_02' => 'rùbbriche',
-       'info_rubriques_trouvees' => 'Rùbbriche trove',
-       'info_rubriques_trouvees_dans_texte' => 'Rùbbriche trove (ricerca in u testu)',
+       'info_rubriques' => 'Rùbriche',
+       'info_rubriques_02' => 'rùbriche',
+       'info_rubriques_trouvees' => 'Rùbriche trove',
+       'info_rubriques_trouvees_dans_texte' => 'Rùbriche trove (ricerca in u testu)',
        'info_sans_titre' => 'Senza tìtulu',
        'info_selection_chemin_acces' => '<b>Sceglite</b> quì sottu u percorsu d\'accessu in l\'annuariu :',
        'info_signatures' => 'zifre',
@@ -550,7 +555,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_sous_titre' => 'Sottutìtulu :',
        'info_statut_administrateur' => 'Amministratore',
        'info_statut_auteur' => 'Statutu di st\'autore :',
-       'info_statut_auteur_2' => 'Je suis', # NEW
+       'info_statut_auteur_2' => 'Eo sò',
        'info_statut_auteur_a_confirmer' => 'Iscrizzione da cunfirmà',
        'info_statut_auteur_autre' => 'Altru statutu :',
        'info_statut_efface' => 'Sguassatu',
@@ -576,7 +581,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_titre' => 'Tìtulu :',
        'info_total' => 'tutale : ',
        'info_tous_articles_en_redaction' => 'Tutti l\'artìculi in corsu di scrittura',
-       'info_tous_articles_presents' => 'Tutti l\'artìculi pubblicati in sta rùbbrica',
+       'info_tous_articles_presents' => 'Tutti l\'artìculi pubblicati in sta rùbrica',
        'info_tous_articles_refuses' => 'Tous les articles refusés', # NEW
        'info_tous_les' => 'tutti i:',
        'info_tous_redacteurs' => 'Annunci à tutti i scrittori',
@@ -588,16 +593,16 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'info_tout_site5' => 'Artìculu uriginale.',
        'info_tout_site6' => '<b>Attenti :</b> si ponu vede solu l\'artìculi uriginali.
                E traduzzioni sò assuciate à l\'uriginale, è un culore indetta u so statu :',
-       'info_traductions' => 'Traductions', # NEW
+       'info_traductions' => 'Traduzzioni',
        'info_travail_colaboratif' => 'Travagliu di messa in cumunu pè l\'artìculi',
        'info_un_article' => 'un artìculu, ',
        'info_un_site' => 'un situ, ',
-       'info_une_rubrique' => 'una rùbbrica, ',
-       'info_une_rubrique_02' => '1 rùbbrica',
+       'info_une_rubrique' => 'una rùbrica, ',
+       'info_une_rubrique_02' => '1 rùbrica',
        'info_url' => 'URL :',
-       'info_url_proxy' => 'URL du proxy', # NEW
+       'info_url_proxy' => 'URL di u proxy',
        'info_url_site' => 'URL DI U SITU :',
-       'info_url_test_proxy' => 'URL de test', # NEW
+       'info_url_test_proxy' => 'URL di prova',
        'info_urlref' => 'Lea ipertestu :',
        'info_utilisation_spip' => 'Avà pudete puru principià à aduprà u sistema di pubblicazione assistita...',
        'info_visites_par_mois' => 'Vede mese per mese :',
@@ -650,7 +655,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'item_login' => 'Login',
        'item_messagerie_agenda' => 'Attivà a messageria è l\'agenda',
        'item_mots_cles_association_articles' => 'à l\'artìculi',
-       'item_mots_cles_association_rubriques' => 'à e rùbbriche',
+       'item_mots_cles_association_rubriques' => 'à e rùbriche',
        'item_mots_cles_association_sites' => 'à i siti riferiti o sindicati.',
        'item_non' => 'Innò',
        'item_non_accepter_inscriptions' => 'Ùn accettà micca l\'iscrizzioni',
@@ -667,13 +672,13 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'item_non_publier_articles' => 'Ùn pubblicà micca l\'àrtìculi prima di a data imposta.',
        'item_non_utiliser_moteur_recherche' => 'Ùn aduprà micca u mutore di ricerca',
        'item_nouvel_auteur' => 'Nuvellu autore',
-       'item_nouvelle_rubrique' => 'Nuvella rùbbrica',
+       'item_nouvelle_rubrique' => 'Nuvella rùbrica',
        'item_oui' => 'Iè',
        'item_publier_articles' => 'Pubblicà l\'artìculi qualsìasi a data di pubblicazione.',
        'item_reponse_article' => 'Risposta à l\'artìculu ',
        'item_utiliser_moteur_recherche' => 'Aduprà u mutore di ricerca',
        'item_version_html_max_html4' => 'Se limiter au HTML4 sur le site public', # NEW
-       'item_version_html_max_html5' => 'Permettre le HTML5', # NEW
+       'item_version_html_max_html5' => 'Permette HTML5',
        'item_visiteur' => 'visitore',
 
        // J
@@ -683,7 +688,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'label_bando_outils' => 'Barre d\'outils', # NEW
        'label_bando_outils_afficher' => 'Afficher les outils', # NEW
        'label_bando_outils_masquer' => 'Masquer les outils', # NEW
-       'label_choix_langue' => 'Selectionnez votre langue', # NEW
+       'label_choix_langue' => 'Sceglite a vostra lingua',
        'label_nom_fichier_connect' => 'Indiquez le nom utilisé pour ce serveur', # NEW
        'label_slogan_site' => 'Slogan du site', # NEW
        'label_taille_ecran' => 'Largeur de l\'ecran', # NEW
@@ -695,16 +700,16 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'lien_ajout_destinataire' => 'Aghjunghje u dstinatariu',
        'lien_ajouter_auteur' => 'Aghjunghje sy\'autore',
        'lien_ajouter_participant' => 'Aghjunghje un participante',
-       'lien_ajouter_une_rubrique' => 'Ajouter cette rubrique', # NEW
+       'lien_ajouter_une_rubrique' => 'Aghjunghje sta rùbrica',
        'lien_email' => 'email',
        'lien_nom_site' => 'NOME DI U SITU :',
        'lien_retirer_auteur' => 'Sguassà l\'autore',
-       'lien_retirer_rubrique' => 'Retirer la rubrique', # NEW
-       'lien_retirer_tous_auteurs' => 'Retirer tous les auteurs', # NEW
-       'lien_retirer_toutes_rubriques' => 'Retirer toutes les rubriques', # NEW
+       'lien_retirer_rubrique' => 'Toglie a rùbrica',
+       'lien_retirer_tous_auteurs' => 'Toglie tutti l\'autori',
+       'lien_retirer_toutes_rubriques' => 'Toglie tutte e rùbriche',
        'lien_retrait_particpant' => 'caccià stu participante',
        'lien_site' => 'situ',
-       'lien_supprimer_rubrique' => 'sguassà a rùbbrica',
+       'lien_supprimer_rubrique' => 'sguassà a rùbrica',
        'lien_tout_deplier' => 'Tuttu spalancà',
        'lien_tout_replier' => 'Tuttu chjode',
        'lien_tout_supprimer' => 'Tuttu sguassà',
@@ -730,7 +735,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'mois_non_connu' => 'scunnisciutu',
 
        // N
-       'nouvelle_version_spip' => 'La version @version@ de SPIP est disponible', # NEW
+       'nouvelle_version_spip' => 'Hè dispunìbule a versione @version@ di SPIP',
 
        // O
        'onglet_contenu' => 'Cuntenutu',
@@ -740,13 +745,13 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'onglet_interactivite' => 'Interattività',
        'onglet_proprietes' => 'Pruprietà',
        'onglet_repartition_actuelle' => 'attualmente',
-       'onglet_sous_rubriques' => 'Sotturùbbriche',
+       'onglet_sous_rubriques' => 'Sotturùbriche',
 
        // P
        'page_pas_proxy' => 'Sta pàgina ùn deve passà per u proxy',
        'pas_de_proxy_pour' => 'Sè bisogna, indettate puru i servori o i dumini per chì ùn deve esse impiecatu stu proxy (per esempiu : @exemple@)',
        'plugin_charge_paquet' => 'Caricamentu di u pacchettu @name@',
-       'plugin_charger' => 'Télécharger', # NEW
+       'plugin_charger' => 'Scaricà',
        'plugin_erreur_charger' => 'errore : impussìbule di caricà @zip@',
        'plugin_erreur_droit1' => 'U cartulare <code>@dest@</code> ùn hà i diritti di scrittura.',
        'plugin_erreur_droit2' => 'Verificate puru i diritti pè stu cartulare (è sè bisogna, create lu), o stallate i schedari cù FTP.',
@@ -757,7 +762,7 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'plugin_etat_test' => 'in prova',
        'plugin_impossible_activer' => 'Impussìbule d\'attivà u plugin @plugin@',
        'plugin_info_automatique1' => 'Sè vo vulete auturizà a stallazione autumàtica di i plugins : ',
-       'plugin_info_automatique1_lib' => 'Si vous souhaitez autoriser l\'installation automatique de cette librairie, veuillez :', # NEW
+       'plugin_info_automatique1_lib' => 'Sè vo vulete permette a stallazione autumàtica di sta libreria :',
        'plugin_info_automatique2' => 'create puru un cartulare <code>@rep@</code>;',
        'plugin_info_automatique3' => 'verificate chì u servore abbia i diritti di scrittura in stu cartulare.',
        'plugin_info_automatique_creer' => 'da creà à a ràdica di u situ.',
@@ -773,16 +778,17 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        S\'ellu ci era digià, serà aghjurnata.',
        'plugin_info_credit' => 'Crédits', # NEW
        'plugin_info_erreur_xml' => 'La déclaration de ce plugin est incorrecte', # NEW
-       'plugin_info_install_ok' => 'Installation réussie', # NEW
-       'plugin_info_necessite' => 'Necessite :', # NEW
+       'plugin_info_install_ok' => 'Stallazione andata à bon\'fine',
+       'plugin_info_necessite' => 'Bisogna :',
        'plugin_info_non_compatible_spip' => 'Ce plugin n\'est pas compatible avec cette version de SPIP', # NEW
-       'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
-       'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
+       'plugin_info_plugins_dist_1' => 'I plugins quì sottu sò caricati è attivati in u schedariu @plugins_dist@.',
+       'plugin_info_plugins_dist_2' => 'Ùn si ponu disattivà.',
        'plugin_info_telecharger' => 'da scaricà da @url@ è da stallà in @rep@',
+       'plugin_info_upgrade_ok' => 'Aghjurnamentu riesciutu',
        'plugin_librairies_installees' => 'Librerie stallate',
        'plugin_necessite_lib' => 'Stu plugin richere a libreria @lib@',
        'plugin_necessite_plugin' => 'Richere u plugin @plugin@ cù omancu a versione @version@.',
-       'plugin_necessite_plugin_sans_version' => 'Nécessite le plugin @plugin@', # NEW
+       'plugin_necessite_plugin_sans_version' => 'Richere u plugin @plugin@',
        'plugin_necessite_spip' => 'Richere SPIP cù omancu a versione @version@.',
        'plugin_source' => 'urìgine: ',
        'plugin_titre_automatique' => 'Stallazione autumàtica',
@@ -797,18 +803,18 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'plugin_zip_installe_rep_finie' => 'U schedariu @zip@ hè statu scumpressu è stallatu in u cartulare @rep@',
        'plugin_zip_installer' => 'Avà u pudete puru stallà.',
        'plugin_zip_telecharge' => 'U schedariu @zip@ hè statu scaricatu',
-       'plugins_actif_aucun' => 'Aucun plugin activé.', # NEW
-       'plugins_actif_un' => 'Un plugin activé.', # NEW
+       'plugins_actif_aucun' => 'Nisun plugin attivu.',
+       'plugins_actif_un' => 'Un plugin attivu.',
        'plugins_actifs' => '@count@ plugins attivati.',
-       'plugins_actifs_liste' => 'Actifs', # NEW
+       'plugins_actifs_liste' => 'Attivi',
        'plugins_compte' => '@count@ plugins',
-       'plugins_disponible_un' => 'Un plugin disponible.', # NEW
+       'plugins_disponible_un' => 'Un plugin dispunìbule.',
        'plugins_disponibles' => '@count@ plugin dispunìbuli.',
        'plugins_erreur' => 'Errore in i plugins : @plugins@',
        'plugins_liste' => 'Lista di i plugins',
-       'plugins_liste_dist' => 'Extensions', # NEW
-       'plugins_recents' => 'Plugins récents.', # NEW
-       'plugins_tous_liste' => 'Tous', # NEW
+       'plugins_liste_dist' => 'Plugins chjosi',
+       'plugins_recents' => 'Plugins creati di pocu.',
+       'plugins_tous_liste' => 'Tutti',
        'plugins_vue_hierarchie' => 'Ierarchia',
        'plugins_vue_liste' => 'Lista',
        'protocole_ldap' => 'Versione di u protocollu :',
@@ -883,11 +889,11 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'texte_crash_base' => 'Sì a vostra basa di dati hè scundisata, pudete puru pruvà una ricuperazione autumàtica.',
        'texte_creer_rubrique' => 'Prima di pudè scrive artìculi,<br /> vi tocca à creà una rùbbrica.',
        'texte_date_creation_article' => 'DATA DI CREAZIONE DI L\'ARTÌCULU :',
-       'texte_date_creation_objet' => 'Date de création :', # on ajoute le ":" NEW
+       'texte_date_creation_objet' => 'Data di creazione :', # on ajoute le ":"
        'texte_date_publication_anterieure' => 'Data di ùltima scrittura :',
        'texte_date_publication_anterieure_nonaffichee' => 'Ùn fà vede a data di ùltima scrittura.',
        'texte_date_publication_article' => 'DATA DI PUBBLICAZIONE :',
-       'texte_date_publication_objet' => 'Date de publication en ligne :', # NEW
+       'texte_date_publication_objet' => 'Data di publicazione in ligna :',
        'texte_descriptif_petition' => 'Discrizzione di a petizione',
        'texte_descriptif_rapide' => 'Discrizzione corta',
        'texte_effacer_base' => 'Sguassà a basa di dati SPIP',
@@ -991,29 +997,29 @@ U so statutu hè signalatu da u culore di l\'icona (scrittore = giallu; amminist
        'titre_admin_effacer' => 'Mantenimentu tècnicu',
        'titre_admin_tech' => 'Mantenimentu tècnicu',
        'titre_admin_vider' => 'Mantenimentu tècnicu',
-       'titre_ajouter_un_auteur' => 'Ajouter un auteur', # NEW
+       'titre_ajouter_un_auteur' => 'Aghjunghje un autore',
        'titre_ajouter_un_mot' => 'Ajouter un mot-clé', # NEW
-       'titre_ajouter_une_rubrique' => 'Ajouter une rubrique', # NEW
+       'titre_ajouter_une_rubrique' => 'Aghjunghje una rùbrica',
        'titre_cadre_afficher_article' => 'Vede l\'artìculi',
        'titre_cadre_afficher_traductions' => 'Vede u statu di e traduzzioni per e seguenti lingue :',
        'titre_cadre_ajouter_auteur' => 'AGHJUNGHJE UN AUTORE : ',
        'titre_cadre_interieur_rubrique' => 'Dentr\'à a rùbbrica',
        'titre_cadre_numero_auteur' => 'AUTORE NÙMERU',
-       'titre_cadre_numero_objet' => '@objet@ NUMÉRO :', # NEW
+       'titre_cadre_numero_objet' => '@objet@ nùmeru :',
        'titre_cadre_signature_obligatoire' => '<b>Zifra</b> [Ubbligatoria]<br />',
        'titre_config_contenu_notifications' => 'Nutìfiche',
        'titre_config_contenu_prive' => 'In u spaziu privatu',
        'titre_config_contenu_public' => 'Nant\'à u situ pùbblicu',
        'titre_config_fonctions' => 'Cunfigurazione di u situ',
-       'titre_config_langage' => 'Configurer la langue', # NEW
+       'titre_config_langage' => 'Cunfigurà a lingua',
        'titre_configuration' => 'Cunfigurazione di u situ',
-       'titre_configurer_preferences' => 'Configurer vos préférences', # NEW
+       'titre_configurer_preferences' => 'Cunfigurà e vostre preferenze',
        'titre_conflit_edition' => 'Cunflittu à tempu à l\'edizione',
        'titre_connexion_ldap' => 'Opzioni : <b>A vostra cunnessione LDAP</b>',
        'titre_groupe_mots' => 'GRUPPU DI PARULLE :',
        'titre_identite_site' => 'Identité du site', # NEW
-       'titre_langue_article' => 'LINGUA DI L\'ARTÌCULU', # MODIF
-       'titre_langue_rubrique' => 'LINGUA DI A RÙBBRICA', # MODIF
+       'titre_langue_article' => 'Lingua di l\'artìculu',
+       'titre_langue_rubrique' => 'Lingua di a rùbbrica',
        'titre_langue_trad_article' => 'LINGUA È TRADUZZIONI DI L\'ARTÌCULU',
        'titre_les_articles' => 'L\'ARTÌCULI',
        'titre_messagerie_agenda' => 'Messageria è agenda',
index 56e17b9..d61512f 100644 (file)
@@ -62,6 +62,8 @@ Ni konsèy aou kofirm pa ladomann linportasyon-la<p> Si ou néna bezwin inn pé
        'bouton_ajouter_participant' => 'AZOUT INN DALON :',
        'bouton_annonce' => 'ZANONS',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'lé posib anvway inn modékri.',
        'bouton_checkbox_indiquer_site' => 'a zot lé nésésèr mèt lo non dinn sitwèb',
        'bouton_checkbox_signature_unique_email' => 'inn sèl sinyatir po inn ladrès imèl',
@@ -317,6 +319,7 @@ inn liv-zimaz (sédir inn galri).',
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Lastriktir out bazdodné lé instalé.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Sapo',
        'info_chapeau_2' => 'Sapo :',
        'info_chemin_acces_1' => 'Bann lopsyon : <b>Somin laksè dann karné</b>',
@@ -452,6 +455,7 @@ fisyé SPIP.}}',
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Non',
        'info_nom_destinataire' => 'Non lo korespondan',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Lo non out sitwèb ',
        'info_nombre_articles' => '@nb_articles@ bann zartik,',
        'info_nombre_partcipants' => 'BANN DALON DANN KOZMAN:',
@@ -778,6 +782,7 @@ sanm in koulèr i présiz son léta :',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 42afc77..a7f344d 100644 (file)
@@ -55,6 +55,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'AJOUTE YON PATISIPAN :',
        'bouton_annonce' => 'ANONS',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'posibilite voye yon mesaj',
        'bouton_checkbox_indiquer_site' => 'fòk enskri yon sitwèb',
        'bouton_checkbox_signature_unique_email' => 'yon sèl siyati pou yon ladrès imèl ',
@@ -293,6 +295,7 @@ Tout informasyon-nan,  komandèr-sistèm ou komandèr-rézo li dwa donn a w.',
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Strikti bazdone se enstale.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Chapo',
        'info_chapeau_2' => 'Chapo :',
        'info_chemin_acces_1' => 'Opsyion sa-yo: <b>Chemen pou laksè nan laniyè</b>',
@@ -430,6 +433,7 @@ pa mache mèm.<br />{{Fòk w instal ankò
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Kouman i rele',
        'info_nom_destinataire' => 'Kouman destinatè i rele',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Kouman sit la li rele',
        'info_nombre_articles' => '@nb_articles@ atik (yo),',
        'info_nombre_partcipants' => 'PATISIPAN TO NAN KOZMAN :',
@@ -760,6 +764,7 @@ nan yon koulè ki bay lestati ali :',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 7a7da78..b3ce166 100644 (file)
@@ -55,6 +55,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'PŘIDAT ÚČASTNÍKA:',
        'bouton_annonce' => 'OZNÁMENÍ',
        'bouton_annuler' => 'Cancel', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'možnost odeslat zprávu',
        'bouton_checkbox_indiquer_site' => 'Musíte zadat název webu',
        'bouton_checkbox_signature_unique_email' => 'pouze jeden podpis na jednu elektronickou adresu',
@@ -291,6 +293,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'with its toolbar?', # NEW
        'info_base_installee' => 'Struktura vaší databáze byla nainstalována.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Stříška',
        'info_chapeau_2' => 'Stříška:',
        'info_chemin_acces_1' => 'Volitelný údaj: <b>Přístup k adresáři</b>', # MODIF
@@ -431,6 +434,7 @@ pro technickou údržbu. Některé z nich spouští autentifikaci, jež vyžaduj
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Jméno',
        'info_nom_destinataire' => 'Jméno příjemce',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Název webu',
        'info_nombre_articles' => '@nb_articles@ články,',
        'info_nombre_partcipants' => 'ÚČASTNÍCI DISKUSE:',
@@ -760,6 +764,7 @@ ukazuje jejich stav:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'load from @url@ and install to @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Installed libraries', # NEW
        'plugin_necessite_lib' => 'This plugin requires the library @lib@', # NEW
        'plugin_necessite_plugin' => 'Version @version@ or newer of the plugin @plugin@ is required.', # NEW
index 0753c23..811a651 100644 (file)
@@ -56,6 +56,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'TILFØJ DELTAGER:',
        'bouton_annonce' => 'ANNONCERING',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'mulighed for at sende en meddelelse',
        'bouton_checkbox_indiquer_site' => 'obligatorisk angivelse af websted ',
        'bouton_checkbox_signature_unique_email' => 'kun en signatur pr. e-mail-adresse',
@@ -290,6 +292,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Din databasestruktur er installeret.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Hoved',
        'info_chapeau_2' => 'Indledning:',
        'info_chemin_acces_1' => 'Valgmuligheder: <b>Adgangsvej til katalog</b>',
@@ -418,6 +421,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Navn',
        'info_nom_destinataire' => 'Navn på modtager',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Dit websteds navn',
        'info_nombre_articles' => '@nb_articles@ artikler,',
        'info_nombre_partcipants' => 'DELTAGERE I DISKUSSIONEN:',
@@ -744,6 +748,7 @@ i en farve, der angiver deres status:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 1324e25..4b52b8f 100644 (file)
@@ -55,6 +55,8 @@ französischen SPIP-Dokumentation</a>.',
        'bouton_ajouter_participant' => 'TEILNEHMER HINZUFÜGEN:',
        'bouton_annonce' => 'ANKÜNDIGUNG',
        'bouton_annuler' => 'Abbrechen',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'Verschicken einer Nachricht ermöglichen',
        'bouton_checkbox_indiquer_site' => 'obligatorische Angabe einer Website',
        'bouton_checkbox_signature_unique_email' => 'eine einzige Unterschrift pro E-Mail Adresse',
@@ -286,6 +288,7 @@ französischen SPIP-Dokumentation</a>.',
        'info_barre_outils' => 'mit Symbolleiste?',
        'info_base_installee' => 'Die Struktur Ihrer Datenbank wurde angelegt.',
        'info_bio' => 'Biographie',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Kopf',
        'info_chapeau_2' => 'Kopf:',
        'info_chemin_acces_1' => 'Optionen: <b>Pfad im Verzeichnis</b>',
@@ -412,6 +415,7 @@ Ihr Status wird durch die Farbe ihres Symbols angezeigt (Redakteur = gelb; Admin
        'info_nb_visiteurs' => '@nb@ Besucher',
        'info_nom' => 'Name',
        'info_nom_destinataire' => 'Name des Empfängers',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Name Ihrer Website',
        'info_nombre_articles' => '@nb_articles@ Artikel,',
        'info_nombre_partcipants' => 'TEILNEHMER DER DISKUSSION:',
@@ -581,7 +585,7 @@ in einer Farbe, die den Status anzeigt :',
        'install_select_langue' => 'Wählen Sie eine Sprache aus und klicken Sie auf «Weiter», um die Installation zu starten.',
        'install_select_type_db' => 'Geben Sie den Typ der Datenbank an:',
        'install_select_type_mysql' => 'MySQL',
-       'install_select_type_mysqli' => 'MySQLi', # NEW
+       'install_select_type_mysqli' => 'MySQLi',
        'install_select_type_pg' => 'PostgreSQL',
        'install_select_type_sqlite2' => 'SQLite 2',
        'install_select_type_sqlite3' => 'SQLite 3',
@@ -737,6 +741,7 @@ in einer Farbe, die den Status anzeigt :',
        'plugin_info_plugins_dist_1' => 'Diese Erweiterungen liegen im Verzeichnis @plugins_dist@ und werden dort aktiviert.',
        'plugin_info_plugins_dist_2' => 'Man kann sie nicht deaktivieren.',
        'plugin_info_telecharger' => 'herunterladen von @url@ und in @rep@ installieren',
+       'plugin_info_upgrade_ok' => 'Upgrade erfolgreich',
        'plugin_librairies_installees' => 'Installierte Bibliotheken',
        'plugin_necessite_lib' => 'Dieses Plugin benötigt die Bibliothek @lib@',
        'plugin_necessite_plugin' => 'Benötigt mindestens Version @version@ des Plugin @plugin@.',
index 877a1d1..7575be3 100644 (file)
@@ -50,6 +50,8 @@ Do not submit this import request.<p>For more information, please see <a href="@
        'bouton_ajouter_participant' => 'ADD A PARTICIPANT:',
        'bouton_annonce' => 'ANNOUNCEMENT',
        'bouton_annuler' => 'Cancel',
+       'bouton_cache_activer' => 'Re-activate the cache',
+       'bouton_cache_desactiver' => 'Disable the cache momentarily',
        'bouton_checkbox_envoi_message' => 'possibility of sending a message',
        'bouton_checkbox_indiquer_site' => 'You must enter the name of a Website',
        'bouton_checkbox_signature_unique_email' => 'only one signature per email address',
@@ -285,6 +287,7 @@ Do not submit this import request.<p>For more information, please see <a href="@
        'info_barre_outils' => 'with its toolbar?',
        'info_base_installee' => 'Your database structure has been installed.',
        'info_bio' => 'Biography',
+       'info_cache_desactive' => 'The cache is temporarily disabled',
        'info_chapeau' => 'Introduction',
        'info_chapeau_2' => 'Introduction:',
        'info_chemin_acces_1' => 'Options: <b>Access path in directory</b>',
@@ -425,6 +428,7 @@ via FTP.</p>',
        'info_nb_visiteurs' => '@nb@ visitors',
        'info_nom' => 'Name',
        'info_nom_destinataire' => 'Name of recipient',
+       'info_nom_pas_conforme' => 'html tags are not allowed',
        'info_nom_site' => 'Name of your site',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS IN THIS DISCUSSION:',
@@ -754,6 +758,7 @@ and their status is colour-coded:',
        'plugin_info_plugins_dist_1' => 'The following plugins are loaded and activated in the @plugins_dist@ directory.',
        'plugin_info_plugins_dist_2' => 'They cannot be disabled.',
        'plugin_info_telecharger' => 'load from @url@ and install to @rep@',
+       'plugin_info_upgrade_ok' => 'Successful update',
        'plugin_librairies_installees' => 'Libraries installed',
        'plugin_necessite_lib' => 'This plugin requires the library @lib@',
        'plugin_necessite_plugin' => 'Version @version@ or newer of the plugin @plugin@ is required.',
index d9cacef..c4fa204 100644 (file)
@@ -55,6 +55,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ALDONI PARTOPRENONTON :',
        'bouton_annonce' => 'ANONCO',
        'bouton_annuler' => 'Nuligi',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'eblas sendi mesaĝon',
        'bouton_checkbox_indiquer_site' => 'devige indiku retejon',
        'bouton_checkbox_signature_unique_email' => 'po unu subskribo por retpoŝtadreso',
@@ -289,6 +291,7 @@ Tamen vi povas malŝalti ĝin.',
        'info_barre_outils' => 'ĉu per ĝia ilobreto?',
        'info_base_installee' => 'La strukturo de via datenbazo estas instalita.',
        'info_bio' => 'Biografio',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Ĉapo',
        'info_chapeau_2' => 'Ĉapo :',
        'info_chemin_acces_1' => 'Opcioj : <b>Alirvojo en la LDAP-dosierujilo</b>',
@@ -420,6 +423,7 @@ postulas disponi je FTP-alirrajto al la retejo.</p>',
        'info_nb_visiteurs' => '@nb@ vizitantoj',
        'info_nom' => 'Nomo',
        'info_nom_destinataire' => 'Nomo de la adresato',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nomo de via retejo',
        'info_nombre_articles' => '@nb_articles@ artikoloj,',
        'info_nombre_partcipants' => 'PARTOPRENANTOJ EN LA DISKUTO:',
@@ -748,6 +752,7 @@ La tradukoj estas kunligitaj al la originalo, kun koloro kiu indikas ties staton
        'plugin_info_plugins_dist_1' => 'Kromprogramoj ĉi-sube estas ŝarĝitaj kaj aktivigitaj en la dosierujo @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Ili ne malaktivigas.',
        'plugin_info_telecharger' => 'elŝutota de @url@ kaj instalota en @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Instalitaj bibliotekoj',
        'plugin_necessite_lib' => 'Tiu ĉi kromprogramo bezonas la bibliotekon @lib@',
        'plugin_necessite_plugin' => 'Postulas la kromprogramon @plugin@ minimume laŭ versio @version@.',
index 92a8afc..18a8e59 100644 (file)
@@ -11,17 +11,17 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'activer_plugin' => 'Activar el plugin',
        'affichage' => 'Visualización',
        'aide_non_disponible' => 'Esta parte de la ayuda en línea aún no está disponible en este idioma.',
-       'annuler_recherche' => 'Anular la búsqueda',
+       'annuler_recherche' => 'Cancelar la búsqueda',
        'auteur' => 'Autor/a:',
        'avis_acces_interdit' => 'Acceso prohibido.',
-       'avis_article_modifie' => 'Atención, @nom_auteur_modif@ trabajó en este artículo hace @date_diff@ minutos.',
+       'avis_article_modifie' => 'Atención: @nom_auteur_modif@ modificó este artículo hace @date_diff@ minutos.',
        'avis_aucun_resultat' => 'Ningún resultado.',
        'avis_base_inaccessible' => 'No se puede conectar a la base de datos @base@.',
-       'avis_chemin_invalide_1' => 'El camino escogido',
+       'avis_chemin_invalide_1' => 'Ruta de acceso seleccionada',
        'avis_chemin_invalide_2' => 'no parece válido. Regresa a la página precedente y comprueba las informaciones procuradas.',
        'avis_connexion_echec_1' => 'Falló la conexión con la base de datos',
        'avis_connexion_echec_2' => 'Regresa a la página precedente y verifica las informaciones procuradas.',
-       'avis_connexion_echec_3' => '<b>OjO:</b> En muchos servidores, es necesario <b>pedir</b> la activación del acceso a la base de datos antes de poder usarla. Si no puedes conectarte, verifica que hiciste dicho trámite.',
+       'avis_connexion_echec_3' => '<b>Aviso:</b> En muchos servidores, es necesario <b>solicitar</b> la activación del acceso a la base de datos SQL antes de poder usarla. En caso de no poder conectarse a la base de datos, compruebe que se ha realizado la activación.',
        'avis_connexion_erreur_nom_base' => 'El nombre de la base sólo puede contener letras, dígitos y guiones.',
        'avis_connexion_ldap_echec_1' => 'La conexión al servidor LDAP ha fallado.',
        'avis_connexion_ldap_echec_2' => 'Regresa a la página anterior y comprueba las informaciones procuradas.',
@@ -53,6 +53,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'AÑADIR UN PARTICIPANTE:',
        'bouton_annonce' => 'ANUNCIO',
        'bouton_annuler' => 'Anular',
+       'bouton_cache_activer' => 'Reactivar la caché',
+       'bouton_cache_desactiver' => 'Desactivar temporalmente la caché',
        'bouton_checkbox_envoi_message' => 'posibilidad de enviar un mensaje',
        'bouton_checkbox_indiquer_site' => 'indicar obligatoriamente un sitio Web',
        'bouton_checkbox_signature_unique_email' => 'una sola firma por correo electrónico',
@@ -73,7 +75,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_radio_activer_petition' => 'Activar la petición',
        'bouton_radio_afficher' => 'Mostrar',
        'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Aparecer en la lista de redactores y redactoras conectados',
-       'bouton_radio_desactiver_messagerie' => 'Desactivar le mensajería',
+       'bouton_radio_desactiver_messagerie' => 'Desactivar la mensajería',
        'bouton_radio_envoi_annonces_adresse' => 'Enviar los anuncios a la dirección:',
        'bouton_radio_envoi_liste_nouveautes' => 'Enviar la lista de novedades',
        'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'No aparecer en la lista de redactores y redactoras',
@@ -284,6 +286,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => '¿con su barra de herramientas?',
        'info_base_installee' => 'La estructura de tu base de datos ha sido instalada',
        'info_bio' => 'Biografiá',
+       'info_cache_desactive' => 'La caché está temporalmente desactivada.',
        'info_chapeau' => 'Epígrafe',
        'info_chapeau_2' => 'Epígrafe:',
        'info_chemin_acces_1' => 'Opciones: <b>camino de acceso en el directorio</b>',
@@ -412,6 +415,7 @@ Los idiomas que ya se utilizan en el sitio (al principio de la lista) no pueden
        'info_nb_visiteurs' => '@nb@ visitantes',
        'info_nom' => 'Nombre',
        'info_nom_destinataire' => 'Nombre del destinatario o destinataria',
+       'info_nom_pas_conforme' => 'las etiquetas HTML no están permitidas',
        'info_nom_site' => 'Nombre de tu sitio',
        'info_nombre_articles' => '@nb_articles@ artículos,',
        'info_nombre_partcipants' => 'Participan en el debate...',
@@ -737,6 +741,7 @@ Las traducciones están asociadas al original, en un color que indica su estado:
        'plugin_info_plugins_dist_1' => 'Las plugins siguientes se cargan y se activan en la carpeta @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'No pueden desactivarse.',
        'plugin_info_telecharger' => 'se descargará de @url@ y se instalará en @rep@',
+       'plugin_info_upgrade_ok' => 'Actualización exitosa',
        'plugin_librairies_installees' => 'Bibliotecas instaladas',
        'plugin_necessite_lib' => 'Este plugin necesita la biblioteca @lib@',
        'plugin_necessite_plugin' => 'Necesita el plugin @plugin@ con versión @version@ por lo menos.',
index c22c411..5fcd5e4 100644 (file)
@@ -53,6 +53,8 @@ Ez balidatu inportazio galdera hau.
        'bouton_ajouter_participant' => 'PARTEHARTZAILE BAT GEHITU:',
        'bouton_annonce' => 'IRAGARKIA',
        'bouton_annuler' => 'Ezeztatu',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'mezu bat bidaltzeko aukera',
        'bouton_checkbox_indiquer_site' => 'Web toki bat derrigorrezadierazi',
        'bouton_checkbox_signature_unique_email' => 'Posta elektroniko bakoitzeko sinadura bana',
@@ -93,7 +95,7 @@ Ez balidatu inportazio galdera hau.
        'cache_mode_compresse' => 'Cacheko fitxategiak modu konprimituan gorde dira.',
        'cache_mode_non_compresse' => 'Cacheko fitxategiak ez dira gorde modu konprimituan.',
        'cache_modifiable_webmestre' => 'Parametra hauek tokiaren administratzaileak aldatzen ahal ditu.',
-       'calendrier_synchro' => 'Agenda-software bateragarri bat erabiltzen baduzu <b>iCal</b>, leku honen gaurkotasun-editorialarekin sinkronizatu dezakezu.',
+       'calendrier_synchro' => 'Agenda-software bateragarri bat erabiltzen baduzu <b>iCal</b>, gune honen gaurkotasun-editorialarekin sinkroniza dezakezu.',
        'config_activer_champs' => 'Ondorengo eremuak aktibatu',
        'config_choix_base_sup' => 'Zerbitzari honetan datu base bat zehaztu',
        'config_erreur_base_sup' => 'SPIPek ez dauka sartzerik datu base erabilgarrien zerrendan',
@@ -179,11 +181,11 @@ Seguritate hobetzeko, konfigurazio hau aldatu behar zenuke, edo @constantes@ kon
        // I
        'ical_info1' => 'Lekuarenbizitzarekin harremanetan egoteko dauden zenbait modu orrialde honetan aurkeztendira.',
        'ical_info2' => 'Teknika guzti hauen buruzko informazio gehiago lortzeko, <a href="@spipnet@">SPIP dokumentazioa</a> kontsulta dezakezu.',
-       'ical_info_calendrier' => 'Bi egutegidituzu eskura. Lehena leku-planoa da, bertan argitaratutako artikulu guztiak adieraztendirelarik. Bigarrenak iragarki editorialak eta zure azken mezu pribatuak ditu: zukbakarrik ikus dezakezu gako-hitz pertsonal baten bidez, gako-hitza edozein unean aldatudaiteke zure pasahitza aldatzen baduzu.',
+       'ical_info_calendrier' => 'Bi egutegi dituzu eskura. Lehena gunearen planoa da, bertan argitaratutako artikulu guztiak adierazten direlarik. Bigarrenak iragarki editorialak eta zure azken mezu pribatuak ditu: zuk bakarrik ikus dezakezu gako pertsonal baten bidez, gakoa edozein unean alda dezakezularik zure pasahitza aldatuz.',
        'ical_methode_http' => 'Deskargatu',
        'ical_methode_webcal' => 'Sinkronizazioa (webcal://)',
-       'ical_texte_js' => 'Leku honetanberriki argitaratutako artikuluak, Javascript lerro baten bidez, zurea den edozein lekutanikus ditzakezu.',
-       'ical_texte_prive' => 'Egutegi hau erabat pertsonala da eta leku honenekintza editorial pribatuen berri ematen du (eginkizunak, hitzordu pertsonalak,artikuluak eta proposatutako berri laburrak,..)',
+       'ical_texte_js' => 'Gune honetan berriki argitaratutako artikuluak, zure edo edozeinen gunean ikus ditzakezu, Javascript lerro baten bidez.',
+       'ical_texte_prive' => 'Egutegi hau erabat pertsonala da eta gune honen ekintza editorial pribatuen berri ematen du (eginkizunak, hitzordu pertsonalak, artikuluak eta proposatutako berri-laburrak,..)',
        'ical_texte_public' => 'Egutegi honi eskerleku honetako ekintza publikoen jarraipena egin daiteke (artikuluak eta berri laburrak)',
        'ical_texte_rss' => 'Leku honen nobedadeak XML/RSS (Rich Site Summary)formatuko edozein fitxategi irakurgailuz sindikatu ditzakezu. Halaber SPIP-ak bestelekuetan argitaratutako nobedadeak irakur ditzake baldin eta leku horiek truke-formatubateragarria (sindikatutako lekuak) erabiltzen badute.',
        'ical_titre_js' => 'Javascript',
@@ -286,6 +288,7 @@ Seguritate hobetzeko, konfigurazio hau aldatu behar zenuke, edo @constantes@ kon
        'info_barre_outils' => 'bere tresna-barrarekin ?',
        'info_base_installee' => 'Zure datubasearen egitura instalatua izan da',
        'info_bio' => 'Biografia',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Idazpurua',
        'info_chapeau_2' => 'Epigrafea:',
        'info_chemin_acces_1' => 'Aukerak: sarbidea urtekarian',
@@ -414,6 +417,7 @@ Kasu honetan, SPIP-eko hurrengo funtzinalitateak ez dute funtzionatuko.',
        'info_nb_visiteurs' => '@nb@ bisitari',
        'info_nom' => 'Izena',
        'info_nom_destinataire' => 'Hartzailearen izena',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Zure gunearen izena',
        'info_nombre_articles' => '@nb_articles@ artikulu,',
        'info_nombre_partcipants' => 'Debatean parte-hartzaile...',
@@ -738,6 +742,7 @@ Itzulpenak originalari asoziatuta daude, bere egoera adierazten duten kolore bat
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => '@url@ helbidetik deskargatu beharra, eta @rep@ direktorioan instalatzekoa',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Instalatutako liburutegiak',
        'plugin_necessite_lib' => 'plugin hunek @lib@ liburutegia beharesten du.',
        'plugin_necessite_plugin' => 'Beharretsia : @plugin@ plugina @version@ bertsio minimoarekin.',
index 2cf7c17..226b4a9 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => ': يك شركت كننده اضافه كنيد',
        'bouton_annonce' => 'خبر',
        'bouton_annuler' => 'باطل کنید',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'امكان فرستادن پيام',
        'bouton_checkbox_indiquer_site' => 'يك سايت تارنما را الزامأ مشخص كنيد',
        'bouton_checkbox_signature_unique_email' => 'تنها يك امضاء براى هر آدرس الكترونيكى',
@@ -281,6 +283,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'با ميل ابزار آن؟',
        'info_base_installee' => '.ساختار داده پى هايتان نصب شده',
        'info_bio' => 'زندگي‌نامه',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'سر متن',
        'info_chapeau_2' => ':سر متن',
        'info_chemin_acces_1' => 'گزینش: <b>مسير ورود به راهنما</b>',
@@ -406,6 +409,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ بازديد‌كننده',
        'info_nom' => 'نام',
        'info_nom_destinataire' => 'نام گيرنده',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'نام سايتتان',
        'info_nombre_articles' => 'مقاله @nb_articles@ ',
        'info_nombre_partcipants' => ':شركت كنند گان در اين گفتگو',
@@ -724,6 +728,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'پلاگين‌هاي زير در پوشه‌ي @plugins_dist@ بارگذاري و فعال‌ شده‌اند. ',
        'plugin_info_plugins_dist_2' => 'غيرفعال نمي‌شوند',
        'plugin_info_telecharger' => 'باربرداري از @url@ و نصب در @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'آرشيو‌هاي نصب‌ شده',
        'plugin_necessite_lib' => 'اين پلاگين به آرشيو @lib@ نياز دارد',
        'plugin_necessite_plugin' => 'به plugin @plugin@ نسخه ی @version@ نیاز دارید',
index 281049d..4b8ac1e 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'Mi zé mɛɖokpo gɔna',
        'bouton_annonce' => 'Xo ɖɔdotoji',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'mi hɛn ɔ mi na sɛ wɛn ɖokpo ɖo',
        'bouton_checkbox_indiquer_site' => 'mi ɖo na xlɛgblogbloji ɖokpo',
        'bouton_checkbox_signature_unique_email' => 'e-mail ɖokpo, alɔɖowémàmɛ ɖokpo',
@@ -279,6 +281,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Tìtòmɛ gbètákɛnxòkplé mi tɔn ô sɔgbè.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'gbàkún',
        'info_chapeau_2' => 'gbàkún:',
        'info_chemin_acces_1' => 'àlì yé ná dó byɔ mɛ ɔ',
@@ -404,6 +407,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'E wó',
        'info_nom_destinataire' => 'nyíkɔ mɛ ná yí ɔ tɔn',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'gblogblojí mi tɔn sín nyíkɔ',
        'info_nombre_articles' => '@nb_articles@ wékpá,',
        'info_nombre_partcipants' => 'mi byɔ kplé mɛ:',
@@ -722,6 +726,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 72fb11b..bf09c85 100644 (file)
@@ -54,6 +54,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'AJOUTER UN PARTICIPANT :',
        'bouton_annonce' => 'ANNONCE',
        'bouton_annuler' => 'Annuler',
+       'bouton_cache_activer' => 'Réactiver le cache',
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache',
        'bouton_checkbox_envoi_message' => 'possibilité d\'envoyer un message',
        'bouton_checkbox_indiquer_site' => 'indiquer obligatoirement un site Web',
        'bouton_checkbox_signature_unique_email' => 'une seule signature par adresse email',
@@ -291,6 +293,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?',
        'info_base_installee' => 'La structure de votre base de données est installée.',
        'info_bio' => 'Biographie',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.',
        'info_chapeau' => 'Chapeau',
        'info_chapeau_2' => 'Chapeau :',
        'info_chemin_acces_1' => 'Options : <b>Chemin d\'accès dans l\'annuaire</b>',
@@ -433,6 +436,7 @@ exige d\'avoir un accès FTP au site Web.</p>',
        'info_nb_visiteurs' => '@nb@ visiteurs',
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom du destinataire',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés',
        'info_nom_site' => 'Nom de votre site',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION :',
@@ -763,6 +767,7 @@ dans une couleur qui indique leur état :',
        'plugin_info_plugins_dist_1' => 'Les plugins ci-dessous sont chargés et activés dans le répertoire @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Ils ne sont pas désactivables.',
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie',
        'plugin_librairies_installees' => 'Librairies installées',
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@',
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.',
index 0329cf6..11d1217 100644 (file)
@@ -54,6 +54,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ENGADIR PARTICIPANTE:',
        'bouton_annonce' => 'ANUNCIO',
        'bouton_annuler' => 'Anular',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'posibilidade de enviar unha mensaxe',
        'bouton_checkbox_indiquer_site' => 'indicar obrigatoriamente un web',
        'bouton_checkbox_signature_unique_email' => 'unha soa sinatura por cada enderezo de correo-e',
@@ -289,6 +291,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'coa barra de utilidades?',
        'info_base_installee' => 'A estrutura da base de datos foi instalada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Cabeceira',
        'info_chapeau_2' => 'Cabeceira:',
        'info_chemin_acces_1' => 'Opci&oacute;ns: <b>Cami&ntilde;o de acceso ao anuario</b>',
@@ -428,6 +431,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visitantes',
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome do/a destinatario',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome do seu web',
        'info_nombre_articles' => '@nb_articles@ artigos,',
        'info_nombre_partcipants' => 'PARTICIPANTES NA DISCUSIÓN:',
@@ -757,6 +761,7 @@ cunha cor que indica o seu estado :',
        'plugin_info_plugins_dist_1' => 'As extensións seguintes cárganse e actívanse no cartafol @plugins_dist@.', # MODIF
        'plugin_info_plugins_dist_2' => 'Non son desactivables', # MODIF
        'plugin_info_telecharger' => 'descargar desde @url@ e instalalo no cartafol @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librarías instaladas',
        'plugin_necessite_lib' => 'Este módulo necesita a libraría @lib@',
        'plugin_necessite_plugin' => 'Necesita o plugin @plugin@ na súa version @version@ mínimo.',
index 66654a7..a43bdfb 100644 (file)
@@ -55,6 +55,8 @@ SPIP dokumentációja (franciául)</a>.', # MODIF
        'bouton_ajouter_participant' => 'ÚJ RÉSZTVEVŐ :',
        'bouton_annonce' => 'HÍRDETÉS',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'Lehetőség üzenetküldéshez',
        'bouton_checkbox_indiquer_site' => 'Honlapot kötelezően kell kijelölni',
        'bouton_checkbox_signature_unique_email' => 'csak egy aláírás emailcímenként',
@@ -289,6 +291,7 @@ SPIP dokumentációja (franciául)</a>.', # MODIF
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Az Ön adatbázisának struktúrája telepítve van.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Bevezető',
        'info_chapeau_2' => 'Bevezető :',
        'info_chemin_acces_1' => 'Opciók : <b>Elérési út a címtárban</b>', # MODIF
@@ -417,6 +420,7 @@ a törölt szerzők pedig kukával vannak jelölve.', # MODIF
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Név',
        'info_nom_destinataire' => 'Címzett neve',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Az Ön honlapja neve',
        'info_nombre_articles' => '@nb_articles@ cikk,',
        'info_nombre_partcipants' => 'A VITA RÉSZTVEVŐI :',
@@ -743,6 +747,7 @@ ami állapotát jelzi :',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 237ba39..ca25e1f 100644 (file)
@@ -56,6 +56,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'TAMBAH SEORANG PESERTA:',
        'bouton_annonce' => 'PENGUMUMAN',
        'bouton_annuler' => 'Batal',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'kemungkinan untuk mengirimkan sebuah pesan',
        'bouton_checkbox_indiquer_site' => 'Anda harus mengisi nama untuk sebuah situs web',
        'bouton_checkbox_signature_unique_email' => 'hanya satu tanda tangan per alamat e-mail',
@@ -291,6 +293,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Struktur database anda telah diinstal.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Dek',
        'info_chapeau_2' => 'Introduksi:',
        'info_chemin_acces_1' => 'Pilihan: <b>Path akses dalam direktori</b>',
@@ -427,6 +430,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nama',
        'info_nom_destinataire' => 'Nama penerima',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nama situs anda',
        'info_nombre_articles' => '@nb_articles@ artikel,',
        'info_nombre_partcipants' => 'PESERTA DISKUSI:',
@@ -757,6 +761,7 @@ dalam warna yang menunjukkan statusnya:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 8f0207d..94159e0 100644 (file)
@@ -55,6 +55,8 @@ disattivata per motivi sicurezza (verifica con l\'amministratore di sistema).',
        'bouton_ajouter_participant' => 'AGGIUNGI UN UTENTE:',
        'bouton_annonce' => 'ANNUNCIO',
        'bouton_annuler' => 'Annulla',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilità di inviare un messaggio',
        'bouton_checkbox_indiquer_site' => 'indicare obbligatoriamente un sito Web',
        'bouton_checkbox_signature_unique_email' => 'una sola adesione per indirizzo email',
@@ -290,6 +292,7 @@ immagini inserite. Ciò permette ad esempio di creare in automatico una galleria
        'info_barre_outils' => 'con la barra degli strumenti?',
        'info_base_installee' => 'La struttura del vostro database è installata.',
        'info_bio' => 'Biografia',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Introduzione',
        'info_chapeau_2' => 'Introduzione:',
        'info_chemin_acces_1' => 'Opzioni: <b>Percorso d\'accesso ai dati nell\'elenco</b>',
@@ -428,6 +431,7 @@ le informazioni contenute nel database sono probabilmente andate perse.<br />{{R
        'info_nb_visiteurs' => '@nb@ visitatori',
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome del destinatario',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome del tuo sito',
        'info_nombre_articles' => '@nb_articles@ articoli,',
        'info_nombre_partcipants' => 'PARTECIPANTI ALLA DISCUSSIONE:',
@@ -752,6 +756,7 @@ Le traduzioni sono associate all\'originale,
        'plugin_info_plugins_dist_1' => 'Le estensioni sottostanti sono caricate e attivate nella directory @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Questi non possono essere disabilitati.',
        'plugin_info_telecharger' => 'da scaricare da @url@ e da installare in @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librerie installate',
        'plugin_necessite_lib' => 'Questa estensione richiede la libreria @lib@',
        'plugin_necessite_plugin' => 'Necessita l\'estensione @plugin@ con almeno la versione @version@.',
index ccbafb1..eb1d70f 100644 (file)
@@ -54,6 +54,8 @@ disattivata per motivi sicurezza (verifica con l\'amministratrice di sistema).',
        'bouton_ajouter_participant' => 'AGGIUNGI UNA UTENTE:',
        'bouton_annonce' => 'ANNUNCIO',
        'bouton_annuler' => 'Annulla',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilità di inviare un messaggio',
        'bouton_checkbox_indiquer_site' => 'indicare obbligatoriamente un sito Web',
        'bouton_checkbox_signature_unique_email' => 'una sola adesione per indirizzo email',
@@ -289,6 +291,7 @@ immagini inserite. Ciò permette ad esempio di creare in automatico una galleria
        'info_barre_outils' => 'con la barra degli strumenti?',
        'info_base_installee' => 'La struttura del vostro database è installata.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Introduzione',
        'info_chapeau_2' => 'Introduzione:',
        'info_chemin_acces_1' => 'Opzioni: <b>Percorso d\'accesso ai dati nell\'elenco</b>',
@@ -424,6 +427,7 @@ le informazioni contenute nel database sono probabilmente andate perse.<br />{{R
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome del destinatario',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome del tuo sito',
        'info_nombre_articles' => '@nb_articles@ articoli,',
        'info_nombre_partcipants' => 'PARTECIPANTI ALLA DISCUSSIONE:',
@@ -753,6 +757,7 @@ Le traduzioni sono associate all\'originale,
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'da scaricare da @url@ e da installare in @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librerie installate',
        'plugin_necessite_lib' => 'Questo plug-in richiede la libreria @lib@',
        'plugin_necessite_plugin' => 'Necessita il plug-in @plugin@ con almeno la versione @version@.',
index 969bb2c..2527993 100644 (file)
@@ -55,6 +55,8 @@ SPIPドキュメント</a>をご覧ください。</p>', # MODIF
        'bouton_ajouter_participant' => '関係するものを追加:',
        'bouton_annonce' => 'アナウンス',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'メッセージが送れるようにする',
        'bouton_checkbox_indiquer_site' => 'ウェブサイトを必須入力にする',
        'bouton_checkbox_signature_unique_email' => 'メールアドレス1つにつき、1署名まで',
@@ -290,6 +292,7 @@ SPIPドキュメント</a>をご覧ください。</p>', # MODIF
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'あなたのデータベースの中に構造物がインストールされました。',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => '飾り',
        'info_chapeau_2' => 'イントロダクション:',
        'info_chemin_acces_1' => 'オプション: <b>ディレクトリのアクセス・パス</b>',
@@ -419,6 +422,7 @@ SPIPドキュメント</a>をご覧ください。</p>', # MODIF
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => '名前',
        'info_nom_destinataire' => '受取人の名前',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'HPの名前',
        'info_nombre_articles' => '@nb_articles@ 記事、',
        'info_nombre_partcipants' => '討論の参加者:',
@@ -740,6 +744,7 @@ SPIPドキュメント</a>をご覧ください。</p>', # MODIF
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 138b952..bc468cd 100644 (file)
@@ -49,6 +49,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'បន្ថែម​ អ្នកចូលរួម ៖',
        'bouton_annonce' => 'ការប្រកាសដំណឹង',
        'bouton_annuler' => 'បោះបង់',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'លទ្ធភាពផ្ញើ​មួយសារ',
        'bouton_checkbox_indiquer_site' => 'ត្រូវ​តែបង្ហាញ​ មួយវ៉ែបសៃថ៍',
        'bouton_checkbox_signature_unique_email' => 'មួយគត់ ហត្ថលេខា​ ក្នុងមួយ​អ៊ីមែវល៍អាសយដ្ឋាន',
@@ -283,6 +285,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'ជាមួយ របារឧបករ របស់វា ឬ?',
        'info_base_installee' => 'បានតំលើង រចនាសម្ពន្ធ មូលដ្ឋានទិន្នន័យ របស់អ្នក។',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'ឧបករ រក្សា​ទិន្នន័យ',
        'info_chapeau_2' => 'សេចក្ដី​ផ្ដើម ៖',
        'info_chemin_acces_1' => 'ជម្រើស ៖<b>ច្រកចូល​នៅ​ក្នុង​បញ្ជី​រាយ​ឈ្មោះ</b>',
@@ -413,6 +416,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'ឈ្មោះ',
        'info_nom_destinataire' => 'ឈ្មោះ​អ្នក​ទទួល',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'ឈ្មោះវ៉ែបសៃថ៍ របស់ខ្ញុំ',
        'info_nombre_articles' => 'អត្ថបទ',
        'info_nombre_partcipants' => 'អ្នកចូលរួម​ក្នុង​ការ​ពិភាក្សាៈ',
@@ -733,6 +737,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 992a9cb..5608e5d 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'MATAARBECHTER BÄIFLÉCKEN:',
        'bouton_annonce' => 'ANNONCE',
        'bouton_annuler' => 'Ofbriechen',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'et kann e Message geschéckt ginn',
        'bouton_checkbox_indiquer_site' => 'dir musst en Internet-Site uginn',
        'bouton_checkbox_signature_unique_email' => 'eng eenzeg Ënnerschrëft pro Email-Adress',
@@ -279,6 +281,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'mat senger Toolbar?',
        'info_base_installee' => 'D\'Struktur vun ärer Datebank ass installéiert.',
        'info_bio' => 'Biographie',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Chapo',
        'info_chapeau_2' => 'Chapo:',
        'info_chemin_acces_1' => 'Optiounen: <b>Wee an der Lëscht</b>',
@@ -404,6 +407,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ Visiteuren',
        'info_nom' => 'Numm',
        'info_nom_destinataire' => 'Numm vum Destinataire',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Numm vun ärem Site',
        'info_nombre_articles' => '@nb_articles@ Artikelen,',
        'info_nombre_partcipants' => 'HUELEN UN DER DISKUSSIOUN DEEL:',
@@ -721,6 +725,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Déi hei Plugine sinn an den Dossier @plugins_dist@ gelueden an ageschalt.',
        'plugin_info_plugins_dist_2' => 'Si kënne net ausgeschalt ginn.',
        'plugin_info_telecharger' => 'Eroflueden vun @url@ an Ariichten an @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Installéiert Librairie\'en',
        'plugin_necessite_lib' => 'Dëse Plugin brauch d\'Librairie @lib@',
        'plugin_necessite_plugin' => 'De Plugin @plugin@ muss mindestens op der Versioun @version@ sinn.',
index 88c7fdf..9e27f8b 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ပါဝင်သူထပ်ထည့်ပါ',
        'bouton_annonce' => 'ကြေငြာချက်',
        'bouton_annuler' => 'ပယ်သည်',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'စာပို့ရန်ဖြစ်နိုင်ခြေ',
        'bouton_checkbox_indiquer_site' => 'ဝက်ဘ်ဆိုက်နာမည်ထည့်ပါ',
        'bouton_checkbox_signature_unique_email' => 'အီးမေးလ်လိပ်စာတခုတွင် အမှတ်သားတခုသာ',
@@ -279,6 +281,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'သင့်အချက်လက် သိုလှောင်မှု တည်ဆောက်ပုံကို ထည့်သွင်းပြီးဖြစ်သည်',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'စာရေးခုံ',
        'info_chapeau_2' => 'မိတ်ဆက်ခြင်း',
        'info_chemin_acces_1' => 'ရွေးချယ်ရန်များ <b>ဖိုင်လမ်းညွှန်ထဲရှိ ဆက်သွယ်ရန်လမ်းကြောင်း</b>',
@@ -404,6 +407,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'အမည်',
        'info_nom_destinataire' => 'ပါဝင်သူအမည်',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'သင့်ဝက်ဘ်ဆိုက်နာမည်',
        'info_nombre_articles' => '@nb_articles@ ဆောင်းပါးများ',
        'info_nombre_partcipants' => 'ဆွေးနွေးမှုတွင် ပါဝင်သူများ',
@@ -721,6 +725,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 9116772..b4b403c 100644 (file)
@@ -49,6 +49,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'EEN DEELNEMER TOEVOEGEN:',
        'bouton_annonce' => 'AANKONDIGING',
        'bouton_annuler' => 'Annuleren',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'mogelijkheid om een bericht te versturen',
        'bouton_checkbox_indiquer_site' => 'verplicht een website opgeven',
        'bouton_checkbox_signature_unique_email' => 'een enkele handtekening per e-mail adres',
@@ -281,6 +283,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'met zijn werktuigen staaf ?',
        'info_base_installee' => 'De structuur van je databank is geïnstalleerd.',
        'info_bio' => 'biografie',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Kop',
        'info_chapeau_2' => 'Kop :',
        'info_chemin_acces_1' => 'Opties : <b>Toegang tot het adresboek</b>',
@@ -413,6 +416,7 @@ gewiste auteurs met een grijze.',
        'info_nb_visiteurs' => '@nb@ bezoekers',
        'info_nom' => 'Naam',
        'info_nom_destinataire' => 'Naam van de bestemmeling',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'naam van je site',
        'info_nombre_articles' => '@nb_articles@ artikels,',
        'info_nombre_partcipants' => 'DEELNEMERS AAN DE DISCUSSIE :',
@@ -744,6 +748,7 @@ een kleur geeft hun status aan :',
        'plugin_info_plugins_dist_1' => 'De onderstaande plugins zijn geladen en geactiveerd in de directory @plugins_dist@.', # extensies zijn speciaale plugins geleeverd met spip-core om een gebruikbare SPIP pakket te bouwen
        'plugin_info_plugins_dist_2' => 'Ze zijn niet te deactiveren.',
        'plugin_info_telecharger' => 'om sinds @url@ te downloaden en om te plaatsen in @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Geplaatste boekhandels',
        'plugin_necessite_lib' => 'Dit plugin vereist de boekhandel @lib@',
        'plugin_necessite_plugin' => 'Vereist plugin @plugin@ in versie minimale @version@.',
index b664bab..2295918 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'APONDRE UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatoriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'Mas una signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator dau sistèma o de la ret vos deu poder fornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de vòstra basa de donadas z-es installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Chapèl',
        'info_chapeau_2' => 'Chapèl:',
        'info_chemin_acces_1' => 'Opcions: <b>chamin d\'accès dins l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator dau sistèma o de la ret vos deu poder fornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom dau destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom de vòstre sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ una color indica lor estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 36f39fc..4086217 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'AJUSTAR UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatòriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'sonque ua signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator deu sistèma o de l\'arret que\'vs deu poder hornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de la vòsta basa de dadas qu\'ei installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Capèth',
        'info_chapeau_2' => 'Capèth:',
        'info_chemin_acces_1' => 'Opcions: <b>camin d\'accès dens l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator deu sistèma o de l\'arret que\'vs deu poder hornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom deu destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom deu vòste sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ ua color qu\'indica lo lor estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 27a0e44..0b5f9f7 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'APONDRE UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatoriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'Nonmàs una signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator dau sistema o de la ret vos deu poder fornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de vòstra basa de donadas es installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Chapeu',
        'info_chapeau_2' => 'Chapeu:',
        'info_chemin_acces_1' => 'Opcions: <b>chamin d\'accès dins l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator dau sistema o de la ret vos deu poder fornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom dau destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom de vòstre sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ una color indica lor estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index e253914..035c8c8 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'APONDRE UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Anullar',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatòriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'sonque una signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator del sistèma o de la ret vos deu poder fornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de vòstra basa de donadas es installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Capèl',
        'info_chapeau_2' => 'Capèl :',
        'info_chemin_acces_1' => 'Opcions : <b>camin d\'accès dins l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator del sistèma o de la ret vos deu poder fornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom del destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom del vòstre sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ una color indica lor estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Demanda l\'ajuston @plugin@ en version @version@ al mens.',
index 650f70d..8fa5219 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'AJUSTAR UN PARTICIPANT :',
        'bouton_annonce' => 'ANONÇA',
        'bouton_annuler' => 'Anular',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatòriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'una soleta signatura per adreça e-mail',
@@ -280,6 +282,7 @@ Aqueli informacions vos devon poder èstre provesidi per l\'administrator dau si
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de la voastra basa de donadas es installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Capèu',
        'info_chapeau_2' => 'Capèu :',
        'info_chemin_acces_1' => 'Opcions: <b>camin d\'accès dins l\'annuari</b>',
@@ -408,6 +411,7 @@ Aqueli informacions vos devon poder èstre provesidi per l\'administrator dau si
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom dau destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom dau voastre site',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS À LA DISCUSSION :',
@@ -735,6 +739,7 @@ una color indica lo sieu estat :',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index ae830fe..bd1a146 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'APONDRE UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatoriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'basta una signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator dau sistèma ò de la ret vos deu poder fornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de la vòstra basa de donadas es installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Capèu',
        'info_chapeau_2' => 'Capèu:',
        'info_chemin_acces_1' => 'Opcions: <b>camin d\'accès dins l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator dau sistèma ò de la ret vos deu poder fornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom dau destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom dau vòstre sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ un color indica lo sieu estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 328e6d9..1031d8c 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'APONDRE UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatoriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'ren qu\'una signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator dau sistèma o de la ret vos deu poder fornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de vòstra basa de donadas es installada.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Capèu',
        'info_chapeau_2' => 'Capèu:',
        'info_chemin_acces_1' => 'Opcions: <b>camin d\'accès dins l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator dau sistèma o de la ret vos deu poder fornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom dau destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom dau vòstre sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ una color indica lor estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 8cb2529..8a9efb7 100644 (file)
@@ -50,6 +50,8 @@ la documentacion d\'SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'APONDRE UN PARTICIPANT:',
        'bouton_annonce' => 'ANONCI',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilitat de mandar un messatge',
        'bouton_checkbox_indiquer_site' => 'indicar obligatoriament un sit web',
        'bouton_checkbox_signature_unique_email' => 'Mas qu\'una signatura per adreiça e-mail',
@@ -283,6 +285,7 @@ L\'administrator dau sistèma o de la ret vos deu poer fornir
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'L\'estructura de vòstra basa de donaas es installaa.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Chapèl',
        'info_chapeau_2' => 'Chapèl:',
        'info_chemin_acces_1' => 'Opcions: <b>chamin d\'accès dins l\'annuari</b>',
@@ -416,6 +419,7 @@ L\'administrator dau sistèma o de la ret vos deu poer fornir
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nom',
        'info_nom_destinataire' => 'Nom dau destinatari',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nom de vòstre sit',
        'info_nombre_articles' => '@nb_articles@ articles,',
        'info_nombre_partcipants' => 'PARTICIPANTS A LA DISCUSSION:',
@@ -743,6 +747,7 @@ una color indica lor estat:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index c2adf78..13ac3a2 100644 (file)
@@ -49,6 +49,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'DODAJ UCZESTNIKA:',
        'bouton_annonce' => 'ZAWIADOMIENIE',
        'bouton_annuler' => 'Anuluj',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'możliwość wysłania wiadomości',
        'bouton_checkbox_indiquer_site' => 'Musisz wpisać nazwę strony internetowej',
        'bouton_checkbox_signature_unique_email' => 'tylko jeden podpis na adres e-mail',
@@ -284,6 +286,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'z jego paska narzędzi?',
        'info_base_installee' => 'Struktura Twojej bazy danych została zainstalowana.',
        'info_bio' => 'Biografia',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Wstęp',
        'info_chapeau_2' => 'Wstęp:',
        'info_chemin_acces_1' => 'Opcje: <b>Ścieżka dostępu do katalogu</b>',
@@ -424,6 +427,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ goście',
        'info_nom' => 'Nazwisko',
        'info_nom_destinataire' => 'Nazwisko odbiorcy',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nazwa Twojej strony',
        'info_nombre_articles' => '@nb_articles@ artykułów,',
        'info_nombre_partcipants' => 'UCZESTNICY DYSKUSJI:',
@@ -753,6 +757,7 @@ Przekłady są połączone z oryginałem, za pomocą koloru wskazującego na ich
        'plugin_info_plugins_dist_1' => 'Następujące wtyczki są załadowane i uruchomione w katalogu @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Nie mogą zostać wyłączone.',
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Biblioteka programistyczna została zainstalowana',
        'plugin_necessite_lib' => 'Ta wtyczka wymaga biblioteki programistycznej @lib@',
        'plugin_necessite_plugin' => 'Potrzeba pluginu @plugin@ co najmniej w wersji @version@.',
index 68eea8d..73d59bf 100644 (file)
@@ -57,6 +57,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ACRESCENTAR UM PARTICIPANTE :',
        'bouton_annonce' => 'ANÚNCIO',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilidade de mandar uma mensagem',
        'bouton_checkbox_indiquer_site' => 'indicar obrigatoriamente um sítio Web',
        'bouton_checkbox_signature_unique_email' => 'uma única assinatura por endereço email',
@@ -294,6 +296,7 @@ ou da rede',
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'A estrutura da sua base de dados está instalada',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Cabeçalho',
        'info_chapeau_2' => 'Cabeçalho :',
        'info_chemin_acces_1' => 'Opções : <b>Caminho de acesso no anuário</b>', # MODIF
@@ -432,6 +435,7 @@ Os estatuto dos autores é indicado pela cor dos ícones (administrador = verde;
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome do destinatário',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome do seu sítio',
        'info_nombre_articles' => '@nb_articles@ artigos,',
        'info_nombre_partcipants' => 'PARTICIPANTES NA DISCUSSÃO :',
@@ -762,6 +766,7 @@ numa cor que indica o seu estado:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index b77cd77..7798b48 100644 (file)
@@ -50,6 +50,8 @@ risco de destruição da sua base de dados, mal funcionamento generalizado do si
        'bouton_ajouter_participant' => 'INCLUIR UM PARTICIPANTE:',
        'bouton_annonce' => 'AVISO',
        'bouton_annuler' => 'Anular',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'possibilidade de enviar uma mensagem',
        'bouton_checkbox_indiquer_site' => 'informar obrigatoriamente um website',
        'bouton_checkbox_signature_unique_email' => 'uma única assinatura por endereço de e-mail',
@@ -282,6 +284,7 @@ Estas informações deverão ser fornecidas pelo administrador do sistema ou da
        'info_barre_outils' => 'com sua barra de ferramentas?',
        'info_base_installee' => 'A estrutura da sua base de dados foi instalada.',
        'info_bio' => 'Biografia',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Introdução',
        'info_chapeau_2' => 'Introdução:',
        'info_chemin_acces_1' => 'Opções: <b>Caminho de acesso no diretório</b>',
@@ -410,6 +413,7 @@ Os idiomas já utilizados no site (no topo da lista) não podem ser desativados.
        'info_nb_visiteurs' => '@nb@ visitantes',
        'info_nom' => 'Nome',
        'info_nom_destinataire' => 'Nome do destinatário',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Nome do seu site',
        'info_nombre_articles' => '@nb_articles@ matérias,',
        'info_nombre_partcipants' => 'PARTICIPANTES DA DISCUSSÃO:',
@@ -728,6 +732,7 @@ As traduções estão associadas ao original, numa côr que indica o seu status:
        'plugin_info_plugins_dist_1' => 'Os plugins abaixo são carregados e ativados no diretório @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Eles não são desativáveis.',
        'plugin_info_telecharger' => 'transferir de @url@ e instalar em @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Bibliotecas instaladas',
        'plugin_necessite_lib' => 'Este plugin precisa da biblioteca @lib@',
        'plugin_necessite_plugin' => 'É necessário o plugin @plugin@ na versão @version@, pelo menos.',
index 2debcfa..2fe5f70 100644 (file)
@@ -48,6 +48,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ADĂUGAŢI UN PARTICIPANT :',
        'bouton_annonce' => 'ANUNŢ',
        'bouton_annuler' => 'Anulaţi',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'posibilitate de trimitere mesaj',
        'bouton_checkbox_indiquer_site' => 'indicare obligatorie a unui site Web',
        'bouton_checkbox_signature_unique_email' => 'o singură semnătura pe adresă email',
@@ -281,6 +283,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'cu toolbar-ul său ?',
        'info_base_installee' => 'Structura bazei dumneavoastră de date a fost instalată.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Introducere',
        'info_chapeau_2' => 'Introducere :',
        'info_chemin_acces_1' => 'Opţiuni: <b>Calea de acces în anuar</b>',
@@ -416,6 +419,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Nume',
        'info_nom_destinataire' => 'Numele destinatarului',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Numele site-ului dumneavoastră',
        'info_nombre_articles' => '@nb_articles@ articole,',
        'info_nombre_partcipants' => 'PARTICIPANŢII LA DISCUŢIE :',
@@ -746,6 +750,7 @@ cu o culoare care le indică starea :',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'de descărcat de la @url@ şi de instalat în @rep@',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librăriile instalate',
        'plugin_necessite_lib' => 'Acest plug-in are nevoie de librăria @lib@',
        'plugin_necessite_plugin' => 'Necesită plugin-ul @plugin@ cu versiunea @version@ minim.',
index 75fdeb8..3326dce 100644 (file)
@@ -53,6 +53,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'ДОБАВИТЬ УЧАСТНИКА:',
        'bouton_annonce' => 'ОБЪЯВЛЕНИЕ',
        'bouton_annuler' => 'Отмена',
+       'bouton_cache_activer' => 'Включить кеширование',
+       'bouton_cache_desactiver' => 'Временно отключить кеширование',
        'bouton_checkbox_envoi_message' => 'возможность отправки сообщения',
        'bouton_checkbox_indiquer_site' => 'Вы должны ввести название вебсайта',
        'bouton_checkbox_signature_unique_email' => 'только одна подпись за адрес электронной почты',
@@ -289,6 +291,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'с панелью инструментов?',
        'info_base_installee' => 'Структура Вашей базы данных установлена.',
        'info_bio' => 'Био',
+       'info_cache_desactive' => 'Кеширование временно отключено.',
        'info_chapeau' => 'Вводная',
        'info_chapeau_2' => 'Введение:',
        'info_chemin_acces_1' => 'Опции: <b>Путь доступа к каталогу</b>',
@@ -425,6 +428,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ посетителей',
        'info_nom' => 'Имя',
        'info_nom_destinataire' => 'Имя получателя',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Название Вашего сайта',
        'info_nombre_articles' => '@nb_articles@ статьи,',
        'info_nombre_partcipants' => 'УЧАСТНИКИ ОБСУЖДЕНИЯ:',
@@ -534,7 +538,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_syndication_integrale_1' => 'Ваш сайт предлагает объединенные файлы  (смотрите “<a href="@url@">@titre@</a>”).',
        'info_syndication_integrale_2' => 'Отправить статью полностью или только первые абзацы?',
        'info_table_prefix' => 'Вы можете задать свой префикс для имен таблиц базы данных (благодаря этому вы можете установить несколько сайтов на одну базу данных). Для написания префикса используйте только прописные латинские буквы и цифры.',
-       'info_taille_maximale_images' => 'SPIP собирается проверить максимальный размер изображения (в миллионах пикселей) с которым он может иметь дело.<br /> Более большие сообщения не будут уменьшены.',
+       'info_taille_maximale_images' => 'Максимальный размер  картинок, с которыми может работать SPIP. Размер в картинок в пикселях.<br /> SPIP не сможет пережимать картинки большего размера.',
        'info_taille_maximale_vignette' => 'Максимальный размер изображений, созданных системой:',
        'info_terminer_installation' => 'Теперь Вы можете закончить стандартный процесс установки.',
        'info_texte' => 'Текст',
@@ -589,7 +593,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'install_select_langue' => 'Выберите язык, потом нажмите на кнопку "далее", чтобы начать процедуру установки.',
        'install_select_type_db' => 'Укажите тип базы данных:',
        'install_select_type_mysql' => 'MySQL',
-       'install_select_type_mysqli' => 'MySQLi', # NEW
+       'install_select_type_mysqli' => 'MySQLi',
        'install_select_type_pg' => 'PostgreSQL',
        'install_select_type_sqlite2' => 'SQLite 2',
        'install_select_type_sqlite3' => 'SQLite 3',
@@ -745,6 +749,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Эти плагины загружены и установлены в папке @plugins_dist@.',
        'plugin_info_plugins_dist_2' => 'Их нельзя отключить.',
        'plugin_info_telecharger' => 'загрузите с @url@ и установить в @rep@',
+       'plugin_info_upgrade_ok' => 'Обновление прошло успешно',
        'plugin_librairies_installees' => 'Установленные библиотеки',
        'plugin_necessite_lib' => 'Для этого плагина необходима библиотека  @lib@',
        'plugin_necessite_plugin' => 'Для этого плагина необходим @plugin@  @version@ или новее.',
index 7b520ba..984a090 100644 (file)
@@ -56,6 +56,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => 'PRIDAŤ ÚČASTNÍKA:',
        'bouton_annonce' => 'OZNAM',
        'bouton_annuler' => 'Zrušiť',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'možnosť poslať správu',
        'bouton_checkbox_indiquer_site' => 'Musíte zadať názov webstránky',
        'bouton_checkbox_signature_unique_email' => 'na 1 e-mailovú adresu iba 1 podpis',
@@ -291,6 +293,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 's jeho panelom nástrojov?',
        'info_base_installee' => 'Štruktúra vašej databázy bola nainštalovaná.',
        'info_bio' => 'Životopis',
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Úvod',
        'info_chapeau_2' => 'Úvod:',
        'info_chemin_acces_1' => 'Možnosti: <b>Prístupová cesta do priečinka</b>',
@@ -430,6 +433,7 @@ cez FTP.</p>',
        'info_nb_visiteurs' => 'návštevníkov: @nb@',
        'info_nom' => 'Meno',
        'info_nom_destinataire' => 'Meno príjemcu',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Názov vašej stránky',
        'info_nombre_articles' => 'článkov: @nb_articles@,',
        'info_nombre_partcipants' => 'ÚČASTNÍCI TEJTO DISKUSIE:',
@@ -755,6 +759,7 @@ a stav ich spracovania je označený farbou:',
        'plugin_info_plugins_dist_1' => 'Do priečinka @plugins_dist@ boli nahrané a boli v ňom aktivované tieto zásuvné moduly.',
        'plugin_info_plugins_dist_2' => 'Nedajú sa deaktivovať.',
        'plugin_info_telecharger' => 'spustiť z @url@ a nainštalovať na @rep@',
+       'plugin_info_upgrade_ok' => 'Úspešná aktualizácia',
        'plugin_librairies_installees' => 'Nainštalované knižnice',
        'plugin_necessite_lib' => 'Tento zásuvný modul potrebuje knižnicu @lib@',
        'plugin_necessite_plugin' => 'Vyžaduje sa verzia @version@ alebo novšia verzia zásuvného modulu @plugin@.',
index 63f88d4..9081598 100644 (file)
@@ -54,6 +54,8 @@ om import.<p>För mer information se <a href="@spipnet@">SPIP-dokumentationen</a
        'bouton_ajouter_participant' => 'LÄGG TILL EN DELTAGARE',
        'bouton_annonce' => 'MEDDELANDE',
        'bouton_annuler' => 'Avbryt',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'möjlighet att skicka ett meddelande',
        'bouton_checkbox_indiquer_site' => 'Du måste ange ett namn på en webbplats',
        'bouton_checkbox_signature_unique_email' => 'endast en signatur per e-postadress',
@@ -289,6 +291,7 @@ om import.<p>För mer information se <a href="@spipnet@">SPIP-dokumentationen</a
        'info_barre_outils' => 'med dess verktygsfält?',
        'info_base_installee' => 'Databasen är skapad',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Ingress',
        'info_chapeau_2' => 'Introduktion:',
        'info_chemin_acces_1' => 'inställningar: <b>sökväg i katalogen</b>',
@@ -429,6 +432,7 @@ funktioner hos SPIP inte användas.',
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Namn',
        'info_nom_destinataire' => 'Mottagarens namn',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Din sajts namn',
        'info_nombre_articles' => '@nb_articles@ artiklar,',
        'info_nombre_partcipants' => 'DELTAGARE I DISKUSSIONEN:',
@@ -759,6 +763,7 @@ med en färg som visar deras status:',
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Version @version@ eller nyare av pluginen @plugin@ krävs.',
index da7b408..a67aa65 100644 (file)
@@ -53,6 +53,8 @@ Bu ithal istemini onaylamayın.
        'bouton_ajouter_participant' => 'BİR KATILIMCI EKLE :',
        'bouton_annonce' => 'DUYURU',
        'bouton_annuler' => 'İptal',
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'ileti gönderme olanağı',
        'bouton_checkbox_indiquer_site' => 'bir Web sitesi belirtmek zorundasınız',
        'bouton_checkbox_signature_unique_email' => 'e-posta adresi başına sadece bir imza',
@@ -288,6 +290,7 @@ yaratabilir. Bu da otomatik olarak bir galeri
        'info_barre_outils' => 'alet çubuğuyla birlikte mi ?',
        'info_base_installee' => 'Veritabanınızın yapısı kuruldu.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Giriş',
        'info_chapeau_2' => 'Giriş :',
        'info_chemin_acces_1' => 'Seçenekler : <b>Rehbere erişim yolu</b>',
@@ -423,6 +426,7 @@ yaratabilir. Bu da otomatik olarak bir galeri
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'İsim',
        'info_nom_destinataire' => 'Alıcının ismi',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Sitenizin ismi',
        'info_nombre_articles' => '@nb_articles@ makale,',
        'info_nombre_partcipants' => 'TARTIŞMAYA KATILANLAR :',
@@ -751,6 +755,7 @@ yaratabilir. Bu da otomatik olarak bir galeri
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => '@url@ adresinden indirmeye ve @rep@ dizinine yüklemeye',
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Kurulu kütüphaneler',
        'plugin_necessite_lib' => 'Bu eklenti @lib@ kütüphanesini gerektirir',
        'plugin_necessite_plugin' => '@plugin@ plugin\'inin en az @version@ sürümünü gerektirir.',
index 53dd589..a234761 100644 (file)
@@ -51,6 +51,8 @@ Hồ sơ SPIP</a>.', # MODIF
        'bouton_ajouter_participant' => 'THÊM MỘT THAM DỰ VIÊN:',
        'bouton_annonce' => 'THÔNG BÁO',
        'bouton_annuler' => 'Cancel', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => 'Có thể viết vài chữ ',
        'bouton_checkbox_indiquer_site' => 'Qúy vị phải ghi tên một trang Web',
        'bouton_checkbox_signature_unique_email' => 'Chỉ một chữ ký cho một địa chỉ email ',
@@ -282,6 +284,7 @@ Hồ sơ SPIP</a>.', # MODIF
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => 'Cấu trúc database của bạn đã được thiết trí.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => 'Dẫn nhập',
        'info_chapeau_2' => 'Dẫn nhập:',
        'info_chemin_acces_1' => ' Chọn lựa: <b>ngõ vào trong thư mục</b>',
@@ -408,6 +411,7 @@ Hồ sơ SPIP</a>.', # MODIF
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => 'Tên',
        'info_nom_destinataire' => 'Tên người nhận',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => 'Tên website của bạn',
        'info_nombre_articles' => '@nb_articles@ bài,',
        'info_nombre_partcipants' => 'THAM DỰ VIÊN VÀO CUỘC THẢO LUẬN:',
@@ -727,6 +731,7 @@ và hiển ra với những màu khác nhau tùy theo tình trạng bài vở :
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Version @version@ or newer of the plugin @plugin@ is required.', # NEW
index bddbfb7..39f609f 100644 (file)
@@ -54,6 +54,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_ajouter_participant' => '添加参与者:',
        'bouton_annonce' => '声明',
        'bouton_annuler' => 'Annuler', # NEW
+       'bouton_cache_activer' => 'Réactiver le cache', # NEW
+       'bouton_cache_desactiver' => 'Désactiver temporairement le cache', # NEW
        'bouton_checkbox_envoi_message' => '可以发消息',
        'bouton_checkbox_indiquer_site' => '您必须输入站点的名字',
        'bouton_checkbox_signature_unique_email' => '一个邮件地址只能有一个签名',
@@ -287,6 +289,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_barre_outils' => 'avec sa barre d\'outils ?', # NEW
        'info_base_installee' => '您的数据库已经安装.',
        'info_bio' => 'Biographie', # NEW
+       'info_cache_desactive' => 'Le cache est temporairement désactivé.', # NEW
        'info_chapeau' => '前言',
        'info_chapeau_2' => '前言:',
        'info_chemin_acces_1' => '选项: <b>目录的访问路径</b>', # MODIF
@@ -428,6 +431,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'info_nb_visiteurs' => '@nb@ visiteurs', # NEW
        'info_nom' => '名字',
        'info_nom_destinataire' => '接收者名字',
+       'info_nom_pas_conforme' => 'les tags html ne sont pas autorisés', # NEW
        'info_nom_site' => '你的站点名',
        'info_nombre_articles' => '@nb_articles@ 文章,',
        'info_nombre_partcipants' => '讨论的参考者:',
@@ -758,6 +762,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'plugin_info_plugins_dist_1' => 'Les extensions ci-dessous sont chargées et activées dans le répertoire @plugins_dist@.', # NEW
        'plugin_info_plugins_dist_2' => 'Elles ne sont pas désactivables.', # NEW
        'plugin_info_telecharger' => 'à télécharger depuis @url@ et à installer dans @rep@', # NEW
+       'plugin_info_upgrade_ok' => 'Mise à jour réussie', # NEW
        'plugin_librairies_installees' => 'Librairies installées', # NEW
        'plugin_necessite_lib' => 'Ce plugin nécessite la librairie @lib@', # NEW
        'plugin_necessite_plugin' => 'Nécessite le plugin @plugin@ en version @version@ minimum.', # NEW
index 55141e1..74d03f2 100644 (file)
@@ -13,7 +13,9 @@
        <langue code="ca" url="http://trad.spip.net/tradlang_module/public?lang_cible=ca">
                <traducteur nom="merce" lien="http://trad.spip.net/auteur/merce" />
        </langue>
-       <langue code="co" />
+       <langue code="co" url="http://trad.spip.net/tradlang_module/public?lang_cible=co">
+               <traducteur nom="tavamig" lien="http://trad.spip.net/auteur/tavamig" />
+       </langue>
        <langue code="cpf" />
        <langue code="cpf_hat" />
        <langue code="cs" />
        </langue>
        <langue code="el" />
        <langue code="en" url="http://trad.spip.net/tradlang_module/public?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
-               <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+               <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" url="http://trad.spip.net/tradlang_module/public?lang_cible=eo">
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/public?lang_cible=es">
-               <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
+               <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
                <traducteur nom="severo" lien="http://trad.spip.net/auteur/severo" />
        </langue>
        <langue code="es_co" />
@@ -49,9 +51,9 @@
        <langue code="fon" />
        <langue code="fr" />
        <langue code="fr_tu" url="http://trad.spip.net/tradlang_module/public?lang_cible=fr_tu">
+               <traducteur nom="orlammd" lien="http://trad.spip.net/auteur/orlammd" />
                <traducteur nom="PatV" lien="http://trad.spip.net/auteur/pat" />
                <traducteur nom="RealET" lien="http://trad.spip.net/auteur/realet" />
-               <traducteur nom="orlammd" lien="http://trad.spip.net/auteur/orlammd" />
        </langue>
        <langue code="gl" />
        <langue code="hac" url="http://trad.spip.net/tradlang_module/public?lang_cible=hac">
@@ -76,9 +78,9 @@
        <langue code="my" />
        <langue code="ne" />
        <langue code="nl" url="http://trad.spip.net/tradlang_module/public?lang_cible=nl">
-               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
                <traducteur nom="gerbrand" lien="http://trad.spip.net/auteur/gerbrand" />
                <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
+               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="oc_auv" />
        <langue code="oc_gsc" />
index daf0eb4..d6c0cff 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'accueil_site' => 'Accogliu di u situ', # MODIF
-       'article' => 'Article', # NEW
+       'article' => 'Artìculu',
        'articles' => 'Artìculi',
        'articles_auteur' => 'Artìculi di st\'autore',
        'articles_populaires' => 'Artìculi i più pupulari',
@@ -19,7 +19,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'aucun_site' => 'Ùn ci hè situ à st\'indirizzu',
        'aucune_breve' => 'Ùn ci hè dispacciu à st\'indirizzu',
        'aucune_rubrique' => 'Ùn ci hè rùbbrica à st\'indirizzu',
-       'auteur' => 'Auteur', # NEW
+       'auteur' => 'Autore',
        'autres' => 'Altri',
        'autres_breves' => 'Altri dispacci',
        'autres_groupes_mots_clefs' => 'Altri gruppi di segni',
@@ -30,7 +30,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // C
        'commenter_site' => 'Cummentà stu situ',
-       'contact' => 'Contact', # NEW
+       'contact' => 'Cuntattu',
        'copie_document_impossible' => 'Impussìbule di cupià u ducumentu',
 
        // D
index 4d9afbe..9342619 100644 (file)
@@ -110,7 +110,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // T
        'texte_lettre_information' => 'Dies ist der Newsletter der Website ',
-       'texte_lettre_information_2' => 'Diese Mail fasst die Neuerscheinungen seit diesem Zeitpunkt zusammen: ',
+       'texte_lettre_information_2' => 'Diese Mail informiert über die Neuerscheinungen der letzten',
 
        // V
        'ver_imprimer' => 'Druckversion',
index 9c407b3..00c526f 100644 (file)
        <langue code="ca" url="http://trad.spip.net/tradlang_module/spip?lang_cible=ca">
                <traducteur nom="merce" lien="http://trad.spip.net/auteur/merce" />
        </langue>
-       <langue code="co" />
+       <langue code="co" url="http://trad.spip.net/tradlang_module/spip?lang_cible=co">
+               <traducteur nom="tavamig" lien="http://trad.spip.net/auteur/tavamig" />
+       </langue>
        <langue code="cpf" />
        <langue code="cpf_hat" />
        <langue code="cs" />
        <langue code="da" />
        <langue code="de" url="http://trad.spip.net/tradlang_module/spip?lang_cible=de">
-               <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
                <traducteur nom="Benjamin Tricault" lien="http://trad.spip.net/auteur/benjamin-tricault" />
+               <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="el" url="http://trad.spip.net/tradlang_module/spip?lang_cible=el">
                <traducteur nom="Yannick Bailly" lien="http://trad.spip.net/auteur/yannick-bailly" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/spip?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
-               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
                <traducteur nom="Fil" lien="http://trad.spip.net/auteur/fil" />
+               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
                <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" url="http://trad.spip.net/tradlang_module/spip?lang_cible=eo">
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/spip?lang_cible=es">
-               <traducteur nom="severo" lien="http://trad.spip.net/auteur/severo" />
-               <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
                <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
+               <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
+               <traducteur nom="severo" lien="http://trad.spip.net/auteur/severo" />
        </langue>
        <langue code="eu" url="http://trad.spip.net/tradlang_module/spip?lang_cible=eu">
                <traducteur nom="otalazt" lien="http://trad.spip.net/auteur/otalazt" />
        <langue code="fr" />
        <langue code="fr_tu" url="http://trad.spip.net/tradlang_module/spip?lang_cible=fr_tu">
                <traducteur nom="beatnick" lien="http://trad.spip.net/auteur/beatnick" />
-               <traducteur nom="RealET" lien="http://trad.spip.net/auteur/realet" />
+               <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
                <traducteur nom="orlammd" lien="http://trad.spip.net/auteur/orlammd" />
                <traducteur nom="PatV" lien="http://trad.spip.net/auteur/pat" />
-               <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
+               <traducteur nom="RealET" lien="http://trad.spip.net/auteur/realet" />
        </langue>
        <langue code="gl" url="http://trad.spip.net/tradlang_module/spip?lang_cible=gl">
                <traducteur nom="Antón Méixome" lien="http://trad.spip.net/auteur/anton-meixome" />
                <traducteur nom="Fernando Ferreira" lien="http://trad.spip.net/auteur/fernando-ferreira" />
        </langue>
        <langue code="pt_br" url="http://trad.spip.net/tradlang_module/spip?lang_cible=pt_br">
-               <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
                <traducteur nom="joao1315" lien="http://trad.spip.net/auteur/joao1315" />
+               <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
        </langue>
        <langue code="ro" url="http://trad.spip.net/tradlang_module/spip?lang_cible=ro">
                <traducteur nom="vmurariu" lien="http://trad.spip.net/auteur/vmurariu" />
index e681623..2b9b2d4 100644 (file)
@@ -11,7 +11,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        '0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
        '0_langue' => 'عربي [ar]',
        '0_liste' => 'spip-dev@rezo.net',
-       '0_mainteneur' => 'spip-dev@rezo.net',
+       '0_mainteneur' => 'جورج قندلفت (khodr1957@gmail.com)',
 
        // A
        'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة',
@@ -665,6 +665,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'titre_image_auteur_supprime' => 'مؤلف محذوف',
        'titre_image_redacteur' => 'محرر دون إذن دخول',
        'titre_image_redacteur_02' => 'محرر',
+       'titre_image_selecteur' => 'عرض القائمة',
        'titre_image_visiteur' => 'زائر',
        'titre_joindre_document' => 'إرفاق مستند',
        'titre_mots_cles' => 'المفاتيح',
index 6a7dcf2..26accbf 100644 (file)
@@ -664,6 +664,7 @@ Intenta',
        'titre_image_auteur_supprime' => 'Autor desaniciáu',
        'titre_image_redacteur' => 'Redactor ensin accesu',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitante',
        'titre_joindre_document' => 'AMESTAR UN DOCUMENTU',
        'titre_mots_cles' => 'PALLABRES-CLAVE',
index f8893ec..c592fe9 100644 (file)
@@ -643,6 +643,7 @@ Sitix uka arunak ajlltax.Walja sapa mayanaka jach\'a qamawita (urunaka, phuqañ
        'titre_image_auteur_supprime' => 'Qillqir apaqata',
        'titre_image_redacteur' => 'Qillqir jan mantawimpi',
        'titre_image_redacteur_02' => 'Qillqiri',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Tumpiri',
        'titre_joindre_document' => 'Mä qillqa q\'ip yapayaña',
        'titre_mots_cles' => 'Imt\'at aru',
index 6921c28..d528f4b 100644 (file)
@@ -666,6 +666,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => 'Авторът е изтрит',
        'titre_image_redacteur' => 'Редактор без достъп',
        'titre_image_redacteur_02' => 'Редактор',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Посетител',
        'titre_joindre_document' => 'ПРИЛАГАНЕ НА ДОКУМЕНТ',
        'titre_mots_cles' => 'КЛЮЧОВИ ДУМИ',
index 736bc88..5fa6c90 100644 (file)
@@ -652,6 +652,7 @@ Aliet oc\'h da chom hep kemmañ tra ebet e-keit ha n\'oc\'h ket boas ouzh SPIP.
        'titre_image_auteur_supprime' => 'Skridaozer bet diverket',
        'titre_image_redacteur' => 'Skridaozer hep aotre moned',
        'titre_image_redacteur_02' => 'Skridaozer',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Gweladenner',
        'titre_joindre_document' => 'STAGAÑ UN TEUL',
        'titre_mots_cles' => 'GERIOÙ-STUR',
index 191771a..08abe78 100644 (file)
@@ -639,6 +639,7 @@ Obratite paznu na ovu referencu, ponovo pokusajte nadogradnju i na kraju provjer
        'titre_image_auteur_supprime' => 'Autor izbrisan',
        'titre_image_redacteur' => 'Urednik bez pristupa',
        'titre_image_redacteur_02' => 'Urednik',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Posjetioc',
        'titre_joindre_document' => 'PRIDRUZI DOKUMENT',
        'titre_mots_cles' => 'KLJUCNE RIJECI',
index 0f610cb..1804da5 100644 (file)
@@ -643,6 +643,7 @@ i tornar-vos a connectar al lloc.
        'titre_image_auteur_supprime' => 'Autor/a suprimit/da',
        'titre_image_redacteur' => 'Redactor/a sense accés',
        'titre_image_redacteur_02' => 'Redactor/a',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitant',
        'titre_joindre_document' => 'INTRODUIR UN DOCUMENT',
        'titre_mots_cles' => 'PARAULES CLAU',
index 1072a97..ea5a2d6 100644 (file)
@@ -23,7 +23,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'admin_modifier_mot' => 'Mudificà stu segnu',
        'admin_modifier_rubrique' => 'Mudificà sta rùbbrica',
        'admin_recalculer' => 'Ricaricà sta pàgina',
-       'afficher_calendrier' => 'Afficher le calendrier', # NEW
+       'afficher_calendrier' => 'Mustrà l\'almanaccu',
        'afficher_trad' => 'fà cumparisce e traduzzioni',
        'alerte_maj_impossible' => '<b>Attenti !</b> Ùn hè pussìbule l\'aghjurnamentu di a basa SQL versu a versione @version@, 
        forse per via d\'un prublemu cù i dirittu di mudìficazione in a basa di dati. Cuntattate puru u vostru òspite.',
@@ -66,7 +66,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_changer' => 'Scambià',
        'bouton_chercher' => 'Circà',
        'bouton_choisir' => 'Sceglie',
-       'bouton_deplacer' => 'Déplacer', # NEW
+       'bouton_deplacer' => 'Move',
        'bouton_download' => 'Scaricà', # MODIF
        'bouton_enregistrer' => 'Arregistrà',
        'bouton_radio_desactiver_messagerie_interne' => 'Disattivà a mesageria interna',
@@ -112,17 +112,17 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'date_fmt_heures_minutes_court' => '@h@h@m@', # NEW
        'date_fmt_jour' => '@nomjour@ @jour@', # NEW
        'date_fmt_jour_heure' => '@jour@ à @heure@',
-       'date_fmt_jour_heure_debut_fin' => 'le @jour@ de @heure_debut@ à @heure_fin@', # NEW
-       'date_fmt_jour_heure_debut_fin_abbr' => 'le @dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtstart@@heure_fin@@dtend@', # NEW
+       'date_fmt_jour_heure_debut_fin' => 'u @jour@ da @heure_debut@ à @heure_fin@',
+       'date_fmt_jour_heure_debut_fin_abbr' => 'u @dtstart@@jour@ da @heure_debut@@dtabbr@ à @dtstart@@heure_fin@@dtend@',
        'date_fmt_jour_mois' => '@jour@ @nommois@',
        'date_fmt_jour_mois_annee' => '@jour@ @nommois@ di u @annee@',
        'date_fmt_mois_annee' => '@nommois@ di u @annee@',
        'date_fmt_nomjour' => '@nomjour@ @date@', # NEW
        'date_fmt_nomjour_date' => 'u @nomjour@ @date@',
-       'date_fmt_periode' => 'Du @date_debut@ au @date_fin@', # NEW
-       'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@', # NEW
-       'date_fmt_periode_from' => 'Du', # NEW
-       'date_fmt_periode_to' => 'au', # NEW
+       'date_fmt_periode' => 'Da u @date_debut@ à u @date_fin@',
+       'date_fmt_periode_abbr' => 'Da u @dtart@@date_debut@@dtabbr@ à u @dtend@@date_fin@@dtabbr@',
+       'date_fmt_periode_from' => 'Da u',
+       'date_fmt_periode_to' => 'à u',
        'date_heures' => 'ore',
        'date_hier' => 'eri',
        'date_il_y_a' => '@delai@ fà',
@@ -183,28 +183,28 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'date_mois' => 'mese',
        'date_mois_1' => 'ghjennaghju',
        'date_mois_10' => 'ottobre',
-       'date_mois_10_abbr' => 'oct.', # NEW
+       'date_mois_10_abbr' => 'ott.',
        'date_mois_11' => 'nuvembre',
-       'date_mois_11_abbr' => 'nov.', # NEW
+       'date_mois_11_abbr' => 'nuv.',
        'date_mois_12' => 'dicembre',
-       'date_mois_12_abbr' => 'déc.', # NEW
-       'date_mois_1_abbr' => 'janv.', # NEW
+       'date_mois_12_abbr' => 'dic.',
+       'date_mois_1_abbr' => 'ghjen.',
        'date_mois_2' => 'ferraghju',
-       'date_mois_2_abbr' => 'févr.', # NEW
+       'date_mois_2_abbr' => 'ferr.',
        'date_mois_3' => 'marzu',
-       'date_mois_3_abbr' => 'mars', # NEW
+       'date_mois_3_abbr' => 'mar.',
        'date_mois_4' => 'aprile',
-       'date_mois_4_abbr' => 'avr.', # NEW
+       'date_mois_4_abbr' => 'apr.',
        'date_mois_5' => 'maghju',
-       'date_mois_5_abbr' => 'mai', # NEW
+       'date_mois_5_abbr' => 'mag.',
        'date_mois_6' => 'ghjugnu',
-       'date_mois_6_abbr' => 'juin', # NEW
+       'date_mois_6_abbr' => 'ghju.',
        'date_mois_7' => 'lugliu',
-       'date_mois_7_abbr' => 'juil.', # NEW
+       'date_mois_7_abbr' => 'lug.',
        'date_mois_8' => 'aostu',
-       'date_mois_8_abbr' => 'août', # NEW
+       'date_mois_8_abbr' => 'aos.',
        'date_mois_9' => 'settembre',
-       'date_mois_9_abbr' => 'sept.', # NEW
+       'date_mois_9_abbr' => 'sett.',
        'date_saison_1' => 'inguernu',
        'date_saison_2' => 'veranu',
        'date_saison_3' => 'estate',
@@ -235,15 +235,15 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'envoi_via_le_site' => 'Invià à traversu u situ',
        'erreur' => 'Errore',
        'erreur_balise_non_fermee' => 'ùltima balisa micca chjosa :',
-       'erreur_technique_enregistrement_champs' => 'Une erreur technique a empêché l\'enregistrement correct du champ @champs@.', # NEW
-       'erreur_technique_enregistrement_impossible' => 'Une erreur technique a empêché l\'enregistrement.', # NEW
+       'erreur_technique_enregistrement_champs' => 'Per via d\'un errore tècnicu, u campu @champs@ ùn hè micca statu arregistratu.',
+       'erreur_technique_enregistrement_impossible' => 'Per via d\'un errore tècnicu, l\'arregistramentu ùn hè micca statu fattu.',
        'erreur_texte' => 'errore/i',
        'etape' => 'Tappa',
 
        // F
        'fichier_introuvable' => 'Schedariu @fichier@ inesistente',
-       'form_auteur_confirmation' => 'Confirmez votre adresse email', # NEW
-       'form_auteur_email_modifie' => 'Votre adresse email a été modifiée.', # NEW
+       'form_auteur_confirmation' => 'Cunfirmate l\'indirizzu mail',
+       'form_auteur_email_modifie' => 'Hè statu mudificatu u vostru indirizzu mail.',
        'form_auteur_envoi_mail_confirmation' => 'Un courrier électronique de confirmation vient d\'être envoyé à @email@. Vous devrez visiter l\'adresse Web mentionnée dans ce courrier pour valider votre adresse mail.', # NEW
        'form_auteur_mail_confirmation' => 'Bonjour,
 
@@ -331,7 +331,7 @@ sera ignorée) :
        'icone_supprimer_image' => 'Sguassà st\'imàgine',
        'icone_tous_articles' => 'Tutti i vostri artìculi',
        'icone_tous_auteur' => 'Tutti l\'autori',
-       'icone_tous_visiteur' => 'Tous les visiteurs', # NEW
+       'icone_tous_visiteur' => 'Tutti i visitori',
        'icone_visiter_site' => 'Situ pùbblicu', # MODIF
        'icone_voir_en_ligne' => 'Vede in ligna',
        'img_indisponible' => 'imàgine micca dispunìbule',
@@ -353,9 +353,9 @@ sera ignorée) :
        'info_article_supprime' => 'Artìculu sguassatu',
        'info_articles' => 'Artìculi',
        'info_articles_a_valider' => 'L\'artìculi da cunvalidà',
-       'info_articles_nb' => '@nb@ articles', # NEW
+       'info_articles_nb' => '@nb@ artìculi',
        'info_articles_proposes' => 'Artìculi pruposti',
-       'info_articles_un' => '1 article', # NEW
+       'info_articles_un' => '1 artìculu',
        'info_auteurs_nombre' => 'autore/i :',
        'info_authentification_ftp' => 'Autentificazione (cù FTP).',
        'info_breves_2' => 'dispacci',
@@ -419,8 +419,8 @@ sera ignorée) :
        'info_mail_fournisseur' => 'voi@furnitore.com',
        'info_message_2' => 'MESSAGIU',
        'info_message_supprime' => 'MESSAGIU SGUASSATU',
-       'info_messages_nb' => '@nb@ messages', # NEW
-       'info_messages_un' => '1 message', # NEW
+       'info_messages_nb' => '@nb@ messagi',
+       'info_messages_un' => '1 messagiu',
        'info_mise_en_ligne' => 'Data di messa in ligna :',
        'info_modification_parametres_securite' => 'mudificazione di i paràmetri di sicurezza',
        'info_mois_courant' => 'In stu mese :',
@@ -460,13 +460,13 @@ sera ignorée) :
        'info_rechercher' => 'Ricircà',
        'info_rechercher_02' => 'Ricircà :',
        'info_remplacer_vignette' => 'Rimpiazzà a figuretta predefinita cù un logo persunalizatu :',
-       'info_rubriques_nb' => '@nb@ rubriques', # NEW
-       'info_rubriques_un' => '1 rubrique', # NEW
+       'info_rubriques_nb' => '@nb@ rùbriche',
+       'info_rubriques_un' => '1 rùbrica',
        'info_sans_titre_2' => 'senza tìtulu',
        'info_selectionner_fichier' => 'Pudete sceglie un scedariu da u cartulare @upload@',
        'info_selectionner_fichier_2' => 'Sceglie un schedariu :',
-       'info_sites_nb' => '@nb@ sites', # NEW
-       'info_sites_un' => '1 site', # NEW
+       'info_sites_nb' => '@nb@ siti',
+       'info_sites_un' => '1 situ',
        'info_supprimer_vignette' => 'sguassà a figuretta',
        'info_symbole_bleu' => 'U sìmbulu <b>turchinu</b> indetta un <b>mementu</b>: vale à dì un messagiu à usu persunale vostru.',
        'info_symbole_jaune' => 'U sìmbulu <b>giallu</b> indetta un <b>annunciu à tuttu i scrittori</b> : mudifichèvule da tutti l\'amministratori, è visìbule da tutti i scrittori.',
@@ -489,7 +489,7 @@ sera ignorée) :
 
        // L
        'label_ajout_id_rapide' => 'Ajout rapide', # NEW
-       'label_poids_fichier' => 'Taille', # NEW
+       'label_poids_fichier' => 'Taglia',
        'lien_afficher_icones_seuls' => 'Fà cumparisce solu l\'icone',
        'lien_afficher_texte_icones' => 'Fà cumparisce l\'icone cù u testu',
        'lien_afficher_texte_seul' => 'Fà cumparisce solu u testu',
@@ -660,6 +660,7 @@ Puderete tandu inserisce un nuvellu password
        'titre_image_auteur_supprime' => 'Autore sguassatu',
        'titre_image_redacteur' => 'Scrittore senza accessu',
        'titre_image_redacteur_02' => 'Scrittore',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitore',
        'titre_joindre_document' => 'ALLEà UN DUCUMENTU',
        'titre_mots_cles' => 'SEGNI',
index e959b88..1e25edb 100644 (file)
@@ -666,6 +666,7 @@ aou lès lazéstyon do bann paz-la pou lo wèbmèt prinsipal.</b>', # MODIF
        'titre_image_auteur_supprime' => 'Lotèr lé dégréné',
        'titre_image_redacteur' => 'Lotèr san laksé',
        'titre_image_redacteur_02' => 'Lotèr',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vizitèr',
        'titre_joindre_document' => 'POU ZWIND INN DOKIMAN',
        'titre_mots_cles' => 'BANN MOLAKLÉ',
index 0d9d6cd..de014ed 100644 (file)
@@ -662,6 +662,7 @@ lès plitò jestyon paj sa-yo pou wèbmèt prensipal sou sit-la.</b>', # MODIF
        'titre_image_auteur_supprime' => 'Lotè te kraze',
        'titre_image_redacteur' => 'Redaktè ap gen pa aksè',
        'titre_image_redacteur_02' => 'Redaktè',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vizitè',
        'titre_joindre_document' => 'JWENN YON DOKIMAN',
        'titre_mots_cles' => 'MOKLE YO',
index 88fb948..72d571a 100644 (file)
@@ -663,6 +663,7 @@ a znovu se ke stránkám připojíte.
        'titre_image_auteur_supprime' => 'Autor odstraněn',
        'titre_image_redacteur' => 'Redaktor bez přístupu',
        'titre_image_redacteur_02' => 'Redaktor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Návštěvník',
        'titre_joindre_document' => 'PŘIPOJIT DOKUMENT',
        'titre_mots_cles' => 'KLÍČOVÁ SLOVA',
index 68d0bd6..abbed8d 100644 (file)
@@ -650,6 +650,7 @@ og igen få adgang til webstedet.', # MODIF
        'titre_image_auteur_supprime' => 'Forfatter slettet',
        'titre_image_redacteur' => 'Forfatter uden adgang',
        'titre_image_redacteur_02' => 'Forfatter',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Besøgende',
        'titre_joindre_document' => 'VEDHÆFT DOKUMENT',
        'titre_mots_cles' => 'NØGLEORD',
index 6a557ca..93c6c0d 100644 (file)
@@ -639,6 +639,7 @@ Sie können auf dieser Seite ein neues Passwort eingeben und sich wieder bei der
        'titre_image_auteur_supprime' => 'gelöschter Autor',
        'titre_image_redacteur' => 'Redakteur ohne Systemzugang',
        'titre_image_redacteur_02' => 'Redakteur',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Besucher',
        'titre_joindre_document' => 'DOKUMENT ANFÜGEN',
        'titre_mots_cles' => 'SCHLAGWORTE',
index 5d7d7ab..c1b6a72 100644 (file)
@@ -11,7 +11,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        '0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev',
        '0_langue' => 'English [en]',
        '0_liste' => 'spip-en@rezo.net',
-       '0_mainteneur' => 'George Kandalaft (george@diwanalarab.com)',
+       '0_mainteneur' => 'George Kandalaft (khodr1957@gmail.com)',
 
        // A
        'access_interface_graphique' => 'Back to the full graphic interface',
@@ -663,6 +663,7 @@ and log in to the site.
        'titre_image_auteur_supprime' => 'Author deleted',
        'titre_image_redacteur' => 'Editor without access',
        'titre_image_redacteur_02' => 'Editor',
+       'titre_image_selecteur' => 'Display list',
        'titre_image_visiteur' => 'Visitor',
        'titre_joindre_document' => 'ATTACH A DOCUMENT',
        'titre_mots_cles' => 'KEYWORDS',
index 6b65393..bd586b8 100644 (file)
@@ -662,6 +662,7 @@ sub la respondeco de la ĉefa retejestro .</b>',
        'titre_image_auteur_supprime' => 'Aŭtoro forigita',
        'titre_image_redacteur' => 'Redaktanto sen alireblo',
        'titre_image_redacteur_02' => 'Redaktanto',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vizitanto',
        'titre_joindre_document' => 'ALDONI DOKUMENTON',
        'titre_mots_cles' => 'ŜLOSILVORTOJ',
index ee44baa..fd8059a 100644 (file)
@@ -645,6 +645,7 @@ Intenta',
        'titre_image_auteur_supprime' => 'Autor suprimido',
        'titre_image_redacteur' => 'Redactor o redactora sin acceso',
        'titre_image_redacteur_02' => 'Redactor o redactora',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitante',
        'titre_joindre_document' => 'Añadir un documento',
        'titre_mots_cles' => 'Palabras clave',
index d5bc0dd..01f0bd7 100644 (file)
@@ -108,17 +108,17 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'date_demain' => 'bihar',
        'date_fmt_heures_minutes' => '@h@h@m@min',
        'date_fmt_heures_minutes_court' => '@h@h@m@',
-       'date_fmt_jour' => '@nomjour@ @jour@', # NEW
+       'date_fmt_jour' => '@nomjour@ @jour@',
        'date_fmt_jour_heure' => '@jour@@heure@-etan',
-       'date_fmt_jour_heure_debut_fin' => 'le @jour@ de @heure_debut@ à @heure_fin@', # NEW
-       'date_fmt_jour_heure_debut_fin_abbr' => 'le @dtstart@@jour@ de @heure_debut@@dtabbr@ à @dtstart@@heure_fin@@dtend@', # NEW
+       'date_fmt_jour_heure_debut_fin' => '@jour@-an @heure_debut@-tik @heure_fin@-ra',
+       'date_fmt_jour_heure_debut_fin_abbr' => '@dtstart@@jour@-an @heure_debut@@dtabbr@-tik @dtstart@@heure_fin@@dtend@-ra',
        'date_fmt_jour_mois' => '@nommois@ren @jour@a',
        'date_fmt_jour_mois_annee' => '@annee@-ko @nommois@ren @jour@a',
        'date_fmt_mois_annee' => '@annee@-ko @nommois@',
-       'date_fmt_nomjour' => '@nomjour@ @date@', # NEW
+       'date_fmt_nomjour' => '@nomjour@ @date@',
        'date_fmt_nomjour_date' => '@nomjour@ @date@-a',
-       'date_fmt_periode' => 'Du @date_debut@ au @date_fin@', # NEW
-       'date_fmt_periode_abbr' => 'Du @dtart@@date_debut@@dtabbr@ au @dtend@@date_fin@@dtabbr@', # NEW
+       'date_fmt_periode' => '@date_debut@-tik @date_fin@-ra',
+       'date_fmt_periode_abbr' => '@dtart@@date_debut@@dtabbr@-tik @dtend@@date_fin@@dtabbr@-ra',
        'date_fmt_periode_from' => 'Noiztik',
        'date_fmt_periode_to' => 'Nora',
        'date_heures' => 'orduak',
@@ -422,8 +422,8 @@ Basea konpontzen saiatu, edo zure ostalaitzea kontaktatu.',
        'info_mot_cle_ajoute' => 'Hurrengo gako-hitza artikulura gehitua izan da',
        'info_multi_herit' => 'Hizkuntza lehenetsia',
        'info_multi_langues_soulignees' => '<u>Azpimarratutako</u> hizkuntzek interfazeko testu guztien itzulpen bat eskaintzen dute. 
-Hizkuntzak horiek hautatzen badituzu, leku publikoko elementu batzuk (datak, inprimakiak) automatikoki itzuliko dira.
-Azpimarratu gabeko hizkuntzetarako, elementuak gunearen hizkuntza nagusian agertuko dira.', # MODIF
+Hizkuntzak horiek hautatzen badituzu, eremu publikoko elementu batzuk (datak, inprimakiak) automatikoki itzuliko dira.
+Azpimarratu gabeko hizkuntzetarako, elementuak gunearen hizkuntza nagusian agertuko dira.',
        'info_multilinguisme' => 'Hizkuntzaniztasuna',
        'info_nom_non_utilisateurs_connectes' => 'Zure izena ez da ageri konektatutako pertsonen zerrendan',
        'info_nom_utilisateurs_connectes' => 'Zure izena konektatuta dauden pertsonen zerrendan ageri da.',
@@ -641,6 +641,7 @@ Modu orokorrean, orrialde hauetako kudeaketa zure guneko web arduradun nagusiari
        'titre_image_auteur_supprime' => 'Egile ezabatuta',
        'titre_image_redacteur' => 'Baimenik gabeko idazlaria',
        'titre_image_redacteur_02' => 'Idazlaria',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Bisitaria',
        'titre_joindre_document' => 'Dokumentu bat erantsi',
        'titre_mots_cles' => 'Gako-hitzak',
index e2dd983..397a40a 100644 (file)
@@ -624,6 +624,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'titre_image_auteur_supprime' => 'نويسنده حذف شده',
        'titre_image_redacteur' => 'نويسنده بدون حق دسترسى',
        'titre_image_redacteur_02' => 'نويسنده',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'بازديد كننده',
        'titre_joindre_document' => 'يك سند اضافه كنيد',
        'titre_mots_cles' => 'واژه-كليدها',
index b15c573..d92cb2b 100644 (file)
@@ -627,6 +627,7 @@ Nú mi ná ɖó mɔ nɔtɛn gblogblojí  é lɔ tɔn  mi yì
        'titre_image_auteur_supprime' => 'nyɔwlántɔn ɖê yé sùnsùn',
        'titre_image_redacteur' => 'nyɔwlántɔn  mà ɖò àcɛ',
        'titre_image_redacteur_02' => 'nyɔwlántɔn  ',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Jónɔ',
        'titre_joindre_document' => 'Zé wěmà gɔná ',
        'titre_mots_cles' => 'gbètákɛn',
index 5b32a12..8e8cd9c 100644 (file)
@@ -663,6 +663,7 @@ et vous reconnecter au site.
        'titre_image_auteur_supprime' => 'Auteur supprimé',
        'titre_image_redacteur' => 'Rédacteur sans accès',
        'titre_image_redacteur_02' => 'Rédacteur',
+       'titre_image_selecteur' => 'Afficher la liste',
        'titre_image_visiteur' => 'Visiteur',
        'titre_joindre_document' => 'JOINDRE UN DOCUMENT',
        'titre_mots_cles' => 'MOTS-CLÉS',
index d5aff6d..fa7f387 100644 (file)
@@ -661,6 +661,7 @@ e reconectar co web.
        'titre_image_auteur_supprime' => 'Autor/a suprimido',
        'titre_image_redacteur' => 'Redactor/a sen acceso',
        'titre_image_redacteur_02' => 'Redactor/a',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitante',
        'titre_joindre_document' => 'ANEXAR UN DOCUMENTO',
        'titre_mots_cles' => 'PALABRAS-CLAVE',
index 617934d..3454228 100644 (file)
@@ -668,6 +668,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => 'מחבר נמחק',
        'titre_image_redacteur' => 'כותב ללא כניסה',
        'titre_image_redacteur_02' => 'מחבר',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'מבקר',
        'titre_joindre_document' => 'צירוף מסמך',
        'titre_mots_cles' => 'מילות מפתח',
index 4f9039b..7efc78a 100644 (file)
@@ -655,6 +655,7 @@ Próbáljon', # MODIF
        'titre_image_auteur_supprime' => 'Szerző törölve',
        'titre_image_redacteur' => 'Hozzáférés nélküli szerző',
        'titre_image_redacteur_02' => 'Szerző',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vendég',
        'titre_joindre_document' => 'DOKUMENTUM CSATOLÁSA',
        'titre_mots_cles' => 'KULCSSZAVAK',
index e87b402..5dd83b8 100644 (file)
@@ -666,6 +666,7 @@ dan mengakses situs kembali.
        'titre_image_auteur_supprime' => 'Penulis dihapus',
        'titre_image_redacteur' => 'Editor tanpa akses',
        'titre_image_redacteur_02' => 'Editor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Pengunjung',
        'titre_joindre_document' => 'LAMPIRKAN SEBUAH DOKUMEN',
        'titre_mots_cles' => 'KATA-KATA KUNCI',
index 10ace75..fe5e9e1 100644 (file)
@@ -659,6 +659,7 @@ funzionamento del sito. Non intervenire finché non conosci bene i meccanismi de
        'titre_image_auteur_supprime' => 'Autore eliminato',
        'titre_image_redacteur' => 'Redattore senza accesso',
        'titre_image_redacteur_02' => 'Redattore',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitatore',
        'titre_joindre_document' => 'ALLEGA UN DOCUMENTO',
        'titre_mots_cles' => 'PAROLE CHIAVE',
index ccaf00b..85811e6 100644 (file)
@@ -660,6 +660,7 @@ funzionamento del sito. Non intervenire finché non conosci bene i meccanismi de
        'titre_image_auteur_supprime' => 'Autrice eliminata',
        'titre_image_redacteur' => 'Redattrice senza accesso',
        'titre_image_redacteur_02' => 'Redattrice',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitatore',
        'titre_joindre_document' => 'ALLEGA UN DOCUMENTO',
        'titre_mots_cles' => 'PAROLE CHIAVE',
index 8647f02..1ccc1b3 100644 (file)
@@ -665,6 +665,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => '削除された著者',
        'titre_image_redacteur' => 'アクセス無しのエディタ',
        'titre_image_redacteur_02' => '編集者',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => '訪問者',
        'titre_joindre_document' => 'ドキュメントを置く',
        'titre_mots_cles' => 'キーワード',
index b46b11e..02df4ab 100644 (file)
@@ -630,6 +630,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => 'បានលុបចេញ អ្នកនិពន្ធ',
        'titre_image_redacteur' => 'អ្នកតែងអត្ថបទ គ្មានការចូលទៅ',
        'titre_image_redacteur_02' => 'អ្នកតែងអត្ថបទ',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'អ្នក​ទស្សនា',
        'titre_joindre_document' => 'ភ្ជាប់​ មួយឯកសារ',
        'titre_mots_cles' => 'ពាក្យ​គន្លឹះ',
index 7be3770..97875ed 100644 (file)
@@ -640,6 +640,7 @@ Probéiert ',
        'titre_image_auteur_supprime' => 'Geläschten Auteur',
        'titre_image_redacteur' => 'Redakter ouni Zougang',
        'titre_image_redacteur_02' => 'Redakter',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visiteur',
        'titre_joindre_document' => 'DOKUMENT BÄIFLÉCKEN',
        'titre_mots_cles' => 'SCHLËSSELWIERDER',
index 64ce3d7..5c9e26f 100644 (file)
@@ -621,6 +621,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => 'စာရေးသူကို ပယ်ဖျက်ပြီးဖြစ်သည်',
        'titre_image_redacteur' => 'ဝင်ခွင့်မရှိဘဲနှင့် တည်းဖြတ်နိုင်သူ',
        'titre_image_redacteur_02' => 'စာတည်း',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'လာလည်သူ',
        'titre_joindre_document' => 'ပူးတွဲစာ တင်သွင်းရန်',
        'titre_mots_cles' => 'စကားစု',
index b37ebed..8999c97 100644 (file)
@@ -667,6 +667,7 @@ opnieuw verbinding maken met de site
        'titre_image_auteur_supprime' => 'Auteur gewist',
        'titre_image_redacteur' => 'Redacteur zonder toegang',
        'titre_image_redacteur_02' => 'Redacteur',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Bezoeker',
        'titre_joindre_document' => 'Document toevoegen',
        'titre_mots_cles' => 'TREFWOORDEN',
index f3d850f..939fbff 100644 (file)
@@ -664,6 +664,7 @@ e vos tornar connectar au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sens accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAUS',
index 275a1e3..cb32e25 100644 (file)
@@ -663,6 +663,7 @@ e tornar connectà\'vs au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor shens accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAU',
index 3f1abd0..2cc44cb 100644 (file)
@@ -664,6 +664,7 @@ e vos tornar connectar au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sens accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAU',
index 25be32a..4dab1e0 100644 (file)
@@ -664,6 +664,7 @@ e vos tornar connectar al sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sens accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAU',
index 920fe05..128881b 100644 (file)
@@ -659,6 +659,7 @@ e vos tornar connectar au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sensa accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MÒTS CLAUS',
index 5e1ad02..2e9195f 100644 (file)
@@ -664,6 +664,7 @@ e vos tornar connectar au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sensa accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAU',
index 50c78b0..16ff8c1 100644 (file)
@@ -664,6 +664,7 @@ e vos tornar connectar au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sens accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAU',
index 8465d6d..fbe25f9 100644 (file)
@@ -664,6 +664,7 @@ e vos tornar connectar au sit.
        'titre_image_auteur_supprime' => 'Autor suprimit',
        'titre_image_redacteur' => 'Redactor sens accès',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vesitaire',
        'titre_joindre_document' => 'JÓNHER UN DOCUMENT',
        'titre_mots_cles' => 'MOTS CLAU',
index 1f2ab12..dc300fb 100644 (file)
@@ -661,6 +661,7 @@ a następnie sprawdź czy obrazki pojawiają się zawsze w artykułach.',
        'titre_image_auteur_supprime' => 'Autor usunięty',
        'titre_image_redacteur' => 'Redaktor bez dostępu',
        'titre_image_redacteur_02' => 'Redaktor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Odwiedzający',
        'titre_joindre_document' => 'ZAŁĄCZ DOKUMENT',
        'titre_mots_cles' => 'SŁOWA KLUCZOWE',
index 32e501e..9ac8b25 100644 (file)
@@ -662,6 +662,7 @@ Poderá então introduzir uma nova palavra-passe
        'titre_image_auteur_supprime' => 'Autor suprimido',
        'titre_image_redacteur' => 'Redactor sem acesso',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitante',
        'titre_joindre_document' => 'ANEXAR UM DOCUMENTO',
        'titre_mots_cles' => 'PALAVRAS-CHAVE',
index 4c4f258..adfc33c 100644 (file)
@@ -640,6 +640,7 @@ Tente se',
        'titre_image_auteur_supprime' => 'Autor excluído',
        'titre_image_redacteur' => 'Redator sem acesso',
        'titre_image_redacteur_02' => 'Redator',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Visitante',
        'titre_joindre_document' => 'INCLUIR UM DOCUMENTO',
        'titre_mots_cles' => 'PALAVRAS-CHAVE',
index e2da599..4adc598 100644 (file)
@@ -654,6 +654,7 @@ Veţi putea după aceea alege o nouă parolă şi veţi putea să vă reconecta
        'titre_image_auteur_supprime' => 'Autor suprimat',
        'titre_image_redacteur' => 'Redactor fără acces',
        'titre_image_redacteur_02' => 'Redactor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Vizitator',
        'titre_joindre_document' => 'ATAŞAŢI DOCUMENT',
        'titre_mots_cles' => 'CUVINTE-CHEIE',
index 0ab71ff..e73073c 100644 (file)
@@ -33,7 +33,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'articles_recents' => 'Свежие статьи',
        'avis_archive_incorrect' => 'это неправильный архивный файл SPIP',
        'avis_archive_invalide' => 'этот архивный файл не может быть использован',
-       'avis_attention' => 'Ð\9eСТÐ\9eРÐ\9eÐ\96Ð\9dÐ\9e!',
+       'avis_attention' => 'Ð\92нимание!',
        'avis_champ_incorrect_type_objet' => 'Неправильное поле @name@ для объекта типа @type@',
        'avis_colonne_inexistante' => 'Колонка @col@ не существует',
        'avis_erreur' => 'Ошибка: см. ниже',
@@ -671,6 +671,7 @@ and connect again to the site.
        'titre_image_auteur_supprime' => 'Автор удален',
        'titre_image_redacteur' => 'Редактор без доступа',
        'titre_image_redacteur_02' => 'Редактор',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Посетитель',
        'titre_joindre_document' => 'ПРИЛОЖИТЬ ДОКУМЕНТ',
        'titre_mots_cles' => 'КЛЮЧИ',
index 2211ebf..9e9e912 100644 (file)
@@ -663,6 +663,7 @@ a znova sa prihlásiť na stránku.
        'titre_image_auteur_supprime' => 'Odstránený autor',
        'titre_image_redacteur' => 'Redaktor bez prístupu',
        'titre_image_redacteur_02' => 'Redaktor',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Návštevník',
        'titre_joindre_document' => 'PRIPOJIŤ DOKUMENT',
        'titre_mots_cles' => 'KĽÚČOVÉ SLOVÁ',
index 1ec83f2..0722bfb 100644 (file)
@@ -655,6 +655,7 @@ och koppla upp dig mot sajten igen.
        'titre_image_auteur_supprime' => 'Redaktören raderad',
        'titre_image_redacteur' => 'Redaktör utan behörighet',
        'titre_image_redacteur_02' => 'Redaktör',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Besökare',
        'titre_joindre_document' => 'BIFOGA ETT DOKUMENT',
        'titre_mots_cles' => 'NYCKELORD',
index d5501eb..95aa2a2 100644 (file)
@@ -646,6 +646,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => 'Silinmiş yazar',
        'titre_image_redacteur' => 'Erişim hakkı olmayan yazar',
        'titre_image_redacteur_02' => 'Yazar',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Ziyaretçi',
        'titre_joindre_document' => 'BİR BELGE EKLE',
        'titre_mots_cles' => 'ANAHTAR SÖZCÜKLER',
index 7bbc02f..d79d352 100644 (file)
@@ -641,6 +641,7 @@ Nếu bạn đem vào những hình ảnh trong dạng  @gd_formats@, chúng s
        'titre_image_auteur_supprime' => 'Tác giả bị xoá',
        'titre_image_redacteur' => 'Tác giả không có quyền',
        'titre_image_redacteur_02' => 'Tác giả',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => 'Khách',
        'titre_joindre_document' => 'ĐÍNH KÈM MỘT HỒ SƠ',
        'titre_mots_cles' => 'TỪ THEN CHỐT',
index 5429899..ced26e8 100644 (file)
@@ -664,6 +664,7 @@ sera ignorée) :
        'titre_image_auteur_supprime' => '删除的作者',
        'titre_image_redacteur' => '不能访问的编辑者',
        'titre_image_redacteur_02' => '编辑者',
+       'titre_image_selecteur' => 'Afficher la liste', # NEW
        'titre_image_visiteur' => '访问者',
        'titre_joindre_document' => '附加文档',
        'titre_mots_cles' => '关键词',
index 5bc3d02..acaa39b 100644 (file)
@@ -394,8 +394,8 @@ $GLOBALS['maj'][18597] = array(
 );
 
 $GLOBALS['maj'][18955] = array(
-       array('sql_alter',"TABLE spip_auteurs_liens ADD id_objet (id_objet)"),
-       array('sql_alter',"TABLE spip_auteurs_liens ADD objet (objet)"),
+       array('sql_alter',"TABLE spip_auteurs_liens ADD INDEX id_objet (id_objet)"),
+       array('sql_alter',"TABLE spip_auteurs_liens ADD INDEX objet (objet)"),
 );
 
 
@@ -493,4 +493,4 @@ function supprimer_toutes_sessions() {
        }
 }
 
-?>
\ No newline at end of file
+?>
index d9a8aa6..71e7fc4 100644 (file)
@@ -1,8 +1,8 @@
 <paquet
        prefix="spip"
        categorie="outil"
-       version="3.0.5"
-       etat="dev"
+       version="3.0.10"
+       etat="stable"
        compatibilite="];["
        schema="19268"
        documentation="http://www.spip.net"
        <pipeline nom="rechercher_liste_des_jointures" action="" />
        <pipeline nom="recuperer_fond" action="f_recuperer_fond" inclure="inc/pipelines.php" />
        <pipeline nom="styliser" action="cvtmulti_styliser" inclure="inc/cvt_multietapes.php" />
+       <pipeline nom="traduire" action="" />
        <pipeline nom="trig_auth_trace" action="" />
        <pipeline nom="trig_calculer_prochain_postdate" action="" />
        <pipeline nom="trig_calculer_langues_rubriques" action="" />
        <menu nom="menu_configuration" titre="icone_configuration" icone="images/configuration-48.png" action="navigation" parametres="menu=menu_configuration" />
        <menu nom="configurer_identite" titre="titre_identite_site" parent="menu_configuration" icone="images/identite-16.png" action="configurer_identite" />
        <menu nom="configurer_langue" titre="info_langue_principale" parent="menu_configuration" icone="images/langue-16.png" />
-       <menu nom="configurer_multilang" titre="info_multilinguisme" parent="menu_configuration" icone="images/traduction-16.png" />
+       <menu nom="configurer_multilinguisme" titre="info_multilinguisme" parent="menu_configuration" icone="images/traduction-16.png" />
        <menu nom="configurer_contenu" titre="onglet_contenu_site" parent="menu_configuration" icone="images/config-contenu-16.png" />
        <menu nom="configurer_interactions" titre="onglet_interactivite" parent="menu_configuration" icone="images/config-interaction-16.png" />
        <menu nom="configurer_avancees" titre="onglet_fonctions_avances" parent="menu_configuration" icone="images/configuration-16.png" />
index e8d5706..16556df 100644 (file)
@@ -63,6 +63,10 @@ function plugins_installer_dist($plug, $action, $dir_type='_DIR_PLUGINS')
        if ($action == 'uninstall') $test = !$test;
        // Si deja fait, on ne dit rien
        if ($test)  return true;
+       // Si install et que l'on a la meta d'installation, c'est un upgrade
+       if($action == 'install' && !is_null(lire_meta($infos['prefix'].'_base_version')))
+               $infos['upgrade'] = true;
+
        // executer l'installation ou l'inverse
        // et renvoyer la trace (mais il faudrait passer en AJAX plutot)
        ob_start(); 
index 76b9cb6..4c8247f 100644 (file)
@@ -432,8 +432,9 @@ function balise_LESAUTEURS_dist ($p) {
                        $id_table_objet = 'id_article';
                }
                else{
-                       $connect = $p->boucles[$p->id_boucle]->sql_serveur;
-                       $type_boucle = $p->boucles[$p->id_boucle]->type_requete;
+                       $b = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle;
+                       $connect = $p->boucles[$b]->sql_serveur;
+                       $type_boucle = $p->boucles[$b]->type_requete;
                        $objet = objet_type($type_boucle);
                        $id_table_objet = id_table_objet($type_boucle);
                }
index d5e31a9..97e88c6 100644 (file)
@@ -51,18 +51,15 @@ function boucle_HIERARCHIE_dist($id_boucle, &$boucles) {
        $boucle->hierarchie = 'if (!($id_rubrique = intval('
        . calculer_argument_precedent($boucle->id_boucle, 'id_rubrique', $boucles)
        . ")))\n\t\treturn '';\n\t"
-       . '$hierarchie = '
-       . (isset($boucle->modificateur['tout']) ? '",$id_rubrique"' : "''")
-       . ";\n\t"
-       . 'while ($id_rubrique = sql_getfetsel("id_parent","spip_rubriques","id_rubrique=" . $id_rubrique,"","","", "", $connect)) { 
-               $hierarchie = ",$id_rubrique$hierarchie";
-       }
-       if (!$hierarchie) return "";
-       $hierarchie = substr($hierarchie,1);';
+       . "include_spip('inc/rubriques');\n\t"
+       . '$hierarchie = calcul_hierarchie_in($id_rubrique,'
+       . (isset($boucle->modificateur['tout']) ? 'true':'false')
+       . ");\n\t"
+       . 'if (!$hierarchie) return "";'."\n\t";
 
        $boucle->where[]= array("'IN'", "'$id_table'", '"($hierarchie)"');
 
-        $order = "FIELD($id_table, \$hierarchie)";
+       $order = "FIELD($id_table, \$hierarchie)";
        if (!isset($boucle->default_order[0]) OR $boucle->default_order[0] != " DESC")
                $boucle->default_order[] = "\"$order\"";
        else
index 6602aee..7f1a0ec 100644 (file)
@@ -114,7 +114,9 @@ function cache_valide(&$page, $date) {
        if (defined('_VAR_NOCACHE') AND _VAR_NOCACHE) return -1;
        if (isset($GLOBALS['meta']['cache_inhib']) AND $_SERVER['REQUEST_TIME']<$GLOBALS['meta']['cache_inhib']) return -1;
        if (defined('_NO_CACHE')) return (_NO_CACHE==0 AND !isset($page['texte']))?1:_NO_CACHE;
-       if (!$page OR !isset($page['texte']) OR !isset($page['entetes']['X-Spip-Cache'])) return 1;
+
+       // pas de cache ? on le met a jour, sauf pour les bots (on leur calcule la page sans mise en cache)
+       if (!$page OR !isset($page['texte']) OR !isset($page['entetes']['X-Spip-Cache'])) return _IS_BOT?-1:1;
 
        // #CACHE{n,statique} => on n'invalide pas avec derniere_modif
        // cf. ecrire/public/balises.php, balise_CACHE_dist()
@@ -144,7 +146,8 @@ function cache_valide(&$page, $date) {
        $duree = intval($page['entetes']['X-Spip-Cache']);
        if ($duree == 0)  #CACHE{0}
                return -1;
-       else if ($date + $duree < time())
+       // sauf pour les bots, qui utilisent toujours le cache
+       else if (!_IS_BOT AND $date + $duree < time())
                return 1;
        else
                return 0;
index c21b6f2..b158673 100644 (file)
@@ -380,6 +380,7 @@ function calculer_boucle_rec($id_boucle, &$boucles, $trace) {
  * %s8: code de trace eventuel avant le retour
 **/
 define('CODE_CORPS_BOUCLE', '%s
+       if (defined("_BOUCLE_PROFILER")) $timer = time()+microtime();
        $t0 = "";
        // REQUETE
        $iter = IterFactory::create(
@@ -393,6 +394,9 @@ define('CODE_CORPS_BOUCLE', '%s
        %s
        %s$iter->free();
        }%s
+       if (defined("_BOUCLE_PROFILER")
+       AND 1000*($timer = (time()+microtime())-$timer) > _BOUCLE_PROFILER)
+               spip_log(intval(1000*$timer)."ms %s","profiler");
        return $t0;'
 );
 
@@ -549,7 +553,8 @@ function calculer_boucle_nonrec($id_boucle, &$boucles, $trace) {
                $init_lang,
                $corps,
                $fin_lang,
-               $trace
+               $trace,
+               'BOUCLE'.$id_boucle .' @ '.($boucle->descr['sourcefile'])
        );
 
 #      var_dump($a);exit;
index 562414a..254e373 100644 (file)
@@ -1604,7 +1604,9 @@ function calculer_critere_infixe_date($idb, &$boucles, $col){
        if (!preg_match(",^((age|jour|mois|annee)_relatif|date|mois|annee|jour|heure|age)(_[a-z]+)?$,", $col, $regs)) return '';
        $boucle = $boucles[$idb];
        $table = $boucle->show;
-       
+       // si c'est une colonne de la table, ne rien faire
+       if(isset($table['field'][$col])) return '';
+
        if (!$table['date'] && !isset($GLOBALS['table_date'][$table['id_table']])) return '';
        $pred = $date_orig = isset($GLOBALS['table_date'][$table['id_table']])? $GLOBALS['table_date'][$table['id_table']] : $table['date'];
        $col = $regs[1];
@@ -1612,7 +1614,7 @@ function calculer_critere_infixe_date($idb, &$boucles, $col){
                # Recherche de l'existence du champ date_xxxx,
                # si oui choisir ce champ, sinon choisir xxxx
 
-               if ($table['field']["date$suite"])
+               if (isset($table['field']["date$suite"]))
                        $date_orig = 'date'.$suite;
                else
                        $date_orig = substr($suite, 1);
@@ -1653,12 +1655,7 @@ function calculer_critere_infixe_date($idb, &$boucles, $col){
                        $col_vraie = "";// comparer a un int (par defaut)
                        break;
                case 'jour_relatif':
-                       $col = "LEAST(TO_DAYS(".$date_compare.")-TO_DAYS(".
-                              $date_orig."), DAYOFMONTH(".$date_compare.
-                              ")-DAYOFMONTH(".$date_orig.")+30.4368*(MONTH(".
-                              $date_compare.")-MONTH(".$date_orig.
-                              "))+365.2422*(YEAR(".$date_compare.")-YEAR(".
-                              $date_orig.")))";
+                       $col = "(TO_DAYS(".$date_compare.")-TO_DAYS(".$date_orig."))";
                        $col_vraie = "";// comparer a un int (par defaut)
                        break;
                case 'mois_relatif':
index 42579c3..1e3e346 100644 (file)
@@ -35,7 +35,7 @@ include_spip('public/decompiler');
  *
  * Sert pour les tests unitaires
  */
-define('_DEBUG_MAX_SQUELETTE_ERREURS', 9);
+defined('_DEBUG_MAX_SQUELETTE_ERREURS') || define('_DEBUG_MAX_SQUELETTE_ERREURS', 9);
 
 //
 // Point d'entree general, 
@@ -138,7 +138,7 @@ function debusquer_compose_message($msg){
 function debusquer_bandeau($erreurs){
 
        if (!empty($erreurs)){
-               $n = count($erreurs) . ' ' . _T('zbug_erreur_squelette');
+               $n = array(count($erreurs) . ' ' . _T('zbug_erreur_squelette'));
                return debusquer_navigation($erreurs, $n);
        }
        elseif (!empty($GLOBALS['tableau_des_temps'])) {
@@ -170,7 +170,7 @@ function debusquer_contexte($env){
 // Affichage du tableau des erreurs ou des temps de calcul
 // Cliquer sur les numeros en premiere colonne permet de voir le code
 
-function debusquer_navigation($tableau, $caption = '', $id = 'debug-nav'){
+function debusquer_navigation($tableau, $caption = array(), $id = 'debug-nav'){
 
        if (_request('exec')=='valider_xml') return '';
        $GLOBALS['bouton_admin_debug'] = true;
@@ -211,15 +211,17 @@ function debusquer_navigation($tableau, $caption = '', $id = 'debug-nav'){
        }
 
        return "\n<table id='$id'>"
-               . "<caption>"
-               . $caption
+               . "<caption onclick=\"x = document.getElementById('$id'); (x.style.display == '' ? x.style.display = 'none' : x.style.display = '');\">"
+               . $caption[0]
 ## aide locale courte a ecrire, avec lien vers une grosse page de documentation
 #              aide('erreur_compilation'),
                . "</caption>"
+               //  fausse caption du chrono (mais vraie nav)
+               . (!empty($caption[1]) ? $caption[1] : '')
                . "<tr><th>"
                . _T('numero')
                . "</th><th>"
-               . _T('message')
+               . _T('public:message')
                . "</th><th>"
                . _T('squelette')
                . "</th><th>"
@@ -364,15 +366,12 @@ function reference_boucle_debug($n, $nom, $self){
 
 // http://doc.spip.org/@ancre_texte
 function ancre_texte($texte, $fautifs = array(), $nocpt = false){
+
        $var_mode_ligne = _request('var_mode_ligne');
        if ($var_mode_ligne) $fautifs[] = array($var_mode_ligne);
        $res = '';
 
-       $s = highlight_string(str_replace('</script>', '</@@@@@>', $texte), true);
-
-       $s = str_replace('/@@@@@', '/script', // bug de highlight_string
-               str_replace('</font>', '</span>',
-                       str_replace('<font color="', '<span style="color: ', $s)));
+       $s = highlight_string($texte, true);
        if (substr($s, 0, 6)=='<code>'){
                $s = substr($s, 6);
                $res = '<code>';
@@ -407,8 +406,8 @@ function ancre_texte($texte, $fautifs = array(), $nocpt = false){
                        // tentative de pointer sur la colonne fautive;
                        // marche pas car highlight_string rajoute des entites. A revoir.
                        // $m = $flignes[$i][0];
-                       //  $ligne = substr($ligne, 0, $m-1) .
-                       //  sprintf($formaterr, substr($ligne,$m));
+                       // $ligne = substr($ligne, 0, $m-1) .
+                       // sprintf($formaterr, substr($ligne,$m));
                        $bg = $formaterr;
                } else {
                        $indexmesg = $ancre;
@@ -419,8 +418,8 @@ function ancre_texte($texte, $fautifs = array(), $nocpt = false){
        }
 
        return "<div id='T$ancre'>"
-               . '<div onclick="javascript:'
-               . "\$(this).parent().find('a').toggle();"
+               . '<div onclick="'
+               . "jQuery(this).parent().find('a').toggle();"
                . '" title="'
                . _T('masquer_colonne')
                . '" style="cursor: pointer;">'
@@ -456,7 +455,7 @@ function debusquer_squelette($fonc, $mode, $self){
                }
                else
                        return strlen(trim($res))
-                       ? "<div id='spip-debug'>$res</div>"
+                       ? "<img src='".chemin_image('compat-16.png')."' alt='afficher-masquer le debug' id='spip-debug-toggle' onclick=\"x = document.getElementById('spip-debug'); (x.style.display == '' ? x.style.display = 'none' : x.style.display = '');\" /><div id='spip-debug'>$res</div>"
                        // cas de l'appel sur erreur: montre la page
                        : $GLOBALS['debug_objets']['resultat']['tout'];
        }
@@ -476,7 +475,7 @@ function debusquer_squelette($fonc, $mode, $self){
                $res = $id = '';
        }
        return !trim($texte) ? '' : (
-               "<div id='spip-debug'>$res"
+               "<img src='".chemin_image('compat-16.png')."' alt='afficher-masquer le debug' id='spip-debug-toggle' onclick=\"x = document.getElementById('spip-debug'); (x.style.display == '' ? x.style.display = 'none' : x.style.display = '');\" /><div id='spip-debug'>$res"
                        . "<div id='debug_boucle'><fieldset$id><legend>"
                        . "<a href='".$self."#f_".substr($fonc, 0, 37)."'> &#8593; "
                        . ($legend ? $legend : $mode)
@@ -647,7 +646,7 @@ function debusquer_navigation_boucles($boucles, $nom_skel, $self, $nom_source){
                                "</td><td>\n" .
                                $req .
                                "</td><td>\n" .
-                               $crit .
+                               htmlspecialchars($crit) .
                                "</td></tr>";
                }
        }
@@ -738,10 +737,7 @@ function debusquer_entete($titre, $corps){
                . "' type='text/css' />" .
                "</head>\n" .
                "<body style='margin:0 10px;'>\n" .
-               "<div id='spip-debug-hide' style='position: absolute; top: 0px; z-index: 1000; right:0px;'>" .
-               "<a href='#' onClick=\"x = document.getElementById('spip-debug-header'); (x.style.display == '' ? x.style.display = 'none' : x.style.display = ''); return false;\"> + / - </a>" .
-               "</div>" .
-               "<div id='spip-debug-header' style='position: absolute; top: 22px; z-index: 1000;height:97%;left:0px;right:10px;'>" .
+               "<div id='spip-debug-header'>" .
                $corps .
                inclure_balise_dynamique(balise_FORMULAIRE_ADMIN_dyn('spip-admin-float', $debug_objets), false) .
                '</div></body></html>';
index 28d21f2..2617ff5 100644 (file)
@@ -217,18 +217,21 @@ function tester_redirection($fond, $contexte, $connect)
                                // passer en url absolue car cette redirection pourra
                                // etre utilisee dans un contexte d'url qui change
                                // y compris url arbo
+                               $status = 302;
+                               if (defined('_STATUS_REDIRECTION_VIRTUEL'))
+                                       $status=_STATUS_REDIRECTION_VIRTUEL;
                                if (!preg_match(',^\w+:,', $url)) {
                                        include_spip('inc/filtres_mini');
                                        $url = url_absolue($url);
                                }
                                $url = str_replace('&amp;', '&', $url);
                                return array('texte' => "<"
-                               . "?php header('Location: "
+                               . "?php include_spip('inc/headers');redirige_par_entete('"
                                . texte_script($url)
-                               . "'); echo '"
-                               .  addslashes($url)
-                               . "'.\"\n\"?" . ">",
-                                       'process_ins' => 'php');
+                               . "','',$status);"
+                               . "?" . ">",
+                                       'process_ins' => 'php',
+                                 'status' => $status);
                        }
                }
        }
index 94cdccc..9d316de 100644 (file)
@@ -134,15 +134,13 @@ function chrono_requete($temps)
                  . join('',$t[$k]);
        }
 
-       $navigation = 
-         _T('zbug_statistiques')
-         . "<table style='text-align: left; border: 1px solid;'><tr><td>"
+       $navigation = array(_T('zbug_statistiques'),
+         "<tr><td>"
                . join("</td></tr>\n<tr><td>", $d)
          . "</td></tr>\n"
          .  (# _request('var_mode_objet') ? '' : 
-            ("<tr><td>" .  count($temps) . "</td><td>" . _T('info_total') . '</td><td class="time">' . $total . "</td><td></td></tr>"))
-         . "</table>";
-
+            ("<tr><td>" .  count($temps) . "</td><td>" . _T('info_total') . '</td><td class="time">' . $total . "</td><td></td></tr>")));
+         
        return array($temps, $navigation);
 }
 
index b485cd8..3bbd435 100644 (file)
@@ -178,7 +178,17 @@ function spip_mysql_query($query, $serveur='',$requeter=true) {
        } else $t = 0 ;
  
        $connexion['last'] = $query;
-       $r = $link ? mysql_query($query, $link) : mysql_query($query);
+
+       // ajouter un debug utile dans log/mysql-slow.log ?
+       $debug = (!defined('_DEBUG_SLOW_QUERIES') || !_DEBUG_SLOW_QUERIES)
+               ? ''
+               :       ' /* '
+                       .str_replace('*/','@/',
+                               $_SERVER['REQUEST_URI'].' + '.$GLOBALS['ip']
+                       )
+                       .' */';
+
+       $r = $link ? mysql_query($query.$debug, $link) : mysql_query($query.$debug);
 
        if ($e = spip_mysql_errno($serveur))    // Log de l'erreur eventuelle
                $e .= spip_mysql_error($query, $serveur); // et du fautif
index ea08827..14708b8 100644 (file)
@@ -27,7 +27,7 @@ function _sqlite_init_functions(&$sqlite){
 
        
        $fonctions = array(
-               'CONCAT'                => array( '_sqlite_func_concat'                 ,2),
+               'CONCAT'                => array( '_sqlite_func_concat'                 ,-1),
                'CEIL'      => array( '_sqlite_func_ceil', 1), // absent de sqlite2
                
                'DATE_FORMAT'   => array( '_sqlite_func_strftime'               ,2),
@@ -69,6 +69,8 @@ function _sqlite_init_functions(&$sqlite){
                'TO_DAYS'               => array( '_sqlite_func_to_days'                ,1),
 #              'TRIM'                  => array( 'trim'                                                ,1), // present en theorie
 
+               'TIMESTAMPDIFF' => array('_sqlite_timestampdiff'                /*,3*/),
+
                'UNIX_TIMESTAMP'=> array( '_sqlite_func_unix_timestamp' ,1),
 #              'UPPER'                 => array( 'strtoupper'                                  ,1), // present v2.4            
 
@@ -273,6 +275,75 @@ function _sqlite_func_substring($string,$start,$len=null){
                return substr($string,$start,$len);
 }
 
+/**
+ * Calcul de la difference entre 2 timestamp, exprimes dans l'unite fournie en premier argument
+ * emule https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timestampdiff
+ * @param string $unit
+ * @param string $date1
+ * @param string $date2
+ * @return int
+ */
+function _sqlite_timestampdiff($unit,$date1,$date2){
+       // PHP >= 5.3
+       if (function_exists("date_diff")){
+               $d1 = date_create($date1);
+               $d2 = date_create($date2);
+               $diff = date_diff($d1,$d2);
+               $inv = $diff->invert?-1:1;
+               switch($unit){
+                       case "YEAR":
+                               return $inv*$diff->y;
+                       case "QUARTER":
+                               return $inv*(4*$diff->y+intval(floor($diff->m/3)));
+                       case "MONTH":
+                               return $inv*(12*$diff->y+$diff->m);
+                       case "WEEK":
+                               return $inv*intval(floor($diff->days/7));
+                       case "DAY":
+                               #var_dump($inv*$diff->days);
+                               return $inv*$diff->days;
+                       case "HOUR":
+                               return $inv*(24*$diff->days+$diff->h);
+                       case "MINUTE":
+                               return $inv*((24*$diff->days+$diff->h)*60+$diff->i);
+                       case "SECOND":
+                               return $inv*(((24*$diff->days+$diff->h)*60+$diff->i)*60+$diff->s);
+                       case "MICROSECOND":
+                               return $inv*(((24*$diff->days+$diff->h)*60+$diff->i)*60+$diff->s)*1000000;
+               }
+               return 0;
+       }
+       // PHP < 5.3
+       else {
+               $d1 = strtotime($date1);
+               $d2 = strtotime($date2);
+               $diff = $d2 - $d1;
+               $sign = ($diff<0?-1:1);
+               $diff = $sign * $diff;
+               switch($unit){
+                       case "YEAR":
+                               $diff = $d2-$d1;
+                               return $sign*(date('Y',abs($diff))-date('Y',0));
+                       case "QUARTER":
+                               return $sign*(4*(date('Y',abs($diff))-date('Y',0))+intval(floor((date('m',$diff)-1)/3)));
+                       case "MONTH":
+                               return $sign*((date('Y',$diff)-date('Y',0))*12+date('m',$diff)-1);
+                       case "WEEK":
+                               return intval(floor(($d2-$d1)/3600/7));
+                       case "DAY":
+                               return intval(floor(($d2-$d1)/3600/24));
+                       case "HOUR":
+                               return intval(floor(($d2-$d1)/3600));
+                       case "MINUTE":
+                               return intval(floor(($d2-$d1)/60));
+                       case "SECOND":
+                               return $d2-$d1;
+                       case "MICROSECOND":
+                               return $d2-$d1*1000000;
+               }
+       }
+}
+
 // http://doc.spip.org/@_sqlite_func_unix_timestamp
 function _sqlite_func_unix_timestamp($d) {
        //2005-12-02 20:53:53
index f596141..17c0969 100644 (file)
@@ -512,12 +512,15 @@ function spip_sqlite_create_index($nom, $table, $champs, $unique='', $serveur =
        }
 
        $ifnotexists = "";
-       if (_sqlite_is_version(2, '', $serveur)){
-               /* simuler le IF EXISTS - version 2 */
+       $version = spip_sqlite_fetch(spip_sqlite_query("select sqlite_version() AS sqlite_version",$serveur),'',$serveur);
+       if (!function_exists('spip_version_compare')) include_spip('plugins/installer');
+
+       if ($version AND spip_version_compare($version['sqlite_version'],'3.3.0','>=')) {
+               $ifnotexists = ' IF NOT EXISTS';
+       } else {
+               /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
                $a = spip_sqlite_showtable($table, $serveur);
                if (isset($a['key']['KEY '.$nom])) return true;
-       } else {
-               $ifnotexists = ' IF NOT EXISTS';
        }
 
        $query = "CREATE ".($unique?"UNIQUE ":"")."INDEX$ifnotexists $nom ON $table (".join(',', $champs).")";
@@ -1957,15 +1960,18 @@ function _sqlite_requete_create($nom, $champs, $cles, $autoinc = false, $tempora
 
        $ifnotexists = "";
        if ($_ifnotexists){
-               // simuler le IF NOT EXISTS - version 2 
-               if (_sqlite_is_version(2, '', $serveur)){
-                       $a = spip_sqlite_showtable($nom, $serveur);
-                       if ($a) return false;
-               }
-                       // sinon l'ajouter en version 3
-               else {
+
+               $version = spip_sqlite_fetch(spip_sqlite_query("select sqlite_version() AS sqlite_version",$serveur),'',$serveur);
+               if (!function_exists('spip_version_compare')) include_spip('plugins/installer');
+
+               if ($version AND spip_version_compare($version['sqlite_version'],'3.3.0','>=')) {
                        $ifnotexists = ' IF NOT EXISTS';
+               } else {
+                       /* simuler le IF EXISTS - version 2 et sqlite < 3.3a */
+                       $a = spip_sqlite_showtable($table, $serveur);
+                       if (isset($a['key']['KEY '.$nom])) return true;
                }
+
        }
 
        $temporary = $temporary ? ' TEMPORARY' : '';
@@ -2273,6 +2279,11 @@ class sqlite_traducteur {
                        $this->query = str_replace('LEFT(','_LEFT(',$this->query);
                }
 
+               if (strpos($this->query, 'TIMESTAMPDIFF(')!==false){
+                       $this->query = preg_replace('/TIMESTAMPDIFF\(\s*([^,]*)\s*,/Uims',"TIMESTAMPDIFF('\\1',",$this->query);
+               }
+
+
                // Correction Using
                // USING (non reconnu en sqlite2)
                // problematique car la jointure ne se fait pas du coup.
index 4e1d058..1288a62 100644 (file)
@@ -44,7 +44,7 @@ function typographie_fr_dist($letexte) {
 
        $cherche1 = array(
                /* 1 */         '/((?:^|[^\#0-9a-zA-Z\&])[\#0-9a-zA-Z]*)\;/S',
-               /* 2 */         '/&#187;| --?,|(?::| %)(?:\W|$)/S',
+               /* 2 */         '/&#187;| --?,|(?::(?!:)| %)(?:\W|$)/S',
                /* 3 */         '/([^[<(!?.])([!?][!?\.]*)/iS',
                /* 4 */         '/&#171;|(?:M(?:M?\.|mes?|r\.?)|[MnN]&#176;) /S'
        );
index d7ea692..25662f4 100644 (file)
@@ -3,8 +3,8 @@
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
        </langue>
        <langue code="ast" url="http://trad.spip.net/tradlang_module/breves?lang_cible=ast">
-               <traducteur nom="Xuacu" lien="http://trad.spip.net/auteur/xuacu" />
                <traducteur nom="akomarani" lien="http://trad.spip.net/auteur/akomarani" />
+               <traducteur nom="Xuacu" lien="http://trad.spip.net/auteur/xuacu" />
        </langue>
        <langue code="ay" />
        <langue code="bg" url="http://trad.spip.net/tradlang_module/breves?lang_cible=bg">
@@ -29,8 +29,8 @@
                <traducteur nom="Yannick Bailly" lien="http://trad.spip.net/auteur/yannick-bailly" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/breves?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" url="http://trad.spip.net/tradlang_module/breves?lang_cible=eo">
@@ -75,8 +75,8 @@
        <langue code="my" />
        <langue code="nb" />
        <langue code="nl" url="http://trad.spip.net/tradlang_module/breves?lang_cible=nl">
-               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
                <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
+               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="oc_auv" />
        <langue code="oc_gsc" />
diff --git a/www/plugins-dist/breves/lang/breves_ft_tu.php b/www/plugins-dist/breves/lang/breves_ft_tu.php
deleted file mode 100644 (file)
index ace3c28..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
-// extrait automatiquement de http://www.spip.net/trad-lang/
-// ** ne pas modifier le fichier **
-
-if (!defined('_ECRIRE_INC_VERSION')) return;
-
-$GLOBALS[$GLOBALS['idx_lang']] = array(
-
-       // B
-       'breve' => 'Brève',
-       'breves' => 'Brèves',
-
-       // E
-       'entree_breve_publiee' => 'Cette brève est :', # NEW
-       'entree_texte_breve' => 'Texte de la brève', # NEW
-
-       // I
-       'icone_breves' => 'Brèves', # NEW
-       'icone_ecrire_nouvel_article' => 'Les brèves contenues dans cette rubrique', # NEW
-       'icone_modifier_breve' => 'Modifier cette brève', # NEW
-       'icone_nouvelle_breve' => 'Écrire une nouvelle brève', # NEW
-       'info_1_breve' => '1 brève', # NEW
-       'info_aucun_breve' => 'Aucune brève', # NEW
-       'info_breves' => 'Votre site utilise-t-il le système de brèves ?', # NEW
-       'info_breves_02' => 'Brèves', # NEW
-       'info_breves_valider' => 'Brèves à valider', # NEW
-       'info_gauche_numero_breve' => 'Brève numéro', # NEW
-       'info_nb_breves' => '@nb@ brèves', # NEW
-       'item_breve_proposee' => 'proposée à l\'évaluation', # NEW
-       'item_breve_refusee' => 'refusée', # NEW
-       'item_breve_validee' => 'validée', # NEW
-       'item_non_utiliser_breves' => 'Ne pas utiliser les brèves', # NEW
-       'item_utiliser_breves' => 'Utiliser les brèves', # NEW
-
-       // L
-       'logo_breve' => 'Logo de la brève', # NEW
-
-       // T
-       'texte_breves' => 'Les brèves sont des textes courts et simples permettant de
-       mettre en ligne rapidement des informations concises, de gérer
-       une revue de presse, un calendrier d\'événements...', # NEW
-       'titre_breve_proposee' => 'Brève proposée', # NEW
-       'titre_breve_publiee' => 'Brève publiée', # NEW
-       'titre_breve_refusee' => 'Brève refusée', # NEW
-       'titre_breves' => 'Les brèves', # NEW
-       'titre_langue_breve' => 'Langue de la brève', # NEW
-       'titre_nouvelle_breve' => 'Nouvelle brève', # NEW
-       'titre_page_breves' => 'Brèves' # NEW
-);
-
-?>
diff --git a/www/plugins-dist/compagnon/compagnon/article_redaction _redacteur.html b/www/plugins-dist/compagnon/compagnon/article_redaction _redacteur.html
deleted file mode 100644 (file)
index 002bbd1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-[(#ENV{fermer}|non)
-[<pre>(#ENV**|unserialize|print_r{1})</pre>]
-#BOITE_OUVRIR{'<:compagnon:c_article_redaction:>',compagnon}
-
-<:compagnon:c_article_redaction_texte:>
-
-#BOITE_PIED
-       <span class="target" data-target="#navigation li.editer_statut"></span>
-       [(#BOUTON_ACTION{[(#VAL|ok_aleatoire)],#URL_ACTION_AUTEUR{compagnon,compris/#ID,#SELF|parametre_url{fermer,oui}},ajax})]
-#BOITE_FERMER
-]
diff --git a/www/plugins-dist/compagnon/compagnon/article_redaction_redacteur.html b/www/plugins-dist/compagnon/compagnon/article_redaction_redacteur.html
new file mode 100644 (file)
index 0000000..52b372d
--- /dev/null
@@ -0,0 +1,10 @@
+[(#ENV{fermer}|non)
+[(#BOITE_OUVRIR{<:compagnon:c_article_redaction:>,compagnon})]
+
+<:compagnon:c_article_redaction_texte:>
+
+#BOITE_PIED
+       <span class="target" data-target="#navigation li.editer_statut"></span>
+       [(#BOUTON_ACTION{[(#VAL|ok_aleatoire)],#URL_ACTION_AUTEUR{compagnon,compris/#ID,#SELF|parametre_url{fermer,oui}},ajax})]
+#BOITE_FERMER
+]
index e547658..1e63c9a 100644 (file)
@@ -12,7 +12,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'c_accueil_configurer_site' => 'Agordi vian retejon',
        'c_accueil_configurer_site_texte' => 'Unu el la unuaj aferoj por fari estas doni nomon al via retejo.
 Ĝi nuntempe nomiĝas « @nom@ ». La retejnomo estas montrita supre de ĉi paĝo.
-Klakante sur tio, vi povas ŝanĝi lian nomon, sed ankaŭ donas al ĝi vigneton kaj devizon.',
+Klakante sur tio, vi povas ŝanĝi lian nomon, sed ankaŭ donas al ĝi vinjeton kaj devizon.',
        'c_accueil_publication' => 'Publikigu !',
        'c_accueil_publication_texte' => 'Por publikigi paĝon, vi devas krei artikolon.
 Por tio, estas necesa krei almenaŭ unu rubrikon. Vi povas fari tion en la menuo «Eldono» per klako sur «Rubrikoj».',
index 1a0bb1c..e2db746 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="compagnon"
        categorie="divers"
-       version="1.4.0"
+       version="1.4.1"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/compagnon-32.png"
index baee429..aeb41b7 100644 (file)
@@ -125,6 +125,7 @@ function concatener_fichiers($files,$format='js', $callbacks = array()){
                  }
                        // ecrire
                        ecrire_fichier($nom_tmp,$fichier,true);
+                       spip_clearstatcache(true,$nom_tmp);
                        // ecrire une version .gz pour content-negociation par apache, cf. [11539]
                        ecrire_fichier("$nom_tmp.gz",$fichier,true);
 
@@ -136,6 +137,7 @@ function concatener_fichiers($files,$format='js', $callbacks = array()){
                          if ($encore!==$nom){
                                        // ecrire
                                        ecrire_fichier($nom,$fichier,true);
+                                 spip_clearstatcache(true,$nom);
                                        // ecrire une version .gz pour content-negociation par apache, cf. [11539]
                                        ecrire_fichier("$nom.gz",$fichier,true);
                          }
index 2c813d5..67cb75d 100644 (file)
@@ -253,6 +253,7 @@ function minifier_encore_js($content,$file=false) {
                        $content = $dest;
                  if (is_string($file)){
                          ecrire_fichier ($file, $cc, true);
+                         spip_clearstatcache(true,$file);
                          ecrire_fichier ("$file.gz", $cc, true);
                    $content = $file;
                  }
index 14e3259..a3e1831 100644 (file)
@@ -12,9 +12,9 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/compresseur?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="eo" url="http://trad.spip.net/tradlang_module/compresseur?lang_cible=eo">
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
@@ -38,9 +38,9 @@
                <traducteur nom="jwander" lien="http://trad.spip.net/auteur/jwander" />
        </langue>
        <langue code="nl" url="http://trad.spip.net/tradlang_module/compresseur?lang_cible=nl">
-               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
                <traducteur nom="gerbrand" lien="http://trad.spip.net/auteur/gerbrand" />
                <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
+               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="pt_br" url="http://trad.spip.net/tradlang_module/compresseur?lang_cible=pt_br">
                <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
diff --git a/www/plugins-dist/compresseur/lib/csstidy/css_optimiser.php b/www/plugins-dist/compresseur/lib/csstidy/css_optimiser.php
deleted file mode 100644 (file)
index b282062..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<?php
-
-/**
- * CSSTidy - CSS Optimiser Interface
- * This file produces an XHTML interface for optimising CSS code
- *
- * Copyright 2005, 2006, 2007 Florian Schmitz
- *
- * This file is part of CSSTidy.
- *
- *  CSSTidy 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.
- *
- *   CSSTidy 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 program.  If not, see <http://www.gnu.org/licenses/>.
- *
- * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License
- * @package csstidy
- * @author Florian Schmitz (floele at gmail dot com) 2005-2007
- * @author Brett Zamir (brettz9 at yahoo dot com) 2007
- */
-
-require('class.csstidy.php');
-require('lang.inc.php');
-
-
-if (get_magic_quotes_gpc()) {
-       if (isset($_REQUEST['css_text'])) {
-               $_REQUEST['css_text'] = stripslashes($_REQUEST['css_text']);
-       }
-       if (isset($_REQUEST['custom'])) {
-               $_REQUEST['custom'] = stripslashes($_REQUEST['custom']);
-       }
-       if (isset($_COOKIE['custom_template'])) {
-               $_COOKIE['custom_template'] = stripslashes($_COOKIE['custom_template']);
-       }
-}
-
-function rmdirr($dirname,$oc=0)
-{
-       // Sanity check
-       if (!file_exists($dirname)) {
-         return false;
-       }
-       // Simple delete for a file
-       if (is_file($dirname) && (time()-fileatime($dirname))>3600) {
-          return unlink($dirname);
-       }
-       // Loop through the folder
-       if(is_dir($dirname))
-       {
-       $dir = dir($dirname);
-       while (false !== $entry = $dir->read()) {
-          // Skip pointers
-          if ($entry === '.' || $entry === '..') {
-                  continue;
-          }
-          // Recurse
-          rmdirr($dirname.'/'.$entry,$oc);
-       }
-       $dir->close();
-       }
-       // Clean up
-       if ($oc==1)
-       {
-               return rmdir($dirname);
-       }
-}
-
-function options($options, $selected = null, $labelIsValue = false)
-{
-    $html = '';
-
-    settype($selected, 'array');
-    settype($options, 'array');
-
-    foreach ($options as $value=>$label)
-    {
-        if (is_array($label)) {
-            $value = $label[0];
-            $label = $label[1];
-        }
-        $label = htmlspecialchars($label, ENT_QUOTES, 'utf-8');
-        $value = $labelIsValue ? $label
-                               : htmlspecialchars($value, ENT_QUOTES, 'utf-8');
-
-        $html .= '<option value="'.$value.'"';
-        if (in_array($value, $selected)) {
-            $html .= ' selected="selected"';
-        }
-        $html .= '>'.$label.'</option>';
-    }
-    if (!$html) {
-        $html .= '<option value="0">---</option>';
-    }
-
-    return $html;
-}
-
-$css = new csstidy();
-$is_custom = isset($_REQUEST['custom']) && !empty($_REQUEST['custom']) && isset($_REQUEST['template']) && ($_REQUEST['template'] === '4');
-if($is_custom)
-{
-    setcookie ('custom_template', $_REQUEST['custom'], time()+360000);
-}
-
-rmdirr('temp');
-
-if(isset($_REQUEST['case_properties'])) $css->set_cfg('case_properties',$_REQUEST['case_properties']);
-if(isset($_REQUEST['lowercase'])) $css->set_cfg('lowercase_s',true);
-if(!isset($_REQUEST['compress_c']) && isset($_REQUEST['post'])) $css->set_cfg('compress_colors',false);
-if(!isset($_REQUEST['compress_fw']) && isset($_REQUEST['post'])) $css->set_cfg('compress_font-weight',false);
-if(isset($_REQUEST['merge_selectors'])) $css->set_cfg('merge_selectors', $_REQUEST['merge_selectors']);
-if(isset($_REQUEST['optimise_shorthands'])) $css->set_cfg('optimise_shorthands',$_REQUEST['optimise_shorthands']);
-if(!isset($_REQUEST['rbs']) && isset($_REQUEST['post'])) $css->set_cfg('remove_bslash',false);
-if(isset($_REQUEST['preserve_css'])) $css->set_cfg('preserve_css',true);
-if(isset($_REQUEST['sort_sel'])) $css->set_cfg('sort_selectors',true);
-if(isset($_REQUEST['sort_de'])) $css->set_cfg('sort_properties',true);
-if(isset($_REQUEST['remove_last_sem'])) $css->set_cfg('remove_last_;',true);
-if(isset($_REQUEST['discard'])) $css->set_cfg('discard_invalid_properties',true);
-if(isset($_REQUEST['css_level'])) $css->set_cfg('css_level',$_REQUEST['css_level']);
-if(isset($_REQUEST['timestamp'])) $css->set_cfg('timestamp',true);
-
-
-// This by itself is enough since our scripts don't use DOM to create elements (in which case the namespace aware ones
-// should be used when serving as application/xhtml+xml but not when served as text/html ; 
-// also, case will be different when retrieving element names, as HTML DOM returns in upper case, 
-// genuine XHTML DOM (when XHTML served as such) as lower
-if (stristr($_SERVER['HTTP_ACCEPT'], 'application/xhtml+xml')) {
-       $http_accept = 'application/xhtml+xml';
-}
-elseif (stristr($_SERVER['HTTP_ACCEPT'], 'application/xml')) {
-       $http_accept = 'application/xml';
-}
-elseif (stristr($_SERVER['HTTP_ACCEPT'], 'text/xml')) {
-       $http_accept = 'text/xml';
-}
-elseif (stristr($_SERVER['HTTP_USER_AGENT'], 'Opera ') || stristr($_SERVER['HTTP_USER_AGENT'], 'Opera/')) {
-       preg_match('@Opera/(\d)@', $_SERVER['HTTP_USER_AGENT'], $matches);
-       if (isset($matches[1]) && $matches[1] >= 7) {
-               $http_accept = 'application/xhtml+xml';
-       }
-       else {
-               $http_accept = 'text/html';
-       }
-}
-else {
-       $http_accept = 'text/html';
-}
-
-header('Content-Type: '.$http_accept.'; charset=utf-8');
-
-if ($http_accept === 'text/html') {
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<?php
-}
-else {
-?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<?php
-}
-?>
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $l; ?>">
-  <head>
-    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
-    <title>
-      <?php echo $lang[$l][0]; echo $css->version; ?>)
-    </title>
-    <link rel="stylesheet" href="cssparse.css" type="text/css" />
-    <script type="text/javascript"><!--/*--><![CDATA[/*><!--*/
-    function enable_disable_preserve()
-    {
-        var inputs =   new Array('sort_sel', 'sort_de', 'optimise_shorthands', 'merge_selectors', 'none');
-        var inputs_v = new Array( true,       true,      true,                  true,              false);
-        for(var i = 0; i < inputs.length; i++)
-        {
-            if(document.getElementById('preserve_css').checked)  {
-                document.getElementById(inputs[i]).disabled = inputs_v[i];
-            } else {
-                document.getElementById(inputs[i]).disabled = !inputs_v[i];
-            }
-        }
-    }
-    function ClipBoard()
-    {
-               if (window.clipboardData) { // Feature testing
-                       window.clipboardData.setData('Text',document.getElementById("copytext").innerText);
-               }
-               else if (navigator.userAgent.indexOf('Gecko') != -1 
-                                       && navigator.userAgent.indexOf('Apple') == -1
-                                       ) {
-                       try {
-                               netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
-                               const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].
-                                    getService(Components.interfaces.nsIClipboardHelper);
-                                                                       gClipboardHelper.copyString(document.getElementById("copytext").innerHTML);
-                       }
-                       catch (e) {
-                               alert(e+"\n\n"+"<?php echo $lang[$l][66] ?>");
-                       }
-               }
-               else {
-                       alert("<?php echo $lang[$l][60]; ?>");
-               }
-    }
-       /*]]>*/-->
-    </script>
-  </head>
-  <body onload="enable_disable_preserve()">
-    <div><h1 style="display:inline">
-      <?php echo $lang[$l][1]; ?>
-    </h1>
-    <?php echo $lang[$l][2]; ?> <a
-      href="http://csstidy.sourceforge.net/">csstidy</a> <?php echo $css->version; ?>)
-    </div><p>
-    <?php echo $lang[$l][39]; ?>: <a hreflang="en" href="?lang=en">English</a> <a hreflang="de" href="?lang=de">Deutsch</a> <a hreflang="fr" href="?lang=fr">French</a> <a hreflang="zh" href="?lang=zh">Chinese</a></p>
-    <p><?php echo $lang[$l][4]; ?>
-      <?php echo $lang[$l][6]; ?>
-    </p>
-
-    <form method="post" action="">
-      <div>
-        <fieldset id="field_input">
-          <legend><?php echo $lang[$l][8]; ?></legend> <label for="css_text"
-          class="block"><?php echo $lang[$l][9]; ?></label><textarea id="css_text" name="css_text" rows="20" cols="35"><?php if(isset($_REQUEST['css_text'])) echo htmlspecialchars($_REQUEST['css_text'], ENT_QUOTES, "utf-8"); ?></textarea>
-            <label for="url"><?php echo $lang[$l][10]; ?></label> <input type="text"
-          name="url" id="url" <?php if(isset($_REQUEST['url']) &&
-          !empty($_REQUEST['url'])) echo 'value="',htmlspecialchars($_REQUEST['url'], ENT_QUOTES, 'utf-8'),'"'; ?>
-          size="35" /><br />
-          <input type="submit" value="<?php echo $lang[$l][35]; ?>" id="submit" />
-        </fieldset>
-        <div id="rightcol">
-          <fieldset id="code_layout">
-            <legend><?php echo $lang[$l][11]; ?></legend> <label for="template"
-            class="block"><?php echo $lang[$l][12]; ?></label> <select
-            id="template" name="template" style="margin-bottom:1em;">
-              <?php
-                $num = (isset($_REQUEST['template'])) ? intval($_REQUEST['template']) : 1;
-                echo options(array(3 => $lang[$l][13], 2 => $lang[$l][14], 1 => $lang[$l][15], 0 => $lang[$l][16], 4 => $lang[$l][17]), $num);
-              ?>
-            </select><br />
-            <label for="custom" class="block">
-            <?php echo $lang[$l][18]; ?> </label> <textarea id="custom"
-            name="custom" cols="33" rows="4"><?php
-               if($is_custom) echo
-              htmlspecialchars($_REQUEST['custom'], ENT_QUOTES, 'utf-8');
-               elseif(isset($_COOKIE['custom_template']) &&
-              !empty($_COOKIE['custom_template'])) echo
-                               htmlspecialchars($_COOKIE['custom_template'], ENT_QUOTES, 'utf-8');
-               ?></textarea>
-          </fieldset>
-          <fieldset id="options">
-         <legend><?php echo $lang[$l][19]; ?></legend>
-
-            <input onchange="enable_disable_preserve()" type="checkbox" name="preserve_css" id="preserve_css"
-                   <?php if($css->get_cfg('preserve_css')) echo 'checked="checked"'; ?> />
-            <label for="preserve_css" title="<?php echo $lang[$l][52]; ?>" class="help"><?php echo $lang[$l][51]; ?></label><br />
-
-
-            <input type="checkbox" name="sort_sel" id="sort_sel"
-                   <?php if($css->get_cfg('sort_selectors')) echo 'checked="checked"'; ?> />
-            <label for="sort_sel" title="<?php echo $lang[$l][41]; ?>" class="help"><?php echo $lang[$l][20]; ?></label><br />
-
-
-            <input type="checkbox" name="sort_de" id="sort_de"
-                   <?php if($css->get_cfg('sort_properties')) echo 'checked="checked"'; ?> />
-            <label for="sort_de"><?php echo $lang[$l][21]; ?></label><br />
-
-
-            <label for="merge_selectors"><?php echo $lang[$l][22]; ?></label>
-            <select style="width:15em;" name="merge_selectors" id="merge_selectors">
-              <?php echo options(array('0' => $lang[$l][47], '1' => $lang[$l][48], '2' => $lang[$l][49]), $css->get_cfg('merge_selectors')); ?>
-            </select><br />
-
-            <label for="optimise_shorthands"><?php echo $lang[$l][23]; ?></label>
-            <select name="optimise_shorthands" id="optimise_shorthands">
-            <?php echo options(array($lang[$l][54], $lang[$l][55], $lang[$l][56]), $css->get_cfg('optimise_shorthands')); ?>
-            </select><br />
-
-
-            <input type="checkbox" name="compress_c" id="compress_c"
-                   <?php if($css->get_cfg('compress_colors')) echo 'checked="checked"';?> />
-            <label for="compress_c"><?php echo $lang[$l][24]; ?></label><br />
-
-
-            <input type="checkbox" name="compress_fw" id="compress_fw"
-                   <?php if($css->get_cfg('compress_font-weight')) echo 'checked="checked"';?> />
-            <label for="compress_fw"><?php echo $lang[$l][45]; ?></label><br />
-
-
-            <input type="checkbox" name="lowercase" id="lowercase" value="lowercase"
-                   <?php if($css->get_cfg('lowercase_s')) echo 'checked="checked"'; ?> />
-            <label title="<?php echo $lang[$l][30]; ?>" class="help" for="lowercase"><?php echo $lang[$l][25]; ?></label><br />
-
-
-            <?php echo $lang[$l][26]; ?><br />
-            <input type="radio" name="case_properties" id="none" value="0"
-                   <?php if($css->get_cfg('case_properties') === 0) echo 'checked="checked"'; ?> />
-            <label for="none"><?php echo $lang[$l][53]; ?></label>
-            <input type="radio" name="case_properties" id="lower_yes" value="1"
-                   <?php if($css->get_cfg('case_properties') === 1) echo 'checked="checked"'; ?> />
-            <label for="lower_yes"><?php echo $lang[$l][27]; ?></label>
-            <input type="radio" name="case_properties" id="upper_yes" value="2"
-                   <?php if($css->get_cfg('case_properties') === 2) echo 'checked="checked"'; ?> />
-            <label for="upper_yes"><?php echo $lang[$l][29]; ?></label><br />
-
-            <input type="checkbox" name="rbs" id="rbs"
-                   <?php if($css->get_cfg('remove_bslash')) echo 'checked="checked"'; ?> />
-            <label for="rbs"><?php echo $lang[$l][31]; ?></label><br />
-
-
-            <input type="checkbox" id="remove_last_sem" name="remove_last_sem"
-                   <?php if($css->get_cfg('remove_last_;')) echo 'checked="checked"'; ?> />
-                       <label for="remove_last_sem"><?php echo $lang[$l][42]; ?></label><br />
-
-
-            <input type="checkbox" id="discard" name="discard"
-                   <?php if($css->get_cfg('discard_invalid_properties')) echo 'checked="checked"'; ?> />
-            <label for="discard"><?php echo $lang[$l][43]; ?></label>
-            <select name="css_level"><?php echo options(array('CSS2.1','CSS2.0','CSS1.0'),$css->get_cfg('css_level'), true); ?></select><br />
-
-
-            <input type="checkbox" id="timestamp" name="timestamp"
-                   <?php if($css->get_cfg('timestamp')) echo 'checked="checked"'; ?> />
-                       <label for="timestamp"><?php echo $lang[$l][57]; ?></label><br />
-                       
-                       <input type="checkbox" id="whole_file" name="whole_file"
-                   <?php if(isset($_REQUEST['whole_file'])) echo 'checked="checked"'; ?> />
-                       <label for="whole_file"><?php echo $lang[$l][63]; ?></label><br />
-
-
-            <input type="checkbox" name="file_output" id="file_output" value="file_output"
-                   <?php if(isset($_REQUEST['file_output'])) echo 'checked="checked"'; ?> />
-            <label class="help" title="<?php echo $lang[$l][34]; ?>" for="file_output">
-                               <strong><?php echo $lang[$l][33]; ?></strong>
-                       </label><br />
-
-          </fieldset>
-        <input type="hidden" name="post" />
-        </div>
-      </div>
-    </form>
-    <?php
-
-    $file_ok = false;
-    $result = false;
-
-    $url = (isset($_REQUEST['url']) && !empty($_REQUEST['url'])) ? $_REQUEST['url'] : false;
-
-       if(isset($_REQUEST['template']))
-       {
-               switch($_REQUEST['template'])
-               {
-                       case 4:
-                       if($is_custom)
-                       {
-                               $css->load_template($_REQUEST['custom'],false);
-                       }
-                       break;
-
-                       case 3:
-                       $css->load_template('highest_compression');
-                       break;
-
-                       case 2:
-                       $css->load_template('high_compression');
-                       break;
-
-                       case 0:
-                       $css->load_template('low_compression');
-                       break;
-               }
-       }
-
-    if($url)
-    {
-       if(substr($_REQUEST['url'],0,7) !== 'http://')
-               {
-                       $_REQUEST['url'] = 'http://'.$_REQUEST['url'];
-               }
-        $result = $css->parse_from_url($_REQUEST['url'],0);
-    }
-    elseif(isset($_REQUEST['css_text']) && strlen($_REQUEST['css_text'])>5)
-    {
-        $result = $css->parse($_REQUEST['css_text']);
-    }
-
-    if($result)
-    {
-        $ratio = $css->print->get_ratio();
-        $diff = $css->print->get_diff();
-        if(isset($_REQUEST['file_output']))
-        {
-            $filename = md5(mt_rand().time().mt_rand());
-                       if (!is_dir('temp')) {
-                               $madedir = mkdir('temp');
-                               if (!$madedir) {
-                                       print 'Could not make directory "temp" in '.dirname(__FILE__);
-                                       exit;
-                               }
-                       }
-            $handle = fopen('temp/'.$filename.'.css','w');
-            if($handle) {
-                if(fwrite($handle,$css->print->plain()))
-                {
-                    $file_ok = true;
-                }
-            }
-            fclose($handle);
-        }
-        if($ratio>0) $ratio = '<span style="color:green;">'.$ratio.'%</span>
-    ('.$diff.' Bytes)'; else $ratio = '<span
-    style="color:red;">'.$ratio.'%</span> ('.$diff.' Bytes)';
-        if(count($css->log) > 0): ?>
-        <fieldset id="messages"><legend>Messages</legend>
-                       <div><dl><?php
-                       foreach($css->log as $line => $array)
-                       {
-                               echo '<dt>',$line,'</dt>';
-                               $array_size = count($array);
-                               for($i = 0; $i < $array_size; ++$i)
-                               {
-                                       echo '<dd class="',$array[$i]['t'],'">',$array[$i]['m'],'</dd>';
-                               }
-                       }
-                       ?></dl></div>
-        </fieldset>
-        <?php endif;
-        echo '<fieldset><legend>',$lang[$l][37],': ',$css->print->size('input'),'KB, ',$lang[$l][38],':',$css->print->size('output'),'KB, ',$lang[$l][36],': ',$ratio;
-        if($file_ok)
-        {
-            echo ' - <a href="temp/',$filename,'.css">Download</a>';
-        }
-        echo ' - <a href="javascript:ClipBoard()">',$lang[$l][58],'</a>';
-        echo '</legend>';
-        echo '<code id="copytext">';
-        echo $css->print->formatted();
-        echo '</code></fieldset><div><br /></div>';
-               
-               echo '<fieldset class="code_output"><legend>',$lang[$l][64],'</legend>';
-        echo '<textarea rows="10" cols="80">';
-               
-               if(isset($_REQUEST['whole_file'])) {
-                       echo htmlspecialchars($css->print->formatted_page('xhtml1.1', false, '', 'en'), ENT_QUOTES, 'utf-8');
-               }
-               else {
-                       echo htmlspecialchars('<code id="copytext">', ENT_QUOTES, 'utf-8'),"\n";
-                       echo htmlspecialchars($css->print->formatted()."\n".'</code>', ENT_QUOTES, 'utf-8');
-               }
-               echo '</textarea></fieldset>';
-               echo '<fieldset class="code_output"><legend>',$lang[$l][65],'</legend>';
-               echo '<textarea rows="10" cols="30">';
-               
-               echo file_get_contents('cssparsed.css');
-               echo '</textarea>';
-               
-               echo '</fieldset><p><a href="javascript:scrollTo(0,0)">&#8593; ',$lang[$l][59],'</a></p>';
-               
-     }
-     elseif(isset($_REQUEST['css_text']) || isset($_REQUEST['url'])) {
-        echo '<p class="important">',$lang[$l][28],'</p>';
-     }
-     ?>
-    <p style="text-align:center;font-size:.8em;clear:both;">
-      <?php echo $lang[$l][61] ?> <a
-      href="http://csstidy.sourceforge.net/contact.php"><?php echo $lang[$l][62] ?></a>.
-    </p>
-  </body>
-</html>
diff --git a/www/plugins-dist/compresseur/lib/csstidy/lang.inc.php b/www/plugins-dist/compresseur/lib/csstidy/lang.inc.php
deleted file mode 100644 (file)
index 6452b42..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-<?php\r
-\r
-/**\r
- * Localization of CSS Optimiser Interface of CSSTidy\r
- *\r
- * Copyright 2005, 2006, 2007 Florian Schmitz\r
- *\r
- * This file is part of CSSTidy.\r
- *\r
- *  CSSTidy is free software; you can redistribute it and/or modify\r
- *  it under the terms of the GNU Lesser General Public License as published by\r
- *  the Free Software Foundation; either version 2.1 of the License, or\r
- *   (at your option) any later version.\r
- *\r
- *   CSSTidy is distributed in the hope that it will be useful,\r
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- *   GNU Lesser General Public License for more details.\r
- * \r
- *   You should have received a copy of the GNU Lesser General Public License\r
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
- *\r
- * @license http://opensource.org/licenses/lgpl-license.php GNU Lesser General Public License\r
- * @package csstidy\r
- * @author Florian Schmitz (floele at gmail dot com) 2005-2007\r
-  * @author Brett Zamir (brettz9 at yahoo dot com) 2007\r
- */\r
-\r
-\r
-if(isset($_GET['lang'])) {\r
-    $l = $_GET['lang'];\r
-}\r
-else if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {\r
-    $l = $_SERVER['HTTP_ACCEPT_LANGUAGE'];\r
-    $l = strtolower(substr($l, 0, 2));\r
-}\r
-else {\r
-    $l = '';\r
-}\r
-\r
-$l = (in_array($l, array('de', 'fr', 'zh'))) ? $l : 'en';\r
-\r
-// note 5 in all but French, and 40 in all are orphaned\r
-\r
-$lang = array();\r
-$lang['en'][0] = 'CSS Formatter and Optimiser/Optimizer (based on CSSTidy ';\r
-$lang['en'][1] = 'CSS Formatter and Optimiser';\r
-$lang['en'][2] = '(based on';\r
-$lang['en'][3] = '(plaintext)';\r
-$lang['en'][4] = 'Important Note:';\r
-$lang['en'][6] = 'Your code should be well-formed. This is <strong>not a validator</strong> which points out errors in your CSS code. To make sure that your code is valid, use the <a href="http://jigsaw.w3.org/css-validator/">W3C Validator</a>.';\r
-$lang['en'][7] = 'all comments are removed';\r
-$lang['en'][8] = 'CSS Input:';\r
-$lang['en'][9] = 'CSS-Code:';\r
-$lang['en'][10] = 'CSS from URL:';\r
-$lang['en'][11] = 'Code Layout:';\r
-$lang['en'][12] = 'Compression&#160;(code&#160;layout):';\r
-$lang['en'][13] = 'Highest (no readability, smallest size)';\r
-$lang['en'][14] = 'High (moderate readability, smaller size)';\r
-$lang['en'][15] = 'Standard (balance between readability and size)';\r
-$lang['en'][16] = 'Low (higher readability)';\r
-$lang['en'][17] = 'Custom (enter below)';\r
-$lang['en'][18] = 'Custom <a href="http://csstidy.sourceforge.net/templates.php">template</a>';\r
-$lang['en'][19] = 'Options';\r
-$lang['en'][20] = 'Sort Selectors (caution)';\r
-$lang['en'][21] = 'Sort Properties';\r
-$lang['en'][22] = 'Regroup selectors';\r
-$lang['en'][23] = 'Optimise shorthands';\r
-$lang['en'][24] = 'Compress colors';\r
-$lang['en'][25] = 'Lowercase selectors';\r
-$lang['en'][26] = 'Case for properties:';\r
-$lang['en'][27] = 'Lowercase';\r
-$lang['en'][28] = 'No or invalid CSS input or wrong URL!';\r
-$lang['en'][29] = 'Uppercase';\r
-$lang['en'][30] = 'lowercase elementnames needed for XHTML';\r
-$lang['en'][31] = 'Remove unnecessary backslashes';\r
-$lang['en'][32] = 'convert !important-hack';\r
-$lang['en'][33] = 'Output as file';\r
-$lang['en'][34] = 'Bigger compression because of smaller newlines (copy &#38; paste doesn\'t work)';\r
-$lang['en'][35] = 'Process CSS';\r
-$lang['en'][36] = 'Compression Ratio';\r
-$lang['en'][37] = 'Input';\r
-$lang['en'][38] = 'Output';\r
-$lang['en'][39] = 'Language';\r
-$lang['en'][41] = 'Attention: This may change the behaviour of your CSS Code!';\r
-$lang['en'][42] = 'Remove last ;';\r
-$lang['en'][43] = 'Discard invalid properties';\r
-$lang['en'][44] = 'Only safe optimisations';\r
-$lang['en'][45] = 'Compress font-weight';\r
-$lang['en'][46] = 'Save comments';\r
-$lang['en'][47] = 'Do not change anything';\r
-$lang['en'][48] = 'Only seperate selectors (split at ,)';\r
-$lang['en'][49] = 'Merge selectors with the same properties (fast)';\r
-$lang['en'][50] = 'Merge selectors intelligently (slow)';\r
-$lang['en'][51] = 'Preserve CSS';\r
-$lang['en'][52] = 'Save comments, hacks, etc. Most optimisations can *not* be applied if this is enabled.';\r
-$lang['en'][53] = 'None';\r
-$lang['en'][54] = 'Don\'t optimise';\r
-$lang['en'][55] = 'Safe optimisations';\r
-$lang['en'][56] = 'All optimisations';\r
-$lang['en'][57] = 'Add timestamp';\r
-$lang['en'][58] = 'Copy to clipboard';\r
-$lang['en'][59] = 'Back to top';\r
-$lang['en'][60] = 'Your browser doesn\'t support copy to clipboard.';\r
-$lang['en'][61] = 'For bugs and suggestions feel free to';\r
-$lang['en'][62] = 'contact me';\r
-$lang['en'][63] = 'Output CSS code as complete HTML document';\r
-$lang['en'][64] = 'Code';\r
-$lang['en'][65] = 'CSS to style CSS output';\r
-$lang['en'][66] = 'You need to go to about:config in your URL bar, select \'signed.applets.codebase_principal_support\' in the filter field, and set its value to true in order to use this feature; however, be aware that doing so increases security risks.';\r
-\r
-\r
-$lang['de'][0] = 'CSS Formatierer und Optimierer (basierend auf CSSTidy ';\r
-$lang['de'][1] = 'CSS Formatierer und Optimierer';\r
-$lang['de'][2] = '(basierend auf';\r
-$lang['de'][3] = '(Textversion)';\r
-$lang['de'][4] = 'Wichtiger Hinweis:';\r
-$lang['de'][6] = 'Der CSS Code sollte wohlgeformt sein. Der CSS Code wird <strong>nicht auf Gültigkeit überprüft</strong>. Um sicherzugehen dass dein Code valide ist, benutze den <a href="http://jigsaw.w3.org/css-validator/">W3C Validierungsservice</a>.';\r
-$lang['de'][7] = 'alle Kommentare werden entfernt';\r
-$lang['de'][8] = 'CSS Eingabe:';\r
-$lang['de'][9] = 'CSS-Code:';\r
-$lang['de'][10] = 'CSS von URL:';\r
-$lang['de'][11] = 'Code Layout:';\r
-$lang['de'][12] = 'Komprimierung&#160;(Code&#160;Layout):';\r
-$lang['de'][13] = 'Höchste (keine Lesbarkeit, niedrigste Größe)';\r
-$lang['de'][14] = 'Hoch (mittelmäßige Lesbarkeit, geringe Größe)';\r
-$lang['de'][15] = 'Standard (Kompromiss zwischen Lesbarkeit und Größe)';\r
-$lang['de'][16] = 'Niedrig (höhere Lesbarkeit)';\r
-$lang['de'][17] = 'Benutzerdefiniert (unten eingeben)';\r
-$lang['de'][18] = 'Benutzerdefinierte <a href="http://csstidy.sourceforge.net/templates.php">Vorlage</a>';\r
-$lang['de'][19] = 'Optionen';   \r
-$lang['de'][20] = 'Selektoren sortieren (Vorsicht)';\r
-$lang['de'][21] = 'Eigenschaften sortieren';\r
-$lang['de'][22] = 'Selektoren umgruppieren';\r
-$lang['de'][23] = 'Shorthands optimieren';\r
-$lang['de'][24] = 'Farben komprimieren';\r
-$lang['de'][25] = 'Selektoren in Kleinbuchstaben';\r
-$lang['de'][26] = 'Groß-/Kleinschreibung für Eigenschaften';\r
-$lang['de'][27] = 'Kleinbuchstaben';\r
-$lang['de'][28] = 'Keine oder ungültige CSS Eingabe oder falsche URL!';\r
-$lang['de'][29] = 'Großbuchstaben';\r
-$lang['de'][30] = 'kleingeschriebene Elementnamen benötigt für XHTML';\r
-$lang['de'][31] = 'Unnötige Backslashes entfernen'; \r
-$lang['de'][32] = '!important-Hack konvertieren';\r
-$lang['de'][33] = 'Als Datei ausgeben';\r
-$lang['de'][34] = 'Größere Komprimierung augrund von kleineren Neuezeile-Zeichen';\r
-$lang['de'][35] = 'CSS verarbeiten';\r
-$lang['de'][36] = 'Komprimierungsrate';\r
-$lang['de'][37] = 'Eingabe';\r
-$lang['de'][38] = 'Ausgabe';\r
-$lang['de'][39] = 'Sprache';\r
-$lang['de'][41] = 'Achtung: Dies könnte das Verhalten ihres CSS-Codes verändern!';\r
-$lang['de'][42] = 'Letztes ; entfernen';\r
-$lang['de'][43] = 'Ungültige Eigenschaften entfernen';\r
-$lang['de'][44] = 'Nur sichere Optimierungen';\r
-$lang['de'][45] = 'font-weight komprimieren';\r
-$lang['de'][46] = 'Kommentare beibehalten';\r
-$lang['de'][47] = 'Nichts ändern';\r
-$lang['de'][48] = 'Selektoren nur trennen (am Komma)';\r
-$lang['de'][49] = 'Selektoren mit gleichen Eigenschaften zusammenfassen (schnell)';\r
-$lang['de'][50] = 'Selektoren intelligent zusammenfassen (langsam!)';\r
-$lang['de'][51] = 'CSS erhalten';\r
-$lang['de'][52] = 'Kommentare, Hacks, etc. speichern. Viele Optimierungen sind dann aber nicht mehr möglich.';\r
-$lang['de'][53] = 'Keine';\r
-$lang['de'][54] = 'Nicht optimieren';\r
-$lang['de'][55] = 'Sichere Optimierungen';\r
-$lang['de'][56] = 'Alle Optimierungen';\r
-$lang['de'][57] = 'Zeitstempel hinzufügen';\r
-$lang['de'][58] = 'Copy to clipboard';\r
-$lang['de'][59] = 'Back to top';\r
-$lang['de'][60] = 'Your browser doesn\'t support copy to clipboard.';\r
-$lang['de'][61] = 'For bugs and suggestions feel free to';\r
-$lang['de'][62] = 'contact me';\r
-$lang['de'][63] = 'Output CSS code as complete HTML document';\r
-$lang['de'][64] = 'Code';\r
-$lang['de'][65] = 'CSS to style CSS output';\r
-$lang['de'][66] = 'You need to go to about:config in your URL bar, select \'signed.applets.codebase_principal_support\' in the filter field, and set its value to true in order to use this feature; however, be aware that doing so increases security risks.';\r
-\r
-\r
-$lang['fr'][0] = 'CSS Formatteur et Optimiseur (basé sur CSSTidy ';\r
-$lang['fr'][1] = 'CSS Formatteur et Optimiseur';\r
-$lang['fr'][2] = '(basé sur ';\r
-$lang['fr'][3] = '(Version texte)';\r
-$lang['fr'][4] = 'Note Importante&#160;:';\r
-$lang['fr'][6] = 'Votre code doit être valide. Ce n’est <strong>pas un validateur</strong> qui signale les erreurs dans votre code CSS. Pour être sûr que votre code est correct, utilisez le validateur&#160;: <a href="http://jigsaw.w3.org/css-validator/">W3C Validator</a>.';\r
-$lang['fr'][7] = 'tous les commentaires sont enlevés';\r
-$lang['fr'][8] = 'Champ CSS&#160;:';\r
-$lang['fr'][9] = 'Code CSS&#160;:';\r
-$lang['fr'][10] = 'CSS en provenance d’une URL&#160;:<br />';\r
-$lang['fr'][11] = 'Mise en page du code&#160;:';\r
-$lang['fr'][12] = 'Compression (mise en page du code)&#160;:';\r
-$lang['fr'][13] = 'La plus élevée (aucune lisibilité, taille minimale)';\r
-$lang['fr'][14] = 'Élevée (lisibilité modérée, petite taille)';\r
-$lang['fr'][15] = 'Normale (équilibre entre lisibilité et taille)';\r
-$lang['fr'][16] = 'Faible (lisibilité élevée)';\r
-$lang['fr'][17] = 'Sur mesure (entrer ci-dessous)';\r
-$lang['fr'][18] = '<a href="http://csstidy.sourceforge.net/templates.php">Gabarit</a> sur mesure';\r
-$lang['fr'][19] = 'Options';\r
-$lang['fr'][20] = 'Trier les sélecteurs (attention)';\r
-$lang['fr'][21] = 'Trier les propriétés';\r
-$lang['fr'][22] = 'Regrouper les sélecteurs';\r
-$lang['fr'][23] = 'Propriétés raccourcies';\r
-$lang['fr'][24] = 'Compresser les couleurs';\r
-$lang['fr'][25] = 'Sélecteurs en minuscules';\r
-$lang['fr'][26] = 'Case pour les propriétés&#160;:';\r
-$lang['fr'][27] = 'Minuscule';\r
-$lang['fr'][28] = 'CSS non valide ou URL incorrecte&#160;!';\r
-$lang['fr'][29] = 'Majuscule';\r
-$lang['fr'][30] = 'les noms des éléments en minuscules (indispensables pour XHTML)';\r
-$lang['fr'][31] = 'enlever les antislashs inutiles';\r
-$lang['fr'][32] = 'convertir !important-hack';\r
-$lang['fr'][33] = 'Sauver en tant que fichier';\r
-$lang['fr'][34] = 'Meilleure compression grâce aux caractères de saut de ligne plus petits (copier &#38; coller ne marche pas)';\r
-$lang['fr'][35] = 'Compresser la CSS';\r
-$lang['fr'][36] = 'Facteur de Compression';\r
-$lang['fr'][37] = 'Entrée';\r
-$lang['fr'][38] = 'Sortie';\r
-$lang['fr'][39] = 'Langue';\r
-$lang['fr'][41] = 'Attention&#160;: ceci peut changer le comportement de votre code CSS&#160;!';\r
-$lang['fr'][42] = 'Enlever le dernier ;';\r
-$lang['fr'][43] = 'Supprimer les propriétés non valide';\r
-$lang['fr'][44] = 'Seulement les optimisations sûres';\r
-$lang['fr'][45] = 'Compresser font-weight';\r
-$lang['fr'][46] = 'Sauvegarder les commentaires ';\r
-$lang['fr'][47] = 'Ne rien changer';\r
-$lang['fr'][48] = 'Sépare les sélecteurs (sépare au niveau de ,)';\r
-$lang['fr'][49] = 'Fusionne les sélecteurs avec les mêmes propriétés (rapide)';\r
-$lang['fr'][50] = 'Fusionne les sélecteurs intelligemment (lent)';\r
-$lang['fr'][51] = 'Préserver la CSS';\r
-$lang['fr'][52] = 'Sauvegarder les commentaires, hacks, etc. La plupart des optimisations ne peuvent *pas* être appliquées si cela est activé.';\r
-$lang['fr'][53] = 'Aucun';\r
-$lang['fr'][54] = 'Ne pas optimiser';\r
-$lang['fr'][55] = 'Optimisations sûres';\r
-$lang['fr'][56] = 'Toutes les optimisations';\r
-$lang['fr'][57] = 'Ajouter un timestamp';\r
-$lang['fr'][58] = 'Copier dans le presse-papiers';\r
-$lang['fr'][59] = 'Retour en haut';\r
-$lang['fr'][60] = 'Votre navigateur ne suporte pas la copie vers le presse-papiers.';\r
-$lang['fr'][61] = 'Pour signaler des bugs ou pour des suggestions,';\r
-$lang['fr'][62] = 'contactez-moi';\r
-$lang['fr'][63] = 'Sauver le code CSS comme document complet HTML';\r
-$lang['fr'][64] = 'Code';\r
-$lang['fr'][65] = 'CSS pour colorier la sortie CSS';\r
-$lang['fr'][66] = 'Vous devez aller dans about:config dans votre barre d’adresse, selectionner \'signed.applets.codebase_principal_support\' dans le champ Filtre et attribuez-lui la valeur \'true\' pour utiliser cette fonctionnalité; toutefois, soyez conscient que cela augmente les risques de sécurité.';\r
-\r
-\r
-$lang['zh'][0] = 'CSS整形與最佳化工具(使用 CSSTidy ';\r
-$lang['zh'][1] = 'CSS整形與最佳化工具';\r
-$lang['zh'][2] = '(使用';\r
-$lang['zh'][3] = '(純文字)';\r
-$lang['zh'][4] = '重要事項:';\r
-$lang['zh'][6] = '你的原始碼必須是良構的(well-formed). 這個工具<strong>沒有內建驗證器(validator)</strong>. 驗證器能夠指出你CSS原始碼裡的錯誤. 請使用 <a href="http://jigsaw.w3.org/css-validator/">W3C 驗證器</a>, 確保你的原始碼合乎規範.';\r
-$lang['zh'][7] = '所有註解都移除了';\r
-$lang['zh'][8] = 'CSS 輸入:';\r
-$lang['zh'][9] = 'CSS 原始碼:';\r
-$lang['zh'][10] = 'CSS 檔案網址(URL):';\r
-$lang['zh'][11] = '原始碼規劃:';\r
-$lang['zh'][12] = '壓縮程度(原始碼規劃):';\r
-$lang['zh'][13] = '最高 (沒有辦法讀, 檔案最小)';\r
-$lang['zh'][14] = '高 (適度的可讀性, 檔案小)';\r
-$lang['zh'][15] = '標準 (兼顧可讀性與檔案大小)';\r
-$lang['zh'][16] = '低 (注重可讀性)';\r
-$lang['zh'][17] = '自訂 (在下方設定)';\r
-$lang['zh'][18] = '自訂<a href="http://csstidy.sourceforge.net/templates.php">樣板</a>';\r
-$lang['zh'][19] = '選項';\r
-$lang['zh'][20] = '整理選擇符(請謹慎使用)';\r
-$lang['zh'][21] = '整理屬性';\r
-$lang['zh'][22] = '重組選擇符';\r
-$lang['zh'][23] = '速記法(shorthand)最佳化';\r
-$lang['zh'][24] = '壓縮色彩語法';\r
-$lang['zh'][25] = '改用小寫選擇符';\r
-$lang['zh'][26] = '屬性的字形:';\r
-$lang['zh'][27] = '小寫';\r
-$lang['zh'][28] = '沒有輸入CSS, 語法不符合規定, 或是網址錯誤!'; \r
-$lang['zh'][29] = '大寫';\r
-$lang['zh'][30] = 'XHTML必須使用小寫的元素名稱';\r
-$lang['zh'][31] = '移除不必要的反斜線';\r
-$lang['zh'][32] = '轉換 !important-hack';\r
-$lang['zh'][33] = '輸出成檔案形式';\r
-$lang['zh'][34] = '由於比較少換行字元, 會有更大的壓縮比率(複製&#38;貼上沒有用)';\r
-$lang['zh'][35] = '執行';\r
-$lang['zh'][36] = '壓縮比率';\r
-$lang['zh'][37] = '輸入';\r
-$lang['zh'][38] = '輸出';\r
-$lang['zh'][39] = '語言';\r
-$lang['zh'][41] = '注意: 這或許會變更你CSS原始碼的行為!';\r
-$lang['zh'][42] = '除去最後一個分號';\r
-$lang['zh'][43] = '拋棄不符合規定的屬性';\r
-$lang['zh'][44] = '只安全地最佳化';\r
-$lang['zh'][45] = '壓縮 font-weight';\r
-$lang['zh'][46] = '保留註解';\r
-$lang['zh'][47] = '什麼都不要改';\r
-$lang['zh'][48] = '只分開原本用逗號分隔的選擇符';\r
-$lang['zh'][49] = '合併有相同屬性的選擇符(快速)';\r
-$lang['zh'][50] = '聰明地合併選擇符(慢速)';\r
-$lang['zh'][51] = '保護CSS';\r
-$lang['zh'][52] = '保留註解與 hack 等等. 如果啟用這個選項, 大多數的最佳化程序都不會執行.';\r
-$lang['zh'][53] = '不改變';\r
-$lang['zh'][54] = '不做最佳化';\r
-$lang['zh'][55] = '安全地最佳化';\r
-$lang['zh'][56] = '全部最佳化';\r
-$lang['zh'][57] = '加上時間戳記';\r
-$lang['zh'][58] = '复制到剪贴板';\r
-$lang['zh'][59] = '回到页面上方';\r
-$lang['zh'][60] = '你的浏览器不支持复制到剪贴板。';\r
-$lang['zh'][61] = '如果程序有错误或你有建议,欢迎';\r
-$lang['zh'][62] = '和我联系';\r
-$lang['zh'][63] = 'Output CSS code as complete HTML document';\r
-$lang['zh'][64] = '代码';\r
-$lang['zh'][65] = 'CSS to style CSS output';\r
-$lang['zh'][66] = 'You need to go to about:config in your URL bar, select \'signed.applets.codebase_principal_support\' in the filter field, and set its value to true in order to use this feature; however, be aware that doing so increases security risks.';\r
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests.inc b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests.inc
deleted file mode 100644 (file)
index 4982a38..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/**@file
- * Utility functions for unit testing
- */
-
-function globr($sDir, $sPattern, $nFlags = NULL) {
-    $aFiles = glob("$sDir/$sPattern", $nFlags);
-    $files = getDir($sDir);
-    if (is_array($files)) {
-        foreach( $files as $file ) {
-            $aSubFiles = globr($file, $sPattern, $nFlags);
-            $aFiles = array_merge($aFiles,$aSubFiles);
-        }
-    }
-    return $aFiles;
-}
-
-function getDir($sDir) {
-    $i=0;
-    $aDirs = array();
-    if(is_dir($sDir)) {
-        if($rContents = opendir($sDir)) {
-            while($sNode = readdir($rContents)) {
-                if(is_dir($sDir.'/'.$sNode )) {
-                    if($sNode !="." && $sNode !="..") {
-                        $aDirs[$i] = $sDir.'/'.$sNode ;
-                        $i++;
-                    }
-                }
-            }
-        }
-    }
-    return $aDirs;
-}
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests.php
deleted file mode 100644 (file)
index 5a0c173..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<?php
-
-/**@file
- * Script for unit testing, allows for more fine grained error reporting
- * when things go wrong.
- * @author Edward Z. Yang <admin@htmlpurifier.org>
- *
- * Required
- * unit-tets/Text : http://download.pear.php.net/package/Text_Diff-1.1.1.tgz
- * unit-tests/simpletest/ : http://downloads.sourceforge.net/project/simpletest/simpletest/simpletest_1.0.1/simpletest_1.0.1.tar.gz?r=&ts=1289748853&use_mirror=freefr
- *
- */
-
-error_reporting(E_ALL ^ 8192/*E_DEPRECATED*/);
-
-// Configuration
-$simpletest_location = 'simpletest/';
-if (file_exists('../test-settings.php')) include_once '../test-settings.php';
-
-// Includes
-require_once '../class.csstidy.php';
-require_once 'Text/Diff.php';
-require_once 'Text/Diff/Renderer.php';
-require_once $simpletest_location . 'unit_tester.php';
-require_once $simpletest_location . 'reporter.php';
-require_once 'unit-tests/class.csstidy_reporter.php';
-require_once 'unit-tests/class.csstidy_harness.php';
-require_once 'unit-tests.inc';
-
-// Test files
-$test_files = array();
-require 'unit-tests/_files.php';
-
-// Setup test files
-$test = new GroupTest('CSSTidy unit tests');
-foreach ($test_files as $test_file) {
-    require_once "unit-tests/$test_file";
-    list($x, $class_suffix) = explode('.', $test_file);
-    $test->addTestClass("csstidy_test_$class_suffix");
-}
-
-if (SimpleReporter::inCli()) $reporter = new TextReporter();
-else $reporter = new csstidy_reporter('UTF-8');
-
-$test->run($reporter);
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/_files.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/_files.php
deleted file mode 100644 (file)
index 076d63e..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-
-$test_files = array();
-$test_files[] = 'test.csst.php';
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.Text_Diff_Renderer_parallel.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.Text_Diff_Renderer_parallel.php
deleted file mode 100644 (file)
index 4db78aa..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-
-/**
- * Parallel diff renderer for HTML tables with original text on left,
- * new text on right, and changed text highlighted with appropriate classes.
- */
-class Text_Diff_Renderer_parallel extends Text_Diff_Renderer
-{
-    /** String header for left column */
-    var $original = 'Original';
-    /** String header for right column */
-    var $final    = 'Final';
-    var $_leading_context_lines = 10000; // these are big to ensure entire string is output
-    var $_trailing_context_lines = 10000;
-    function _blockHeader() {}
-    function _startDiff() {
-        return '<table class="diff"><thead><tr><th>'. $this->original .'</th><th>'. $this->final .'</th></tr></thead><tbody>';
-    }
-    function _endDiff() {
-        return '</tbody></table>';
-    }
-    function _context($lines) {
-        return '<tr><td><pre>'. htmlspecialchars(implode("\n", $lines)) .'</pre></td>
-          <td><pre>'. htmlspecialchars(implode("\n", $lines)) .'</pre></td></tr>';
-    }
-    function _added($lines) {
-        return '<tr><td>&nbsp;</td><td class="added"><pre>'. htmlspecialchars(implode("\n", $lines)) .'</pre></td></tr>';
-    }
-    function _deleted($lines) {
-        return '<tr><td class="deleted"><pre>'. htmlspecialchars(implode("\n", $lines)) .'</pre></td><td>&nbsp;</td></tr>';
-    }
-    function _changed($orig, $final) {
-        return '<tr class="changed"><td><pre>'. htmlspecialchars(implode("\n", $orig)) .'</pre></td>
-        <td><pre>'. htmlspecialchars(implode("\n", $final)) .'</pre></td></tr>';
-    }
-}
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_csst.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_csst.php
deleted file mode 100644 (file)
index 6d8ddad..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-require_once 'class.Text_Diff_Renderer_parallel.php';
-
-/**
- * CSSTidy CSST expectation, for testing CSS parsing.
- */
-class csstidy_csst extends SimpleExpectation
-{
-    /** Filename of test */
-    var $filename;
-    
-    /** Test name */
-    var $test;
-    
-    /** CSS for test to parse */
-    var $css = '';
-    
-    /** Settings for csstidy */
-    var $settings = array();
-    
-    /** Expected var_export() output of $css->css[41] (no at block) */
-    var $expect = '';
-    
-    /** Boolean whether or not to use $css->css instead for $expect */
-    var $fullexpect = false;
-
-               /** Print form of CSS that can be tested **/
-    var $print = false;
-               var $default_media = "";
-
-    /** Actual result */
-    var $actual;
-    
-    /**
-     * Loads this class from a file.
-     * @param $filename String filename to load
-     */
-    function load($filename) {
-        $this->filename = $filename;
-        $fh = fopen($filename, 'r');
-        $state = '';
-        while (($line = fgets($fh)) !== false) {
-            $line = rtrim($line, "\n\r"); // normalize newlines
-            if (substr($line, 0, 2) == '--') {
-                // detected section
-                $state = $line;
-                continue;
-            }
-            if ($state === null) continue;
-            switch ($state) {
-                case '--TEST--':
-                    $this->test    = trim($line);
-                    break;
-                case '--CSS--':
-                    $this->css    .= $line . "\n";
-                    break;
-                case '--FULLEXPECT--':
-                    $this->fullexpect = true;
-                    $this->expect .= $line . "\n";
-                    break;
-                case '--EXPECT--':
-                    $this->expect .= $line . "\n";
-                    break;
-                case '--SETTINGS--':
-                    list($n, $v) = array_map('trim',explode('=', $line, 2));
-                    $v = eval("return $v;");
-                    if ($n=="default_media" AND $this->print)
-                           $this->default_media = $v;
-                    else
-                      $this->settings[$n] = $v;
-                    break;
-                case '--PRINT--':
-                    $this->print = true;
-                    $this->expect .= $line . "\n";
-                    break;
-            }
-        }
-                               if ($this->print) {
-                                       $this->expect = trim($this->expect);
-                               }
-                               else {
-                                       if ($this->expect)
-                                               $this->expect = eval("return ".$this->expect.";");
-                                       if (!$this->fullexpect)
-                                               $this->expect = array(41=>$this->expect);
-                               }
-        fclose($fh);
-    }
-    
-    /**
-     * Implements SimpleExpectation::test().
-     * @param $filename Filename of test file to test.
-     */
-    function test($filename = false) {
-        if ($filename) $this->load($filename);
-        $css = new csstidy();
-        $css->set_cfg($this->settings);
-        $css->parse($this->css);
-                               if ($this->print){
-                                       $this->actual = $css->print->plain($this->default_media);
-                               }
-                               else{
-                                       $this->actual = $css->css;
-                               }
-        return $this->expect === $this->actual;
-    }
-    
-    /**
-     * Implements SimpleExpectation::testMessage().
-     */
-    function testMessage() {
-        $message = $this->test . ' test at '. htmlspecialchars($this->filename);
-        return $message;
-    }
-    
-    /**
-     * Renders the test with an HTML diff table.
-     */
-    function render() {
-        $message = '<pre>'. htmlspecialchars($this->css) .'</pre>';
-        $diff = new Text_Diff(
-                                               'auto',
-                                               array(
-                                                               explode("\n", $this->print?$this->expect:var_export($this->expect,true)),
-                                                               explode("\n", $this->print?$this->actual:var_export($this->actual,true))
-                                               )
-                               );
-        $renderer = new Text_Diff_Renderer_parallel();
-        $renderer->original = 'Expected';
-        $renderer->final    = 'Actual';
-        $message .= $renderer->render($diff);
-        return $message;
-    }
-}
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_harness.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_harness.php
deleted file mode 100644 (file)
index eb6d2af..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
- * Base test harness for CSSTidy, please make all tests inherit from this.
- */
-class csstidy_harness extends UnitTestCase
-{
-    /**
-     * Modified testing algorithm that allows a single test method to be
-     * prefixed with __only in order to make it the only one run.
-     */
-    function getTests() {
-        // __onlytest makes only one test get triggered
-        foreach (get_class_methods(get_class($this)) as $method) {
-            if (strtolower(substr($method, 0, 10)) == '__onlytest') {
-                return array($method);
-            }
-        }
-        return parent::getTests();
-    }
-}
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_reporter.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/class.csstidy_reporter.php
deleted file mode 100644 (file)
index 8a9a2c4..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
- * Custom test reporter for CSSTidy, adds appropriate CSS declarations
- * for diffs.
- */
-class csstidy_reporter extends HTMLReporter
-{
-    
-    function _getCss() {
-        $css = parent::_getCss();
-        $css .= '
-.diff {margin-bottom: 1em;}
-.diff th {width:50%;}
-.diff pre {margin:0; padding:0; background:none;}
-.diff .changed, .diff .deleted, .diff .added {background: #FF5;}
-        ';
-        return $css;
-    }
-    
-}
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/README b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/README
deleted file mode 100644 (file)
index f39be42..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-CSST
-
-These test are for CSSTidy's parsing algorithms. They take this form:
-
---TEST--
-Test name
---CSS--
-CSS to parse
---EXPECT--
-var_export() representation of csstidy->css[41]
-
-Note carefully that EXPECT is for csstidy->css[41], not csstidy->css. This
-is because, by default, all declarations are placed inside the 
-DEFAULT_AT section. For tests that need to make use of at selectors, use
-
---FULLEXPECT--
-var_export() representation of csstidy->css
-
-...instead.
-
-See also: class.csstidy_csst.php (the implementation of these tests) and
-test.csst.php (the caller stub for SimpleTest)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/atvalues.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/atvalues.csst
deleted file mode 100644 (file)
index e5ee74b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-Test @import directive
---CSS--
-@import url('../thematic/library/styles/reset.css');
-@namespace foo url("http://www.example.com/");
-@charset "Shift-JIS";
-
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-/* begin suggest post */
-.float-l {
-       float : left ;
-}
---PRINT--
-@charset "Shift-JIS";
-@import "../thematic/library/styles/reset.css";
-@namespace foo "http://www.example.com/";
-@media screen {
-.float-l{float:left}
-}
---SETTINGS--
-template='high'
-sort_properties=false
-sort_selectors=false
-default_media="@media screen"
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/font-face-atmedia-2.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/font-face-atmedia-2.csst
deleted file mode 100644 (file)
index fd15fde..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/** **/
-@font-face {
-       font-family: 'GenerikaRegular';
-       src: url('../fonts/generikaregular-webfont.eot');
-       src: url('../fonts/generikaregular-webfont.eot?#iefix') format('embedded-opentype'),
-               url('../fonts/generikaregular-webfont.woff') format('woff'),
-               url('../fonts/generikaregular-webfont.ttf') format('truetype'),
-               url('../fonts/generikaregular-webfont.svg#GenerikaRegular') format('svg');
-       font-weight: normal;
-       font-style: normal;
-}
-
-@font-face {
-       font-family: 'GenerikaLight';
-       src: url('../fonts/generikalight-webfont.eot');
-       src: url('../fonts/generikalight-webfont.eot?#iefix') format('embedded-opentype'),
-               url('../fonts/generikalight-webfont.woff') format('woff'),
-               url('../fonts/generikalight-webfont.ttf') format('truetype'),
-               url('../fonts/generikalight-webfont.svg#GenerikaLight') format('svg');
-       font-weight: normal;
-       font-style: normal;
-}
-
-p { border: none;}
-
---PRINT--
-@font-face{font-family:'GenerikaRegular';src:url(../fonts/generikaregular-webfont.eot);src:url(../fonts/generikaregular-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/generikaregular-webfont.woff) format("woff"),url(../fonts/generikaregular-webfont.ttf) format("truetype"),url(../fonts/generikaregular-webfont.svg#GenerikaRegular) format("svg");font-weight:400;font-style:normal}
-@font-face{font-family:'GenerikaLight';src:url(../fonts/generikalight-webfont.eot);src:url(../fonts/generikalight-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/generikalight-webfont.woff) format("woff"),url(../fonts/generikalight-webfont.ttf) format("truetype"),url(../fonts/generikalight-webfont.svg#GenerikaLight) format("svg");font-weight:400;font-style:normal}
-@media screen {
-p{border:none}
-}
---SETTINGS--
-template='high'
-sort_properties=false
-sort_selectors=false
-default_media="@media screen"
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/font-face-atmedia.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/font-face-atmedia.csst
deleted file mode 100644 (file)
index 5a17feb..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-/* begin suggest post */
-.float-l {
-       float : left ;
-}
-
-@font-face {
-font-family: GillSans;
-src:url("/generic/fonts/GillSansC.otf") format('opentype');
-font-style: normal;
-font-weight: bold;
-}
-
-.font-9{
-       font-size: 11px;
-    }
-
-@media print {
-.font-9{
-       font-size: 9px;
-    }
-}
-
-.form-suggest {
-height : 200px ;
-background : #DEE2D0 ;
-vertical-align : top;
-}
-
-
---PRINT--
-@media screen {
-.float-l{float:left}
-}
-@font-face{font-family:GillSans;src:url(/generic/fonts/GillSansC.otf) format("opentype");font-style:normal;font-weight:700}
-@media screen {
-.font-9{font-size:11px}
-}
-@media print {
-.font-9{font-size:9px}
-}
-@media screen {
-.form-suggest{height:200px;background:#DEE2D0;vertical-align:top}
-}
---SETTINGS--
-template='high'
-sort_properties=false
-sort_selectors=false
-default_media="@media screen"
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/ie-hacks.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/ie-hacks.csst
deleted file mode 100644 (file)
index 18ac246..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
---TEST--
-IE Hacks Issue/5
---SETTINGS--
-discard_invalid_properties = 0
---CSS--
-fakeList a {
-width: 100%;
-display: block;
-height: 30px;
-padding-top: 2px;
--padding-top: 0;
-line-height:18px;
-*line-height:17;
-/line-height:none;
-//     background-image: url(images/cellpic3.gif); /* should be ignored */
-_background-image: url(/ttt/gf.gif);
-}
---PRINT--
-fakeList a {
-width:100%;
-display:block;
-height:30px;
-padding-top:2px;
--padding-top:0;
-line-height:18px;
-*line-height:17;
-/line-height:none;
-_background-image:url(/ttt/gf.gif)
-}
---SETTINGS--
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-default.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-default.csst
deleted file mode 100644 (file)
index 299f276..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-    /* begin suggest post */
-    .float-l {
-       float : left ;
-    }
-
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-    .form-input input{
-       font-size: 10px;
-    }
-
-    .form-input textarea{
-       font-size: 11px;
-       width: 350px;
-    }
-
-    .form-label{
-       font-size: 10px;
-       font-weight: bold;
-       line-height: 25px;
-       padding-right: 10px;
-       text-align: right;
-       width: 100px;
-       color: #39738F;
-    }
-
-    .font-9{
-       font-size: 9px;
-    }
---PRINT--
-.float-l {
-float:left
-}
-
-.form-suggest {
-height:200px;
-background:#DEE2D0;
-vertical-align:top
-}
-
-.form-input input {
-font-size:10px
-}
-
-.form-input textarea {
-font-size:11px;
-width:350px
-}
-
-.form-label {
-font-size:10px;
-font-weight:700;
-line-height:25px;
-padding-right:10px;
-text-align:right;
-width:100px;
-color:#39738F
-}
-
-.font-9 {
-font-size:9px
-}
---SETTINGS--
-sort_properties=false
-sort_selectors=false
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-high.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-high.csst
deleted file mode 100644 (file)
index e31c778..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-    /* begin suggest post */
-    .float-l {
-       float : left ;
-    }
-
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-    .form-input input{
-       font-size: 10px;
-    }
-
-    .form-input textarea{
-       font-size: 11px;
-       width: 350px;
-    }
-
-    .form-label{
-       font-size: 10px;
-       font-weight: bold;
-       line-height: 25px;
-       padding-right: 10px;
-       text-align: right;
-       width: 100px;
-       color: #39738F;
-    }
-
-    .font-9{
-       font-size: 9px;
-    }
---PRINT--
-.float-l{float:left}
-.form-suggest{height:200px;background:#DEE2D0;vertical-align:top}
-.form-input input{font-size:10px}
-.form-input textarea{font-size:11px;width:350px}
-.form-label{font-size:10px;font-weight:700;line-height:25px;padding-right:10px;text-align:right;width:100px;color:#39738F}
-.font-9{font-size:9px}
---SETTINGS--
-template='high'
-sort_properties=false
-sort_selectors=false
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-highest.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-highest.csst
deleted file mode 100644 (file)
index abae483..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-    /* begin suggest post */
-    .float-l {
-       float : left ;
-    }
-
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-    .form-input input{
-       font-size: 10px;
-    }
-
-    .form-input textarea{
-       font-size: 11px;
-       width: 350px;
-    }
-
-    .form-label{
-       font-size: 10px;
-       font-weight: bold;
-       line-height: 25px;
-       padding-right: 10px;
-       text-align: right;
-       width: 100px;
-       color: #39738F;
-    }
-
-    .font-9{
-       font-size: 9px;
-    }
---PRINT--
-.float-l{float:left}.form-suggest{height:200px;background:#DEE2D0;vertical-align:top}.form-input input{font-size:10px}.form-input textarea{font-size:11px;width:350px}.form-label{font-size:10px;font-weight:700;line-height:25px;padding-right:10px;text-align:right;width:100px;color:#39738F}.font-9{font-size:9px}
---SETTINGS--
-template='highest'
-sort_properties=false
-sort_selectors=false
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-low.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/print-plain/simple-low.csst
deleted file mode 100644 (file)
index 122d53d..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-    /* begin suggest post */
-    .float-l {
-       float : left ;
-    }
-
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-    .form-input input{
-       font-size: 10px;
-    }
-
-    .form-input textarea{
-       font-size: 11px;
-       width: 350px;
-    }
-
-    .form-label{
-       font-size: 10px;
-       font-weight: bold;
-       line-height: 25px;
-       padding-right: 10px;
-       text-align: right;
-       width: 100px;
-       color: #39738F;
-    }
-
-    .font-9{
-       font-size: 9px;
-    }
---PRINT--
-.float-l
-{
-       float:left
-}
-
-.form-suggest
-{
-       height:200px;
-       background:#DEE2D0;
-       vertical-align:top
-}
-
-.form-input input
-{
-       font-size:10px
-}
-
-.form-input textarea
-{
-       font-size:11px;
-       width:350px
-}
-
-.form-label
-{
-       font-size:10px;
-       font-weight:700;
-       line-height:25px;
-       padding-right:10px;
-       text-align:right;
-       width:100px;
-       color:#39738F
-}
-
-.font-9
-{
-       font-size:9px
-}
---SETTINGS--
-template='low'
-sort_properties=false
-sort_selectors=false
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css1.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css1.csst
deleted file mode 100644 (file)
index 8d0d450..0000000
+++ /dev/null
@@ -1,138 +0,0 @@
---TEST--
-Test CSS1 properties
---CSS--
-a { 
-    foo:rgb(0,0,0);
-    bar:black;
-    baz:#ffaabb;
-    qux:#f00;
-    quux:blanchedalmond;
-    quuux:rgb(0,0,1);
-    background:1;
-    background-color:1;
-    background-image:1;
-    background-repeat:1;
-    background-attachment:1;
-    background-position:1;
-    border:1;
-    border-top:1;
-    border-right:1;
-    border-bottom:1;
-    border-left:1;
-    border-color:1;
-    border-style:1;
-    border-width:1;
-    border-top-width:1;
-    border-right-width:1;
-    border-left-width:1;
-    border-bottom-width:1;
-    clear:1;
-    clip:1;
-    color:1;
-    display:1;
-    float:1;
-    font:1;
-    font-family:1;
-    font-style:1;
-    font-variant:1;
-    font-weight:1;
-    font-size:1;
-    height:1;
-    left:1;
-    line-height:1;
-    list-style:1;
-    list-style-type:1;
-    list-style-image:1;
-    list-style-position:1;
-    margin:1;
-    margin-top:1;
-    margin-right:1;
-    margin-bottom:1;
-    margin-left:1;
-    marks:1;
-    overflow:1;
-    padding:1;
-    padding-top:1;
-    padding-right:1;
-    padding-bottom:1;
-    padding-left:1;
-    page-break-before:1;
-    page-break-after:1;
-    position:1;
-    size:1;
-    top:1;
-    text-indent:1;
-    text-align:1;
-    text-decoration:1;
-    letter-spacing:1;
-    word-spacing:1;
-    text-transform:1;
-    white-space:1;
-    vertical-align:1;
-    visibility:1;
-    width:1;
-    z-index:1;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'background' => '1px',
-    'background-color' => '#1',
-    'background-image' => '1',
-    'background-repeat' => '1',
-    'background-attachment' => '1',
-    'background-position' => '1px',
-    'border' => '1px',
-    'border-top' => '1px',
-    'border-right' => '1px',
-    'border-bottom' => '1px',
-    'border-left' => '1px',
-    'border-color' => '#1',
-    'border-style' => '1',
-    'border-width' => '1px',
-    'border-top-width' => '1px',
-    'border-right-width' => '1px',
-    'border-left-width' => '1px',
-    'border-bottom-width' => '1px',
-    'clear' => '1',
-    'color' => '#1',
-    'display' => '1',
-    'float' => '1',
-    'font' => '1',
-    'font-family' => '1',
-    'font-style' => '1',
-    'font-variant' => '1',
-    'font-weight' => '1',
-    'font-size' => '1px',
-    'height' => '1px',
-    'line-height' => '1',
-    'list-style' => '1',
-    'list-style-type' => '1',
-    'list-style-image' => '1',
-    'list-style-position' => '1',
-    'margin' => '1px',
-    'margin-top' => '1px',
-    'margin-right' => '1px',
-    'margin-bottom' => '1px',
-    'margin-left' => '1px',
-    'padding' => '1px',
-    'padding-top' => '1px',
-    'padding-right' => '1px',
-    'padding-bottom' => '1px',
-    'padding-left' => '1px',
-    'text-indent' => '1px',
-    'text-align' => '1',
-    'text-decoration' => '1',
-    'letter-spacing' => '1px',
-    'word-spacing' => '1px',
-    'text-transform' => '1',
-    'white-space' => '1',
-    'vertical-align' => '1',
-    'width' => '1px',
-  ),
-)
---SETTINGS--
-discard_invalid_properties=true
-optimise_shorthands=0
-css_level='CSS1'
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css2.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css2.csst
deleted file mode 100644 (file)
index 1c8fdf8..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
---TEST--
-Test CSS1 properties
---CSS--
-a { 
-    foo:rgb(0,0,0);
-    bar:black;
-    baz:#ffaabb;
-    qux:#f00;
-    quux:blanchedalmond;
-    quuux:rgb(0,0,1);
-    background:1;
-    background-color:1;
-    background-image:1;
-    background-repeat:1;
-    background-attachment:1;
-    background-position:1;
-    border:1;
-    border-top:1;
-    border-right:1;
-    border-bottom:1;
-    border-left:1;
-    border-color:1;
-    border-top-color:1;
-    border-bottom-color:1;
-    border-left-color:1;
-    border-right-color:1;
-    border-style:1;
-    border-top-style:1;
-    border-right-style:1;
-    border-left-style:1;
-    border-bottom-style:1;
-    border-width:1;
-    border-top-width:1;
-    border-right-width:1;
-    border-left-width:1;
-    border-bottom-width:1;
-    border-collapse:1;
-    border-spacing:1;
-    bottom:1;
-    caption-side:1;
-    content:1;
-    clear:1;
-    clip:1;
-    color:1;
-    counter-reset:1;
-    counter-increment:1;
-    cursor:1;
-    empty-cells:1;
-    display:1;
-    direction:1;
-    float:1;
-    font:1;
-    font-family:1;
-    font-style:1;
-    font-variant:1;
-    font-weight:1;
-    font-stretch:1;
-    font-size-adjust:1;
-    font-size:1;
-    height:1;
-    left:1;
-    line-height:1;
-    list-style:1;
-    list-style-type:1;
-    list-style-image:1;
-    list-style-position:1;
-    margin:1;
-    margin-top:1;
-    margin-right:1;
-    margin-bottom:1;
-    margin-left:1;
-    marks:1;
-    marker-offset:1;
-    max-height:1;
-    max-width:1;
-    min-height:1;
-    min-width:1;
-    overflow:1;
-    orphans:1;
-    outline:1;
-    outline-width:1;
-    outline-style:1;
-    outline-color:1;
-    padding:1;
-    padding-top:1;
-    padding-right:1;
-    padding-bottom:1;
-    padding-left:1;
-    page-break-before:1;
-    page-break-after:1;
-    page-break-inside:1;
-    page:1;
-    position:1;
-    quotes:1;
-    right:1;
-    size:1;
-    speak-header:1;
-    table-layout:1;
-    top:1;
-    text-indent:1;
-    text-align:1;
-    text-decoration:1;
-    text-shadow:1;
-    letter-spacing:1;
-    word-spacing:1;
-    text-transform:1;
-    white-space:1;
-    unicode-bidi:1;
-    vertical-align:1;
-    visibility:1;
-    width:1;
-    widows:1;
-    z-index:1;
-    volume:1;
-    speak:1;
-    pause:1;
-    pause-before:1;
-    pause-after:1;
-    cue:1;
-    cue-before:1;
-    cue-after:1;
-    play-during:1;
-    azimuth:1;
-    elevation:1;
-    speech-rate:1;
-    voice-family:1;
-    pitch:1;
-    pitch-range:1;
-    stress:1;
-    richness:1;
-    speak-punctuation:1;
-    speak-numeral:1;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'background' => '1px',
-    'background-color' => '#1',
-    'background-image' => '1',
-    'background-repeat' => '1',
-    'background-attachment' => '1',
-    'background-position' => '1px',
-    'border' => '1px',
-    'border-top' => '1px',
-    'border-right' => '1px',
-    'border-bottom' => '1px',
-    'border-left' => '1px',
-    'border-color' => '#1',
-    'border-top-color' => '#1',
-    'border-bottom-color' => '#1',
-    'border-left-color' => '#1',
-    'border-right-color' => '#1',
-    'border-style' => '1',
-    'border-top-style' => '1',
-    'border-right-style' => '1',
-    'border-left-style' => '1',
-    'border-bottom-style' => '1',
-    'border-width' => '1px',
-    'border-top-width' => '1px',
-    'border-right-width' => '1px',
-    'border-left-width' => '1px',
-    'border-bottom-width' => '1px',
-    'border-collapse' => '1',
-    'border-spacing' => '1px',
-    'bottom' => '1px',
-    'caption-side' => '1',
-    'content' => '1',
-    'clear' => '1',
-    'clip' => '1',
-    'color' => '#1',
-    'counter-reset' => '1',
-    'counter-increment' => '1',
-    'cursor' => '1',
-    'empty-cells' => '1',
-    'display' => '1',
-    'direction' => '1',
-    'float' => '1',
-    'font' => '1',
-    'font-family' => '1',
-    'font-style' => '1',
-    'font-variant' => '1',
-    'font-weight' => '1',
-    'font-stretch' => '1',
-    'font-size-adjust' => '1',
-    'font-size' => '1px',
-    'height' => '1px',
-    'left' => '1px',
-    'line-height' => '1',
-    'list-style' => '1',
-    'list-style-type' => '1',
-    'list-style-image' => '1',
-    'list-style-position' => '1',
-    'margin' => '1px',
-    'margin-top' => '1px',
-    'margin-right' => '1px',
-    'margin-bottom' => '1px',
-    'margin-left' => '1px',
-    'marks' => '1',
-    'marker-offset' => '1',
-    'max-height' => '1px',
-    'max-width' => '1px',
-    'min-height' => '1px',
-    'min-width' => '1px',
-    'overflow' => '1',
-    'orphans' => '1',
-    'outline' => '1px',
-    'outline-width' => '1px',
-    'outline-style' => '1',
-    'outline-color' => '#1',
-    'padding' => '1px',
-    'padding-top' => '1px',
-    'padding-right' => '1px',
-    'padding-bottom' => '1px',
-    'padding-left' => '1px',
-    'page-break-before' => '1',
-    'page-break-after' => '1',
-    'page-break-inside' => '1',
-    'page' => '1',
-    'position' => '1',
-    'quotes' => '1',
-    'right' => '1px',
-    'size' => '1',
-    'speak-header' => '1',
-    'table-layout' => '1',
-    'top' => '1px',
-    'text-indent' => '1px',
-    'text-align' => '1',
-    'text-decoration' => '1',
-    'text-shadow' => '1',
-    'letter-spacing' => '1px',
-    'word-spacing' => '1px',
-    'text-transform' => '1',
-    'white-space' => '1',
-    'unicode-bidi' => '1',
-    'vertical-align' => '1',
-    'visibility' => '1',
-    'width' => '1px',
-    'widows' => '1',
-    'z-index' => '1',
-    'volume' => '1',
-    'speak' => '1',
-    'pause' => '1',
-    'pause-before' => '1',
-    'pause-after' => '1',
-    'cue' => '1',
-    'cue-before' => '1',
-    'cue-after' => '1',
-    'play-during' => '1',
-    'azimuth' => '1',
-    'elevation' => '1',
-    'speech-rate' => '1',
-    'voice-family' => '1',
-    'pitch' => '1',
-    'pitch-range' => '1',
-    'stress' => '1',
-    'richness' => '1',
-    'speak-punctuation' => '1',
-    'speak-numeral' => '1',
-  ),
-)
---SETTINGS--
-discard_invalid_properties=true
-optimise_shorthands=0
-css_level='CSS2.0'
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css21.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css21.csst
deleted file mode 100644 (file)
index 7d5c9f2..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
---TEST--
-Test CSS1 properties
---CSS--
-a { 
-    foo:rgb(0,0,0);
-    bar:black;
-    baz:#ffaabb;
-    qux:#f00;
-    quux:blanchedalmond;
-    quuux:rgb(0,0,1);
-    background:1;
-    background-color:1;
-    background-image:1;
-    background-repeat:1;
-    background-attachment:1;
-    background-position:1;
-    border:1;
-    border-top:1;
-    border-right:1;
-    border-bottom:1;
-    border-left:1;
-    border-color:1;
-    border-top-color:1;
-    border-bottom-color:1;
-    border-left-color:1;
-    border-right-color:1;
-    border-style:1;
-    border-top-style:1;
-    border-right-style:1;
-    border-left-style:1;
-    border-bottom-style:1;
-    border-width:1;
-    border-top-width:1;
-    border-right-width:1;
-    border-left-width:1;
-    border-bottom-width:1;
-    border-collapse:1;
-    border-spacing:1;
-    bottom:1;
-    caption-side:1;
-    content:1;
-    clear:1;
-    clip:1;
-    color:1;
-    counter-reset:1;
-    counter-increment:1;
-    cursor:1;
-    empty-cells:1;
-    display:1;
-    direction:1;
-    float:1;
-    font:1;
-    font-family:1;
-    font-style:1;
-    font-variant:1;
-    font-weight:1;
-    font-stretch:1;
-    font-size-adjust:1;
-    font-size:1;
-    height:1;
-    left:1;
-    line-height:1;
-    list-style:1;
-    list-style-type:1;
-    list-style-image:1;
-    list-style-position:1;
-    margin:1;
-    margin-top:1;
-    margin-right:1;
-    margin-bottom:1;
-    margin-left:1;
-    marks:1;
-    marker-offset:1;
-    max-height:1;
-    max-width:1;
-    min-height:1;
-    min-width:1;
-    overflow:1;
-    orphans:1;
-    outline:1;
-    outline-width:1;
-    outline-style:1;
-    outline-color:1;
-    padding:1;
-    padding-top:1;
-    padding-right:1;
-    padding-bottom:1;
-    padding-left:1;
-    page-break-before:1;
-    page-break-after:1;
-    page-break-inside:1;
-    page:1;
-    position:1;
-    quotes:1;
-    right:1;
-    size:1;
-    speak-header:1;
-    table-layout:1;
-    top:1;
-    text-indent:1;
-    text-align:1;
-    text-decoration:1;
-    text-shadow:1;
-    letter-spacing:1;
-    word-spacing:1;
-    text-transform:1;
-    white-space:1;
-    unicode-bidi:1;
-    vertical-align:1;
-    visibility:1;
-    width:1;
-    widows:1;
-    z-index:1;
-    volume:1;
-    speak:1;
-    pause:1;
-    pause-before:1;
-    pause-after:1;
-    cue:1;
-    cue-before:1;
-    cue-after:1;
-    play-during:1;
-    azimuth:1;
-    elevation:1;
-    speech-rate:1;
-    voice-family:1;
-    pitch:1;
-    pitch-range:1;
-    stress:1;
-    richness:1;
-    speak-punctuation:1;
-    speak-numeral:1;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'background' => '1px',
-    'background-color' => '#1',
-    'background-image' => '1',
-    'background-repeat' => '1',
-    'background-attachment' => '1',
-    'background-position' => '1px',
-    'border' => '1px',
-    'border-top' => '1px',
-    'border-right' => '1px',
-    'border-bottom' => '1px',
-    'border-left' => '1px',
-    'border-color' => '#1',
-    'border-top-color' => '#1',
-    'border-bottom-color' => '#1',
-    'border-left-color' => '#1',
-    'border-right-color' => '#1',
-    'border-style' => '1',
-    'border-top-style' => '1',
-    'border-right-style' => '1',
-    'border-left-style' => '1',
-    'border-bottom-style' => '1',
-    'border-width' => '1px',
-    'border-top-width' => '1px',
-    'border-right-width' => '1px',
-    'border-left-width' => '1px',
-    'border-bottom-width' => '1px',
-    'border-collapse' => '1',
-    'border-spacing' => '1px',
-    'bottom' => '1px',
-    'caption-side' => '1',
-    'content' => '1',
-    'clear' => '1',
-    'clip' => '1',
-    'color' => '#1',
-    'counter-reset' => '1',
-    'counter-increment' => '1',
-    'cursor' => '1',
-    'empty-cells' => '1',
-    'display' => '1',
-    'direction' => '1',
-    'float' => '1',
-    'font' => '1',
-    'font-family' => '1',
-    'font-style' => '1',
-    'font-variant' => '1',
-    'font-weight' => '1',
-    'font-size' => '1px',
-    'height' => '1px',
-    'left' => '1px',
-    'line-height' => '1',
-    'list-style' => '1',
-    'list-style-type' => '1',
-    'list-style-image' => '1',
-    'list-style-position' => '1',
-    'margin' => '1px',
-    'margin-top' => '1px',
-    'margin-right' => '1px',
-    'margin-bottom' => '1px',
-    'margin-left' => '1px',
-    'max-height' => '1px',
-    'max-width' => '1px',
-    'min-height' => '1px',
-    'min-width' => '1px',
-    'overflow' => '1',
-    'orphans' => '1',
-    'outline' => '1px',
-    'outline-width' => '1px',
-    'outline-style' => '1',
-    'outline-color' => '#1',
-    'padding' => '1px',
-    'padding-top' => '1px',
-    'padding-right' => '1px',
-    'padding-bottom' => '1px',
-    'padding-left' => '1px',
-    'page-break-before' => '1',
-    'page-break-after' => '1',
-    'page-break-inside' => '1',
-    'position' => '1',
-    'quotes' => '1',
-    'right' => '1px',
-    'speak-header' => '1',
-    'table-layout' => '1',
-    'top' => '1px',
-    'text-indent' => '1px',
-    'text-align' => '1',
-    'text-decoration' => '1',
-    'letter-spacing' => '1px',
-    'word-spacing' => '1px',
-    'text-transform' => '1',
-    'white-space' => '1',
-    'unicode-bidi' => '1',
-    'vertical-align' => '1',
-    'visibility' => '1',
-    'width' => '1px',
-    'widows' => '1',
-    'z-index' => '1',
-    'volume' => '1',
-    'speak' => '1',
-    'pause' => '1',
-    'pause-before' => '1',
-    'pause-after' => '1',
-    'cue' => '1',
-    'cue-before' => '1',
-    'cue-after' => '1',
-    'play-during' => '1',
-    'azimuth' => '1',
-    'elevation' => '1',
-    'speech-rate' => '1',
-    'voice-family' => '1',
-    'pitch' => '1',
-    'pitch-range' => '1',
-    'stress' => '1',
-    'richness' => '1',
-    'speak-punctuation' => '1',
-    'speak-numeral' => '1',
-  ),
-)
---SETTINGS--
-discard_invalid_properties=true
-optimise_shorthands=0
-css_level='CSS2.1'
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css3.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/css3.csst
deleted file mode 100644 (file)
index 239c24c..0000000
+++ /dev/null
@@ -1,592 +0,0 @@
---TEST--
-Test CSS1 properties
---CSS--
-a {
-    foo:rgb(0,0,0);
-    bar:black;
-    baz:#ffaabb;
-    qux:#f00;
-    quux:blanchedalmond;
-    quuux:rgb(0,0,1);
-               alignment-adjust:1;
-               alignment-baseline:1;
-               animation:1;
-               animation-delay:1;
-               animation-direction:1;
-               animation-duration:1;
-               animation-iteration-count:1;
-               animation-name:1;
-               animation-play-state:1;
-               animation-timing-function:1;
-               appearance:1;
-               azimuth:1;
-               backface-visibility:1;
-               background:1;
-               background-attachment:1;
-               background-clip:1;
-               background-color:1;
-               background-image:1;
-               background-origin:1;
-               background-position:1;
-               background-repeat:1;
-               background-size:1;
-               baseline-shift:1;
-               binding:1;
-               bleed:1;
-               bookmark-label:1;
-               bookmark-level:1;
-               bookmark-state:1;
-               bookmark-target:1;
-               border:1;
-               border-bottom:1;
-               border-bottom-color:1;
-               border-bottom-left-radius:1;
-               border-bottom-right-radius:1;
-               border-bottom-style:1;
-               border-bottom-width:1;
-               border-collapse:1;
-               border-color:1;
-               border-image:1;
-               border-image-outset:1;
-               border-image-repeat:1;
-               border-image-slice:1;
-               border-image-source:1;
-               border-image-width:1;
-               border-left:1;
-               border-left-color:1;
-               border-left-style:1;
-               border-left-width:1;
-               border-radius:1;
-               border-right:1;
-               border-right-color:1;
-               border-right-style:1;
-               border-right-width:1;
-               border-spacing:1;
-               border-style:1;
-               border-top:1;
-               border-top-color:1;
-               border-top-left-radius:1;
-               border-top-right-radius:1;
-               border-top-style:1;
-               border-top-width:1;
-               border-width:1;
-               bottom:1;
-               box-decoration-break:1;
-               box-shadow:1;
-               box-sizing:1;
-               break-after:1;
-               break-before:1;
-               break-inside:1;
-               caption-side:1;
-               clear:1;
-               clip:1;
-               color:1;
-               color-profile:1;
-               column-count:1;
-               column-fill:1;
-               column-gap:1;
-               column-rule:1;
-               column-rule-color:1;
-               column-rule-style:1;
-               column-rule-width:1;
-               column-span:1;
-               column-width:1;
-               columns:1;
-               content:1;
-               counter-increment:1;
-               counter-reset:1;
-               crop:1;
-               cue:1;
-               cue-after:1;
-               cue-before:1;
-               cursor:1;
-               direction:1;
-               display:1;
-               dominant-baseline:1;
-               drop-initial-after-adjust:1;
-               drop-initial-after-align:1;
-               drop-initial-before-adjust:1;
-               drop-initial-before-align:1;
-               drop-initial-size:1;
-               drop-initial-value:1;
-               elevation:1;
-               empty-cells:1;
-               fit:1;
-               fit-position:1;
-               flex-align:1;
-               flex-flow:1;
-               flex-line-pack:1;
-               flex-order:1;
-               flex-pack:1;
-               float:1;
-               float-offset:1;
-               font:1;
-               font-family:1;
-               font-size:1;
-               font-size-adjust:1;
-               font-stretch:1;
-               font-style:1;
-               font-variant:1;
-               font-weight:1;
-               grid-columns:1;
-               grid-rows:1;
-               hanging-punctuation:1;
-               height:1;
-               hyphenate-after:1;
-               hyphenate-before:1;
-               hyphenate-character:1;
-               hyphenate-lines:1;
-               hyphenate-resource:1;
-               hyphens:1;
-               icon:1;
-               image-orientation:1;
-               image-rendering:1;
-               image-resolution:1;
-               inline-box-align:1;
-               left:1;
-               letter-spacing:1;
-               line-break:1;
-               line-height:1;
-               line-stacking:1;
-               line-stacking-ruby:1;
-               line-stacking-shift:1;
-               line-stacking-strategy:1;
-               list-style:1;
-               list-style-image:1;
-               list-style-position:1;
-               list-style-type:1;
-               margin:1;
-               margin-bottom:1;
-               margin-left:1;
-               margin-right:1;
-               margin-top:1;
-               marker-offset:1;
-               marks:1;
-               marquee-direction:1;
-               marquee-loop:1;
-               marquee-play-count:1;
-               marquee-speed:1;
-               marquee-style:1;
-               max-height:1;
-               max-width:1;
-               min-height:1;
-               min-width:1;
-               move-to:1;
-               nav-down:1;
-               nav-index:1;
-               nav-left:1;
-               nav-right:1;
-               nav-up:1;
-               opacity:1;
-               orphans:1;
-               outline:1;
-               outline-color:1;
-               outline-offset:1;
-               outline-style:1;
-               outline-width:1;
-               overflow:1;
-               overflow-style:1;
-               overflow-wrap:1;
-               overflow-x:1;
-               overflow-y:1;
-               padding:1;
-               padding-bottom:1;
-               padding-left:1;
-               padding-right:1;
-               padding-top:1;
-               page:1;
-               page-break-after:1;
-               page-break-before:1;
-               page-break-inside:1;
-               page-policy:1;
-               pause:1;
-               pause-after:1;
-               pause-before:1;
-               perspective:1;
-               perspective-origin:1;
-               phonemes:1;
-               pitch:1;
-               pitch-range:1;
-               play-during:1;
-               position:1;
-               presentation-level:1;
-               punctuation-trim:1;
-               quotes:1;
-               rendering-intent:1;
-               resize:1;
-               rest:1;
-               rest-after:1;
-               rest-before:1;
-               richness:1;
-               right:1;
-               rotation:1;
-               rotation-point:1;
-               ruby-align:1;
-               ruby-overhang:1;
-               ruby-position:1;
-               ruby-span:1;
-               size:1;
-               speak:1;
-               speak-header:1;
-               speak-numeral:1;
-               speak-punctuation:1;
-               speech-rate:1;
-               src:1;
-               stress:1;
-               string-set:1;
-               tab-size:1;
-               table-layout:1;
-               target:1;
-               target-name:1;
-               target-new:1;
-               target-position:1;
-               text-align:1;
-               text-align-last:1;
-               text-decoration:1;
-               text-decoration-color:1;
-               text-decoration-line:1;
-               text-decoration-skip:1;
-               text-decoration-style:1;
-               text-emphasis:1;
-               text-emphasis-color:1;
-               text-emphasis-position:1;
-               text-emphasis-style:1;
-               text-height:1;
-               text-indent:1;
-               text-justify:1;
-               text-outline:1;
-               text-shadow:1;
-               text-space-collapse:1;
-               text-transform:1;
-               text-underline-position:1;
-               text-wrap:1;
-               top:1;
-               transform:1;
-               transform-origin:1;
-               transform-style:1;
-               transition:1;
-               transition-delay:1;
-               transition-duration:1;
-               transition-property:1;
-               transition-timing-function:1;
-               unicode-bidi:1;
-               vertical-align:1;
-               visibility:1;
-               voice-balance:1;
-               voice-duration:1;
-               voice-family:1;
-               voice-pitch:1;
-               voice-pitch-range:1;
-               voice-rate:1;
-               voice-stress:1;
-               voice-volume:1;
-               volume:1;
-               white-space:1;
-               widows:1;
-               width:1;
-               word-break:1;
-               word-spacing:1;
-               word-wrap:1;
-               z-index:1;
-}
---EXPECT--
-array (
-       'a' =>
-       array (
-               'alignment-adjust' => '1',
-               'alignment-baseline' => '1',
-               'animation' => '1',
-               'animation-delay' => '1',
-               'animation-direction' => '1',
-               'animation-duration' => '1',
-               'animation-iteration-count' => '1',
-               'animation-name' => '1',
-               'animation-play-state' => '1',
-               'animation-timing-function' => '1',
-               'appearance' => '1',
-               'azimuth' => '1',
-               'backface-visibility' => '1',
-               'background' => '1px',
-               'background-attachment' => '1',
-               'background-clip' => '1',
-               'background-color' => '#1',
-               'background-image' => '1',
-               'background-origin' => '1',
-               'background-position' => '1px',
-               'background-repeat' => '1',
-               'background-size' => '1px',
-               'baseline-shift' => '1',
-               'binding' => '1',
-               'bleed' => '1',
-               'bookmark-label' => '1',
-               'bookmark-level' => '1',
-               'bookmark-state' => '1',
-               'bookmark-target' => '1',
-               'border' => '1px',
-               'border-bottom' => '1px',
-               'border-bottom-color' => '#1',
-               'border-bottom-left-radius' => '1',
-               'border-bottom-right-radius' => '1',
-               'border-bottom-style' => '1',
-               'border-bottom-width' => '1px',
-               'border-collapse' => '1',
-               'border-color' => '#1',
-               'border-image' => '1',
-               'border-image-outset' => '1',
-               'border-image-repeat' => '1',
-               'border-image-slice' => '1',
-               'border-image-source' => '1',
-               'border-image-width' => '1',
-               'border-left' => '1px',
-               'border-color' => '#1',
-               'border-bottom-color' => '#1',
-               'border-left-color' => '#1',
-               'border-left-style' => '1',
-               'border-left-width' => '1px',
-               'border-radius' => '1',
-               'border-right' => '1px',
-               'border-right-color' => '#1',
-               'border-right-style' => '1',
-               'border-right-style' => '1',
-               'border-right-width' => '1px',
-               'border-spacing' => '1px',
-               'border-style' => '1',
-               'border-top' => '1px',
-               'border-top-color' => '#1',
-               'border-top-left-radius' => '1',
-               'border-top-right-radius' => '1',
-               'border-top-style' => '1',
-               'border-left-style' => '1',
-               'border-bottom-style' => '1',
-               'border-top-width' => '1px',
-               'border-width' => '1px',
-               'border-right-width' => '1px',
-               'border-left-width' => '1px',
-               'border-bottom-width' => '1px',
-               'border-collapse' => '1',
-               'border-spacing' => '1px',
-               'bottom' => '1px',
-               'box-decoration-break' => '1',
-               'box-shadow' => '1',
-               'box-sizing' => '1',
-               'break-after' => '1',
-               'break-before' => '1',
-               'break-inside' => '1',
-               'caption-side' => '1',
-               'clear' => '1',
-               'clip' => '1',
-               'color' => '#1',
-               'color-profile' => '1',
-               'column-count' => '1',
-               'column-fill' => '1',
-               'column-gap' => '1px',
-               'column-rule' => '1',
-               'column-rule-color' => '#1',
-               'column-rule-style' => '1',
-               'column-rule-width' => '1',
-               'column-span' => '1',
-               'column-width' => '1px',
-               'columns' => '1',
-               'content' => '1',
-               'counter-increment' => '1',
-               'counter-reset' => '1',
-               'crop' => '1',
-               'cue' => '1',
-               'cue-after' => '1',
-               'cue-before' => '1',
-               'cursor' => '1',
-               'direction' => '1',
-               'display' => '1',
-               'dominant-baseline' => '1',
-               'drop-initial-after-adjust' => '1',
-               'drop-initial-after-align' => '1',
-               'drop-initial-before-adjust' => '1',
-               'drop-initial-before-align' => '1',
-               'drop-initial-size' => '1',
-               'drop-initial-value' => '1',
-               'elevation' => '1',
-               'empty-cells' => '1',
-               'fit' => '1',
-               'fit-position' => '1',
-               'flex-align' => '1',
-               'flex-flow' => '1',
-               'flex-line-pack' => '1',
-               'flex-order' => '1',
-               'flex-pack' => '1',
-               'float' => '1',
-               'float-offset' => '1',
-               'font' => '1',
-               'font-family' => '1',
-               'font-size' => '1px',
-               'font-size-adjust' => '1',
-               'font-stretch' => '1',
-               'font-style' => '1',
-               'font-variant' => '1',
-               'font-weight' => '1',
-               'grid-columns' => '1',
-               'grid-rows' => '1',
-               'hanging-punctuation' => '1',
-               'height' => '1px',
-               'hyphenate-after' => '1',
-               'hyphenate-before' => '1',
-               'hyphenate-character' => '1',
-               'hyphenate-lines' => '1',
-               'hyphenate-resource' => '1',
-               'hyphens' => '1',
-               'icon' => '1',
-               'image-orientation' => '1',
-               'image-rendering' => '1',
-               'image-resolution' => '1',
-               'inline-box-align' => '1',
-               'left' => '1px',
-               'letter-spacing' => '1px',
-               'line-break' => '1',
-               'line-height' => '1',
-               'line-stacking' => '1',
-               'line-stacking-ruby' => '1',
-               'line-stacking-shift' => '1',
-               'line-stacking-strategy' => '1',
-               'list-style' => '1',
-               'list-style-image' => '1',
-               'list-style-position' => '1',
-               'list-style-type' => '1',
-               'margin' => '1px',
-               'margin-bottom' => '1px',
-               'margin-left' => '1px',
-               'margin-right' => '1px',
-               'margin-top' => '1px',
-               'marker-offset' => '1',
-               'marks' => '1',
-               'marquee-direction' => '1',
-               'marquee-loop' => '1',
-               'marquee-play-count' => '1',
-               'marquee-speed' => '1',
-               'marquee-style' => '1',
-               'max-height' => '1px',
-               'max-width' => '1px',
-               'min-height' => '1px',
-               'min-width' => '1px',
-               'move-to' => '1',
-               'nav-down' => '1',
-               'nav-index' => '1',
-               'nav-left' => '1',
-               'nav-right' => '1',
-               'nav-up' => '1',
-               'opacity' => '1',
-               'orphans' => '1',
-               'outline' => '1px',
-               'outline-color' => '#1',
-               'outline-offset' => '1',
-               'outline-style' => '1',
-               'outline-width' => '1px',
-               'overflow' => '1',
-               'overflow-style' => '1',
-               'overflow-wrap' => '1',
-               'overflow-x' => '1',
-               'overflow-y' => '1',
-               'padding' => '1px',
-               'padding-bottom' => '1px',
-               'padding-left' => '1px',
-               'padding-right' => '1px',
-               'padding-top' => '1px',
-               'page' => '1',
-               'page-break-after' => '1',
-               'page-break-before' => '1',
-               'page-break-inside' => '1',
-               'page-policy' => '1',
-               'pause' => '1',
-               'pause-after' => '1',
-               'pause-before' => '1',
-               'perspective' => '1px',
-               'perspective-origin' => '1',
-               'phonemes' => '1',
-               'pitch' => '1',
-               'pitch-range' => '1',
-               'play-during' => '1',
-               'position' => '1',
-               'presentation-level' => '1',
-               'punctuation-trim' => '1',
-               'quotes' => '1',
-               'rendering-intent' => '1',
-               'resize' => '1',
-               'rest' => '1',
-               'rest-after' => '1',
-               'rest-before' => '1',
-               'richness' => '1',
-               'right' => '1px',
-               'rotation' => '1',
-               'rotation-point' => '1',
-               'ruby-align' => '1',
-               'ruby-overhang' => '1',
-               'ruby-position' => '1',
-               'ruby-span' => '1',
-               'size' => '1',
-               'speak' => '1',
-               'speak-header' => '1',
-               'speak-numeral' => '1',
-               'speak-punctuation' => '1',
-               'speech-rate' => '1',
-               'src' => '1',
-               'stress' => '1',
-               'string-set' => '1',
-               'tab-size' => '1',
-               'table-layout' => '1',
-               'target' => '1',
-               'target-name' => '1',
-               'target-new' => '1',
-               'target-position' => '1',
-               'text-align' => '1',
-               'text-align-last' => '1',
-               'text-decoration' => '1',
-               'text-decoration-color' => '1',
-               'text-decoration-line' => '1',
-               'text-decoration-skip' => '1',
-               'text-decoration-style' => '1',
-               'text-emphasis' => '1',
-               'text-emphasis-color' => '1',
-               'text-emphasis-position' => '1',
-               'text-emphasis-style' => '1',
-               'text-height' => '1',
-               'text-indent' => '1px',
-               'text-justify' => '1',
-               'text-outline' => '1',
-               'text-shadow' => '1',
-               'text-space-collapse' => '1',
-               'letter-spacing' => '1px',
-               'text-transform' => '1',
-               'text-underline-position' => '1',
-               'text-wrap' => '1',
-               'top' => '1px',
-               'transform' => '1',
-               'transform-origin' => '1',
-               'transform-style' => '1',
-               'transition' => '1',
-               'transition-delay' => '1',
-               'transition-duration' => '1',
-               'transition-property' => '1',
-               'transition-timing-function' => '1',
-               'unicode-bidi' => '1',
-               'vertical-align' => '1',
-               'visibility' => '1',
-               'voice-balance' => '1',
-               'voice-duration' => '1',
-               'voice-family' => '1',
-               'voice-pitch' => '1',
-               'voice-pitch-range' => '1',
-               'voice-rate' => '1',
-               'voice-stress' => '1',
-               'voice-volume' => '1',
-               'volume' => '1',
-               'white-space' => '1',
-               'widows' => '1',
-               'width' => '1px',
-               'word-break' => '1',
-               'word-spacing' => '1px',
-               'word-wrap' => '1',
-               'z-index' => '1',
-       ),
-)
---SETTINGS--
-discard_invalid_properties=true
-optimise_shorthands=0
-css_level='CSS3.0'
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/importance.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/importance.csst
deleted file mode 100644 (file)
index fa39274..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
---TEST--
-Testing proper parsing of importance.
---CSS--
-a {
-       width: 100px;
-       height: 200px;
-}
-
-a {
-       width: 400px !important;
-       height: 300px;
-}
-
-b {
-       width: 100px !important;
-       height: 200px;
-}
-
-b {
-       width: 400px;
-       height: 300px !important;
-}
-
-c {
-       width: 100px!important;
-}
-
-d {
-       width: 100px;
-}
-
-d {
-       width: 200px !IMPORTANT;
-}
-
-d {
-       width: 300px ! important;
-}
-
-e {
-       background-image: url(http://example.com/test.png) !importANT;
-}
-
-f {
-       background-image: url(http://example.com/test.png)!imPORTant;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'width' => '100px',
-    'height' => '200px',
-    'width ' => '400px!important',
-    'height ' => '300px',
-  ),
-  'b' => 
-  array (
-    'width' => '100px!important',
-    'height' => '200px',
-    'width ' => '400px',
-    'height ' => '300px!important',
-  ),
-  'c' => 
-  array (
-    'width' => '100px!important',
-  ),
-  'd' => 
-  array (
-    'width' => '100px',
-    'width ' => '200px!important',
-    'width  ' => '300px!important',
-  ),
-  'e' => 
-  array (
-    'background-image' => 'url(http://example.com/test.png)!important',
-  ),
-  'f' => 
-  array (
-    'background-image' => 'url(http://example.com/test.png)!important',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/multiple-properties.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/multiple-properties.csst
deleted file mode 100644 (file)
index 31283f1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Support for multiple background properties.
---CSS--
-body {
-       background: linear-gradient(bottom, rgb(153,102,51) 0%, rgb(51,153,102) 30%, rgb(102,51,153) 100%);
-       background: -o-linear-gradient(bottom, rgb(153,102,51) 0%, rgb(51,153,102) 30%, rgb(102,51,153) 100%);
-       background: -moz-linear-gradient(bottom, rgb(153,102,51) 0%, rgb(51,153,102) 30%, rgb(102,51,153) 100%);
-       background: -webkit-linear-gradient(bottom, rgb(153,102,51) 0%, rgb(51,153,102) 30%, rgb(102,51,153) 100%);
-       background: -ms-linear-gradient(bottom, rgb(153,102,51) 0%, rgb(51,153,102) 30%, rgb(102,51,153) 100%);
-}
---EXPECT--
-array (
-  'body' =>
-  array (
-    'background' => 'linear-gradient(bottom,#963 0%,#396 30%,#639 100%)',
-    'background ' => '-o-linear-gradient(bottom,#963 0%,#396 30%,#639 100%)',
-    'background  ' => '-moz-linear-gradient(bottom,#963 0%,#396 30%,#639 100%)',
-    'background   ' => '-webkit-linear-gradient(bottom,#963 0%,#396 30%,#639 100%)',
-    'background    ' => '-ms-linear-gradient(bottom,#963 0%,#396 30%,#639 100%)',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/preserve-merging.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/properties/preserve-merging.csst
deleted file mode 100644 (file)
index 67cc6cc..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-Preserve merging of properties issue/2
---CSS--
-div {
-       display:block;
-       display:inline-block;
-}
-.gradient {
-       background-image:-webkit-gradient(linear, left bottom, left top, color-stop(0.15, rgba(215,240,240,0.9)), color-stop(0.5, rgba(235,250,250,0)));
-       background-image: -moz-linear-gradient(bottom,rgba(215,240,240,0.9),rgba(235,250,250,0)) #ebf7f9;
-}
---EXPECT--
-array (
-  'div' => 
-  array (
-    'display' => 'block',
-    'display ' => 'inline-block',
-  ),
-  '.gradient' => 
-  array (
-    'background-image' => '-webkit-gradient(linear,left bottom,left top,color-stop(0.15,rgba(215,240,240,0.9)),color-stop(0.5,rgba(235,250,250,0)))',
-    'background-image ' => '-moz-linear-gradient(bottom,rgba(215,240,240,0.9),rgba(235,250,250,0)) #ebf7f9',
-  ),
-)
---SETTINGS--
-discard_invalid_properties=false
-optimise_shorthands=0
-css_level='CSS21'
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/active.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/active.csst
deleted file mode 100644 (file)
index 157e5ab..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Dynamic active selector
---CSS--
-a:active {display: inherit;}
---EXPECT--
-array (
-  'a:active' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/adjacent.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/adjacent.csst
deleted file mode 100644 (file)
index f5113b1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Adjacent selector
---CSS--
-a + b {display: inherit;}
---EXPECT--
-array (
-  'a + b' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-begins.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-begins.csst
deleted file mode 100644 (file)
index e84344b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Begins hyphen-separated attribute list selector
---CSS--
-a[foo|="en"] {display: inherit;}
---EXPECT--
-array (
-  'a[foo|="en"]' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-contains.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-contains.csst
deleted file mode 100644 (file)
index 397edf2..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Contained in space-separated attribute list selector
---CSS--
-a[foo~="warning"] {display: inherit;}
---EXPECT--
-array (
-  'a[foo~="warning"]' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-equals.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-equals.csst
deleted file mode 100644 (file)
index 0d2e98a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Attribute equals selector
---CSS--
-a[foo="warning"] {display: inherit;}
---EXPECT--
-array (
-  'a[foo="warning"]' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-set.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/attribute-set.csst
deleted file mode 100644 (file)
index cd749fd..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Attribute selector
---CSS--
-a[foo] {display: inherit;}
---EXPECT--
-array (
-  'a[foo]' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/chain.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/chain.csst
deleted file mode 100644 (file)
index 1e3b639..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Chained selector
---CSS--
-a * > div[attr="value"].class + div#id:hover {display: inherit;}
---EXPECT--
-array (
-  'a * > div[attr="value"].class + div#id:hover' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/child.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/child.csst
deleted file mode 100644 (file)
index 1e80118..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Child selector
---CSS--
-table > tr {display: inherit;}
---EXPECT--
-array (
-  'table > tr' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/class.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/class.csst
deleted file mode 100644 (file)
index 4cc6d20..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Class selector
---CSS--
-a.foo {display: inherit;}
---EXPECT--
-array (
-  'a.foo' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/combinator-compressed.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/combinator-compressed.csst
deleted file mode 100644 (file)
index ed51bfb..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Combinator selector
---CSS--
-a>b {display: inherit;}
---EXPECT--
-array (
-  'a>b' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/descendant.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/descendant.csst
deleted file mode 100644 (file)
index 5667aee..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Descendant selector
---CSS--
-table tr {display: inherit;}
---EXPECT--
-array (
-  'table tr' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/errors/dangling-combinator.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/errors/dangling-combinator.csst
deleted file mode 100644 (file)
index c7ff919..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---TEST--
-Dangling combinator selector
---CSS--
-+ b {display: inherit;}
-b > {font-family: inherit;}
-<b>asdf</b> {font-size: inherit;}
---EXPECT--
-array (
-)
---SETTINGS--
-optimise_shorthands=0
-discard_invalid_selectors=1
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/errors/duplicate-combinator.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/errors/duplicate-combinator.csst
deleted file mode 100644 (file)
index 5415e23..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
---TEST--
-Duplicate combinator selector
---CSS--
-div + + b {display: inherit;}
---EXPECT--
-array (
-)
---SETTINGS--
-discard_invalid_selectors=1
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/first-child.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/first-child.csst
deleted file mode 100644 (file)
index eaffb77..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-First child selector
---CSS--
-p:first-child {display: inherit;}
---EXPECT--
-array (
-  'p:first-child' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/focus.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/focus.csst
deleted file mode 100644 (file)
index 1779496..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Dynamic focus selector
---CSS--
-a:focus {display: inherit;}
---EXPECT--
-array (
-  'a:focus' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/grouping.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/grouping.csst
deleted file mode 100644 (file)
index 78f3599..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Grouped selectors
---CSS--
-h1,h2,h3 {display: inherit;}
---EXPECT--
-array (
-  'h1,h2,h3' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/hover.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/hover.csst
deleted file mode 100644 (file)
index 9766d5f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Dynamic hover selector
---CSS--
-a:hover {display: inherit;}
---EXPECT--
-array (
-  'a:hover' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/id.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/id.csst
deleted file mode 100644 (file)
index e9c9e5d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-ID selector
---CSS--
-a#foo {display: inherit;}
---EXPECT--
-array (
-  'a#foo' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/lang.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/lang.csst
deleted file mode 100644 (file)
index c709f2f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Language selector
---CSS--
-div:lang(en) {display: inherit;}
---EXPECT--
-array (
-  'div:lang(en)' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/link.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/link.csst
deleted file mode 100644 (file)
index 22f763b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Not-visited link selector
---CSS--
-a:link {display: inherit;}
---EXPECT--
-array (
-  'a:link' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/merge-optimization.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/merge-optimization.csst
deleted file mode 100644 (file)
index 5827db9..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---TEST--
-Merge selectors optimization
---CSS--
-h1 {display: inherit;}
-h2 {display: inherit;}
-h3 {display: inherit;}
---EXPECT--
-array (
-  'h1,h2,h3' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
---SETTINGS--
-merge_selectors=2
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/merge-preserve.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/merge-preserve.csst
deleted file mode 100644 (file)
index dc7d80a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-Merge selectors optimization off
---SETTINGS--
-merge_selectors = 0
---CSS--
-h1 {display: inherit;}
-h2 {display: inherit;}
-h3 {display: inherit;}
---EXPECT--
-array (
-  'h1' => 
-  array (
-    'display' => 'inherit',
-  ),
-  'h2' => 
-  array (
-    'display' => 'inherit',
-  ),
-  'h3' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/pseudo-elements.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/pseudo-elements.csst
deleted file mode 100644 (file)
index 7885fda..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-Pseudo elements selectors
---CSS--
-P:first-line { display: inherit; }
-P:first-letter { font-size: inherit; }
-H1:before { font-family: inherit; }
-H1:after { font-weight: inherit; }
---EXPECT--
-array (
-  'P:first-line' => 
-  array (
-    'display' => 'inherit',
-  ),
-  'P:first-letter' => 
-  array (
-    'font-size' => 'inherit',
-  ),
-  'H1:before' => 
-  array (
-    'font-family' => 'inherit',
-  ),
-  'H1:after' => 
-  array (
-    'font-weight' => 'inherit',
-  ),
-)
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/same-merge-siblings.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/same-merge-siblings.csst
deleted file mode 100644 (file)
index abfdff5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-merge multiples siblings occurences of same seletor
---SETTINGS--
-merge_selectors = 0
---CSS--
-h1,h2 {font-size:1em;}
-h1 {display: inherit;}
-h1 {font-size:2em;}
---EXPECT--
-array (
-  'h1,h2' => 
-  array (
-    'font-size' => '1em',
-  ),
-  'h1' => 
-  array (
-    'display' => 'inherit',
-    'font-size' => '2em',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/same-nomerge.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/same-nomerge.csst
deleted file mode 100644 (file)
index 6af8493..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-Don't merge multiples occurences of same seletor
---SETTINGS--
-merge_selectors = 0
---CSS--
-h1 {display: inherit;}
-h1,h2 {font-size:1em;}
-h1 {font-size:2em;}
---EXPECT--
-array (
-  'h1' => 
-  array (
-    'display' => 'inherit',
-  ),
-  'h1,h2' => 
-  array (
-    'font-size' => '1em',
-  ),
-  'h1 ' => 
-  array (
-    'font-size' => '2em',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/simple.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/simple.csst
deleted file mode 100644 (file)
index c0f637b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Simple selector
---CSS--
-a[foo="bar"].class#id:hover {display: inherit;}
---EXPECT--
-array (
-  'a[foo="bar"].class#id:hover' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/type.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/type.csst
deleted file mode 100644 (file)
index a175b7d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Type selector
---CSS--
-a {display: inherit;}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal-optimization.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal-optimization.csst
deleted file mode 100644 (file)
index cade2b8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Universal selector optimization
---CSS--
-*.foo {display: inherit;}
---EXPECT--
-array (
-  '.foo' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal-shorthand.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal-shorthand.csst
deleted file mode 100644 (file)
index 4bc3873..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Universal selector shorthand
---CSS--
-.foo {display: inherit;}
---EXPECT--
-array (
-  '.foo' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/universal.csst
deleted file mode 100644 (file)
index ccb8db2..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Universal selector
---CSS--
-* {display: inherit;}
---EXPECT--
-array (
-  '*' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/visited.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/selectors/visited.csst
deleted file mode 100644 (file)
index fe3dce1..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Visited link selector
---CSS--
-a:visited {display: inherit;}
---EXPECT--
-array (
-  'a:visited' => 
-  array (
-    'display' => 'inherit',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/background-general.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/background-general.csst
deleted file mode 100644 (file)
index fe78a61..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-Test general background optimization
---CSS--
-a { 
-    background-color: white;
-    background-image: url(123);
-    background-repeat: no-repeat;
-    background-position: 1px 1px;
-    background-attachment: scroll;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'background' => 'url(123) no-repeat 1px 1px #fff',
-  ),
-)
---SETTINGS--
-optimise_shorthands=3
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/background-noopt.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/background-noopt.csst
deleted file mode 100644 (file)
index 8f5191f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-Test general background optimization
---CSS--
-a { 
-    background-color: white;
-    background-image: url(123);
-    background-repeat: no-repeat;
-    background-position: 1px 1px;
-    background-attachment: scroll;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'background-color' => '#fff',
-    'background-image' => 'url(123)',
-    'background-repeat' => 'no-repeat',
-    'background-position' => '1px 1px',
-    'background-attachment' => 'scroll',
-  ),
-)
---SETTINGS--
-optimise_shorthands=1
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand1.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand1.csst
deleted file mode 100644 (file)
index f9d517d..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-Test general font optimization
---CSS--
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-body{
-       color: #000000;
-       font : 11px Verdana, Arial, Helvetica, sans-serif ;
-       margin: 0 10px 10px 10px;
-       padding: 0;
-       overflow:auto;
-}
---EXPECT--
-array (
-  '.form-suggest' => 
-  array (
-    'height' => '200px',
-    'background' => '#DEE2D0',
-    'vertical-align' => 'top',
-  ),
-  'body' => 
-  array (
-    'color' => '#000',
-    'font' => '11px Verdana,Arial,Helvetica,sans-serif',
-    'margin' => '0 10px 10px',
-    'padding' => '0',
-    'overflow' => 'auto',
-  ),
-)
---SETTINGS--
-optimise_shorthands=1
-sort_selectors=0
-sort_properties=0
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand2.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand2.csst
deleted file mode 100644 (file)
index 6b0a703..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-Test general font optimization
---CSS--
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-body{
-       color: #000000;
-       font : 11px Verdana, Arial, Helvetica, sans-serif ;
-       margin: 0 10px 10px 10px;
-       padding: 0;
-       overflow:auto;
-}
---EXPECT--
-array (
-  '.form-suggest' => 
-  array (
-    'height' => '200px',
-    'background' => '#DEE2D0',
-    'vertical-align' => 'top',
-  ),
-  'body' => 
-  array (
-    'color' => '#000',
-    'font' => '11px Verdana,Arial,Helvetica,sans-serif',
-    'margin' => '0 10px 10px',
-    'padding' => '0',
-    'overflow' => 'auto',
-  ),
-)
---SETTINGS--
-optimise_shorthands=2
-sort_selectors=0
-sort_properties=0
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand3.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/bugshorthand3.csst
deleted file mode 100644 (file)
index 778adce..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
---TEST--
-Test general font optimization
---CSS--
-        .form-suggest {
-               height : 200px ;
-               background : #DEE2D0 ;
-               vertical-align : top;
-        }
-
-body{
-       color: #000000;
-       font : 11px Verdana, Arial, Helvetica, sans-serif ;
-       margin: 0 10px 10px 10px;
-       padding: 0;
-       overflow:auto;
-}
-.degrade{
-       background-color:#777777;
-       background:-webkit-gradient(linear,left top,left bottom,from(#999999),to(#666666));
-       background-image:-moz-linear-gradient(top,#999999,#666666);
-}
-
-.sans {background:none;}
---EXPECT--
-array (
-'.form-suggest' =>
-    array (
-      'height' => '200px',
-      'background' => '#DEE2D0',
-      'vertical-align' => 'top',
-    ),
-
-    'body' =>
-    array (
-      'color' => '#000',
-      'font' => '11px Verdana,Arial,Helvetica,sans-serif',
-      'margin' => '0 10px 10px',
-      'padding' => '0',
-      'overflow' => 'auto',
-       ),
-    '.degrade' =>
-    array (
-      'background-color' => '#777',
-      'background' => '-webkit-gradient(linear,left top,left bottom,from(#999),to(#666))',
-      'background-image' => '-moz-linear-gradient(top,#999,#666)',
-),
-    '.sans' =>
-    array (
-      'background' => 'none',
-    ),
-
-)
---SETTINGS--
-optimise_shorthands=3
-sort_selectors=0
-sort_properties=0
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-face.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-face.csst
deleted file mode 100644 (file)
index 1b7ff59..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-Test font-face optimization (no optimization)
---CSS--
-@font-face {
-    src: url("fonts/share.ttf") format("truetype");
-}
---FULLEXPECT--
-array (
-       ' '=> array(
-               '@font-face' =>
-               array (
-                       'src' => 'url(fonts/share.ttf) format("truetype")',
-               ),
-  ),
-)
---SETTINGS--
-optimise_shorthands=0
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-general.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-general.csst
deleted file mode 100644 (file)
index 26ac096..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-Test general font optimization
---CSS--
-a { 
-    font-weight: bold;
-    font-size: 12px;
-    line-height: 2em;
-    font-family: Arial, "Trebuchet MS", serif;
-}
-b {
-       font: 14px/1.25 Trebuchet MS, Arial, Tahoma, sans-serif;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font' => '700 12px/2em Arial,"Trebuchet MS",serif',
-  ),
-  'b' => 
-  array (
-    'font' => '14px/1.25 "Trebuchet MS",Arial,Tahoma,sans-serif',
-  ),
-)
---SETTINGS--
-optimise_shorthands=2
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-noopt.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-noopt.csst
deleted file mode 100644 (file)
index 8bbc3a7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Test general font optimization (no optimization)
---CSS--
-a { 
-    font-weight: bold;
-    font-size: 12px;
-    line-height: 2em;
-    font-family: Arial, sans-serif;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-weight' => '700',
-    'font-size' => '12px',
-    'line-height' => '2em',
-    'font-family' => 'Arial,sans-serif',
-  ),
-)
---SETTINGS--
-optimise_shorthands=0
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-weight-general.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-weight-general.csst
deleted file mode 100644 (file)
index f1f9b84..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Test font-weight optimization (full)
---CSS--
-a { 
-    font-weight: bold;
-}
-b { 
-    font-weight: normal;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-weight' => '700',
-  ),
-  'b' => 
-  array (
-    'font-weight' => '400',
-  ),
-)
---SETTINGS--
-compress_font-weight=true
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-weight-noopt.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/font-weight-noopt.csst
deleted file mode 100644 (file)
index e0ff5ee..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-Test font-weight optimization (no optimization)
---CSS--
-a { 
-    font-weight: bold;
-}
-b { 
-    font-weight: normal;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-weight' => 'bold',
-  ),
-  'b' => 
-  array (
-    'font-weight' => 'normal',
-  ),
-)
---SETTINGS--
-compress_font-weight=false
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/margin-general.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/margin-general.csst
deleted file mode 100644 (file)
index e6ac2b8..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
---TEST--
-Test margin optimization
---CSS--
-a { 
-    margin-left: 10px;
-    margin-right: 10px;
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
-b {
-    margin-left: 6px;
-    margin-right: 6px;
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
-c {
-    margin-left: 6px;
-    margin-right: 6px;
-    margin-top: 10px;
-    margin-bottom: 1px;
-}
-d {
-    margin-left: 1px;
-    margin-right: 6px;
-    margin-top: 10px;
-    margin-bottom: 3px;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'margin' => '10px',
-  ),
-  'b' => 
-  array (
-    'margin' => '10px 6px',
-  ),
-  'c' => 
-  array (
-    'margin' => '10px 6px 1px',
-  ),
-  'd' => 
-  array (
-    'margin' => '10px 6px 3px 1px',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/margin-noopt.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/margin-noopt.csst
deleted file mode 100644 (file)
index 60b5800..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Test margin optimization
---CSS--
-a { 
-    margin-left: 10px;
-    margin-right: 10px;
-    margin-top: 10px;
-    margin-bottom: 10px;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'margin-left' => '10px',
-    'margin-right' => '10px',
-    'margin-top' => '10px',
-    'margin-bottom' => '10px',
-  ),
-)
---SETTINGS--
-optimise_shorthands=0
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/padding-general.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/padding-general.csst
deleted file mode 100644 (file)
index 3260a5f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
---TEST--
-Test padding optimization
---CSS--
-a { 
-    padding-left: 10px;
-    padding-right: 10px;
-    padding-top: 10px;
-    padding-bottom: 10px;
-}
-b { 
-    padding-left: 10px;
-    padding-right: 10px;
-    padding-top: 2px;
-    padding-bottom: 2px;
-}
-c { 
-    padding-left: 10px;
-    padding-right: 10px;
-    padding-top: 2px;
-    padding-bottom: 3px;
-}
-d { 
-    padding-left: 1px;
-    padding-right: 10px;
-    padding-top: 2px;
-    padding-bottom: 3px;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'padding' => '10px',
-  ),
-  'b' => 
-  array (
-    'padding' => '2px 10px',
-  ),
-  'c' => 
-  array (
-    'padding' => '2px 10px 3px',
-  ),
-  'd' => 
-  array (
-    'padding' => '2px 10px 3px 1px',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/padding-noopt.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/shorthands/padding-noopt.csst
deleted file mode 100644 (file)
index b992d76..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Test padding optimization (no optimization)
---CSS--
-a { 
-    padding-left: 10px;
-    padding-right: 10px;
-    padding-top: 10px;
-    padding-bottom: 10px;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'padding-left' => '10px',
-    'padding-right' => '10px',
-    'padding-top' => '10px',
-    'padding-bottom' => '10px',
-  ),
-)
---SETTINGS--
-optimise_shorthands=0
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/atmedia-decimals.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/atmedia-decimals.csst
deleted file mode 100644 (file)
index f40d041..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-Decimal values in @media selectors should be maintained.
---CSS--
-@media only screen and (-webkit-min-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
-       #browserHigh {
-           background-image: url(http://design5279.files.wordpress.com/2012/04/browser-128.png);
-        }
-
-       #internetHigh {
-               background-image: url(http://design5279.files.wordpress.com/2012/04/internet-128.png);
-           }
-}
---FULLEXPECT--
-array (
-  '@media only screen and (-webkit-min-device-pixel-ratio: 1.5),only screen and (min-device-pixel-ratio: 1.5) ' => 
-  array (
-    '#browserHigh' => 
-    array (
-      'background-image' => 'url(http://design5279.files.wordpress.com/2012/04/browser-128.png)',
-    ),
-    '#internetHigh' => 
-    array (
-      'background-image' => 'url(http://design5279.files.wordpress.com/2012/04/internet-128.png)',
-    ),
-  ),
-)
---SETTINGS--
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/complex-gradient.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/complex-gradient.csst
deleted file mode 100644 (file)
index 7ba3493..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-multiples cursor rules
---CSS--
-.degrade{
-       background-color:#777777;
-       background:-webkit-gradient(linear,left top, left  bottom,from(#999999),to(#666666));
-       background-image:-moz-linear-gradient(top, #999999, #666666);
-       /* ne pas remplacer les couleurs ci-apres */
-       filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#999999', endColorstr='#666666');
-       filter:progid:DXImageTransform.Microsoft.Shadow(color=#666666, direction=146, Strength=5);
-       -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#999999', endColorstr='#666666')";
-       filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#ff999999',endColorstr='#ff666666');
-}
---EXPECT--
-array (
-'.degrade' =>
-    array (
-      'background-color' => '#777',
-      'background' => '-webkit-gradient(linear,left top,left bottom,from(#999),to(#666))',
-      'background-image' => '-moz-linear-gradient(top,#999,#666)',
-      'filter' => 'progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=\'#999999\',endColorstr=\'#666666\')',
-      'filter ' => 'progid:DXImageTransform.Microsoft.Shadow(color=#666666,direction=146,Strength=5)',
-      '-ms-filter' => '"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=\'#999999\',endColorstr=\'#666666\')"',
-      'filter  ' => 'progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=\'#ff999999\',endColorstr=\'#ff666666\')',
-    ),
-)
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/cursor.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/cursor.csst
deleted file mode 100644 (file)
index 4365532..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
---TEST--
-multiples cursor rules
---CSS--
-a {
-    cursor: pointer;
-    cursor: hand;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'cursor' => 'pointer',
-    'cursor ' => 'hand',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-atmedia-2.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-atmedia-2.csst
deleted file mode 100644 (file)
index c4fea89..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/** **/
-@font-face {
-       font-family: 'GenerikaRegular';
-       src: url('../fonts/generikaregular-webfont.eot');
-       src: url('../fonts/generikaregular-webfont.eot?#iefix') format('embedded-opentype'),
-               url('../fonts/generikaregular-webfont.woff') format('woff'),
-               url('../fonts/generikaregular-webfont.ttf') format('truetype'),
-               url('../fonts/generikaregular-webfont.svg#GenerikaRegular') format('svg');
-       font-weight: normal;
-       font-style: normal;
-}
-
-@font-face {
-       font-family: 'GenerikaLight';
-       src: url('../fonts/generikalight-webfont.eot');
-       src: url('../fonts/generikalight-webfont.eot?#iefix') format('embedded-opentype'),
-               url('../fonts/generikalight-webfont.woff') format('woff'),
-               url('../fonts/generikalight-webfont.ttf') format('truetype'),
-               url('../fonts/generikalight-webfont.svg#GenerikaLight') format('svg');
-       font-weight: normal;
-       font-style: normal;
-}
-
-p { border: none;}
-
---FULLEXPECT--
-array(
-       ' ' => array (
-               '@font-face' =>
-               array (
-                       'font-family' => '\'GenerikaRegular\'',
-                       'src' => 'url(../fonts/generikaregular-webfont.eot)',
-                       'src ' => 'url(../fonts/generikaregular-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/generikaregular-webfont.woff) format("woff"),url(../fonts/generikaregular-webfont.ttf) format("truetype"),url(../fonts/generikaregular-webfont.svg#GenerikaRegular) format("svg")',
-                       'font-weight' => '400',
-                       'font-style' => 'normal',
-               ),
-               '@font-face ' =>
-               array (
-                       'font-family' => '\'GenerikaLight\'',
-                       'src' => 'url(../fonts/generikalight-webfont.eot)',
-                       'src ' => 'url(../fonts/generikalight-webfont.eot?#iefix) format("embedded-opentype"),url(../fonts/generikalight-webfont.woff) format("woff"),url(../fonts/generikalight-webfont.ttf) format("truetype"),url(../fonts/generikalight-webfont.svg#GenerikaLight) format("svg")',
-                       'font-weight' => '400',
-                       'font-style' => 'normal',
-               ),
-       ),
-  41 => array (
-    'p' =>
-    array (
-      'border' => 'none',
-    ),
-  ),
-)
---SETTINGS--
-sort_properties=false
-sort_selectors=false
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-atmedia.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-atmedia.csst
deleted file mode 100644 (file)
index a656864..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
---TEST--
-Test simple CSS print
---CSS--
-/* Based on the original Style Sheet for the fisubsilver v2 Theme for phpBB version 2+
-Edited by Daz  - http://www.forumimages.com - last updated 26-06-03 */
-/* The content of the posts (body of text) */
-/* General page style */
-
-/* begin suggest post */
-.float-l {
-       float : left ;
-}
-
-@font-face {
-font-family: GillSans;
-src:url("/generic/fonts/GillSansC.otf") format('opentype');
-font-style: normal;
-font-weight: bold;
-}
-
-.font-9{
-       font-size: 11px;
-    }
-
-@media print {
-.font-9{
-       font-size: 9px;
-    }
-}
-
-.form-suggest {
-height : 200px ;
-background : #DEE2D0 ;
-vertical-align : top;
-}
-
-
---FULLEXPECT--
-array (
-  41 => array (
-    '.float-l' =>
-    array (
-      'float' => 'left',
-    ),
-       ),
-       ' ' => array (
-               '@font-face' => array (
-                       'font-family' => 'GillSans',
-                       'src' => 'url(/generic/fonts/GillSansC.otf) format("opentype")',
-                       'font-style' => 'normal',
-                       'font-weight' => '700',
-               ),
-       ),
-  42 => array (
-    '.font-9' =>
-    array (
-      'font-size' => '11px',
-    ),
-  ),
-  '@media print ' => array (
-    '.font-9' =>
-    array (
-      'font-size' => '9px',
-    ),
-  ),
-  43 =>
-  array (
-    '.form-suggest' =>
-    array (
-      'height' => '200px',
-      'background' => '#DEE2D0',
-      'vertical-align' => 'top',
-    ),
-  ),
-)
---SETTINGS--
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-simple.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face-simple.csst
deleted file mode 100644 (file)
index 52ddb0e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-@font-face rules
---CSS--
-@font-face {
-    font-family: GillSans;
-    src:url("/generic/fonts/GillSansLightC.otf") format('opentype');
-    font-style: normal;
-    font-weight: normal;
-}
-
-@font-face {
-    font-family: GillSans;
-    src:url("/generic/fonts/GillSansC.otf") format('opentype');
-    font-style: normal;
-    font-weight: bold;
-}
---FULLEXPECT--
-array (
-       ' ' => array(
-               '@font-face' =>
-               array (
-                       'font-family' => 'GillSans',
-                       'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype")',
-                       'font-style' => 'normal',
-                       'font-weight' => '400',
-               ),
-               '@font-face ' =>
-               array (
-                       'font-family' => 'GillSans',
-                       'src' => 'url(/generic/fonts/GillSansC.otf) format("opentype")',
-                       'font-style' => 'normal',
-                       'font-weight' => '700',
-               ),
-       )
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face.csst
deleted file mode 100644 (file)
index 1c6e5dc..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
---TEST--
-@font-face rules
---CSS--
-@font-face {
-    font-family: GillSans;
-    src:url("/generic/fonts/GillSansLightC.otf") format("opentype");
-    font-style: normal;
-    font-weight: normal;
-}
-
-@font-face {
-    font-family: GillSans;
-    src:url("/generic/fonts/GillSansC.otf") format('opentype');
-    font-style: normal;
-    font-weight: bold;
-}
-
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format("opentype", "woff");
-}
-
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format();
-}
-
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format("opentype" "svg");
-}
-
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format("opentype", 'woff', 'svg');
-}
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format(opentype);
-}
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format(opentype woff);
-}
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format(opentype, woff);
-}
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format(opentype, woff, "svg");
-}
-@font-face {
-    src:url("/generic/fonts/GillSansLightC.otf") format(opentype woff, "svg");
-}
-@font-face {
-    src:url("/generic/fonts/GillSans LightC.otf") format(opentype,woff);
-}
---FULLEXPECT--
-array (
-       ' ' => array(
-  '@font-face' => 
-  array (
-    'font-family' => 'GillSans',
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype")',
-    'font-style' => 'normal',
-    'font-weight' => '400',
-  ),
-  '@font-face ' => 
-  array (
-    'font-family' => 'GillSans',
-    'src' => 'url(/generic/fonts/GillSansC.otf) format("opentype")',
-    'font-style' => 'normal',
-    'font-weight' => '700',
-  ),
-  '@font-face  ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","woff")',
-  ),
-  '@font-face   ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf)',
-  ),
-  '@font-face    ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","svg")',
-  ),
-  '@font-face     ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","woff","svg")',
-  ),
-  '@font-face      ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype")',
-  ),
-  '@font-face       ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","woff")',
-  ),
-  '@font-face        ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","woff")',
-  ),
-  '@font-face         ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","woff","svg")',
-  ),
-  '@font-face          ' => 
-  array (
-    'src' => 'url(/generic/fonts/GillSansLightC.otf) format("opentype","woff","svg")',
-  ),
-  '@font-face           ' => 
-  array (
-    'src' => 'url("/generic/fonts/GillSans LightC.otf") format("opentype","woff")',
-  ),
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face_woff.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/font-face_woff.csst
deleted file mode 100644 (file)
index 6555c5c..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---TEST--
-@font-face rules with woff https://github.com/Cerdic/CSSTidy/issues/issue/1
---CSS--
-@font-face {
-       font-family: "Unibody8SmallCaps Regular";
-       src:url('fonts/unibody_8-smallcaps-webfont.woff') format('woff');
-}
---FULLEXPECT--
-array (
-       ' ' => array(
-  '@font-face' => 
-  array (
-    'font-family' => '"Unibody8SmallCaps Regular"',
-    'src' => 'url(fonts/unibody_8-smallcaps-webfont.woff) format("woff")',
-  ),
-  )
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/hex.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/hex.csst
deleted file mode 100644 (file)
index e39892d..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---TEST--
---CSS--
-li:before { content: "\00BB \0020"; }
---EXPECT--
-array (
-  'li:before' => 
-  array (
-    'content' => '"\\00BB \\0020"',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/ie-hacks-sort.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/ie-hacks-sort.csst
deleted file mode 100644 (file)
index ca7d5e3..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-IE Hacks Sort Issue/6
---SETTINGS--
-discard_invalid_properties = 0
-sort_properties = true
---CSS--
-fakeList a {
-width: 100%;
-display: block;
-height: 30px;
-padding-top: 2px;
--padding-top: 0;
-line-height:18px;
--moz-border-radius:10px;
-*line-height:17;
-/line-height:none;
-_background-image: url(/ttt/gf.gif);
-}
---EXPECT--
-array (
-'fakeList a' =>
-    array (
-      'width' => '100%',
-      'display' => 'block',
-      'height' => '30px',
-      'padding-top' => '2px',
-      '-padding-top' => '0',
-      'line-height' => '18px',
-      '-moz-border-radius' => '10px',
-      '*line-height' => '17',
-      '/line-height' => 'none',
-      '_background-image' => 'url(/ttt/gf.gif)',
-    ),
-)
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/ie-hacks.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/ie-hacks.csst
deleted file mode 100644 (file)
index b6904cc..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-IE Hacks Issue/5
---SETTINGS--
-discard_invalid_properties = 0
---CSS--
-fakeList a {
-width: 100%;
-display: block;
-height: 30px;
-padding-top: 2px;
--padding-top: 0;
-line-height:18px;
-*line-height:17;
-/line-height:none;
-//     background-image: url(images/cellpic3.gif); /* should be ignored in print version*/
-_background-image: url(/ttt/gf.gif);
-}
---EXPECT--
-array (
-  'fakeList a' => 
-  array (
-    'width' => '100%',
-    'display' => 'block',
-    'height' => '30px',
-    'padding-top' => '2px',
-    '-padding-top' => '0',
-    'line-height' => '18px',
-    '*line-height' => '17',
-    '/line-height' => 'none',
-    '//background-image' => 'url(images/cellpic3.gif)',
-    '_background-image' => 'url(/ttt/gf.gif)',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/iezoom.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/iezoom.csst
deleted file mode 100644 (file)
index b3e469b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---TEST--
-IE Zoom
---CSS--
-#content {
-zoom: 1;
-}
---EXPECT--
-array (
-  '#content' => 
-  array (
-    'zoom' => '1',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/newlines.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/newlines.csst
deleted file mode 100644 (file)
index 866a6fc..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
---TEST--
-@font-face rules
---CSS--
-a {
-       background: -webkit-gradient(
-               linear,
-               left bottom,
-               left top,
-               color-stop(0, rgb(153,102,51)),
-               color-stop(0.3, rgb(51,153,102)),
-               color-stop(1, rgb(102,51,153))
-       );
-       content: "ABC
-123
-DEF
-GHI";
-}
-b {
-       content: "ABC\A123";
-}
-i {
-       content: 'ABC
-123\ADEF';
-}
-
-u {
-       background: parenthetical(
-               "string 1",
-               "string
-2",
-               'string 3',
-               'string "4',
-               'string "5"',
-               "string '6",
-               "string (7)",
-               "string 8)",
-               (
-                       (
-                               (
-                                       (
-                                               ("boo")
-                                       )
-                               )
-                       )
-               ),
-               (
-                       (
-                               (
-                                       (
-                                               ("boo ba")
-                                       )
-                               )
-                       )
-               )
-
-);
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'background' => '-webkit-gradient(linear,left bottom,left top,color-stop(0,#963),color-stop(0.3,#396),color-stop(1,#639))',
-    'content' => '"ABC\\A123\\ADEF\\AGHI"',
-  ),
-  'b' => 
-  array (
-    'content' => '"ABC\\A123"',
-  ),
-  'i' => 
-  array (
-    'content' => '\'ABC\\A123\\ADEF\'',
-  ),
-  'u' => 
-  array (
-    'background' => 'parenthetical("string 1","string\\A2",\'string 3\',\'string "4\',\'string "5"\',"string \'6","string (7)","string 8)",(((((boo))))),((((("boo ba"))))))',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/same-atmedia-merge.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/same-atmedia-merge.csst
deleted file mode 100644 (file)
index daa92a5..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
---TEST--
-Don't merge multiples occurences of same @media
---SETTINGS--
-merge_selectors = 0
---CSS--
-BODY {
-color: black;
-}
-
-@media screen, tv, projection {
-BODY {
-background-color: red;
-}
-}
-
-@media screen, tv, projection {
-BODY {
-color: green;
-}
-}
-
-BODY {
-background-color: white;
-}
-
---FULLEXPECT--
-array (
-  41 => 
-  array (
-    'BODY' => 
-    array (
-      'color' => '#000',
-    ),
-  ),
-  '@media screen,tv,projection ' => 
-  array (
-    'BODY' => 
-    array (
-      'background-color' => 'red',
-      'color' => 'green',
-    ),
-  ),
-  42 => 
-  array (
-    'BODY' => 
-    array (
-      'background-color' => '#fff',
-    ),
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/same-atmedia-nomerge.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/special/same-atmedia-nomerge.csst
deleted file mode 100644 (file)
index c754838..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
---TEST--
-Don't merge multiples occurences of same @media
---SETTINGS--
-merge_selectors = 0
---CSS--
-@media screen, tv, projection {
-BODY {
-background-color: red;
-}
-}
-
-BODY {
-color: black;
-}
-
-@media screen, tv, projection {
-BODY {
-color: green;
-}
-}
-
-BODY {
-background-color: white;
-}
-
---FULLEXPECT--
-array (
-  '@media screen,tv,projection ' => 
-  array (
-    'BODY' => 
-    array (
-      'background-color' => 'red',
-    ),
-  ),
-  41 => 
-  array (
-    'BODY' => 
-    array (
-      'color' => '#000',
-    ),
-  ),
-  '@media screen,tv,projection  ' => 
-  array (
-    'BODY' => 
-    array (
-      'color' => 'green',
-    ),
-  ),
-  42 => 
-  array (
-    'BODY' => 
-    array (
-      'background-color' => '#fff',
-    ),
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/colors.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/colors.csst
deleted file mode 100644 (file)
index a4e3da1..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
---TEST--
-Test color optimisation
---CSS--
-a { 
-    foo:rgb(0,0,0);
-    bar:black;
-    baz:#ffaabb;
-    qux:#f00;
-    quux:blanchedalmond;
-    quuux:rgb(0,0,1);
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'foo' => '#000',
-    'bar' => '#000',
-    'baz' => '#fab',
-    'qux' => 'red',
-    'quux' => '#ffebcd',
-    'quuux' => '#000001',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/font-family.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/font-family.csst
deleted file mode 100644 (file)
index f7b02d7..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--\r
-Tests numeric values: Floating point\r
---CSS--\r
-a { font:10px Arial, sans-serif}\r
-b { font:10px "Arial", "Trebuchet MS","sans-serif"}\r
-em { font:10px/normal "Arial", "Trebuchet MS","sans-serif"}\r
-i { font:10px/1.5em "Arial", "Trebuchet MS","sans-serif"}\r
---EXPECT--\r
-array (\r
-  'a' => \r
-  array (\r
-    'font' => '10px Arial,sans-serif',\r
-  ),\r
-  'b' => \r
-  array (\r
-    'font' => '10px Arial,"Trebuchet MS",sans-serif',\r
-  ),\r
-  'em' => \r
-  array (\r
-    'font' => '10px/normal Arial,"Trebuchet MS",sans-serif',\r
-  ),\r
-  'i' => \r
-  array (\r
-    'font' => '10px/1.5em Arial,"Trebuchet MS",sans-serif',\r
-  ),\r
-)\r
---SETTINGS--\r
-optimise_shorthands=2\r
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/important.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/important.csst
deleted file mode 100644 (file)
index 032ab70..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-Tests !important
---CSS--
-a {
-    color:red !important;
-    size:2 ! important;
-    foo:2! important;
-    bar:2!important;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'color' => 'red!important',
-    'size' => '2!important',
-    'foo' => '2!important',
-    'bar' => '2!important',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-float.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-float.csst
deleted file mode 100644 (file)
index 6805c5a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Tests numeric values: Floating point
---CSS--
-a { font-size:01.5010em }
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-size' => '1.501em',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-leadingzero.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-leadingzero.csst
deleted file mode 100644 (file)
index 5dfd9e1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---TEST--
-Tests numeric values: Leading zeros
---CSS--
-a { font-size:0001em; foo:00.1em; line-height:00.1; bar:-00.1;}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-size' => '1em',
-    'foo' => '.1em',
-    'line-height' => '.1',
-    'bar' => '-.1',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-missingunit.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-missingunit.csst
deleted file mode 100644 (file)
index b43e3aa..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Tests numeric values: Missing unit
---CSS--
-a { 
-font-size:1.0;
-line-height:1.0;
-color:123456;
-font:1em/1.0 verdana;
-}
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-size' => '1px',
-    'line-height' => '1',
-    'color' => '#123456',
-    'font' => '1em/1 verdana',
-  ),
-)
---SETTINGS--
-optimise_shorthands=0
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-missingzero.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-missingzero.csst
deleted file mode 100644 (file)
index 6e7ef2e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---TEST--
-Tests numeric values: Missing zero
---CSS--
-a { font-size:0.1em }
-b { font-size:.1em }
---EXPECT--
-array (
-  'a,b' => 
-  array (
-    'font-size' => '.1em',
-  ),
-)
---SETTINGS--
-merge_selectors=2
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-signed.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-signed.csst
deleted file mode 100644 (file)
index 0659ea3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
---TEST--
-Tests numeric values: Signed
---CSS--
-a { font-size:-1em }
-b { font-size:+1em }
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-size' => '-1em',
-  ),
-  'b' => 
-  array (
-    'font-size' => '1em',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-trailingzero.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-trailingzero.csst
deleted file mode 100644 (file)
index 24287c9..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---TEST--
-Tests numeric values: Trailing zeros
---CSS--
-a { font-size:1.000em }
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-size' => '1em',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-zero.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/number-zero.csst
deleted file mode 100644 (file)
index 620e36d..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---TEST--
-Tests numeric values: Zero
---CSS--
-a { font-size:0px; line-height:00.00 }
---EXPECT--
-array (
-  'a' => 
-  array (
-    'font-size' => '0',
-    'line-height' => '0',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/quoted-strings.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/values/quoted-strings.csst
deleted file mode 100644 (file)
index 61ccc8f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-Ensure that quoted strings are left unchanged.
---CSS--
-a:after {
-       content: "This is a typical string with words, commas, and a period.";
-}
-
-b:after {
-       content: "This string has CSS-like content: foo { color: rgb(0, 0, 0); }.";
-}
-
-c:after {
-       content: 'This string uses single quotes, not double (").';
-}
---EXPECT--
-array (
-  'a:after' => 
-  array (
-    'content' => '"This is a typical string with words, commas, and a period."',
-  ),
-  'b:after' => 
-  array (
-    'content' => '"This string has CSS-like content: foo { color: rgb(0, 0, 0); }."',
-  ),
-  'c:after' => 
-  array (
-    'content' => '\'This string uses single quotes, not double (").\'',
-  ),
-)
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/vendor-prefixed/webkit-gradient.csst b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/csst/vendor-prefixed/webkit-gradient.csst
deleted file mode 100644 (file)
index 3ddf50c..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
--webkit-gradient properties issue/3
---CSS--
-.linear {
-       background: -webkit-gradient(linear, left top, left bottom, from(#00abeb), to(#fff), color-stop(0.5, #fff), color-stop(0.5, #66cc00));
-}
-.radial {
-       background: -webkit-gradient(radial, 45 45, 10, 52 50, 30, from(#A7D30C), to(rgba(1,159,98,0)), color-stop(90%, #019F62));
-}
---EXPECT--
-array (
-       '.linear' =>
-       array (
-               'background' => '-webkit-gradient(linear,left top,left bottom,from(#00abeb),to(#fff),color-stop(0.5,#fff),color-stop(0.5,#6c0))',
-       ),
-       '.radial' =>
-       array (
-               'background' => '-webkit-gradient(radial,45 45,10,52 50,30,from(#A7D30C),to(rgba(1,159,98,0)),color-stop(90%,#019F62))',
-       ),
-)
---SETTINGS--
-discard_invalid_properties=false
-optimise_shorthands=0
-css_level='CSS21'
\ No newline at end of file
diff --git a/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/test.csst.php b/www/plugins-dist/compresseur/lib/csstidy/testing/unit-tests/test.csst.php
deleted file mode 100644 (file)
index 3b007ac..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-require_once 'class.csstidy_csst.php';
-
-/**
- * Performs the csst tests in csst/ folder
- */
-class csstidy_test_csst extends csstidy_harness
-{
-    function testAll() {
-        $files = globr(dirname(__FILE__) . '/csst', '*.csst');
-        foreach ($files as $filename) {
-            $expectation = new csstidy_csst();
-            $result = $this->assert($expectation, $filename, '%s');
-            // this is necessary because SimpleTest doesn't support
-            // HTML messages; this probably should be in the reporter.
-            // This is *not* compatible with XmlReporter
-            if (!$result) echo $expectation->render();
-        }
-    }
-}
index 4cb01aa..e088887 100644 (file)
@@ -67,14 +67,18 @@ class Minify_HTML_SPIP extends Minify_HTML {
  * This is a heavy regex-based removal of whitespace, unnecessary comments and
  * tokens. IE conditional comments are preserved. There are also options to have
  * STYLE and SCRIPT blocks compressed by callback functions.
+ * https://github.com/mrclay/minify/blob/master/min/lib/Minify/HTML.php
  *
  * A test suite is available.
- * http://code.google.com/p/minify/source/browse/trunk/min/lib/Minify/HTML.php
- * 
+ *
  * @package Minify
  * @author Stephen Clay <steve@mrclay.org>
  */
 class Minify_HTML {
+    /**
+     * @var boolean
+     */
+    protected $_jsCleanComments = true;
 
     /**
      * "Minify" an HTML page
@@ -95,7 +99,7 @@ class Minify_HTML {
      * @return string
      */
     public static function minify($html, $options = array()) {
-        $min = new Minify_HTML($html, $options);
+        $min = new self($html, $options);
         return $min->process();
     }
 
@@ -113,6 +117,8 @@ class Minify_HTML {
      * 'jsMinifier' : (optional) callback function to process content of SCRIPT
      * elements. Note: the type attribute is ignored.
      *
+     * 'jsCleanComments' : (optional) whether to remove HTML comments beginning and end of script block
+     *
      * 'xhtml' : (optional boolean) should content be treated as XHTML1.0? If
      * unset, minify will sniff for an XHTML doctype.
      *
@@ -130,6 +136,9 @@ class Minify_HTML {
         if (isset($options['jsMinifier'])) {
             $this->_jsMinifier = $options['jsMinifier'];
         }
+        if (isset($options['jsCleanComments'])) {
+            $this->_jsCleanComments = (bool)$options['jsCleanComments'];
+        }
     }
 
 
@@ -149,13 +158,13 @@ class Minify_HTML {
 
         // replace SCRIPTs (and minify) with placeholders
         $this->_html = preg_replace_callback(
-            '/(\\s*)(<script\\b[^>]*?>)([\\s\\S]*?)<\\/script>(\\s*)/i'
+            '/(\\s*)<script(\\b[^>]*?>)([\\s\\S]*?)<\\/script>(\\s*)/i'
             ,array($this, '_removeScriptCB')
             ,$this->_html);
 
         // replace STYLEs (and minify) with placeholders
         $this->_html = preg_replace_callback(
-            '/\\s*(<style\\b[^>]*?>)([\\s\\S]*?)<\\/style>\\s*/i'
+            '/\\s*<style(\\b[^>]*>)([\\s\\S]*?)<\\/style>\\s*/i'
             ,array($this, '_removeStyleCB')
             ,$this->_html);
 
@@ -166,16 +175,22 @@ class Minify_HTML {
             ,$this->_html);
 
         // replace PREs with placeholders
-        $this->_html = preg_replace_callback('/\\s*(<pre\\b[^>]*?>[\\s\\S]*?<\\/pre>)\\s*/i'
+        $this->_html = preg_replace_callback('/\\s*<pre(\\b[^>]*?>[\\s\\S]*?<\\/pre>)\\s*/i'
             ,array($this, '_removePreCB')
             ,$this->_html);
 
         // replace TEXTAREAs with placeholders
         $this->_html = preg_replace_callback(
-            '/\\s*(<textarea\\b[^>]*?>[\\s\\S]*?<\\/textarea>)\\s*/i'
+            '/\\s*<textarea(\\b[^>]*?>[\\s\\S]*?<\\/textarea>)\\s*/i'
             ,array($this, '_removeTextareaCB')
             ,$this->_html);
 
+        // replace INPUTs with placeholders
+        $this->_html = preg_replace_callback(
+            '/\\s*<input(\\b[^>]*?>)\\s*/i'
+            ,array($this, '_removeInputCB')
+            ,$this->_html);
+
         // trim each line.
         // @todo take into account attribute values that span multiple lines.
              // 2 regexp because merging un /^\\s+|\\s+$/m also del a lot of newline chars ???
@@ -190,9 +205,9 @@ class Minify_HTML {
             .'|ul)\\b[^>]*>)/i', '$1', $this->_html);
 
         // remove ws outside of all elements
-        $this->_html = preg_replace_callback(
-            '/>([^<]+)</'
-            ,array($this, '_outsideTagCB')
+        $this->_html = preg_replace(
+            '/>(\\s(?:\\s*))?([^<]+)(\\s(?:\s*))?</'
+            ,'>$1$2$3<'
             ,$this->_html);
 
         // use newlines before 1st attribute in open tags (to limit line lengths)
@@ -204,6 +219,12 @@ class Minify_HTML {
             ,array_values($this->_placeholders)
             ,$this->_html
         );
+        // issue 229: multi-pass to catch scripts that didn't get replaced in textareas
+        $this->_html = str_replace(
+            array_keys($this->_placeholders)
+            ,array_values($this->_placeholders)
+            ,$this->_html
+        );
         return $this->_html;
     }
 
@@ -227,24 +248,24 @@ class Minify_HTML {
     protected $_cssMinifier = null;
     protected $_jsMinifier = null;
 
-    protected function _outsideTagCB($m)
-    {
-        return '>' . preg_replace('/^\\s+|\\s+$/', ' ', $m[1]) . '<';
-    }
-
     protected function _removePreCB($m)
     {
-        return $this->_reservePlace($m[1]);
+        return $this->_reservePlace("<pre{$m[1]}");
     }
 
+               protected function _removeInputCB($m)
+               {
+            return $this->_reservePlace("<input{$m[1]}");
+               }
+
     protected function _removeTextareaCB($m)
     {
-        return $this->_reservePlace($m[1]);
+        return $this->_reservePlace("<textarea{$m[1]}");
     }
 
     protected function _removeStyleCB($m)
     {
-        $openStyle = $m[1];
+        $openStyle = "<style{$m[1]}";
         $css = $m[2];
         // remove HTML comments
         $css = preg_replace('/(?:^\\s*<!--|-->\\s*$)/', '', $css);
@@ -266,7 +287,7 @@ class Minify_HTML {
 
     protected function _removeScriptCB($m)
     {
-        $openScript = $m[2];
+        $openScript = "<script{$m[2]}";
         $js = $m[3];
 
         // whitespace surrounding? preserve at least one space
@@ -274,7 +295,9 @@ class Minify_HTML {
         $ws2 = ($m[4] === '') ? '' : ' ';
 
         // remove HTML comments (and ending "//" if present)
-        $js = preg_replace('/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/', '', $js);
+        if ($this->_jsCleanComments) {
+            $js = preg_replace('/(?:^\\s*<!--\\s*|\\s*(?:\\/\\/)?\\s*-->\\s*$)/', '', $js);
+        }
 
         // remove CDATA section markers
         $js = $this->_removeCdata($js);
@@ -302,4 +325,4 @@ class Minify_HTML {
     {
         return ($this->_isXhtml && preg_match('/(?:[<&]|\\-\\-|\\]\\]>)/', $str));
     }
-}
+}
\ No newline at end of file
index 86c2a50..dc084d8 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="compresseur"
        categorie="performance"
-       version="1.8.2"
+       version="1.8.6"
        etat="stable"
        compatibilite="[3.0.0;3.1.*]"
        logo="images/compresseur-32.png"
index 3a7965f..db0c5d2 100644 (file)
@@ -6,8 +6,8 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/dump?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/dump?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
index 03004d8..a670679 100644 (file)
@@ -1,7 +1,13 @@
 #HTTP_HEADER{Content-Type: image/x-icon}
-[(#CHEMIN{favicon.ico}|sinon{[(#LOGO_SITE_SPIP
+#HTTP_HEADER{Content-Transfer-Encoding: binary}
+<?php
+$file="[(#CHEMIN{favicon.ico}|sinon{[(#LOGO_SITE_SPIP
                |image_passe_partout{32,32}
                |image_recadre{32,32,center}
                |image_format{ico}|extraire_attribut{src}
-)]}|sinon{#CHEMIN{spip.ico}}
-|spip_file_get_contents)]
+)]}|sinon{#CHEMIN{spip.ico}})]";
+if ($cl = filesize($file))
+       header("Content-Length: ". $cl);
+
+readfile($file);
+?>
\ No newline at end of file
index 309b309..99015d5 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="images"
        categorie="multimedia"
-       version="1.1.4"
+       version="1.1.5"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="images/image_filtre-32.png"
index 0cc20e6..dace581 100644 (file)
@@ -54,7 +54,7 @@ function formulaires_forum_charger_dist($objet, $id_objet, $id_forum,
 \r
        // exiger l'authentification des posteurs pour les forums sur abo\r
        if ($accepter_forum=="abo"){\r
-               if (!$GLOBALS["visiteur_session"]['statut']){\r
+               if (!isset($GLOBALS["visiteur_session"]['statut']) OR !$GLOBALS["visiteur_session"]['statut']){\r
                        return array(\r
                                'action' => '', #ne sert pas dans ce cas, on la vide pour mutualiser le cache\r
                                'editable' => false,\r
index 85b8473..32b90ed 100644 (file)
@@ -63,15 +63,16 @@ function inc_forum_insert_dist($objet, $id_objet, $id_forum, $force_statut = NUL
        }
        spip_log("insertion de forum $force_statut sur $objet $id_objet (+$id_forum)", 'forum');
 
-       $c = array('statut'=>'off');
-       $c['objet'] = $objet;
-       $c['id_objet'] = $id_objet;
+
 
        include_spip('inc/filtres');
        include_spip('inc/modifier');
        $champs = objet_info('forum','champs_editables');
        $c = collecter_requests($champs, array());
-
+       
+       $c['statut'] = 'off';
+       $c['objet'] = $objet;
+       $c['id_objet'] = $id_objet;
        $c['auteur'] = sinon($GLOBALS['visiteur_session']['nom'],
                $GLOBALS['visiteur_session']['session_nom']);
        $c['email_auteur'] = sinon($GLOBALS['visiteur_session']['email'],
index eeeb5fa..df57ccd 100644 (file)
        <langue code="cs" />
        <langue code="da" />
        <langue code="de" url="http://trad.spip.net/tradlang_module/forum?lang_cible=de">
-               <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
                <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+               <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/forum?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
-               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" url="http://trad.spip.net/tradlang_module/forum?lang_cible=eo">
@@ -34,7 +34,9 @@
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
                <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
        </langue>
-       <langue code="eu" />
+       <langue code="eu" url="http://trad.spip.net/tradlang_module/forum?lang_cible=eu">
+               <traducteur nom="otalazt" lien="http://trad.spip.net/auteur/otalazt" />
+       </langue>
        <langue code="fa" url="http://trad.spip.net/tradlang_module/forum?lang_cible=fa">
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
@@ -58,8 +60,8 @@
        </langue>
        <langue code="my" />
        <langue code="nl" url="http://trad.spip.net/tradlang_module/forum?lang_cible=nl">
-               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
                <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
+               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="oc_auv" />
        <langue code="oc_gsc" />
index 247d913..972d077 100644 (file)
@@ -8,103 +8,103 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
-       'aucun_message_forum' => 'Aucun message de forum', # NEW
+       'aucun_message_forum' => 'Iruzkinik ez',
 
        // B
-       'bouton_radio_articles_futurs' => 'geroko artikulueisoilik (ez du aldatzen datu-basea).',
-       'bouton_radio_articles_tous' => 'artikulu guztieisalbuespenik gabe.',
+       'bouton_radio_articles_futurs' => 'geroko artikuluei soilik (ez du aldatzen datu-basea).',
+       'bouton_radio_articles_tous' => 'artikulu guztieisalbuespenik gabe.',
        'bouton_radio_articles_tous_sauf_forum_desactive' => 'artikuluguztiei, desaktibatutako foroan daudenei izan ezik.',
-       'bouton_radio_enregistrement_obligatoire' => 'Izena ematea derrigorrezkoa da (foroanparte hartu ahal izateko, inskripzioa egin behar da posta elektronikoaren helbideaemanez).',
-       'bouton_radio_moderation_priori' => 'Aurretiaz moderatua (ekarpenak agerian egongodira lekuaren administrazio-eskubideak dituen pertsona batek onartu eta gero).', # MODIF
+       'bouton_radio_enregistrement_obligatoire' => 'Izena ematea derrigorrezkoa da (foroan parte hartu ahal izateko, inskripzioa egin behar da posta elektronikoaren helbidea emanez).',
+       'bouton_radio_moderation_priori' => 'Aurretiaz moderatua (ekarpenak agerian egongodira lekuaren administrazio-eskubideak dituen pertsona batek onartu eta gero).',
        'bouton_radio_modere_abonnement' => 'Moderatua (harpidedunentzat soilik)',
-       'bouton_radio_modere_posteriori' => 'gerora moderatua', # MODIF
-       'bouton_radio_modere_priori' => 'aurretiaz moderatua', # MODIF
-       'bouton_radio_publication_immediate' => 'Mezuen bat-batekoargitaratzea (erakarpenak agerian egongo dira igorri bezain laister, gero administraziotikkendu daitezke).',
+       'bouton_radio_modere_posteriori' => 'gerora moderatua',
+       'bouton_radio_modere_priori' => 'aurretiaz moderatua',
+       'bouton_radio_publication_immediate' => 'Mezuen bat-bateko argitaratzea (erakarpenak agerian egongo dira igorri bezain laister, gero administraziotik kendu daitezke).',
 
        // D
        'documents_interdits_forum' => 'Dokumentuak debekatuak dira foroetan',
 
        // E
-       'erreur_enregistrement_message' => 'Votre message n\'a pas pu être enregistré en raison d\'un problème technique', # NEW
+       'erreur_enregistrement_message' => 'Zure mezuaren garbaketak huts egin du, akats tekniko batengatik',
 
        // F
        'form_pet_message_commentaire' => 'Mezurik, azalpenik ?',
        'forum' => 'Foroa',
        'forum_acces_refuse' => 'Dagoeneko ezin zara foro hauetan sartu.',
        'forum_attention_dix_caracteres' => '<b>Adi!</b> zure mezuak hamar karaktere baino gutxiago ditu',
-       'forum_attention_message_non_poste' => 'Attention, vous n\'avez pas posté votre message !', # NEW
-       'forum_attention_nb_caracteres_mini' => '<b>Attention !</b> votre message doit contenir au moins @min@ caractères.', # NEW
+       'forum_attention_message_non_poste' => 'Kontuz, mezua ez duzu igorria !',
+       'forum_attention_nb_caracteres_mini' => '<b>Kontuz !</b> zure mezuak @min@ karaketre bederen eduki behar ditu.',
        'forum_attention_trois_caracteres' => '<b>Adi!</b> zure izenburuak hiru karaktere baino gutxiago ditu.',
-       'forum_attention_trop_caracteres' => '<b>kontuz !</b> zure mezua luzeegi da (@compte@ caractères) : grabatua izateko, ez ditu @max@ karaktero baino gehiago izan behar.', # MODIF
+       'forum_attention_trop_caracteres' => '<b>kontuz !</b> zure mezua luzeegi da (@compte@ caractères) : grabatua izateko, ez ditu @max@ karaktero baino gehiago izan behar.',
        'forum_avez_selectionne' => 'Aukeratu egin duzu:',
        'forum_cliquer_retour' => 'Jarraitzeko hemen klik egin.',
        'forum_forum' => 'foroa',
        'forum_info_modere' => 'Foro hau aurretiaz moderaturik dago : 
-Zure ekarpena gunearen administratzaileak onartu ondoren soilik agerian izango da.', # MODIF
-       'forum_lien_hyper' => 'Hipertestu lotura (aukeratzekoa)', # MODIF
-       'forum_message' => 'Votre message', # NEW
+Zure ekarpena gunearen administratzaileak onartu ondoren soilik agerian izango da.',
+       'forum_lien_hyper' => 'Hiperesteka (aukeratzekoa)',
+       'forum_message' => 'Zure mezua',
        'forum_message_definitif' => 'Behin-betiko mezua : gunera igorri',
-       'forum_message_trop_long' => 'Zure mezua luzeegia da. Gehienez ere 20000 karaktere onartzen dira.', # MODIF
+       'forum_message_trop_long' => 'Zure mezua luzeegia da. 20 000 karaktere gehienez onartzen dira.',
        'forum_ne_repondez_pas' => 'Ez erantzun mezu elektroniko honi, baizik eta hurrengo helbidean dagoen foroan:',
        'forum_page_url' => '(Zure mezua interneten argitaratutako artikulu bati buruzkoa baldin bada, edo informazio gehiago duen orrialde bati buruzkoa, adieraz itzazu jarraian orrialdearen izena bai eta URL helbidea ere).',
-       'forum_permalink' => 'Lien permanent vers le commentaire', # NEW
-       'forum_poste_par' => '« @titre@ » artikuluaren ondotik  @parauteur@-k bidalitako mezua.', # MODIF
-       'forum_poste_par_court' => 'Message posté@parauteur@.', # NEW
-       'forum_poste_par_generique' => 'Message posté@parauteur@ (@objet@ « @titre@ »).', # NEW
-       'forum_qui_etes_vous' => '<b>Nor zara zu?</b> (aukeratzekoa)', # MODIF
-       'forum_saisie_texte_info' => 'Ce formulaire accepte les raccourcis SPIP <code>[-&gt;url] {{gras}} {italique} &lt;quote&gt; &lt;code&gt;</code> et le code HTML <code>&lt;q&gt; &lt;del&gt; &lt;ins&gt;</code>. Pour créer des paragraphes, laissez simplement des lignes vides.', # NEW
-       'forum_texte' => 'Zure mezuaren testua:', # MODIF
-       'forum_titre' => 'Izenburua :', # MODIF
-       'forum_url' => 'URL :', # MODIF
+       'forum_permalink' => 'Iruzkinari lotura iraunkorra',
+       'forum_poste_par' => '« @titre@ » artikuluaren ondotik  @parauteur@-k bidalitako mezua.',
+       'forum_poste_par_court' => 'Mezu igorlea @parauteur@.',
+       'forum_poste_par_generique' => 'Iruzkina igorria @parauteur@ (@objet@ « @titre@ »).',
+       'forum_qui_etes_vous' => '<b>Nor zara ?</b> (aukerazkoa)',
+       'forum_saisie_texte_info' => 'Inprimaki honek Spip lasterbideak onartzen ditu <code>[-&gt;url] {{gizena}} {etzana} &lt;quote&gt; &lt;code&gt; </code> eta HTML kodeak <code>&lt;q&gt; &lt;del&gt; &lt;ins&gt;</code>. Paragrafoak sortzeko, lerro bat hutsik utz.',
+       'forum_texte' => 'Zure mezuaren testua:',
+       'forum_titre' => 'Izenburua',
+       'forum_url' => 'Zure gunea',
        'forum_valider' => 'Aukera hori onartu',
-       'forum_voir_avant' => 'Igorri aurretik mezu hau ikusi', # MODIF
-       'forum_votre_email' => 'Zure posta-elektronikoaren helbidea :', # MODIF
-       'forum_votre_nom' => 'Zure izena (edo goitizena) :', # MODIF
+       'forum_voir_avant' => 'Aurreikusi',
+       'forum_votre_email' => 'Zure helbide elektronikoa',
+       'forum_votre_nom' => 'Zure izena (edo goitizena) :',
        'forum_vous_enregistrer' => 'Aurretik inskribatzea beharrezkoa da foro honetan parte hartzeko.
 Hornitua izan zaizun identifikadore pertsonala jarraian adieraztea eskertuko dizugu.
 Inskribaturik ez bazaude, aurretik inskribatu behar duzu.',
        'forum_vous_inscrire' => 'Aurretik inskriba zaitez.',
 
        // I
-       'icone_bruler_message' => 'Signaler comme Spam', # NEW
-       'icone_bruler_messages' => 'Signaler comme Spam', # NEW
-       'icone_legitimer_message' => 'Signaler comme licite', # NEW
+       'icone_bruler_message' => 'Spam gisa salatu',
+       'icone_bruler_messages' => 'Spam gisa salatu',
+       'icone_legitimer_message' => 'Onargarri gisa seinalatu',
        'icone_poster_message' => 'Mezu bat igorri',
        'icone_suivi_forum' => 'Foro publikoaren gaurkotasuna: @nb_forums@ekarpena(k)',
        'icone_suivi_forums' => 'Foroen gestioa',
        'icone_supprimer_message' => 'Mezu hau kendu',
-       'icone_supprimer_messages' => 'Supprimer ces messages', # NEW
+       'icone_supprimer_messages' => 'Mezu hauek ezabatu',
        'icone_valider_message' => 'Mezu hau onartu',
-       'icone_valider_messages' => 'Valider ces messages', # NEW
-       'icone_valider_repondre_message' => 'Valider & Répondre à ce message', # NEW
-       'info_1_message_forum' => '1 message de forum', # NEW
-       'info_activer_forum_public' => 'Foru publikoak aktibatzeko, aukeratu moderazio erabat', # MODIF
+       'icone_valider_messages' => 'Mezu hauek onartu',
+       'icone_valider_repondre_message' => 'Mezu hau onartu eta erantzun',
+       'info_1_message_forum' => 'Iruzkin bat',
+       'info_activer_forum_public' => 'Foru publikoak aktibatzeko, aukeratu lehenetsitako moderazio erabat',
        'info_appliquer_choix_moderation' => 'Moderazio mota hau ezarri',
-       'info_config_forums_prive' => 'Eremu pribatuan foro mota desberdinak aktibatzen ahal dituzu', # MODIF
+       'info_config_forums_prive' => 'Eremu pribatuan foro mota desberdinak aktibatzen ahal dituzu',
        'info_config_forums_prive_admin' => 'gunearen administratzaileei erreserbatutako foroa :',
        'info_config_forums_prive_global' => 'Foro orokor bat, idazle guziei irekia :',
        'info_config_forums_prive_objets' => 'Foro bat artikulu, berri-labur edo erreferentzitutako gune bakoitzaren azpian :',
-       'info_desactiver_forum_public' => 'Jendaurrekoforoak desaktibatu. Puntualki aktibatuak izan ahalko dira artikuluetarako, baina ezlaburretarako edo ataletarako.',
+       'info_desactiver_forum_public' => 'Foro publikoak desaktibatu. Puntualki aktiba daiteke artikuluendako artikuluetarako, baina ez berri-laburretarako edo ataletarako.',
        'info_envoi_forum' => 'Foroen jarraipena',
        'info_fonctionnement_forum' => 'Foroarenfuntzionamendua',
-       'info_forums_liees_mot' => 'Les messages de forum liés à ce mot', # NEW
-       'info_gauche_suivi_forum_2' => 'Foroak jarraitzeko orrialdea zureguneko kudeaketa-tresna bat da (eta ez eztabaida edo idazketa-eremu bat). Guneko foroetako kontribuzio guztiak bistaratzen ditu, bai gune publikokoak bai eremu pribatukoak eta kontribuzio hauek administratzen uzten dizu.', # MODIF
+       'info_forums_liees_mot' => 'Hitz honi lotutako iruzkinak',
+       'info_gauche_suivi_forum_2' => 'Foroak jarraitzeko orrialdea zureguneko kudeaketa-tresna bat da (eta ez eztabaida edo idazketa-eremu bat). Guneko foroetako kontribuzio guztiak bistaratzen ditu, bai gune publikokoak bai eremu pribatukoak eta kontribuzio hauek administratzen uzten dizu.',
        'info_liens_syndiques_3' => 'foroak',
        'info_liens_syndiques_4' => 'daude',
        'info_liens_syndiques_5' => 'foroa',
        'info_liens_syndiques_6' => 'dago',
        'info_liens_syndiques_7' => 'balidazioaren zain',
-       'info_liens_texte' => 'Lien(s) contenu(s) dans le texte du message', # NEW
-       'info_liens_titre' => 'Lien(s) contenu(s) dans le titre du message', # NEW
+       'info_liens_texte' => 'Iruzkinak edukitako hiperesteka(k)',
+       'info_liens_titre' => 'Iruzkinaren izenburuak edukitako hiperesteka(k)',
        'info_mode_fonctionnement_defaut_forum_public' => 'Foro publikoenfuntzionamendua',
-       'info_nb_messages_forum' => '@nb@ messages de forum', # NEW
+       'info_nb_messages_forum' => '@nb@ iruzkin',
        'info_option_email' => 'Guneko bisitari batek artikulu batekin erlazionatutako mezu berri bat bidaltzen duenean foroan, artikuluaren idazleak mezu honetaz abisatuakizan ahal dira e-mailez. Aukera hau erabili nahi duzu ?',
        'info_pas_de_forum' => 'fororik ez',
-       'info_question_visiteur_ajout_document_forum' => 'Si vous souhaitez autoriser les visiteurs à joindre des documents (images, sons...) à leurs messages de forum, indiquer ci-dessous la liste des extensions de documents autorisés pour les forums (ex: gif, jpg, png, mp3).', # MODIF
-       'info_question_visiteur_ajout_document_forum_format' => 'Le cas échéant, indiquer ci-dessous la liste des extensions de documents autorisés pour les forums (ex: gif, jpg, png, mp3).', # MODIF
-       'info_selectionner_message' => 'Sélectionner les messages :', # NEW
-       'interface_formulaire' => 'Interface formulaire', # NEW
-       'interface_onglets' => 'Interface avec onglets', # NEW
+       'info_question_visiteur_ajout_document_forum' => 'Foroko mezuei dokumentuen eranstea onartzen baduzu (irudi, soinu..), onartutako fitxategi-luzapenak zehaztu itzazu ((ad : gif, jpg, p,png,mp3).',
+       'info_question_visiteur_ajout_document_forum_format' => 'Beharrez, zehaztu izkizu foroetako dokumentu erantsien fitxategi-luzapen onartuak (ad : gif, jpg, png, mp3).',
+       'info_selectionner_message' => 'Mezuak hautatu :',
+       'interface_formulaire' => 'Inprimaki interfazea',
+       'interface_onglets' => 'Fitxekilako interfazea',
        'item_activer_forum_administrateur' => 'Administrazio-taldearen foroa aktibatu.',
        'item_config_forums_prive_global' => 'Idazleen foroa aktibatu',
        'item_config_forums_prive_objets' => 'Foro hauek aktibatu',
@@ -113,29 +113,29 @@ Inskribaturik ez bazaude, aurretik inskribatu behar duzu.',
        'item_non_config_forums_prive_objets' => 'Foro hauek desaktibatu',
 
        // L
-       'label_selectionner' => 'Sélectionner :', # NEW
+       'label_selectionner' => 'Hautatu :',
        'lien_reponse_article' => 'Artikuluari erantzuna',
        'lien_reponse_breve_2' => 'Atalari erantzuna',
-       'lien_reponse_message' => 'Réponse au message', # NEW
+       'lien_reponse_message' => 'Mezuari erantzuna',
        'lien_reponse_rubrique' => 'Atalari erantzuna',
-       'lien_reponse_site_reference' => 'Aipatutako lekuari erantzuna', # MODIF
-       'lien_vider_selection' => 'Vider la selection', # NEW
+       'lien_reponse_site_reference' => 'Aipatutako guneari erantzuna',
+       'lien_vider_selection' => 'Selekzioa hustu',
 
        // M
-       'messages_aucun' => 'Aucun', # NEW
-       'messages_meme_auteur' => 'Tous les messages de cet auteur', # NEW
-       'messages_meme_email' => 'Tous les messages de cet email', # NEW
-       'messages_meme_ip' => 'Tous les messages de cette IP', # NEW
-       'messages_off' => 'Supprimés', # NEW
-       'messages_perso' => 'Personnels', # NEW
-       'messages_privadm' => 'Administrateurs', # NEW
-       'messages_prive' => 'Privés', # NEW
-       'messages_privoff' => 'Supprimés', # NEW
-       'messages_privrac' => 'Généraux', # NEW
-       'messages_prop' => 'Proposés', # NEW
-       'messages_publie' => 'Publiés', # NEW
-       'messages_spam' => 'Spam', # NEW
-       'messages_tous' => 'Tous', # NEW
+       'messages_aucun' => 'Batere',
+       'messages_meme_auteur' => 'Autore honen mezu guztiak',
+       'messages_meme_email' => 'Helbide elektroniko honen mezu guztia',
+       'messages_meme_ip' => 'IP helbide honen mezu guztiak',
+       'messages_off' => 'Kenduak',
+       'messages_perso' => 'Pertsonala',
+       'messages_privadm' => 'Administrazaile',
+       'messages_prive' => 'Pribatuak',
+       'messages_privoff' => 'Ezabatuak',
+       'messages_privrac' => 'Orokorrak',
+       'messages_prop' => 'Proposatuak',
+       'messages_publie' => 'Argitaratuak',
+       'messages_spam' => 'Spam',
+       'messages_tous' => 'Guztiak',
 
        // O
        'onglet_messages_internes' => 'Barne mezuak',
@@ -146,28 +146,28 @@ Inskribaturik ez bazaude, aurretik inskribatu behar duzu.',
        'repondre_message' => 'Mezuari erantzun',
 
        // S
-       'statut_off' => 'Supprimé', # NEW
+       'statut_off' => 'Ezabatua',
        'statut_original' => 'jatorrizkoa',
-       'statut_prop' => 'Proposé', # NEW
-       'statut_publie' => 'Publié', # NEW
-       'statut_spam' => 'Spam', # NEW
+       'statut_prop' => 'Proposatuak',
+       'statut_publie' => 'Argitaratua',
+       'statut_spam' => 'Spam',
 
        // T
        'text_article_propose_publication_forum' => 'Ez beldurtu zure iritzia emateaz. Artikuluari foro bat lotua zaio (orri beherean).',
-       'texte_en_cours_validation' => 'Les articles, brèves, forums ci dessous sont proposés à la publication.', # NEW
+       'texte_en_cours_validation' => 'Artikulu, berri-labur eta iruzkin horiek argitalpenarako proposatuak dira.',
        'texte_en_cours_validation_forum' => 'Ez izan zalantzarik zure iritzia emateko beraiei erantsitako foroei esker.',
-       'texte_messages_publics' => 'Messages publics sur :', # NEW
+       'texte_messages_publics' => 'Mezu publikoak hemen  :',
        'titre_cadre_forum_administrateur' => 'Administrarien foroa',
        'titre_cadre_forum_interne' => 'Barneko foroa',
-       'titre_config_forums_prive' => 'Forums de l’espace privé', # NEW
+       'titre_config_forums_prive' => 'Eremu pribatuko foroak',
        'titre_forum' => 'Barne-foroa',
        'titre_forum_suivi' => 'Foruen kudeaketa',
        'titre_page_forum_suivi' => 'Foruenjarraipena',
-       'titre_selection_action' => 'Sélection', # NEW
-       'tout_voir' => 'Voir tous les messages', # NEW
+       'titre_selection_action' => 'Hautua',
+       'tout_voir' => 'Mezu guztiak ikusi',
 
        // V
-       'voir_messages_objet' => 'voir les messages' # NEW
+       'voir_messages_objet' => 'mezuak ikusi'
 );
 
 ?>
diff --git a/www/plugins-dist/forum/lang/forum_ft_tu.php b/www/plugins-dist/forum/lang/forum_ft_tu.php
deleted file mode 100644 (file)
index ea81ece..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<?php
-// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
-// extrait automatiquement de http://www.spip.net/trad-lang/
-// ** ne pas modifier le fichier **
-
-if (!defined('_ECRIRE_INC_VERSION')) return;
-
-$GLOBALS[$GLOBALS['idx_lang']] = array(
-
-       // A
-       'aucun_message_forum' => 'Aucun message de forum', # NEW
-
-       // B
-       'bouton_radio_articles_futurs' => 'aux articles futurs uniquement (pas d\'action sur la base de données).', # NEW
-       'bouton_radio_articles_tous' => 'à tous les articles sans exception.', # NEW
-       'bouton_radio_articles_tous_sauf_forum_desactive' => 'à tous les articles, sauf ceux dont le forum est désactivé.', # NEW
-       'bouton_radio_enregistrement_obligatoire' => 'Enregistrement obligatoire (les
-               utilisateurs doivent s\'abonner en fournissant leur adresse e-mail avant de
-               pouvoir poster des contributions).', # NEW
-       'bouton_radio_moderation_priori' => 'Modération à priori (les
-       contributions ne s\'affichent publiquement qu\'après validation par les
-       administrateurs).', # NEW
-       'bouton_radio_modere_abonnement' => 'sur abonnement', # NEW
-       'bouton_radio_modere_posteriori' => 'modération à posteriori', # NEW
-       'bouton_radio_modere_priori' => 'modération à priori', # NEW
-       'bouton_radio_publication_immediate' => 'Publication immédiate des messages
-       (les contributions s\'affichent dès leur envoi, les administrateurs peuvent
-       les supprimer ensuite).', # NEW
-
-       // D
-       'documents_interdits_forum' => 'Documents interdits dans le forum',
-
-       // E
-       'erreur_enregistrement_message' => 'Votre message n\'a pas pu être enregistré en raison d\'un problème technique', # NEW
-
-       // F
-       'form_pet_message_commentaire' => 'Un message, un commentaire ?', # NEW
-       'forum' => 'Forum',
-       'forum_acces_refuse' => 'Vous n\'avez plus accès à ces forums.', # NEW
-       'forum_attention_dix_caracteres' => '<b>Attention !</b> votre message doit contenir au moins dix caractères.', # NEW
-       'forum_attention_message_non_poste' => 'Attention, vous n\'avez pas posté votre message !', # NEW
-       'forum_attention_trois_caracteres' => '<b>Attention !</b> votre titre doit contenir au moins trois caractères.', # NEW
-       'forum_attention_trop_caracteres' => '<b>Attention !</b> votre message est trop long (@compte@ caractères) : pour pouvoir être enregistré, il ne doit pas dépasser @max@ caractères.', # NEW
-       'forum_avez_selectionne' => 'Vous avez sélectionné :', # NEW
-       'forum_cliquer_retour' => 'Cliquez <a href=\'@retour_forum@\'>ici</a> pour continuer.', # NEW
-       'forum_forum' => 'forum', # NEW
-       'forum_info_modere' => 'Ce forum est modéré à priori : votre contribution n\'apparaîtra qu\'après avoir été validée par un administrateur du site.', # NEW
-       'forum_lien_hyper' => 'Lien hypertexte', # NEW
-       'forum_message' => 'Votre message', # NEW
-       'forum_message_definitif' => 'Message définitif : envoyer au site', # NEW
-       'forum_message_trop_long' => 'Votre message est trop long. La taille maximale est de 20000 caractères.', # NEW
-       'forum_ne_repondez_pas' => 'Ne répondez pas à ce mail mais sur le forum à l\'adresse suivante :', # NEW
-       'forum_page_url' => '(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d\'informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)', # NEW
-       'forum_permalink' => 'Lien permanent vers le commentaire', # NEW
-       'forum_poste_par' => 'Message posté@parauteur@ à la suite de l\'article « @titre@ ».', # NEW
-       'forum_qui_etes_vous' => 'Qui êtes-vous&nbsp;?', # NEW
-       'forum_saisie_texte_info' => 'Ce formulaire accepte les raccourcis SPIP <code>[-&gt;url] {{gras}} {italique} &lt;quote&gt; &lt;code&gt;</code> et le code HTML <code>&lt;q&gt; &lt;del&gt; &lt;ins&gt;</code>. Pour créer des paragraphes, laissez simplement des lignes vides.', # NEW
-       'forum_texte' => 'Texte de votre message', # NEW
-       'forum_titre' => 'Titre', # NEW
-       'forum_url' => 'Votre site web', # NEW
-       'forum_valider' => 'Valider ce choix', # NEW
-       'forum_voir_avant' => 'Prévisualiser', # NEW
-       'forum_votre_email' => 'Votre adresse email', # NEW
-       'forum_votre_nom' => 'Votre nom', # NEW
-       'forum_vous_enregistrer' => 'Pour participer à
-               ce forum, vous devez vous enregistrer au préalable. Merci
-               d\'indiquer ci-dessous l\'identifiant personnel qui vous a
-               été fourni. Si vous n\'êtes pas enregistré, vous devez', # NEW
-       'forum_vous_inscrire' => 'vous inscrire.', # NEW
-
-       // I
-       'icone_bruler_message' => 'Signaler comme Spam', # NEW
-       'icone_bruler_messages' => 'Signaler comme Spam', # NEW
-       'icone_legitimer_message' => 'Signaler comme licite', # NEW
-       'icone_poster_message' => 'Poster un message', # NEW
-       'icone_suivi_forum' => 'Suivi du forum public : @nb_forums@ contribution(s)', # NEW
-       'icone_suivi_forums' => 'Suivre/gérer les forums', # NEW
-       'icone_supprimer_message' => 'Supprimer ce message', # NEW
-       'icone_supprimer_messages' => 'Supprimer ces messages', # NEW
-       'icone_valider_message' => 'Valider ce message', # NEW
-       'icone_valider_messages' => 'Valider ces messages', # NEW
-       'icone_valider_repondre_message' => 'Valider &amp; Répondre à ce message', # NEW
-       'info_1_message_forum' => '1 message de forum', # NEW
-       'info_activer_forum_public' => 'Pour activer les forums publics, veuillez choisir leur mode
-       de modération par défaut&nbsp;:', # NEW
-       'info_appliquer_choix_moderation' => 'Appliquer ce choix de modération :', # NEW
-       'info_config_forums_prive' => 'Dans l’espace privé du site, vous pouvez activer plusieurs types de forums :', # NEW
-       'info_config_forums_prive_admin' => 'Un forum réservé aux administrateurs du site :', # NEW
-       'info_config_forums_prive_global' => 'Un forum global, ouvert à tous les rédacteurs :', # NEW
-       'info_config_forums_prive_objets' => 'Un forum sous chaque article, brève, site référencé, etc. :', # NEW
-       'info_desactiver_forum_public' => 'Désactiver l\'utilisation des forums
-       publics. Les forums publics pourront être autorisés au cas par cas
-       sur les articles ; ils seront interdits sur les rubriques, brèves, etc.', # NEW
-       'info_envoi_forum' => 'Envoi des forums aux auteurs des articles', # NEW
-       'info_fonctionnement_forum' => 'Fonctionnement du forum :', # NEW
-       'info_forums_liees_mot' => 'Les messages de forum liés à ce mot', # NEW
-       'info_gauche_suivi_forum_2' => 'La page de <i>suivi des forums</i> est un outil de gestion de votre site (et non un espace de discussion ou de rédaction). Elle affiche toutes les contributions des forums du site, aussi bien celles du site public que de l\'espace privé et vous permet de gérer ces contributions.', # NEW
-       'info_liens_syndiques_3' => 'forums', # NEW
-       'info_liens_syndiques_4' => 'sont', # NEW
-       'info_liens_syndiques_5' => 'forum', # NEW
-       'info_liens_syndiques_6' => 'est', # NEW
-       'info_liens_syndiques_7' => 'en attente de validation', # NEW
-       'info_liens_texte' => 'Lien(s) contenu(s) dans le texte du message', # NEW
-       'info_liens_titre' => 'Lien(s) contenu(s) dans le titre du message', # NEW
-       'info_mode_fonctionnement_defaut_forum_public' => 'Mode de fonctionnement par défaut des forums publics', # NEW
-       'info_nb_messages_forum' => '@nb@ messages de forum', # NEW
-       'info_option_email' => 'Lorsqu\'un visiteur du site poste un nouveau message dans le forum associé à un article, les auteurs de l\'article peuvent être prévenus de ce message par e-mail. Indiquer pour chaque type de forum s\'il faut utiliser cette option.', # NEW
-       'info_pas_de_forum' => 'pas de forum', # NEW
-       'info_question_visiteur_ajout_document_forum' => 'Si vous souhaitez autoriser les visiteurs à joindre des documents (images, sons...) à leurs messages de forum, indiquez ci-dessous la liste des extensions de documents autorisés pour les forums (ex: gif, jpg, png, mp3).', # NEW
-       'info_question_visiteur_ajout_document_forum_format' => 'Si vous souhaitez autoriser tous les types de documents considérés comme fiables par SPIP, mettez une étoile. Pour ne rien autoriser, n\'indiquez rien.', # NEW
-       'interface_formulaire' => 'Interface formulaire', # NEW
-       'interface_onglets' => 'Interface avec onglets', # NEW
-       'item_activer_forum_administrateur' => 'Activer le forum des administrateurs', # NEW
-       'item_config_forums_prive_global' => 'Activer le forum des rédacteurs', # NEW
-       'item_config_forums_prive_objets' => 'Activer ces forums', # NEW
-       'item_desactiver_forum_administrateur' => 'Désactiver le forum des administrateurs', # NEW
-       'item_non_config_forums_prive_global' => 'Désactiver le forum des rédacteurs', # NEW
-       'item_non_config_forums_prive_objets' => 'Désactiver ces forums', # NEW
-
-       // L
-       'lien_reponse_article' => 'Réponse à l\'article', # NEW
-       'lien_reponse_breve_2' => 'Réponse à la brève', # NEW
-       'lien_reponse_message' => 'Réponse au message', # NEW
-       'lien_reponse_rubrique' => 'Réponse à la rubrique', # NEW
-       'lien_reponse_site_reference' => 'Réponse au site référencé', # NEW
-
-       // M
-       'messages_aucun' => 'Aucun', # NEW
-       'messages_meme_auteur' => 'Tous les messages de cet auteur', # NEW
-       'messages_meme_email' => 'Tous les messages de cet email', # NEW
-       'messages_meme_ip' => 'Tous les messages de cette IP', # NEW
-       'messages_off' => 'Supprimés', # NEW
-       'messages_perso' => 'Personnels', # NEW
-       'messages_privadm' => 'Administrateurs', # NEW
-       'messages_prive' => 'Privés', # NEW
-       'messages_privoff' => 'Supprimés', # NEW
-       'messages_privrac' => 'Généraux', # NEW
-       'messages_prop' => 'Proposés', # NEW
-       'messages_publie' => 'Publiés', # NEW
-       'messages_spam' => 'Spam', # NEW
-       'messages_tous' => 'Tous', # NEW
-
-       // O
-       'onglet_messages_internes' => 'Messages internes', # NEW
-       'onglet_messages_publics' => 'Messages publics', # NEW
-       'onglet_messages_vide' => 'Messages sans texte', # NEW
-
-       // R
-       'repondre_message' => 'Répondre à ce message',
-
-       // S
-       'statut_off' => 'Supprimé', # NEW
-       'statut_original' => 'original', # NEW
-       'statut_prop' => 'Proposé', # NEW
-       'statut_publie' => 'Publié', # NEW
-       'statut_spam' => 'Spam', # NEW
-
-       // T
-       'text_article_propose_publication_forum' => 'N\'hésitez pas à donner votre avis grâce au forum attaché à cet article (en bas de page).', # NEW
-       'texte_en_cours_validation' => 'Les articles, brèves, forums ci dessous sont proposés à la publication.', # NEW
-       'texte_en_cours_validation_forum' => 'N\'hésitez pas à donner votre avis grâce aux forums qui leur sont attachés.', # NEW
-       'texte_messages_publics' => 'Messages publics sur&nbsp;:', # NEW
-       'titre_cadre_forum_administrateur' => 'Forum privé des administrateurs', # NEW
-       'titre_cadre_forum_interne' => 'Forum interne', # NEW
-       'titre_config_forums_prive' => 'Forums de l’espace privé', # NEW
-       'titre_forum' => 'Forum', # NEW
-       'titre_forum_suivi' => 'Suivi des forums', # NEW
-       'titre_page_forum_suivi' => 'Suivi des forums', # NEW
-       'titre_selection_action' => 'Sélection', # NEW
-       'tout_voir' => 'Voir tous les messages', # NEW
-
-       // V
-       'voir_messages_objet' => 'voir les messages' # NEW
-);
-
-?>
index 0346882..d22b93c 100644 (file)
@@ -13,13 +13,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        // B
        'bouton_radio_articles_futurs' => 'только для новых материалов (текущие настройки не изменятся).',
        'bouton_radio_articles_tous' => 'для всех статей без исключения.',
-       'bouton_radio_articles_tous_sauf_forum_desactive' => 'длÑ\8f Ð²Ñ\81еÑ\85 Ñ\81Ñ\82аÑ\82ей, ÐºÑ\80оме Ñ\82еÑ\85, Ð² ÐºÐ¾Ñ\82оÑ\80Ñ\8bÑ\85 ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82иÑ\80ование Ð¾Ñ\82клÑ\8eÑ\87ено.',
+       'bouton_radio_articles_tous_sauf_forum_desactive' => 'длÑ\8f Ð²Ñ\81еÑ\85 Ñ\81Ñ\82аÑ\82ей, ÐºÑ\80оме Ñ\82еÑ\85, Ð² ÐºÐ¾Ñ\82оÑ\80Ñ\8bÑ\85 ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ии Ð¾Ñ\82клÑ\8eÑ\87енÑ\8b.',
        'bouton_radio_enregistrement_obligatoire' => 'Только для зарегистрированных пользователей. Посетитель должен зарегистрироваться перед тем как оставить комментарий.',
        'bouton_radio_moderation_priori' => 'Комментарии публикуются на сайте после проверки администратором (пре-модерация).',
        'bouton_radio_modere_abonnement' => 'только пользователи сайта',
        'bouton_radio_modere_posteriori' => 'размещать без проверки',
        'bouton_radio_modere_priori' => 'проверять перед размещением',
-       'bouton_radio_publication_immediate' => 'Новые комментарии сразу публикуются на сайте без проверки (пост-модерация). Администраторы потом могут удалить комментарии.',
+       'bouton_radio_publication_immediate' => 'Новые комментарии публикуются на сайте без предварительной проверки (пост-модерация). Администраторы  могут удалить комментарии позже.',
 
        // D
        'documents_interdits_forum' => 'Запрещенно добавлять документы к сообщениям форума',
@@ -30,7 +30,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        // F
        'form_pet_message_commentaire' => 'Комментарии',
        'forum' => 'Форум',
-       'forum_acces_refuse' => 'Ð\92Ñ\8b Ð±Ð¾Ð»Ñ\8cÑ\88е Ð½Ðµ Ð¸Ð¼ÐµÐµÑ\82е Ð´Ð¾Ñ\81Ñ\82Ñ\83па Ðº Ñ\8dÑ\82им форумам.',
+       'forum_acces_refuse' => 'У Ð²Ð°Ñ\81 Ð±Ð¾Ð»Ñ\8cÑ\88е Ð½ÐµÑ\82 Ð´Ð¾Ñ\81Ñ\82Ñ\83па Ðº Ð´Ð°Ð½Ð½Ñ\8bм форумам.',
        'forum_attention_dix_caracteres' => '<b>Внимание!</b> Сообщение должно быть не менее десяти символов.',
        'forum_attention_message_non_poste' => 'Внимание, ваш комментарий не опубликован на сайте.',
        'forum_attention_nb_caracteres_mini' => '<b>Внимание !</b> текст сообщения должен содержать не меньше @min@ символов.',
@@ -39,7 +39,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'forum_avez_selectionne' => 'Вы выбрали:',
        'forum_cliquer_retour' => 'Нажмите  <a href=\'@retour_forum@\'>сюда</a> для продолжения.',
        'forum_forum' => 'комментарий',
-       'forum_info_modere' => 'Ð\9aомменÑ\82аÑ\80ий Ð¿Ñ\80овеÑ\80Ñ\8fеÑ\82Ñ\81Ñ\8f Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\86ией Ñ\81айÑ\82а. Ð\92аÑ\88е Ñ\81ообÑ\89ение Ð¿Ð¾Ñ\8fвиÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ñ\81ле Ð¿Ñ\80овеÑ\80ки администратором.',
+       'forum_info_modere' => 'Ð\92Ñ\81е ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ии Ð¿Ñ\80овеÑ\80Ñ\8fÑ\8eÑ\82Ñ\81Ñ\8f Ð°Ð´Ð¼Ð¸Ð½Ð¸Ñ\81Ñ\82Ñ\80аÑ\86ией Ñ\81айÑ\82а. Ð\92аÑ\88е Ñ\81ообÑ\89ение Ð±Ñ\83деÑ\82 Ð¾Ð¿Ñ\83бликовано Ð¿Ð¾Ñ\81ле Ð¾Ð´Ð¾Ð±Ñ\80ениÑ\8f администратором.',
        'forum_lien_hyper' => 'Ссылка',
        'forum_message' => 'Ваше сообщение',
        'forum_message_definitif' => 'Всё верно. Отправить!',
@@ -47,9 +47,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'forum_ne_repondez_pas' => 'Не отвечайте на это письмо - перейдите по ссылке:',
        'forum_page_url' => '(Если ваше сообщение относится к материалу, размещенному в Интернете, укажите название этой статьи  и ссылку на нее).',
        'forum_permalink' => 'Постоянная ссылка',
-       'forum_poste_par' => '@parauteur@ прокомментировал вашу статью.', # MODIF
-       'forum_poste_par_court' => 'Message posté@parauteur@.', # NEW
-       'forum_poste_par_generique' => 'Message posté@parauteur@ (@objet@ « @titre@ »).', # NEW
+       'forum_poste_par' => '@parauteur@ прокомментировал вашу статью « @titre@ ».',
+       'forum_poste_par_court' => 'Комментарий разместил @parauteur@.',
+       'forum_poste_par_generique' => 'Комментарий разместил @parauteur@ (@objet@ « @titre@ »).',
        'forum_qui_etes_vous' => 'Кто вы?',
        'forum_saisie_texte_info' => 'Вы можете использовать следующую разметку текста <code>[->ссылка] {{жирный}} {курсив} <quote> <code></code> и теги HTML <code><q> <del> <ins></code>. Что бы создать новый абзац два раза нажмите enter.',
        'forum_texte' => 'Комментарий:',
index daff220..b9f1720 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="forum"
        categorie="communication"
-       version="1.8.21"
+       version="1.8.24"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/forum-32.png"
@@ -15,7 +15,7 @@
 
        <traduire module="forum" reference="fr" gestionnaire="salvatore" />
 
-       <pipeline nom="forum_objets_depuis_env" />
+       <pipeline nom="forum_objets_depuis_env" action="" />
        <pipeline nom="declarer_tables_objets_sql" inclure="base/forum.php" />
        <pipeline nom="declarer_tables_interfaces" inclure="base/forum.php" />
        <pipeline nom="autoriser" inclure="forum_autoriser.php" />
index b316db0..2be0595 100644 (file)
@@ -33,7 +33,7 @@
 ]
 
 <script type="text/javascript">/*<![CDATA[*/
-[(#INCLURE{prive/javascript/actiongroup.js}|minifier{js})]
+[(#INCLURE{prive/javascript/actiongroup.js}|appliquer_filtre{minifier_js, true})]
 function reinit(){actiongroup.activate(jQuery("ul.liste-items.forums >.item.forum:not(.statut_prive,.statut_privadm,.statut_privrac,.statut_privoff)",this));}
 jQuery(reinit);
 onAjaxLoad(reinit);
index 1cf3e63..78897ec 100644 (file)
     #cboxContent{background:#fff;}\r
         #cboxLoadedContent{margin:0 0 58px;}\r
         #cboxTitle{position:absolute; bottom:28px; left:0; text-align:left; width:100%; color:#000; font-weight:bold;font-size:0.9em;}\r
-        #cboxCurrent{position:absolute; bottom:0px; left:0px; color:#666666;font-size:0.85em;}\r
-        #cboxPrevious{position:absolute; bottom:0; left:40px; background:url(images/controls.png) 0px 0px no-repeat; width:13px; height:13px; text-indent:-9999px;}\r
+        #cboxCurrent{position:absolute; bottom:0px; left:0px; color:#666666;font-size:0.85em;width:65px; text-align:center;}\r
+        #cboxPrevious{position:absolute; bottom:0; left:70px; background:url(images/controls.png) 0px 0px no-repeat; width:13px; height:13px; text-indent:-9999px;}\r
         #cboxPrevious.hover{background-position:0px -13px;}\r
-        #cboxNext{position:absolute; bottom:0; left:60px; background:url(images/controls.png) -13px 0px no-repeat; width:13px; height:13px; text-indent:-9999px;}\r
+        #cboxNext{position:absolute; bottom:0; left:90px; background:url(images/controls.png) -13px 0px no-repeat; width:13px; height:13px; text-indent:-9999px;}\r
         #cboxNext.hover{background-position:-13px -13px;}\r
-        #cboxSlideshow{position:absolute; bottom:0px; left:80px; color:#666666;font-size:0.85em;}\r
+        #cboxSlideshow{position:absolute; bottom:0px; left:110px; color:#666666;font-size:0.85em;}\r
         #cboxLoadingOverlay{background:#fff;}\r
         #cboxLoadingGraphic{background:url(images/loading.gif) center center no-repeat;}\r
         #cboxClose{position:absolute; bottom:20px; right:0; background:url(images/close.gif) 0px 0px no-repeat; width:26px; height:26px; text-indent:-9999px;}\r
@@ -52,4 +52,4 @@
     \r
     !! Important Note: AlphaImageLoader src paths are relative to the HTML document,\r
     while regular CSS background images are relative to the CSS document.\r
-*/
\ No newline at end of file
+*/\r
index edf927c..737f8fa 100644 (file)
@@ -8,9 +8,9 @@
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/mediabox?lang_cible=en">
-               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
+               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/mediabox?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
@@ -22,8 +22,8 @@
        </langue>
        <langue code="fr" />
        <langue code="it" url="http://trad.spip.net/tradlang_module/mediabox?lang_cible=it">
-               <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
+               <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
        </langue>
        <langue code="lb" url="http://trad.spip.net/tradlang_module/mediabox?lang_cible=lb">
                <traducteur nom="jwander" lien="http://trad.spip.net/auteur/jwander" />
@@ -32,9 +32,9 @@
                <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="ru" url="http://trad.spip.net/tradlang_module/mediabox?lang_cible=ru">
-               <traducteur nom="Serge Markitanenko" lien="http://trad.spip.net/auteur/serge-markitanenko" />
-               <traducteur nom="nazar" lien="http://trad.spip.net/auteur/nazar" />
                <traducteur nom="Matthieu Marcillaud" lien="http://trad.spip.net/auteur/matthieu-marcillaud" />
+               <traducteur nom="nazar" lien="http://trad.spip.net/auteur/nazar" />
+               <traducteur nom="Serge Markitanenko" lien="http://trad.spip.net/auteur/serge-markitanenko" />
        </langue>
        <langue code="sk" url="http://trad.spip.net/tradlang_module/mediabox?lang_cible=sk">
                <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
index 6bc9875..db36c0b 100644 (file)
@@ -16,8 +16,8 @@
        </langue>
        <langue code="fr" />
        <langue code="it" url="http://trad.spip.net/tradlang_module/paquet-mediabox?lang_cible=it">
-               <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+               <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
        </langue>
        <langue code="lb" url="http://trad.spip.net/tradlang_module/paquet-mediabox?lang_cible=lb">
                <traducteur nom="jwander" lien="http://trad.spip.net/auteur/jwander" />
index dd75391..089ec7a 100644 (file)
@@ -147,6 +147,7 @@ $tables_documents = array(
                        'sxc' => 'OpenOffice.org Calc',\r
                        'sxi' => 'OpenOffice.org Impress',\r
                        'sxw' => 'OpenOffice.org',\r
+                       'tar' => 'Tar',\r
                        'tex' => 'LaTeX',\r
                        'tgz' => 'TGZ',\r
                        'torrent' => 'BitTorrent',\r
@@ -329,6 +330,7 @@ $tables_mime = array(
                'sxc' => 'application/vnd.sun.xml.calc',\r
                'sxi' => 'application/vnd.sun.xml.impress',\r
                'sxw' => 'application/vnd.sun.xml.writer',\r
+               'tar' => 'application/x-tar',\r
                'tex' => 'text/x-tex',\r
                'tgz' => 'application/x-gtar',\r
                'torrent' => 'application/x-bittorrent',\r
@@ -393,7 +395,8 @@ $tables_mime = array(
                'audio/x-musepack' => 'audio/musepack',\r
                'audio/webm' => 'video/webm',\r
                'video/flv' => 'video/x-flv',\r
-               'video/mp4' => 'application/mp4'\r
+               'video/mp4' => 'application/mp4',\r
+               'image/jpg' => 'image/jpeg'\r
        );\r
 \r
 ?>\r
index ab2e60e..589521b 100644 (file)
@@ -33,31 +33,23 @@ function formulaires_joindre_document_charger_dist($id_document='new',$id_objet=
        $valeurs['_mode'] = $mode;\r
        \r
        $valeurs['url'] = 'http://';\r
-       $valeurs['fichier_upload'] = '';\r
-       \r
-       $valeurs['_options_upload_ftp'] = '';\r
-       $valeurs['_dir_upload_ftp'] = '';\r
-       \r
-       $valeurs['joindre_upload']=''; \r
-       $valeurs['joindre_distant']=''; \r
-       $valeurs['joindre_ftp']='';\r
-       $valeurs['joindre_mediatheque']='';\r
+       $valeurs['fichier_upload'] = $valeurs['_options_upload_ftp'] = $valeurs['_dir_upload_ftp'] = ''; \r
+       $valeurs['joindre_upload'] = $valeurs['joindre_distant'] = $valeurs['joindre_ftp'] = $valeurs['joindre_mediatheque'] = '';\r
 \r
        $valeurs['editable'] = ' ';\r
-       if (intval($id_document)){\r
+       if (intval($id_document))\r
                $valeurs['editable'] = autoriser('modifier','document',$id_document)?' ':'';\r
-       }\r
        \r
        $valeurs['proposer_media'] = is_string($proposer_media) ? (preg_match('/^(false|non|no)$/i', $proposer_media) ? false : true) : $proposer_media;\r
        $valeurs['proposer_ftp'] = is_string($proposer_ftp) ? (preg_match('/^(false|non|no)$/i', $proposer_ftp) ? false : true) : $proposer_ftp;\r
-       \r
+\r
        # regarder si un choix d'upload FTP est vraiment possible\r
        if (\r
-        $valeurs['proposer_ftp']\r
-        AND test_espace_prive() # ??\r
-        AND ($mode == 'document' OR $mode == 'choix') # si c'est pour un document\r
-        //AND !$vignette_de_doc                # pas pour une vignette (NB: la ligne precedente suffit, mais si on la supprime il faut conserver ce test-ci)\r
-        AND $GLOBALS['flag_upload']\r
+               $valeurs['proposer_ftp']\r
+               AND test_espace_prive() # ??\r
+               AND ($mode != 'image') AND ($mode != 'vignette') # si c'est pour un document\r
+               //AND !$vignette_de_doc         # pas pour une vignette (NB: la ligne precedente suffit, mais si on la supprime il faut conserver ce test-ci)\r
+               AND $GLOBALS['flag_upload']\r
         ) {\r
                include_spip('inc/documents');\r
                if ($dir = determine_upload('documents')) {\r
@@ -105,9 +97,8 @@ function formulaires_joindre_document_verifier_dist($id_document='new',$id_objet
        // sinon c'est un upload\r
        else {\r
                $files = joindre_trouver_fichier_envoye();\r
-               if (is_string($files)){\r
+               if (is_string($files))\r
                        $erreurs['message_erreur'] = $files;\r
-               }\r
                elseif(is_array($files)){\r
                        // erreur si on a pas trouve de fichier\r
                        if (!count($files))\r
@@ -128,8 +119,8 @@ function formulaires_joindre_document_verifier_dist($id_document='new',$id_objet
                                // si ce n'est pas deja un post de zip confirme\r
                                // regarder si il faut lister le contenu du zip et le presenter\r
                                if (!count($erreurs)\r
-                                AND !_request('joindre_zip')\r
-                                AND $contenu_zip = joindre_verifier_zip($files)){\r
+                                       AND !_request('joindre_zip')\r
+                                       AND $contenu_zip = joindre_verifier_zip($files)){\r
                                        list($fichiers,$erreurs,$tmp_zip) = $contenu_zip;\r
                                        if ($fichiers)\r
                                                $erreurs['lister_contenu_archive'] = recuperer_fond("formulaires/inc-lister_archive_jointe",array('chemin_zip'=>$tmp_zip,'liste_fichiers_zip'=>$fichiers,'erreurs_fichier_zip'=>$erreurs));\r
@@ -146,7 +137,6 @@ function formulaires_joindre_document_verifier_dist($id_document='new',$id_objet
        return $erreurs;\r
 }\r
 \r
-\r
 function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=0,$objet='',$mode = 'auto',$galerie = false, $proposer_media=true, $proposer_ftp=true){\r
        $res = array('editable'=>true);\r
        $ancre = '';\r
@@ -198,9 +188,8 @@ function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=
                        if (!is_numeric($doc))\r
                                $messages_erreur[] = $doc;\r
                        // cas qui devrait etre traite en amont\r
-                       elseif(!$doc){\r
+                       elseif(!$doc)\r
                                $messages_erreur[] = _T('medias:erreur_insertion_document_base',array('fichier'=>'<em>???</em>'));\r
-                       }\r
                        else{\r
                                if (!$ancre)\r
                                        $ancre = $doc;\r
@@ -209,9 +198,8 @@ function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=
                }\r
                if (count($messages_erreur))\r
                        $res['message_erreur'] = implode('<br />',$messages_erreur);\r
-               if ($sel){\r
+               if ($sel)\r
                        $res['message_ok'] = singulier_ou_pluriel(count($sel),'medias:document_installe_succes','medias:nb_documents_installe_succes');\r
-               }\r
                if ($ancre)\r
                        $res['redirect'] = "#doc$ancre";\r
        }\r
@@ -234,8 +222,6 @@ function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=
        return $res;\r
 }\r
 \r
-\r
-\r
 /**\r
  * Retourner le contenu du select HTML d'utilisation de fichiers envoyes\r
  *\r
@@ -245,14 +231,12 @@ function formulaires_joindre_document_traiter_dist($id_document='new',$id_objet=
  */\r
 function joindre_options_upload_ftp($dir, $mode = 'document') {\r
        $fichiers = preg_files($dir);\r
-       $exts = array();\r
-       $dirs = array(); \r
-       $texte_upload = array();\r
+       $exts = $dirs = $texte_upload = array();\r
 \r
        // en mode "charger une image", ne proposer que les inclus\r
-       $inclus = ($mode == 'document' OR $mode =='choix')\r
-               ? ''\r
-               : " AND inclus='image'";\r
+       $inclus = ($mode == 'image' OR $mode =='vignette')\r
+               ? " AND inclus='image'"\r
+               : '';\r
 \r
        foreach ($fichiers as $f) {\r
                $f = preg_replace(",^$dir,",'',$f);\r
@@ -269,24 +253,24 @@ function joindre_options_upload_ftp($dir, $mode = 'document') {
                        $k = 2*substr_count($f,'/');\r
                        $n = strrpos($f, "/");\r
                        if ($n === false)\r
-                         $lefichier = $f;\r
+                               $lefichier = $f;\r
                        else {\r
-                         $lefichier = substr($f, $n+1, strlen($f));\r
-                         $ledossier = substr($f, 0, $n);\r
-                         if (!in_array($ledossier, $dirs)) {\r
-                               $texte_upload[] = "\n<option value=\"$ledossier\">"\r
-                               . str_repeat("&nbsp;",$k) \r
-                               ._T('medias:tout_dossier_upload', array('upload' => $ledossier))\r
-                               ."</option>";\r
-                               $dirs[]= $ledossier;\r
-                         }\r
+                               $lefichier = substr($f, $n+1, strlen($f));\r
+                               $ledossier = substr($f, 0, $n);\r
+                               if (!in_array($ledossier, $dirs)) {\r
+                                       $texte_upload[] = "\n<option value=\"$ledossier\">"\r
+                                       . str_repeat("&nbsp;",$k) \r
+                                       ._T('medias:tout_dossier_upload', array('upload' => $ledossier))\r
+                                       ."</option>";\r
+                                       $dirs[]= $ledossier;\r
+                               }\r
                        }\r
 \r
                        if ($exts[$ext] == 'oui')\r
-                         $texte_upload[] = "\n<option value=\"$f\">" .\r
-                           str_repeat("&nbsp;",$k+2) .\r
-                           $lefichier .\r
-                           "</option>";\r
+                               $texte_upload[] = "\n<option value=\"$f\">" .\r
+                                       str_repeat("&nbsp;",$k+2) .\r
+                               $lefichier .\r
+                               "</option>";\r
                }\r
        }\r
 \r
@@ -300,7 +284,6 @@ function joindre_options_upload_ftp($dir, $mode = 'document') {
        return $texte;\r
 }\r
 \r
-\r
 /**\r
  * Lister les fichiers contenus dans un zip\r
  *\r
@@ -323,17 +306,14 @@ function joindre_liste_contenu_tailles_archive($files) {
        return $res;\r
 }\r
 \r
-\r
 function joindre_liste_erreurs_to_li($erreurs){\r
        if (count($erreurs)==1)\r
                return "<p>".reset($erreurs)."</p>";\r
 \r
-\r
        $res = implode("</li><li>",$erreurs);\r
        if (strlen($res)) $res = "<li>$res</li></ul>";\r
-       if (count($erreurs)>4){\r
+       if (count($erreurs)>4)\r
                $res = "<p style='cursor:pointer;' onclick='jQuery(this).siblings(\"ul\").toggle();return false;'>"._T("medias:erreurs_voir",array('nb'=>count($erreurs)))."</p><ul class=\"spip none-js\">".$res."</ul>";\r
-       }\r
        else\r
                $res = "<ul class=\"spip\">$res</ul>";\r
        return $res;\r
index d84fc25..8039788 100644 (file)
@@ -16,7 +16,6 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 include_once _DIR_RESTREINT . "inc/documents.php";
 
 include_spip('inc/actions'); // *action_auteur et determine_upload
-include_spip('inc/date');
 
 // Constante indiquant le charset probable des documents non utf-8 joints
 
index ad091aa..f85e072 100644 (file)
@@ -113,8 +113,8 @@ function medias_upgrade($nom_meta_base_version,$version_cible){
        );
 
        $maj['1.1.0'] = array(
-               array('sql_alter',"TABLE spip_documents_liens ADD id_objet (id_objet)"),
-               array('sql_alter',"TABLE spip_documents_liens ADD objet (objet)"),
+               array('sql_alter',"TABLE spip_documents_liens ADD INDEX id_objet (id_objet)"),
+               array('sql_alter',"TABLE spip_documents_liens ADD INDEX objet (objet)"),
        );
        $maj['1.1.1'] = array(
                array('creer_base_types_doc'),
@@ -137,7 +137,11 @@ function medias_upgrade($nom_meta_base_version,$version_cible){
                array('sql_alter',"TABLE spip_documents CHANGE credits credits varchar(255) DEFAULT '' NOT NULL"),
                array('sql_alter',"TABLE spip_documents CHANGE statut statut varchar(10) DEFAULT '0' NOT NULL"),
        );
-
+       $maj['1.2.4'] = array(
+               // ajout de tar
+               array('creer_base_types_doc')
+       );
+       
        include_spip('base/upgrade');
        include_spip('base/medias');
        maj_plugin($nom_meta_base_version, $version_cible, $maj);
index 33f2e32..0b2138a 100644 (file)
@@ -1,11 +1,11 @@
 <paquet
        prefix="medias"
        categorie="multimedia"
-       version="2.7.43"
+       version="2.7.45"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/portfolio-32.png"
-       schema="1.2.3"
+       schema="1.2.4"
 >
 
        <nom>Medias</nom>
index b8e5369..9cb50f2 100644 (file)
@@ -16,7 +16,7 @@
        #MODELE{document_desc,id_document,id_objet,objet}
 </BOUCLE_illustrations>
 [(#TOTAL_BOUCLE|>{20}|oui)<p class="pagination">#PAGINATION</p>]
-[(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/image,#SELF|ancre_url{illustrations}},'ajax tout_supprimer'})]
+[(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/image,#SELF|ancre_url{illustrations}},'ajax tout_supprimer',<:ecrire:lien_tout_supprimer:> ?})]
 </div>
 #SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_illustrations>
@@ -30,7 +30,7 @@
        #MODELE{document_desc,id_document,id_objet,objet}
 </BOUCLE_portfolio>
 [(#TOTAL_BOUCLE|>{20}|oui)<p class="pagination">#PAGINATION</p>]
-[(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/document,#SELF|ancre_url{portfolio}},'ajax tout_supprimer'})]
+[(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-I/document,#SELF|ancre_url{portfolio}},'ajax tout_supprimer',<:ecrire:lien_tout_supprimer:> ?})]
 </div>
 #SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_portfolio>
@@ -44,7 +44,7 @@
        #MODELE{document_desc,id_document,id_objet,objet}
 </BOUCLE_documents>
 [(#TOTAL_BOUCLE|>{20}|oui)<p class="pagination">#PAGINATION</p>]
-[(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-D/document,#SELF|ancre_url{documents}},'ajax tout_supprimer'})]
+[(#BOUTON_ACTION{<:medias:lien_tout_enlever:>,#URL_ACTION_AUTEUR{dissocier_document,#ID_OBJET-#OBJET-D/document,#SELF|ancre_url{documents}},'ajax tout_supprimer',<:ecrire:lien_tout_supprimer:> ?})]
 </div>
 #SET{nbdocs,#GET{nbdocs}|plus{#GRAND_TOTAL}}
 </B_documents>
index 471733c..b04d346 100644 (file)
@@ -110,10 +110,8 @@ function mots_declarer_tables_objets_sql($tables){
 
        $tables['spip_groupes_mots'] = array(
                'table_objet_surnoms' => array('groupemot','groupe_mots' /*hum*/,'groupe_mot' /* hum*/,'groupe' /*hum (EXPOSE)*/),
-
                'type'=>'groupe_mots',
-         'type_surnoms' => array('groupes_mot','groupemot','groupe_mot'),
-
+           'type_surnoms' => array('groupes_mot','groupemot','groupe_mot'),
                'texte_retour' => 'icone_retour',
                'texte_objets' => 'mots:titre_groupes_mots',
                'texte_objet' => 'mots:titre_groupe_mots',
index 02124b2..51f0a6d 100644 (file)
@@ -20,9 +20,9 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/mots?lang_cible=en">
+               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" />
@@ -34,7 +34,9 @@
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
        </langue>
        <langue code="fon" />
-       <langue code="fr" />
+       <langue code="fr" url="http://trad.spip.net/tradlang_module/mots?lang_cible=fr">
+               <traducteur nom="Salvatore" lien="http://trad.spip.net/auteur/salvatore" />
+       </langue>
        <langue code="fr_tu" />
        <langue code="gl" />
        <langue code="hu" />
@@ -50,8 +52,8 @@
        </langue>
        <langue code="my" />
        <langue code="nl" url="http://trad.spip.net/tradlang_module/mots?lang_cible=nl">
-               <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
                <traducteur nom="gerbrand" lien="http://trad.spip.net/auteur/gerbrand" />
+               <traducteur nom="mpossoz" lien="http://trad.spip.net/auteur/mpossoz" />
        </langue>
        <langue code="oc_auv" />
        <langue code="oc_gsc" />
index 8059e39..60a0f60 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>مجموعة مهمة:</b> ينصح بالحاح اختيار مفتاح من هذه المجموعة.',
-       'avis_doublon_mot_cle' => 'هناك مفتاح موجود بهذا الاسم. هل انت متأكد من استخدام الاسم نفسه؟',
+       'avis_doublon_mot_cle' => 'هناك مفتاح موجود بهذا الاسم. هل انت متأكد من استخدام الاسم نفسه؟', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'مدراء الموقع',
index 080ffd2..c795281 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Grupu importante:</b> s\'encamienta fonderamente escoyer una pallabra-clave pa esti grupu.',
-       'avis_doublon_mot_cle' => 'Yá esiste una pallabra con esti títulu. ¿Tas seguru de que quies crear la mesma?',
+       'avis_doublon_mot_cle' => 'Yá esiste una pallabra con esti títulu. ¿Tas seguru de que quies crear la mesma?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'los y les alministradores del sitiu',
index 8c566e7..69eeb84 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Grup important :</b> és molt aconssellable seleccionar una contrasenya a aquest grup. ',
-       'avis_doublon_mot_cle' => 'Ja hi ha una paraula amb aquest títol. Esteu segurs de voler crear la mateixa?',
+       'avis_doublon_mot_cle' => 'Ja hi ha una paraula amb aquest títol. Esteu segurs de voler crear la mateixa?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'els administradors del lloc',
index aeadfa9..0302f7b 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Wichtige Kategorie:</b> Bitte wählen Sie ein Schlüsselwort dieser Gruppe.',
-       'avis_doublon_mot_cle' => 'Ein Schlagwort mit dieser Bezeichung gibt es bereits. Wollen sie es wirklich erneut anlegen?',
+       'avis_doublon_mot_cle' => 'Ein Schlagwort mit dieser Bezeichung gibt es bereits. Wollen sie es wirklich erneut anlegen?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'Administratoren der Website',
index 1a9ef2e..e6a1032 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Important group:</b> it is strongly advised to select a keyword in this group.',
-       'avis_doublon_mot_cle' => 'A keyword with this title already exists. Are you sure you want to create another?',
+       'avis_doublon_mot_cle' => 'A keyword with this title already exists. Are you sure you want to create another?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'site administrators',
index b801de8..ffcdb48 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Grupo importante:</b> Se aconseja fuertemente seleccionar una palabra clave de este grupo.',
-       'avis_doublon_mot_cle' => 'Ya existe una palabra con ese título. ¿Estás seguro que quieres crear otra con el mismo?',
+       'avis_doublon_mot_cle' => 'Ya existe una palabra con ese título. ¿Estás seguro que quieres crear otra con el mismo?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'los administradores y administradoras del sitio',
index ae496a3..b99e106 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>گروه مهم :</b>توصيه ميشود كه يك كليد-واژه در اين گروه انتخاب كنيد ',
-       'avis_doublon_mot_cle' => 'يك كلمه با اين تيتر وجود دارد. آيا اطمينان داريد كه مي‌خواهيد همان را ايجاد كنيد?',
+       'avis_doublon_mot_cle' => 'يك كلمه با اين تيتر وجود دارد. آيا اطمينان داريد كه مي‌خواهيد همان را ايجاد كنيد?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'گردانندگان سايت',
index 1f2a78d..01614ff 100644 (file)
@@ -7,7 +7,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Groupe important :</b> il est fortement conseillé de sélectionner un mot-clé dans ce groupe.',
-       'avis_doublon_mot_cle' => 'Un mot existe deja avec ce titre. Êtes vous sûr de vouloir créer le même ?',
+       'avis_doublon_mot_cle' => 'Un mot existe déjà avec ce titre. Êtes vous sûr de vouloir créer le même ?',
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'les administrateurs du site',
index 155e695..0822108 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Groupe important :</b> il est fortement conseillé de sélectionner un mot-clé dans ce groupe.',
-       'avis_doublon_mot_cle' => 'Un mot existe déjà avec ce titre. Es-tu sûr de vouloir créer le même ?',
+       'avis_doublon_mot_cle' => 'Un mot existe déjà avec ce titre. Es-tu sûr de vouloir créer le même ?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'les administrateurs du site',
index c3d7d8b..fb1a61d 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Grupo importante:</b>é moi aconsellable seleccionar unha palabra chave neste grupo.',
-       'avis_doublon_mot_cle' => 'Xa existe unha palabra con ese título. Está seguro de que quere crear o mesmo?',
+       'avis_doublon_mot_cle' => 'Xa existe unha palabra con ese título. Está seguro de que quere crear o mesmo?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'o equipo de xestión do web',
index 45a1aad..73f1825 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Gruppo importante:</b> è consigliato selezionare una parola chiave in questo gruppo.',
-       'avis_doublon_mot_cle' => 'Una parola esiste già con questo titolo. Sei sicuro di volerne creare una uguale?',
+       'avis_doublon_mot_cle' => 'Una parola esiste già con questo titolo. Sei sicuro di volerne creare una uguale?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'gli amministratori del sito',
index e79a2fa..725a777 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Wichtege Grupp:</b> et ass wierklech ubruecht e Schlësselwuert aus dësem Grupp ze wielen.',
-       'avis_doublon_mot_cle' => 'Et gëtt schon e Schlësselwuert mat deem Titel. Sidd dir sécher dat dir de selwechten wëllt bäiflécken?',
+       'avis_doublon_mot_cle' => 'Et gëtt schon e Schlësselwuert mat deem Titel. Sidd dir sécher dat dir de selwechten wëllt bäiflécken?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'd\'Administrateure vum Site',
index 25f3a87..d481b65 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Belangrijke groep:</b> het is erg aan te bevelen een trefwoord uit deze groep te kiezen.',
-       'avis_doublon_mot_cle' => 'Een woord bestaat al met deze titel. Ben je zeker dat je wilt dezelfde te maken ?',
+       'avis_doublon_mot_cle' => 'Een woord bestaat al met deze titel. Ben je zeker dat je wilt dezelfde te maken ?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'beheerders van de site',
index 403510e..0e2479d 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Grupo importante:</b> é fortemente aconselhável selecionar uma palavra-chave deste grupo.',
-       'avis_doublon_mot_cle' => 'Já existe uma palavra com esse título. Você quer realmente criá-la assim mesmo?',
+       'avis_doublon_mot_cle' => 'Já existe uma palavra com esse título. Você quer realmente criá-la assim mesmo?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'os administradores do site',
index 0c9ef13..f6f6e51 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Выделить группу:</b> данная группа будет визуально более заметной. Удобно использовать для обозначения важных групп ключей.',
-       'avis_doublon_mot_cle' => 'Ключ с таким название уже существует. Вы уверенны, что хотите создать новый?',
+       'avis_doublon_mot_cle' => 'Ключ с таким название уже существует. Вы уверенны, что хотите создать новый?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'Администраторы',
index e24abf5..b6ae563 100644 (file)
@@ -9,7 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'avis_conseil_selection_mot_cle' => '<b>Dôležitá skupina:</b> Veľmi sa odporúča vybrať kľúčové slovo z tejto skupiny.',
-       'avis_doublon_mot_cle' => 'Kľúčové slovo s týmto názvom už existuje. Naozaj chcete vytvoriť ďalšie?',
+       'avis_doublon_mot_cle' => 'Kľúčové slovo s týmto názvom už existuje. Naozaj chcete vytvoriť ďalšie?', # MODIF
 
        // B
        'bouton_checkbox_qui_attribue_mot_cle_administrateurs' => 'administrátori stránky',
index 0f41acc..34e80b5 100644 (file)
@@ -64,8 +64,8 @@ function mots_upgrade($nom_meta_base_version,$version_cible){
                array('sql_updateq',"spip_mots_liens",array('objet'=>'site'),"objet='syndic'"),
        );
        $maj['2.1.0'] = array(
-               array('sql_alter',"TABLE spip_mots_liens ADD id_objet (id_objet)"),
-               array('sql_alter',"TABLE spip_mots_liens ADD objet (objet)"),
+               array('sql_alter',"TABLE spip_mots_liens ADD INDEX id_objet (id_objet)"),
+               array('sql_alter',"TABLE spip_mots_liens ADD INDEX objet (objet)"),
        );
        $maj['2.1.1'] = array(
                array('sql_alter',"TABLE spip_mots ADD INDEX id_groupe (id_groupe)")
@@ -92,4 +92,4 @@ function mots_vider_tables($nom_meta_base_version) {
        effacer_meta($nom_meta_base_version);
 }
 
-?>
\ No newline at end of file
+?>
index 10d5153..2ba301a 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="mots"
        categorie="edition"
-       version="2.4.9"
+       version="2.4.10"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/mot-32.png"
@@ -15,7 +15,7 @@
 
        <traduire module="mots" reference="fr" gestionnaire="salvatore" />
 
-       <pipeline nom="mots_indexation" />
+       <pipeline nom="mots_indexation" action="" />
        <pipeline nom="autoriser" inclure="mots_autoriser.php" />
        <pipeline nom="declarer_tables_auxiliaires" inclure="base/mots.php" />
        <pipeline nom="declarer_tables_interfaces" inclure="base/mots.php" />
index 0bdcba6..e330a82 100644 (file)
@@ -6,8 +6,8 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/msiecompat?lang_cible=en">
-               <traducteur nom="Mark" lien="http://trad.spip.net/auteur/mark" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Mark" lien="http://trad.spip.net/auteur/mark" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/msiecompat?lang_cible=es">
                <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
index 15d0e67..6e74f03 100644 (file)
@@ -44,6 +44,9 @@ function autoriser_message_modifier_dist($faire, $type='', $id=0, $qui = NULL, $
 }
 
 function autoriser_message_instituer_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
+       // rediriger vers la bonne autorisation en cas de suppression
+       if ($opt['statut'] == 'poub')
+               return autoriser('supprimer','message',$id,$qui,$opt);
        return autoriser('modifier','message',$id,$qui,$opt);
 }
 
@@ -78,10 +81,11 @@ function autoriser_message_dater_dist($faire, $type='', $id=0, $qui = NULL, $opt
        return false;
 }
 
-// par defaut, autorisation commune a tous les type de message
-// peut etre surchargee en fonction de $type (pb,affich,normal)
 function autoriser_envoyermessage_dist($faire, $type='', $id=0, $qui = NULL, $opt = NULL){
-       if(!($GLOBALS['meta']['messagerie_agenda'] == 'oui') OR !intval($qui['id_auteur']))
+       if (!($GLOBALS['meta']['messagerie_agenda'] == 'oui') OR !intval($qui['id_auteur']))
+               return false;
+       // on peut envoyer une annonce si on est admin
+       if (!($qui['statut']=='0minirezo') AND $type=='affich')
                return false;
        return true;
 }
index 8cb4fae..4d9cae0 100644 (file)
@@ -22,10 +22,13 @@ function critere_MESSAGES_destinataire_dist($idb, &$boucles, $crit) {
        $boucle->from_type['auteurs_liens'] = 'LEFT';
        $where =
                array("'OR'",
-                       array(
-                               "'AND'",
-                               array("'='","'auteurs_liens.id_auteur'","intval($_auteur)"),
-                               array("'!='","'auteurs_liens.vu'","'\'poub\''"),
+                       array("'AND'",
+                               array("'!='","'".$boucle->id_table.".id_auteur'","intval($_auteur)"),
+                               array(
+                                       "'AND'",
+                                       array("'='","'auteurs_liens.id_auteur'","intval($_auteur)"),
+                                       array("'!='","'auteurs_liens.vu'","'\'poub\''"),
+                               ),
                        ),
                        array("'OR'",
                                array("'='","'".$boucle->id_table.".type'","sql_quote('affich')"),
index f86dca0..b5c12c9 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="organiseur"
        categorie="date"
-       version="0.8.8"
+       version="0.8.10"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/calendrier-32.png"
index e83ffab..1b37d3e 100644 (file)
@@ -6,12 +6,14 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/petitions?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Benitron" lien="http://trad.spip.net/auteur/benitron" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/petitions?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
+               <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
        </langue>
        <langue code="fa" url="http://trad.spip.net/tradlang_module/petitions?lang_cible=fa">
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
index 07e486c..9d36021 100644 (file)
@@ -86,6 +86,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'signatures_prop' => 'قيد الانتظار',
        'signatures_publie' => 'مصدقة',
        'signatures_recherche_label' => 'بحث عن التوقيعات:',
+       'signatures_selection' => 'تحديد التواقيع:',
        'signatures_toutes' => 'الكل',
        'statut_poubelle' => 'محذوف',
        'statut_prop' => 'بانتظار التصديق',
index b727f3a..e1c4962 100644 (file)
@@ -84,6 +84,7 @@ Vielen Dank für Ihre Teilnahme
        'signatures_prop' => 'In der Warteschlange',
        'signatures_publie' => 'Bestätigt',
        'signatures_recherche_label' => 'Unterzeichner suchen:',
+       'signatures_selection' => 'Sélectionner les signatures :', # NEW
        'signatures_toutes' => 'Alle',
        'statut_poubelle' => 'Gelöscht',
        'statut_prop' => 'Warten auf Freischaltung',
index 6039a1e..a3727a7 100644 (file)
@@ -18,7 +18,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'bouton_checkbox_signature_unique_site' => 'only one signature per website',
 
        // F
-       'filtre' => 'Filter :',
+       'filtre' => 'Filter:',
        'form_pet_adresse_site' => 'URL of your site',
        'form_pet_aucune_signature' => 'No signature matching this code...',
        'form_pet_confirmation' => 'Please confirm your signature:',
@@ -84,6 +84,7 @@ Thank you for participating!
        'signatures_prop' => 'Waiting',
        'signatures_publie' => 'Confirmed',
        'signatures_recherche_label' => 'Search for signatures:',
+       'signatures_selection' => 'Select the signatures:',
        'signatures_toutes' => 'All',
        'statut_poubelle' => 'Deleted',
        'statut_prop' => 'Awaiting validation',
index e14ec26..7a522bb 100644 (file)
@@ -87,6 +87,7 @@ Gracias por tu participación
        'signatures_prop' => 'En espera',
        'signatures_publie' => 'Confirmados',
        'signatures_recherche_label' => 'Buscar firmas:',
+       'signatures_selection' => 'Seleccionar las firmas:',
        'signatures_toutes' => 'Tiodas',
        'statut_poubelle' => 'Suprimir',
        'statut_prop' => 'En espera de validación',
index 4fbecf7..eb4d898 100644 (file)
@@ -80,6 +80,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'signatures_prop' => 'در انتظار',
        'signatures_publie' => 'تأييد شده‌ها',
        'signatures_recherche_label' => 'جستجوي امضاها:',
+       'signatures_selection' => 'Sélectionner les signatures :', # NEW
        'signatures_toutes' => 'همه',
        'statut_poubelle' => 'به سبدباطله',
        'statut_prop' => 'در انتظار تأييد',
index 4171679..c7a23fd 100644 (file)
@@ -84,6 +84,7 @@ Merci de votre participation
        'signatures_prop' => 'En attente',
        'signatures_publie' => 'Confirmées',
        'signatures_recherche_label' => 'Rechercher des signatures :',
+       'signatures_selection' => 'Sélectionner les signatures :',
        'signatures_toutes' => 'Toutes',
        'statut_poubelle' => 'Supprimée',
        'statut_prop' => 'En attente de validation',
index 90beb88..855cebf 100644 (file)
@@ -84,6 +84,7 @@ Grazie per la partecipazione',
        'signatures_prop' => 'Attendere',
        'signatures_publie' => 'Confermata',
        'signatures_recherche_label' => 'Ricercare per adesione:',
+       'signatures_selection' => 'Sélectionner les signatures :', # NEW
        'signatures_toutes' => 'Tutte',
        'statut_poubelle' => 'Cancellata',
        'statut_prop' => 'Aspettando la validazione',
index 900558e..6c08fb7 100644 (file)
@@ -85,6 +85,7 @@ Bedankt voor je deelname
        'signatures_prop' => 'In afwachting',
        'signatures_publie' => 'Bevestigde',
        'signatures_recherche_label' => 'Handtekeningen opzoeken:',
+       'signatures_selection' => 'Sélectionner les signatures :', # NEW
        'signatures_toutes' => 'Alles',
        'statut_poubelle' => 'Uitgewist',
        'statut_prop' => 'In afwachting van bevestiging',
index 7b000dd..cd6107c 100644 (file)
@@ -83,6 +83,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'signatures_prop' => 'Ожидают',
        'signatures_publie' => 'Подтвержденные',
        'signatures_recherche_label' => 'Найти подпись :',
+       'signatures_selection' => 'Выбор подписи :',
        'signatures_toutes' => 'Все',
        'statut_poubelle' => 'Удаленные',
        'statut_prop' => 'Ожидают подтверждения',
index bcefa89..2eac496 100644 (file)
@@ -84,6 +84,7 @@ uvedenú nižšie (v opačnom prípade bude vaša
        'signatures_prop' => 'Čakajúce',
        'signatures_publie' => 'Potvrdené',
        'signatures_recherche_label' => 'Vyhľadať podpisy:',
+       'signatures_selection' => 'Sélectionner les signatures :', # NEW
        'signatures_toutes' => 'Všetky',
        'statut_poubelle' => 'Vymazaný',
        'statut_prop' => 'Čaká na potvrdenie',
index 5a13d63..ae6ef67 100644 (file)
@@ -5,7 +5,7 @@
 <div class='cartouche'>
        <h3 class='titre'>
                <span class='info_statut'>[(#CHEMIN_IMAGE{[signature-statut-(#GET{statut})-24.png]}|balise_img|inserer_attribut{alt,#VAL{petitions:statut_}|concat{#GET{statut}}|_T})]</span>
-               <a href='#signature#ID_SIGNATURE' title='[<:info_numero_abbreviation|attribut_html:> (#ID_SIGNATURE)]'>[(#NOM_EMAIL|sinon{<:petitions:sans_nom:>})]</a>
+               <a href='[(#GET{self}|parametre_url{debut_signatures,@#ID_SIGNATURE}|ancre_url{signature#ID_SIGNATURE})]' title='[<:info_numero_abbreviation|attribut_html:> (#ID_SIGNATURE)]'>[(#NOM_EMAIL|sinon{<:petitions:sans_nom:>})]</a>
                [(<a href='#URL_SITE'>(#NOM_SITE|sinon{#URL_SITE}|couper{80})</a>)]
        </h3>
 
index 1720f1d..267abdf 100644 (file)
@@ -9,7 +9,7 @@
                </p>
                <p>
                <p>
-               Sélectionner les signatures:<br />
+               <:petitions:signatures_selection:><br />
                <a href="#" class="shortcut selectall" onclick="actiongroup.selectAll();return false;"><:petitions:signatures_toutes:></a> |
                <a href="#" class="shortcut unselectall" onclick="actiongroup.unselectAll();return false;"><:petitions:signatures_aucune:></a> |
                <a href="#" class="shortcut selectprop" onclick="actiongroup.selectAll($('li.statut_prop'));return false;"><:petitions:signatures_prop:></a>
@@ -29,7 +29,7 @@
 
 
        <script type="text/javascript">/*<!\[CDATA\[*/
-       [(#INCLURE{prive/javascript/actiongroup.js}|minifier{js})]
+       [(#INCLURE{prive/javascript/actiongroup.js}|appliquer_filtre{minifier_js, true})]
        function reinit(){actiongroup.activate(jQuery("ul.liste-items.signatures >.item.signature",this));}
        jQuery(reinit);
        onAjaxLoad(reinit);
index d4bacdc..a87b884 100644 (file)
@@ -11,7 +11,7 @@
                                <label><:revisions:label_config_revisions_objets:></label>
                                [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{objets_versions})</span>]
                                #SET{name,objets_versions}
-                               <BOUCLE_objets(POUR){tableau #REM|lister_tables_objets_sql}>[(#VALEUR{editable}|et{#VALEUR{champs_versionnes}})
+                               <BOUCLE_objets(POUR){tableau #REM|lister_tables_objets_sql}>[(#VALEUR*|test_objet_versionable)
                                #SET{id,#GET{name}|replace{\W,'_'}|concat{'_',#CLE}}
                                <div class="choix choix_#CLE">
                                        <input type="checkbox"  id="#GET{id}" name="#GET{name}\[\]" value="#CLE"[(#CLE|in_any{#ENV{#GET{name}}})checked="checked"] />
index d374c21..588f26d 100644 (file)
@@ -31,4 +31,20 @@ function formulaires_configurer_revisions_objets_traiter_dist(){
        return array('message_ok'=>_T('config_info_enregistree'));
 }
 
+function test_objet_versionable($desc){
+       if (!$desc['editable']
+               OR !isset($desc['champs_versionnes'])
+               OR !count($desc['champs_versionnes'])
+       )
+               return '';
+
+       // regarder si il y a un vrai champ versionne, pas seulement une jointure
+       foreach ($desc['champs_versionnes'] as $c){
+               if (strncmp($c,'jointure_',9)!=0)
+                       return ' ';
+       }
+
+
+       return '';
+}
 ?>
\ No newline at end of file
index f1293d7..8d2a3d3 100644 (file)
@@ -28,12 +28,12 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 function revisions_boite_infos($flux){
        $type = $flux['args']['type'];
        if ($id = intval($flux['args']['id'])
-         AND $tables = unserialize($GLOBALS['meta']['objets_versions'])
+               AND $tables = unserialize($GLOBALS['meta']['objets_versions'])
                AND in_array(table_objet_sql($type),$tables)
-         AND autoriser('voirrevisions',$type,$id)
-         // regarder le numero de revision le plus eleve, et afficher le bouton
-         // si c'est interessant (id_version>1)
-         AND sql_countsel('spip_versions', 'id_objet='.intval($id).' AND objet = '.sql_quote($type)) > 1
+               AND autoriser('voirrevisions',$type,$id)
+               // regarder le numero de revision le plus eleve, et afficher le bouton
+               // si c'est interessant (id_version>1)
+               AND sql_countsel('spip_versions', 'id_objet='.intval($id).' AND objet = '.sql_quote($type)) > 1
        ) {
                include_spip('inc/presentation');
                $flux['data'] .= icone_horizontale(_T('revisions:info_historique_lien'), generer_url_ecrire('revision',"id_objet=$id&objet=$type"), "revision-24.png");
@@ -54,7 +54,7 @@ function revisions_boite_infos($flux){
 function revisions_affiche_milieu($flux) {
        // la bonne page et des objets révisables cochées !
        if (in_array($flux['args']['exec'], array('accueil', 'suivi_edito'))
-         and unserialize($GLOBALS['meta']['objets_versions'])) {
+               AND unserialize($GLOBALS['meta']['objets_versions'])) {
                $contexte = array();
                if ($GLOBALS['visiteur_session']['statut']!=='0minirezo') {
                        $contexte['id_auteur'] = $GLOBALS['visiteur_session']['id_auteur'];
@@ -80,7 +80,6 @@ function revisions_configurer_liste_metas($metas){
        return $metas;
 }
 
-
 /**
  * Charge les données d'une révision donnée dans le formulaire d'édition d'un objet
  * 
@@ -89,13 +88,13 @@ function revisions_configurer_liste_metas($metas){
  */
 function revisions_formulaire_charger($flux){
        if (strncmp($flux['args']['form'],'editer_',7)==0
-         AND $id_version = _request('id_version')
-         AND $objet = substr($flux['args']['form'],7)
-         AND $id_table_objet = id_table_objet($objet)
-         AND isset($flux['data'][$id_table_objet])
+               AND $id_version = _request('id_version')
+               AND $objet = substr($flux['args']['form'],7)
+               AND $id_table_objet = id_table_objet($objet)
+               AND isset($flux['data'][$id_table_objet])
                AND $id = intval($flux['data'][$id_table_objet])
-         AND !$flux['args']['je_suis_poste']){
-               // ajouter un message convival pour indiquer qu'on a restaure la version
+               AND !$flux['args']['je_suis_poste']){
+               // ajouter un message convivial pour indiquer qu'on a restaure la version
                $flux['data']['message_ok'] = _T('revisions:icone_restaurer_version',array('version'=>$id_version));
                $flux['data']['message_ok'] .= "<br />"._T('revisions:message_valider_recuperer_version');
                // recuperer la version
@@ -103,9 +102,8 @@ function revisions_formulaire_charger($flux){
                $champs = recuperer_version($id,$objet, $id_version);
                foreach($champs as $champ=>$valeur){
                        if (!strncmp($champ,'jointure_',9)==0){
-                               if ($champ=='id_rubrique'){
+                               if ($champ=='id_rubrique')
                                        $flux['data']['id_parent'] = $valeur;
-                               }
                                else
                                        $flux['data'][$champ] = $valeur;
                        }
@@ -114,8 +112,6 @@ function revisions_formulaire_charger($flux){
        return $flux;
 }
 
-
-
 /**
  * Sur une insertion en base, lever un flag pour ne pas creer une premiere révision vide
  * dans pre_edition mais attendre la post_edition pour cela
@@ -126,7 +122,7 @@ function revisions_formulaire_charger($flux){
 function revisions_post_insertion($x){
        $table = $x['args']['table'];
        include_spip('inc/revisions');
-       if  ($champs = liste_champs_versionnes($table)) {
+       if($champs = liste_champs_versionnes($table)) {
                $GLOBALS['premiere_revision']["$table:".$x['args']['id_objet']] = true;
        }
        return $x;
@@ -143,7 +139,7 @@ function revisions_post_insertion($x){
 function revisions_pre_edition($x) {
        // ne rien faire quand on passe ici en controle md5
        if (!isset($x['args']['action'])
-         OR $x['args']['action']!=='controler'){
+               OR $x['args']['action']!=='controler'){
                $table = $x['args']['table'];
                include_spip('inc/revisions');
                // si flag leve passer son chemin, post_edition le fera (mais baisser le flag en le gardant en memoire tout de meme)
@@ -225,7 +221,6 @@ function revisions_post_edition($x) {
                                ajouter_version($x['args']['id_objet'],$objet, $champs, '', $GLOBALS['visiteur_session']['id_auteur']);
                }
        }
-
        return $x;
 }
 
index 2bb909b..8717552 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="revisions"
        categorie="edition"
-       version="1.7.2"
+       version="1.7.5"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/revision-32.png"
@@ -29,6 +29,7 @@
        <pipeline nom="declarer_tables_auxiliaires" inclure="base/revisions.php" />
        <pipeline nom="declarer_tables_objets_sql"  inclure="base/revisions.php" />
        <pipeline nom="ieconfig_metas"              inclure="revisions_ieconfig.php" />
+       <pipeline nom="revisions_chercher_label"        action="" />
 
        <menu nom="revisions" titre="revisions:info_historique_titre" parent="menu_publication" icone="images/revision-16.png" />
        <menu nom="configurer_revisions" titre="revisions:titre_revisions" parent="menu_configuration" icone="images/revision-16.png" />
index 8d74cbb..6750eb7 100644 (file)
@@ -1,6 +1,6 @@
 <BOUCLE_champs(POUR){tableau #ENV*{textes}}>
        <div class="champ[(#CLE|match{^jointure_}|oui)jointure] contenu_#CLE[ (#VALEUR*|strlen|?{'',vide})]">
-               <div class='label'>[(#CLE|label_champ)]</div>
+               <div class='label'>[(#CLE|label_champ{#ENV{objet}})]</div>
                <div dir='#LANG_DIR' class='#CLE'>[(#VALEUR*|propre_diff)]</div>
        </div>
 </BOUCLE_champs>
index e7b1eaf..9f7a860 100644 (file)
@@ -2,7 +2,21 @@
 
 if (!defined('_ECRIRE_INC_VERSION')) return;
 
-function label_champ($champ){
+/**
+ * Trouver le label d'un champ de révision
+ * 
+ * Quelques champs ont un label dans dans les chaînes de langue de SPIP
+ * Pour un champ particulier d'un objet particulier, le pipeline revisions_chercher_label
+ * peut être utilisé
+ * 
+ * @param string $champ
+ *             Le nom du champ révisionné
+ * @param string $objet
+ *             Le type d'objet révisionné
+ * @return string $label
+ *             Le label du champ
+ */
+function label_champ($champ,$objet=false){
        $label = "";
        // si jointure: renvoyer le nom des objets joints
        if (strncmp($champ,'jointure_',9)==0)
@@ -24,7 +38,7 @@ function label_champ($champ){
                case 'chapo':
                        $champ = "chapeau";
                default:
-                       $label = "info_$champ";
+                       $label = pipeline('revisions_chercher_label',array('args'=>array('champ'=>$champ,'objet'=>$objet),'data' => 'info_'.$champ));
                        break;
        }
        return $label?_T($label):"";
index 2f66d9b..d295720 100644 (file)
@@ -4,31 +4,33 @@ if (
 [(#ID_AUTEUR|securiser_acces{#ENV{cle},rss,#ENV{op}, #ENV{args}}|?{1,0})]
 </BOUCLE0>
 ) {
-?>
-
+?><?xml version="1.0"[ encoding="(#CHARSET)"]?>
+<rss version="2.0" [(#REM) rss 2.0.9)]
+       xmlns:dc="http://purl.org/dc/elements/1.1/"
+       xmlns:content="http://purl.org/rss/1.0/modules/content/"
+>
 
 <channel xml:lang="[(#LANG|texte_backend)]">
        <title>[&#91;(#NOM_SITE_SPIP|texte_backend)&#93;] RSS (<:icone_suivi_revisions|texte_backend:>)</title>
        <link>[(#URL_ECRIRE{revisions, [id_secteur=(#ENV{id_secteur})&][id_auteur=(#ENV{id_auteur})&][lang_choisie=(#ENV{lang})]}|url_absolue|texte_backend)]</link>
        <description></description>
        <language>[(#LANG|texte_backend)]</language>
-<BOUCLE_RSS(VERSIONS spip_articles)
+<BOUCLE_RSS(VERSIONS auteurs)
        {id_version >1}
-       {statut?}
        {!par date}
        {0,10}
-       {lang==^#EVAL{"$_REQUEST['lang']"}|sinon{.*}}
        {id_secteur ?}
        {id_auteur ?}>
        <item>
-               <title>[(#TITRE|texte_backend)]</title>
-               <link>[(#URL_ECRIRE{articles_versions, id_article=#ID_ARTICLE&id_version=#ID_VERSION}|url_absolue|texte_backend)]</link>
-               <guid isPermaLink="true">[(#URL_ECRIRE{articles_versions, id_article=#ID_ARTICLE&id_version=#ID_VERSION}|url_absolue|texte_backend)]</guid>
+               <title>[(#INFO_TITRE{#OBJET,#ID_OBJET}|texte_backend)] / #OBJET #ID_OBJET / <:version:> #ID_VERSION</title>
+               <link>[(#URL_ECRIRE{revision}|parametre_url{id_objet,#ID_OBJET}|parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION}|url_absolue|texte_backend)]</link>
+               <guid isPermaLink="true">[(#URL_ECRIRE{revision}|parametre_url{id_objet,#ID_OBJET}|parametre_url{objet,#OBJET}|parametre_url{id_version,#ID_VERSION}|url_absolue|texte_backend)]</guid>
                <dc:date>[(#_RSS:DATE|date_iso)]</dc:date>
                <dc:format>text/html</dc:format>
                [<dc:language>(#LANG|texte_backend)</dc:language>]
                <dc:creator>[(#NOM|texte_backend)][ &lt;(#EMAIL|texte_backend)&gt;]</dc:creator>
-               <description><BOUCLE00(AUTEURS){id_auteur=#ENV{id}}{lang_select}>[(#ID_ARTICLE|revisions_diff{'article',#ID_VERSION}|texte_backend)]</BOUCLE00></description>
+               <description><BOUCLE00(AUTEURS){id_auteur=#ENV{id}}{lang_select}>[(#ID_OBJET|revisions_diff{#OBJET,#ID_VERSION}|texte_backend)]</BOUCLE00></description>
        </item></BOUCLE_RSS>
 </channel>
+</rss>
 <?php } ?></B0>
index 3d02b77..1bb3c4d 100644 (file)
@@ -6,4 +6,7 @@
                <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
        </langue>
        <langue code="fr" />
+       <langue code="ru" url="http://trad.spip.net/tradlang_module/paquet-safehtml?lang_cible=ru">
+               <traducteur nom="Serge Markitanenko" lien="http://trad.spip.net/auteur/serge-markitanenko" />
+       </langue>
 </traduction>
diff --git a/www/plugins-dist/safehtml/lang/paquet-safehtml_ru.php b/www/plugins-dist/safehtml/lang/paquet-safehtml_ru.php
new file mode 100644 (file)
index 0000000..661239e
--- /dev/null
@@ -0,0 +1,15 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-safehtml?lang_cible=ru
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // S
+       'safehtml_description' => 'Защищает форму комментариев от межсайтового скриптинга (XSS)',
+       'safehtml_slogan' => 'Защищает форму комментариев от межсайтового скриптинга (XSS)'
+);
+
+?>
diff --git a/www/plugins-dist/sites/inc/feedfinder.php b/www/plugins-dist/sites/inc/feedfinder.php
new file mode 100644 (file)
index 0000000..46f3b2f
--- /dev/null
@@ -0,0 +1,227 @@
+<?php
+/**
+ * adaptation en php de feedfinder.py :
+ *
+ * """Ultra-liberal feed finder, de Mark Pilgrim
+ * <http://diveintomark.org/projects/feed_finder/>
+ * Par: courcy.michael@wanadoo.fr
+ *
+ * adaptation en php, je ne reprends qu'une partie de cette algorithme
+ *
+ * 0) A chaque etape on verifie si les feed indiques sont reellement des feeds
+ * 1) Si l'uri passe est un feed on retourne le resultat tout simplement
+ * 2) Si le header de la page contient des balises LINK qui renvoient vers des feed on les retourne
+ * 3) on cherche les liens <a> qui se termine par  ".rss", ".rdf", ".xml", ou ".atom"
+ * 4) on cherche les liens <a> contenant "rss", "rdf", "xml", ou "atom"
+ *
+ * j'integre pas l'interrogation  avec xml_rpc de syndic8, mais on peut le faire assez facilement
+ * dans la phase de test sur differentes url je n'ai constate aucune diffrerence entre les reponses 
+ * donnees par feedfinder.py et les miennes donc je ne suis pas sur de voir l'interet
+ *
+ * Je ne me preoccupe pas comme l'auteur de savoir si mes liens de feed sont sur le meme serveur ou pas
+ *
+ * exemple d'utilisation
+ * 
+ * print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
+ * 
+ * on obtient
+ * 
+ * Array
+ * (
+ *   [0] => http://willy.boerland.com/myblog/atom/feed
+ *   [1] => http://willy.boerland.com/myblog/blogapi/rsd
+ *   [2] => http://willy.boerland.com/myblog/rss.xml
+ *   [3] => http://willy.boerland.com/myblog/node/feed
+ * )
+ */
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$verif_complete = 0; //mettez le a 1 si vous voulez controler la validite des feed trouves mais le temps d'execution
+                     //est alors plus long
+
+/**
+ * une fonction qui permet de si un lien est un feed ou nom, 
+ * si c'est un feed elle retourne son type, si c'est pas un feed elle retourne 0, 
+ * cette verification est évidemment très très légère
+ * 
+ * @param string $url
+ *             URL à analyser
+ * @return string|0 
+ *             Retourne son type (rss|atom|rdf) ou 0 si pas feed
+ */
+function is_feed($url){
+
+       /**
+        * méthode SPIP
+        */
+       if (function_exists('recuperer_page')) {
+               $buffer = recuperer_page($url);
+               if (preg_match("/<(\w*) .*/", $buffer, $matches)){
+                       //ici on detecte la premiere balise
+                       $type_feed = $matches[1];
+                       switch ($type_feed) {
+                               case "rss": return "rss";
+                               case "feed": return "atom";
+                               case "rdf": return "rdf";
+                       }
+               }
+               return '';
+       }
+
+       $fp = @fopen($url, "r");
+       if (!$fp )
+               return 0;
+       //verifion la nature de ce fichier
+       while (!feof($fp)) {
+               $buffer = fgets($fp, 4096);
+               if (preg_match("/<(\w*) .*/", $buffer, $matches)){
+                       //ici on detecte la premiere balise
+                       $type_feed = $matches[1];
+                       switch ($type_feed) {
+                               case "rss": fclose($fp); return "rss";
+                               case "feed": fclose($fp); return "atom";
+                               case "rdf": fclose($fp); return "rdf";
+                               default : fclose($fp); return 0;
+                       }
+               }
+       }
+}
+
+/*****************test is_feed******************************
+echo is_feed("http://contrib.spip.net/spip.php?page=backend" _EXTENSIO_PHP") . "<br />"; //retourne rss
+echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
+echo is_feed("http://liberation.fr/rss.php") . "<br />"; //retourne rss
+echo is_feed("http://willy.boerland.com/myblog/atom/feed") //retourne atom
+echo is_feed("http://spip.net/") . "<br />"; //retoune 0
+************************************************************/
+
+/**
+ * fonction sans finesse mais efficace
+ * on parcourt ligne par ligne a la recherche de balise <a> ou <link>
+ * si dans le corps de celle-ci on trouve les mots rss, xml, atom ou rdf
+ * alors on recupere la valeur href='<url>', on adapte celle-ci si elle
+ * est relative et on verifie que c'est bien un feed si oui on l'ajoute
+ * au tableau des feed si on ne trouve rien ou si aucun feed est trouve on retourne 
+ * un tableau vide
+ * 
+ * @param string $url
+ *             L'URL à analyser
+ * @param $buffer
+ * @return array $feed_list
+ *             Le tableau des feed trouvés dans la page
+ */
+function get_feed_from_url($url, $buffer=false){
+       global $verif_complete;
+       //j'ai prevenu ce sera pas fin
+       if (!preg_match("/^http:\/\/.*/", $url)) $url = "http://www." . $url;
+       if (!$buffer) $buffer = @file_get_contents($url);
+
+       $feed_list = array();
+       //extraction des <link>
+       if (preg_match_all("/<link [^>]*>/i", $buffer, $matches)){
+               //y a t-y rss atom rdf ou xml dans ces balises
+               foreach($matches[0] as $link){
+                       if ((strpos($link, "rss")
+                               || strpos($link, "rdf")
+                               || strpos($link, "atom")
+                               || strpos($link, "xml"))
+                               && !strpos($link,'opensearch')){
+                               //voila un candidat on va extraire sa partie href et la placer dans notre tableau
+                               if (preg_match("/href=['|\"]?([^\s'\"]*)['|\"]?/",$link,$matches2)){
+                                       //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
+                                       if (!preg_match("/^http:\/\/.*/", $matches2[1])){
+                                               $matches2[1] = concat_url($url,$matches2[1]);
+                                       }
+                                       if($verif_complete){
+                                               if (is_feed($matches2[1])) $feed_list[] = $matches2[1];
+                       }
+                       else
+                               $feed_list[] = $matches2[1];
+                               }
+                       }
+               }
+       }
+       //extraction des <a>
+       if (preg_match_all("/<a [^>]*>/i", $buffer, $matches)){
+               //y a t-y rss atom rdf ou xml dans ces balises
+               foreach($matches[0] as $link){
+                       if ((strpos($link, "rss")
+                               || strpos($link, "rdf")
+                               || strpos($link, "atom")
+                               || strpos($link, "xml"))
+                               && !strpos($link,'opensearch')){
+                               //voila un candidat on va extraire sa partie href et la placer dans notre tableau
+                               if (preg_match("/href=['|\"]?([^\s'\"]*)['|\"]?/",$link,$matches2)){
+                                       //on aura pris soin de verifier si ce lien est relatif d'en faire un absolu
+                                       if (!preg_match("/^http:\/\/.*/", $matches2[1])){
+                                               $matches2[1] = concat_url($url,$matches2[1]);
+                                       }
+                                       if($verif_complete){
+                                               if (is_feed($matches2[1])) $feed_list[] = $matches2[1];
+                                       }
+                                       else
+                                               $feed_list[] = $matches2[1];
+                               }
+                       }
+               }
+       }
+       return $feed_list;
+}
+/************************************ getFeed ****************************
+print_r (get_feed_from_url("contrib.spip.net"));
+print_r (get_feed_from_url("http://liberation.fr/"));
+print_r (get_feed_from_url("cnn.com"));
+print_r (get_feed_from_url("http://willy.boerland.com/myblog/"));
+*****************************    Resultat *****************************************
+Array
+(
+    [0] => http://www.spip-contrib.net/backend.php
+)
+Array
+(
+    [0] => http://www.liberation.fr/rss.php
+)
+Array
+(
+    [0] => http://rss.cnn.com/rss/cnn_topstories.rss
+    [1] => http://rss.cnn.com/rss/cnn_latest.rss
+    [2] => http://www.cnn.com/services/rss/
+    [3] => http://www.cnn.com/services/rss/
+    [4] => http://www.cnn.com/services/rss/
+)
+Array
+(
+    [0] => http://willy.boerland.com/myblog/atom/feed
+    [1] => http://willy.boerland.com/myblog/blogapi/rsd
+    [2] => http://willy.boerland.com/myblog/rss.xml
+    [3] => http://willy.boerland.com/myblog/node/feed
+)
+************************************************************************/
+
+/**
+ * petite fonction qui prend en charge les problèmes de double slash
+ * quand on concatène les liens  
+ */
+function concat_url($url1, $path){
+       /**
+        * méthode spip
+        */ 
+       if(function_exists('suivre_lien')) {
+               return suivre_lien($url1,$path);
+       }
+       $url = $url1 . "/" . $path;
+       //cette operation peut tres facilement avoir genere // ou /// 
+       $url = str_replace("///", "/", $url);
+       $url = str_replace("//", "/", $url); 
+       //cas particulier de http://
+       $url = str_replace("http:/", "http://", $url);
+       return $url;
+}
+
+/****************************test concat**********************
+echo concat_url("http://spip.net" , "ecrire")."<br />";
+echo concat_url("http://spip.net/" , "ecrire")."<br />";
+echo concat_url("http://spip.net" , "/ecrire")."<br />";
+echo concat_url("http://spip.net/" , "/ecrire")."<br />";
+*************************************************************/
+?>
\ No newline at end of file
index 9e4fc5c..359e798 100644 (file)
@@ -126,22 +126,22 @@ function analyser_backend($rss, $url_syndic='') {
                if (preg_match(',<(published|modified|issued)>([^<]*)<,Uims',
                $item,$match)) {
                        cdata_echappe_retour($match[2], $echappe_cdata);
-                       $la_date = my_strtotime($match[2]);
+                       $la_date = my_strtotime($match[2], $langue_du_site);
                }
                if (!$la_date AND
                preg_match(',<(pubdate)>([^<]*)<,Uims',$item, $match)) {
                        cdata_echappe_retour($match[2], $echappe_cdata);
-                       $la_date = my_strtotime($match[2]);
+                       $la_date = my_strtotime($match[2], $langue_du_site);
                }
                if (!$la_date AND
                preg_match(',<([a-z]+:date)>([^<]*)<,Uims',$item,$match)) {
                        cdata_echappe_retour($match[2], $echappe_cdata);
-                       $la_date = my_strtotime($match[2], $echappe_cdata);
+                       $la_date = my_strtotime($match[2], $langue_du_site);
                }
                if (!$la_date AND
                preg_match(',<date>([^<]*)<,Uims',$item,$match)) {
                        cdata_echappe_retour($match[1], $echappe_cdata);
-                       $la_date = my_strtotime($match[1]);
+                       $la_date = my_strtotime($match[1], $langue_du_site);
                }
 
                // controle de validite de la date
@@ -149,7 +149,8 @@ function analyser_backend($rss, $url_syndic='') {
                // (note: ca pourrait etre defini site par site, mais ca risque d'etre
                // plus lourd que vraiment utile)
                if ($GLOBALS['controler_dates_rss']) {
-                       if ($la_date > time() + 48 * 3600)
+                       if (!$la_date
+                               OR $la_date > time() + 48 * 3600)
                                $la_date = time();
                }
 
@@ -159,7 +160,7 @@ function analyser_backend($rss, $url_syndic='') {
                // Honorer le <lastbuilddate> en forcant la date
                if (preg_match(',<(lastbuilddate|updated|modified)>([^<>]+)</\1>,i',
                $item, $regs)
-               AND $lastbuilddate = my_strtotime(trim($regs[2]))
+               AND $lastbuilddate = my_strtotime(trim($regs[2]), $langue_du_site)
                // pas dans le futur
                AND $lastbuilddate < time())
                        $data['lastbuilddate'] = $lastbuilddate;
@@ -290,8 +291,7 @@ function analyser_backend($rss, $url_syndic='') {
 // helas strtotime ne reconnait pas le format W3C
 // http://www.w3.org/TR/NOTE-datetime
 // http://doc.spip.org/@my_strtotime
-function my_strtotime($la_date) {
-
+function my_strtotime($la_date, $lang=null) {
        // format complet
        if (preg_match(
        ',^(\d+-\d+-\d+[T ]\d+:\d+(:\d+)?)(\.\d+)?'
@@ -309,15 +309,46 @@ function my_strtotime($la_date) {
        if (preg_match(',^\d{4}-\d{2}$,', $la_date, $match))
                return strtotime($match[0]."-01");
 
-       // utiliser strtotime en dernier ressort
-       $s = strtotime($la_date);
-       if ($s > 0)
-               return $s;
-
        // YYYY-MM-DD hh:mm:ss
        if (preg_match(',^\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}\b,', $la_date, $match))
                return strtotime($match[0]);
 
+       // utiliser strtotime en dernier ressort
+       // en nettoyant le jour qui prefixe parfois la date, suivi d'une virgule
+       // et les UT qui sont en fait des UTC
+       $la_date_c = preg_replace("/^\w+,\s*/ms","",$la_date);
+       $la_date_c = preg_replace("/UT\s*$/ms","UTC",$la_date_c);
+       if ($s=strtotime($la_date)
+         OR $s=strtotime($la_date_c))
+               return $s;
+
+       // essayons de voir si le nom du mois est dans la langue du flux et remplacons le
+       // par la version anglaise avant de faire strtotime
+       if ($lang){
+               // "fr-fr"
+               $lang = reset(explode("-",$lang));
+               static $months = null;
+               if (!isset($months[$lang])){
+                       $prev_lang = $GLOBALS['spip_lang'];
+                       changer_langue($lang);
+                       foreach(range(1,12) as $m){
+                               $s = _T("date_mois_$m");
+                               $months[$lang][$s] = date("M",strtotime("2013-$m-01"));
+                               $s = _T("date_mois_".$m."_abbr");
+                               $months[$lang][$s] = date("M",strtotime("2013-$m-01"));
+                               $months[$lang][trim($s,".")] = date("M",strtotime("2013-$m-01"));
+                       }
+                       changer_langue($prev_lang);
+               }
+               spip_log($la_date_c,"dbgs");
+               foreach($months[$lang] as $loc=>$en){
+                       if (stripos($la_date_c,$loc)!==false){
+                               $s=str_ireplace($loc,$en,$la_date_c);
+                               if ($s=strtotime($s))
+                                       return $s;
+                       }
+               }
+       }
 
        // erreur
        spip_log("Impossible de lire le format de date '$la_date'");
index 5596718..489a7a3 100644 (file)
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/sites?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" />
        <langue code="es" url="http://trad.spip.net/tradlang_module/sites?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
        </langue>
-       <langue code="eu" />
+       <langue code="eu" url="http://trad.spip.net/tradlang_module/sites?lang_cible=eu">
+               <traducteur nom="otalazt" lien="http://trad.spip.net/auteur/otalazt" />
+       </langue>
        <langue code="fa" url="http://trad.spip.net/tradlang_module/sites?lang_cible=fa">
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
        </langue>
index f83ba1a..2d54e3d 100644 (file)
@@ -123,7 +123,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        pour vous permettre ensuite de l\'importer dans votre navigateur ou dans un service en ligne', # NEW
        'texte_expliquer_import_bookmarks' => 'Vous pouvez importer une liste de sites au format Marque-page HTML,
        en provenance de votre navigateur ou d\'un service en ligne de gestion des Marques-pages.', # NEW
-       'texte_liens_sites_syndiques' => 'sindikatutakoguneetako estekak a priori blokeatu ahal dira ; azpiko konfigurazioak sindikatutakoguneen konfigurazio lehenetsia adierazten du bere sorrera ondoren. Hala ere, gero estekabakoitza banan-banan desblokeatzea posible da, edo lekuz leku, gune batetik edo bestetik datozenestekak blokeatzeko aukera izatea.', # MODIF
+       'texte_liens_sites_syndiques' => 'sindikatutako guneetako estekak a priori blokeatzen ahal dira ; azpiko konfigurazioak sindikatutako guneen konfigurazio lehenetsia adierazten du bere sorrera ondoren. Hala ere, gero esteka bakoitza banan-banan desblokeatzea posible da, edo gunez gune, gune batetik edo bestetik datozen estekak blokeatzeko aukera izatea.',
        'texte_messages_publics' => 'Artikuluaren mezu publikoak',
        'texte_non_fonction_referencement' => 'Agian nahiago duzu funtzio automatiko hau ezerabili, eta zuk zeuk adierazi toki honi dagozkien osagaiak...', # MODIF
        'texte_referencement_automatique' => '<b>Leku bat automatikoki erreferentzia egitea</b>
index a98e476..6a5359d 100644 (file)
@@ -15,8 +15,8 @@
 
        <traduire module="sites" reference="fr" gestionnaire="salvatore" />
 
-       <pipeline nom="pre_syndication" />
-       <pipeline nom="post_syndication" />
+       <pipeline nom="pre_syndication" action="" />
+       <pipeline nom="post_syndication" action="" />
        <pipeline nom="autoriser" inclure="sites_autoriser.php" />
        <pipeline nom="declarer_tables_interfaces" inclure="base/sites.php" />
        <pipeline nom="declarer_tables_objets_sql" inclure="base/sites.php" />
index b76b25e..39e0d47 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="squelettes_par_rubrique"
        categorie="outil"
-       version="1.1.0"
+       version="1.1.1"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="squelettes_par_rubrique-32.png"
index bbf3b77..e8668e3 100644 (file)
@@ -36,6 +36,7 @@ function squelettes_par_rubrique_styliser_par_rubrique($flux) {
                        if (@file_exists("$f.$ext"))
                                $squelette = $f;
                        else {
+                               $maxiter = 10000; // on ne remonte pas au dela en profondeur
                                // fond-10 fond-<rubriques parentes>
                                do {
                                        $f = "$squelette-$id_rubrique";
@@ -43,7 +44,12 @@ function squelettes_par_rubrique_styliser_par_rubrique($flux) {
                                                $squelette = $f;
                                                break;
                                        }
-                               } while ($id_rubrique = quete_parent($id_rubrique));
+                               } while (
+                                       $maxiter--
+                                 AND $id_rubrique = quete_parent($id_rubrique)
+                                       // se proteger des references circulaires
+                                 AND $id_rubrique != $flux['args']['id_rubrique']
+                               );
                        }
                        // sauver le squelette
                        $flux['data'] = $squelette;
index d6307d9..8703a9c 100644 (file)
@@ -61,7 +61,8 @@
                                legend:{
                                        show:true,
                                        container:null,
-                                       labelFormatter:null
+                                       labelFormatter:null,
+                                       noColumns: 3
                                },
                                bars: {fill:false},
                                yaxis: { min: 0 },
@@ -86,6 +87,7 @@
                        $.extend(true, values.options, options.flot);
 
                        graph = $("<div class='graphResult' style='width:" + options.width + ";height:" + options.height + ";'></div>").appendTo(graphique);
+                       graph.wrap("<div class='graphResult-wrap'></div>");
                        gInfo = $("<div class='graphInfo'></div>").appendTo(graphique);
 
                        // legende en dehors du dessin ?
@@ -94,7 +96,7 @@
                                values.options.legend.container = legend;
                        }
                        // legende avec items clicables pour desactiver certaines series
-                       if (options.legendeActions) {
+                       if (options.legendeExterne && options.legendeActions) {
                                  values.options.legend.labelFormatter = function(label) {
                                        return '<a href="#label">' + label + '</a>';
                                  }
                        plots[idGraph] = $.plot(graph, values.series, values.options);
 
                        // prevoir les actions sur les labels
-                       if (options.legendeActions) {
+                       if (options.legendeExterne && options.legendeActions) {
                                $.extend(values.options, {legend:{container:null, show:false}});
                                actionsLegendes($('#graphique'+idGraph));
                        }
                                $.extend(true, options, {
                                        lines:{
                                                fill:true,
-                                               fillColor: { colors: [ { opacity: 0.7 }, { opacity: 0 } ] }
+                                               fillColor: { colors: [ { opacity: 0.9 }, { opacity: 0.9 } ] }
                                        },
                                        bars:{
                                                fill:true,
-                                               fillColor: { colors: [ { opacity: 0.7 }, { opacity: 0 } ] }
+                                               fillColor: { colors: [ { opacity: 0.9 }, { opacity: 0.9 } ] }
                                        }
                                });
                        }
                        // pour masquer / afficher certaines series
                        // a ne charger qu'une fois par graph !!!
                        $(graph).find('.legendLabel a').click(function(){
-                               tr = $(this).parent().parent();
-                               tr.toggleClass('cacher');
+                               tr = $(this).parent().prev('.legendColorBox').toggleClass('cacher').parent();
 
-                               // bof bof tous ces parent() et ca marche qu'avec legendeExterne:true
-                               master = tr.parent().parent().parent().parent().parent();
+                               master = tr.closest('.graphique');
                                pid = master.attr('id').substr(9); // enlever 'graphique'
 
                                var seriesActives = [];
-                               tr.parent().find('tr:not(.cacher)').each(function(){
-                                       nom = $(this).find('a').text();
+                               tr.find('.legendColorBox:not(.cacher)').each(function(){
+                                       nom = $(this).next('.legendLabel').find('a').text();
                                        n = collections[pid].values.series.length;
                                        for(i=0;i<n;i++) {
                                                if (collections[pid].values.series[i].label == nom) {
 
                        // demarrer la vignette
                        vignette = $(graphique).find('.graphVignette');
-                       pid = vignette.parent().parent().attr('id').substr(9);
+                       pid = vignette.closest('.graphique').attr('id').substr(9);
                        vignettes[pid] = $.plot(vignette, series, options.flot);
 
                        if (vignettesSelection[pid] !== undefined) {
 
                        $(graphique).find('.graphResult').bind("plotselected", function (event, ranges) {
                                graph = $(event.target);
-                               pid = graph.parent().attr('id').substr(9);
+                               pid = graph.closest('.graphique').attr('id').substr(9);
 
                                // clamp the zooming to prevent eternal zoom
                                if (ranges.xaxis.to - ranges.xaxis.from < 0.00001)
                        // raz sur double clic
                        $(graphique).find('.graphResult').dblclick(function (event) {
                                var graphique;
-                               graphique = $(event.target).parent().parent();
+                               graphique = $(event.target).closest('.graphique');
                                pid = graphique.attr('id').substr(9);
                                vignettesSelection[pid] = undefined;
                                if (vignettes[pid] != undefined) {
                                // zoom depuis la miniature
                                vignette.bind("plotselected", function (event, ranges) {
                                        graph = $(event.target);
-                                       pid = graph.parent().parent().attr('id').substr(9);
+                                       pid = graph.closest('.graphique').attr('id').substr(9);
                                        vignettesSelection[pid] = ranges;
                                        plots[pid].setSelection(ranges);
                                });
                                // raz depuis la miniature sur double clic
                                vignette.dblclick(function (event) {
                                        var graphique;
-                                       graphique = $(event.target).parent().parent().parent();
+                                       graphique = $(event.target).closest('.graphique');
                                        pid = graphique.attr('id').substr(9);
                                        vignettesSelection[pid] = undefined;
 
                                $("#x").text(pos.x.toFixed(2));
                                $("#y").text(pos.y.toFixed(2));
                                graph = $(event.target);
-                               pid = graph.parent().attr('id').substr(9);
+                               pid = graph.closest('.graphique').attr('id').substr(9);
 
                                if (options.show) {
                                        if (item) {
                d.setUTCHours(0);
                var i = d.getTime();
                do {
-                       markings.push({ xaxis: { from: i, to: i + 2*jour }, color: '#f6f6f6' });
+                       markings.push({ xaxis: { from: i, to: i + 2*jour }, color: '#e8e8e8' });
                        i += 7*jour;
                } while (i < axes.xaxis.max);
 
        var markings = [];
                var heure = 60 * 60 * 1000;
                var jour = 24 * heure;
+               var width_year = jour;
+               if (axes.xaxis.options.minTickSize[1]=="month")
+                       width_year = 30.4*jour;
 
                // les mois et les ans...
                d = new Date(axes.xaxis.min);
                        i = d.getTime();
                        if (m == 0) {couleur = '#CA5F18';}
                        else {couleur = '#D7C2AF'; }
-                       markings.push({ xaxis: { from: i, to: i + jour}, color: couleur });
+                       markings.push({ xaxis: { from: i, to: i + (m==0?width_year:jour)}, color: couleur });
                        if (++m == 12) {m=0; ++y;}
                        d = new Date(Date.UTC(y,m,1,0,0,0));
                } while (d.getTime() < axes.xaxis.max);
index 850fbc0..6e2382b 100644 (file)
        <langue code="da" />
        <langue code="de" url="http://trad.spip.net/tradlang_module/statistiques?lang_cible=de">
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
+               <traducteur nom="Torsten Willmann" lien="http://trad.spip.net/auteur/torsten-willmann" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/statistiques?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
                <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="en_hx" />
        <langue code="eo" />
index 54763fa..6e3a357 100644 (file)
@@ -47,13 +47,13 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        'texte_comment_lire_tableau' => 'Die Position eines Artikels wird durch einen Balken angezeigt. Seine Popularität (eine Schätzung der täglichen Besucher im Fall, dass die Zugriffe konstant bleiben) und die Anzahl der Besuche von Anfang an werden angezeigt, wenn der Mauszeiger über den Titel bewegt wird.',
        'texte_signification' => 'Die roten Balken stellen die Summe der Einträge dar (Summe der Unterrubriken), die hellen Balken symbolisieren die Anzahl der Seitenabrufe pro Rubrik.',
        'titre_evolution_visite' => 'Entwicklung der Seitenabrufe',
-       'titre_liens_entrants' => 'Referer von heute',
+       'titre_liens_entrants' => 'Referer',
        'titre_page_statistiques' => 'Statistiken pro Rubrik',
        'titre_page_statistiques_visites' => 'Statistik der Seitenabrufe',
 
        // V
        'visites_journalieres' => 'Anzahl Besuche pro Tag',
-       'visites_mensuelles' => 'Anzahl Besucher pro Tag'
+       'visites_mensuelles' => 'Anzahl Besucher pro Monat'
 );
 
 ?>
index fb9897c..b98af2d 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="stats"
        categorie="statistique"
-       version="0.4.10"
+       version="0.4.15"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="prive/themes/spip/images/statistique-32.png"
@@ -15,7 +15,7 @@
 
        <traduire module="statistiques" reference="fr" gestionnaire="salvatore" />
 
-       <pipeline nom="delete_statistiques" />
+       <pipeline nom="delete_statistiques" action="" />
        <pipeline nom="declarer_tables_auxiliaires" inclure="base/stats.php" />
        <pipeline nom="configurer_liste_metas" inclure="stats_pipelines.php" />
        <pipeline nom="affichage_entetes_final" inclure="stats_pipelines.php" />
index bf7d12b..900d8ea 100644 (file)
@@ -15,7 +15,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 include_spip('inc/presentation');
 
 // http://doc.spip.org/@enfants
-function enfants($id_parent, $critere, &$nombre_vis, &$nombre_abs){
+function enfants($id_parent, $critere, &$nombre_branche, &$nombre_rub){
        $result = sql_select("id_rubrique", "spip_rubriques", "id_parent=".intval($id_parent));
 
        $nombre = 0;
@@ -24,12 +24,12 @@ function enfants($id_parent, $critere, &$nombre_vis, &$nombre_abs){
                $id_rubrique = $row['id_rubrique'];
 
                $visites = intval(sql_getfetsel("SUM(".$critere.")", "spip_articles", "id_rubrique=".intval($id_rubrique)));
-               $nombre_abs[$id_rubrique] = $visites;
-               $nombre_vis[$id_rubrique] = $visites;
-               $nombre += $visites + enfants($id_rubrique, $critere, $nombre_vis, $nombre_abs);
+               $nombre_rub[$id_rubrique] = $visites;
+               $nombre_branche[$id_rubrique] = $visites;
+               $nombre += $visites + enfants($id_rubrique, $critere, $nombre_branche, $nombre_rub);
        }
-       if (!isset($nombre_vis[$id_parent])) $nombre_vis[$id_parent]=0;
-       $nombre_vis[$id_parent] += $nombre;
+       if (!isset($nombre_branche[$id_parent])) $nombre_branche[$id_parent]=0;
+       $nombre_branche[$id_parent] += $nombre;
        return $nombre;
 }
 
@@ -37,19 +37,21 @@ function enfants($id_parent, $critere, &$nombre_vis, &$nombre_abs){
 // http://doc.spip.org/@enfants_aff
 function enfants_aff($id_parent,$decalage, $taille, $critere, $gauche=0) {
        global $spip_lang_right, $spip_lang_left;
-       static $abs_total=null;
+       static $total_site=null;
        static $niveau=0;
-       static $nombre_vis;
-       static $nombre_abs;
-       if (is_null($abs_total)){
-               $nombre_vis = array();
-               $nombre_abs = array();
-               $abs_total = enfants(0, $critere, $nombre_vis, $nombre_abs);
-               if ($abs_total<1) $abs_total=1;
-               $nombre_vis[0] = 0;
+       static $nombre_branche;
+       static $nombre_rub;
+       if (is_null($total_site)){
+               $nombre_branche = array();
+               $nombre_rub = array();
+               $total_site = enfants(0, $critere, $nombre_branche, $nombre_rub);
+               if ($total_site<1) $total_site=1;
        }
        $visites_abs = 0;
        $out = "";
+       $width = intval(floor(($nombre_branche[$id_parent]/$total_site)*$taille));
+       $width = "width:{$width}px;float:$spip_lang_left;";
+
 
        $result = sql_select("id_rubrique, titre, descriptif", "spip_rubriques", "id_parent=$id_parent",'', '0+titre,titre');
 
@@ -58,11 +60,11 @@ function enfants_aff($id_parent,$decalage, $taille, $critere, $gauche=0) {
                $titre = typo($row['titre']);
                $descriptif = attribut_html(couper(typo($row['descriptif']),80));
 
-               if ($nombre_vis[$id_rubrique]>0 OR $nombre_abs[$id_rubrique]>0){
-                       $largeur_rouge = floor(($nombre_vis[$id_rubrique] - $nombre_abs[$id_rubrique]) * $taille / $abs_total);
-                       $largeur_vert = floor($nombre_abs[$id_rubrique] * $taille / $abs_total);
+               if ($nombre_branche[$id_rubrique]>0 OR $nombre_rub[$id_rubrique]>0){
+                       $largeur_branche = floor(($nombre_branche[$id_rubrique] - $nombre_rub[$id_rubrique]) * $taille / $total_site);
+                       $largeur_rub = floor($nombre_rub[$id_rubrique] * $taille / $total_site);
                        
-                       if ($largeur_rouge+$largeur_vert>0){
+                       if ($largeur_branche+$largeur_rub>0){
                                        
                                if ($niveau == 0) {
                                        $couleur="#cccccc";
@@ -79,23 +81,19 @@ function enfants_aff($id_parent,$decalage, $taille, $critere, $gauche=0) {
                                $out .= "\n<td style='border-bottom: 1px solid #aaaaaa; padding-$spip_lang_left: ".($niveau*20+5)."px;'>";
 
                                
-                               if ( $largeur_rouge > 2) 
+                               if ( $largeur_branche > 2) 
                                        $out .= bouton_block_depliable("<a href='" . generer_url_entite($id_rubrique,'rubrique') . "' style='color: black;' title=\"$descriptif\">$titre</a>","incertain", "stats$id_rubrique");
                                else
-                                       $out .= "<div class='verdana1' style='padding-left: 18px; padding-top: 4px; padding-bottom: 3px;'>"
+                                       $out .= "<div class='rubsimple' style='padding-left: 18px;'>"
                                                . "<a href='" . generer_url_entite($id_rubrique,'rubrique') . "' style='color: black;' title=\"$descriptif\">$titre</a>"
                                                . "</div>";
                                $out .= "</td>";
                                
-                               
-                               if ($niveau==0 OR 1==1){
-                                       $pourcent = round($nombre_vis[$id_rubrique]/$abs_total*1000)/10;
-                                       $out .= "\n<td class='verdana1' style='text-align: $spip_lang_right; width: 40px; border-bottom: 1px solid #aaaaaa;'>$pourcent%</td>";
-                               }
-                               else {
-                                       $out .= "<td style='width: 10px; border-bottom: 1px solid #aaaaaa;'></td>";
-                               }
-                               
+
+                               // pourcentage de visites dans la branche par rapport au total du site
+                               $pourcent = round($nombre_branche[$id_rubrique]/$total_site*1000)/10;
+                               $out .= "\n<td class='verdana1' style='text-align: $spip_lang_right; width: 40px; border-bottom: 1px solid #aaaaaa;'>$pourcent%</td>";
+
                                
                                $out .= "\n<td align='right' style='border-bottom: 1px solid #aaaaaa; width:" . ($taille+5) ."px'>";
                                
@@ -104,24 +102,24 @@ function enfants_aff($id_parent,$decalage, $taille, $critere, $gauche=0) {
                                $out .= "\n<tr>";
                                if ($gauche > 0) $out .= "<td style='width: " .$gauche."px'></td>";
                                $out .= "\n<td style='border: 0px; white-space: nowrap;'>";
-                               $out .= "<div style='border: 1px solid #999999; background-color: #dddddd; height: 12px; padding: 0px; margin: 0px;'>";
-                               if ($visites_abs > 0) $out .= "<img src='" . chemin_image('rien.gif') . "' style='vertical-align: top; height: 12px; border: 0px; width: ".$visites_abs."px;' alt= ' '/>";
-                               if ($largeur_rouge>0) $out .= "<img src='" . chemin_image('rien.gif') . "' class='couleur_cumul' style='vertical-align: top; height: 12px; border: 0px; width: " . $largeur_rouge . "px;' alt=' ' />";
-                               if ($largeur_vert>0) $out .= "<img src='" . chemin_image('rien.gif') . "' class='couleur_nombre' style='vertical-align: top; width: " . $largeur_vert ."px; height: 12px; border: 0px' alt=' ' />";
+                               $out .= "<div style='border: 1px solid #999999; background-color: #dddddd; height: 1em; padding: 0px; margin: 0px;$width'>";
+                               if ($visites_abs > 0) $out .= "<img src='" . chemin_image('rien.gif') . "' style='vertical-align: top; height: 1em; border: 0px; width: ".$visites_abs."px;' alt= ' '/>";
+                               if ($largeur_branche>0) $out .= "<img src='" . chemin_image('rien.gif') . "' class='couleur_cumul' style='vertical-align: top; height: 1em; border: 0px; width: " . $largeur_branche . "px;' alt=' ' />";
+                               if ($largeur_rub>0) $out .= "<img src='" . chemin_image('rien.gif') . "' class='couleur_nombre' style='vertical-align: top; width: " . $largeur_rub ."px; height: 1em; border: 0px' alt=' ' />";
                                $out .= "</div>";
                                $out .= "</td></tr></table>\n";
                                $out .= "</td></tr></table>";
                        }       
                }
                
-               if (isset($largeur_rouge) && ($largeur_rouge > 0)) {
+               if (isset($largeur_branche) && ($largeur_branche > 0)) {
                        $niveau++;
                        $out .= debut_block_depliable(false,"stats$id_rubrique");
-                       $out .= enfants_aff($id_rubrique,$largeur_rouge, $taille, $critere, $visites_abs+$gauche);
+                       $out .= enfants_aff($id_rubrique,$largeur_branche, $taille, $critere, $visites_abs+$gauche);
                        $out .= fin_block();
                        $niveau--;
                }
-               $visites_abs = $visites_abs + round($nombre_vis[$id_rubrique]/$abs_total*$taille);
+               $visites_abs = $visites_abs + round($nombre_branche[$id_rubrique]/$total_site*$taille);
        }
        return $out;
 }
index bf73f51..4ac2ed8 100644 (file)
@@ -5,6 +5,19 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 include_spip('inc/acces');
 include_spip('inc/statistiques');
 
+function duree_affiche($duree,$periode){
+       if (intval($duree))
+               return $duree;
+
+       if ($periode=='mois'){
+               $debut = sql_getfetsel("date","spip_visites","","","date","0,1");
+               $debut = strtotime($debut);
+               $duree = ceil((time()-$debut)/24/3600);
+               return $duree;
+       }
+       return 90;
+}
+
 function duree_zoom($duree,$sens='plus'){
        $largeur_abs = 420/$duree;
 
index ea2db70..d960970 100644 (file)
@@ -1,63 +1,64 @@
 #SET{c,#VAL{article}|classement_populaires}
+#SET{duree,#ENV{duree,0}|duree_affiche{jour}}
 
-<p class="pagination">
+<div class="pagination">
        <span class="dl">
-               #SET{args,#ARRAY{id_article,#ID_ARTICLE,duree,#DUREE}}
+               #SET{args,#ARRAY{id_article,#ID_ARTICLE,duree,#GET{duree}}}
                <a href="[(#URL_PAGE{transmettre,[(#VAL{statistiques}|param_low_sec{#GET{args}, '', 'transmettre'})]})]" class="noajax"><:statistiques:csv:></a>
        </span>
        |
-       [<span class="duree">(#ENV{duree,90}) <:info_jours:></span>] |
-       <a href="[(#SELF|parametre_url{duree,#ENV{duree,90}|duree_zoom{moins}})]"
+       [<span class="duree">(#GET{duree}) <:info_jours:></span>] |
+       <a href="[(#SELF|parametre_url{duree,#GET{duree}|duree_zoom{moins}})]"
                 class="ajax">[(#CHEMIN_IMAGE{zoomout-24.png}|balise_img{<:statistiques:info_zoom:> -})]</a>
-       <a href="[(#SELF|parametre_url{duree,#ENV{duree,90}|duree_zoom{plus}})]"
+       <a href="[(#SELF|parametre_url{duree,#GET{duree}|duree_zoom{plus}})]"
                 class="ajax">[(#CHEMIN_IMAGE{zoomin-24.png}|balise_img{<:statistiques:info_zoom:> +})]</a>
-</p>
+</div>
 #SET{max,0}
 #SET{moy,0}
 #SET{last,0}
 #SET{lastlast,0}
 <B_statsj>
 
-       <table class='spip info visites' style="width:145px;position:absolute;#LANG_RIGHT:0px;margin-top:30px;">
+       <table class='spip info visites' style="width:145px;position:absolute;#LANG_RIGHT:0px;margin-top:10px;">
                <caption><:statistiques:resume:></caption>
                <tbody>
-                       <tr>
+                       <tr class="odd on">
                                <th><:info_maximum|trim{':'}|trim|ucfirst:></th>
                                <td class='num'>#GET{max}</td>
                        </tr>
-                       <tr>
+                       <tr class="odd on">
                                <th><:info_moyenne|trim{':'}|trim|ucfirst:></th>
                                <td class='num'>[(#GET{moy}|round)]</td>
                        </tr>
-                       <tr>
+                       <tr class="even">
                                <th><a href="#URL_ECRIRE{stats_referers,jour=jour}"
                                                                title="<:info_moyenne|trim{':'}|trim|attribut_html:>"><:info_aujourdhui|trim{':'}|trim|ucfirst:></a></th>
                                <td class='num'>#GET{last}</td>
                        </tr>
-                       <tr>
+                       <tr class="even">
                                <th><a href="#URL_ECRIRE{stats_referers,jour=veille}"
                                                                title="<:info_moyenne|trim{':'}|trim|attribut_html:>"><:info_hier|trim{':'}|trim|ucfirst:></a></th>
                                <td class='num'>#GET{lastlast}</td>
                        </tr>
                        <BOUCLE_art(ARTICLES){id_article}{statut?}>
-                               <tr>
+                               <tr class="odd">
                                        <th><:statistiques:info_popularite_5|trim{':'}|trim|ucfirst:></th>
                                        <td class='num'>[(#CHAMP_SQL{popularite}|round)]</td>
                                </tr>
-                               <tr>
+                               <tr class="odd">
                                        <th><:info_total|trim{':'}|trim|ucfirst:></th>
                                        <td class='num'>[(#VISITES|round)]</td>
                                </tr>
-                               <tr>
+                               <tr class="odd">
                                        <th></th>
                                        <td class='num'>[<strong>(#ID_ARTICLE|array_search{#GET{c}}|plus{1})</strong>[(#GET{c}|count|singulier_ou_pluriel{info_classement_1,info_classement_2,liste})]]</td>
                                </tr>
                        </BOUCLE_art>
-                               <tr>
+                               <tr class="odd">
                                        <th><:info_total|trim{':'}|trim|ucfirst:></th>
                                        <td class='num'>[(#REM|stats_total)]</td>
                                </tr>
-                               <tr>
+                               <tr class="odd">
                                        <th><:statistiques:info_popularite_2|trim{':'}|trim|ucfirst:></th>
                                        <td class='num'>[(#CONFIG{popularite_total}|round)]</td>
                                </tr>
@@ -76,9 +77,9 @@
                        </tr>
                </thead>
          <tbody>
-               <BOUCLE_statsj(DATA){source stats_visites,jour,#ENV{duree,90},#ENV{id_article}}>
+               <BOUCLE_statsj(DATA){source stats_visites,jour,#GET{duree},#ENV{id_article}}>
                        <tr class="c_[(#CLE|affdate{l}|substr{0,3})][(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui)c_today]">
-                               <th title="[(#CLE|affdate{'Y/m/d'})]">[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|?{<:info_aujourdhui:>,#CLE|affdate_jourcourt})]</th>
+                               <th title="[(#CLE|affdate{'Y/m/d'})]">[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|?{<:info_aujourdhui:>,[(#CLE|nom_jour) ][(#CLE|affdate_jourcourt)]})]</th>
                                <td class="val">#VALEUR{visites}</td>
                                <td class="mean">#VALEUR{moyenne}</td>
                                <td class="prev">#VALEUR{prevision}</td>
index 73c1477..a3bb788 100644 (file)
@@ -1,17 +1,17 @@
+#SET{duree,#ENV{duree,0}|duree_affiche{mois}}
 
-
-<p class="pagination">
+<div class="pagination">
        <span class="dl">
-               #SET{args,#ARRAY{id_article,#ID_ARTICLE,duree,#DUREE}}
+               #SET{args,#ARRAY{id_article,#ID_ARTICLE,duree,#GET{duree}}}
                <a href="[(#URL_PAGE{transmettre,[(#VAL{statistiques}|param_low_sec{#GET{args}, '', 'transmettre'})]})]" class="noajax"><:statistiques:csv:></a>
        </span>
        |
-       [<span class="duree">(#ENV{duree,365}|div{30}|intval) <:date_mois:></span>] |
-       <a href="[(#SELF|parametre_url{duree,#ENV{duree,365}|duree_zoom{moins}})]"
+       [<span class="duree">(#GET{duree}|div{30}|intval) <:date_mois:></span>] |
+       <a href="[(#SELF|parametre_url{duree,#GET{duree}|duree_zoom{moins}})]"
                 class="ajax">[(#CHEMIN_IMAGE{zoomout-24.png}|balise_img{<:statistiques:info_zoom:> -})]</a>
-       <a href="[(#SELF|parametre_url{duree,#ENV{duree,365}|duree_zoom{plus}})]"
+       <a href="[(#SELF|parametre_url{duree,#GET{duree}|duree_zoom{plus}})]"
                 class="ajax">[(#CHEMIN_IMAGE{zoomin-24.png}|balise_img{<:statistiques:info_zoom:> +})]</a>
-</p>
+</div>
 
 
 <B_statsm>
@@ -26,7 +26,7 @@
                        </tr>
                </thead>
          <tbody>
-               <BOUCLE_statsm(DATA){source stats_visites,mois,#ENV{duree,365},#ENV{id_article}}>
+               <BOUCLE_statsm(DATA){source stats_visites,mois,#GET{duree},#ENV{id_article}}>
                        <tr class="c_[(#CLE|affdate{l}|substr{0,3})][(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui)c_today]">
                                <th title="[(#CLE|affdate{'Y/m/01'})]">[(#CLE|affdate_mois_annee)]</th>
                                <td class="val">#VALEUR{visites}</td>
index ce383fe..e0f4327 100644 (file)
@@ -8,7 +8,7 @@
        <B_pluspop>
                <ol class='classement'>
                <BOUCLE_pluspop(ARTICLES){id_article IN #GET{c}}{0,30}{doublons}>
-                       <li[ class="(#EXPOSE)"]><a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]" class="ajax"
+                       <li[ class="(#EXPOSE)"]><a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]#contenu" class="ajax"
                                                title="<:statistiques:info_popularite_3{visites=#VISITES,popularite=#POPULARITE}|attribut_html:>">#TITRE</a></li>
                </BOUCLE_pluspop>
                </ol>
@@ -16,7 +16,7 @@
                        <p class="center">[...]</p>
                        <ol class='classement'>
                        <BOUCLE_derniers(ARTICLES){popularite>0}{!par date}{0,10}{doublons}>
-                               <li value="[(#ID_ARTICLE|array_search{#GET{c}}|plus{1})]"[ class="(#EXPOSE)"]><a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]" class="ajax"
+                               <li value="[(#ID_ARTICLE|array_search{#GET{c}}|plus{1})]"[ class="(#EXPOSE)"]><a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]#contenu" class="ajax"
                                                        title="<:statistiques:info_popularite_3{visites=#VISITES,popularite=#POPULARITE}|attribut_html:>">#TITRE</a></li>
                        </BOUCLE_derniers>
                        </ol>
                <B_plusvisites>
                        <ol class='classement'>
                        <BOUCLE_plusvisites(ARTICLES){popularite>0}{!par visites}{0,30}>
-                               <li value="[(#ID_ARTICLE|array_search{#GET{c}}|plus{1})]"[ class="(#EXPOSE)"]><a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]" class="ajax"
+                               <li value="[(#ID_ARTICLE|array_search{#GET{c}}|plus{1})]"[ class="(#EXPOSE)"]><a href="[(#SELF|parametre_url{id_article,#ID_ARTICLE})]#contenu" class="ajax"
                                                        title="<:statistiques:info_popularite_3{visites=#VISITES,popularite=#POPULARITE}|attribut_html:>">#TITRE</a></li>
                        </BOUCLE_plusvisites>
                        </ol>
                </B_plusvisites>
 
-               <h4><a href='#' onclick="$(this).parent().next().toggle('fast');return false;"><:statistiques:info_comment_lire_tableau:></a></h4>
-               <p class="none"><:statistiques:texte_comment_lire_tableau:></p>
+               <br class="nettoyeur" />
+               <hr />
+               <h4><:statistiques:info_comment_lire_tableau:></h4>
+               <p><:statistiques:texte_comment_lire_tableau:></p>
 
        </div>
 </div>
index f5ef652..52b7905 100644 (file)
@@ -13,14 +13,15 @@ function trace_stats_table(table, classes, options) {
 
        // copier le titre des tableaux
        titre = $table.find("caption").text();
+       $table.siblings('.pagination').before("<h3 class='caption'>" + titre + "</h3>");
        $table
-               .before("<h3 class='caption'>" + titre + "</h3>")
+
                .wrap("<div class='" + classes + "'></div>");
 
        // mettre les visites avec un fond colore pour le graphique
-       $table.find("thead th:eq(1)").data({fill: true, serie: 'bar', color: '#FFD845'});
+       $table.find("thead th:eq(1)").data({fill: true, serie: 'bar', color: '#FFD845',lineWidth:0});
        $table.find("thead th:eq(2)").data({serie: 'line', color: '#7FC4FF'});
-       $table.find("thead th:eq(3)").data({fill: true, serie: 'bar', color: '#A9DD3A'});
+       $table.find("thead th:eq(3)").data({fill: true, serie: 'bar', color: '#A9DD3A',lineWidth:0});
        
        // mettre les previsions en premier
        // (pour que les autres graph passent par dessus)
@@ -34,7 +35,7 @@ function trace_stats_table(table, classes, options) {
        params = {
                legendeExterne:true,
                legendeActions:true,
-               width:($('.large #page').length)?'695px':'500px', // 795px, 600px (sans le tableau de resume) ...
+               width:($('.large #page').length)?'755px':'560px', // 795px, 600px (sans le tableau de resume) ...
                height:'250px',
                modeDate:true,
                zoom:true,
@@ -47,6 +48,9 @@ function trace_stats_table(table, classes, options) {
                        }
                },
                flot:{
+                       grid:{
+                               axismargin:10
+                       },
                        xaxis:{
                                labelWidth:45,
                                monthNames: [
@@ -63,6 +67,9 @@ function trace_stats_table(table, classes, options) {
                                        '[(#VAL{2000-11-01}|nom_mois)]',
                                        '[(#VAL{2000-12-01}|nom_mois)]'
                                ]
+                       },
+                       yaxis:{
+                               position: "right"
                        }
                },
                infobulle:{show:true}
@@ -79,6 +86,7 @@ function trace_stats(){
                        grille:{weekend:true},
                        flot:{
                                xaxis:{
+                                       timeformat:"%d %b",
                                        minTickSize: [1, "day"]
                                },
                                bars:{barWidth:24 * 60 * 60 * 1000}
@@ -94,7 +102,7 @@ function trace_stats(){
                                        timeformat:"%b %y",
                                        minTickSize: [1, "month"]
                                },
-                               bars:{barWidth:30 * 24 * 60 * 60 * 1000 /* nb de jours... approximatif */}
+                               bars:{barWidth:30.4 * 24 * 60 * 60 * 1000 /* nb de jours... approximatif */}
                        }
        });
        
index aa6017a..9b3b4e2 100644 (file)
 ol.classement {list-style:decimal;margin:0;padding:0;padding-#GET{left}:40px;margin-bottom:1.5em;}
 
 
-table.visites caption,
-h3.caption {font-size:1.3em;font-weight:bold;text-align:center;margin:0.5em auto; clear:both;}
+table.visites caption, h3.caption {font-size:1.3em;font-weight:bold;text-align: center;margin:0.5em auto; clear:both;}
+.stats_visites #contenu h3.caption {float:#GET{left};margin:0.5em auto;}
 table.visites {width: 80%; margin-bottom: 1em; border-collapse: collapse; border-spacing: 0; line-height: normal;border:1px solid #999;}
 table.visites a {color:#[(#GET{foncee}|couleur_foncer)];}
 
 table.visites tr.row_first { background-color:#[(#GET{foncee}|couleur_foncer)];color:#fff;border: 1px solid #ddd; }
-table.visites.info tr.row_first { background-color:#fff;color:#000;border: 1px solid #ddd; }
+table.info.visites tr.row_first { background-color:#fff;color:#000;border: 1px solid #ddd; }
+table.info.visites tr.odd td,table.info.visites tr.odd th { background-color:transparent; }
 table.visites th, table.visites td { padding: 0.20em 0.40em; text-align: #GET{left}; border: 1px solid #ddd; }
 table.visites th { vertical-align: bottom; font-weight: bold; }
 table.visites.info th { vertical-align: top; }
 table.visites tbody th { font-weight: normal; }
+table.visites .on th { font-weight: bold; }
 table.visites td { vertical-align: top; }
 table.visites td.val, table.visites td.mean, table.visites td.cumul { text-align:center; }
 
@@ -50,14 +52,17 @@ table#visites tr.c_recap th {background-color:#[(#GET{foncee}|couleur_foncer)];c
 
 /* graphique flot */
 .graphique{clear:both; overflow:hidden; margin-bottom:2em;}
-.graphResult{float:#GET{left};}
-.graphInfo{float:#GET{left}; margin:0.5em;}
-.graphInfo td.legendLabel { padding-left:.5em; padding-right:1em; }
-.graphLegend{margin-bottom:0.5em; }
+.graphResult-wrap {padding: 10px 25px;float:#GET{left};}
+.graphResult{}
+.graphInfo{float:#GET{left}; clear:#GET{left};margin-#GET{left}:20px;}
+.graphInfo td {padding: 5px;}
+.graphInfo td.legendLabel { padding-left:0; padding-right:1em; vertical-align: top;}
+.graphLegend{margin-top:0.5em; }
 .graphVignette{}
+.graphique .tickLabels {font-size: 11px !important;line-height: 14px;}
 
 .graphLegend .legendColorBox div{width:14px; height:10px;}
-.graphLegend .cacher .legendColorBox div div{position:absolute; left:-3000em;}
+.graphLegend .legendColorBox.cacher div div{position:absolute; left:-3000em;}
 
 
 .tooltip_statistiques{
@@ -68,16 +73,23 @@ table#visites tr.c_recap th {background-color:#[(#GET{foncee}|couleur_foncer)];c
        background-color: #fee;
 }
 
-.stats_referers .liste-items.referers li.referer {padding-left:300px;background-image: url("#CHEMIN_IMAGE{deplierhaut.gif}");background-position: 0.6925em 0.6925em;background-repeat: no-repeat;}
+.stats_referers .liste-items.referers li.referer {padding-left:150px;background-image: url("#CHEMIN_IMAGE{deplierhaut.gif}");background-position: 0.6925em 0.6925em;background-repeat: no-repeat;}
 .stats_referers .liste-items.referers li.referer.open {background-image: url("#CHEMIN_IMAGE{deplierbas.gif}");}
 .stats_referers .liste-items.referers li.referer span.visites {float:left;text-align:right;width:140px;margin-left:-150px;}
-.stats_referers .liste-items.referers li.referer .miniature {margin-left:-295px;float:left;max-width:140px;}
-.stats_referers .liste-items.referers li.referer ul {margin-left:15px;padding-left:0;}
+.stats_referers .liste-items.referers li.referer .miniature {float:right;}
+.stats_referers .liste-items.referers li.referer .miniature img {max-width:60px;height: auto;}
+.stats_referers .liste-items.referers li.referer ul {margin-left:0;padding-left:0;}
 .stats_referers .liste-items.referers li.referer ul li {margin-left:0px;padding-left:0;}
 .stats_referers .action.plus {text-align:right;font-size:1.5em;font-weight:bold;}
 
 .stats_repartition .couleur_cumul { background: #GET{foncee}; }
 .stats_repartition .couleur_nombre { background: #GET{claire}; }
+.stats_repartition table h3,.stats_repartition table table {margin-bottom: 0;padding-bottom: 0;padding-top: 0;}
+.stats_repartition table h3 {font-size: inherit;margin-bottom: 3px;margin-top:3px;}
+.stats_repartition table {margin: 0;}
+.stats_repartition table + p,.stats_repartition .bloc_depliable + p {margin-top: 1em;}
+.stats_repartition table td {padding: 2px 5px;vertical-align: middle;}
+.stats_repartition table table td {padding: 0;}
 .stats_lang .couleur_langue { background: #GET{foncee}; }
 .stats_lang table p {padding-left:10px;margin:2px 0;}
 [(#REM)        </style>]
index 499a933..e3f7386 100644 (file)
  *   true si l'opération est correctement réalisée
  */
 function action_teleporter_composant_dist($methode,$source,$dest,$options=array()){
-
        # Si definie a '', le chargeur est interdit ; mais on n'aurait de toutes
        # facons jamais pu venir ici avec toutes les securisations faites :^)
-       if (!_DIR_PLUGINS_AUTO) die('jamais');
+
+       if (!preg_match(','.substr(_DIR_LIB,0,-1).',',$dest) && !_DIR_PLUGINS_AUTO) 
+               die('Vous ne pouvez pas télécharger, absence de _DIR_PLUGINS_AUTO');
 
        // verifier que la methode est connue
        if (!$teleporter =  charger_fonction($methode,"teleporter",true)){
index 9676bc9..17ad64d 100755 (executable)
@@ -2,10 +2,10 @@
 <B_plugins>
 <div class="liste plugins" id="liste_plugins">
        <ul class="liste-items">
-<BOUCLE_plugins(PAQUETS plugins){tout}{par multi nom, paquets.prefixe}{!par constante, actif}{id_depot=0}{actif ?}{constante ?IN #ENV{constante}}>
+       <BOUCLE_plugins(PAQUETS plugins){tout}{par multi nom, paquets.prefixe}{!par constante, actif}{id_depot=0}{actif ?}{constante ?IN #ENV{constante}}>
                #SET{incompatible, #COMPATIBILITE_SPIP|plugin_version_compatible{#GET{vspip}, spip}|non}
                #SET{verrou,#CONSTANTE|=={_DIR_PLUGINS_DIST}|oui}
-               <li class="item[ (#ACTIF|=={oui}|?{actif,inactif})][(#OBSOLETE|=={oui}|ou{#ATTENTE|=={oui}}|ou{#GET{incompatible}}|oui) disabled][(#GET{incompatible}|oui) incompatible][(#GET{verrou}|oui) verrou][(#MAJ_VERSION|ouiup]"[ id="(#PREFIXE|strtolower)-#COMPTEUR_BOUCLE"][ data-id_paquet="(#ID_PAQUET)"]>
+               <li class="item[ (#ACTIF|=={oui}|?{actif,inactif})][(#OBSOLETE|=={oui}|ou{#ATTENTE|=={oui}}|ou{#GET{incompatible}}|oui) disabled][(#GET{incompatible}|oui) incompatible][(#GET{verrou}|oui) verrou][(#MAJ_VERSION|oui|et{#AUTORISER{plugins_ajouter}|oui}|oui)up]"[ id="(#PREFIXE|strtolower)-#COMPTEUR_BOUCLE"][ data-id_paquet="(#ID_PAQUET)"]>
                        [(#OBSOLETE|=={non}|et{#CONSTANTE|!={_DIR_PLUGINS_DIST}}|et{#GET{incompatible}|non}|ou{#ATTENTE|=={oui}}|oui)
                        <div class="check">
                                <input type="checkbox" class="checkbox select_plugin" name="ids_paquet\[\]" value="#ID_PAQUET"
@@ -26,7 +26,8 @@
                                <span class="version">[(#VERSION)]</span>
                                <span class="etat">[ - (#ETAT)]</span>
                                [(#SET{erreur,[<span class="information">(#OBSOLETE|=={oui}|oui)<:svp:info_plugin_obsolete:></span> ]})]
-                               [(#SET{erreur,[(#GET{erreur}|concat{[- <span class="information">(#ATTENTE|=={oui}|oui)<:svp:info_plugin_attente_dependance:></span> ]})]})]
+                               [(#SET{erreur,[(#GET{erreur}|concat{[- <span class="information">(#ATTENTE|=={oui}|et{#AUTORISER{plugins_ajouter}|non}|oui)<:svp:info_plugin_attente_dependance_interdit:></span> ]})]})]
+                               [(#SET{erreur,[(#GET{erreur}|concat{[- <span class="information">(#ATTENTE|=={oui}|et{#AUTORISER{plugins_ajouter}|oui}|oui)<:svp:info_plugin_attente_dependance:></span> ]})]})]
                                [(#SET{erreur,[(#GET{erreur}|concat{[- <span class="information">(#GET{incompatible}|oui)<:svp:info_plugin_incompatible:></span>]})]})]
                                <div class="short">[(#GET{erreur}|ltrim{'-'}|sinon{#SLOGAN|extraire_multi|typo|sinon{#DESCRIPTION|extraire_multi|propre}|PtoBR|explode{'<br />'}|reset|couper{80}})]</div>
                                [(#LOGO|oui)<div class="icon">
                        ]
                        [(#OBSOLETE|=={non}|et{#CONSTANTE|!={_DIR_PLUGINS_DIST}}|et{#GET{incompatible}|non}|oui)
                                [(#ACTIF|=={oui}|non|ou{#ATTENTE|=={oui}})
-                                       <input type="submit" name="[(#ID_PAQUET|svp_nom_action{on})]" class="submit" value="<:svp:bouton_activer:>" />
+                                       [(#ACTIF|=={oui}|non|ou{#ATTENTE|=={oui}|oui|et{#AUTORISER{plugins_ajouter}|oui}}|oui)
+                                       <input type="submit" name="[(#ID_PAQUET|svp_nom_action{on})]" class="submit" value="<:svp:bouton_activer:>" />]
                                ]
-                               [(#MAJ_VERSION|oui)
+                               [(#MAJ_VERSION|oui|et{#AUTORISER{plugins_ajouter}|oui}|oui)
                                        <input type="submit" name="[(#ID_PAQUET|svp_nom_action{up})]" class="submit" value="<:svp:bouton_up:>" />
                                ]
                        ]
@@ -72,7 +74,7 @@
                        [(#GET{verrou})
                                [(#CHEMIN_IMAGE{cadenas-16.png}|balise_img{<:svp:plugin_info_verrouille:>,picto_verrou}|inserer_attribut{title,<:svp:plugin_info_verrouille:>})]
                        ]
-                       [(#MAJ_VERSION|oui)
+                       [(#MAJ_VERSION|oui|et{#AUTORISER{plugins_ajouter}|oui}|oui)
                        [(#CHEMIN_IMAGE{update-16.png}|balise_img{<:svp:plugin_info_up:>,picto_up}|inserer_attribut{title,<:svp:plugin_info_up{version=#MAJ_VERSION}:>})]
                        ]
                        [(#OBSOLETE|=={oui}|ou{#GET{incompatible}}|ou{#ATTENTE|=={oui}}|oui)
@@ -84,7 +86,7 @@
                        ][(#ENV{id_paquet}|=={#ID_PAQUET}|?{#SET{id_paquet,#ID_PAQUET},#SET{id_paquet,0}})]
                        [(#INCLURE{fond=prive/squelettes/inclure/plugin_detail,id_paquet=#GET{id_paquet},ajax=detail_#ID_PAQUET,env})]
                </li>
-</BOUCLE_plugins>
+       </BOUCLE_plugins>
        </ul>
 </div>
 </B_plugins>
index 93d0dfe..cf4e7a6 100644 (file)
@@ -1037,6 +1037,11 @@ class Actionneur {
                        $this->log("/!\ Ne peut pas écrire dans _DIR_LIB !");
                        return false;
                }
+               if(!autoriser('plugins_ajouter')){
+                       $this->err(_T('svp:erreur_auth_plugins_ajouter_lib'));
+                       $this->log("/!\ Pas autorisé à ajouter des libs !");
+                       return false;
+               }
 
                $this->log("Recuperer la librairie : " . $info['n'] );
 
index 3ff4869..be61411 100644 (file)
@@ -6,8 +6,8 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/paquet-svp?lang_cible=en">
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="_Eric_" lien="http://trad.spip.net/auteur/_eric_" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/paquet-svp?lang_cible=es">
                <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
index 650db3f..da2c3fe 100644 (file)
@@ -6,13 +6,14 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/svp?lang_cible=en">
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Benitron" lien="http://trad.spip.net/auteur/benitron" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/svp?lang_cible=es">
-               <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
+               <traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
                <traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel" />
        </langue>
        <langue code="fa" url="http://trad.spip.net/tradlang_module/svp?lang_cible=fa">
index 7e7278b..d601518 100644 (file)
@@ -75,6 +75,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // E
        'erreur_actions_non_traitees' => 'لقد تم تنفيذ بعض العمليات. قد يأتي ذلك من خطأ في عمليات ستنفذ او من عرض هذه الصفحة بينما هناك عمليات قيد التنفيذ. تم إطلاق العمليات من قبل @auteur@ في @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'الأذونات الضرورية غير متوافرة لإضافة مكتبة.',
        'erreur_dir_dib_ecriture' => 'مجلد المكتبات @dir@ غير متاح للكتابة. لا يمكن تغيير اي مكتبة داخله!',
        'erreur_dir_dib_indefini' => 'المجلد _DIR_LIB غير محدد. لا يمكن تغيير اي مكتبة داخله!',
        'erreur_dir_plugins_auto' => 'المجلد «plugins/auto» الذي يتيح تحميل الرزم 
index 040b866..df68a19 100644 (file)
@@ -75,6 +75,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // E
        'erreur_actions_non_traitees' => 'Manche Aktionen konnten nicht ausgefühert werden. Die Ursache kann entweder ein Ausführungsfehler sein, oder diese Seite wurde neu geladen, währen die Aktionen noch nicht abgeschlossen waren. Die Aktionen wurden von @auteur@ am @date@ ausgelöst.',
+       'erreur_auth_plugins_ajouter_lib' => 'Vous n\'avez pas les droits nécessaires pour ajouter une librairie.', # NEW
        'erreur_dir_dib_ecriture' => 'In das Verzeichnis für Bibliotheken @dir@ kann nicht geschrieben werden. Bibliotheken können nicht geladen werden!',
        'erreur_dir_dib_indefini' => 'Das Verzeichnis _DIR_LIB wurde nicht definiert. Bibliotheken können dadurch nicht geladen werden !',
        'erreur_dir_plugins_auto' => 'Das Verzeichnis « plugins/auto », in das Pakete geladen werden,
index a996778..44df8da 100644 (file)
@@ -75,6 +75,7 @@ You must confirm this action.',
 
        // E
        'erreur_actions_non_traitees' => 'Some actions have not been performed. This may be due to an error during actions to be processed, or of a display of this page while actions are still pending. Actions were initiated by @auteur@ at @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'You do not have permission to add a library.',
        'erreur_dir_dib_ecriture' => 'The library directory @dir@ is not writable. Impossible to load a library!',
        'erreur_dir_dib_indefini' => '_DIR_LIB directory is not defined. Impossible to load a library!',
        'erreur_dir_plugins_auto' => 'The directory "plugins/auto" allowing to download packages
index cbe91ed..cdfffe6 100644 (file)
@@ -72,6 +72,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // E
        'erreur_actions_non_traitees' => 'Ciertas acciones no fueron realizadas. Esto puede provenir de un error durante las acciones por realizar, o de la activación de esta página mientras las acciones aún están en curso. Las acciones fueron lanzadas por @auteur@ el @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'No dispone de los derechos necesarios para añadir una biblioteca.',
        'erreur_dir_dib_ecriture' => 'El reprertorio de las bibliotecas @dir@ no está accesible en escritura. ¡Imposible cargar en él una biblioteca!',
        'erreur_dir_dib_indefini' => 'El repertorio _DIR_LIB no está définido. ¡Imposible cargar una biblioteca!',
        'erreur_dir_plugins_auto' => 'El repertorio «plugins/auto» que permite desargar paquetes no está creado o no tenemos acceso en escritura             <strong>Tienes que crearlo para poder instalar nuevos plugins desde esta interfaz.</strong>',
index a0c5424..79eb91b 100644 (file)
@@ -80,6 +80,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // E
        'erreur_actions_non_traitees' => 'بعضي از اقدام‌ها انجام نشده است. اين مي‌تواند ناشي از بروز خطا،حين پردازش آن اقدام‌ها، يا ناشي از نمايش اين صفحه هنگامي كه آن اقدام‌ها در دست پردازش بوده‌اند، باشد. اقدام‌ها به وسيله‌ي @auteur@در تاريخ @date@شروع شده‌اند. ',
+       'erreur_auth_plugins_ajouter_lib' => 'Vous n\'avez pas les droits nécessaires pour ajouter une librairie.', # NEW
        'erreur_dir_dib_ecriture' => 'پوشه‌ي آرشيو‌هاي @dir@ قابل نوشتن نيستب. بارگذاري يك آرشيو ممكن نيست.  ',
        'erreur_dir_dib_indefini' => 'پوشه‌ي  _DIR_LIB تعريف نشده. بارگذاري يك آرشيو ممكن نيست.',
        'erreur_dir_plugins_auto' => 'پوشه‌ي «plugins/auto»  كه اجازه‌ي بارگذاري پاكت‌ها را مي‌دهد ايجاد نشده يا در دسترس نوشتن نيست. 
index c92c41f..f16c6ea 100644 (file)
@@ -73,6 +73,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // E
        'erreur_actions_non_traitees' => 'Certaines actions n\'ont pas été réalisées. Cela peut provenir d\'une erreur lors des actions à réaliser, ou d\'un affichage de cette page alors que des actions sont encore en cours. Les actions avaient été lancées par @auteur@ le @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'Vous n\'avez pas les droits nécessaires pour ajouter une librairie.',
        'erreur_dir_dib_ecriture' => 'Le répertoire des bibliothèques @dir@ n\'est pas accessible en écriture. Impossible d\'y charger une bibliothèque !',
        'erreur_dir_dib_indefini' => 'Le répertoire _DIR_LIB n\'est pas défini. Impossible d\'y charger une bibliothèque !',
        'erreur_dir_plugins_auto' => 'Le répertoire « plugins/auto » permettant de télécharger des paquets
index 7b67363..585cf68 100644 (file)
@@ -75,6 +75,7 @@ Devi confermare questa azione.',
 
        // E
        'erreur_actions_non_traitees' => 'Alcune azioni non possono essere eseguite. Questo potrebbe dipendere da un\'errore intercorso durante l\'esecuzione dell\'azione oppure dalla visualizzazione di questa pagina mentre le azioni erano in attesa. Le azioni sono state iniziare da @auteur@ il @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'Vous n\'avez pas les droits nécessaires pour ajouter une librairie.', # NEW
        'erreur_dir_dib_ecriture' => 'La directory della libreria @dir@ non è scrivibile. Impossibile caricare una libreria!',
        'erreur_dir_dib_indefini' => 'La directory _DIR_LIB non è definita. Impossibile caricare la libreria!',
        'erreur_dir_plugins_auto' => 'La directory "plugins/auto" che permette il download dei pacchetti non esiste oppure non è scrivibile
index 64e2502..9a833a3 100644 (file)
@@ -76,6 +76,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // E
        'erreur_actions_non_traitees' => 'Некоторые операции не были выполнены. Возможно, были ошибки в процессе выполнения. Выполнение операции инициировал @auteur@  @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'Не достаточно прав для того, что бы установить библиотеку.',
        'erreur_dir_dib_ecriture' => 'Отсутствуют права на запись папки @dir@. Невозможно загркзить библиотеку!',
        'erreur_dir_dib_indefini' => 'Не задано значение _DIR_LIB. Невозможно загрузить библиотеку!',
        'erreur_dir_plugins_auto' => 'Папка « plugins/auto » позволяющая добавлять плагины из административной части сайта не создана или не хватает прав для записи в нее. Если вы хотите иметь такую возможность, то <strong>вам необходимо ее создать или установить права доступа 777 ( если такая папка существует)</strong>.',
index 6b12af2..c87f867 100644 (file)
@@ -88,6 +88,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
        // E
        'erreur_actions_non_traitees' => 'Niektoré akcie neboli vykonané.
                        Mohlo sa to stať kvôli chybám v akciách, ktoré bolo treba vykonať, alebo kvôli chybe v zobrazení tejto stránky, zatiaľčo akcie čakajú, kým budú vykonané. Akcie spustil(a) @auteur@ @date@.',
+       'erreur_auth_plugins_ajouter_lib' => 'Vous n\'avez pas les droits nécessaires pour ajouter une librairie.', # NEW
        'erreur_dir_dib_ecriture' => 'Do adresára knižníc @dir@ sa nedá zapisovať. Knižnica sa nedá spustiť!',
        'erreur_dir_dib_indefini' => 'Priečinok _DIR_LIB nie je definovaný. Knižnica sa nedá spustiť!',
        'erreur_dir_plugins_auto' => 'Priečinok "plugins/auto" na stiahnutie balíkov
index 6feb796..14f9067 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="svp"
        categorie="maintenance"
-       version="0.80.12"
+       version="0.80.14"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="svp-64.png"
index cc34621..7c6e955 100644 (file)
@@ -212,6 +212,9 @@ function nettoyer_raccourcis_typo($texte, $connect='')
                        $texte = str_replace($reg[0], $titre, $texte);
                }
 
+       // supprimer les ancres
+       $texte = preg_replace(_RACCOURCI_ANCRE,"",$texte);
+
        // supprimer les notes
        $texte = preg_replace(",[[][[]([^]]|[]][^]])*[]][]],UimsS","",$texte);
 
index 8916eab..0892d04 100644 (file)
@@ -1,3 +1,6 @@
 <traduction module="tw" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_core_/plugins/textwheel/lang/" reference="fr">
+       <langue code="en" url="http://trad.spip.net/tradlang_module/334?lang_cible=en">
+               <traducteur nom="Benitron" lien="http://trad.spip.net/auteur/benitron" />
+       </langue>
        <langue code="fr" />
 </traduction>
diff --git a/www/plugins-dist/textwheel/lang/tw_en.php b/www/plugins-dist/textwheel/lang/tw_en.php
new file mode 100644 (file)
index 0000000..98926e3
--- /dev/null
@@ -0,0 +1,16 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+// extrait automatiquement de http://trad.spip.net/tradlang_module/334?lang_cible=en
+// ** ne pas modifier le fichier **
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+       // R
+       'retour_ligne_auto' => 'Automatic word wrap',
+       'retour_ligne_ignore' => 'Ignore word wrap',
+       'retour_ligne_manuel' => 'Manual word wrap'
+);
+
+?>
index 52eb259..4ece2f2 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="tw"
        categorie="edition"
-       version="0.8.16"
+       version="0.8.17"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="textwheel-32.png"
index b5b82f3..4de11e3 100644 (file)
@@ -61,7 +61,7 @@ function typographie_fr($t) {
        }
 
        /* 2 */
-       $t = preg_replace('/&#187;| --?,|(?::| %)(?:\W|$)/S', '~$0', $t);
+       $t = preg_replace('/&#187;| --?,|(?::(?!:)| %)(?:\W|$)/S', '~$0', $t);
 
        /* 3 */
        $t = preg_replace('/[!?][!?\.]*/S', "$pro~$0", $t, -1, $c);
index 2500c70..cf033ee 100644 (file)
@@ -6,8 +6,8 @@
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/paquet-urls?lang_cible=en">
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/paquet-urls?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
@@ -20,8 +20,8 @@
                <traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
        </langue>
        <langue code="nl" url="http://trad.spip.net/tradlang_module/paquet-urls?lang_cible=nl">
-               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
                <traducteur nom="gerbrand" lien="http://trad.spip.net/auteur/gerbrand" />
+               <traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
        </langue>
        <langue code="pt_br" url="http://trad.spip.net/tradlang_module/paquet-urls?lang_cible=pt_br">
                <traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
index 7eda167..7c093dc 100644 (file)
@@ -4,13 +4,14 @@
        </langue>
        <langue code="de" url="http://trad.spip.net/tradlang_module/urls?lang_cible=de">
                <traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
+               <traducteur nom="Torsten Willmann" lien="http://trad.spip.net/auteur/torsten-willmann" />
        </langue>
        <langue code="en" url="http://trad.spip.net/tradlang_module/urls?lang_cible=en">
-               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
-               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
                <traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
-               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
                <traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
+               <traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
+               <traducteur nom="Paolo" lien="http://trad.spip.net/auteur/paolo" />
+               <traducteur nom="sQuonk" lien="http://trad.spip.net/auteur/squonk" />
        </langue>
        <langue code="es" url="http://trad.spip.net/tradlang_module/urls?lang_cible=es">
                <traducteur nom="dani" lien="http://trad.spip.net/auteur/dani" />
index 46ea9a5..3565b11 100644 (file)
@@ -9,9 +9,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'actualiser_toutes' => 'Alle URLs aktualisieren',
-       'actualiser_toutes_explication' => 'Vous pouvez recalculer les URLs.
-               Si une URL a changé, une nouvelle entrée sera créée (sans perdre les URLs déjà
-               présentes et sans affecter les URLs définies manuellement.', # NEW
+       'actualiser_toutes_explication' => 'Sie können die URLs neu berechnen. Wenn eine URL sich verändert hat wird ein neuer Eintrag erzeugt (ohne bereits bestehende URLs zu löschen und ohne Einfuss auf manuell festgelegte URLs)',
 
        // B
        'bouton_supprimer_url' => 'Diesen URL löschen',
index 1914774..74c6f37 100644 (file)
@@ -9,9 +9,8 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
 
        // A
        'actualiser_toutes' => 'Обновить все URL',
-       'actualiser_toutes_explication' => 'Vous pouvez recalculer les URLs.
-               Si une URL a changé, une nouvelle entrée sera créée (sans perdre les URLs déjà
-               présentes et sans affecter les URLs définies manuellement.', # NEW
+       'actualiser_toutes_explication' => 'Вы можете перегенерировать URLы.
+               Если URL был изменен, то будет создан новый (предыдущий URL сохранится, а ссылки, заданные вручную, не изменятся).',
 
        // B
        'bouton_supprimer_url' => 'Удалить URL',
index 8a91e56..9db8671 100644 (file)
@@ -214,10 +214,12 @@ function declarer_url_arbo_rec($url,$type,$parent,$type_parent){
        if (is_null($parent)){
                return $url;
        }
-       if($parent==0)
+       // Si pas de parent ou si son URL est vide, on ne renvoit que l'URL de l'objet en court
+       if ($parent==0 or !($url_parent = declarer_url_arbo($type_parent?$type_parent:'rubrique',$parent))){
                return rtrim($url,'/');
+       }
+       // Sinon on renvoit l'URL de l'objet concaténée avec celle du parent
        else {
-               $url_parent = declarer_url_arbo($type_parent?$type_parent:'rubrique',$parent);
                return rtrim($url_parent,'/') . '/' . rtrim($url,'/');
        }
 }
index ad713ee..a028cc6 100644 (file)
@@ -1,7 +1,7 @@
 <paquet
        prefix="vertebres"
        categorie="outil"
-       version="1.2.1"
+       version="1.2.2"
        etat="stable"
        compatibilite="[3.0.0;3.0.*]"
        logo="images/vertebres-32.png"
index 66a3d77..4bfad5e 100755 (executable)
@@ -73,7 +73,7 @@ function vertebrer_crit($v)
 {
        $res = "";
        foreach($v as $n => $t) {
-               if (!in_array($n, array('date', 'date_redac', 'lang')))
+               if (!in_array($n, array('date', 'date_redac', 'lang', 'recherche','logo')))
                        $res .= "\n\t\t{" . $n .  " ?}";
        }
        return $res;
@@ -91,7 +91,7 @@ function vertebrer_cell($fields)
 {
        $res = "";
        foreach($fields as $n => $t) {
-               $texte = "#" . strtoupper($n);
+               $texte = "#CHAMP_SQL{".$n."}";
                if (preg_match('/\s+references\s+([\w_]+)/' , $t, $r)) {
                        $url = "[(#SELF|parametre_url{page,'" . $r[1] . "'})]";
                        $texte = "<a href='$url'>" . $texte . "</a>";
index b9bc41f..4038bae 100644 (file)
@@ -1,5 +1,5 @@
 <h1>[(#OBJET|objet_info{texte_objets}|_T)]</h1>
 <INCLURE{fond=prive/objets/liste/#OBJET|objet_info{table_objet},env,ajax,sinon=#OBJET|objet_info{info_aucun_objet}|_T} />
 [(#OBJET|objet_info{editable}|et{#AUTORISER{creer,#OBJET}})
-       [(#REM|generer_url_ecrire_entite_edit{#OBJET}|parametre_url{new,oui}|icone_verticale{[(#OBJET|objet_info{texte_creer}|_T)],#OBJET,new,right})]
+       [(#REM|generer_url_ecrire_entite_edit{#OBJET}|parametre_url{new,oui}|icone_verticale{[(#OBJET|objet_info{texte_creer}|_T)],[(#OBJET|objet_info{icone_objet})],new,right})]
 ]
index 025dd93..37eb24f 100644 (file)
@@ -84,7 +84,7 @@ function url_vignette_choix($process){
                                return '';
                        break;
                case 'netpbm':
-                       if (!defined('_PNMSCALE_COMMAND') OR _PNMSCALE_COMMAND=='')
+                       if (defined('_PNMSCALE_COMMAND') AND _PNMSCALE_COMMAND=='')
                                return '';
                        break;
                case 'imagick':
@@ -92,7 +92,7 @@ function url_vignette_choix($process){
                                return '';
                        break;
                case 'convert':
-                       if (!defined('_CONVERT_COMMAND') OR _CONVERT_COMMAND=='')
+                       if (defined('_CONVERT_COMMAND') AND _CONVERT_COMMAND=='')
                                return '';
                        break;
        }
index f0450f6..764314f 100644 (file)
@@ -29,7 +29,7 @@
                                <label for="password"><:login_pass2:></label>[
                                <span class="erreur_message">(#ENV**{erreurs}|table_valeur{password})</span>
                                ]<input type='password' class='text password' name='password' id='password' value="" size='40' autocapitalize="off" autocorrect="off" />
-                               <p class='details'><a href="#URL_PAGE{spip_pass}" id='spip_pass'><:login_motpasseoublie:></a></p>
+                               <p class='details'><a href="[(#URL_PAGE{spip_pass}|parametre_url{lang,#LANG})]" id='spip_pass'><:login_motpasseoublie:></a></p>
                        </li>
                        [(#ENV{rester_connecte})
                        <li class="editer editer_session"><div class='choix'>
index e205d3e..f54a9b4 100644 (file)
@@ -22,4 +22,4 @@
          <p class='boutons' style="display:none;"><span class='image_loading'>&nbsp;</span><input type='submit' class='submit' value='<:bouton_changer:>' /></p>
        </div></form>
        ]
-</div>
\ No newline at end of file
+</div>
index 6708be5..05f5b2a 100644 (file)
@@ -14,6 +14,10 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 
 function formulaires_rediriger_article_charger_dist($id_article,$retour=''){
 
+       include_spip('inc/autoriser');
+       if (!autoriser('modifier', 'article', $id_article))
+               return false;
+
        $row = sql_fetsel('id_article,virtuel','spip_articles','id_article='.intval($id_article));
        if (!$row['id_article'])
                return false;
index e2e9692..57c0c6c 100644 (file)
@@ -1,5 +1,6 @@
-<script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}';</script>
-<script type='text/javascript' src='#CHEMIN{formulaires/selecteur/jquery.picker.js}'></script>
+<script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}';
+jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
+</script>
 [(#REM)
 
 afficher la selection dans un ul class item_picked
index 7889ffa..635c135 100644 (file)
@@ -1,7 +1,8 @@
 #SET{img_unpick, #CHEMIN_IMAGE{supprimer-12.png}}
 [(#SET{label_supprimer, <:lien_supprimer:>})]
-<script type='text/javascript'>var identifiant_selecteur = 'selecteur_#ENV{name}'; var img_unpick='#GET{img_unpick}'; var selecteur_label_supprimer='#GET{label_supprimer}';</script>
-<script type='text/javascript' src='#CHEMIN{formulaires/selecteur/jquery.picker.js}'></script>
+<script type='text/javascript'>var identifiant_selecteur = 'selecteur_#ENV{name}'; var img_unpick='#GET{img_unpick}'; var selecteur_label_supprimer='#GET{label_supprimer}';
+jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
+</script>
 [(#REM)
 
 afficher la selection dans un ul class item_picked
@@ -60,10 +61,9 @@ afficher la selection dans un ul class item_picked
 </div>
 
 [(#ENV{sortable,'non'}|=={oui}|oui)
-<script type='text/javascript' src='#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}'></script>
 <script type='text/javascript'>
-jQuery(function() {
-               jQuery("ul.item_picked").sortable();
-       });
+jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){
+       jQuery(function() {jQuery("ul.item_picked").sortable(); });
+});
 </script>
 ]
index 3fee833..fa8bccd 100644 (file)
@@ -1,5 +1,6 @@
-<script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}';</script>
-<script type='text/javascript' src='#CHEMIN{formulaires/selecteur/jquery.picker.js}'></script>
+<script type='text/javascript'>var img_unpick='#CHEMIN_IMAGE{supprimer-12.png}';
+jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery.picker.js}');
+</script>
 [(#REM)
 
 afficher la selection dans un ul class item_picked
@@ -26,10 +27,9 @@ afficher la selection dans un ul class item_picked
 <INCLURE{fond=formulaires/selecteur/picker-ajax}{id_rubrique=#GET{id_rubrique}}{id_article}{rubriques=1}{articles=0}{ajax}{env}>
 </div>
 [(#ENV{sortable,'non'}|=={oui}|oui)
-<script type='text/javascript' src='#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}'></script>
 <script type='text/javascript'>
-jQuery(function() {
-               jQuery("ul.item_picked").sortable();
-       });
+jQuery.getScript('#CHEMIN{formulaires/selecteur/jquery-ui-1.8.custom.js}',function(){
+       jQuery(function() {jQuery("ul.item_picked").sortable(); });
+});
 </script>
 ]
\ No newline at end of file
index 261722b..0e268e7 100644 (file)
@@ -42,7 +42,7 @@
                                ]
                                [(#ENV{_lister_id_trad}|non)
                                <li class="editer editer_id_trad long_label[(#ENV**{erreurs}|table_valeur{id_trad}|oui)erreur][(#ENV{_saisie_en_cours}|non)none-js]">
-                                       <label for="id_trad"><:trad_lier:></label>[
+                                       <label for="id_trad">[(#ENV{_objet}|objet_info{texte_definir_comme_traduction_objet}|_T)]</label>[
                                        <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_trad})</span>
                                        ]<input type="text" class="text" name="id_trad" id="id_trad" value="[(#ENV{id_trad}|?{#ENV{id_trad}})]"
                                                onkeypress="$(this).parents('form').find('.boutons').slideDown();"/>
index ffeabc5..d752b70 100644 (file)
@@ -22,25 +22,28 @@ function informer_auteur($bof)
        include_spip('inc/auth');
        $login = strval(_request('var_login'));
        $row = auth_informer_login($login);
-       if ($row AND is_array($row))
+       if ($row AND is_array($row)) {
                unset($row['id_auteur']);
+       }
+       // permettre d'autoriser l'envoi de password non crypte lorsque
+       // l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas
+       // de premiere authentification via SPIP a une autre application.
+       else if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) {
+               $row = array();
+       }
+       // generer de fausses infos, mais credibles, pour eviter une attaque
+       // http://core.spip.org/issues/1758
        else {
-               // permettre d'autoriser l'envoi de password non crypte lorsque
-               // l'auteur n'est pas (encore) declare dans SPIP, par exemple pour les cas
-               // de premiere authentification via SPIP a une autre application.
-               if (defined('_AUTORISER_AUTH_FAIBLE') and _AUTORISER_AUTH_FAIBLE) {
-                       $row = array();
-               }
-               // piocher les infos sur un autre login
-               elseif ($n = sql_countsel('spip_auteurs',"login<>''")){
-                       $n = (abs(crc32($login))%$n);
-                       $row = auth_informer_login(sql_getfetsel('login','spip_auteurs',"login<>''",'','',"$n,1"));
-                       if ($row AND is_array($row)){
-                               unset($row['id_auteur']);
-                               $row['login'] = $login;
-                       }
-               }
-               else  $row = array();
+               include_spip('inc/securiser_action');
+               $fauxalea1 = md5('fauxalea'.secret_du_site().$login.floor(date('U')/86400));
+               $fauxalea2 = md5('fauxalea'.secret_du_site().$login.ceil(date('U')/86400));
+
+               $row = array('login' => $login,
+                'cnx' => 0,
+                'logo' => "",
+                'alea_actuel' => substr_replace($fauxalea1,'.',24,0),
+                'alea_futur' => substr_replace($fauxalea2,'.',24,0)
+               );
        }
 
        return json_export($row);
index 27bba46..118fc31 100644 (file)
@@ -78,8 +78,11 @@ if(!jQuery.spip.load_handlers) {
        jQuery.ajax = function(type) {
                var s = jQuery.extend(true, {}, jQuery.ajaxSettings, type);
                var callbackContext = s.context || s;
-               if (jQuery.ajax.caller==jQuery.spip.intercepted.load || jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
-                       return jQuery.spip.intercepted.ajax(type);
+               try {
+                       if (jQuery.ajax.caller==jQuery.spip.intercepted.load || jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
+                               return jQuery.spip.intercepted.ajax(type);
+               }
+               catch (err){}
                var orig_complete = s.complete || function() {};
                type.complete = function(res,status) {
                        // Do not fire OnAjaxLoad if the dataType is not html
diff --git a/www/prive/javascript/login-sha-min.js b/www/prive/javascript/login-sha-min.js
new file mode 100644 (file)
index 0000000..14738ff
--- /dev/null
@@ -0,0 +1,132 @@
+/**
+ * Fichiers sha256.js et login.js concaténés et minifiés
+ */
+var chrsz=8;
+function safe_add(x,y){
+var lsw=(x&0xFFFF)+(y&0xFFFF);
+var msw=(x>>16)+(y>>16)+(lsw>>16);
+return(msw<<16)|(lsw&0xFFFF);
+}
+function S(X,n){return(X>>>n)|(X<<(32-n));}
+function R(X,n){return(X>>>n);}
+function Ch(x,y,z){return((x&y)^((~x)&z));}
+function Maj(x,y,z){return((x&y)^(x&z)^(y&z));}
+function Sigma0256(x){return(S(x,2)^S(x,13)^S(x,22));}
+function Sigma1256(x){return(S(x,6)^S(x,11)^S(x,25));}
+function Gamma0256(x){return(S(x,7)^S(x,18)^R(x,3));}
+function Gamma1256(x){return(S(x,17)^S(x,19)^R(x,10));}
+function core_sha256(m,l){
+var K=new Array(0x428A2F98,0x71374491,0xB5C0FBCF,0xE9B5DBA5,0x3956C25B,0x59F111F1,0x923F82A4,0xAB1C5ED5,0xD807AA98,0x12835B01,0x243185BE,0x550C7DC3,0x72BE5D74,0x80DEB1FE,0x9BDC06A7,0xC19BF174,0xE49B69C1,0xEFBE4786,0xFC19DC6,0x240CA1CC,0x2DE92C6F,0x4A7484AA,0x5CB0A9DC,0x76F988DA,0x983E5152,0xA831C66D,0xB00327C8,0xBF597FC7,0xC6E00BF3,0xD5A79147,0x6CA6351,0x14292967,0x27B70A85,0x2E1B2138,0x4D2C6DFC,0x53380D13,0x650A7354,0x766A0ABB,0x81C2C92E,0x92722C85,0xA2BFE8A1,0xA81A664B,0xC24B8B70,0xC76C51A3,0xD192E819,0xD6990624,0xF40E3585,0x106AA070,0x19A4C116,0x1E376C08,0x2748774C,0x34B0BCB5,0x391C0CB3,0x4ED8AA4A,0x5B9CCA4F,0x682E6FF3,0x748F82EE,0x78A5636F,0x84C87814,0x8CC70208,0x90BEFFFA,0xA4506CEB,0xBEF9A3F7,0xC67178F2);
+var HASH=new Array(0x6A09E667,0xBB67AE85,0x3C6EF372,0xA54FF53A,0x510E527F,0x9B05688C,0x1F83D9AB,0x5BE0CD19);
+var W=new Array(64);
+var a,b,c,d,e,f,g,h,i,j;
+var T1,T2;
+m[l>>5]|=0x80<<(24-l%32);
+m[((l+32>>9)<<4)+15]=l;
+for(var i=0;i<m.length;i+=16){
+a=HASH[0];b=HASH[1];c=HASH[2];d=HASH[3];e=HASH[4];f=HASH[5];g=HASH[6];h=HASH[7];
+for(var j=0;j<64;j++){
+if(j<16)W[j]=m[j+i];
+else W[j]=safe_add(safe_add(safe_add(Gamma1256(W[j-2]),W[j-7]),Gamma0256(W[j-15])),W[j-16]);
+T1=safe_add(safe_add(safe_add(safe_add(h,Sigma1256(e)),Ch(e,f,g)),K[j]),W[j]);
+T2=safe_add(Sigma0256(a),Maj(a,b,c));
+h=g;g=f;f=e;e=safe_add(d,T1);d=c;c=b;b=a;a=safe_add(T1,T2);
+}
+HASH[0]=safe_add(a,HASH[0]);HASH[1]=safe_add(b,HASH[1]);HASH[2]=safe_add(c,HASH[2]);HASH[3]=safe_add(d,HASH[3]);HASH[4]=safe_add(e,HASH[4]);HASH[5]=safe_add(f,HASH[5]);HASH[6]=safe_add(g,HASH[6]);HASH[7]=safe_add(h,HASH[7]);
+}
+return HASH;
+}
+function str2binb(str){
+var bin=Array();
+var i;
+chrsz=8;
+for(i=0;i<str.length;i++)
+if(str.charCodeAt(i)>0x7F)
+chrsz=16;
+var mask=(1<<chrsz)-1;
+for(i=0;i<str.length*chrsz;i+=chrsz)
+bin[i>>5]|=(str.charCodeAt(i/chrsz)&mask)<<(24-i%32);
+return bin;
+}
+function binb2hex(binarray){
+var hexcase=0;
+var hex_tab=hexcase?"0123456789ABCDEF":"0123456789abcdef";
+var str="";
+for(var i=0;i<binarray.length*4;i++){
+str+=hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8+4))&0xF)+hex_tab.charAt((binarray[i>>2]>>((3-i%4)*8))&0xF);
+}
+return str;
+}
+function hex_sha256(s){return binb2hex(core_sha256(str2binb(s),s.length*chrsz));}
+function sha256_self_test(){
+return hex_sha256("message digest")=="f7846f55cf23e14eebeab5b4e1550cad5b509e3348fbc4efa3a1413d393cb650";
+}
+function affiche_login_secure(){
+if(alea_actuel)
+jQuery('#pass_securise').show();
+else
+jQuery('#pass_securise').hide();
+}
+function informe_auteur(c){
+informe_auteur_en_cours=false;
+eval('c = '+c);
+if(c){
+alea_actuel=c.alea_actuel;
+alea_futur=c.alea_futur;
+jQuery('input#session_remember:not(.modifie)')
+.attr('checked',(c.cnx=='1')?'checked':'');
+}else{
+alea_actuel='';
+}
+if(c.logo)
+jQuery('#spip_logo_auteur').html(c.logo);
+else
+jQuery('#spip_logo_auteur').html('');
+affiche_login_secure();
+}
+function calcule_hash_pass(pass){
+if((alea_actuel||alea_futur)
+&&!pass.match(/^\{([0-9a-f]{32});([0-9a-f]{32})\}$/i)
+&&!pass.match(/^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$/i)
+&&sha256_self_test()
+){
+var hash="";
+hash=hex_sha256(alea_actuel+pass);
+hash=hash+';'+hex_sha256(alea_futur+pass);
+if(window.calcMD5){
+hash=hash+';'+calcMD5(alea_actuel+pass);
+hash=hash+';'+calcMD5(alea_futur+pass);
+}
+jQuery('input[name=password]').attr('value','{'+hash+'}');
+}
+}
+function actualise_auteur(){
+if(login!=jQuery('#var_login').attr('value')){
+informe_auteur_en_cours=true;
+login=jQuery('#var_login').attr('value');
+var currentTime=new Date();
+jQuery.get(page_auteur,{var_login:login,var_compteur:currentTime.getTime()},informe_auteur);
+}
+}
+function login_submit(){
+actualise_auteur();
+var inputpass=jQuery('input[name=password]');
+pass=inputpass.attr('value');
+if(pass){
+if(informe_auteur_en_cours&&(attente_informe<5)){
+attente_informe++;
+jQuery('form#formulaire_login').animeajax().find('p.boutons input').before('.');
+setTimeout(function(){
+jQuery('form#formulaire_login').submit();
+},1000);
+return false;
+}
+if(alea_actuel||alea_futur){
+inputpass.after('<input name="password" type="hidden" value="" />').attr('value',pass);
+inputpass.attr('name','nothing').attr('value','');
+calcule_hash_pass(pass);
+}
+else if(informe_auteur_en_cours)
+jQuery('input[name=password]').attr('value','');
+}
+}
\ No newline at end of file
index 1bc4267..9105c2e 100644 (file)
@@ -19,12 +19,11 @@ a:active.spip-admin-boutons,
 .spip-admin-boutons a:active { background-color: #333; opacity: 1; }
 
 /* Style pour le mode debug */
-#spip-debug-hide { background-color: #444; color:white; font-weight:bold;}
-#spip-debug-hide a {  text-decoration:none; color:white; padding:1px 1em; display:block;}
+#spip-debug-toggle {position:absolute; top:4px; right:80px; width:24px;height:20px; cursor:pointer; z-index:1000;}
 #spip-debug, #spip-debug-header { background-color: #f0f0f0; font-family: Verdana, Geneva, sans-serif; position:absolute;top:30px;left:0;width:100%;height:100%;z-index:10000; font-size:1em; text-align:left; }
 #spip-debug ul table { font-size: 80%; }
 #spip-debug fieldset { background-color: #fff; font-family: Courier, "Courier New", monospace; font-size: 12px; margin-bottom: 1em; display: block; padding: .5em; }
-#spip-debug fieldset fieldset { background-color: #ccf; font-family: Verdana, Geneva, sans-serif; font-size: 80%; width:100%; margin-left: auto; }
+#spip-debug fieldset fieldset { background-color: #ccf; font-family: Verdana, Geneva, sans-serif; font-size: 80%; width:99%; margin-left: auto; }
 #spip-debug legend { background-color: #fff; border: solid 1px #f00; padding: 1px 1em; font-family: Verdana, Geneva, sans-serif; font-weight: bold; display: block; text-transform: none; }
 #spip-debug legend a { font-weight: normal; }
 #spip-debug fieldset fieldset legend { border: solid 1px #00F; font-weight: normal; }
index ed318a8..ac9c55a 100644 (file)
@@ -37,7 +37,7 @@
        document.getElementById('oubli').focus()
        /*#EVAL{chr(93)}[(#EVAL{chr(93)})]>*/</script>
        <noscript>
-               <a href='#URL_PAGE{login}' title='<:lien_connecter:>'><:lien_connecter:></a>
+               <a href='[(#URL_PAGE{login}|parametre_url{lang, #LANG})]' title='<:lien_connecter:>'><:lien_connecter:></a>
        </noscript>
        </div>
        
diff --git a/www/prive/squelettes/contenu/configurer_multilang.html b/www/prive/squelettes/contenu/configurer_multilang.html
deleted file mode 100644 (file)
index 7fce2f4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-[(#AUTORISER{configurer,_multilang}|sinon_interdire_acces)]
-<h1 class="grostitre"><:info_langues:></h1>
-<div class="ajax">
-       #FORMULAIRE_CONFIGURER_MULTILINGUISME
-</div>
\ No newline at end of file
diff --git a/www/prive/squelettes/contenu/configurer_multilinguisme.html b/www/prive/squelettes/contenu/configurer_multilinguisme.html
new file mode 100644 (file)
index 0000000..596f8b8
--- /dev/null
@@ -0,0 +1,5 @@
+[(#AUTORISER{configurer,_multilinguisme}|sinon_interdire_acces)]
+<h1 class="grostitre"><:info_langues:></h1>
+<div class="ajax">
+       #FORMULAIRE_CONFIGURER_MULTILINGUISME
+</div>
\ No newline at end of file
index 96190d8..d8b1a42 100644 (file)
        #SET{cache_inhib,#CONFIG{cache_inhib}|sinon{0}|>{#REM|time}|oui}
 
        [(#GET{cache_inhib}|oui)
-       <div><strong>Le cache est temporairement désactivé.</strong>
+       <div><strong><:info_cache_desactive:></strong>
        </div>
        ]
 
 #BOITE_PIED
        [(#GET{cache_inhib}|non)
-               [(#BOUTON_ACTION{Désactiver temporairement le cache,#URL_ACTION_AUTEUR{purger,inhibe_cache,#SELF},ajax})]
+               [(#BOUTON_ACTION{<:bouton_cache_desactiver:>,#URL_ACTION_AUTEUR{purger,inhibe_cache,#SELF},ajax})]
        ]
        [(#GET{cache_inhib}|oui)
-               [(#BOUTON_ACTION{Réactiver le cache,#URL_ACTION_AUTEUR{purger,reactive_cache,#SELF},ajax})]
+               [(#BOUTON_ACTION{<:bouton_cache_activer:>,#URL_ACTION_AUTEUR{purger,reactive_cache,#SELF},ajax})]
        ]
        [(#BOUTON_ACTION{<:bouton_vider_cache:>,#URL_ACTION_AUTEUR{purger,cache,#SELF},ajax})]
 #BOITE_FERMER
index eb75840..422f953 100644 (file)
@@ -5,7 +5,7 @@ Appel au script php en attendant de reecrire le head ici
 ]
 <meta http-equiv="Content-Type" content="text/html[; charset=(#CONFIG{charset})]" />
 <script type='text/javascript'>/*<![CDATA[*/
-var url_menu_rubrique="[(#EVAL{_DIR_RACINE}|sinon{./})]?action=menu_rubriques\x26date=#CONFIG{date_calcul_rubriques}";
+var url_menu_rubrique="[(#EVAL{_DIR_RACINE}|sinon{./}|concat{#EVAL{_SPIP_SCRIPT}})]?action=menu_rubriques\x26date=#CONFIG{date_calcul_rubriques}";
 (function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);
 [(#EVAL{$_COOKIE}|table_valeur{spip_accepte_ajax}|>={1}|non)
 function test_accepte_ajax(){jQuery.ajax({"url":"[(#URL_ECRIRE{test_ajax,js=1}|replace{'&amp;','\x26'})]"});}
index 6746220..54e872c 100644 (file)
@@ -19,7 +19,7 @@
 
 /* * Style des icones */
 /* structure html : <span class="icone danger horizontale s24 left"><a><img><b>texte</b></span> */
-.icone { display:block; margin:0;padding:0;text-align: center; /*font-size: 10px;*/}
+.icone { display:block; margin:0;padding:0;text-align: center;position:relative;z-index:2; /*font-size: 10px;*/}
 .icone a,.icone .submit {display:block;margin:0 auto;width:72px;padding: 5px 0;border:0;cursor:hand;cursor:pointer; }
 .icone a:hover {text-decoration:none;}
 .icone a img,.icone .submit img {margin: 0 auto; display: inline; padding: 4px; background-color: #eee; border: 2px solid #ENV{foncee}; background-repeat:no-repeat;background-position: center center;}
diff --git a/www/prive/themes/spip/images/cfg-24.png b/www/prive/themes/spip/images/cfg-24.png
new file mode 100644 (file)
index 0000000..51fac88
Binary files /dev/null and b/www/prive/themes/spip/images/cfg-24.png differ
index b864aed..ce4233c 100644 (file)
 .plan .menu-items,.plan .menu-items .menu-items {border-#ENV{left}:1px solid #ddd;border-top:0;}
 .plan .menu-items .item h4{margin-#ENV{left}:11px;margin-bottom:0;border-#ENV{left}:1px solid #ddd;padding-#ENV{left}:4px;margin-top:0;padding-top:10px;}
 .plan .menu-items .item .pagination {margin-#ENV{left}:11px;border-#ENV{left}:1px solid #ddd;}
-.plan .menu-items .item {border-bottom:0;border-top:1px solid #ddd;padding-#ENV{left}:4px;}
+.plan .menu-items .item {overflow:visible;border-bottom:0;border-top:1px solid #ddd;padding-#ENV{left}:4px;}
 .plan .menu-items .item>a {padding: 0.25em 0;background-repeat:no-repeat;background-position:center #ENV{left};background-repeat:no-repeat;}
 
 <BOUCLE_objets2(DATA){source table,#REM|lister_tables_objets_sql}{cle!=spip_rubriques}>
index 598b966..5d4bbde 100644 (file)
@@ -15,12 +15,10 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 function formulaires_inscription_charger_dist($mode='', $id=0) {
        global $visiteur_session;
        
-       // fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci 
-       include_spip('inc/filtres');
-       $mode=tester_config($id, $mode);
-       
+       // fournir le mode de la config ou tester si l'argument du formulaire est un mode accepte par celle-ci
        // pas de formulaire si le mode est interdit
-       if (!$mode)
+       include_spip('inc/autoriser');
+       if (!autoriser('inscrireauteur', $mode, $id))
                return false;
 
        // pas de formulaire si on a déjà une session avec un statut égal ou meilleur au mode
@@ -36,11 +34,11 @@ function formulaires_inscription_charger_dist($mode='', $id=0) {
 function formulaires_inscription_verifier_dist($mode='', $id=0) {
        
        include_spip('inc/filtres');
-       $mode=tester_config($id, $mode);
-       
        $erreurs = array();
 
-       if (!$mode OR (strlen(_request('nobot'))>0))
+       include_spip('inc/autoriser');
+       if (!autoriser('inscrireauteur', $mode, $id)
+         OR (strlen(_request('nobot'))>0))
                $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
 
        if (!$nom = _request('nom_inscription'))
@@ -81,13 +79,16 @@ function formulaires_inscription_verifier_dist($mode='', $id=0) {
 function formulaires_inscription_traiter_dist($mode='', $id=0) {
        
        include_spip('inc/filtres');
-       $mode=tester_config($id, $mode);
-               
-       $nom = _request('nom_inscription');
-       $mail_complet = _request('mail_inscription');
+       include_spip('inc/autoriser');
+       if (!autoriser('inscrireauteur', $mode, $id))
+               $desc = "rien a faire ici";
+       else {
+               $nom = _request('nom_inscription');
+               $mail_complet = _request('mail_inscription');
 
-       $inscrire_auteur = charger_fonction('inscrire_auteur','action');
-       $desc = $inscrire_auteur($mode, $mail_complet, $nom, array('id'=>$id));
+               $inscrire_auteur = charger_fonction('inscrire_auteur','action');
+               $desc = $inscrire_auteur($mode, $mail_complet, $nom, array('id'=>$id));
+       }
 
        // erreur ?
        if (is_string($desc)){
index 9628190..4a7c261 100644 (file)
@@ -16,7 +16,7 @@
 <body>
 <div id='minipres'>
 <h1>#NOM_SITE_SPIP</h1>
-#FORMULAIRE_INSCRIPTION{#ENV{mode},#ENV{focus},#ENV{id_rubrique}}
+#FORMULAIRE_INSCRIPTION{#ENV{mode},#ENV{id_rubrique}}
 <div class="quitter_fenetre">
 <script type='text/javascript'>/*<!#EVAL{chr(91)}CDATA#EVAL{chr(91)}*/
 document.write("<a href='")
index f98b3d6..084a5c1 100644 (file)
@@ -1,10 +1,10 @@
 <svn_revision>
 <text_version>
-Origine: svn://trac.rezo.net/spip/tags/spip-3.0.7
-Revision: 20352
-Dernier commit: 2013-03-22 14:21:56 +0100 
+Origine: svn://trac.rezo.net/spip/tags/spip-3.0.10
+Revision: 20600
+Dernier commit: 2013-05-27 08:03:44 +0200 
 </text_version>
-<origine>svn://trac.rezo.net/spip/tags/spip-3.0.7</origine>
-<revision>20352</revision>
-<commit>2013-03-22 14:21:56 +0100 </commit>
+<origine>svn://trac.rezo.net/spip/tags/spip-3.0.10</origine>
+<revision>20600</revision>
+<commit>2013-05-27 08:03:44 +0200 </commit>
 </svn_revision>
\ No newline at end of file