Compare commits

...

15 Commits

Author SHA1 Message Date
spip.franck@lien-d-amis.net b6e385a6dc Bonne année "textwheel" de spip 3.1 2 years ago
spip.franck@lien-d-amis.net ad0780d667 Bonne année spip 3.1 3 years ago
spip.franck@lien-d-amis.net 830f602440 Bonne année aussi aux plugins-dist :-D 4 years ago
cedric@yterium.com 0a69ddf9e7 Report de r108734 : mise a jour du test unitaire suite au changement de serveur math : la taille de l'image test change de 1px 4 years ago
fil@rezo.net 8dbe9e6d96 _EXTRAIRE_DOMAINE pas defini au bon endroit 4 years ago
cedric@yterium.com 2fff75770a Report de r106234 : Complement de https://core.spip.net/projects/spip/repository/revisions/23701 pour https://core.spip.net/issues/3371 : on appelle la fonction echapper_html_suspect() sur les contenus qui passent dans propre() si on est dans l'espace prive (repere par espace_prive ou wysiwyg dans le env ou le flag automatique interdire_script leve en cas d'appel a propre() depuis du code php 4 years ago
cedric@yterium.com 6e99ab0430 Report de r106292 : Permettre de passer le mode de filtrage en second argument de interdire_script, et on utilise la valeur de la globale sinon (comportement par defaut inchange) 4 years ago
marcimat@rezo.net 17c2dfe555 Report très très partiel de r105476 sur la regexp de nettoyage des notes. On la simplifie, ce qui évite de tuer PCRE sur des textes longs avec des notes mal fermées. 4 years ago
spip.franck@lien-d-amis.net 5fe10ff707 trad.spip est maintenant en https, donc j'ajoute le "s" à http 5 years ago
spip.franck@lien-d-amis.net 6ac9f8c9a5 code.spip est maintenant en https, donc j'ajoute le "s" à http 5 years ago
spip.franck@lien-d-amis.net 3e65b747f6 spip.net est maintenant en https, donc j'ajoute le "s" à http 5 years ago
marcimat@rezo.net 89d4e837f4 Report de r102746 : Ticket #3898 : Défaire les & dans les expressions mathématiques, en utilisant l'option de traiter_math() 5 years ago
brunobergot@gmail.com 08d1942898 report de r96312 6 years ago
spip.franck@lien-d-amis.net 613072b476 les plug ne sont que pour spip 3.1, donc les utilises doivent avoir une version qui fonctionne en 3.1, j'ai donc fait un up en prenant la première dispo quand il s'agit d'utilise qui ne sont pas dans les plugin dist 6 years ago
ben.spip@gmail.com 2e240051ea SPIP 3.1 branchons ! 6 years ago
  1. 5
      inc/autoliens.php
  2. 33
      inc/lien.php
  3. 4
      inc/notes.php
  4. 43
      inc/texte.php
  5. 2
      inc/textwheel.php
  6. 68
      lang/paquet-tw.xml
  7. 2
      lang/paquet-tw_ar.php
  8. 2
      lang/paquet-tw_de.php
  9. 2
      lang/paquet-tw_en.php
  10. 2
      lang/paquet-tw_es.php
  11. 2
      lang/paquet-tw_fa.php
  12. 2
      lang/paquet-tw_fr_fem.php
  13. 2
      lang/paquet-tw_fr_tu.php
  14. 2
      lang/paquet-tw_it.php
  15. 2
      lang/paquet-tw_lb.php
  16. 2
      lang/paquet-tw_nl.php
  17. 2
      lang/paquet-tw_oc_ni_mis.php
  18. 2
      lang/paquet-tw_pt.php
  19. 2
      lang/paquet-tw_pt_br.php
  20. 2
      lang/paquet-tw_ru.php
  21. 2
      lang/paquet-tw_sk.php
  22. 2
      lang/paquet-tw_uk.php
  23. 16
      lang/tw.xml
  24. 2
      lang/tw_en.php
  25. 2
      lang/tw_es.php
  26. 2
      lang/tw_nl.php
  27. 8
      paquet.xml
  28. 4
      tests/data/base/image_reference.html
  29. 4
      tests/data/base/image_reference.txt
  30. 4
      tests/data/base/math.html
  31. 4
      tests/data/modeles_block/image_reference.html
  32. 4
      tests/data/modeles_block/image_reference.txt
  33. 4
      tests/data/modeles_inline/image_reference.html
  34. 4
      tests/data/modeles_inline/image_reference.txt
  35. 4
      tests/data/typo/image_reference.html
  36. 4
      tests/data/typo/image_reference.txt
  37. 2
      typographie/en.php
  38. 2
      typographie/fr.php
  39. 2
      wheels/spip/spip.php

5
inc/autoliens.php

@ -1,8 +1,9 @@
<?php
define('_EXTRAIRE_DOMAINE', '/^(?:(?:[^\W_]((?:[^\W_]|-){0,61}[^\W_,])?\.)+[a-z0-9]{2,6}|localhost)\b/Si');
// Les URLs brutes sont converties en <a href='url'>url</a>
// http://code.spip.net/@traiter_raccourci_liens
// https://code.spip.net/@traiter_raccourci_liens
function tw_autoliens($t) {
defined('_EXTRAIRE_LIENS') || define('_EXTRAIRE_LIENS', ',' . '\[[^\[\]]*(?:<-|->).*?\]' . '|<a\b.*?</a\b' . '|<\w.*?>' . '|((?:https?:/|www\.)[^"\'\s\[\]\}\)<>]*)' . ',imsS');
@ -19,7 +20,7 @@ function tw_autoliens($t) {
// callback pour la fonction autoliens()
// http://code.spip.net/@autoliens_callback
// https://code.spip.net/@autoliens_callback
function tw_traiter_autoliens($r) {
if (count($r) < 2) {
return reset($r);

33
inc/lien.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
@ -250,7 +250,7 @@ function balise_a($args = array()) {
// sinon les crochets ne peuvent plus servir qu'a ce type de raccourci
define('_RACCOURCI_LIEN', "/\[([^][]*?([[][^]>-]*[]][^][]*)*)->(>?)([^]]*)\]/msS");
// http://code.spip.net/@expanser_liens
// https://code.spip.net/@expanser_liens
function expanser_liens($t, $connect = '', $env = array()) {
$t = pipeline('pre_liens', $t);
@ -342,7 +342,7 @@ function expanser_un_lien($reg, $quoi = 'echappe', $env = null) {
// Meme analyse mais pour eliminer les liens
// et ne laisser que leur titre, a expliciter si ce n'est fait
// http://code.spip.net/@nettoyer_raccourcis_typo
// https://code.spip.net/@nettoyer_raccourcis_typo
function nettoyer_raccourcis_typo($texte, $connect = '') {
$texte = pipeline('nettoyer_raccourcis_typo', $texte);
@ -375,7 +375,7 @@ function nettoyer_raccourcis_typo($texte, $connect = '') {
$texte = preg_replace(_RACCOURCI_ANCRE, "", $texte);
// supprimer les notes
$texte = preg_replace(",[[][[]([^]]|[]][^]])*[]][]],UimsS", "", $texte);
$texte = preg_replace(",\[\[.*\]\],UimsS", "", $texte);
// supprimer les codes typos
$texte = str_replace(array('}', '{'), '', $texte);
@ -396,7 +396,7 @@ function nettoyer_raccourcis_typo($texte, $connect = '') {
// pour ne pas confondre avec un autre raccourci
define('_RACCOURCI_ATTRIBUTS', '/^((?:[^[]*?(?:\[[^]]*\])?)*?)([|]([^<>]*?))?([{]([a-z_]*)[}])?$/');
// http://code.spip.net/@traiter_raccourci_lien_atts
// https://code.spip.net/@traiter_raccourci_lien_atts
function traiter_raccourci_lien_atts($texte) {
$bulle = $hlang = false;
@ -451,7 +451,6 @@ function traiter_raccourci_lien_atts($texte) {
return array(trim($texte), $bulle, $hlang);
}
define('_EXTRAIRE_DOMAINE', '/^(?:(?:[^\W_]((?:[^\W_]|-){0,61}[^\W_,])?\.)+[a-z0-9]{2,6}|localhost)\b/Si');
define('_RACCOURCI_CHAPO', '/^(\W*)(\W*)(\w*\d+([?#].*)?)$/');
/**
@ -463,7 +462,7 @@ define('_RACCOURCI_CHAPO', '/^(\W*)(\W*)(\w*\d+([?#].*)?)$/');
* renvoie l'url reelle de redirection si le $url=true,
* l'url brute contenue dans le chapo sinon
*
* http://code.spip.net/@chapo_redirige
* https://code.spip.net/@chapo_redirige
*
* @param string $virtuel
* @param bool $url
@ -493,7 +492,7 @@ function virtuel_redirige($virtuel, $url = false) {
// 'titre': seulement T ci-dessus (i.e. le TITRE ci-dessus ou dans table SQL)
// 'url': seulement U (i.e. generer_url_RACCOURCI)
// http://code.spip.net/@calculer_url
// https://code.spip.net/@calculer_url
function calculer_url($ref, $texte = '', $pour = 'url', $connect = '', $echappe_typo = true) {
$r = traiter_lien_implicite($ref, $texte, $pour, $connect, $echappe_typo);
$r = ($r ? $r : traiter_lien_explicite($ref, $texte, $pour, $connect, $echappe_typo));
@ -503,7 +502,7 @@ function calculer_url($ref, $texte = '', $pour = 'url', $connect = '', $echappe_
define('_EXTRAIRE_LIEN', ",^\s*(http:?/?/?|mailto:?)\s*$,iS");
// http://code.spip.net/@traiter_lien_explicite
// https://code.spip.net/@traiter_lien_explicite
function traiter_lien_explicite($ref, $texte = '', $pour = 'url', $connect = '', $echappe_typo = true) {
if (preg_match(_EXTRAIRE_LIEN, $ref)) {
return ($pour != 'tout') ? '' : array('', '', '', '');
@ -570,7 +569,7 @@ function liens_implicite_glose_dist($texte, $id, $type, $args, $ancre, $connect
* unset($GLOBALS['lien_implicite_cible_public']);
* => retablit le comportement automatique
*
* http://code.spip.net/@traiter_lien_implicite
* https://code.spip.net/@traiter_lien_implicite
*
* @param string $ref
* @param string $texte
@ -646,7 +645,7 @@ function traiter_lien_implicite($ref, $texte = '', $pour = 'url', $connect = '')
define('_RACCOURCI_URL', '/^\s*(\w*?)\s*(\d+)(\?(.*?))?(#([^\s]*))?\s*$/S');
// http://code.spip.net/@typer_raccourci
// https://code.spip.net/@typer_raccourci
function typer_raccourci($lien) {
if (!preg_match(_RACCOURCI_URL, $lien, $match)) {
return array();
@ -732,7 +731,7 @@ function traiter_raccourci_titre($id, $type, $connect = null) {
// Le nom du modele doit faire au moins trois caracteres (evite <h2>)
// Si $doublons==true, on repere les documents sans calculer les modeles
// mais on renvoie les params (pour l'indexation par le moteur de recherche)
// http://code.spip.net/@traiter_modeles
// https://code.spip.net/@traiter_modeles
define('_PREG_MODELE',
'(<([a-z_-]{3,})' # <modele
. '\s*([0-9]*)\s*' # id
@ -747,7 +746,7 @@ define('_RACCOURCI_MODELE',
define('_RACCOURCI_MODELE_DEBUT', '@^' . _RACCOURCI_MODELE . '@isS');
// http://code.spip.net/@traiter_modeles
// https://code.spip.net/@traiter_modeles
function traiter_modeles($texte, $doublons = false, $echap = '', $connect = '', $liens = null, $env = array()) {
// preserver la compatibilite : true = recherche des documents
if ($doublons === true) {
@ -846,7 +845,7 @@ function traiter_modeles($texte, $doublons = false, $echap = '', $connect = '',
// hack pour tout l'espace prive
if (((!_DIR_RESTREINT) or ($doublons)) and ($id)) {
foreach ($doublons ? $doublons : array('documents' => array('doc', 'emb', 'img')) as $quoi => $modeles) {
if (in_array($type, $modeles)) {
if (in_array(strtolower($type), $modeles)) {
$GLOBALS["doublons_{$quoi}_inclus"][] = $id;
}
}
@ -863,7 +862,7 @@ function traiter_modeles($texte, $doublons = false, $echap = '', $connect = '',
define('_RACCOURCI_ANCRE', "/\[#?([^][]*)<-\]/S");
// http://code.spip.net/@traiter_raccourci_ancre
// https://code.spip.net/@traiter_raccourci_ancre
function traiter_raccourci_ancre($letexte) {
if (preg_match_all(_RACCOURCI_ANCRE, $letexte, $m, PREG_SET_ORDER)) {
foreach ($m as $regs) {
@ -886,7 +885,7 @@ function traiter_raccourci_ancre($letexte) {
define('_RACCOURCI_GLOSSAIRE', "/\[\?+\s*([^][<>]+)\]/S");
define('_RACCOURCI_GLOSES', '/^([^|#{]*\w[^|#{]*)([^#]*)(#([^|{}]*))?(.*)$/S');
// http://code.spip.net/@traiter_raccourci_glossaire
// https://code.spip.net/@traiter_raccourci_glossaire
function traiter_raccourci_glossaire($texte) {
if (!preg_match_all(_RACCOURCI_GLOSSAIRE, $texte, $matches, PREG_SET_ORDER)) {
return $texte;
@ -920,7 +919,7 @@ function traiter_raccourci_glossaire($texte) {
return $texte;
}
// http://code.spip.net/@glossaire_std
// https://code.spip.net/@glossaire_std
function glossaire_std($terme) {
global $url_glossaire_externe;
static $pcre = null;

4
inc/notes.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
@ -209,7 +209,7 @@ function traiter_raccourci_notes($letexte, $marqueur_notes) {
}
// http://code.spip.net/@traiter_les_notes
// https://code.spip.net/@traiter_les_notes
function traiter_les_notes($notes, $ignorer_autobr) {
$mes_notes = '';
if ($notes) {

43
inc/texte.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
@ -122,10 +122,7 @@ function paragrapher($t, $toujours_paragrapher = null) {
* dans l'espace privé. Cette fonction est aussi appelée par propre et typo.
*
* De la même manière, la fonction empêche l'exécution de JS mais selon le mode
* de protection déclaré par la globale filtrer_javascript :
* - -1 : protection dans l'espace privé et public
* - 0 : protection dans l'espace public
* - 1 : aucune protection
* de protection passe en argument
*
* Il ne faut pas désactiver globalement la fonction dans l'espace privé car elle protège
* aussi les balises des squelettes qui ne passent pas forcement par propre ou typo après
@ -133,38 +130,48 @@ function paragrapher($t, $toujours_paragrapher = null) {
*
* @param string $arg
* Code à protéger
* @param int $mode_filtre
* Mode de protection
* -1 : protection dans l'espace privé et public
* 0 : protection dans l'espace public
* 1 : aucune protection
* utilise la valeur de la globale filtrer_javascript si non fourni
* @return string
* Code protégé
**/
function interdire_scripts($arg) {
function interdire_scripts($arg, $mode_filtre=null) {
// on memorise le resultat sur les arguments non triviaux
static $dejavu = array();
static $wheel = array();
if (is_null($mode_filtre) or !in_array($mode_filtre, array(-1, 0, 1))) {
$mode_filtre = $GLOBALS['filtrer_javascript'];
}
// Attention, si ce n'est pas une chaine, laisser intact
if (!$arg or !is_string($arg) or !strstr($arg, '<')) {
return $arg;
}
if (isset($dejavu[$GLOBALS['filtrer_javascript']][$arg])) {
return $dejavu[$GLOBALS['filtrer_javascript']][$arg];
if (isset($dejavu[$mode_filtre][$arg])) {
return $dejavu[$mode_filtre][$arg];
}
if (!isset($wheel[$GLOBALS['filtrer_javascript']])) {
if (!isset($wheel[$mode_filtre])) {
$ruleset = SPIPTextWheelRuleset::loader(
$GLOBALS['spip_wheels']['interdire_scripts']
);
// Pour le js, trois modes : parano (-1), prive (0), ok (1)
// desactiver la regle echappe-js si besoin
if ($GLOBALS['filtrer_javascript'] == 1
or ($GLOBALS['filtrer_javascript'] == 0 and !test_espace_prive())
if ($mode_filtre == 1
or ($mode_filtre == 0 and !test_espace_prive())
) {
$ruleset->addRules(array('securite-js' => array('disabled' => true)));
}
$wheel[$GLOBALS['filtrer_javascript']] = new TextWheel($ruleset);
$wheel[$mode_filtre] = new TextWheel($ruleset);
}
try {
$t = $wheel[$GLOBALS['filtrer_javascript']]->text($arg);
$t = $wheel[$mode_filtre]->text($arg);
} catch (Exception $e) {
erreur_squelette($e->getMessage());
// sanitizer le contenu methode brute, puisqu'on a pas fait mieux
@ -179,7 +186,7 @@ function interdire_scripts($arg) {
$t = echappe_retour($t, "php" . _PROTEGE_PHP_MODELES);
}
return $dejavu[$GLOBALS['filtrer_javascript']][$arg] = $t;
return $dejavu[$mode_filtre][$arg] = $t;
}
@ -750,6 +757,14 @@ function propre($t, $connect = null, $env = array()) {
$t = pipeline('pre_echappe_html_propre', $t);
// Dans l'espace prive on se mefie de tout contenu dangereux
// avant echappement des balises <html>
// https://core.spip.net/issues/3371
if ($interdire_script
or (isset($env['espace_prive']) and $env['espace_prive'])
or (isset($env['wysiwyg']) and $env['wysiwyg'])) {
$t = echapper_html_suspect($t, false);
}
$t = echappe_html($t);
$t = expanser_liens($t, $connect, $env);

2
inc/textwheel.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *

68
lang/paquet-tw.xml

@ -1,52 +1,52 @@
<traduction module="paquet-tw" gestionnaire="salvatore" url="http://trad.spip.net" source="svn://zone.spip.org/spip-zone/_core_/plugins/textwheel/lang/" reference="fr">
<langue code="ar" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ar" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="George" lien="http://trad.spip.net/auteur/جورج-قندلفت" />
<traduction module="paquet-tw" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_core_/plugins/textwheel/lang/" reference="fr">
<langue code="ar" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ar" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="George" lien="https://trad.spip.net/auteur/جورج-قندلفت" />
</langue>
<langue code="de" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=de" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="klaus++" lien="http://trad.spip.net/auteur/klaus" />
<langue code="de" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=de" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="klaus++" lien="https://trad.spip.net/auteur/klaus" />
</langue>
<langue code="en" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=en" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="kent1" lien="http://trad.spip.net/auteur/kent1" />
<langue code="en" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=en" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="kent1" lien="https://trad.spip.net/auteur/kent1" />
</langue>
<langue code="es" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=es" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="jotacese" lien="http://trad.spip.net/auteur/jotacese" />
<langue code="es" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=es" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="jotacese" lien="https://trad.spip.net/auteur/jotacese" />
</langue>
<langue code="fa" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fa" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Davood Hossein" lien="http://trad.spip.net/auteur/davood-hossein" />
<langue code="fa" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fa" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Davood Hossein" lien="https://trad.spip.net/auteur/davood-hossein" />
</langue>
<langue code="fr" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<langue code="fr" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
</langue>
<langue code="fr_fem" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_fem" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="denisb" lien="http://trad.spip.net/auteur/denisb" />
<langue code="fr_fem" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_fem" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="denisb" lien="https://trad.spip.net/auteur/denisb" />
</langue>
<langue code="fr_tu" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_tu" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Cerf" lien="http://trad.spip.net/auteur/cerf" />
<langue code="fr_tu" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_tu" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Cerf" lien="https://trad.spip.net/auteur/cerf" />
</langue>
<langue code="it" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=it" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="phante" lien="http://trad.spip.net/auteur/phante" />
<langue code="it" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=it" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="phante" lien="https://trad.spip.net/auteur/phante" />
</langue>
<langue code="lb" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=lb" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Jim Wanderscheid" lien="http://trad.spip.net/auteur/jwander" />
<langue code="lb" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=lb" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Jim Wanderscheid" lien="https://trad.spip.net/auteur/jwander" />
</langue>
<langue code="nl" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=nl" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Suske" lien="http://trad.spip.net/auteur/suske" />
<langue code="nl" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=nl" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Suske" lien="https://trad.spip.net/auteur/suske" />
</langue>
<langue code="oc_ni_mis" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=oc_ni_mis" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="sylvain" lien="http://trad.spip.net/auteur/sylvain" />
<langue code="oc_ni_mis" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=oc_ni_mis" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="sylvain" lien="https://trad.spip.net/auteur/sylvain" />
</langue>
<langue code="pt" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Cláudia Anjos Lopes" lien="http://trad.spip.net/auteur/claudia_a_lopes" />
<langue code="pt" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Cláudia Anjos Lopes" lien="https://trad.spip.net/auteur/claudia_a_lopes" />
</langue>
<langue code="pt_br" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt_br" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Ricardo Porto" lien="http://trad.spip.net/auteur/ricardo-porto" />
<langue code="pt_br" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt_br" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Ricardo Porto" lien="https://trad.spip.net/auteur/ricardo-porto" />
</langue>
<langue code="ru" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ru" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="nazar" lien="http://trad.spip.net/auteur/nazar" />
<langue code="ru" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ru" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="nazar" lien="https://trad.spip.net/auteur/nazar" />
</langue>
<langue code="sk" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=sk" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="jaro" lien="http://trad.spip.net/auteur/jaro" />
<langue code="sk" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=sk" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="jaro" lien="https://trad.spip.net/auteur/jaro" />
</langue>
<langue code="uk" url="http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=uk" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="olly" lien="http://trad.spip.net/auteur/olly" />
<langue code="uk" url="https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=uk" total="2" traduits="2" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="olly" lien="https://trad.spip.net/auteur/olly" />
</langue>
</traduction>

2
lang/paquet-tw_ar.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ar
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ar
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_de.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=de
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=de
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_en.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=en
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=en
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_es.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=es
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=es
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_fa.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fa
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fa
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_fr_fem.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_fem
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_fem
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_fr_tu.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_tu
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=fr_tu
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_it.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=it
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=it
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_lb.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=lb
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=lb
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_nl.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=nl
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=nl
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_oc_ni_mis.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=oc_ni_mis
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=oc_ni_mis
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_pt.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_pt_br.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt_br
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=pt_br
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_ru.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ru
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=ru
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_sk.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=sk
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=sk
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/paquet-tw_uk.php

@ -1,6 +1,6 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// extrait automatiquement de http://trad.spip.net/tradlang_module/paquet-tw?lang_cible=uk
// extrait automatiquement de https://trad.spip.net/tradlang_module/paquet-tw?lang_cible=uk
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

16
lang/tw.xml

@ -1,13 +1,13 @@
<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" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Benitron" lien="http://trad.spip.net/auteur/benitron" />
<traduction module="tw" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_core_/plugins/textwheel/lang/" reference="fr">
<langue code="en" url="https://trad.spip.net/tradlang_module/334?lang_cible=en" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Benitron" lien="https://trad.spip.net/auteur/benitron" />
</langue>
<langue code="es" url="http://trad.spip.net/tradlang_module/334?lang_cible=es" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Raquel S. Bujaldón" lien="http://trad.spip.net/auteur/raquel-s-bujaldon" />
<langue code="es" url="https://trad.spip.net/tradlang_module/334?lang_cible=es" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Raquel S. Bujaldón" lien="https://trad.spip.net/auteur/raquel-s-bujaldon" />
</langue>
<langue code="fr" url="http://trad.spip.net/tradlang_module/334?lang_cible=fr" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<langue code="fr" url="https://trad.spip.net/tradlang_module/334?lang_cible=fr" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
</langue>
<langue code="nl" url="http://trad.spip.net/tradlang_module/334?lang_cible=nl" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Hanjo" lien="http://trad.spip.net/auteur/hanjo" />
<langue code="nl" url="https://trad.spip.net/tradlang_module/334?lang_cible=nl" total="3" traduits="3" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
<traducteur nom="Hanjo" lien="https://trad.spip.net/auteur/hanjo" />
</langue>
</traduction>

2
lang/tw_en.php

@ -1,6 +1,6 @@
<?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
// extrait automatiquement de https://trad.spip.net/tradlang_module/334?lang_cible=en
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/tw_es.php

@ -1,6 +1,6 @@
<?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=es
// extrait automatiquement de https://trad.spip.net/tradlang_module/334?lang_cible=es
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

2
lang/tw_nl.php

@ -1,6 +1,6 @@
<?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=nl
// extrait automatiquement de https://trad.spip.net/tradlang_module/334?lang_cible=nl
// ** ne pas modifier le fichier **
if (!defined('_ECRIRE_INC_VERSION')) {

8
paquet.xml

@ -1,11 +1,11 @@
<paquet
prefix="tw"
categorie="edition"
version="1.3.14"
version="1.3.19"
etat="stable"
compatibilite="[3.1.0;3.1.*]"
logo="textwheel-32.png"
>
>
<nom>TextWheel pour SPIP</nom>
<!-- Gestion de la typographie SPIP avec TextWheel -->
@ -20,7 +20,7 @@
<pipeline nom="pre_liens" action="autoliens" inclure="inc/autoliens.php" />
<pipeline nom="post_typo" action="post_typo" inclure="inc/ressource-mini.php" />
<pipeline nom="pre_liens" action="pre_liens" inclure="inc/ressource-mini.php" />
<utilise nom="yaml" compatibilite="[1.5.1;[" />
<utilise nom="memoization" compatibilite="[0.9.8;[" />
<utilise nom="yaml" compatibilite="[1.5.2;[" />
<utilise nom="memoization" compatibilite="[1.5.4;]" />
</paquet>

4
tests/data/base/image_reference.html

@ -1,3 +1,3 @@
<p><span class='ressource spip_out'>&lt;<a href="http://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>http://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
<p><span class='ressource spip_out'>&lt;<a href="https://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>https://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
</p>
<p><img src="http://www.spip.net/IMG/siteon0.jpg" /></p>
<p><img src="https://www.spip.net/IMG/siteon0.jpg" /></p>

4
tests/data/base/image_reference.txt

@ -1,3 +1,3 @@
<http://www.spip.net/IMG/siteon0.jpg>
<https://www.spip.net/IMG/siteon0.jpg>
<img src="http://www.spip.net/IMG/siteon0.jpg" />
<img src="https://www.spip.net/IMG/siteon0.jpg" />

4
tests/data/base/math.html

@ -1,3 +1,3 @@
<p>On peut placer des fractions, telles que <img src="local/cache-TeX/c78db7c50b16566490e7e88e55b171af.png" style="vertical-align:middle;" width="13" height="49" alt="{1\over z}" title="{1\over z}" /><br class='autobr' />
utiliser des lettres grecques comme <img src="local/cache-TeX/7b7f9dbfea05c83784f8b85149852f08.png" style="vertical-align:middle;" width="14" height="23" alt="\alpha" title="\alpha" /><br class='autobr' />
<p>On peut placer des fractions, telles que <img src="local/cache-TeX/c78db7c50b16566490e7e88e55b171af.png" style="vertical-align:middle;" width="12" height="49" alt="{1\over z}" title="{1\over z}" /><br class='autobr' />
utiliser des lettres grecques comme <img src="local/cache-TeX/7b7f9dbfea05c83784f8b85149852f08.png" style="vertical-align:middle;" width="14" height="22" alt="\alpha" title="\alpha" /><br class='autobr' />
Et aussi utiliser les <i>raccourcis</i> SPIP</p>

4
tests/data/modeles_block/image_reference.html

@ -1,5 +1,5 @@
<p><span class='ressource spip_out'>&lt;<a href="http://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>http://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
<p><span class='ressource spip_out'>&lt;<a href="https://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>https://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
</p>
<p><img src="http://www.spip.net/IMG/siteon0.jpg" alt="</p>
<p><img src="https://www.spip.net/IMG/siteon0.jpg" alt="</p>
<div>Block test model #1</div>
<p>" /></p>

4
tests/data/modeles_block/image_reference.txt

@ -1,3 +1,3 @@
<http://www.spip.net/IMG/siteon0.jpg>
<https://www.spip.net/IMG/siteon0.jpg>
<img src="http://www.spip.net/IMG/siteon0.jpg" alt="<textwheel1|block>" />
<img src="https://www.spip.net/IMG/siteon0.jpg" alt="<textwheel1|block>" />

4
tests/data/modeles_inline/image_reference.html

@ -1,3 +1,3 @@
<p><span class='ressource spip_out'>&lt;<a href="http://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>http://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
<p><span class='ressource spip_out'>&lt;<a href="https://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>https://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
</p>
<p><img src="http://www.spip.net/IMG/siteon0.jpg" alt="<span>Inline test model #1</span>" /></p>
<p><img src="https://www.spip.net/IMG/siteon0.jpg" alt="<span>Inline test model #1</span>" /></p>

4
tests/data/modeles_inline/image_reference.txt

@ -1,3 +1,3 @@
<http://www.spip.net/IMG/siteon0.jpg>
<https://www.spip.net/IMG/siteon0.jpg>
<img src="http://www.spip.net/IMG/siteon0.jpg" alt="<textwheel1|inline>" />
<img src="https://www.spip.net/IMG/siteon0.jpg" alt="<textwheel1|inline>" />

4
tests/data/typo/image_reference.html

@ -1,3 +1,3 @@
<p><span class='ressource spip_out'>&lt;<a href="http://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>http://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
<p><span class='ressource spip_out'>&lt;<a href="https://www.spip.net/IMG/siteon0.jpg" class='spip_url spip_out' rel='external'>https://www.spip.net/IMG/siteon0.jpg</a>&gt;</span>
</p>
<p><img src="http://www.spip.net/IMG/siteon0.jpg" alt="avec de la typo !" /></p>
<p><img src="https://www.spip.net/IMG/siteon0.jpg" alt="avec de la typo !" /></p>

4
tests/data/typo/image_reference.txt

@ -1,3 +1,3 @@
<http://www.spip.net/IMG/siteon0.jpg>
<https://www.spip.net/IMG/siteon0.jpg>
<img src="http://www.spip.net/IMG/siteon0.jpg" alt="avec de la typo !" />
<img src="https://www.spip.net/IMG/siteon0.jpg" alt="avec de la typo !" />

2
typographie/en.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *

2
typographie/fr.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* Copyright (c) 2001-2020 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *

2
wheels/spip/spip.php

@ -24,7 +24,7 @@ function replace_math($t) {
include_spip('inc/math');
}
$t = traiter_math($t, '');
$t = traiter_math($t, '', true);
return $t;
}

Loading…
Cancel
Save