TYPO3 CMS  TYPO3_7-6
FramesetRenderer.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
19 
24 {
32  public function make($setup)
33  {
34  $content = '';
35  if (is_array($setup)) {
36  $sKeyArray = TemplateService::sortedKeyList($setup);
37  foreach ($sKeyArray as $theKey) {
38  $theValue = $setup[$theKey];
39  if ((int)$theKey && ($conf = $setup[$theKey . '.'])) {
40  switch ($theValue) {
41  case 'FRAME':
42  $typeNum = (int)$GLOBALS['TSFE']->tmpl->setup[$conf['obj'] . '.']['typeNum'];
43  if (!$conf['src'] && !$typeNum) {
44  $typeNum = -1;
45  }
46  $content .= '<frame' . $this->frameParams($conf, $typeNum) . ' />' . LF;
47  break;
48  case 'FRAMESET':
49  $frameset = GeneralUtility::makeInstance(__CLASS__);
50  $content .= $frameset->make($conf) . LF;
51  break;
52  }
53  }
54  }
55  return '<frameset' . $this->framesetParams($setup) . '>' . LF . $content . '</frameset>';
56  }
57  return '';
58  }
59 
69  public function frameParams($setup, $typeNum)
70  {
71  $paramStr = '';
72  $name = $setup['obj'];
73  if ($setup['src'] || $setup['src.']) {
74  $src = $setup['src'];
75  if (is_array($setup['src.'])) {
76  $src = $GLOBALS['TSFE']->cObj->stdWrap($src, $setup['src.']);
77  }
78  $paramStr .= ' src="' . htmlspecialchars($src) . '"';
79  } else {
80  $LD = $GLOBALS['TSFE']->tmpl->linkData($GLOBALS['TSFE']->page, '', $GLOBALS['TSFE']->no_cache, '', '', ($setup['options'] ? '&' . $setup['options'] : '') . $GLOBALS['TSFE']->cObj->getClosestMPvalueForPage($GLOBALS['TSFE']->page['uid']), (int)$typeNum);
81  $finalURL = $LD['totalURL'];
82  $paramStr .= ' src="' . htmlspecialchars($finalURL) . '"';
83  }
84  if ($setup['name']) {
85  $paramStr .= ' name="' . $setup['name'] . '"';
86  } else {
87  $paramStr .= ' name="' . $name . '"';
88  }
89  if ($setup['params']) {
90  $paramStr .= ' ' . $setup['params'];
91  }
92  return $paramStr;
93  }
94 
103  public function framesetParams($setup)
104  {
105  $paramStr = '';
106  if ($setup['cols']) {
107  $paramStr .= ' cols="' . $setup['cols'] . '"';
108  }
109  if ($setup['rows']) {
110  $paramStr .= ' rows="' . $setup['rows'] . '"';
111  }
112  if ($setup['params']) {
113  $paramStr .= ' ' . $setup['params'];
114  }
115  return $paramStr;
116  }
117 }
if(!defined("DB_ERROR")) define("DB_ERROR"
static sortedKeyList($setupArr, $acceptOnlyProperties=false)
if(TYPO3_MODE==='BE') $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tsfebeuserauth.php']['frontendEditingController']['default']