Browse Source

Suite aux remarques de Dominique et Mist. GraphX on passe systématiquement l'environnement aux noisettes conteneur et ce recursivement de façon à en faire bénéficier les noisettes incluses. En effet, c'est le seul moyen car l'utilisation des paramètres dans un conteneur est vain car cette noisette n'est pas compilée !

On en profite pour ajouter une noisette de debug nommée "environnement" et les images associées aux noisettes fournies par N-Core.
svn/root/tags/v0.10.0
eric@smellup.net 3 years ago
parent
commit
49ebc4b119
  1. 2
      .gitattributes
  2. BIN
      images/conteneur-24.png
  3. BIN
      images/env.png
  4. 2
      lang/ncore_fr.php
  5. 2
      noisettes/conteneur.yaml
  6. 15
      noisettes/environnement.html
  7. 6
      noisettes/environnement.yaml
  8. 2
      paquet.xml
  9. 23
      public/noisette_compiler.php

2
.gitattributes vendored

@ -2,5 +2,7 @@
/Guide[!!-~]N[!!-~]-[!!-~]Le[!!-~]plugin[!!-~]N-Core.pdf -text
cache/ncore.php -text
/conteneur_compiler.html -text
images/conteneur-24.png -text
images/env.png -text
/ncore_logo-32.png -text
/ncore_logo.svg -text

BIN
images/conteneur-24.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 B

BIN
images/env.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 875 B

2
lang/ncore_fr.php

@ -20,4 +20,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// T
'type_noisette_conteneur_titre' => 'Bloc conteneur',
'type_noisette_conteneur_description' => 'Conteneur pouvant accueillir des noisettes',
'type_noisette_environnement_titre' => 'Environnement SPIP',
'type_noisette_environnement_description' => 'Affichage des variables d\'environnement <code>#ENV</code> à des fins de débusquage',
);

2
noisettes/conteneur.yaml

@ -2,7 +2,7 @@ nom: '<:ncore:type_noisette_conteneur_titre:>'
description: '<:ncore:type_noisette_conteneur_description:>'
icon: 'conteneur-24.png'
conteneur: 'oui'
contexte: 'aucun'
contexte: 'env'
ajax: 'non'
inclusion: 'statique'
parametres:

15
noisettes/environnement.html

@ -0,0 +1,15 @@
[(#REM) <!-- CONTENEUR_COMPILER
Compile les noisettes d'un conteneur fourni en paramètre de l'inclusion.
Cette inclusion est utilisée pour compiler récursivement une noisette conteneur.
Ce fichier est une surcharge du fichier original fourni par N-Core car il permet d'améliorer les
performances en utilisant une boucle SPIP directement sur la table des noisettes.
@api
@param string id_conteneur
Identifiant du conteneur.
@param string stockage
Identifiant du service de stockage à utiliser si précisé.
-->]
[(#ENV**|unserialize|foreach)]

6
noisettes/environnement.yaml

@ -0,0 +1,6 @@
nom: '<:ncore:type_noisette_environnement_titre:>'
description: '<:ncore:type_noisette_environnement_description:>'
icon: 'env.png'
contexte: 'env'
ajax: 'non'
inclusion: 'statique'

2
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="ncore"
categorie="outil"
version="0.9.6"
version="0.9.7"
etat="test"
compatibilite="[3.2.0;3.2.*]"
logo="ncore_logo-32.png"

23
public/noisette_compiler.php

@ -61,19 +61,23 @@ function balise_NOISETTE_COMPILER_dist($p) {
// le plugin et le stockage sont passées).
// Seule l'inclusion statique est possible pour l'appel à la compilation des noisettes incluses.
// L'encapsulation se fait en compilant la noisette conteneur avec ses paramètres et sans ajax.
$environnement = "\$Pile[0]";
$inclusion_statique_conteneur = "noisette_encapsuler(
$plugin,
recuperer_fond(
'conteneur_compiler',
array(
'plugin' => $plugin,
'id_conteneur' => conteneur_identifier(
$plugin,
array('id_noisette' => $id_noisette, 'type_noisette' => $type_noisette),
$stockage
),
'stockage' => $stockage
),
array_merge(
$environnement,
array(
'plugin' => $plugin,
'id_conteneur' => conteneur_identifier(
$plugin,
array('id_noisette' => $id_noisette, 'type_noisette' => $type_noisette),
$stockage
),
'stockage' => $stockage
)
),
array()
),
'conteneur',
@ -84,7 +88,6 @@ function balise_NOISETTE_COMPILER_dist($p) {
// Cas d'une noisette 'non conteneur' :
// - on compile la noisette,
// - et on appelle l'encapsulation avec ses paramètres adéquates configurés pour la noisette (encapsulation, css, type)
$environnement = "\$Pile[0]";
$encapsulation = champ_sql('encapsulation', $p);
$css = champ_sql('css', $p);

Loading…
Cancel
Save