From c8583d2ce236c7ddd8fddf5e93924d6b7e1a9bf6 Mon Sep 17 00:00:00 2001 From: Romain d'Alverny Date: Mon, 11 Jun 2012 12:15:14 +0000 Subject: cache .lang files in PHP array --- lib.php | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) (limited to 'lib.php') diff --git a/lib.php b/lib.php index 600f97d..5c49d33 100644 --- a/lib.php +++ b/lib.php @@ -118,16 +118,51 @@ class l10n * * @return void */ - function load($lang) { - $lang_file = __DIR__ . '/langs/' . $lang . '.lang'; + function load($lang) + { + global $_t; + $_t = array(); + + if ($lang == 'en') + return; + + $lang_file = __DIR__ . '/langs/' . $lang . '.lang'; + $cache_file = __DIR__ . '/var/tmp/cache/nav_lang_' . $lang . '.php'; + $lang_ts = filemtime($lang_file); + + if (file_exists($cache_file)) { + include $cache_file; + if ($_ts > $lang_ts) + return; + } + if (file_exists($lang_file)) { - global $_t; + $f = file($lang_file); + foreach ($f as $k => $v) { - if (substr($v, 0, 1) == ';' && !empty($f[$k+1])) { + + if (substr($v, 0, 1) == ';' + && !empty($f[$k+1])) + { $_t[trim(substr($v, 1))] = trim($f[$k+1]); } } + + // + $_t_data = var_export($_t, true); + $cache = <<