diff options
Diffstat (limited to 'include/smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php')
-rw-r--r-- | include/smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/include/smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php b/include/smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php new file mode 100644 index 000000000..b922fd088 --- /dev/null +++ b/include/smarty/libs/sysplugins/smarty_internal_method_getstreamvariable.php @@ -0,0 +1,51 @@ +<?php + +/** + * Smarty Method GetStreamVariable + * + * Smarty::getStreamVariable() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_GetStreamVariable +{ + /** + * Valid for all objects + * + * @var int + */ + public $objMap = 7; + + /** + * gets a stream variable + * + * @api Smarty::getStreamVariable() + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $variable the stream of the variable + * + * @return mixed + * @throws \SmartyException + */ + public function getStreamVariable(Smarty_Internal_Data $data, $variable) + { + $_result = ''; + $fp = fopen($variable, 'r+'); + if ($fp) { + while (!feof($fp) && ($current_line = fgets($fp)) !== false) { + $_result .= $current_line; + } + fclose($fp); + + return $_result; + } + $smarty = isset($data->smarty) ? $data->smarty : $data; + if ($smarty->error_unassigned) { + throw new SmartyException('Undefined stream variable "' . $variable . '"'); + } else { + return null; + } + } +}
\ No newline at end of file |