summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/include/rcube_html_page.php80
1 files changed, 59 insertions, 21 deletions
diff --git a/program/include/rcube_html_page.php b/program/include/rcube_html_page.php
index 42036f63c..676d1fb5e 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 $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 = '';
+ protected $_store = array();
-
- /** 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 @@ class rcube_html_page
/**
* 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 @@ class rcube_html_page
$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;
+ }
+}