* implemented __set/__get

release-0.6
till 17 years ago
parent 197601ef5f
commit 3510d7bf0a

@ -1,5 +1,4 @@
<?php <?php
/* /*
+-----------------------------------------------------------------------+ +-----------------------------------------------------------------------+
| program/include/rcube_html_page.php | | program/include/rcube_html_page.php |
@ -23,28 +22,25 @@
* Class for HTML page creation * Class for HTML page creation
* *
* @package HTML * @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 class rcube_html_page
{ {
protected $scripts_path = ''; protected $_store = array();
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 = '';
/**
/** Constructor */ * Constructor
public function __construct() {} *
* @return rcube_html_page
* @uses self::reset()
*/
public function __construct()
{
$this->reset();
}
/** /**
* Link an external script file * Link an external script file
@ -124,14 +120,30 @@ class rcube_html_page
/** /**
* Reset all saved properties * Reset all saved properties
*
* @return void
* @see self::__construct
* @uses self::$_store
*/ */
public function reset() public function reset()
{ {
$this->scripts_path = '';
$this->script_files = array(); $this->script_files = array();
$this->external_scripts = array();
$this->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->title = '';
$this->header = ''; $this->header = '';
$this->footer = ''; $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 = preg_replace('/(src|href|background)=(["\']?)(\/[a-z0-9_\-]+)/Ui', "\\1=\\2$base_path\\3", $output);
$output = str_replace('$__skin_path', $base_path, $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;
}
}

Loading…
Cancel
Save