TYPO3 CMS  TYPO3_6-2
OffsetTableContentObject.php
Go to the documentation of this file.
1 <?php
3 
23  public $tableParams = 'border="0" cellspacing="0" cellpadding="0"';
24 
28  public $default_tableParams = 'border="0" cellspacing="0" cellpadding="0"';
29 
33  public $tdParams = ' width="99%" valign="top"';
34 
41  public function __construct(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj = NULL) {
42  if (!is_null($cObj)) {
43  $this->cObj = $cObj;
45  }
46  }
47 
54  public function render($conf = array()) {
55  $tableParams = isset($conf['tableParams.']) ? $this->cObj->stdWrap($conf['tableParams'], $conf['tableParams.']) : $conf['tableParams'];
56  if ($tableParams) {
57  $this->tableParams = $tableParams;
58  }
59  $offset = isset($conf['offset.']) ? $this->cObj->stdWrap($conf['offset'], $conf['offset.']) : $conf['offset'];
60  $content = $this->start($this->cObj->cObjGet($conf), $offset);
61  if (isset($conf['stdWrap.'])) {
62  $content = $this->cObj->stdWrap($content, $conf['stdWrap.']);
63  }
64  return $content;
65  }
66 
75  public function start($content, $offset) {
76  $valPairs = \TYPO3\CMS\Core\Utility\GeneralUtility::intExplode(',', $offset . ',,,,,');
77  if ($valPairs[0] || $valPairs[1] || $valPairs[2] || $valPairs[3] || $valPairs[4] || $valPairs[5]) {
78  // If width is defined AND there has been no change to the default table params,
79  // then extend them to a tablewidth of 1
80  if ($valPairs[4] && $this->default_tableParams == $this->tableParams) {
81  $this->tableParams .= ' width="1"';
82  }
83  // Init:
84  $this->begin = LF . '<table ' . $this->tableParams . '>';
85  $this->end = '</table>';
86  $rows = array();
87  $widthImg = '';
88  $heightImg = '';
89  // If width is required, set so bottom column will display for sure
90  if ($valPairs[4]) {
91  if (!$valPairs[3]) {
92  $valPairs[3] = 1;
93  }
94  $widthImg = '<img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif" width="' . $valPairs[4] . '" height="1" alt="" title="" />';
95  }
96  // If height is required, set so right column will display for sure
97  if ($valPairs[5]) {
98  if (!$valPairs[2]) {
99  $valPairs[2] = 1;
100  }
101  $valPairs[2] = 1;
102  $heightImg = '<img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif" width="1" height="' . $valPairs[5] . '" alt="" title="" />';
103  }
104  // First row:
105  // top
106  if ($valPairs[1]) {
107  $rows[1] .= '<tr>';
108  $rows[1] .= '<td><img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif" width="' . ($valPairs[0] ?: 1) . '" height="' . $valPairs[1] . '" alt="" title="" /></td>';
109  if ($valPairs[0]) {
110  $rows[1] .= '<td></td>';
111  }
112  if ($valPairs[2]) {
113  $rows[1] .= '<td></td>';
114  }
115  $rows[1] .= '</tr>';
116  }
117  // Middle row:
118  $rows[2] .= '<tr>';
119  if ($valPairs[0]) {
120  $rows[2] .= $valPairs[1] ? '<td></td>' : '<td><img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif" width="' . $valPairs[0] . '" height="1" alt="" title="" /></td>';
121  }
122  $rows[2] .= '<td' . $this->tdParams . '>' . $content . '</td>';
123  if ($valPairs[2]) {
124  $rows[2] .= $valPairs[3] ? '<td>' . $heightImg . '</td>' : '<td><img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif" width="' . $valPairs[2] . '" height="' . ($valPairs[5] ?: 1) . '" alt="" title="" /></td>';
125  }
126  $rows[2] .= '</tr>';
127  // Bottom row:
128  if ($valPairs[3]) {
129  $rows[3] .= '<tr>';
130  if ($valPairs[0]) {
131  $rows[3] .= '<td></td>';
132  }
133  if ($valPairs[2]) {
134  $rows[3] .= '<td>' . $widthImg . '</td>';
135  }
136  $rows[3] .= '<td><img src="' . $GLOBALS['TSFE']->absRefPrefix . 'clear.gif" width="' . ($valPairs[2] ?: ($valPairs[4] ?: 1)) . '" height="' . $valPairs[3] . '" alt="" title="" /></td>';
137  $rows[3] .= '</tr>';
138  }
139  return $this->begin . implode('', $rows) . $this->end;
140  } else {
141  return $content;
142  }
143  }
144 
145 }
__construct(\TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer $cObj=NULL)
static intExplode($delimiter, $string, $removeEmptyValues=FALSE, $limit=0)
if(!defined('TYPO3_MODE')) $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_pre_processing'][]