From 04107213faada624e58c82712ce1429a9d6db8a2 Mon Sep 17 00:00:00 2001
From: thomasb
Date: Tue, 7 Aug 2007 21:02:12 +0000
Subject: Documentation, code style and cleanup
git-svn-id: https://svn.roundcube.net/trunk@666 208e9e7b-5314-0410-a742-e7e81cd9613c
---
roundcubemail/program/include/rcube_html.inc | 671 +++++++++++++++++++++++++++
1 file changed, 671 insertions(+)
create mode 100644 roundcubemail/program/include/rcube_html.inc
(limited to 'roundcubemail/program/include/rcube_html.inc')
diff --git a/roundcubemail/program/include/rcube_html.inc b/roundcubemail/program/include/rcube_html.inc
new file mode 100644
index 000000000..5ebfa3256
--- /dev/null
+++ b/roundcubemail/program/include/rcube_html.inc
@@ -0,0 +1,671 @@
+ |
+ +-----------------------------------------------------------------------+
+
+ $Id: $
+
+*/
+
+
+/**
+ * HTML page builder class
+ *
+ * @package HTML
+ */
+class rcube_html_page
+{
+ var $scripts_path = '';
+ var $script_files = array();
+ var $scripts = array();
+ var $charset = 'UTF-8';
+
+ var $script_tag_file = "\n";
+ var $script_tag = "\n";
+ var $default_template = "\n\n\n";
+
+ var $title = 'RoundCube Mail';
+ var $header = '';
+ var $footer = '';
+ var $body = '';
+ var $body_attrib = array();
+ var $meta_tags = array();
+
+
+ /**
+ * Link an external script file
+ *
+ * @param string File URL
+ * @param string Target position [head|foot]
+ */
+ function include_script($file, $position='head')
+ {
+ static $sa_files = array();
+
+ if (in_array($file, $sa_files))
+ return;
+
+ if (!is_array($this->script_files[$position]))
+ $this->script_files[$position] = array();
+
+ $this->script_files[$position][] = $file;
+ }
+
+ /**
+ * Add inline javascript code
+ *
+ * @param string JS code snippet
+ * @param string Target position [head|head_top|foot]
+ */
+ function add_script($script, $position='head')
+ {
+ if (!isset($this->scripts[$position]))
+ $this->scripts[$position] = "\n".rtrim($script);
+ else
+ $this->scripts[$position] .= "\n".rtrim($script);
+ }
+
+ /**
+ * Add HTML code to the page header
+ */
+ function add_header($str)
+ {
+ $this->header .= "\n".$str;
+ }
+
+ /**
+ * Add HTML code to the page footer
+ * To be added right befor
')
+ $hpos++;
+ $hpos++;
+ }
+
+ $__page_header = "\n$__page_title\n$__page_header\n\n";
+ }
+
+ // add page hader
+ if ($hpos)
+ $output = substr($output,0,$hpos) . $__page_header . substr($output,$hpos,strlen($output));
+ else
+ $output = $__page_header . $output;
+
+
+ // find page body
+ if($bpos = strpos(strtolower($output), '') $bpos++;
+ $bpos++;
+ }
+ else
+ $bpos = strpos(strtolower($output), '')+7;
+
+ // add page body
+ if($bpos && $__page_body)
+ $output = substr($output,0,$bpos) . "\n$__page_body\n" . substr($output,$bpos,strlen($output));
+
+
+ // find and add page footer
+ $output_lc = strtolower($output);
+ if(($fpos = strrstr($output_lc, '