Show
Ignore:
Timestamp:
06/06/07 14:55:22 (18 months ago)
Author:
mbonetti
Message:

new language negotiation method. if rss.ouput.lang.force is set to true,
Gregarius will always serve pages with the language defined in
rss.output.lang, when 'false', it'll negotiate, then fall back to the
language defined in rss.output.lang

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/gregarius/cls/l10n.php

    r1692 r1725  
    7979     */ 
    8080    function __detectUserLang() { 
     81         
     82        if (getConfig('rss.output.lang.force') === true) { 
     83            return getConfig('rss.output.lang'); 
     84        // Language defined in the request (?lang=) 
     85        } 
     86         
    8187        // Language overridden? 
    8288        if (defined('RSS_LANGUAGE_OVERRIDE')) { 
    8389            return constant('RSS_LANGUAGE_OVERRIDE'); 
    84         // Language defined in the request (?lang=) 
    85         } elseif (isset($_REQUEST['lang']) && preg_match('#^[a-z]{2}_?([A-Z]{2})?$#',$_REQUEST['lang']) && ($_REQUEST['lang'] == 'en' || file_exists(GREGARIUS_HOME .'intl/'.$_REQUEST['lang']))) { 
     90        }  elseif (isset($_REQUEST['lang']) && preg_match('#^[a-z]{2}_?([A-Z]{2})?$#',$_REQUEST['lang']) && ($_REQUEST['lang'] == 'en' || file_exists(GREGARIUS_HOME .'intl/'.$_REQUEST['lang']))) { 
    8691            $this -> __setLocaleCookie($_REQUEST['lang']); 
    8792            rss_invalidate_cache(); 
    8893            return  $_REQUEST['lang']; 
    8994        // Cookie 
    90         } elseif (isset($_COOKIE[RSS_LOCALE_COOKIE])) { 
     95        } elseif (isset($_COOKIE[RSS_LOCALE_COOKIE])) { 
    9196            return trim($_COOKIE[RSS_LOCALE_COOKIE]); 
    9297        // HTTP_ACCEPT_LANGUAGE HTTP Argument