diff --git a/plugins/dynamix/include/Translations.php b/plugins/dynamix/include/Translations.php index 61bc7f985..6f8a0c547 100644 --- a/plugins/dynamix/include/Translations.php +++ b/plugins/dynamix/include/Translations.php @@ -21,7 +21,7 @@ function _($text) { return strpos($data,'*')===false ? $data : preg_replace(['/\*\*(.+?)\*\*/','/\*(.+?)\*/'],['$1','$1'],$data); } function parse_lang_file($file) { - return array_filter(parse_ini_string(preg_replace(['/^(null|yes|no|true|false|on|off|none)=/mi','/^([^>].*)=([^"\'`].*)$/m','/^:((help|plug)\d*)$/m','/^:end$/m'],['$1.=','$1="$2"',"_$1_=\"",'"'],str_replace(['"',"'","=\n"],[""","'","=''\n"],file_get_contents($file)))),'strlen'); + return array_filter(parse_ini_string(preg_replace(['/^(null|yes|no|true|false|on|off|none)=/mi','/^([^>].*)=([^"\'`].*)$/m','/^:((help|plug)\d*)$/m','/^:end$/m'],['$1.=','$1="$2"',"_$1_=\"",'"'],str_replace(['"',"'","=\n"],[""","'","=''\n"],file_get_contents($file)))),'secured',ARRAY_FILTER_USE_BOTH); } function parse_text($text) { return preg_replace_callback('/_\((.+?)\)_/m',function($m){return _($m[1]);},preg_replace(["/^:((help|plug)\d*)$/m","/^:end$/m"],["",""],$text)); @@ -57,6 +57,9 @@ function my_lang($text,$do=0) { } return $text; } +function secured($v,$k) { + return strlen($v) && !preg_match('#((.+?)|<(link|meta)\s(.+?)/?>#is',html_entity_decode($v)); +} function translate($key) { global $language; if ($plug = isset($language[$key])) eval('?>'.Markdown($language[$key]));