| | |
| | | |
| | | var $script_tag_file = "<script type=\"text/javascript\" src=\"%s%s\"></script>\n"; |
| | | var $script_tag = "<script type=\"text/javascript\">\n<!--\n%s\n\n//-->\n</script>\n"; |
| | | var $default_template = "<html>\n<head><title></title></head>\n<body></body>\n</html>"; |
| | | |
| | | var $title = ''; |
| | | var $header = ''; |
| | |
| | | } |
| | | |
| | | |
| | | function set_title() |
| | | function set_title($t) |
| | | { |
| | | |
| | | $this->title = $t; |
| | | } |
| | | |
| | | |
| | | function set_charset($charset) |
| | | { |
| | |
| | | $MBSTRING = FALSE; |
| | | } |
| | | } |
| | | |
| | | |
| | | function get_charset() |
| | | { |
| | | return $this->charset; |
| | | } |
| | | |
| | | |
| | | function reset() |
| | | { |
| | | $this->css = new rcube_css(); |
| | | $this->script_files = array(); |
| | | $this->scripts = array(); |
| | | $this->title = ''; |
| | | } |
| | | |
| | | |
| | | function write($templ='', $base_path='') |
| | | { |
| | | $output = trim($templ); |
| | | |
| | | $output = empty($templ) ? $this->default_template : trim($templ); |
| | | |
| | | // set default page title |
| | | if (!strlen($this->title)) |
| | | $this->title = 'RoundCube|Mail'; |
| | | $this->title = 'RoundCube Mail'; |
| | | |
| | | // replace specialchars in content |
| | | $__page_title = rep_specialchars_output($this->title, 'html', 'show', FALSE); |
| | |
| | | |
| | | // include meta tag with charset |
| | | if (!empty($this->charset)) |
| | | $__page_header = '<meta http-equiv="content-type" content="text/html; charset='.$this->charset.'" />'."\n";; |
| | | { |
| | | header('Content-Type: text/html; charset='.$this->charset); |
| | | $__page_header = '<meta http-equiv="content-type" content="text/html; charset='.$this->charset.'" />'."\n"; |
| | | } |
| | | |
| | | |
| | | // definition of the code to be placed in the document header and footer |
| | |
| | | |
| | | // correct absolute pathes in images and other tags |
| | | $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); |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | // replace the middle part of a string with ... |
| | | // if it is longer than the allowed length |
| | | function abbrevate_string($str, $maxlength, $place_holder='...') |
| | | { |
| | | $length = strlen($str); |
| | |
| | | } |
| | | |
| | | |
| | | // make sure the string ends with a slash |
| | | function slashify($str) |
| | | { |
| | | return unslashify($str).'/'; |
| | | } |
| | | |
| | | |
| | | // remove slash at the end of the string |
| | | function unslashify($str) |
| | | { |
| | | return preg_replace('/\/$/', '', $str); |
| | | } |
| | | |
| | | |
| | | // delete all files within a folder |
| | | function clear_directory($dir_path) |
| | | { |