diff options
author | Vasudev Kamath <kamathvasudev@gmail.com> | 2012-07-06 22:47:27 +0530 |
---|---|---|
committer | Vasudev Kamath <kamathvasudev@gmail.com> | 2012-07-06 22:47:27 +0530 |
commit | ba4db236ecff1ffdb56adc2715b3f53515f8cb34 (patch) | |
tree | f0b9928aade8aab95d1608890fde1918ce163754 /library/Smarty/libs/sysplugins/smarty_config_source.php | |
parent | 6e4760dd9c512147309b5e4a98d25216610f81da (diff) | |
parent | a122fecf50d06856a2ada8b564f711fb52c327f0 (diff) | |
download | volse-hubzilla-ba4db236ecff1ffdb56adc2715b3f53515f8cb34.tar.gz volse-hubzilla-ba4db236ecff1ffdb56adc2715b3f53515f8cb34.tar.bz2 volse-hubzilla-ba4db236ecff1ffdb56adc2715b3f53515f8cb34.zip |
Merge branch 'master' of git://github.com/friendica/friendica
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_config_source.php')
-rw-r--r-- | library/Smarty/libs/sysplugins/smarty_config_source.php | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_config_source.php b/library/Smarty/libs/sysplugins/smarty_config_source.php new file mode 100644 index 000000000..043ff13e9 --- /dev/null +++ b/library/Smarty/libs/sysplugins/smarty_config_source.php @@ -0,0 +1,95 @@ +<?php +/** + * Smarty Internal Plugin + * + * @package Smarty + * @subpackage TemplateResources + */ + +/** + * Smarty Resource Data Object + * + * Meta Data Container for Config Files + * + * @package Smarty + * @subpackage TemplateResources + * @author Rodney Rehm + * + * @property string $content + * @property int $timestamp + * @property bool $exists + */ +class Smarty_Config_Source extends Smarty_Template_Source { + + /** + * create Config Object container + * + * @param Smarty_Resource $handler Resource Handler this source object communicates with + * @param Smarty $smarty Smarty instance this source object belongs to + * @param string $resource full config_resource + * @param string $type type of resource + * @param string $name resource name + * @param string $unique_resource unqiue resource name + */ + public function __construct(Smarty_Resource $handler, Smarty $smarty, $resource, $type, $name, $unique_resource) + { + $this->handler = $handler; // Note: prone to circular references + + // Note: these may be ->config_compiler_class etc in the future + //$this->config_compiler_class = $handler->config_compiler_class; + //$this->config_lexer_class = $handler->config_lexer_class; + //$this->config_parser_class = $handler->config_parser_class; + + $this->smarty = $smarty; + $this->resource = $resource; + $this->type = $type; + $this->name = $name; + $this->unique_resource = $unique_resource; + } + + /** + * <<magic>> Generic setter. + * + * @param string $property_name valid: content, timestamp, exists + * @param mixed $value newly assigned value (not check for correct type) + * @throws SmartyException when the given property name is not valid + */ + public function __set($property_name, $value) + { + switch ($property_name) { + case 'content': + case 'timestamp': + case 'exists': + $this->$property_name = $value; + break; + + default: + throw new SmartyException("invalid config property '$property_name'."); + } + } + + /** + * <<magic>> Generic getter. + * + * @param string $property_name valid: content, timestamp, exists + * @throws SmartyException when the given 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("config property '$property_name' does not exist."); + } + } + +} + +?>
\ No newline at end of file |