Cleanup: Updated copyright comments
[Packages/TYPO3.CMS.git] / typo3 / sysext / cms / tslib / content / class.tslib_content_multimedia.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 2010-2011 Xavier Perseguers <typo3@perseguers.ch>
6 * (c) 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 MULTIMEDIA 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_Multimedia extends tslib_content_Abstract {
37
38 /**
39 * Rendering the cObject, MULTIMEDIA
40 *
41 * @param array Array of TypoScript properties
42 * @return string Output
43 */
44 public function render($conf = array()) {
45 $content = '';
46 $filename = isset($conf['file.'])
47 ? $this->cObj->stdWrap($conf['file'], $conf['file.'])
48 : $conf['file'];
49 $incFile = $GLOBALS['TSFE']->tmpl->getFileName($filename);
50 if ($incFile) {
51 $fileinfo = t3lib_div::split_fileref($incFile);
52 if (t3lib_div::inList('txt,html,htm', $fileinfo['fileext'])) {
53 $content = $GLOBALS['TSFE']->tmpl->fileContent($incFile);
54 } else {
55 // default params...
56 $parArray = array();
57 // src is added
58
59 $width = isset($conf['width.'])
60 ? $this->cObj->stdWrap($conf['width'], $conf['width.'])
61 : $conf['width'];
62 if(!$width) {
63 $width = 200;
64 }
65
66 $height = isset($conf['height.'])
67 ? $this->cObj->stdWrap($conf['height'], $conf['height.'])
68 : $conf['height'];
69 if(!$height) {
70 $height = 200;
71 }
72
73 $parArray['src'] = 'src="' . $GLOBALS['TSFE']->absRefPrefix . $incFile . '"';
74 if (t3lib_div::inList('au,wav,mp3', $fileinfo['fileext'])) {
75 }
76 if (t3lib_div::inList('avi,mov,mpg,asf,wmv', $fileinfo['fileext'])) {
77 $parArray['width'] = 'width="' . $width . '"';
78 $parArray['height'] = 'height="' . $height . '"';
79 }
80 if (t3lib_div::inList('swf,swa,dcr', $fileinfo['fileext'])) {
81 $parArray['quality'] = 'quality="high"';
82 $parArray['width'] = 'width="' . $width . '"';
83 $parArray['height'] = 'height="' . $height . '"';
84 }
85 if (t3lib_div::inList('class', $fileinfo['fileext'])) {
86 $parArray['width'] = 'width="' . $width . '"';
87 $parArray['height'] = 'height="' . $height . '"';
88 }
89
90 // fetching params
91 $params = isset($conf['params.'])
92 ? $this->cObj->stdWrap($conf['params'], $conf['params.'])
93 : $conf['params'];
94 $lines = explode(LF, $params);
95 foreach ($lines as $l) {
96 $parts = explode('=', $l);
97 $parameter = strtolower(trim($parts[0]));
98 $value = trim($parts[1]);
99 if ((string) $value != '') {
100 $parArray[$parameter] = $parameter . '="' . htmlspecialchars($value) . '"';
101 } else {
102 unset($parArray[$parameter]);
103 }
104 }
105 if ($fileinfo['fileext'] == 'class') {
106 unset($parArray['src']);
107 $parArray['code'] = 'code="' . htmlspecialchars($fileinfo['file']) . '"';
108 $parArray['codebase'] = 'codebase="' . htmlspecialchars($fileinfo['path']) . '"';
109 $content = '<applet ' . implode(' ', $parArray) . '></applet>';
110 } else {
111 $content = '<embed ' . implode(' ', $parArray) . '></embed>';
112 }
113 }
114 }
115
116 if (isset($conf['stdWrap.'])) {
117 $content = $this->cObj->stdWrap($content, $conf['stdWrap.']);
118 }
119
120 return $content;
121 }
122
123 }
124
125
126 if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_multimedia.php'])) {
127 include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['tslib/content/class.tslib_content_multimedia.php']);
128 }
129
130 ?>