4 * Smarty Internal Plugin Resource Stream
6 * Implements the streams as resource for Smarty template
9 * @subpackage TemplateResources
14 * Smarty Internal Plugin Resource Stream
16 class Smarty_Internal_Resource_Stream {
17 public function __construct($smarty)
19 $this->smarty = $smarty;
21 // classes used for compiling Smarty templates from file resource
22 public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler';
23 public $template_lexer_class = 'Smarty_Internal_Templatelexer';
24 public $template_parser_class = 'Smarty_Internal_Templateparser';
26 public $usesCompiler = true;
27 public $isEvaluated = true;
30 * Return flag if template source is existing
32 * @return boolean true
34 public function isExisting($template)
36 if ($template->getTemplateSource() == '') {
43 * Get filepath to template source
45 * @param object $_template template object
46 * @return string return 'string' as template source is not a file
48 public function getTemplateFilepath($_template)
50 // no filepath for strings
51 // return resource name for compiler error messages
52 return str_replace(':', '://', $_template->template_resource);
56 * Get timestamp to template source
58 * @param object $_template template object
59 * @return boolean false as string resources have no timestamp
61 public function getTemplateTimestamp($_template)
63 // strings must always be compiled and have no timestamp
68 * Retuen template source from resource name
70 * @param object $_template template object
71 * @return string content of template source
73 public function getTemplateSource($_template)
75 // return template string
76 $_template->template_source = '';
77 $fp = fopen(str_replace(':', '://', $_template->template_resource),'r+');
79 $_template->template_source .= fgets($fp);
87 * Get filepath to compiled template
89 * @param object $_template template object
90 * @return boolean return false as compiled template is not stored
92 public function getCompiledFilepath($_template)
94 // no filepath for strings