function Kint_Objects_Smarty::parse

Overrides KintObject::parse

File

kint/kint/parsers/objects/smarty.php, line 5

Class

Kint_Objects_Smarty

Code

public function parse(&$variable) {
    if (!$variable instanceof Smarty || !defined('Smarty::SMARTY_VERSION')) {
        return false;
    }
    $this->name = 'object Smarty (v' . substr(Smarty::SMARTY_VERSION, 7) . ')';
    
    # trim 'Smarty-'
    $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;
    }
    return array(
        'Assigned' => $assigned,
        'Assigned globally' => $globalAssigns,
        'Configuration' => array(
            'Compiled files stored in' => isset($variable->compile_dir) ? $variable->compile_dir : $variable->getCompileDir(),
        ),
    );
}