developer.jelix.org is not used any more and exists only for history. Post new tickets on the Github account.
developer.jelix.org n'est plus utilisée, et existe uniquement pour son historique. Postez les nouveaux tickets sur le compte github.

Ticket #1107: jLocale.diff

File jLocale.diff, 1.3 KB (added by hadrien, 11 years ago)
  • lib/jelix/core/jLocale.class.php

    diff --git a/lib/jelix/core/jLocale.class.php b/lib/jelix/core/jLocale.class.php
    index 84a02af..3a41863 100644
    a b class jLocale { 
    9393       else {
    9494           //here, we know the message
    9595           if ($args !== null && $args !== array()) {
    96                 $string = call_user_func_array('sprintf', array_merge (array ($string), is_array ($args) ? $args : array ($args)));
     96
     97                // check if $args contains named params
     98                $namedParams = false;
     99                if (is_array ($args))
     100                {
     101                    foreach ($args as $k => $a) {
     102                        if (is_string($k)) {
     103                            $string = str_replace(
     104                                '@@' . $k . '@@',
     105                                $a,
     106                                $string
     107                            );
     108                            $namedParams = true;
     109                        }
     110                    }
     111                }
     112                if ($namedParams === false)
     113                {
     114                    $string = call_user_func_array('sprintf', array_merge (array ($string), is_array ($args) ? $args : array ($args)));
     115                }
    97116           }
    98117           return $string;
    99118       }