- First task of v2 done, tokens can now have unlimited options attached to it
This commit is contained in:
1 parent
afeb8789b5
commit
acd9f8c72e
8 files changed
+82
-41
No files matched your search
@@ -7,7 +7,7 @@ use Picea\Event\Builder\ClassTemplateRenderSectionDone;
|
||||
|
||||
class LanguageExtension implements Extension, FunctionExtension {
|
||||
|
||||
public array $tokens = [ "lang", "lang.raw", "_", "_.raw", "language.set" ];
|
||||
public array $tokens = [ "lang", "_", "language" ];
|
||||
|
||||
public string $currentLanguage = "";
|
||||
|
||||
@@ -27,8 +27,10 @@ class LanguageExtension implements Extension, FunctionExtension {
|
||||
|
||||
public function parse(\Picea\Compiler\Context &$context, ?string $arguments, string $token) : string
|
||||
{
|
||||
switch($token) {
|
||||
case "language.set":
|
||||
$opt = $context->tokenOptions($token);
|
||||
|
||||
switch(explode('.', $token)[0]) {
|
||||
case "language":
|
||||
$cls = $this::class;
|
||||
|
||||
return <<<PHP
|
||||
@@ -47,16 +49,18 @@ class LanguageExtension implements Extension, FunctionExtension {
|
||||
PHP;
|
||||
|
||||
case "lang":
|
||||
if ( in_array('raw', $opt) ) {
|
||||
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->absoluteLang($arguments) ?>";
|
||||
}
|
||||
|
||||
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) ?>";
|
||||
|
||||
case "_":
|
||||
return "<?php echo htmlspecialchars(\$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments), \ENT_QUOTES, ini_get('default_charset'), true) ?>";
|
||||
if ( in_array('raw', $opt) ) {
|
||||
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments) ?>";
|
||||
}
|
||||
|
||||
case "_.raw":
|
||||
return "<?php echo \$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments) ?>";
|
||||
return "<?php echo htmlspecialchars(\$picea->compiler->getExtensionFromToken('$token')->relativeLang($arguments), \ENT_QUOTES, ini_get('default_charset'), true) ?>";
|
||||
}
|
||||
|
||||
return "";
|
||||
|
||||
Reference in new issue
Block a user