- added a new lang.raw and _.raw token to Lang extexion
This commit is contained in:
parent
531f786747
commit
aa0bdea0c5
@ -113,9 +113,7 @@ class Compiler
|
|||||||
foreach($this->extensionList as $ext) {
|
foreach($this->extensionList as $ext) {
|
||||||
if ($ext instanceof FunctionExtension) {
|
if ($ext instanceof FunctionExtension) {
|
||||||
foreach ($ext->exportFunctions() as $name => $value) {
|
foreach ($ext->exportFunctions() as $name => $value) {
|
||||||
if ( is_string($value) ) {
|
$callable = is_string($value) ? fn(...$args) => call_user_func_array([ $ext, $value ], $args) : null;
|
||||||
$callable = fn(...$args) => call_user_func_array([ $ext, $value ], $args);
|
|
||||||
}
|
|
||||||
|
|
||||||
$context->pushFunction(is_numeric($name) ? $value : $name, $callable ?? $value);
|
$context->pushFunction(is_numeric($name) ? $value : $name, $callable ?? $value);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ use Picea\Compiler\Context;
|
|||||||
|
|
||||||
class LanguageExtension implements Extension, FunctionExtension {
|
class LanguageExtension implements Extension, FunctionExtension {
|
||||||
|
|
||||||
public array $tokens = [ "lang", "_", "language.set" ];
|
public array $tokens = [ "lang", "lang.raw", "_", "_.raw", "language.set" ];
|
||||||
|
|
||||||
public string $currentLanguage = "";
|
public string $currentLanguage = "";
|
||||||
|
|
||||||
@ -31,9 +31,15 @@ class LanguageExtension implements Extension, FunctionExtension {
|
|||||||
return "<?php \$picea->compiler->getExtensionFromToken('$token')->currentLanguage = $arguments; ?>";
|
return "<?php \$picea->compiler->getExtensionFromToken('$token')->currentLanguage = $arguments; ?>";
|
||||||
|
|
||||||
case "lang":
|
case "lang":
|
||||||
|
return "<?php echo htmlspecialchars(\$picea->compiler->getExtensionFromToken('$token')->absoluteLang($arguments), \ENT_QUOTES, ini_get('default_charset'), true) ?>";
|
||||||
|
|
||||||
|
case "lang.raw":
|
||||||
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->absoluteLang($arguments) ?>";
|
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->absoluteLang($arguments) ?>";
|
||||||
|
|
||||||
case "_":
|
case "_":
|
||||||
|
return "<?php echo htmlspecialchars(\$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments), \ENT_QUOTES, ini_get('default_charset'), true) ?>";
|
||||||
|
|
||||||
|
case "_.raw":
|
||||||
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments) ?>";
|
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments) ?>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user