Fixed bug #16226: Optimize stdWrap usage for TypoScript content element HRULER (Thank...
[Packages/TYPO3.CMS.git] / typo3 / sysext / cms / tslib / content / class.tslib_content_horizontalruler.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 2010 Xavier Perseguers <typo3@perseguers.ch>
6 * (c) 2010 Steffen Kamper <steffen@typo3.org>
7 * All rights reserved
8 *
9 * This script is part of the TYPO3 project. The TYPO3 project is
10 * free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * The GNU General Public License can be found at
16 * http://www.gnu.org/copyleft/gpl.html.
17 * A copy is found in the textfile GPL.txt and important notices to the license
18 * from the author is found in LICENSE.txt distributed with these scripts.
19 *
20 *
21 * This script is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * This copyright notice MUST APPEAR in all copies of the script!
27 ***************************************************************/
28
29 /**
30 * Contains TEXT class object.
31 *
32 * $Id: class.tslib_content.php 7905 2010-06-13 14:42:33Z ohader $
33 * @author Xavier Perseguers <typo3@perseguers.ch>
34 * @author Steffen Kamper <steffen@typo3.org>
35 */
36 class tslib_content_HorizontalRuler extends tslib_content_Abstract {
37
38 /**
39 * Rendering the cObject, HRULER
40 *
41 * @param array Array of TypoScript properties
42 * @return string Output
43 */
44 public function render($conf = array()) {
45
46 $lineThickness = isset($conf['lineThickness.'])
47 ? $this->cObj->stdWrap($conf['lineThickness'], $conf['lineThickness.'])
48 : $conf['lineThickness'];
49 $lineThickness = t3lib_div::intInRange($lineThickness, 1, 50);
50
51 $lineColor = isset($conf['lineColor.'])
52 ? $this->cObj->stdWrap($conf['lineColor'], $conf['lineColor.'])
53 : $conf['lineColor'];
54 if(!$lineColor) {
55 $lineColor = 'black';
56 }
57
58 $spaceBefore = isset($conf['spaceLeft.'])
59 ? intval($this->cObj->stdWrap($conf['spaceLeft'], $conf['spaceLeft.']))
60 : intval($conf['spaceLeft']);
61
62 $spaceAfter = isset($conf['spaceRight.'])
63 ? intval($this->cObj->stdWrap($conf['spaceRight'], $conf['spaceRight.']))
64 : intval($conf['spaceRight']);
65
66 $tableWidth = isset($conf['tableWidth.'])
67 ? intval($this->cObj->stdWrap($conf['tableWidth'], $conf['tableWidth.']))
68 : intval($conf['tableWidth']);
69 if(!$tableWidth) {
70 $tableWidth = '99%';
71 }
72
73 $theValue = '';
74
75 $theValue .= '<table border="0" cellspacing="0" cellpadding="0"
76 width="' . htmlspecialchars($tableWidth) . '"
77 summary=""><tr>';
78 if ($spaceBefore) {
79 $theValue .= '<td width="1">
80 <img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif"
81 width="' . $spaceBefore . '"
82 height="1" alt="" title="" />
83 </td>';
84 }
85 $theValue .= '<td bgcolor="' . $lineColor . '">
86 <img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif"
87 width="1"
88 height="' . $lineThickness . '"
89 alt="" title="" />
90 </td>';
91 if ($spaceAfter) {
92 $theValue .= '<td width="1">
93 <img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif"
94 width="' . $spaceAfter . '"
95 height="1" alt="" title="" />
96 </td>';
97 }
98 $theValue .= '</tr></table>';
99
100 if (isset($conf['stdWrap.'])) {
101 $theValue = $this->cObj->stdWrap($theValue, $conf['stdWrap.']);
102 }
103
104 return $theValue;
105
106 }
107
108 }
109
110
111 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_horizontalruler.php']) {
112 include_once ($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_horizontalruler.php']);
113 }
114
115 ?>