Changeset 107414 in spip-zone


Ignore:
Timestamp:
Nov 8, 2017, 10:26:08 AM (2 years ago)
Author:
jluc@…
Message:

accepter des opérateurs unaires ('\!' ou 'non' pour l'instant)

Location:
_plugins_/macrosession/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/macrosession/trunk/macrosession_options.php

    r105253 r107414  
    1818include_spip ('inc/filtres');
    1919
     20if (!defined('nobreak'))
     21        define('nobreak', '');
     22
    2023//
    2124// FIXME : appeler appliquer_filtre dans le code compilé est une somptuosité superfétatoire
     
    8790// le code renvoyé sera inséré à l'intérieur d'un '...'
    8891function compile_appel_macro_session ($p, $champ,$n=2) {
     92        debug_log ("compile_appel_macro_session avec n=$n et champ=".print_r($champ,1), "_macrosession");
    8993        $get_champ = "pipelined_session_get('.\"$champ\".')";
    9094       
     
    110114        if (in_array ($filtre, array ("'=='", "'!='", "'<'", "'<='", "'>'", "'>='"))) {
    111115                $comparateur = trim ($filtre, "'");
    112                                                                                
    113                 $r = "($get_champ $comparateur '.\"$arg_un\".')";
     116
     117                return "($get_champ $comparateur '.\"$arg_un\".')";
    114118                // #_SESSION{nom,==,JLuc} donnera
    115119                // '<'.'?php  echo (pipelined_session_get('."'nom'".') == '."'JLuc'".');  ?'.'>'
    116                 return $r;
    117120        }
    118        
     121
     122        // le filtre est il en fait un opérateur unaire ?
     123        if (in_array ($filtre, array ("'!'", "'non'"))) {
     124                $unaire = trim ($filtre, "'");
     125                switch ($unaire) {
     126                case '!':
     127                        nobreak;
     128                case 'non' :
     129                        return "(!$get_champ $comparateur)";
     130                        break;
     131                }
     132        }
     133
    119134        if (existe_argument_balise($n+2, $p)) {
    120135                $arg_deux = interprete_argument_balise($n+2, $p);
  • _plugins_/macrosession/trunk/paquet.xml

    r105254 r107414  
    22        prefix="macrosession"
    33        categorie="outil"
    4         version="0.6.4"
     4        version="0.7.0"
    55        etat="test"
    66        compatibilite="[2.1.0;3.2.*]"
  • _plugins_/macrosession/trunk/plugin.xml

    r105252 r107414  
    55        <auteur>JLuc, marcimat</auteur>
    66        <licence>GPL</licence>
    7         <version>0.6.4</version>
     7        <version>0.7.0</version>
    88        <etat>dev</etat>
    99        <description>
Note: See TracChangeset for help on using the changeset viewer.