Changeset 123194 in spip-zone


Ignore:
Timestamp:
Mar 30, 2020, 11:36:37 PM (3 months ago)
Author:
Charles Razack
Message:

Éviter erreur php si on passe un mauvais type de param

Location:
_plugins_/prix
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/prix

    • Property subgit:lock:74399041c102a2768c98277e4c67eb10930a9bba deleted
    • Property subgit:lock:eb498f56e1ceafbb6fb0600ee12703daea8edc63 set to 2020-03-31T01:36:44.432
  • _plugins_/prix/paquet.xml

    r123168 r123194  
    22        prefix="prix"
    33        categorie="outil"
    4         version="1.2.3"
     4        version="1.2.4"
    55        etat="dev"
    66        compatibilite="[3.2.0;3.2.*]"
  • _plugins_/prix/prix_fonctions.php

    r123169 r123194  
    412412                'currency_display',
    413413        );
    414         foreach ($options as $k => $v) {
    415                 // option inconnue, chaine vide ou null : on retire la valeur
    416                 if (!in_array($k, $options_valides) or is_null($v) or $v == '') {
    417                         unset($options[$k]);
    418                         // nombre flottant / entier
    419                 } elseif (is_numeric($v)) {
    420                         if (intval($v) == $v) {
    421                                 $options[$k] = intval($v);
    422                         } else {
    423                                 $options[$k] = floatval($v);
     414        if (is_array($options)) {
     415                foreach ($options as $k => $v) {
     416                        // option inconnue, chaine vide ou null : on retire la valeur
     417                        if (!in_array($k, $options_valides) or is_null($v) or $v == '') {
     418                                unset($options[$k]);
     419                                // nombre flottant / entier
     420                        } elseif (is_numeric($v)) {
     421                                if (intval($v) == $v) {
     422                                        $options[$k] = intval($v);
     423                                } else {
     424                                        $options[$k] = floatval($v);
     425                                }
     426                        // booléens
     427                        } elseif (in_array($v, array('true', 'oui'))) {
     428                                $options[$k] = true;
     429                        } elseif (in_array($v, array('false', 'non'))) {
     430                                $options[$k] = false;
    424431                        }
    425                 // booléens
    426                 } elseif (in_array($v, array('true', 'oui'))) {
    427                         $options[$k] = true;
    428                 } elseif (in_array($v, array('false', 'non'))) {
    429                         $options[$k] = false;
    430432                }
    431433        }
     
    444446                'float'    => 'flottant',
    445447        );
    446         foreach ($options as $k => $v) {
    447                 foreach ($options_alias as $option => $alias) {
    448                         if ($k == $alias) {
    449                                 $options[$option] = $v;
    450                                 unset($options[$k]);
    451                                 break;
     448        if (is_array($options)) {
     449                foreach ($options as $k => $v) {
     450                        foreach ($options_alias as $option => $alias) {
     451                                if ($k == $alias) {
     452                                        $options[$option] = $v;
     453                                        unset($options[$k]);
     454                                        break;
     455                                }
    452456                        }
    453457                }
Note: See TracChangeset for help on using the changeset viewer.