diff --git a/sources/config.php b/sources/config.php index d1e6524..1c67cca 100644 --- a/sources/config.php +++ b/sources/config.php @@ -1,4 +1,3 @@ - . */ - - -// Limonade configuration +// Framework configuration function configure() { - option('env', ENV_PRODUCTION); - option('debug', false); - option('base_uri', '/'); - layout("layout.html.php"); - define('PUBLIC_DIR', '/public'); -} - -// Not found page -function not_found($errno, $errstr, $errfile=null, $errline=null) { - $msg = h(rawurldecode($errstr)); - return render($msg, 'error_layout.html.php'); + option('env', ENV_PRODUCTION); + option('debug', false); + option('base_uri', '/'); + layout("layout.html.php"); + define('PUBLIC_DIR', '/public'); } +// Gettext function function T_($string) { - return gettext($string); + return gettext($string); } // Before routing function before($route) { - $lang_mapping = array( - 'fr' => 'fr_FR' - ); + $lang_mapping = array( + 'fr' => 'fr_FR' + ); - /** - * * Locale - * */ - if (!isset($_SESSION['locale'])) { - $locale = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); - $_SESSION['locale'] = strtolower(substr(chop($locale[0]),0,2)); - } - $lang = $_SESSION['locale']; - // Convert simple language code into full language code - if (array_key_exists($lang, $lang_mapping)) { - $lang = $lang_mapping[$lang]; - } - $lang = $lang.'.utf8'; - $textdomain="localization"; + if(!isset($_SESSION['locale'])) { + $locale = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); + $_SESSION['locale'] = strtolower(substr(chop($locale[0]), 0, 2)); + } - putenv('LANGUAGE='.$lang); - putenv('LANG='.$lang); - putenv('LC_ALL='.$lang); - putenv('LC_MESSAGES='.$lang); - setlocale(LC_ALL,$lang); - setlocale(LC_CTYPE,$lang); - $locales_dir = dirname(__FILE__).'/i18n'; - bindtextdomain($textdomain,$locales_dir); - bind_textdomain_codeset($textdomain, 'UTF-8'); - textdomain($textdomain); - // Set the $locale variable in template - set('locale', $lang); + $lang = $_SESSION['locale']; + + // Convert simple language code into full language code + if(array_key_exists($lang, $lang_mapping)) { + $lang = $lang_mapping[$lang]; + } + + $lang = "$lang.utf8"; + $textdomain = "localization"; + + putenv("LANGUAGE=$lang"); + putenv("LANG=$lang"); + putenv("LC_ALL=$lang"); + putenv("LC_MESSAGES=$lang"); + + setlocale(LC_ALL, $lang); + setlocale(LC_CTYPE, $lang); + + $locales_dir = dirname(__FILE__).'/i18n'; + + bindtextdomain($textdomain, $locales_dir); + bind_textdomain_codeset($textdomain, 'UTF-8'); + textdomain($textdomain); + + set('locale', $lang); } // After routing function after($output, $route) { - /* - $time = number_format( (float)substr(microtime(), 0, 10) - LIM_START_MICROTIME, 6); - $output .= "\n\n"; - $output .= ""; - */ - return $output; + return $output; } diff --git a/sources/controller.php b/sources/controller.php index 8f15ab2..b38e162 100644 --- a/sources/controller.php +++ b/sources/controller.php @@ -335,18 +335,14 @@ dispatch('/status', function() { }); dispatch('/lang/:locale', function($locale = 'en') { - switch ($locale) { + switch($locale) { case 'fr': $_SESSION['locale'] = 'fr'; - break; + break; default: $_SESSION['locale'] = 'en'; } - if(!empty($_GET['redirect_to'])) { - redirect_to($_GET['redirect_to']); - } else { - redirect_to('/'); - } + redirect_to('/'); });