move html out of lang_selector() and new template lang_selector.tpl

This commit is contained in:
Fabio Comuni 2012-04-13 11:56:21 +02:00
parent fdf50b8574
commit 4496d075e5
2 changed files with 26 additions and 9 deletions

View file

@ -1068,10 +1068,12 @@ function unamp($s) {
if(! function_exists('lang_selector')) { if(! function_exists('lang_selector')) {
function lang_selector() { function lang_selector() {
global $lang; global $lang;
$o = '<div id="lang-select-icon" class="icon language" title="' . t('Select an alternate language') . '" onclick="openClose(\'language-selector\');" ></div>';
$o .= '<div id="language-selector" style="display: none;" >';
$o .= '<form action="#" method="post" ><select name="system_language" onchange="this.form.submit();" >';
$langs = glob('view/*/strings.php'); $langs = glob('view/*/strings.php');
$lang_options = array();
$selected = "";
if(is_array($langs) && count($langs)) { if(is_array($langs) && count($langs)) {
$langs[] = ''; $langs[] = '';
if(! in_array('view/en/strings.php',$langs)) if(! in_array('view/en/strings.php',$langs))
@ -1079,17 +1081,22 @@ function lang_selector() {
asort($langs); asort($langs);
foreach($langs as $l) { foreach($langs as $l) {
if($l == '') { if($l == '') {
$default_selected = ((! x($_SESSION,'language')) ? ' selected="selected" ' : ''); $lang_options[""] = t('default');
$o .= '<option value="" ' . $default_selected . '>' . t('default') . '</option>';
continue; continue;
} }
$ll = substr($l,5); $ll = substr($l,5);
$ll = substr($ll,0,strrpos($ll,'/')); $ll = substr($ll,0,strrpos($ll,'/'));
$selected = (($ll === $lang && (x($_SESSION, 'language'))) ? ' selected="selected" ' : ''); $selected = (($ll === $lang && (x($_SESSION, 'language'))) ? $ll : $selected);
$o .= '<option value="' . $ll . '"' . $selected . '>' . $ll . '</option>'; $lang_options[$ll]=$ll;
} }
} }
$o .= '</select></form></div>';
$tpl = get_markup_template("lang_selector.tpl");
$o = replace_macros($tpl, array(
'$title' => t('Select an alternate language'),
'$langs' => array($lang_options, $selected),
));
return $o; return $o;
}} }}

10
view/lang_selector.tpl Normal file
View file

@ -0,0 +1,10 @@
<div id="lang-select-icon" class="icon s22 language" title="$title" onclick="openClose('language-selector');" >lang</div>
<div id="language-selector" style="display: none;" >
<form action="#" method="post" >
<select name="system_language" onchange="this.form.submit();" >
{{ for $langs.0 as $v=>$l }}
<option value="$v" {{if $v==$langs.1}}selected="selected"{{endif}}>$l</option>
{{ endfor }}
</select>
</form>
</div>