From 3510d7bf0a58084dd950f5e1dabf5042500cf412 Mon Sep 17 00:00:00 2001 From: till <till@php.net> Date: Wed, 30 Apr 2008 09:24:45 -0400 Subject: [PATCH] * implemented __set/__get --- program/include/rcube_html_page.php | 80 +++++++++++++++++++++++++++++---------- 1 files changed, 59 insertions(+), 21 deletions(-) diff --git a/program/include/rcube_html_page.php b/program/include/rcube_html_page.php index 42036f6..676d1fb 100644 --- a/program/include/rcube_html_page.php +++ b/program/include/rcube_html_page.php @@ -1,5 +1,4 @@ <?php - /* +-----------------------------------------------------------------------+ | program/include/rcube_html_page.php | @@ -23,28 +22,25 @@ * Class for HTML page creation * * @package HTML + * + * @author Thomas Bruederli <roundcube@gmail.com> + * @license http://gnu.org GPL + * @todo See about improving performance (__get, __set, sprintf) */ class rcube_html_page { - protected $scripts_path = ''; - protected $script_files = array(); - protected $external_scripts = array(); - protected $scripts = array(); - protected $charset = 'UTF-8'; + protected $_store = array(); - protected $script_tag_file = "<script type=\"text/javascript\" src=\"%s%s\"></script>\n"; - protected $script_tag = "<script type=\"text/javascript\">\n<!--\n%s\n\n//-->\n</script>\n"; - protected $default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>"; - protected $tag_format_external_script = "<script type=\"text/javascript\" src=\"%s\"></script>\n"; - - protected $title = ''; - protected $header = ''; - protected $footer = ''; - protected $body = ''; - - - /** Constructor */ - public function __construct() {} + /** + * Constructor + * + * @return rcube_html_page + * @uses self::reset() + */ + public function __construct() + { + $this->reset(); + } /** * Link an external script file @@ -124,14 +120,30 @@ /** * Reset all saved properties + * + * @return void + * @see self::__construct + * @uses self::$_store */ public function reset() { + $this->scripts_path = ''; $this->script_files = array(); + $this->external_scripts = array(); $this->scripts = array(); + $this->charset = 'UTF-8'; + + // templates + $this->script_tag_file = "<script type=\"text/javascript\" src=\"%s%s\"></script>\n"; + $this->script_tag = "<script type=\"text/javascript\">\n<!--\n%s\n\n//-->\n</script>\n"; + $this->default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>"; + $this->tag_format_external_script = "<script type=\"text/javascript\" src=\"%s\"></script>\n"; + + // page stuff $this->title = ''; $this->header = ''; $this->footer = ''; + $this->body = ''; } /** @@ -250,7 +262,33 @@ $output = preg_replace('/(src|href|background)=(["\']?)(\/[a-z0-9_\-]+)/Ui', "\\1=\\2$base_path\\3", $output); $output = str_replace('$__skin_path', $base_path, $output); - print rcube_charset_convert($output, 'UTF-8', $this->charset); + echo rcube_charset_convert($output, 'UTF-8', $this->charset); + } + + /** + * __get + * + * @param string $var A variable name. + * + * @return mixed + * @uses self::$_store + */ + public function __get($var) + { + return $this->_store[$var]; + } + + /** + * __set + * + * @param string $var A variable name. + * @param mixed $value The value of the variable. + * + * @return mixed + * @uses self::$_store + */ + public function __set($var, $value) + { + return $this->_store[$var] = $value; } } - -- Gitblit v1.9.1