Changeset 107305 in spip-zone


Ignore:
Timestamp:
Nov 3, 2017, 12:30:16 PM (22 months ago)
Author:
fil@…
Message:

balise #PROPERTIES{x}

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/branches/v1/indexer_fonctions.php

    r90985 r107305  
    186186        return $sq->get();
    187187}
     188
     189
     190/**
     191 * Compile la balise `#PROPERTIES`
     192 *
     193 * Utile dans une boucle SPHINX pour retourner une valeur.
     194 *
     195 * @balise
     196 * @see table_valeur()
     197 * @example
     198 *     ```
     199 *     #PROPERTIES renvoie le champ properties au format array
     200 *     #PROPERTIES{x} renvoie #PROPERTIES|table_valeur{x},
     201 *     ```
     202 *
     203 * @param Champ $p
     204 *     Pile au niveau de la balise
     205 * @return Champ
     206 *     Pile complétée par le code à générer
     207**/
     208function balise_PROPERTIES_dist($p) {
     209        // cle du tableau desiree
     210        $_nom = interprete_argument_balise(1,$p);
     211        // valeur par defaut
     212        $_sinon = interprete_argument_balise(2,$p);
     213
     214        $b = $p->nom_boucle ? $p->nom_boucle : $p->id_boucle;
     215        $p->code = index_pile($p->id_boucle, 'properties', $p->boucles, $b);
     216       
     217        // deserialiser le champ
     218        $_prop = 'json_decode('. $p->code . ',true)';
     219       
     220        if ($p->etoile === '') {
     221                $p->code = $_prop;
     222        }
     223        if ($_nom !== NULL){
     224                $p->code = 'table_valeur('. $_prop .', '.$_nom.')';
     225        }
     226        if ($_sinon !== NULL){
     227                $p->code = 'table_valeur('. $_prop .', '.$_nom.', '.$_sinon.')';
     228        }
     229
     230        $p->interdire_scripts = true;
     231        return $p;
     232}
     233
Note: See TracChangeset for help on using the changeset viewer.