[SPIP] v3.2.1-->v3.2.3
[lhc/web/www.git] / www / plugins-dist / textwheel / inc / texte.php
index 9b88e40..2bfec78 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2019                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -266,7 +266,10 @@ function typo($letexte, $echapper = true, $connect = null, $env = array()) {
 
        // Dans l'espace prive on se mefie de tout contenu dangereux
        // https://core.spip.net/issues/3371
-       if (isset($env['espace_prive']) and $env['espace_prive']) {
+       // et aussi dans l'espace public si la globale filtrer_javascript = -1
+       // https://core.spip.net/issues/4166
+       if ($GLOBALS['filtrer_javascript'] == -1
+         or (isset($env['espace_prive']) and $env['espace_prive'] and $GLOBALS['filtrer_javascript']<=0)) {
                $letexte = echapper_html_suspect($letexte);
        }
 
@@ -767,9 +770,12 @@ function propre($t, $connect = null, $env = array()) {
        // Dans l'espace prive on se mefie de tout contenu dangereux
        // avant echappement des balises <html>
        // https://core.spip.net/issues/3371
+       // et aussi dans l'espace public si la globale filtrer_javascript = -1
+       // https://core.spip.net/issues/4166
        if ($interdire_script
-               or (isset($env['espace_prive']) and $env['espace_prive'])
-               or (isset($env['wysiwyg']) and $env['wysiwyg'])) {
+               or $GLOBALS['filtrer_javascript'] == -1
+               or (isset($env['espace_prive']) and $env['espace_prive'] and $GLOBALS['filtrer_javascript']<=0)
+               or (isset($env['wysiwyg']) and $env['wysiwyg'] and $GLOBALS['filtrer_javascript']<=0)) {
                $t = echapper_html_suspect($t, false);
        }
        $t = echappe_html($t);