[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / public / evaluer_page.php
index 49c7090..d3c8818 100644 (file)
@@ -3,18 +3,20 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
 /**
  * Evaluer la page produite par un squelette
- * 
+ *
  * Évalue une page pour la transformer en texte statique
  * Elle peut contenir un < ?xml a securiser avant eval
  * ou du php d'origine inconnue
@@ -29,28 +31,21 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
 $res = true;
 
 // Cas d'une page contenant du PHP :
-if ($page['process_ins'] != 'html') {
+if (empty($page['process_ins']) or $page['process_ins'] != 'html') {
 
-       /**
-        * Teste si on a déjà évalué du PHP
-        * 
-        * Inclure inc/lang la première fois pour définir spip_lang
-        * si ça n'a pas encore été fait.
-        */
-       if (!defined('_EVALUER_PAGE_PHP')) {
-               define('_EVALUER_PAGE_PHP', true);
-               include_spip('inc/lang');
-       }
+       include_spip('inc/lang');
 
        // restaurer l'etat des notes avant calcul
        if (isset($page['notes'])
-               AND $page['notes']
-               AND $notes = charger_fonction("notes","inc",true)){
-               $notes($page['notes'],'restaurer_etat');
+               and $page['notes']
+               and $notes = charger_fonction("notes", "inc", true)
+       ) {
+               $notes($page['notes'], 'restaurer_etat');
        }
        ob_start();
-       if (strpos($page['texte'],'?xml')!==false)
-               $page['texte'] = str_replace('<'.'?xml', "<\1?xml", $page['texte']);
+       if (strpos($page['texte'], '?xml') !== false) {
+               $page['texte'] = str_replace('<' . '?xml', "<\1?xml", $page['texte']);
+       }
 
        try {
                $res = eval('?' . '>' . $page['texte']);
@@ -93,8 +88,9 @@ if ($page['process_ins'] != 'html') {
 
        $page['process_ins'] = 'html';
 
-       if (strpos($page['texte'],'?xml')!==false)
-               $page['texte'] = str_replace("<\1?xml", '<'.'?xml', $page['texte']);
+       if (strpos($page['texte'], '?xml') !== false) {
+               $page['texte'] = str_replace("<\1?xml", '<' . '?xml', $page['texte']);
+       }
 }
 
 page_base_href($page['texte']);