if (!
empty($parent) &&
is_array($parent)) { $data =
$parent;
$parent = null;
} else { $data = null;
} // default to cache_id and compile_id of Smarty object
$cache_id =
$cache_id === null ?
$this->cache_id :
$cache_id;
$compile_id =
$compile_id === null ?
$this->compile_id :
$compile_id;
// already in template cache?
if ($this->allow_ambiguous_resources
) { $_templateId = Smarty_Resource::
getUniqueTemplateName($this,
$template) .
$cache_id .
$compile_id;
} else { $_templateId =
$this->joined_template_dir . '#' .
$template .
$cache_id .
$compile_id;
} if (isset($_templateId[150
])) { $_templateId =
sha1($_templateId);
} if ($do_clone) { if (isset($this->template_objects
[$_templateId])) { // return cached template object
$tpl =
clone $this->template_objects
[$_templateId];
$tpl->smarty =
clone $tpl->smarty;