diff --git a/change_log.txt b/change_log.txt index 796f8d6f..89159dce 100644 --- a/change_log.txt +++ b/change_log.txt @@ -1,4 +1,7 @@ ===== SVN trunk ===== +14/05/2011 +- bugfix fopen() error handling at stream resources + 13/05/2011 - bugfix condition starting with "-" did fail at {if} and {while} tags diff --git a/libs/sysplugins/smarty_internal_resource_stream.php b/libs/sysplugins/smarty_internal_resource_stream.php index de2996e9..2b9607a5 100644 --- a/libs/sysplugins/smarty_internal_resource_stream.php +++ b/libs/sysplugins/smarty_internal_resource_stream.php @@ -1,23 +1,23 @@ smarty = $smarty; - } + } // classes used for compiling Smarty templates from file resource public $compiler_class = 'Smarty_Internal_SmartyTemplateCompiler'; public $template_lexer_class = 'Smarty_Internal_Templatelexer'; @@ -27,73 +27,75 @@ class Smarty_Internal_Resource_Stream { public $isEvaluated = true; /** - * Return flag if template source is existing - * - * @return boolean true - */ + * Return flag if template source is existing + * + * @return boolean true + */ public function isExisting($template) { if ($template->getTemplateSource() == '') { return false; } else { return true; - } - } + } + } /** - * Get filepath to template source - * - * @param object $_template template object - * @return string return 'string' as template source is not a file - */ + * Get filepath to template source + * + * @param object $_template template object + * @return string return 'string' as template source is not a file + */ public function getTemplateFilepath($_template) - { + { // no filepath for strings // return resource name for compiler error messages return str_replace(':', '://', $_template->template_resource); - } + } /** - * Get timestamp to template source - * - * @param object $_template template object - * @return boolean false as string resources have no timestamp - */ + * Get timestamp to template source + * + * @param object $_template template object + * @return boolean false as string resources have no timestamp + */ public function getTemplateTimestamp($_template) - { + { // strings must always be compiled and have no timestamp return false; - } + } /** - * Retuen template source from resource name - * - * @param object $_template template object - * @return string content of template source - */ + * Retuen template source from resource name + * + * @param object $_template template object + * @return string content of template source + */ public function getTemplateSource($_template) - { + { // return template string $_template->template_source = ''; - $fp = fopen(str_replace(':', '://', $_template->template_resource),'r+'); - while (!feof($fp)) { - $_template->template_source .= fgets($fp); - } - fclose($fp); - - return true; - } + if ($fp = fopen(str_replace(':', '://', $_template->template_resource),'r+')) { + while (!feof($fp)) { + $_template->template_source .= fgets($fp); + } + fclose($fp); + return true; + } else { + return false; + } + } /** - * Get filepath to compiled template - * - * @param object $_template template object - * @return boolean return false as compiled template is not stored - */ + * Get filepath to compiled template + * + * @param object $_template template object + * @return boolean return false as compiled template is not stored + */ public function getCompiledFilepath($_template) - { + { // no filepath for strings return false; - } -} + } +} ?> \ No newline at end of file