[BUGFIX] Reduce spacing CGL violations in /typo3/
[Packages/TYPO3.CMS.git] / typo3 / browser.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 1999-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
6 * All rights reserved
7 *
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.
13 *
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.
18 *
19 *
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.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27 /**
28 * This is the frameset to the file/record browser window
29 *
30 * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
31 * XHTML-frames compatible.
32 *
33 * @author Kasper Skårhøj <kasperYYYY@typo3.com>
34 */
35 require ('init.php');
36 require ('template.php');
37
38
39
40
41
42
43
44
45 /**
46 * Script Class, putting the frameset together.
47 *
48 * @author Kasper Skårhøj <kasperYYYY@typo3.com>
49 * @package TYPO3
50 * @subpackage core
51 */
52 class SC_browser {
53
54 // Internal, dynamic
55 var $content;
56
57 /**
58 * Main function.
59 * Creates the header code in XHTML, the JavaScript, then the frameset for the two frames.
60 *
61 * @return void
62 */
63 function main() {
64
65 // Setting GPvars:
66 $mode =t3lib_div::_GP('mode');
67 $bparams = t3lib_div::_GP('bparams');
68
69 // workaround for FAL: previously, we had file as a mode, now we have sys_file db records
70 // check if we need to "translate" sys_file queries to mode=file queries
71 // @todo: handle this the right way in the TYPO3 core
72 $bParamElements = explode('|', $bparams);
73 if ($mode == 'db' && $bParamElements[3] == 'sys_file') {
74 $mode = 'file';
75 }
76
77
78
79 // Set doktype:
80 $GLOBALS['TBE_TEMPLATE']->docType='xhtml_frames';
81 $GLOBALS['TBE_TEMPLATE']->JScode=$GLOBALS['TBE_TEMPLATE']->wrapScriptTags('
82 function closing() { //
83 close();
84 }
85 function setParams(mode,params) { //
86 parent.content.location.href = "browse_links.php?mode="+mode+"&bparams="+params;
87 }
88 if (!window.opener) {
89 alert("ERROR: Sorry, no link to main window... Closing");
90 close();
91 }
92 ');
93
94 $this->content.=$GLOBALS['TBE_TEMPLATE']->startPage($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:TYPO3_Element_Browser'));
95
96 // URL for the inner main frame:
97 $url = $GLOBALS['BACK_PATH'].'browse_links.php?mode='.rawurlencode($mode).'&bparams='.rawurlencode($bparams);
98
99 // Create the frameset for the window:
100 // Formerly there were a ' onunload="closing();"' in the <frameset> tag - but it failed on Safari browser on Mac unless the handler was "onUnload"
101 $this->content.='
102 <frameset rows="*,1" framespacing="0" frameborder="0" border="0">
103 <frame name="content" src="'.htmlspecialchars($url).'" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" noresize="noresize" />
104 <frame name="menu" src="'.$GLOBALS['BACK_PATH'].'dummy.php" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" noresize="noresize" />
105 </frameset>
106 ';
107
108 $this->content.='
109 </html>';
110 }
111
112 /**
113 * Outputs the page content.
114 *
115 * @return void
116 */
117 function printContent() {
118 echo $this->content;
119 }
120 }
121
122 // Make instance:
123 $SOBE = t3lib_div::makeInstance('SC_browser');
124 $SOBE->main();
125 $SOBE->printContent();
126
127 ?>