You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.2 KiB
PHP

<?php
/**
* @internal
*/
class SageParsersSmarty implements SageParserInterface
{
public function replacesAllOtherParsers()
{
return true;
}
public function parse(&$variable, $varData)
{
if (! $variable instanceof Smarty
|| ! defined('Smarty::SMARTY_VERSION') // lower than 3.x
) {
return false;
}
$varData->name = 'Smarty v' . Smarty::SMARTY_VERSION;
$assigned = $globalAssigns = array();
foreach ($variable->tpl_vars as $name => $var) {
$assigned[$name] = $var->value;
}
foreach (Smarty::$global_tpl_vars as $name => $var) {
if ($name === 'SCRIPT_NAME') {
continue;
}
$globalAssigns[$name] = $var->value;
}
$varData->addTabToView($variable, 'Assigned to view', $assigned);
$varData->addTabToView($variable, 'Assigned globally', $globalAssigns);
$varData->addTabToView($variable, 'Configuration', array(
'Compiled files stored in' => isset($variable->compile_dir)
? $variable->compile_dir
: $variable->getCompileDir(),
)
);
}
}