
6 changed files with 203 additions and 59 deletions
@ -0,0 +1,22 @@
|
||||
[(#REM) <!-- COMPILER_CONTENEUR |
||||
|
||||
Compile la liste des noisettes d'un conteneur fourni en paramètre de l'inclusion. |
||||
|
||||
@api |
||||
|
||||
@param string $plugin |
||||
Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou |
||||
un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. |
||||
@param array noisettes |
||||
Liste des descriptions de noisette à compiler dans l'ordre des rangs |
||||
@param string stockage |
||||
Identifiant du service de stockage à utiliser si précisé. Dans ce cas, ni celui du plugin |
||||
ni celui de N-Core ne seront utilisés. En général, cet identifiant est le préfixe d'un plugin |
||||
fournissant le service de stockage souhaité. |
||||
-->] |
||||
<BOUCLE_compilation_conteneur(DATA){source table, #ENV{noisettes}}{par rang}> |
||||
#SET{avec_div, #VALEUR{balise}|=={defaut}|?{#CONFIG{ncore/balise_noisette}, #VALEUR{balise}}} |
||||
[[(#GET{avec_div}|oui)<div class="noisette noisette_#NOISETTE[ (#VALEUR{css})]">] |
||||
(#NOISETTE_COMPILER{#ENV{plugin}, #ENV{stockage}}) |
||||
[(#GET{avec_div}|oui)</div>]] |
||||
</BOUCLE_compilation_conteneur> |
@ -1,6 +1,23 @@
|
||||
<BOUCLE_compilation_noisettes(DATA){source table, #ENV{liste}}{par rang}> |
||||
#SET{avec_div, #CHAMP_SQL{balise}|=={defaut}|?{#CONFIG{noizetier/balise_noisette}, #CHAMP_SQL{balise}}} |
||||
[[(#GET{avec_div}|oui)<div class="noisette noisette_#NOISETTE[ (#CHAMP_SQL{css})]">] |
||||
(#NOIZETIER_AFFICHER_NOISETTE) |
||||
[(#REM) <!-- COMPILER_NOISETTES |
||||
|
||||
Compile une liste de noisettes fournies en paramètres de l'inclusion. C'est l'appelant qui décide si cette liste |
||||
est contenue ou pas dans un conteneur. |
||||
|
||||
@api |
||||
|
||||
@param string $plugin |
||||
Identifiant qui permet de distinguer le module appelant qui peut-être un plugin comme le noiZetier ou |
||||
un script. Pour un plugin, le plus pertinent est d'utiliser le préfixe. |
||||
@param array noisettes |
||||
Liste des descriptions de noisette à compiler dans l'ordre des rangs |
||||
@param string stockage |
||||
Identifiant du service de stockage à utiliser si précisé. Dans ce cas, ni celui du plugin |
||||
ni celui de N-Core ne seront utilisés. En général, cet identifiant est le préfixe d'un plugin |
||||
fournissant le service de stockage souhaité. |
||||
-->] |
||||
<BOUCLE_compilation_noisettes(DATA){source table, #ENV{noisettes}}{par rang}> |
||||
#SET{avec_div, #VALEUR{balise}|=={defaut}|?{#CONFIG{ncore/balise_noisette}, #VALEUR{balise}}} |
||||
[[(#GET{avec_div}|oui)<div class="noisette noisette_#NOISETTE[ (#VALEUR{css})]">] |
||||
(#NOISETTE_COMPILER{#ENV{plugin}, #ENV{stockage}}) |
||||
[(#GET{avec_div}|oui)</div>]] |
||||
</BOUCLE_compilation_noisettes> |
||||
|
@ -0,0 +1,46 @@
|
||||
<?php |
||||
|
||||
// Sécurité |
||||
if (!defined('_ECRIRE_INC_VERSION')) { |
||||
return; |
||||
} |
||||
|
||||
function balise_NOISETTE_COMPILER_dist($p) |
||||
{ |
||||
// TODO : il faudrait appeler une fonction de service du plugin pour choisir si on passe l'id_noisette ou le couple |
||||
// (id_conteneur, rang) |
||||
$id_noisette = champ_sql('id_noisette', $p); |
||||
$type_noisette = champ_sql('type_noisette', $p); |
||||
$parametres = champ_sql('parametres', $p); |
||||
$plugin = champ_sql('plugin', $p); |
||||
|
||||
// A-t-on demandé un stockage spécifique |
||||
$stockage = interprete_argument_balise(1, $p); |
||||
$stockage = isset($stockage) ? str_replace('\'', '"', $stockage) : '""'; |
||||
|
||||
// si pas de contexte attribuer, on passe tout le contexte que l'on recoit |
||||
// sinon, on regarde si 'aucun' ou 'env' est indique : |
||||
// si 'aucun' => aucun contexte |
||||
// si 'env' => tout le contexte recu. |
||||
// $id_noisette est toujours transmis dans l'environnement |
||||
$environnement = "array_merge(\$Pile[0],array('id_noisette' => $id_noisette))"; |
||||
|
||||
$inclusion_dynamique = "\"<?php echo recuperer_fond( |
||||
'noisettes/\".$type_noisette.\"', |
||||
\".var_export(array_merge(unserialize($parametres), noizetier_choisir_contexte($type_noisette, $environnement, $id_noisette)),true).\", |
||||
\".var_export(array('ajax'=>($_ajax && noizetier_noisette_ajax($type_noisette))),true).\" |
||||
);?>\""; |
||||
|
||||
$inclusion_statique = "recuperer_fond( |
||||
'noisettes/'.$type_noisette, |
||||
array_merge(unserialize($parametres), noisette_contextualiser($plugin, $id_noisette, $type_noisette, $environnement, $stockage)), |
||||
array('ajax'=>($_ajax && noizetier_noisette_ajax($type_noisette))) |
||||
)"; |
||||
|
||||
$code = "((noizetier_noisette_dynamique($type_noisette)) ? $inclusion_dynamique : $inclusion_statique)"; |
||||
|
||||
$p->code = "((!$id_noisette) ? _T('zbug_champ_hors_motif', array('champ'=>'ID_NOISETTE', 'motif'=>'NOISETTES')) : $code)"; |
||||
$p->interdire_scripts = false; |
||||
|
||||
return $p; |
||||
} |
Loading…
Reference in new issue