Ticket #1141 (closed defect: fixed)
Undefined variable: acclang in dotclear-2.2/inc/clearbricks/common/lib.http.php on line 200
| Reported by: | padawan | Owned by: | xave | 
|---|---|---|---|
| Priority: | normal | Milestone: | 2.3 | 
| Component: | module:clearbricks | Version: | 2.2 | 
| Severity: | normal | Keywords: | |
| Cc: | 
Description
DC 2.2 génère les deux warnings suivants, le second lié au premier :
PHP Notice: Undefined variable: acclang in dotclear-2.2/inc/clearbricks/common/lib.http.php on line 200
PHP Warning: Invalid argument supplied for foreach() in dotclear-2.2/inc/prepend.php on line 272
La première erreur est dans la fonction suivante dans inc/clearbricks/common/lib.http.php :
        public static function getAcceptLanguages()
        {
                $dlang = array();
                if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE']))
                {
                        $pattern = '/(?P<lang>[a-z]{2}(?:-[a-z]{2})?)(?:;q=(?P<priority>[.0-9]*))?/';
                        if (preg_match_all($pattern,$_SERVER['HTTP_ACCEPT_LANGUAGE'],$acclang) !== false)
                        {
                                foreach($acclang['priority'] as $i => $p)
                                {
                                        if ($p == '') $acclang['priority'][$i]=1;
                                }
                                array_multisort($acclang['priority'], SORT_DESC,$acclang['lang']);
                        }
                }
                return $acclang['lang'];
        }
La variable $acclang n'est pas définie dans la ligne suivante :
if (preg_match_all($pattern,$_SERVER['HTTP_ACCEPT_LANGUAGE'],$acclang) !== false)
Le retour de la fonction est donc erroné, ce qui provoque l'erreur qui suit à son appel ligne 272 de dotclear-2.2/inc/prepend.php :
        $dlang = http::getAcceptLanguages();
        foreach($dlang as $l)
    Change History
Note: See
        TracTickets for help on using
        tickets.
    
Simple changement de nom de variable, corrigé sur mon fork sur Bitbucket : https://bitbucket.org/saymonz/clearbricks/changeset/80f765e731b7