Changeset 102505 in spip-zone


Ignore:
Timestamp:
Jan 27, 2017, 4:17:49 PM (2 years ago)
Author:
kent1@…
Message:

On vérifie que l'on a pas @toto@="valeur" qui fait planter l'eval(),
on annule cette condition dans ce cas pour éviter une erreur du type :
PHP Fatal error: Can't use function return value in write context

Location:
_plugins_/saisies/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/saisies/trunk/inc/saisies_afficher.php

    r102498 r102505  
    489489                        }
    490490                        // On transforme en une condition valide
     491                        $condition_originale = $condition;
    491492                        if (is_null($env)) {
    492493                                $condition = preg_replace('#@(.+)@#U', '_request(\'$1\')', $condition);
     
    494495                                $condition = preg_replace('#@(.+)@#U', '$env["valeurs"][\'$1\']', $condition);
    495496                        }
    496                         eval('$ok = '.$condition.';');
     497
     498                        // On vérifie que l'on a pas @toto@="valeur" qui fait planter l'eval(),
     499                        // on annule cette condition dans ce cas pour éviter une erreur du type :
     500                        // PHP Fatal error:  Can't use function return value in write context
     501                        $type_condition = preg_replace('#@(.+)@#U', '', $condition_originale);
     502                        $type_condition = preg_replace('#"(.+)"#U', '', $test);
     503                        if (trim($type_condition) != '=') {
     504                                eval('$ok = '.$condition.';');
     505                        }
    497506                        if (!$ok) {
    498507                                unset($saisies[$cle]);
     
    502511                        }
    503512                }
    504                 if (isset($saisies[$cle]['saisies'])) { // S'il s'agit d'un fieldset ou equivalent, verifier les sous-saisies
     513                if (isset($saisies[$cle]['saisies'])) {
     514                        // S'il s'agit d'un fieldset ou equivalent, verifier les sous-saisies
    505515                        $saisies[$cle]['saisies'] = saisies_verifier_afficher_si($saisies[$cle]['saisies'], $env);
    506516                }
  • _plugins_/saisies/trunk/paquet.xml

    r101785 r102505  
    22        prefix="saisies"
    33        categorie="outil"
    4         version="2.18.2"
     4        version="2.18.3"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.