2 /***************************************************************
5 * (c) 1999-2009 Kasper Skaarhoj (kasperYYYY@typo3.com)
8 * This script is part of the TYPO3 project. The TYPO3 project is
9 * free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * The GNU General Public License can be found at
15 * http://www.gnu.org/copyleft/gpl.html.
16 * A copy is found in the textfile GPL.txt and important notices to the license
17 * from the author is found in LICENSE.txt distributed with these scripts.
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
28 * Creates the frameset for 'Frameset modules' like Web>* and File>*
31 * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
32 * XHTML compliant content (with exception of a few attributes for the <frameset> tags)
34 * @author Kasper Skaarhoj <kasperYYYY@typo3.com>
37 * [CLASS/FUNCTION INDEX of SCRIPT]
41 * 63: class SC_alt_mod_frameset
43 * 150: function printContent()
46 * (This index is automatically created/updated by the extension "extdeveval")
51 require ('template.php');
55 * Script Class for rendering the frameset which keeps the navigation and list frames together for socalled "Frameset modules"
57 * @author Kasper Skaarhoj <kasperYYYY@typo3.com>
61 class SC_alt_mod_frameset
{
64 var $defaultWidth = 245; // Default width of the navigation frame. Can be overridden from $TBE_STYLES['dims']['navFrameWidth'] (alternative default value) AND from User TSconfig
65 var $resizable = TRUE
; // If true, the frame can be resized.
68 var $content; // Content accumulation.
71 var $exScript=''; // Script to load in list frame.
72 var $id=''; // ID of page
73 var $fW=''; // Framewidth
82 * Creates the header and frameset for the module/submodules
87 global $BE_USER,$TBE_TEMPLATE,$TBE_STYLES;
90 $this->exScript
= t3lib_div
::sanitizeLocalUrl(t3lib_div
::_GP('exScript'));
91 $this->id
= intval(t3lib_div
::_GP('id'));
92 $this->fW
= t3lib_div
::_GP('fW');
94 // Setting resizing flag:
95 $this->resizable
= $BE_USER->uc
['navFrameResizable'] ? TRUE
: FALSE
;
97 // Setting frame width:
98 if (intval($this->fW
) && $this->resizable
) { // Framewidth from stored value, last one.
99 $width = t3lib_div
::intInRange($this->fW
,100,1000)+
10; // +10 to compensate for width of scrollbar. However, width is always INSIDE scrollbars, so potentially it will jump a little forth/back...
100 } else { // Framewidth from configuration;
101 $width = $BE_USER->uc
['navFrameWidth'];
102 $width = intval($width)?
intval($width):($TBE_STYLES['dims']['navFrameWidth'] ?
intval($TBE_STYLES['dims']['navFrameWidth']) : $this->defaultWidth
);
105 // Navigation frame URL:
106 $script = t3lib_div
::sanitizeLocalUrl(t3lib_div
::_GP('script'));
107 $nav = t3lib_div
::sanitizeLocalUrl(t3lib_div
::_GP('nav'));
108 $URL_nav = htmlspecialchars($nav.'¤tSubScript='.rawurlencode($script));
111 $URL_list = htmlspecialchars($this->exScript ?
$this->exScript
: ($script . ($this->id ?
(strpos($script, '?') ?
'&' : '?' ) . 'id=' . rawurlencode($this->id
) : '')));
114 $TBE_TEMPLATE->docType
='xhtml_frames';
115 $this->content
= $TBE_TEMPLATE->startPage('Frameset');
117 if ($this->resizable
) {
119 <frameset id="typo3-content-frameset" cols="'.$width.',*">
120 <frame name="nav_frame" src="'.$URL_nav.'" marginwidth="0" marginheight="0" scrolling="auto" />
121 <frame name="list_frame" src="'.$URL_list.'" marginwidth="0" marginheight="0" scrolling="auto" />
129 <frameset id="typo3-content-frameset" cols="'.$width.',8,*" framespacing="0" frameborder="0" border="0">
130 <frame name="nav_frame" src="'.$URL_nav.'" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" noresize="noresize" />
131 <frame name="border_frame" src="'.(isset($GLOBALS['TBE_STYLES']['border']) ?
$GLOBALS['TBE_STYLES']['border'] : 'border.html').'" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" noresize="noresize" />
132 <frame name="list_frame" src="'.$URL_list.'" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" noresize="noresize" />
141 * Outputting the accumulated content to screen
145 function printContent() {
151 if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE
]['XCLASS']['typo3/alt_mod_frameset.php']) {
152 include_once($TYPO3_CONF_VARS[TYPO3_MODE
]['XCLASS']['typo3/alt_mod_frameset.php']);
157 // ******************************
158 // Starting document output
159 // ******************************
162 $SOBE = t3lib_div
::makeInstance('SC_alt_mod_frameset');
164 $SOBE->printContent();