From 51609351f2c4b5082b7e6f0744cd3811c325303f Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 11 Oct 2016 14:01:29 +0200 Subject: * initial template --- lib/smarty/sysplugins/smarty_config_source.php | 95 ++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 lib/smarty/sysplugins/smarty_config_source.php (limited to 'lib/smarty/sysplugins/smarty_config_source.php') diff --git a/lib/smarty/sysplugins/smarty_config_source.php b/lib/smarty/sysplugins/smarty_config_source.php new file mode 100644 index 0000000..043ff13 --- /dev/null +++ b/lib/smarty/sysplugins/smarty_config_source.php @@ -0,0 +1,95 @@ +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; + } + + /** + * <> 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'."); + } + } + + /** + * <> 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 -- cgit v1.2.3