[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins / spip-bonux-3 / spip_bonux_options.php
index a2b9dee..08f8ed6 100644 (file)
@@ -7,11 +7,29 @@
  *
  */
 
-// On inclu une bonne fois pour toutes array_column
-include_spip('lib/array_column/array_column');
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
+
+// Proposer array_column
+if (!function_exists('array_column')) {
+       function array_column($input = null, $columnKey = null, $indexKey = null) {
+               if (!function_exists('_array_column')) {
+                       include_spip('lib/array_column/_array_column');
+               }
+               return _array_column($input, $columnKey, $indexKey);
+       }
+}
+
+
+if (!defined('_PREVISU_TEMPORAIRE_ACTIVE')) {
+       define('_PREVISU_TEMPORAIRE_ACTIVE', true);
+}
 
 if (_request('var_mode')=='preview'
-       and $cle = _request('var_relecture')) {
+       and _PREVISU_TEMPORAIRE_ACTIVE
+       and $cle = _request('var_relecture')
+) {
        include_spip('spip_bonux_fonctions');
        if (previsu_verifier_cle_temporaire($cle)) {
                include_spip('inc/autoriser');
@@ -21,12 +39,18 @@ if (_request('var_mode')=='preview'
 }
 
 function spip_bonux_affichage_final($flux) {
-       if (defined('_VAR_PREVIEW') and _VAR_PREVIEW) {
+       if (_PREVISU_TEMPORAIRE_ACTIVE and defined('_VAR_PREVIEW') and _VAR_PREVIEW and !empty($GLOBALS['html'])) {
                $p = stripos($flux, '</body>');
                $url_relecture = parametre_url(self(), 'var_mode', 'preview', '&');
                $js = '';
                if (!defined('_VAR_PREVIEW_EXCEPTION')) {
-                       $url_relecture = parametre_url($url_relecture, 'var_relecture', previsu_cle_temporaire(), '&');
+                       include_spip('plugins/installer');
+                       if (spip_version_compare($GLOBALS['spip_version_branche'], '3.2.0-beta3', '>=')) {
+                               include_spip('inc/securiser_action');
+                               $url_relecture = parametre_url($url_relecture, 'var_previewtoken', calculer_token_previsu(url_absolue($url_relecture)), '&');
+                       } else {
+                               $url_relecture = parametre_url($url_relecture, 'var_relecture', previsu_cle_temporaire(), '&');
+                       }
                        $label = 'Relecture temporaire';
                } else {
                        $label = _T('previsualisation');
@@ -40,9 +64,6 @@ function spip_bonux_affichage_final($flux) {
        return $flux;
 }
 
-if (!defined('_ECRIRE_INC_VERSION')) {
-       return;
-}
 
 /**
  * une fonction qui regarde si $texte est une chaine de langue