diff --git a/library/smarty/libs/sysplugins/smarty_template_source.php b/library/smarty/libs/sysplugins/smarty_template_source.php deleted file mode 100644 --- a/library/smarty/libs/sysplugins/smarty_template_source.php +++ /dev/null @@ -1,278 +0,0 @@ -handler = $handler; // Note: prone to circular references - - $this->recompiled = $handler->recompiled; - $this->uncompiled = $handler->uncompiled; - $this->compiler_class = $handler->compiler_class; - $this->template_lexer_class = $handler->template_lexer_class; - $this->template_parser_class = $handler->template_parser_class; - - $this->smarty = $smarty; - $this->resource = $resource; - $this->type = $type; - $this->name = $name; - } - - /** - * initialize Source Object for given resource - * Either [$_template] or [$smarty, $template_resource] must be specified - * - * @param Smarty_Internal_Template $_template template object - * @param Smarty $smarty smarty object - * @param string $template_resource resource identifier - * - * @return Smarty_Template_Source Source Object - * @throws SmartyException - */ - public static function load(Smarty_Internal_Template $_template = null, Smarty $smarty = null, $template_resource = null) { - if ($_template) { - $smarty = $_template->smarty; - $template_resource = $_template->template_resource; - } - if (empty($template_resource)) { - throw new SmartyException('Missing template name'); - } - // parse resource_name, load resource handler, identify unique resource name - list($name, $type) = Smarty_Resource::parseResourceName($template_resource, $smarty->default_resource_type); - $resource = Smarty_Resource::load($smarty, $type); - // if resource is not recompiling and resource name is not dotted we can check the source cache - if ($smarty->resource_caching && !$resource->recompiled && !(isset($name[1]) && $name[0] == '.' && ($name[1] == '.' || $name[1] == '/'))) { - $unique_resource = $resource->buildUniqueResourceName($smarty, $name); - if (isset($smarty->source_objects[$unique_resource])) { - return $smarty->source_objects[$unique_resource]; - } - } else { - $unique_resource = null; - } - // create new source object - $source = new Smarty_Template_Source($resource, $smarty, $template_resource, $type, $name); - $resource->populate($source, $_template); - if ((!isset($source->exists) || !$source->exists) && isset($_template->smarty->default_template_handler_func)) { - Smarty_Internal_Extension_DefaultTemplateHandler::_getDefault($_template, $source, $resObj); - } - // on recompiling resources we are done - if ($smarty->resource_caching && !$resource->recompiled) { - // may by we have already $unique_resource - $is_relative = false; - if (!isset($unique_resource)) { - $is_relative = isset($name[1]) && $name[0] == '.' && ($name[1] == '.' || $name[1] == '/') && - ($type == 'file' || (isset($_template->parent->source) && $_template->parent->source->type == 'extends')); - $unique_resource = $resource->buildUniqueResourceName($smarty, $is_relative ? $source->filepath . $name : $name); - } - $source->unique_resource = $unique_resource; - // save in runtime cache if not relative - if (!$is_relative) { - $smarty->source_objects[$unique_resource] = $source; - } - } - return $source; - } - - /** - * render the uncompiled source - * - * @param Smarty_Internal_Template $_template template object - */ - public function renderUncompiled(Smarty_Internal_Template $_template) { - $level = ob_get_level(); - ob_start(); - try { - $this->handler->renderUncompiled($_template->source, $_template); - return ob_get_clean(); - } catch (Exception $e) { - while (ob_get_level() > $level) { - ob_end_clean(); - } - throw $e; - } - } - - /** - * <> Generic Setter. - * - * @param string $property_name valid: timestamp, exists, content, template - * @param mixed $value new value (is not checked) - * - * @throws SmartyException if $property_name is not valid - */ - public function __set($property_name, $value) { - switch ($property_name) { - // regular attributes - case 'timestamp': - case 'exists': - case 'content': - // required for extends: only - case 'template': - $this->$property_name = $value; - break; - - default: - throw new SmartyException("source property '$property_name' does not exist."); - } - } - - /** - * <> Generic getter. - * - * @param string $property_name valid: timestamp, exists, content - * - * @return mixed - * @throws SmartyException if $property_name is not valid - */ - public function __get($property_name) { - switch ($property_name) { - case 'timestamp': - case 'exists': - $this->handler->populateTimestamp($this); - - return $this->$property_name; - - case 'content': - return $this->content = $this->handler->getContent($this); - - default: - throw new SmartyException("source property '$property_name' does not exist."); - } - } -}