Le 1 mars 2014 13:10, Nicolas <[email protected]> a écrit :
> Salut Philippe,
>
> j'ai vu le patch que tu as proposé. Je ne comprends pas pourquoi ça ne
> marche pas. Mon code est parfaitement valide quel que soit le niveau
> d'erreurs.
>
> Je n'ai pas de pc sous windows. Est-ce que ce code fonctionne ?
>
> <?php
> $chaine = 'lkjsd dslmk sd;ml ksd';
>
>
> if (($pos = strpos($chaine, ';')) !== false) {
> echo "point virgule trouvé à ", $pos, "\n";
> } else {
> echo "point virgule non trouvé\n";
> }
>
>
Ce n'est pas lié à windows, mais bien à la version de php.
$x=$y retourne $y. donc empty($x=$y) équivant à $x=$y; empty($y).
donc empty($temp = $core->callBehavior('adminMediaURL',$page_url)) est vu
comme :
$temp = $core->callBehavior('adminMediaURL',$page_url);
empty($core->callBehavior('adminMediaURL',$page_url))
Donc empty ne teste pas $temp, mais une expression. Cela n'est supporté
qu'à partir de php 5.5, dans les versions antérieures, empty prend
obligatoirement une variable en paramètre. Il faut donc décomposer le test.
--
Bruno
--
Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev