aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain d'Alverny <rda@mageia.org>2012-06-11 12:15:16 +0000
committerRomain d'Alverny <rda@mageia.org>2012-06-11 12:15:16 +0000
commit0a410429a63f58e9a55ed167b68991ad846414be (patch)
tree792c180c35610a70cbb26e6a0bca22f14c3d96dd
parentc8583d2ce236c7ddd8fddf5e93924d6b7e1a9bf6 (diff)
downloadnav-0a410429a63f58e9a55ed167b68991ad846414be.tar
nav-0a410429a63f58e9a55ed167b68991ad846414be.tar.gz
nav-0a410429a63f58e9a55ed167b68991ad846414be.tar.bz2
nav-0a410429a63f58e9a55ed167b68991ad846414be.tar.xz
nav-0a410429a63f58e9a55ed167b68991ad846414be.zip
cache full HTML output when possible
-rw-r--r--lib.php30
1 files changed, 20 insertions, 10 deletions
diff --git a/lib.php b/lib.php
index 5c49d33..0cc8db9 100644
--- a/lib.php
+++ b/lib.php
@@ -189,24 +189,31 @@ P;
* @param boolean $wrap = false should it be wrapped in a <header id="nav" /> element?
* @param string $lang = 'en'
* @param string $inject = null
- * @param string $vhost = '//www.mageia.org'
+ * @param string $vhost = 'www.mageia.org'
+ * @param object $cache
*
* @return string HTML code
*/
-function _mgnav_html($wrap = false, $lang = 'en', $inject = null, $vhost = '//www.mageia.org')
+function _mgnav_html($wrap = false, $lang = 'en', $inject = null, $vhost = 'www.mageia.org', $cache = null)
{
+ $key = array($wrap, $lang, $inject, $vhost);
+
+ if (!is_null($cache) && ($h = $cache->get($key))) {
+ return $h;
+ }
+
$lang = _lang_check($lang);
- l10n::load($lang);
+ l10n::load($lang, $cache);
$tn = array(
- array('mageia', '$S/$L/map/', 'Mageia', l10n::_t('Go to mageia.org site map.')),
- array('about', '$S/$L/about/', l10n::_t('About&nbsp;us', $_t), l10n::_t('Learn more about Mageia.')),
- array('downloads', '$S/$L/downloads/', l10n::_t('Downloads', $_t), l10n::_t('Download Mageia ISO and updates.')),
- array('support', '$S/$L/support/', l10n::_t('Support', $_t), l10n::_t('Get support from Mageia community.')),
- array('community', '$S/$L/community/', l10n::_t('Community', $_t), l10n::_t('')),
- array('contribute', '$S/$L/contribute/', l10n::_t('Contribute', $_t), l10n::_t('You too can build Mageia with us!')),
- array('you', '//identity.mageia.org/', l10n::_t('You', $_t), l10n::_t('Your Mageia online account.'))
+ array('mageia', '//$S/$L/map/', 'Mageia', l10n::_t('Go to mageia.org site map.')),
+ array('about', '//$S/$L/about/', l10n::_t('About&nbsp;us'), l10n::_t('Learn more about Mageia.')),
+ array('downloads', '//$S/$L/downloads/', l10n::_t('Downloads'), l10n::_t('Download Mageia ISO and updates.')),
+ array('support', '//$S/$L/support/', l10n::_t('Support'), l10n::_t('Get support from Mageia community.')),
+ array('community', '//$S/$L/community/', l10n::_t('Community'), l10n::_t('')),
+ array('contribute', '//$S/$L/contribute/', l10n::_t('Contribute'), l10n::_t('You too can build Mageia with us!')),
+ array('you', '//identity.mageia.org/', l10n::_t('You'), l10n::_t('Your Mageia online account.'))
// <search>
);
@@ -233,6 +240,9 @@ function _mgnav_html($wrap = false, $lang = 'en', $inject = null, $vhost = '//ww
if ($wrap)
$h = sprintf('<header id="hmgn">%s</header>', $h);
+ if (!is_null($cache))
+ $cache->set($key, $h);
+
return $h;
}