9 * @author Christian Weiske <cweiske@cweiske.de>
10 * @copyright 2014 Christian Weiske
11 * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
12 * @link http://cweiske.de/bdrem.htm
17 * HTML page renderer. Renders a full HTML page.
21 * @author Christian Weiske <cweiske@cweiske.de>
22 * @copyright 2014 Christian Weiske
23 * @license http://www.gnu.org/licenses/agpl.html GNU AGPL v3
24 * @version Release: @package_version@
25 * @link http://cweiske.de/bdrem.htm
27 class Renderer_Html extends Renderer
33 protected $httpContentType = 'application/xhtml+xml; charset=utf-8';
36 * Send out HTTP headers when nothing shall be outputted.
40 public function handleStopOnEmpty()
42 header('HTTP/1.0 204 No Content');
46 * Generate a HTML page with the given events.
48 * @param array $arEvents Events to display on the HTML page
50 * @return string HTML code
52 * @see Renderer_HtmlTable
54 public function render($arEvents)
57 if (isset($_SERVER['HTTP_HOST'])) {
58 if (!isset($_SERVER['REQUEST_SCHEME'])) {
59 $_SERVER['REQUEST_SCHEME'] = 'http';
61 $links = ' <link rel="alternate" type="text/calendar" href="'
62 . $_SERVER['REQUEST_SCHEME'] . '://'
63 . $_SERVER['HTTP_HOST']
64 . preg_replace('#\?.+$#', '', $_SERVER['REQUEST_URI'])
68 $links .= ' <link rel="alternate" type="text/plain" href="'
69 . $_SERVER['REQUEST_SCHEME'] . '://'
70 . $_SERVER['HTTP_HOST']
71 . preg_replace('#\?.+$#', '', $_SERVER['REQUEST_URI'])
77 $tr = new Renderer_HtmlTable();
78 $table = $tr->render($arEvents);
80 <?xml version="1.0" encoding="utf-8"?>
81 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
82 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
83 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
86 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
87 $links <style type="text/css">
89 border: 1px solid black;
90 border-collapse: collapse;
95 border: 1px solid grey;
102 background-color: #C4DDF4;
105 background-color: #FEDCBA;
108 background-color: #DEFABC;
111 background-color: white;
119 background-color: white;
126 background-color: #FEDCBA;
132 tr.d-3 td.icon:before {
133 content: "\342\227\224"
135 tr.d-2 td.icon:before {
136 content: "\342\227\221"
138 tr.d-1 td.icon:before {
139 content: "\342\227\225"
141 tr.d0 td.icon:before {
142 content: "\342\230\205"
144 tr.d1 td.icon:before {
145 content: "\342\227\225"
147 tr.d2 td.icon:before {
148 content: "\342\227\221"
150 tr.d3 td.icon:before {
151 content: "\342\227\224"