1 |
rabit |
1.1 |
<?php |
2 |
|
|
/*------------------------------------------------------------------------------ |
3 |
|
|
--- www.netfrag.org |
4 |
|
|
--- Setup and common functions include file. |
5 |
|
|
-------------------------------------------------------------------------------- |
6 |
|
|
--- rabit, 21:23 31.08.2004 |
7 |
rabit |
1.2 |
--- $Id: ot_html1.php.inc,v 1.1 2004/09/01 08:53:08 rabit Exp $ |
8 |
rabit |
1.1 |
------------------------------------------------------------------------------*/ |
9 |
|
|
|
10 |
|
|
//- REQUIRED: |
11 |
|
|
//- common, cms, xmlcp |
12 |
|
|
|
13 |
|
|
//------------------------------------------------------------------------------ |
14 |
|
|
//- Name of content render function: |
15 |
|
|
|
16 |
|
|
$otd_render = 'otd_html1_renderpage'; |
17 |
|
|
|
18 |
|
|
//------------------------------------------------------------------------------ |
19 |
|
|
|
20 |
|
|
//common_benchmark_addstep('OT_HTML1: ...'); |
21 |
|
|
|
22 |
|
|
//------------------------------------------------------------------------------ |
23 |
|
|
|
24 |
|
|
//---------------------------------------------------------- |
25 |
|
|
//- XMLCP callbacks setup: |
26 |
|
|
|
27 |
|
|
xmlcp_registertagcallbacks('b', 'otd_html1_cb_xmlcp_start_bold', 'otd_html1_cb_xmlcp_end_bold'); |
28 |
|
|
xmlcp_registertagcallbacks('h', 'otd_html1_cb_xmlcp_start_headline', 'otd_html1_cb_xmlcp_end_headline'); |
29 |
|
|
//xmlcp_registertagcallbacks('page', 'otd_html1_cb_xmlcp_start_page', 'otd_html1_cb_xmlcp_end_page'); |
30 |
|
|
xmlcp_registertagcallbacks('p', 'otd_html1_cb_xmlcp_start_paragraph', 'otd_html1_cb_xmlcp_end_paragraph'); |
31 |
|
|
|
32 |
|
|
function otd_html1_cb_xmlcp_start_bold($h_parser, $tagname, $attribs) { |
33 |
|
|
|
34 |
|
|
global $xmlcp_cdata; |
35 |
|
|
|
36 |
|
|
$xmlcp_cdata .= '<b>'; |
37 |
|
|
|
38 |
|
|
} |
39 |
|
|
|
40 |
|
|
function otd_html1_cb_xmlcp_end_bold($h_parser, $tagname) { |
41 |
|
|
|
42 |
|
|
global $xmlcp_cdata; |
43 |
|
|
|
44 |
|
|
$xmlcp_cdata .= '</b>'; |
45 |
|
|
|
46 |
|
|
} |
47 |
|
|
|
48 |
|
|
function otd_html1_cb_xmlcp_start_headline($h_parser, $tagname, $attribs) { |
49 |
|
|
|
50 |
|
|
global $xmlcp_cdata; |
51 |
|
|
|
52 |
|
|
$xmlcp_cdata = ''; |
53 |
|
|
|
54 |
|
|
} |
55 |
|
|
|
56 |
|
|
function otd_html1_cb_xmlcp_end_headline($h_parser, $tagname) { |
57 |
|
|
|
58 |
|
|
global $xmlcp_cdata; |
59 |
|
|
|
60 |
|
|
otd_html1_headline(trim($xmlcp_cdata)); |
61 |
|
|
|
62 |
|
|
$xmlcp_cdata = ''; |
63 |
|
|
|
64 |
|
|
} |
65 |
|
|
|
66 |
|
|
/* |
67 |
|
|
function otd_html1_cb_xmlcp_start_page($h_parser, $tagname, $attribs) { |
68 |
|
|
|
69 |
|
|
} |
70 |
|
|
|
71 |
|
|
function otd_html1_cb_xmlcp_end_page($h_parser, $tagname) { |
72 |
|
|
|
73 |
|
|
} |
74 |
|
|
*/ |
75 |
|
|
|
76 |
|
|
function otd_html1_cb_xmlcp_start_paragraph($h_parser, $tagname, $attribs) { |
77 |
|
|
|
78 |
|
|
global $xmlcp_cdata; |
79 |
|
|
|
80 |
|
|
$xmlcp_cdata = ''; |
81 |
|
|
|
82 |
|
|
} |
83 |
|
|
|
84 |
|
|
function otd_html1_cb_xmlcp_end_paragraph($h_parser, $tagname) { |
85 |
|
|
|
86 |
|
|
global $xmlcp_cdata; |
87 |
|
|
|
88 |
|
|
otd_html1_paragraph(trim($xmlcp_cdata)); |
89 |
|
|
|
90 |
|
|
$xmlcp_cdata = ''; |
91 |
|
|
|
92 |
|
|
} |
93 |
|
|
|
94 |
|
|
//---------------------------------------------------------- |
95 |
|
|
//- Content render functions: |
96 |
|
|
|
97 |
|
|
function otd_html1_renderpage($keyname, $language_id = 0) { |
98 |
|
|
|
99 |
|
|
global $common; |
100 |
|
|
|
101 |
|
|
common_benchmark_addstep('otd_html1: render: start'); |
102 |
|
|
|
103 |
|
|
$list = cms_getlist('xmlpage', $keyname); |
104 |
|
|
|
105 |
|
|
common_benchmark_addstep('otd_html1: render: CMS get list'); |
106 |
|
|
|
107 |
|
|
$contentdata = cms_getcontent('xmlpage', $keyname, $language_id); |
108 |
|
|
|
109 |
|
|
common_benchmark_addstep('otd_html1: render: CMS get content'); |
110 |
|
|
|
111 |
|
|
$xml = $contentdata['content']; |
112 |
|
|
|
113 |
|
|
otd_html1_pageheader(); |
114 |
|
|
|
115 |
|
|
common_benchmark_addstep('otd_html1: render: header'); |
116 |
|
|
|
117 |
|
|
if($xml) { |
118 |
|
|
|
119 |
|
|
$titledata = ''; |
120 |
|
|
|
121 |
|
|
for($i = 0; $i < count($list); $i++) { |
122 |
|
|
|
123 |
|
|
$imgtag = '<img border="0" height="12" src="' . $common['site']['gfxurl'] . 'icons/flags/' . $list[$i][3] . '.gif" width="17" />'; |
124 |
|
|
|
125 |
|
|
$titledata .= ($i ? ' |
126 |
|
|
' : '') . (($language_id == $list[$i][3]) ? $imgtag : '<a href="?li=' . $list[$i][3] . '">' . $imgtag . '</a>'); |
127 |
|
|
|
128 |
|
|
} |
129 |
|
|
|
130 |
|
|
otd_html1_pagetitle($contentdata['description'], $titledata . '<br />'); |
131 |
|
|
|
132 |
|
|
xmlcp_xmlpage2html($xml); |
133 |
|
|
|
134 |
|
|
common_benchmark_addstep('otd_html1: render: xmlpage2html'); |
135 |
|
|
|
136 |
|
|
/* |
137 |
|
|
otd_html1_headline('$list array, readable:'); |
138 |
|
|
otd_html1_codeparagraph('$list = ' . nl2br(htmlentities(print_r($list, true)))); |
139 |
|
|
|
140 |
|
|
otd_html1_headline('$contentdata array, readable:'); |
141 |
|
|
otd_html1_codeparagraph('$contentdata = ' . nl2br(htmlentities(print_r($contentdata, true)))); |
142 |
|
|
|
143 |
|
|
otd_html1_headline('$common array, readable:'); |
144 |
|
|
otd_html1_codeparagraph('$common = ' . nl2br(htmlentities(print_r($common, true)))); |
145 |
|
|
|
146 |
|
|
otd_html1_headline('$common_sessiondata array, readable:'); |
147 |
|
|
otd_html1_codeparagraph('$common_sessiondata = ' . nl2br(htmlentities(print_r($common_sessiondata, true)))); |
148 |
|
|
|
149 |
|
|
otd_html1_headline('Content XML:'); |
150 |
|
|
otd_html1_codeparagraph(nl2br(htmlentities($xml))); |
151 |
|
|
|
152 |
|
|
*/ |
153 |
|
|
|
154 |
|
|
// Only show the informations when "devstate" is set: |
155 |
|
|
if($common['hostsetup']['devstate']) { |
156 |
|
|
|
157 |
|
|
otd_html1_paragraph('<small> |
158 |
|
|
<b>Content informations:</b><br /> |
159 |
|
|
<br /> |
160 |
|
|
Description: "<b>' . $contentdata['description'] . '</b>" (Type: "xmlpage")<br /> |
161 |
|
|
Creator: "<b>' . $contentdata['creator_name'] . '</b>"<br /> |
162 |
|
|
Date, Time: "<b>' . date('d.m.Y, H:i:s', $contentdata['unixtime']) . '</b>"<br /> |
163 |
|
|
Language: "<b>' . $contentdata['language_name'] . '</b>"<br /> |
164 |
|
|
XML content size: <b>' . strlen($xml) . '</b> bytes |
165 |
|
|
</small>', 'box2'); |
166 |
|
|
|
167 |
|
|
} |
168 |
|
|
|
169 |
|
|
} else { |
170 |
|
|
|
171 |
|
|
otd_html1_pagetitle('Bad content request'); |
172 |
|
|
|
173 |
|
|
otd_html1_paragraph('Sorry, but the requested content is unknown.'); |
174 |
|
|
|
175 |
|
|
} |
176 |
|
|
|
177 |
|
|
common_benchmark_addstep('otd_html1: render: content'); |
178 |
|
|
|
179 |
|
|
otd_html1_pagefooter(); |
180 |
|
|
|
181 |
|
|
} |
182 |
|
|
|
183 |
|
|
//---------------------------------------------------------- |
184 |
|
|
//- HTML Output functions: |
185 |
|
|
|
186 |
|
|
function otd_html1_codeparagraph($contents) { |
187 |
|
|
|
188 |
|
|
echo '<p align="justify" class="hl11"> |
189 |
|
|
<code> |
190 |
|
|
' . $contents . ' |
191 |
|
|
</code> |
192 |
|
|
</p> |
193 |
|
|
|
194 |
|
|
'; |
195 |
|
|
|
196 |
|
|
} |
197 |
|
|
|
198 |
|
|
function otd_html1_headline($caption) { |
199 |
|
|
|
200 |
|
|
echo '<h4>' . $caption . '</h4> |
201 |
|
|
|
202 |
|
|
'; |
203 |
|
|
|
204 |
|
|
} |
205 |
|
|
|
206 |
|
|
function otd_html1_pagefooter() { |
207 |
|
|
|
208 |
|
|
global $common; |
209 |
|
|
|
210 |
|
|
// Only show the benchmark list when "devstate" is set: |
211 |
|
|
if($common['hostsetup']['devstate']) { |
212 |
|
|
|
213 |
|
|
$contents = ''; |
214 |
|
|
|
215 |
|
|
for($i = 0; $i < count($common['benchmark']); $i++) { |
216 |
|
|
|
217 |
|
|
$mtimesegs = explode(' ', $common['benchmark'][$i][1]); |
218 |
|
|
$contents .= substr('0' . ($i + 1), -2) . ': "<b>' . $common['benchmark'][$i][0] . '</b>": '; |
219 |
|
|
|
220 |
|
|
if($i) { |
221 |
|
|
|
222 |
|
|
$timediff = (float)($mtimesegs[1] - $lastmtimesegs[1]); |
223 |
|
|
$timediff += $mtimesegs[0] - $lastmtimesegs[0]; |
224 |
|
|
|
225 |
|
|
$contents .= '<b>+' . round($timediff * 1000000) / 1000 . '</b> ms<br /> |
226 |
|
|
'; |
227 |
|
|
|
228 |
|
|
} else { |
229 |
|
|
|
230 |
|
|
$contents .= 'Start time: <b>' . date('H:i:s', $mtimesegs[1]) . substr($mtimesegs[0], 1, 4) . '</b><br /> |
231 |
|
|
'; |
232 |
|
|
|
233 |
|
|
} |
234 |
|
|
|
235 |
|
|
$lastmtimesegs = $mtimesegs; |
236 |
|
|
|
237 |
|
|
} |
238 |
|
|
|
239 |
|
|
otd_html1_paragraph('<small> |
240 |
|
|
<b>Partial execution times:</b><br /> |
241 |
|
|
<br /> |
242 |
|
|
' . $contents . '</small>', 'box2'); |
243 |
|
|
|
244 |
|
|
} |
245 |
|
|
|
246 |
|
|
common_benchmark_addstep('COMMON: page footer'); |
247 |
|
|
|
248 |
|
|
$endmtimesegs = explode(' ', microtime()); |
249 |
|
|
$startmtimesegs = explode(' ', $common['benchmark'][0][1]); |
250 |
|
|
$timediff = (float)($endmtimesegs[1] - $startmtimesegs[1]); |
251 |
|
|
$timediff += $endmtimesegs[0] - $startmtimesegs[0]; |
252 |
|
|
|
253 |
|
|
$devstate = $common['hostsetup']['devstate']; |
254 |
|
|
|
255 |
|
|
echo '<table cellspacing="0" cellpadding="0" class="box1" width="100%"> |
256 |
|
|
<tr> |
257 |
|
|
<td valign="top"> |
258 |
|
|
Page execution time: <code>' . round($timediff * 100000) / 100 . '</code> ms.<br /> |
259 |
|
|
[ ' . ($devstate ? '<a href="?devstate=0">devstate off</a>' : '<a href="?devstate=1">devstate on</a>') . ' ] |
260 |
|
|
</td> |
261 |
|
|
<td align="right" valign="middle"><a href="http://validator.w3.org/check?uri=referer" target="_blank"><img alt="This page is valid XHTML 1.0" border="0" height="31" src="http://www.w3.org/Icons/valid-xhtml10" width="88" /></a> |
262 |
|
|
<a href="http://jigsaw.w3.org/css-validator/check/referer" target="_blank"><img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /></a></td> |
263 |
|
|
</tr> |
264 |
|
|
</table> |
265 |
|
|
|
266 |
|
|
</body> |
267 |
|
|
|
268 |
|
|
</html> |
269 |
|
|
'; |
270 |
|
|
|
271 |
|
|
} |
272 |
|
|
|
273 |
|
|
function otd_html1_pageheader() { |
274 |
|
|
|
275 |
|
|
global $common, $common_sessiondata; |
276 |
|
|
|
277 |
|
|
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
278 |
|
|
|
279 |
|
|
<html xmlns="http://www.w3.org/1999/xhtml"> |
280 |
|
|
|
281 |
|
|
<head> |
282 |
|
|
<title>www.netfrag.org</title> |
283 |
|
|
<style type="text/css"><!-- |
284 |
|
|
body, input, table { font: 10pt verdana, serif; } |
285 |
|
|
h4 { font-size:12pt; } |
286 |
|
|
input { border:1px; } |
287 |
|
|
small { font-size:8pt; } |
288 |
|
|
.bg11, .box1, .f11, .hl11 { background-color:#50f8f0; } |
289 |
|
|
.bg12, .f12 { background-color:#40e8e0; } |
290 |
|
|
.bg13 { background-color:#20a0c0; } |
291 |
|
|
.bg21, .box2, .f21, .hl21 { background-color:#90fff0; } |
292 |
|
|
.bg22, .f22 { background-color:#80f0e0; } |
293 |
|
|
.bg23 { background-color:#40c080; } |
294 |
|
|
.box1, .f11, .f12 { border:2px solid #20a0c0; } |
295 |
|
|
.box2, .f21, .f22 { border:1px solid #40c080; } |
296 |
|
|
.box1, .box2, .hl11, .hl21 { padding:4px; } |
297 |
|
|
--></style> |
298 |
|
|
</head> |
299 |
|
|
|
300 |
|
|
<body> |
301 |
|
|
|
302 |
|
|
<form action="" method="post"> |
303 |
|
|
<table cellspacing="0" cellpadding="0" width="100%"> |
304 |
|
|
<tr> |
305 |
|
|
<th class="box1" width="100%"> |
306 |
|
|
<font size="5" style="letter-spacing:4pt;"><b>www.netfrag.org</b></font> |
307 |
|
|
</td> |
308 |
|
|
<td> </td> |
309 |
|
|
<td> |
310 |
|
|
<table cellspacing="0" cellpadding="2" class="f22"> |
311 |
|
|
<tr> |
312 |
|
|
<th class="box2" rowspan="2"><b>User<br />login</b></th> |
313 |
|
|
<td> User:</td><td><input name="un" size="8" type="text" value="' . $common_sessiondata['userdata']['name'] . '" /></td> |
314 |
|
|
<td rowspan="2"><input type="submit" value="Go" /> </td> |
315 |
|
|
<tr> |
316 |
|
|
<td> Pass:</td><td><input name="pw" size="8" type="password" /></td> |
317 |
|
|
</tr> |
318 |
|
|
</table> |
319 |
|
|
</td> |
320 |
|
|
</tr> |
321 |
|
|
</table> |
322 |
|
|
</form> |
323 |
|
|
|
324 |
|
|
'; |
325 |
|
|
|
326 |
|
|
} |
327 |
|
|
|
328 |
|
|
function otd_html1_pagetitle($title, $additionalcontents = '') { |
329 |
|
|
|
330 |
|
|
echo '<p class="box2"> |
331 |
|
|
<big><b>• ' . $title . '</b> </big> |
332 |
|
|
' . ($additionalcontents ? $additionalcontents . ' |
333 |
|
|
' : '') . '</p> |
334 |
|
|
|
335 |
|
|
'; |
336 |
|
|
|
337 |
|
|
} |
338 |
|
|
|
339 |
|
|
function otd_html1_paragraph($contents, $class = '') { |
340 |
|
|
|
341 |
|
|
echo '<p align="justify"' . ($class ? ' class="' . $class . '"' : '') . '> |
342 |
|
|
' . $contents . ' |
343 |
|
|
</p> |
344 |
|
|
|
345 |
|
|
'; |
346 |
|
|
|
347 |
|
|
} |
348 |
|
|
|
349 |
|
|
//------------------------------------------------------------------------------ |
350 |
|
|
|
351 |
|
|
?> |