mirror of
https://github.com/maxpozdeev/mytinytodo.git
synced 2026-03-11 08:55:27 +00:00
+ Language name instead of its code in settings
This commit is contained in:
parent
e9f14e2fc2
commit
66e4d8f832
1 changed files with 37 additions and 2 deletions
|
|
@ -47,7 +47,7 @@ function _c($key)
|
|||
return Config::get($key);
|
||||
}
|
||||
|
||||
function getLangs()
|
||||
function getLangs($withContents = 0)
|
||||
{
|
||||
if (!$h = opendir(MTTPATH. 'lang')) return false;
|
||||
$a = array();
|
||||
|
|
@ -55,12 +55,34 @@ function getLangs()
|
|||
{
|
||||
if(preg_match('/(.+)\.php$/', $file, $m) && $file != 'class.default.php') {
|
||||
$a[$m[1]] = $m[1];
|
||||
if($withContents) {
|
||||
$a[$m[1]] = getLangDetails(MTTPATH. 'lang'. DIRECTORY_SEPARATOR. $file, $m[1]);
|
||||
$a[$m[1]]['name'] = $a[$m[1]]['original_name'];
|
||||
$a[$m[1]]['title'] = $a[$m[1]]['language'];
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir($h);
|
||||
return $a;
|
||||
}
|
||||
|
||||
function getLangDetails($filename, $default)
|
||||
{
|
||||
$contents = file_get_contents($filename);
|
||||
$a = array('language'=>$default, 'original_name'=>$default);
|
||||
if(preg_match("|/\\*\s*myTinyTodo language pack([\s\S]+?)\\*/|", $contents, $m))
|
||||
{
|
||||
$str = $m[1];
|
||||
if(preg_match("|Language\s*:\s*(.+)|i", $str, $m)) {
|
||||
$a['language'] = trim($m[1]);
|
||||
}
|
||||
if(preg_match("|Original name\s*:\s*(.+)|i", $str, $m)) {
|
||||
$a['original_name'] = trim($m[1]);
|
||||
}
|
||||
}
|
||||
return $a;
|
||||
}
|
||||
|
||||
function selectOptions($a, $value, $default=null)
|
||||
{
|
||||
if(!$a) return '';
|
||||
|
|
@ -72,6 +94,19 @@ function selectOptions($a, $value, $default=null)
|
|||
return $s;
|
||||
}
|
||||
|
||||
function selectOptionsA($a, $value, $default=null)
|
||||
{
|
||||
if(!$a) return '';
|
||||
$s = '';
|
||||
if($default !== null && !isset($a[$value])) $value = $default;
|
||||
foreach($a as $k=>$v) {
|
||||
$s .= '<option value="'.htmlspecialchars($k).'" '.($k===$value?'selected="selected"':'').
|
||||
(isset($v['title']) ? ' title="'.htmlspecialchars($v['title']).'"' : '').
|
||||
'>'.htmlspecialchars($v['name']).'</option>';
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div><a href="#" class="mtt-back-button"><?php _e('go_back');?></a></div>
|
||||
|
|
@ -91,7 +126,7 @@ function selectOptions($a, $value, $default=null)
|
|||
|
||||
<tr>
|
||||
<th><?php _e('set_language');?>:</th>
|
||||
<td> <select name="lang"><?php $langs = getLangs(); echo selectOptions($langs, _c('lang')); ?></select> </td>
|
||||
<td> <select name="lang"><?php echo selectOptionsA(getLangs(1), _c('lang')); ?></select> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
|
|
|
|||
Loading…
Reference in a new issue