mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 17:21:39 +09:00
Add 'autolang' template filter for user lang handling
autoescape가 적용된 템플릿에서 사용자 정의 다국어가 제대로 출력되지 않는 문제를 수정하기 위해 'autolang' 필터를 추가함. 해당 변수 내용이 사용자 정의 다국어인 경우 escape하지 않고, 그 밖의 내용인 경우 escape하는 옵션임.
This commit is contained in:
parent
290ee0974d
commit
b6b70bd8ad
3 changed files with 9 additions and 2 deletions
|
|
@ -561,6 +561,10 @@ class TemplateHandler
|
|||
{
|
||||
$escape_option = 'noescape';
|
||||
}
|
||||
elseif(preg_match('/^lang\(.+\)$/', $m[1]))
|
||||
{
|
||||
$escape_option = 'noescape';
|
||||
}
|
||||
else
|
||||
{
|
||||
$escape_option = $this->config->autoescape !== null ? 'auto' : 'noescape';
|
||||
|
|
@ -607,6 +611,7 @@ class TemplateHandler
|
|||
{
|
||||
case 'auto':
|
||||
case 'autoescape':
|
||||
case 'autolang':
|
||||
case 'escape':
|
||||
case 'noescape':
|
||||
$escape_option = $filter;
|
||||
|
|
@ -903,6 +908,8 @@ class TemplateHandler
|
|||
return "{$str}";
|
||||
case 'autoescape':
|
||||
return "htmlspecialchars({$str}, ENT_QUOTES, 'UTF-8', false)";
|
||||
case 'autolang':
|
||||
return "(preg_match('/^\\$(?:user_)?lang->[a-zA-Z0-9\_]+$/', {$str}) ? ({$str}) : htmlspecialchars({$str}, ENT_QUOTES, 'UTF-8', false))";
|
||||
case 'auto':
|
||||
default:
|
||||
return "(\$this->config->autoescape === 'on' ? htmlspecialchars({$str}, ENT_QUOTES, 'UTF-8', false) : ({$str}))";
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<a class="default_header" href="{getUrl('','module','admin')}"><i class="xi xi-cog"></i></a>
|
||||
<a class="mobile_menu_open" href="#gnbNav"><i class="xi xi-bars"></i></a>
|
||||
</h1>
|
||||
<p class="site"><a href="{$xe_default_url}">{$site_module_info->settings->title ?: $xe_default_url|noescape}</a></p>
|
||||
<p class="site"><a href="{$xe_default_url}">{$site_module_info->settings->title ?: $xe_default_url|autolang}</a></p>
|
||||
<!--@end-->
|
||||
<div class="account">
|
||||
<ul>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<tbody>
|
||||
<tr loop="$domain_list->data => $domain">
|
||||
<td class="nowr">
|
||||
{$domain->settings->title|noescape}
|
||||
{$domain->settings->title|autolang}
|
||||
<i cond="$domain->is_default_domain === 'Y'" class="x_icon-home" title="{$lang->cmd_is_default_domain}">{$lang->cmd_is_default_domain}</i>
|
||||
</td>
|
||||
<td class="nowr">{$domain->domain}</td>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue