1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
<?php
// definition
class l10n
{
public static $t;
/**
* Load langs/$lang.lang into global $_t array.
*
* @param string $lang
*
* @return void
*/
function load($lang) {
$lang_file = __DIR__ . '/langs/' . $lang . '.lang';
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])) {
$_t[trim(substr($v, 1))] = trim($f[$k+1]);
}
}
}
}
/**
* Get value for key $s in global array $_t.
*
* @param string $s
*
* @return string
*/
function _t($s) {
if (trim($s) == '')
return '';
global $_t;
return array_key_exists($s, $_t) ? $_t[$s] : $s;
}
}
/**
* Produce navigation HTML code.
*
* @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'
*
* @return string HTML code
*/
function _mgnav_html($wrap = false, $lang = 'en', $inject = null, $vhost = '//www.mageia.org')
{
l10n::load($lang);
$tn = array(
array('mageia', '$S/$L/map/', 'Mageia', l10n::_t('Go to mageia.org site map.')),
array('about', '$S/$L/about/', l10n::_t('About 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.'))
// <search>
);
$s = array();
foreach ($tn as $i) {
$s[] = sprintf('<li><a href="%s" class="%s" title="%s">%s</a></li>',
str_replace(
array('$L', '$S'),
array($lang, $vhost),
$i[1]
),
$i[0],
$i[3],
$i[2]
);
}
if (!is_null($inject))
$s[] = sprintf('<li>%s</li>', $inject);
$s = implode($s);
$h = sprintf('<nav id="mgnav"><ul id="nav">%s</ul></nav>', $s);
if ($wrap)
$h = sprintf('<header id="hmgn">%s</header>', $h);
return $h;
}
/**
* Returns CSS definition ready to be inserted into a HTML document.
*
* @return string
*/
function _mgnav_style()
{
return '<style>' . file_get_contents(__DIR__ . '/css/source.css') . '</style>';
}
|