<?php include_once '../doc-typo3-funcs.php'; $doxygen_vars = array( "title" => "TYPO3 4.0.1: typo3_src-4.0.1/typo3/sysext/rtehtmlarea/class.tx_rtehtmlarea_base.php Source File", "datetime" => "Sat Dec 2 19:22:34 2006", "date" => "2 Dec 2006", "doxygenversion" => "1.4.6", "projectname" => "TYPO3 4.0.1", "projectnumber" => "4.0.1" ); get_header($doxygen_vars); ?> <!-- Generated by Doxygen 1.4.6 --> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="classes.html"><span>Classes</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="nav"> <a class="el" href="dir_c8daf1ad746050abf985cc546c89e248.html">typo3_src-4.0.1</a> » <a class="el" href="dir_18071ae4545d8b3e0364d30c0659c74a.html">typo3</a> » <a class="el" href="dir_57bf1ed8249c1fd5b014486d01bcb27a.html">sysext</a> » <a class="el" href="dir_ba35782bbbbab3dd5f9ad49363790eab.html">rtehtmlarea</a></div> <h1>class.tx_rtehtmlarea_base.php</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <?php <a name="l00002"></a>00002 <span class="comment">/***************************************************************</span> <a name="l00003"></a>00003 <span class="comment">* Copyright notice</span> <a name="l00004"></a>00004 <span class="comment">*</span> <a name="l00005"></a>00005 <span class="comment">* (c) 2004 Kasper Skaarhoj (kasper@typo3.com)</span> <a name="l00006"></a>00006 <span class="comment">* (c) 2004 Philipp Borgmann <philipp.borgmann@gmx.de></span> <a name="l00007"></a>00007 <span class="comment">* (c) 2004, 2005, 2006 Stanislas Rolland <stanislas.rolland(arobas)fructifor.ca></span> <a name="l00008"></a>00008 <span class="comment">* All rights reserved</span> <a name="l00009"></a>00009 <span class="comment">*</span> <a name="l00010"></a>00010 <span class="comment">* This script is part of the TYPO3 project. The TYPO3 project is</span> <a name="l00011"></a>00011 <span class="comment">* free software; you can redistribute it and/or modify</span> <a name="l00012"></a>00012 <span class="comment">* it under the terms of the GNU General Public License as published by</span> <a name="l00013"></a>00013 <span class="comment">* the Free Software Foundation; either version 2 of the License, or</span> <a name="l00014"></a>00014 <span class="comment">* (at your option) any later version.</span> <a name="l00015"></a>00015 <span class="comment">*</span> <a name="l00016"></a>00016 <span class="comment">* The GNU General Public License can be found at</span> <a name="l00017"></a>00017 <span class="comment">* http://www.gnu.org/copyleft/gpl.html.</span> <a name="l00018"></a>00018 <span class="comment">* A copy is found in the textfile GPL.txt and important notices to the license</span> <a name="l00019"></a>00019 <span class="comment">* from the author is found in LICENSE.txt distributed with these scripts.</span> <a name="l00020"></a>00020 <span class="comment">*</span> <a name="l00021"></a>00021 <span class="comment">*</span> <a name="l00022"></a>00022 <span class="comment">* This script is distributed in the hope that it will be useful,</span> <a name="l00023"></a>00023 <span class="comment">* but WITHOUT ANY WARRANTY; without even the implied warranty of</span> <a name="l00024"></a>00024 <span class="comment">* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span> <a name="l00025"></a>00025 <span class="comment">* GNU General Public License for more details.</span> <a name="l00026"></a>00026 <span class="comment">*</span> <a name="l00027"></a>00027 <span class="comment">* This copyright notice MUST APPEAR in all copies of the script!</span> <a name="l00028"></a>00028 <span class="comment">***************************************************************/</span> <a name="l00038"></a>00038 require_once(PATH_t3lib.'<span class="keyword">class</span>.t3lib_rteapi.php'); <a name="l00039"></a>00039 require_once(PATH_t3lib.'<span class="keyword">class</span>.t3lib_cs.php'); <a name="l00040"></a>00040 <a name="l00041"></a><a class="code" href="classtx__rtehtmlarea__base.html">00041</a> <span class="keyword">class </span><a class="code" href="classtx__rtehtmlarea__base.html">tx_rtehtmlarea_base</a> <span class="keyword">extends</span> <a class="code" href="classt3lib__rteapi.html">t3lib_rteapi</a> { <a name="l00042"></a>00042 <a name="l00043"></a>00043 <span class="comment">// Configuration of supported browsers</span> <a name="l00044"></a><a class="code" href="classtx__rtehtmlarea__base.html#a2381ed959e6910d30fe838d6db07b12">00044</a> var <a class="code" href="classtx__rtehtmlarea__base.html#a2381ed959e6910d30fe838d6db07b12">$conf_supported_browser</a> = array ( <a name="l00045"></a>00045 'msie' => array ( <a name="l00046"></a>00046 1 => array ( <a name="l00047"></a>00047 'version' => 5.5, <a name="l00048"></a>00048 'system' => 'win' <a name="l00049"></a>00049 ) <a name="l00050"></a>00050 ), <a name="l00051"></a>00051 'gecko' => array ( <a name="l00052"></a>00052 1 => array ( <a name="l00053"></a>00053 'version' => 1.3 <a name="l00054"></a>00054 ) <a name="l00055"></a>00055 ), <a name="l00056"></a>00056 'safari' => array ( <a name="l00057"></a>00057 1 => array ( <a name="l00058"></a>00058 'version' => 312 <a name="l00059"></a>00059 ) <a name="l00060"></a>00060 ), <a name="l00061"></a>00061 'opera' => array ( <a name="l00062"></a>00062 1 => array ( <a name="l00063"></a>00063 'version' => 9, <a name="l00064"></a>00064 'system' => 'win' <a name="l00065"></a>00065 ) <a name="l00066"></a>00066 ) <a name="l00067"></a>00067 ); <a name="l00068"></a>00068 <a name="l00069"></a>00069 <span class="comment">// Always hide these toolbar buttons (TYPO3 button name)</span> <a name="l00070"></a><a class="code" href="classtx__rtehtmlarea__base.html#17dc8dcbc8d9555fe93f9364b46e1fa3">00070</a> var <a class="code" href="classtx__rtehtmlarea__base.html#17dc8dcbc8d9555fe93f9364b46e1fa3">$conf_toolbar_hide</a> = array ( <a name="l00071"></a>00071 'showhelp', <span class="comment">// Has no content yet</span> <a name="l00072"></a>00072 ); <a name="l00073"></a>00073 <a name="l00074"></a>00074 <span class="comment">// Hide these toolbar buttons not implemented in Safari</span> <a name="l00075"></a><a class="code" href="classtx__rtehtmlarea__base.html#af3e4d2272c4c937d93fa881bfe353b4">00075</a> var <a class="code" href="classtx__rtehtmlarea__base.html#af3e4d2272c4c937d93fa881bfe353b4">$conf_toolbar_safari_hide</a> = array ( <a name="l00076"></a>00076 'strikethrough', <a name="l00077"></a>00077 'line', <a name="l00078"></a>00078 'orderedlist', <a name="l00079"></a>00079 'unorderedlist', <a name="l00080"></a>00080 ); <a name="l00081"></a>00081 <a name="l00082"></a>00082 <span class="comment">// Hide these toolbar buttons not implemented in Opera</span> <a name="l00083"></a><a class="code" href="classtx__rtehtmlarea__base.html#8d6d73f0a557a6746a366f7ce18c21fa">00083</a> var <a class="code" href="classtx__rtehtmlarea__base.html#8d6d73f0a557a6746a366f7ce18c21fa">$conf_toolbar_opera_hide</a> = array ( <a name="l00084"></a>00084 'textstyle', <a name="l00085"></a>00085 'blockstyle', <a name="l00086"></a>00086 'copy', <a name="l00087"></a>00087 'cut', <a name="l00088"></a>00088 'paste', <a name="l00089"></a>00089 ); <a name="l00090"></a>00090 <a name="l00091"></a>00091 <span class="comment">// Always show these toolbar buttons (TYPO3 button name)</span> <a name="l00092"></a><a class="code" href="classtx__rtehtmlarea__base.html#cd7d80185c3f1e104bdc771a26368bc9">00092</a> var <a class="code" href="classtx__rtehtmlarea__base.html#cd7d80185c3f1e104bdc771a26368bc9">$conf_toolbar_show</a> = array ( <a name="l00093"></a>00093 'undo', <a name="l00094"></a>00094 'redo', <a name="l00095"></a>00095 <span class="comment">//'showhelp',</span> <a name="l00096"></a>00096 'about', <a name="l00097"></a>00097 ); <a name="l00098"></a>00098 <a name="l00099"></a>00099 <span class="comment">// The order of the toolbar: the name is the TYPO3-button name</span> <a name="l00100"></a><a class="code" href="classtx__rtehtmlarea__base.html#89195a0b00636e4d3ed9ebea60c80392">00100</a> var <a class="code" href="classtx__rtehtmlarea__base.html#89195a0b00636e4d3ed9ebea60c80392">$defaultToolbarOrder</a>; <a name="l00101"></a>00101 <a name="l00102"></a>00102 <span class="comment">// The default hotkeys: the name is the TYPO3-button name</span> <a name="l00103"></a><a class="code" href="classtx__rtehtmlarea__base.html#3260a7c987a77c6a44e18d749f976801">00103</a> var <a class="code" href="classtx__rtehtmlarea__base.html#3260a7c987a77c6a44e18d749f976801">$defaultHotKeyList</a> = 'selectall, bold, italic, underline, strikethrough, left, center, right, justifyfull, formatblock, paste, cleanword, undo, redo'; <a name="l00104"></a>00104 <a name="l00105"></a>00105 <span class="comment">// Conversion array: TYPO3 button names to htmlArea button names</span> <a name="l00106"></a><a class="code" href="classtx__rtehtmlarea__base.html#c2b1efc34297bd4520a8509ea18deb7c">00106</a> var <a class="code" href="classtx__rtehtmlarea__base.html#c2b1efc34297bd4520a8509ea18deb7c">$conf_toolbar_convert</a> = array ( <a name="l00107"></a>00107 <span class="comment">// 'TYPO3 name' => 'htmlArea name'</span> <a name="l00108"></a>00108 'fontstyle' => 'FontName', <a name="l00109"></a>00109 'fontsize' => 'FontSize', <a name="l00110"></a>00110 'textcolor' => 'ForeColor', <a name="l00111"></a>00111 'bgcolor' => 'HiliteColor', <a name="l00112"></a>00112 'bold' => 'Bold', <a name="l00113"></a>00113 'italic' => 'Italic', <a name="l00114"></a>00114 'underline' => 'Underline', <a name="l00115"></a>00115 'left' => 'JustifyLeft', <a name="l00116"></a>00116 'center' => 'JustifyCenter', <a name="l00117"></a>00117 'right' => 'JustifyRight', <a name="l00118"></a>00118 'orderedlist' => 'InsertOrderedList', <a name="l00119"></a>00119 'unorderedlist' => 'InsertUnorderedList', <a name="l00120"></a>00120 'outdent' => 'Outdent', <a name="l00121"></a>00121 'indent' => 'Indent', <a name="l00122"></a>00122 'emoticon' => 'InsertSmiley', <a name="l00123"></a>00123 'line' => 'InsertHorizontalRule', <a name="l00124"></a>00124 'link' => 'CreateLink', <a name="l00125"></a>00125 'table' => 'InsertTable', <a name="l00126"></a>00126 'image' => 'InsertImage', <a name="l00127"></a>00127 'cut' => 'Cut', <a name="l00128"></a>00128 'copy' => 'Copy', <a name="l00129"></a>00129 'paste' => 'Paste', <a name="l00130"></a>00130 'formatblock' => 'FormatBlock', <a name="l00131"></a>00131 'chMode' => 'HtmlMode', <a name="l00132"></a>00132 'user' => 'UserElements', <a name="l00133"></a>00133 <a name="l00134"></a>00134 <span class="comment">// htmlArea extra buttons</span> <a name="l00135"></a>00135 'lefttoright' => 'LeftToRight', <a name="l00136"></a>00136 'righttoleft' => 'RightToLeft', <a name="l00137"></a>00137 'justifyfull' => 'JustifyFull', <a name="l00138"></a>00138 'strikethrough' => 'StrikeThrough', <a name="l00139"></a>00139 'superscript' => 'Superscript', <a name="l00140"></a>00140 'subscript' => 'Subscript', <a name="l00141"></a>00141 'showhelp' => 'ShowHelp', <a name="l00142"></a>00142 'insertcharacter' => 'InsertCharacter', <a name="l00143"></a>00143 'findreplace' => 'FindReplace', <a name="l00144"></a>00144 'spellcheck' => 'SpellCheck', <a name="l00145"></a>00145 'removeformat' => 'RemoveFormat', <a name="l00146"></a>00146 'inserttag' => 'InsertTag', <a name="l00147"></a>00147 'acronym' => 'Acronym', <a name="l00148"></a>00148 'splitblock' => 'SplitBlock', <a name="l00149"></a>00149 'blockstylelabel' => 'I[style]', <a name="l00150"></a>00150 'blockstyle' => 'DynamicCSS-<span class="keyword">class</span>', <a name="l00151"></a>00151 'textstylelabel' => 'I[text_style]', <a name="l00152"></a>00152 'textstyle' => 'InlineCSS-<span class="keyword">class</span>', <a name="l00153"></a>00153 'toggleborders' => 'TO-toggle-borders', <a name="l00154"></a>00154 'tableproperties' => 'TO-table-prop', <a name="l00155"></a>00155 'rowproperties' => 'TO-row-prop', <a name="l00156"></a>00156 'rowinsertabove' => 'TO-row-insert-above', <a name="l00157"></a>00157 'rowinsertunder' => 'TO-row-insert-under', <a name="l00158"></a>00158 'rowdelete' => 'TO-row-<span class="keyword">delete</span>', <a name="l00159"></a>00159 'rowsplit' => 'TO-row-split', <a name="l00160"></a>00160 'columninsertbefore' => 'TO-col-insert-before', <a name="l00161"></a>00161 'columninsertafter' => 'TO-col-insert-after', <a name="l00162"></a>00162 'columndelete' => 'TO-col-<span class="keyword">delete</span>', <a name="l00163"></a>00163 'columnsplit' => 'TO-col-split', <a name="l00164"></a>00164 'cellproperties' => 'TO-cell-prop', <a name="l00165"></a>00165 'cellinsertbefore' => 'TO-cell-insert-before', <a name="l00166"></a>00166 'cellinsertafter' => 'TO-cell-insert-after', <a name="l00167"></a>00167 'celldelete' => 'TO-cell-<span class="keyword">delete</span>', <a name="l00168"></a>00168 'cellsplit' => 'TO-cell-split', <a name="l00169"></a>00169 'cellmerge' => 'TO-cell-merge', <a name="l00170"></a>00170 <a name="l00171"></a>00171 <span class="comment">// Toolbar formating</span> <a name="l00172"></a>00172 'space' => 'space', <a name="l00173"></a>00173 'bar' => 'separator', <a name="l00174"></a>00174 'linebreak' => 'linebreak', <a name="l00175"></a>00175 <a name="l00176"></a>00176 <span class="comment">// Always show</span> <a name="l00177"></a>00177 'undo' => 'Undo', <a name="l00178"></a>00178 'redo' => 'Redo', <a name="l00179"></a>00179 'textindicator' => 'TextIndicator', <a name="l00180"></a>00180 'about' => 'About', <a name="l00181"></a>00181 ); <a name="l00182"></a>00182 <a name="l00183"></a><a class="code" href="classtx__rtehtmlarea__base.html#3dbfa7d6cb00e96745360e1095838447">00183</a> var <a class="code" href="classtx__rtehtmlarea__base.html#3dbfa7d6cb00e96745360e1095838447">$defaultParagraphs</a> = array( <a name="l00184"></a>00184 <span class="charliteral">'p'</span> => 'Normal', <a name="l00185"></a>00185 'h1' => 'Heading 1', <a name="l00186"></a>00186 'h2' => 'Heading 2', <a name="l00187"></a>00187 'h3' => 'Heading 3', <a name="l00188"></a>00188 'h4' => 'Heading 4', <a name="l00189"></a>00189 'h5' => 'Heading 5', <a name="l00190"></a>00190 'h6' => 'Heading 6', <a name="l00191"></a>00191 'pre' => 'Preformatted', <a name="l00192"></a>00192 'address' => 'Address', <a name="l00193"></a>00193 ); <a name="l00194"></a>00194 <a name="l00195"></a><a class="code" href="classtx__rtehtmlarea__base.html#1c0408e46d4525d3f5d86211f03dbd51">00195</a> var <a class="code" href="classtx__rtehtmlarea__base.html#1c0408e46d4525d3f5d86211f03dbd51">$defaultFontFaces</a> = array( <a name="l00196"></a>00196 'Arial' => 'Arial,sans-serif', <a name="l00197"></a>00197 'Arial Black' => 'Arial Black,sans-serif', <a name="l00198"></a>00198 'Verdana' => 'Verdana,Arial,sans-serif', <a name="l00199"></a>00199 'Times New Roman' => 'Times New Roman,Times,serif', <a name="l00200"></a>00200 'Garamond' => 'Garamond', <a name="l00201"></a>00201 'Lucida Handwriting' => 'Lucida Handwriting', <a name="l00202"></a>00202 'Courier' => 'Courier', <a name="l00203"></a>00203 'Webdings' => 'Webdings', <a name="l00204"></a>00204 'Wingdings' => 'Wingdings', <a name="l00205"></a>00205 ); <a name="l00206"></a>00206 <a name="l00207"></a><a class="code" href="classtx__rtehtmlarea__base.html#91fecad60a3e36f1888b298fab6b46f2">00207</a> var <a class="code" href="classtx__rtehtmlarea__base.html#91fecad60a3e36f1888b298fab6b46f2">$defaultFontSizes</a> = array( <a name="l00208"></a>00208 <span class="charliteral">'1'</span> => '1 (8 pt)', <a name="l00209"></a>00209 <span class="charliteral">'2'</span> => '2 (10 pt)', <a name="l00210"></a>00210 <span class="charliteral">'3'</span> => '3 (12 pt)', <a name="l00211"></a>00211 <span class="charliteral">'4'</span> => '4 (14 pt)', <a name="l00212"></a>00212 <span class="charliteral">'5'</span> => '5 (18 pt)', <a name="l00213"></a>00213 <span class="charliteral">'6'</span> => '6 (24 pt)', <a name="l00214"></a>00214 <span class="charliteral">'7'</span> => '7 (36 pt)', <a name="l00215"></a>00215 ); <a name="l00216"></a>00216 <a name="l00217"></a><a class="code" href="classtx__rtehtmlarea__base.html#5c21bc22bc11fe24d7e02835db8a6530">00217</a> var <a class="code" href="classtx__rtehtmlarea__base.html#5c21bc22bc11fe24d7e02835db8a6530">$defaultFontSizes_safari</a> = array( <a name="l00218"></a>00218 <span class="charliteral">'1'</span> => 'xx-small', <a name="l00219"></a>00219 <span class="charliteral">'2'</span> => 'x-small', <a name="l00220"></a>00220 <span class="charliteral">'3'</span> => 'small', <a name="l00221"></a>00221 <span class="charliteral">'4'</span> => 'medium', <a name="l00222"></a>00222 <span class="charliteral">'5'</span> => 'large', <a name="l00223"></a>00223 <span class="charliteral">'6'</span> => 'x-large', <a name="l00224"></a>00224 <span class="charliteral">'7'</span> => 'xx-large', <a name="l00225"></a>00225 ); <a name="l00226"></a>00226 <a name="l00227"></a><a class="code" href="classtx__rtehtmlarea__base.html#099d71aa45169e76b8c0e166392c47a1">00227</a> var <a class="code" href="classtx__rtehtmlarea__base.html#099d71aa45169e76b8c0e166392c47a1">$pluginList</a> = 'TableOperations, ContextMenu, SpellChecker, SelectColor, TYPO3Browsers, InsertSmiley, FindReplace, RemoveFormat, CharacterMap, QuickTag, InlineCSS, DynamicCSS, UserElements, Acronym, TYPO3HtmlParser'; <a name="l00228"></a>00228 <a name="l00229"></a><a class="code" href="classtx__rtehtmlarea__base.html#99b31f13bab91b402b9150ed757a2bc7">00229</a> var <a class="code" href="classtx__rtehtmlarea__base.html#99b31f13bab91b402b9150ed757a2bc7">$pluginButton</a> = array( <a name="l00230"></a>00230 'InlineCSS' => 'textstyle', <a name="l00231"></a>00231 'DynamicCSS' => 'blockstyle', <a name="l00232"></a>00232 'SpellChecker' => 'spellcheck', <a name="l00233"></a>00233 'InsertSmiley' => 'emoticon', <a name="l00234"></a>00234 'FindReplace' => 'findreplace', <a name="l00235"></a>00235 'RemoveFormat' => 'removeformat', <a name="l00236"></a>00236 'QuickTag' => 'inserttag', <a name="l00237"></a>00237 'CharacterMap' => 'insertcharacter', <a name="l00238"></a>00238 'TableOperations' => 'table, toggleborders, tableproperties, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, <a name="l00239"></a>00239 columninsertbefore, columninsertafter, columndelete, columnsplit, <a name="l00240"></a>00240 cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge', <a name="l00241"></a>00241 'UserElements' => 'user', <a name="l00242"></a>00242 'Acronym' => 'acronym', <a name="l00243"></a>00243 ); <a name="l00244"></a>00244 <a name="l00245"></a><a class="code" href="classtx__rtehtmlarea__base.html#cb63508d3a386054a5a79d2f546062ef">00245</a> var <a class="code" href="classtx__rtehtmlarea__base.html#cb63508d3a386054a5a79d2f546062ef">$pluginLabel</a> = array( <a name="l00246"></a>00246 'InlineCSS' => 'textstylelabel', <a name="l00247"></a>00247 'DynamicCSS' => 'blockstylelabel', <a name="l00248"></a>00248 ); <a name="l00249"></a>00249 <a name="l00250"></a><a class="code" href="classtx__rtehtmlarea__base.html#13cf2fddbe3656ebf31cb4cf3bc02c9e">00250</a> var <a class="code" href="classtx__rtehtmlarea__base.html#13cf2fddbe3656ebf31cb4cf3bc02c9e">$spellCheckerModes</a> = array( 'ultra', 'fast', 'normal', 'bad-spellers'); <a name="l00251"></a>00251 <a name="l00252"></a>00252 <span class="comment">// External:</span> <a name="l00253"></a><a class="code" href="classtx__rtehtmlarea__base.html#9536b8e8ae3854fa9a86d6ed5d6bc9ca">00253</a> var <a class="code" href="classtx__rtehtmlarea__base.html#9536b8e8ae3854fa9a86d6ed5d6bc9ca">$RTEdivStyle</a>; <span class="comment">// Alternative style for RTE <div> tag.</span> <a name="l00254"></a><a class="code" href="classtx__rtehtmlarea__base.html#fed5bb4abecfc4bc162d3ccc3dd199cf">00254</a> var <a class="code" href="classtx__rtehtmlarea__base.html#fed5bb4abecfc4bc162d3ccc3dd199cf">$extHttpPath</a>; <span class="comment">// full Path to this extension for http (so no Server path). It ends with "/"</span> <a name="l00255"></a><a class="code" href="classtx__rtehtmlarea__base.html#cffc2b851b94e5b9b17e5fe8d134c44d">00255</a> var <a class="code" href="classtx__rtehtmlarea__base.html#cffc2b851b94e5b9b17e5fe8d134c44d">$siteURL</a>; <span class="comment">// TYPO3 site url</span> <a name="l00256"></a><a class="code" href="classtx__rtehtmlarea__base.html#17e2dd56cef22e768f185239f0ad98dd">00256</a> var <a class="code" href="classtx__rtehtmlarea__base.html#17e2dd56cef22e768f185239f0ad98dd">$hostURL</a>; <span class="comment">// TYPO3 host url</span> <a name="l00257"></a><a class="code" href="classtx__rtehtmlarea__base.html#7606a849c8e0bd11e49711042af91ae2">00257</a> var <a class="code" href="classtx__rtehtmlarea__base.html#7606a849c8e0bd11e49711042af91ae2">$typoVersion</a>; <span class="comment">// Typo3 version</span> <a name="l00258"></a>00258 <a name="l00259"></a>00259 <span class="comment">// Internal, static:</span> <a name="l00260"></a><a class="code" href="classtx__rtehtmlarea__base.html#36381a7631fda38cba7370de105a7b43">00260</a> var <a class="code" href="classtx__rtehtmlarea__base.html#36381a7631fda38cba7370de105a7b43">$ID</a> = 'rtehtmlarea'; <span class="comment">// Identifies the RTE as being the one from the "rte" extension if any external code needs to know...</span> <a name="l00261"></a><a class="code" href="classtx__rtehtmlarea__base.html#08cdf5b966c153f0ce43221915d78947">00261</a> var <a class="code" href="classtx__rtehtmlarea__base.html#08cdf5b966c153f0ce43221915d78947">$debugMode</a> = FALSE; <span class="comment">// If set, the content goes into a regular TEXT area field - for developing testing of transformations. (Also any browser will load the field!)</span> <a name="l00262"></a>00262 <a name="l00263"></a>00263 <span class="comment">// For the editor</span> <a name="l00264"></a><a class="code" href="classtx__rtehtmlarea__base.html#fd5807350b55df6cfff64c23123b4e76">00264</a> var <a class="code" href="classtx__rtehtmlarea__base.html#fd5807350b55df6cfff64c23123b4e76">$client</a>; <a name="l00265"></a><a class="code" href="classtx__rtehtmlarea__base.html#685ee1716df5b0bf63d4b50a8fbb4e6d">00265</a> var <a class="code" href="classtx__rtehtmlarea__base.html#685ee1716df5b0bf63d4b50a8fbb4e6d">$TCEform</a>; <a name="l00266"></a><a class="code" href="classtx__rtehtmlarea__base.html#a64ffab7f2b51d233193498343a99f8f">00266</a> var <a class="code" href="classtx__rtehtmlarea__base.html#a64ffab7f2b51d233193498343a99f8f">$elementId</a>; <a name="l00267"></a><a class="code" href="classtx__rtehtmlarea__base.html#c39afc4dad34a1e50412884ac2dba0b1">00267</a> var <a class="code" href="classtx__rtehtmlarea__base.html#c39afc4dad34a1e50412884ac2dba0b1">$elementParts</a>; <a name="l00268"></a><a class="code" href="classtx__rtehtmlarea__base.html#70db1c8464d39e026f42bb67e1f8e51e">00268</a> var <a class="code" href="classtx__rtehtmlarea__base.html#70db1c8464d39e026f42bb67e1f8e51e">$tscPID</a>; <a name="l00269"></a><a class="code" href="classtx__rtehtmlarea__base.html#49ec81c9ea6e68d1f067b4975a6dcf12">00269</a> var <a class="code" href="classtx__rtehtmlarea__base.html#49ec81c9ea6e68d1f067b4975a6dcf12">$typeVal</a>; <a name="l00270"></a><a class="code" href="classtx__rtehtmlarea__base.html#2879acf4ea9e823b59f5cd1c58724877">00270</a> var <a class="code" href="classtx__rtehtmlarea__base.html#2879acf4ea9e823b59f5cd1c58724877">$thePid</a>; <a name="l00271"></a><a class="code" href="classtx__rtehtmlarea__base.html#23e050e7dfd33b038119a833c8366694">00271</a> var <a class="code" href="classtx__rtehtmlarea__base.html#23e050e7dfd33b038119a833c8366694">$RTEsetup</a>; <a name="l00272"></a><a class="code" href="classtx__rtehtmlarea__base.html#4fa7e9c79de2cdb8461028610a2b7f4b">00272</a> var <a class="code" href="classtx__rtehtmlarea__base.html#4fa7e9c79de2cdb8461028610a2b7f4b">$thisConfig</a>; <a name="l00273"></a><a class="code" href="classtx__rtehtmlarea__base.html#ee858ff4fbfaee7a40b68fa799e7f27a">00273</a> var <a class="code" href="classtx__rtehtmlarea__base.html#ee858ff4fbfaee7a40b68fa799e7f27a">$confValues</a>; <a name="l00274"></a><a class="code" href="classtx__rtehtmlarea__base.html#7182288446007f0b3cffda1c836c27ea">00274</a> var <a class="code" href="classtx__rtehtmlarea__base.html#7182288446007f0b3cffda1c836c27ea">$language</a>; <a name="l00275"></a><a class="code" href="classtx__rtehtmlarea__base.html#03b43e71da276a02e52bf7723aae5b8b">00275</a> var <a class="code" href="classtx__rtehtmlarea__base.html#03b43e71da276a02e52bf7723aae5b8b">$BECharset</a>; <a name="l00276"></a><a class="code" href="classtx__rtehtmlarea__base.html#4e72836df03f322c6fb0a931f9349250">00276</a> var <a class="code" href="classtx__rtehtmlarea__base.html#4e72836df03f322c6fb0a931f9349250">$OutputCharset</a>; <a name="l00277"></a><a class="code" href="classtx__rtehtmlarea__base.html#1557c87482ad9211e5a0362c50d8b660">00277</a> var <a class="code" href="classtx__rtehtmlarea__base.html#1557c87482ad9211e5a0362c50d8b660">$editorCSS</a>; <a name="l00278"></a><a class="code" href="classtx__rtehtmlarea__base.html#70efe13b74b492d4f993bd2990c1b4a0">00278</a> var <a class="code" href="classtx__rtehtmlarea__base.html#70efe13b74b492d4f993bd2990c1b4a0">$spellCheckerLanguage</a>; <a name="l00279"></a><a class="code" href="classtx__rtehtmlarea__base.html#b15ee1ebf2baafeed84cf228748419a3">00279</a> var <a class="code" href="classtx__rtehtmlarea__base.html#b15ee1ebf2baafeed84cf228748419a3">$spellCheckerCharset</a>; <a name="l00280"></a><a class="code" href="classtx__rtehtmlarea__base.html#9346c8f33da4910e3417f79ea7283a48">00280</a> var <a class="code" href="classtx__rtehtmlarea__base.html#9346c8f33da4910e3417f79ea7283a48">$spellCheckerMode</a>; <a name="l00281"></a><a class="code" href="classtx__rtehtmlarea__base.html#7f6f4505fa4daa79972a5747b9124d21">00281</a> var <a class="code" href="classtx__rtehtmlarea__base.html#7f6f4505fa4daa79972a5747b9124d21">$quickTagHideTags</a>; <a name="l00282"></a><a class="code" href="classtx__rtehtmlarea__base.html#9838fd34b0a804de0a9a2f6e91ed5ada">00282</a> var <a class="code" href="classtx__rtehtmlarea__base.html#9838fd34b0a804de0a9a2f6e91ed5ada">$specConf</a>; <a name="l00283"></a><a class="code" href="classtx__rtehtmlarea__base.html#72c1f5ecfcd4cab20e9277934c09807c">00283</a> var <a class="code" href="classtx__rtehtmlarea__base.html#72c1f5ecfcd4cab20e9277934c09807c">$toolBar</a> = array(); <span class="comment">// Save the buttons for the toolbar</span> <a name="l00284"></a><a class="code" href="classtx__rtehtmlarea__base.html#75cb6f1d60fd881ad09a99c9327d635b">00284</a> var <a class="code" href="classtx__rtehtmlarea__base.html#75cb6f1d60fd881ad09a99c9327d635b">$toolbar_level_size</a>; <span class="comment">// The size for each level in the toolbar:</span> <a name="l00285"></a><a class="code" href="classtx__rtehtmlarea__base.html#24b834f728da9ad7048a4a4599570d4d">00285</a> var <a class="code" href="classtx__rtehtmlarea__base.html#24b834f728da9ad7048a4a4599570d4d">$toolbarOrderArray</a> = array(); <a name="l00286"></a><a class="code" href="classtx__rtehtmlarea__base.html#a6c55549cafaf2edeecfd00c1b8d4420">00286</a> var <a class="code" href="classtx__rtehtmlarea__base.html#a6c55549cafaf2edeecfd00c1b8d4420">$pluginEnableList</a>; <a name="l00287"></a><a class="code" href="classtx__rtehtmlarea__base.html#8c954c1d884c9f63a2009854f3772049">00287</a> var <a class="code" href="classtx__rtehtmlarea__base.html#8c954c1d884c9f63a2009854f3772049">$pluginEnableArray</a> = array(); <a name="l00288"></a>00288 <a name="l00296"></a><a class="code" href="classtx__rtehtmlarea__base.html#9ff6c40452f081ae763499673b64b855">00296</a> function <a class="code" href="classtx__rtehtmlarea__base.html#9ff6c40452f081ae763499673b64b855">isAvailable</a>() { <a name="l00297"></a>00297 $this->client = $this-><a class="code" href="classtx__rtehtmlarea__base.html#ede72882add32a9153b2933b004bac5c">clientInfo</a>(); <a name="l00298"></a>00298 $this->errorLog = array(); <a name="l00299"></a>00299 <span class="keywordflow">if</span> (!$this->debugMode) { <span class="comment">// If debug-mode, let any browser through</span> <a name="l00300"></a>00300 $rteIsAvailable = 0; <a name="l00301"></a>00301 $rteConfBrowser = $this->conf_supported_browser; <a name="l00302"></a>00302 <span class="keywordflow">if</span> (is_array($rteConfBrowser)) { <a name="l00303"></a>00303 reset($rteConfBrowser); <a name="l00304"></a>00304 <span class="keywordflow">while</span>(list ($browser, $browserConf) = each($rteConfBrowser)){ <a name="l00305"></a>00305 <span class="keywordflow">if</span> ($browser == $this->client['BROWSER']) { <a name="l00306"></a>00306 <span class="comment">// Config for Browser found, check it:</span> <a name="l00307"></a>00307 <span class="keywordflow">if</span> (is_array($browserConf)) { <a name="l00308"></a>00308 reset($browserConf); <a name="l00309"></a>00309 <span class="keywordflow">while</span>(list ($browserConfNr, $browserConfSub) = each($browserConf)){ <a name="l00310"></a>00310 <span class="keywordflow">if</span> ($browserConfSub['version'] <= $this->client['VERSION'] || empty($browserConfSub['version'])) { <a name="l00311"></a>00311 <span class="comment">// Version is correct</span> <a name="l00312"></a>00312 <span class="keywordflow">if</span> ($browserConfSub['system'] == $this->client['SYSTEM'] || empty($browserConfSub['system'])) { <a name="l00313"></a>00313 <span class="comment">// System is correctly</span> <a name="l00314"></a>00314 $rteIsAvailable = 1; <a name="l00315"></a>00315 }<span class="comment">// End of System</span> <a name="l00316"></a>00316 }<span class="comment">// End of Version</span> <a name="l00317"></a>00317 }<span class="comment">// End of while-BrowserSubpart</span> <a name="l00318"></a>00318 } <span class="keywordflow">else</span> { <a name="l00319"></a>00319 <span class="comment">// no config for this browser found, so all versions or system with this browsers are allow</span> <a name="l00320"></a>00320 $rteIsAvailable = 1; <a name="l00321"></a>00321 } <a name="l00322"></a>00322 } <span class="comment">// End of Browser Check</span> <a name="l00323"></a>00323 } <span class="comment">// while: Browser Check</span> <a name="l00324"></a>00324 } <span class="keywordflow">else</span> { <a name="l00325"></a>00325 <span class="comment">// no Browser config for this RTE-Editor, so all Clients are allow </span> <a name="l00326"></a>00326 } <a name="l00327"></a>00327 <span class="keywordflow">if</span> (!$rteIsAvailable) { <a name="l00328"></a>00328 $this->errorLog[] = 'rte: Browser not supported. Only msie Version 5 or higher and Mozilla based client 1. and higher.'; <a name="l00329"></a>00329 } <a name="l00330"></a>00330 <span class="keywordflow">if</span> (<a class="code" href="classt3lib__div.html#764fcca6287e86a8c2aad10a5752b847">t3lib_div::int_from_ver</a>(TYPO3_version) < 3007000) { <a name="l00331"></a>00331 $rteIsAvailable = 0; <a name="l00332"></a>00332 $this->errorLog[] = 'rte: This version of htmlArea RTE cannot run under <span class="keyword">this</span> version of TYPO3.'; <a name="l00333"></a>00333 } <a name="l00334"></a>00334 } <a name="l00335"></a>00335 <span class="keywordflow">if</span> ($rteIsAvailable) <span class="keywordflow">return</span> <span class="keyword">true</span>; <a name="l00336"></a>00336 } <a name="l00337"></a>00337 <a name="l00354"></a><a class="code" href="classtx__rtehtmlarea__base.html#9242f6e6b6291bb4836555ec1ab1b8b1">00354</a> function <a class="code" href="classtx__rtehtmlarea__base.html#9242f6e6b6291bb4836555ec1ab1b8b1">drawRTE</a>(&$pObj,$table,$field,$row,$PA,<a class="code" href="classtx__rtehtmlarea__base.html#9838fd34b0a804de0a9a2f6e91ed5ada">$specConf</a>,<a class="code" href="classtx__rtehtmlarea__base.html#4fa7e9c79de2cdb8461028610a2b7f4b">$thisConfig</a>,$RTEtypeVal,$RTErelPath,$thePidValue) { <a name="l00355"></a>00355 global $BE_USER,$LANG, $TYPO3_DB, $TYPO3_CONF_VARS; <a name="l00356"></a>00356 <a name="l00357"></a>00357 $this->TCEform = $pObj; <a name="l00358"></a>00358 $LANG->includeLLFile('EXT:' . $this->ID . '/locallang.xml'); <a name="l00359"></a>00359 $this->client = $this-><a class="code" href="classtx__rtehtmlarea__base.html#ede72882add32a9153b2933b004bac5c">clientInfo</a>(); <a name="l00360"></a>00360 $this->typoVersion = <a class="code" href="classt3lib__div.html#764fcca6287e86a8c2aad10a5752b847">t3lib_div::int_from_ver</a>(TYPO3_version); <a name="l00361"></a>00361 $this->userUid = 'BE_' . $BE_USER->user['uid']; <a name="l00362"></a>00362 <a name="l00363"></a>00363 <span class="comment">// Draw form element:</span> <a name="l00364"></a>00364 <span class="keywordflow">if</span> ($this->debugMode) { <span class="comment">// Draws regular text area (debug mode)</span> <a name="l00365"></a>00365 $item = parent::drawRTE($pObj,$table,$field,$row,$PA,<a class="code" href="classtx__rtehtmlarea__base.html#9838fd34b0a804de0a9a2f6e91ed5ada">$specConf</a>,<a class="code" href="classtx__rtehtmlarea__base.html#4fa7e9c79de2cdb8461028610a2b7f4b">$thisConfig</a>,$RTEtypeVal,$RTErelPath,$thePidValue); <a name="l00366"></a>00366 } <span class="keywordflow">else</span> { <span class="comment">// Draw real RTE</span> <a name="l00367"></a>00367 <a name="l00368"></a>00368 <span class="comment">/* =======================================</span> <a name="l00369"></a>00369 <span class="comment"> * INIT THE EDITOR-SETTINGS</span> <a name="l00370"></a>00370 <span class="comment"> * =======================================</span> <a name="l00371"></a>00371 <span class="comment"> */</span> <a name="l00372"></a>00372 <a name="l00373"></a>00373 <span class="comment">// first get the http-path to typo3:</span> <a name="l00374"></a>00374 $this->httpTypo3Path = substr( substr( <a class="code" href="classt3lib__div.html#cd7ecd00954e9a6b0c14eb23cf875d3f">t3lib_div::getIndpEnv</a>('TYPO3_SITE_URL'), strlen( <a class="code" href="classt3lib__div.html#cd7ecd00954e9a6b0c14eb23cf875d3f">t3lib_div::getIndpEnv</a>('TYPO3_REQUEST_HOST') ) ), 0, -1 ); <a name="l00375"></a>00375 <span class="keywordflow">if</span> (strlen($this->httpTypo3Path) == 1) { <a name="l00376"></a>00376 $this->httpTypo3Path = <span class="charliteral">'/'</span>; <a name="l00377"></a>00377 } <span class="keywordflow">else</span> { <a name="l00378"></a>00378 $this->httpTypo3Path .= <span class="charliteral">'/'</span>; <a name="l00379"></a>00379 } <a name="l00380"></a>00380 <span class="comment">// Get the path to this extension:</span> <a name="l00381"></a>00381 $this->extHttpPath = $this->httpTypo3Path . <a class="code" href="classt3lib__extMgm.html#14cbdcac47ad593574a704006b11e60c">t3lib_extMgm::siteRelPath</a>($this->ID); <a name="l00382"></a>00382 <span class="comment">// Get the site URL</span> <a name="l00383"></a>00383 $this->siteURL = <a class="code" href="classt3lib__div.html#cd7ecd00954e9a6b0c14eb23cf875d3f">t3lib_div::getIndpEnv</a>('TYPO3_SITE_URL'); <a name="l00384"></a>00384 <span class="comment">// Get the host URL</span> <a name="l00385"></a>00385 $this->hostURL = <a class="code" href="classt3lib__div.html#cd7ecd00954e9a6b0c14eb23cf875d3f">t3lib_div::getIndpEnv</a>('TYPO3_REQUEST_HOST'); <a name="l00386"></a>00386 <a name="l00387"></a>00387 <span class="comment">// Element ID + pid</span> <a name="l00388"></a>00388 $this->elementId = $PA['itemFormElName']; <span class="comment">// Form element name</span> <a name="l00389"></a>00389 $this->elementParts = explode('][',ereg_replace('\]$<span class="charliteral">','</span>',ereg_replace('^(TSFE_EDIT\[data\]\[|data\[)<span class="charliteral">','</span>',$this->elementId))); <a name="l00390"></a>00390 <a name="l00391"></a>00391 <span class="comment">// Find the page PIDs:</span> <a name="l00392"></a>00392 list($this->tscPID,$this->thePid) = <a class="code" href="classt3lib__BEfunc.html#2030470c687cd5e4605b5412d8681724">t3lib_BEfunc::getTSCpid</a>(trim($this->elementParts[0]),trim($this->elementParts[1]),$thePidValue); <a name="l00393"></a>00393 <a name="l00394"></a>00394 <span class="comment">// Record "types" field value:</span> <a name="l00395"></a>00395 $this->typeVal = $RTEtypeVal; <span class="comment">// TCA "types" value for record</span> <a name="l00396"></a>00396 <a name="l00397"></a>00397 <span class="comment">// Find "thisConfig" for record/editor:</span> <a name="l00398"></a>00398 unset($this->RTEsetup); <a name="l00399"></a>00399 $this->RTEsetup = $BE_USER->getTSConfig('RTE',<a class="code" href="classt3lib__BEfunc.html#643143cf81548a0c3b160ae0d58bebc9">t3lib_BEfunc::getPagesTSconfig</a>($this->tscPID)); <a name="l00400"></a>00400 $this->thisConfig = <a class="code" href="classtx__rtehtmlarea__base.html#4fa7e9c79de2cdb8461028610a2b7f4b">$thisConfig</a>; <a name="l00401"></a>00401 <a name="l00402"></a>00402 <span class="comment">// Special configuration and default extras:</span> <a name="l00403"></a>00403 $this->specConf = <a class="code" href="classtx__rtehtmlarea__base.html#9838fd34b0a804de0a9a2f6e91ed5ada">$specConf</a>; <a name="l00404"></a>00404 <a name="l00405"></a>00405 <span class="comment">/* =======================================</span> <a name="l00406"></a>00406 <span class="comment"> * LANGUAGES & CHARACTER SETS</span> <a name="l00407"></a>00407 <span class="comment"> * =======================================</span> <a name="l00408"></a>00408 <span class="comment"> */</span> <a name="l00409"></a>00409 <a name="l00410"></a>00410 <span class="comment">// Languages: interface and content</span> <a name="l00411"></a>00411 $this-><a class="code" href="classlanguage.html">language</a> = $LANG->lang; <a name="l00412"></a>00412 <span class="keywordflow">if</span> ($this-><a class="code" href="classlanguage.html">language</a>=='<span class="keywordflow">default</span>' || !$this-><a class="code" href="classlanguage.html">language</a>) { <a name="l00413"></a>00413 $this-><a class="code" href="classlanguage.html">language</a>='en'; <a name="l00414"></a>00414 } <a name="l00415"></a>00415 $this->contentTypo3Language = $this-><a class="code" href="classlanguage.html">language</a>; <a name="l00416"></a>00416 <a name="l00417"></a>00417 $this->contentLanguageUid = ($row['sys_language_uid'] > 0) ? $row['sys_language_uid'] : 0; <a name="l00418"></a>00418 <span class="keywordflow">if</span> (<a class="code" href="classt3lib__extMgm.html#297116a3b1e17045ff193f170b8c4a29">t3lib_extMgm::isLoaded</a>('sr_static_info')) { <a name="l00419"></a>00419 <span class="keywordflow">if</span> ($this->contentLanguageUid) { <a name="l00420"></a>00420 $tableA = 'sys_language'; <a name="l00421"></a>00421 $tableB = 'static_languages'; <a name="l00422"></a>00422 $languagesUidsList = $this->contentLanguageUid; <a name="l00423"></a>00423 $selectFields = $tableA . '.uid,' . $tableB . '.lg_iso_2,' . $tableB . '.lg_country_iso_2,' . $tableB . '.lg_typo3'; <a name="l00424"></a>00424 $table = $tableA . ' LEFT JOIN ' . $tableB . ' ON ' . $tableA . '.static_lang_isocode=' . $tableB . '.uid'; <a name="l00425"></a>00425 $whereClause = $tableA . '.uid IN (' . $languagesUidsList . ') '; <a name="l00426"></a>00426 $whereClause .= <a class="code" href="classt3lib__BEfunc.html#42f992f0cfde88dc98b4761d89df588b">t3lib_BEfunc::BEenableFields</a>($tableA); <a name="l00427"></a>00427 $whereClause .= <a class="code" href="classt3lib__BEfunc.html#16c74b2f662fa4157494b0e9caacaefb">t3lib_BEfunc::deleteClause</a>($tableA); <a name="l00428"></a>00428 $res = $TYPO3_DB->exec_SELECTquery($selectFields, $table, $whereClause); <a name="l00429"></a>00429 <span class="keywordflow">while</span>($languageRow = $TYPO3_DB->sql_fetch_assoc($res)) { <a name="l00430"></a>00430 $this->contentISOLanguage = strtolower(trim($languageRow['lg_iso_2']).(trim($languageRow['lg_country_iso_2'])?<span class="charliteral">'_'</span>.trim($languageRow['lg_country_iso_2']):'')); <a name="l00431"></a>00431 $this->contentTypo3Language = strtolower(trim($languageRow['lg_typo3'])); <a name="l00432"></a>00432 } <a name="l00433"></a>00433 } <span class="keywordflow">else</span> { <a name="l00434"></a>00434 $this->contentISOLanguage = trim($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['defaultDictionary']) ? trim($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['defaultDictionary']) : 'en'; <a name="l00435"></a>00435 $selectFields = 'lg_iso_2, lg_typo3'; <a name="l00436"></a>00436 $table = 'static_languages'; <a name="l00437"></a>00437 $whereClause = 'lg_iso_2 = ' . $TYPO3_DB->fullQuoteStr(strtoupper($this->contentISOLanguage), $table); <a name="l00438"></a>00438 $res = $TYPO3_DB->exec_SELECTquery($selectFields, $table, $whereClause); <a name="l00439"></a>00439 <span class="keywordflow">while</span>($languageRow = $TYPO3_DB->sql_fetch_assoc($res)) { <a name="l00440"></a>00440 $this->contentTypo3Language = strtolower(trim($languageRow['lg_typo3'])); <a name="l00441"></a>00441 } <a name="l00442"></a>00442 } <a name="l00443"></a>00443 } <a name="l00444"></a>00444 <a name="l00445"></a>00445 <span class="comment">// Character sets: interface and content</span> <a name="l00446"></a>00446 $this->charset = $LANG->csConvObj->charSetArray[$this-><a class="code" href="classlanguage.html">language</a>]; <a name="l00447"></a>00447 $this->charset = $this->charset ? $this->charset : 'iso-8859-1'; <a name="l00448"></a>00448 $this->BECharset = trim($TYPO3_CONF_VARS['BE']['forceCharset']) ? trim($TYPO3_CONF_VARS['BE']['forceCharset']) : $this->charset; <a name="l00449"></a>00449 $this->OutputCharset = $this->BECharset; <a name="l00450"></a>00450 <a name="l00451"></a>00451 $this->contentCharset = $LANG->csConvObj->charSetArray[$this->contentTypo3Language]; <a name="l00452"></a>00452 $this->contentCharset = $this->contentCharset ? $this->contentCharset : 'iso-8859-1'; <a name="l00453"></a>00453 $this->origContentCharSet = $this->contentCharset; <a name="l00454"></a>00454 $this->contentCharset = (trim($TYPO3_CONF_VARS['BE']['forceCharset']) ? trim($TYPO3_CONF_VARS['BE']['forceCharset']) : $this->contentCharset); <a name="l00455"></a>00455 <a name="l00456"></a>00456 <span class="comment">/* =======================================</span> <a name="l00457"></a>00457 <span class="comment"> * TOOLBAR CONFIGURATION</span> <a name="l00458"></a>00458 <span class="comment"> * =======================================</span> <a name="l00459"></a>00459 <span class="comment"> */</span> <a name="l00460"></a>00460 <a name="l00461"></a>00461 <span class="comment">// htmlArea plugins list</span> <a name="l00462"></a>00462 $this->pluginEnableArray = array_intersect(<a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->pluginList , 1), <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['HTMLAreaPluginList'], 1)); <a name="l00463"></a>00463 $hidePlugins = array(); <a name="l00464"></a>00464 <span class="keywordflow">if</span>(!<a class="code" href="classt3lib__extMgm.html#297116a3b1e17045ff193f170b8c4a29">t3lib_extMgm::isLoaded</a>('sr_static_info') || in_array($this-><a class="code" href="classlanguage.html">language</a>, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['noSpellCheckLanguages']))) $hidePlugins[] = 'SpellChecker'; <a name="l00465"></a>00465 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'msie') $hidePlugins[] = 'Acronym'; <a name="l00466"></a>00466 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'opera') { <a name="l00467"></a>00467 $hidePlugins[] = 'ContextMenu'; <a name="l00468"></a>00468 $this->thisConfig['hideTableOperationsInToolbar'] = 0; <a name="l00469"></a>00469 } <a name="l00470"></a>00470 $this->pluginEnableArray = array_diff($this->pluginEnableArray, $hidePlugins); <a name="l00471"></a>00471 $this->pluginEnableArrayMultiple = $this->pluginEnableArray; <a name="l00472"></a>00472 <a name="l00473"></a>00473 <span class="comment">// Toolbar</span> <a name="l00474"></a>00474 $this-><a class="code" href="classtx__rtehtmlarea__base.html#52691565b01219c749a5e564a6f5c9f5">setToolBar</a>(); <a name="l00475"></a>00475 <a name="l00476"></a>00476 <span class="comment">// Check if some plugins need to be disabled</span> <a name="l00477"></a>00477 $this-><a class="code" href="classtx__rtehtmlarea__base.html#f395b1e5780335ad923cb87e7507beb0">setPlugins</a>(); <a name="l00478"></a>00478 <a name="l00479"></a>00479 <span class="comment">/* =======================================</span> <a name="l00480"></a>00480 <span class="comment"> * PLUGIN-SPECIFIC CONFIGURATION</span> <a name="l00481"></a>00481 <span class="comment"> * =======================================</span> <a name="l00482"></a>00482 <span class="comment"> */</span> <a name="l00483"></a>00483 <a name="l00484"></a>00484 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('SpellChecker')) { <a name="l00485"></a>00485 <span class="comment">// Set the language of the content for the SpellChecker</span> <a name="l00486"></a>00486 $this->spellCheckerLanguage = $this->contentISOLanguage; <a name="l00487"></a>00487 $this->spellCheckerTypo3Language = $this->contentTypo3Language; <a name="l00488"></a>00488 <a name="l00489"></a>00489 <span class="comment">// Set the charset of the content for the SpellChecker</span> <a name="l00490"></a>00490 $this->spellCheckerCharset = $this->contentCharset; <a name="l00491"></a>00491 $this->spellCheckerCharset = trim($TYPO3_CONF_VARS['BE']['forceCharset']) ? trim($TYPO3_CONF_VARS['BE']['forceCharset']) : $this->spellCheckerCharset; <a name="l00492"></a>00492 <a name="l00493"></a>00493 <span class="comment">// Set the SpellChecker mode</span> <a name="l00494"></a>00494 $this->spellCheckerMode = isset($BE_USER->userTS['options.']['HTMLAreaPspellMode']) ? trim($BE_USER->userTS['options.']['HTMLAreaPspellMode']) : 'normal'; <a name="l00495"></a>00495 <span class="keywordflow">if</span>( !in_array($this->spellCheckerMode, $this->spellCheckerModes)) { <a name="l00496"></a>00496 $this->spellCheckerMode = 'normal'; <a name="l00497"></a>00497 } <a name="l00498"></a>00498 <a name="l00499"></a>00499 <span class="comment">// Set the use of personal dictionary</span> <a name="l00500"></a>00500 $this->spellCheckerPersonalDicts = $this->thisConfig['enablePersonalDicts'] ? (isset($BE_USER->userTS['options.']['enablePersonalDicts']) ? <span class="keyword">true</span> : <span class="keyword">false</span>) : <span class="keyword">false</span>; <a name="l00501"></a>00501 <span class="keywordflow">if</span> (ini_get('safe_mode')) { <a name="l00502"></a>00502 $this->spellCheckerPersonalDicts = <span class="keyword">false</span>; <a name="l00503"></a>00503 } <a name="l00504"></a>00504 } <a name="l00505"></a>00505 <a name="l00506"></a>00506 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('QuickTag') && trim($this->thisConfig['hideTags'])) { <a name="l00507"></a>00507 $this->quickTagHideTags = implode(<span class="charliteral">','</span>, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->thisConfig['hideTags'], 1)); <a name="l00508"></a>00508 } <a name="l00509"></a>00509 <a name="l00510"></a>00510 <span class="comment">/* =======================================</span> <a name="l00511"></a>00511 <span class="comment"> * SET STYLES</span> <a name="l00512"></a>00512 <span class="comment"> * =======================================</span> <a name="l00513"></a>00513 <span class="comment"> */</span> <a name="l00514"></a>00514 <a name="l00515"></a>00515 $RTEWidth = isset($BE_USER->userTS['options.']['RTESmallWidth']) ? $BE_USER->userTS['options.']['RTESmallWidth'] : '530'; <a name="l00516"></a>00516 $RTEHeight = isset($BE_USER->userTS['options.']['RTESmallHeight']) ? $BE_USER->userTS['options.']['RTESmallHeight'] : '380'; <a name="l00517"></a>00517 $RTEWidth = $RTEWidth + ($pObj->docLarge ? (isset($BE_USER->userTS['options.']['RTELargeWidthIncrement']) ? $BE_USER->userTS['options.']['RTELargeWidthIncrement'] : '150') : 0); <a name="l00518"></a>00518 $RTEHeight = $RTEHeight + ($pObj->docLarge ? (isset($BE_USER->userTS['options.']['RTELargeHeightIncrement']) ? $BE_USER->userTS['options.']['RTELargeHeightIncrement'] : 0) : 0); <a name="l00519"></a>00519 $editorWrapWidth = $RTEWidth . 'px'; <a name="l00520"></a>00520 $editorWrapHeight = $RTEHeight . 'px'; <a name="l00521"></a>00521 $this->RTEdivStyle = $this->RTEdivStyle ? $this->RTEdivStyle : 'position:relative; left:0px; top:0px; height:' . $RTEHeight . 'px; width:'.$RTEWidth.'px; border: 1px solid black; padding: 2px 0px 2px 2px;'; <a name="l00522"></a>00522 $this->toolbar_level_size = $RTEWidth; <a name="l00523"></a>00523 <a name="l00524"></a>00524 <span class="comment">/* =======================================</span> <a name="l00525"></a>00525 <span class="comment"> * LOAD CSS AND JAVASCRIPT</span> <a name="l00526"></a>00526 <span class="comment"> * =======================================</span> <a name="l00527"></a>00527 <span class="comment"> */</span> <a name="l00528"></a>00528 <a name="l00529"></a>00529 <span class="comment">// Preloading the pageStyle</span> <a name="l00530"></a>00530 $filename = trim($this->thisConfig['contentCSS']) ? trim($this->thisConfig['contentCSS']) : 'EXT:' . $this->ID . '/htmlarea/plugins/DynamicCSS/dynamiccss.css'; <a name="l00531"></a>00531 $pObj->additionalCode_pre['loadCSS'] = ' <a name="l00532"></a>00532 <link rel=<span class="stringliteral">"alternate stylesheet"</span> type=<span class="stringliteral">"text/css"</span> href=<span class="stringliteral">"' . $this->getFullFileName($filename) . '"</span> />'; <a name="l00533"></a>00533 <a name="l00534"></a>00534 <span class="comment">// Loading the editor skin</span> <a name="l00535"></a>00535 $skinFilename = trim($this->thisConfig['skin']) ? trim($this->thisConfig['skin']) : 'EXT:' . $this->ID . '/htmlarea/skins/<span class="keywordflow">default</span>/htmlarea.css'; <a name="l00536"></a>00536 <span class="keywordflow">if</span>($this->client['BROWSER'] == 'gecko' && $this->client['VERSION'] == '1.3' && substr($skinFilename,0,4) == 'EXT:') { <a name="l00537"></a>00537 $skinFilename = 'EXT:' . $this->ID . '/htmlarea/skins/<span class="keywordflow">default</span>/htmlarea.css'; <a name="l00538"></a>00538 } <a name="l00539"></a>00539 <span class="keywordflow">if</span> (substr($skinFilename,0,4) == 'EXT:') { <span class="comment">// extension</span> <a name="l00540"></a>00540 list($extKey,$local) = explode(<span class="charliteral">'/'</span>,substr($skinFilename,4),2); <a name="l00541"></a>00541 $skinFilename=''; <a name="l00542"></a>00542 <span class="keywordflow">if</span> (strcmp($extKey,'') && <a class="code" href="classt3lib__extMgm.html#297116a3b1e17045ff193f170b8c4a29">t3lib_extMgm::isLoaded</a>($extKey) && strcmp($local,'')) { <a name="l00543"></a>00543 $skinFilename = $this->httpTypo3Path . <a class="code" href="classt3lib__extMgm.html#14cbdcac47ad593574a704006b11e60c">t3lib_extMgm::siteRelPath</a>($extKey) . $local; <a name="l00544"></a>00544 $skinDir = $this->siteURL . <a class="code" href="classt3lib__extMgm.html#14cbdcac47ad593574a704006b11e60c">t3lib_extMgm::siteRelPath</a>($extKey) . dirname($local); <a name="l00545"></a>00545 } <a name="l00546"></a>00546 } elseif (substr($skinFilename,0,1) != <span class="charliteral">'/'</span>) { <a name="l00547"></a>00547 $skinDir = $this->siteURL.dirname($skinFilename); <a name="l00548"></a>00548 $skinFilename = $this->siteURL . $skinFilename; <a name="l00549"></a>00549 } <span class="keywordflow">else</span> { <a name="l00550"></a>00550 $skinDir = substr($this->siteURL,0,-1) . dirname($skinFilename); <a name="l00551"></a>00551 } <a name="l00552"></a>00552 $this->editorCSS = $skinFilename; <a name="l00553"></a>00553 $this->editedContentCSS = $skinDir . '/htmlarea-edited-content.css'; <a name="l00554"></a>00554 $pObj->additionalCode_pre['loadCSS'] .= ' <a name="l00555"></a>00555 <link rel=<span class="stringliteral">"alternate stylesheet"</span> type=<span class="stringliteral">"text/css"</span> href=<span class="stringliteral">"' . $this->editedContentCSS . '"</span> />'; <a name="l00556"></a>00556 <a name="l00557"></a>00557 $pObj->additionalCode_pre['loadCSS'] .= ' <a name="l00558"></a>00558 <link rel=<span class="stringliteral">"stylesheet"</span> type=<span class="stringliteral">"text/css"</span> href=<span class="stringliteral">"' . $this->editorCSS . '"</span> />'; <a name="l00559"></a>00559 <a name="l00560"></a>00560 <span class="comment">// Loading JavaScript files and code</span> <a name="l00561"></a>00561 $pObj->additionalCode_pre['<a class="code" href="classtx__rtehtmlarea__base.html#1300a1bb55017de2e58f990e7d56faf5">loadJSfiles</a>'] = $this-><a class="code" href="classtx__rtehtmlarea__base.html#1300a1bb55017de2e58f990e7d56faf5">loadJSfiles</a>($pObj->RTEcounter); <a name="l00562"></a>00562 $pObj->additionalJS_pre['<a class="code" href="classtx__rtehtmlarea__base.html#83a93353d01210b3dd5486c30d9abef8">loadJScode</a>'] = $this-><a class="code" href="classtx__rtehtmlarea__base.html#83a93353d01210b3dd5486c30d9abef8">loadJScode</a>($pObj->RTEcounter); <a name="l00563"></a>00563 <a name="l00564"></a>00564 <span class="comment">/* =======================================</span> <a name="l00565"></a>00565 <span class="comment"> * DRAW THE EDITOR</span> <a name="l00566"></a>00566 <span class="comment"> * =======================================</span> <a name="l00567"></a>00567 <span class="comment"> */</span> <a name="l00568"></a>00568 <a name="l00569"></a>00569 <span class="comment">// Transform value:</span> <a name="l00570"></a>00570 $value = $this-><a class="code" href="classt3lib__rteapi.html#490ab53a197b928b308871d10a4adbb7">transformContent</a>('rte',$PA['itemFormElValue'],$table,$field,$row,<a class="code" href="classtx__rtehtmlarea__base.html#9838fd34b0a804de0a9a2f6e91ed5ada">$specConf</a>,<a class="code" href="classtx__rtehtmlarea__base.html#4fa7e9c79de2cdb8461028610a2b7f4b">$thisConfig</a>,$RTErelPath,$thePidValue); <a name="l00571"></a>00571 <a name="l00572"></a>00572 <span class="comment">// Change some tags</span> <a name="l00573"></a>00573 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'gecko') { <a name="l00574"></a>00574 <span class="comment">// change <strong> to <b></span> <a name="l00575"></a>00575 $value = preg_replace('/<(\/?)strong/i', <span class="stringliteral">"<$1b"</span>, $value); <a name="l00576"></a>00576 <span class="comment">// change <em> to <i></span> <a name="l00577"></a>00577 $value = preg_replace('/<(\/?)em([^b>]*>)/i', <span class="stringliteral">"<$1i$2"</span>, $value); <a name="l00578"></a>00578 } <a name="l00579"></a>00579 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'msie') { <a name="l00580"></a>00580 <span class="comment">// change <abbr> to <acronym></span> <a name="l00581"></a>00581 $value = preg_replace('/<(\/?)abbr/i', <span class="stringliteral">"<$1acronym"</span>, $value); <a name="l00582"></a>00582 } <a name="l00583"></a>00583 <a name="l00584"></a>00584 <span class="comment">// Register RTE windows</span> <a name="l00585"></a>00585 $pObj->RTEwindows[] = $PA['itemFormElName']; <a name="l00586"></a>00586 <a name="l00587"></a>00587 <span class="comment">// Check if wizard_rte called this for fullscreen edtition; if so, change the size of the RTE to fullscreen using JS</span> <a name="l00588"></a>00588 <span class="keywordflow">if</span> (basename(PATH_thisScript) == 'wizard_rte.php') { <a name="l00589"></a>00589 $height = 'window.innerHeight'; <a name="l00590"></a>00590 $width = 'window.innerWidth'; <a name="l00591"></a>00591 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'msie') { <a name="l00592"></a>00592 $height = 'document.body.offsetHeight'; <a name="l00593"></a>00593 $width = 'document.body.offsetWidth'; <a name="l00594"></a>00594 } <a name="l00595"></a>00595 $editorWrapWidth = '100%'; <a name="l00596"></a>00596 $editorWrapHeight = '100%'; <a name="l00597"></a>00597 $this->RTEdivStyle = 'position:relative; left:0px; top:0px; height:100%; width:100%; border: 1px solid black; padding: 2px 0px 2px 2px;'; <a name="l00598"></a>00598 $pObj->additionalJS_post[] = $this-><a class="code" href="classtx__rtehtmlarea__base.html#6827f2eefb6d09e8c7342a68c9d48ab9">setRTEsizeByJS</a>('RTEarea'.$pObj->RTEcounter, $height, $width); <a name="l00599"></a>00599 } <a name="l00600"></a>00600 <a name="l00601"></a>00601 <span class="comment">// Register RTE in JS:</span> <a name="l00602"></a>00602 $pObj->additionalJS_post[] = $this-><a class="code" href="classtx__rtehtmlarea__base.html#88a6f80c1dd6b6742e67dfb4d4cdafa6">registerRTEinJS</a>($pObj->RTEcounter); <a name="l00603"></a>00603 <a name="l00604"></a>00604 <span class="comment">// Set the save option for the RTE:</span> <a name="l00605"></a>00605 $pObj->additionalJS_submit[] = $this-><a class="code" href="classtx__rtehtmlarea__base.html#c2f5222d9abe86e4731b1f54c465773f">setSaveRTE</a>($pObj->RTEcounter, $pObj->formName, htmlspecialchars($PA['itemFormElName'])); <a name="l00606"></a>00606 <a name="l00607"></a>00607 <span class="comment">// Draw the textarea</span> <a name="l00608"></a>00608 $visibility = 'hidden'; <a name="l00609"></a>00609 $item = $this-><a class="code" href="classt3lib__rteapi.html#eda90a0e49f9435041d60ed28896a801">triggerField</a>($PA['itemFormElName']).' <a name="l00610"></a>00610 <div <span class="keywordtype">id</span>=<span class="stringliteral">"pleasewait' . $pObj->RTEcounter . '"</span> <span class="keyword">class</span>=<span class="stringliteral">"pleasewait"</span>>' . $LANG->getLL('Please wait') . '</div> <a name="l00611"></a>00611 <div <span class="keywordtype">id</span>=<span class="stringliteral">"editorWrap' . $pObj->RTEcounter . '"</span> <span class="keyword">class</span>=<span class="stringliteral">"editorWrap"</span> style=<span class="stringliteral">"visibility:' . $visibility . '; width:' . $editorWrapWidth . '; height:' . $editorWrapHeight . ';"</span>> <a name="l00612"></a>00612 <textarea <span class="keywordtype">id</span>=<span class="stringliteral">"RTEarea'.$pObj->RTEcounter.'"</span> name=<span class="stringliteral">"'.htmlspecialchars($PA['itemFormElName']).'"</span> style=<span class="stringliteral">"'.t3lib_div::deHSCentities(htmlspecialchars($this->RTEdivStyle)).'"</span>>'.t3lib_div::formatForTextarea($value).'</textarea> <a name="l00613"></a>00613 </div>' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableDebugMode'] ? '<div <span class="keywordtype">id</span>=<span class="stringliteral">"HTMLAreaLog"</span>></div>' : '') . ' <a name="l00614"></a>00614 '; <a name="l00615"></a>00615 } <a name="l00616"></a>00616 <a name="l00617"></a>00617 <span class="comment">// Return form item:</span> <a name="l00618"></a>00618 <span class="keywordflow">return</span> $item; <a name="l00619"></a>00619 } <a name="l00620"></a>00620 <a name="l00626"></a><a class="code" href="classtx__rtehtmlarea__base.html#52691565b01219c749a5e564a6f5c9f5">00626</a> function <a class="code" href="classtx__rtehtmlarea__base.html#52691565b01219c749a5e564a6f5c9f5">setToolBar</a>() { <a name="l00627"></a>00627 global $BE_USER; <a name="l00628"></a>00628 <a name="l00629"></a>00629 $this->defaultToolbarOrder = 'bar, blockstylelabel, blockstyle, space, textstylelabel, textstyle, linebreak, <a name="l00630"></a>00630 bar, fontstyle, space, fontsize, space, formatblock, <a name="l00631"></a>00631 bar, bold, italic, underline, strikethrough, subscript, superscript, <a name="l00632"></a>00632 bar, lefttoright, righttoleft, bar, left, center, right, justifyfull, <a name="l00633"></a>00633 bar, orderedlist, unorderedlist, outdent, indent, bar, textcolor, bgcolor, textindicator, <a name="l00634"></a>00634 bar, emoticon, insertcharacter, line, link, image, table,' . (trim($this->thisConfig['hideTableOperationsInToolbar'] && trim($this->thisConfig['keepToggleBordersInToolbar'])) ? ' toggleborders,': '') . ' user, acronym, bar, findreplace, spellcheck, <a name="l00635"></a>00635 bar, chMode, inserttag, removeformat, bar, copy, cut, paste, bar, undo, redo, bar, showhelp, about, linebreak, <a name="l00636"></a>00636 ' . (trim($this->thisConfig['hideTableOperationsInToolbar']) ? '': 'bar, toggleborders,') . ' bar, tableproperties, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar, <a name="l00637"></a>00637 columninsertbefore, columninsertafter, columndelete, columnsplit, bar, <a name="l00638"></a>00638 cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge'; <a name="l00639"></a>00639 <a name="l00640"></a>00640 <span class="comment">// Special toolbar for Mozilla Wamcom on Mac OS 9</span> <a name="l00641"></a>00641 <span class="keywordflow">if</span>($this->client['BROWSER'] == 'gecko' && $this->client['VERSION'] == '1.3') { <a name="l00642"></a>00642 $this->defaultToolbarOrder = $this->TCEform->docLarge ? 'bar, blockstylelabel, blockstyle, space, textstylelabel, textstyle, linebreak, <a name="l00643"></a>00643 bar, fontstyle, space, fontsize, space, formatblock, bar, bold, italic, underline, strikethrough, <a name="l00644"></a>00644 subscript, superscript, lefttoright, righttoleft, bar, left, center, right, justifyfull, linebreak, <a name="l00645"></a>00645 bar, orderedlist, unorderedlist, outdent, indent, bar, textcolor, bgcolor, textindicator, bar, emoticon, <a name="l00646"></a>00646 insertcharacter, line, link, image, table, user, acronym, bar, findreplace, spellcheck, bar, chMode, inserttag, <a name="l00647"></a>00647 removeformat, bar, copy, cut, paste, bar, undo, redo, bar, showhelp, about, linebreak, <a name="l00648"></a>00648 bar, toggleborders, bar, tableproperties, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar, <a name="l00649"></a>00649 columninsertbefore, columninsertafter, columndelete, columnsplit, bar, <a name="l00650"></a>00650 cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge' <a name="l00651"></a>00651 : 'bar, blockstylelabel, blockstyle, space, textstylelabel, textstyle, linebreak, <a name="l00652"></a>00652 bar, fontstyle, space, fontsize, space, formatblock, bar, bold, italic, underline, strikethrough, <a name="l00653"></a>00653 subscript, superscript, linebreak, bar, lefttoright, righttoleft, bar, left, center, right, justifyfull, <a name="l00654"></a>00654 orderedlist, unorderedlist, outdent, indent, bar, textcolor, bgcolor, textindicator, bar, emoticon, <a name="l00655"></a>00655 insertcharacter, line, link, image, table, user, acronym, linebreak, bar, findreplace, spellcheck, bar, chMode, inserttag, <a name="l00656"></a>00656 removeformat, bar, copy, cut, paste, bar, undo, redo, bar, showhelp, about, linebreak, <a name="l00657"></a>00657 bar, toggleborders, bar, tableproperties, bar, rowproperties, rowinsertabove, rowinsertunder, rowdelete, rowsplit, bar, <a name="l00658"></a>00658 columninsertbefore, columninsertafter, columndelete, columnsplit, bar, <a name="l00659"></a>00659 cellproperties, cellinsertbefore, cellinsertafter, celldelete, cellsplit, cellmerge'; <a name="l00660"></a>00660 } <a name="l00661"></a>00661 $toolbarOrder = $this->thisConfig['toolbarOrder'] ? $this->thisConfig['toolbarOrder'] : $this->defaultToolbarOrder; <a name="l00662"></a>00662 <a name="l00663"></a>00663 <span class="comment">// Getting rid of undefined buttons</span> <a name="l00664"></a>00664 $this->toolbarOrderArray = array_intersect(<a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $toolbarOrder, 1), <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->defaultToolbarOrder, 1)); <a name="l00665"></a>00665 $toolbarOrder = array_unique(array_values($this->toolbarOrderArray)); <a name="l00666"></a>00666 <a name="l00667"></a>00667 <span class="comment">// Fetching specConf for field from backend</span> <a name="l00668"></a>00668 $pList = is_array($this->specConf['richtext']['parameters']) ? implode(<span class="charliteral">','</span>,$this->specConf['richtext']['parameters']) : ''; <a name="l00669"></a>00669 <span class="keywordflow">if</span> ($pList != <span class="charliteral">'*'</span>) { <span class="comment">// If not all</span> <a name="l00670"></a>00670 $show = is_array($this->specConf['richtext']['parameters']) ? $this->specConf['richtext']['parameters'] : array(); <a name="l00671"></a>00671 <span class="keywordflow">if</span> ($this->thisConfig['showButtons']) { <a name="l00672"></a>00672 <span class="keywordflow">if</span> ($this->thisConfig['showButtons'] != <span class="charliteral">'*'</span>) { <a name="l00673"></a>00673 $show = array_unique(array_merge($show,<a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$this->thisConfig['showButtons'],1))); <a name="l00674"></a>00674 } <span class="keywordflow">else</span> { <a name="l00675"></a>00675 $show = array_unique(array_merge($show, $toolbarOrder)); <a name="l00676"></a>00676 } <a name="l00677"></a>00677 } <a name="l00678"></a>00678 <span class="keywordflow">if</span> (is_array($this->thisConfig['showButtons.'])) { <a name="l00679"></a>00679 reset($this->thisConfig['showButtons.']); <a name="l00680"></a>00680 <span class="keywordflow">while</span>(list($button,$value) = each($this->thisConfig['showButtons.'])) { <a name="l00681"></a>00681 <span class="keywordflow">if</span> ($value) $show[] = $button; <a name="l00682"></a>00682 } <a name="l00683"></a>00683 $show = array_unique($show); <a name="l00684"></a>00684 } <a name="l00685"></a>00685 } <span class="keywordflow">else</span> { <a name="l00686"></a>00686 $show = $toolbarOrder; <a name="l00687"></a>00687 } <a name="l00688"></a>00688 <a name="l00689"></a>00689 <span class="comment">// Resticting to RTEkeyList for backend user</span> <a name="l00690"></a>00690 <span class="keywordflow">if</span>(is_object($BE_USER)) { <a name="l00691"></a>00691 $RTEkeyList = isset($BE_USER->userTS['options.']['RTEkeyList']) ? $BE_USER->userTS['options.']['RTEkeyList'] : <span class="charliteral">'*'</span>; <a name="l00692"></a>00692 <span class="keywordflow">if</span> ($RTEkeyList != <span class="charliteral">'*'</span>) { <span class="comment">// If not all</span> <a name="l00693"></a>00693 $show = array_intersect($show, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$RTEkeyList,1)); <a name="l00694"></a>00694 } <a name="l00695"></a>00695 } <a name="l00696"></a>00696 <a name="l00697"></a>00697 <span class="comment">// Hiding buttons of disabled plugins</span> <a name="l00698"></a>00698 $hideButtons = array('space', 'bar', 'linebreak'); <a name="l00699"></a>00699 reset($this->pluginButton); <a name="l00700"></a>00700 <span class="keywordflow">while</span>(list($plugin, $buttonList) = each($this->pluginButton) ) { <a name="l00701"></a>00701 <span class="keywordflow">if</span>(!$this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>($plugin)) { <a name="l00702"></a>00702 $buttonArray = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$buttonList,1); <a name="l00703"></a>00703 foreach($buttonArray as $button) { <a name="l00704"></a>00704 $hideButtons[] = $button; <a name="l00705"></a>00705 } <a name="l00706"></a>00706 } <a name="l00707"></a>00707 } <a name="l00708"></a>00708 <a name="l00709"></a>00709 <span class="comment">// Hiding labels of disabled plugins</span> <a name="l00710"></a>00710 reset($this->pluginLabel); <a name="l00711"></a>00711 <span class="keywordflow">while</span>(list($plugin, $label) = each($this->pluginLabel) ) { <a name="l00712"></a>00712 <span class="keywordflow">if</span>(!$this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>($plugin)) $hideButtons[] = $label; <a name="l00713"></a>00713 } <a name="l00714"></a>00714 <a name="l00715"></a>00715 <span class="comment">// Hiding buttons not implemented in Safari</span> <a name="l00716"></a>00716 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'safari') { <a name="l00717"></a>00717 reset($this->conf_toolbar_safari_hide); <a name="l00718"></a>00718 <span class="keywordflow">while</span>(list(, $button) = each($this->conf_toolbar_safari_hide) ) { <a name="l00719"></a>00719 $hideButtons[] = $button; <a name="l00720"></a>00720 } <a name="l00721"></a>00721 } <a name="l00722"></a>00722 <a name="l00723"></a>00723 <span class="comment">// Hiding buttons not implemented in Opera</span> <a name="l00724"></a>00724 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'opera') { <a name="l00725"></a>00725 reset($this->conf_toolbar_opera_hide); <a name="l00726"></a>00726 <span class="keywordflow">while</span>(list(, $button) = each($this->conf_toolbar_opera_hide) ) { <a name="l00727"></a>00727 $hideButtons[] = $button; <a name="l00728"></a>00728 } <a name="l00729"></a>00729 } <a name="l00730"></a>00730 <a name="l00731"></a>00731 <span class="comment">// Hiding the buttons</span> <a name="l00732"></a>00732 $show = array_diff($show, $this->conf_toolbar_hide, $hideButtons, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$this->thisConfig['hideButtons'],1)); <a name="l00733"></a>00733 <a name="l00734"></a>00734 <span class="comment">// Adding the always show buttons</span> <a name="l00735"></a>00735 $show = array_unique(array_merge($show, $this->conf_toolbar_show)); <a name="l00736"></a>00736 $toolbarOrder = array_unique(array_merge($toolbarOrder, $this->conf_toolbar_show)); <a name="l00737"></a>00737 reset($this->conf_toolbar_show); <a name="l00738"></a>00738 <span class="keywordflow">while</span>(list(,$button) = each($this->conf_toolbar_show)) { <a name="l00739"></a>00739 <span class="keywordflow">if</span>(!in_array($button, $this->toolbarOrderArray)) $this->toolbarOrderArray[] = $button; <a name="l00740"></a>00740 } <a name="l00741"></a>00741 <a name="l00742"></a>00742 <span class="comment">// Getting rid of the buttons for which we have no position</span> <a name="l00743"></a>00743 $show = array_intersect($show, $toolbarOrder); <a name="l00744"></a>00744 $this->toolBar = $show; <a name="l00745"></a>00745 } <a name="l00746"></a>00746 <a name="l00752"></a><a class="code" href="classtx__rtehtmlarea__base.html#f395b1e5780335ad923cb87e7507beb0">00752</a> function <a class="code" href="classtx__rtehtmlarea__base.html#f395b1e5780335ad923cb87e7507beb0">setPlugins</a>() { <a name="l00753"></a>00753 global $TYPO3_CONF_VARS; <a name="l00754"></a>00754 <a name="l00755"></a>00755 $hideButtons = array(); <a name="l00756"></a>00756 <span class="comment">// Disabling the plugins if their buttons are not in the toolbar</span> <a name="l00757"></a>00757 $hidePlugins = array(); <a name="l00758"></a>00758 reset($this->pluginButton); <a name="l00759"></a>00759 <span class="keywordflow">while</span>(list($plugin, $buttonList) = each($this->pluginButton) ) { <a name="l00760"></a>00760 $buttonArray = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$buttonList,1); <a name="l00761"></a>00761 <span class="keywordflow">if</span>(!in_array($buttonArray[0],$this->toolBar)) { <a name="l00762"></a>00762 $hidePlugins[] = $plugin; <a name="l00763"></a>00763 foreach($buttonArray as $button) { <a name="l00764"></a>00764 $hideButtons[] = $button; <a name="l00765"></a>00765 } <a name="l00766"></a>00766 } <a name="l00767"></a>00767 } <a name="l00768"></a>00768 <a name="l00769"></a>00769 <span class="keywordflow">if</span>($this->thisConfig['disableContextMenu'] || $this->thisConfig['disableRightClick']) $hidePlugins[] = 'ContextMenu'; <a name="l00770"></a>00770 <span class="keywordflow">if</span>($this->thisConfig['disableSelectColor']) $hidePlugins[] = 'SelectColor'; <a name="l00771"></a>00771 <span class="keywordflow">if</span>($this->thisConfig['disableTYPO3Browsers']) $hidePlugins[] = 'TYPO3Browsers'; <a name="l00772"></a>00772 <span class="keywordflow">if</span>(!$this->thisConfig['enableWordClean'] || !is_array($this->thisConfig['enableWordClean.'])) $hidePlugins[] = 'TYPO3HtmlParser'; <a name="l00773"></a>00773 <span class="keywordflow">if</span>(!<a class="code" href="classt3lib__extMgm.html#297116a3b1e17045ff193f170b8c4a29">t3lib_extMgm::isLoaded</a>('sr_static_info') || in_array($this-><a class="code" href="classlanguage.html">language</a>, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['noSpellCheckLanguages']))) $hidePlugins[] = 'SpellChecker'; <a name="l00774"></a>00774 <a name="l00775"></a>00775 $this->pluginEnableArray = array_diff($this->pluginEnableArray, $hidePlugins); <a name="l00776"></a>00776 <a name="l00777"></a>00777 <span class="comment">// Hiding labels of disabled plugins</span> <a name="l00778"></a>00778 reset($this->pluginLabel); <a name="l00779"></a>00779 <span class="keywordflow">while</span>(list($plugin, $label) = each($this->pluginLabel) ) { <a name="l00780"></a>00780 <span class="keywordflow">if</span>(!$this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>($plugin)) $hideButtons[] = $label; <a name="l00781"></a>00781 } <a name="l00782"></a>00782 $this->toolBar = array_diff($this->toolBar, $hideButtons); <a name="l00783"></a>00783 <a name="l00784"></a>00784 <span class="comment">// Renaming buttons of replacement plugins</span> <a name="l00785"></a>00785 <span class="keywordflow">if</span>( $this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('SelectColor') ) { <a name="l00786"></a>00786 $this->conf_toolbar_convert['textcolor'] = 'CO-forecolor'; <a name="l00787"></a>00787 $this->conf_toolbar_convert['bgcolor'] = 'CO-hilitecolor'; <a name="l00788"></a>00788 } <a name="l00789"></a>00789 } <a name="l00790"></a>00790 <a name="l00798"></a><a class="code" href="classtx__rtehtmlarea__base.html#9c24c02149de5b2fb64c6b186b417e70">00798</a> function <a class="code" href="classtx__rtehtmlarea__base.html#9c24c02149de5b2fb64c6b186b417e70">convertToolBarForHTMLArea</a>($button) { <a name="l00799"></a>00799 <span class="keywordflow">return</span> $this->conf_toolbar_convert[$button]; <a name="l00800"></a>00800 } <a name="l00801"></a>00801 <a name="l00810"></a><a class="code" href="classtx__rtehtmlarea__base.html#6827f2eefb6d09e8c7342a68c9d48ab9">00810</a> function <a class="code" href="classtx__rtehtmlarea__base.html#6827f2eefb6d09e8c7342a68c9d48ab9">setRTEsizeByJS</a>($divId, $height, $width) { <a name="l00811"></a>00811 <span class="keywordflow">return</span> ' <a name="l00812"></a>00812 <a class="code" href="classtx__rtehtmlarea__base.html#6827f2eefb6d09e8c7342a68c9d48ab9">setRTEsizeByJS</a>(\''.$divId.<span class="charliteral">'\'</span>,'.$height.', '.$width.'); <a name="l00813"></a>00813 '; <a name="l00814"></a>00814 } <a name="l00815"></a>00815 <a name="l00821"></a><a class="code" href="classtx__rtehtmlarea__base.html#1300a1bb55017de2e58f990e7d56faf5">00821</a> function <a class="code" href="classtx__rtehtmlarea__base.html#1300a1bb55017de2e58f990e7d56faf5">loadJSfiles</a>($number) { <a name="l00822"></a>00822 global $TYPO3_CONF_VARS; <a name="l00823"></a>00823 <a name="l00824"></a>00824 <span class="keywordflow">return</span> ' <a name="l00825"></a>00825 <script type=<span class="stringliteral">"text/javascript"</span>> <a name="l00826"></a>00826 <span class="comment">/*<![CDATA[*/</span> <a name="l00827"></a>00827 var RTEarea = <span class="keyword">new</span> Array(); <a name="l00828"></a>00828 RTEarea[0] = <span class="keyword">new</span> Array(); <a name="l00829"></a>00829 RTEarea[0][<span class="stringliteral">"version"</span>] = <span class="stringliteral">"' . $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['version'] . '"</span>; <a name="l00830"></a>00830 RTEarea[0][<span class="stringliteral">"popupwin"</span>] = <span class="stringliteral">"' . $this->writeJSFileToTypo3tempDir('EXT:' . $this->ID . '/htmlarea/popupwin' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>popupwin<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']) . '"</span>; <a name="l00831"></a>00831 RTEarea[0][<span class="stringliteral">"htmlarea-gecko"</span>] = <span class="stringliteral">"' . $this->writeJSFileToTypo3tempDir('EXT:' . $this->ID . '/htmlarea/htmlarea-gecko' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>htmlarea-gecko<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']) . '"</span>; <a name="l00832"></a>00832 RTEarea[0][<span class="stringliteral">"htmlarea-ie"</span>] = <span class="stringliteral">"' . $this->writeJSFileToTypo3tempDir('EXT:' . $this->ID . '/htmlarea/htmlarea-ie' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>htmlarea-ie<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']) . '"</span>; <a name="l00833"></a>00833 var _editor_url = <span class="stringliteral">"' . $this->extHttpPath . 'htmlarea"</span>; <a name="l00834"></a>00834 var _editor_lang = <span class="stringliteral">"' . $this->language . '"</span>; <a name="l00835"></a>00835 var _editor_CSS = <span class="stringliteral">"' . $this->editorCSS . '"</span>; <a name="l00836"></a>00836 var _editor_skin = <span class="stringliteral">"' . dirname($this->editorCSS) . '"</span>; <a name="l00837"></a>00837 var _editor_edited_content_CSS = <span class="stringliteral">"' . $this->editedContentCSS . '"</span>; <a name="l00838"></a>00838 var _typo3_host_url = <span class="stringliteral">"' . $this->hostURL . '"</span>; <a name="l00839"></a>00839 var _editor_debug_mode = ' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableDebugMode'] ? '<span class="keyword">true</span>' : '<span class="keyword">false</span>') . '; <a name="l00840"></a>00840 var _editor_compressed_scripts = ' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '<span class="keyword">true</span>' : '<span class="keyword">false</span>') . '; <a name="l00841"></a>00841 var _editor_mozAllowClipboard_url = <span class="stringliteral">"' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['mozAllowClipboardUrl'] ? $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['mozAllowClipboardUrl'] : '') . '"</span>; <a name="l00842"></a>00842 var _spellChecker_lang = <span class="stringliteral">"' . $this->spellCheckerLanguage . '"</span>; <a name="l00843"></a>00843 var _spellChecker_charset = <span class="stringliteral">"' . $this->spellCheckerCharset . '"</span>; <a name="l00844"></a>00844 var _spellChecker_mode = <span class="stringliteral">"' . $this->spellCheckerMode . '"</span>; <a name="l00845"></a>00845 var _quickTag_hideTags = <span class="stringliteral">"' . $this->quickTagHideTags . '"</span>; <a name="l00846"></a>00846 <span class="comment">/*]]>*/</span> <a name="l00847"></a>00847 </script> <a name="l00848"></a>00848 <script type=<span class="stringliteral">"text/javascript"</span> src=<span class="stringliteral">"' . $this->buildJSMainLangFile($number) . '"</span>></script> <a name="l00849"></a>00849 <script type=<span class="stringliteral">"text/javascript"</span> src=<span class="stringliteral">"' . $this->writeJSFileToTypo3tempDir('EXT:' . $this->ID . '/htmlarea/htmlarea' . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>htmlarea<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']) . '"</span>></script> <a name="l00850"></a>00850 '; <a name="l00851"></a>00851 } <a name="l00852"></a>00852 <a name="l00859"></a><a class="code" href="classtx__rtehtmlarea__base.html#83a93353d01210b3dd5486c30d9abef8">00859</a> function <a class="code" href="classtx__rtehtmlarea__base.html#83a93353d01210b3dd5486c30d9abef8">loadJScode</a>($number) { <a name="l00860"></a>00860 global $TSFE, $TYPO3_CONF_VARS; <a name="l00861"></a>00861 <a name="l00862"></a>00862 $loadPluginCode = ''; <a name="l00863"></a>00863 $pluginArray = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->pluginList , 1); <a name="l00864"></a>00864 <span class="keywordflow">while</span>( list(,$plugin) = each($pluginArray) ) { <a name="l00865"></a>00865 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>($plugin) || (intval($number) > 1 && in_array($plugin, $this->pluginEnableArrayMultiple))) { <a name="l00866"></a>00866 $loadPluginCode .= ' <a name="l00867"></a>00867 HTMLArea.loadPlugin(<span class="stringliteral">"' . $plugin . '"</span>, <span class="keyword">true</span>, <span class="stringliteral">"' . $this->writeJSFileToTypo3tempDir('EXT:' . $this->ID . '/htmlarea/plugins/' . $plugin . '/' . strtolower(preg_replace('/([a-z])([A-Z])([a-z])/', "</span>$1<span class="stringliteral">".'-'."</span>$2<span class="stringliteral">"."</span>$3<span class="stringliteral">", $plugin)) . ($TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']?'-compressed':'') .'.js', $plugin, $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts']) . '"</span>);'; <a name="l00868"></a>00868 } <a name="l00869"></a>00869 } <a name="l00870"></a>00870 <span class="keywordflow">return</span> (!is_object($TSFE) ? '' : ' <a name="l00871"></a>00871 ' . '<span class="comment">/*<![CDATA[*/</span>') . ' <a name="l00872"></a>00872 var conf_RTEtsConfigParams = <span class="stringliteral">"&RTEtsConfigParams=' . rawurlencode($this->RTEtsConfigParams()) . '"</span>; <a name="l00873"></a>00873 var rtePathImageFile = <span class="stringliteral">"../mod4/select_image.php"</span>; <a name="l00874"></a>00874 var rtePathLinkFile = <span class="stringliteral">"../mod3/browse_links.php"</span>; <a name="l00875"></a>00875 var rtePathUserFile = <span class="stringliteral">"../mod5/user.php"</span>; <a name="l00876"></a>00876 var rtePathAcronymFile = <span class="stringliteral">"../mod2/acronym.php"</span>; <a name="l00877"></a>00877 var rtePathParseHtmlFile = <span class="stringliteral">"' . $this->extHttpPath . 'mod6/parse_html.php"</span>;' <a name="l00878"></a>00878 . $loadPluginCode . ' <a name="l00879"></a>00879 HTMLArea.init();' . (!is_object($TSFE) ? '' : ' <a name="l00880"></a>00880 <span class="comment">/*]]>*/</span> <a name="l00881"></a>00881 '); <a name="l00882"></a>00882 } <a name="l00883"></a>00883 <a name="l00890"></a><a class="code" href="classtx__rtehtmlarea__base.html#88a6f80c1dd6b6742e67dfb4d4cdafa6">00890</a> function <a class="code" href="classtx__rtehtmlarea__base.html#88a6f80c1dd6b6742e67dfb4d4cdafa6">registerRTEinJS</a>($number) { <a name="l00891"></a>00891 global $TSFE, $TYPO3_CONF_VARS; <a name="l00892"></a>00892 <a name="l00893"></a>00893 $registerRTEinJSString = (!is_object($TSFE) ? '' : ' <a name="l00894"></a>00894 ' . '<span class="comment">/*<![CDATA[*/</span>') . ' <a name="l00895"></a>00895 RTEarea['.$number.'] = <span class="keyword">new</span> Array(); <a name="l00896"></a>00896 RTEarea['.$number.'][<span class="stringliteral">"number"</span>] = '.$number.'; <a name="l00897"></a>00897 RTEarea['.$number.'][<span class="stringliteral">"id"</span>] = <span class="stringliteral">"RTEarea'.$number.'"</span>; <a name="l00898"></a>00898 RTEarea['.$number.'][<span class="stringliteral">"enableWordClean"</span>] = ' . (trim($this->thisConfig['enableWordClean'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00899"></a>00899 RTEarea['.$number.'][<span class="stringliteral">"htmlRemoveComments"</span>] = ' . (trim($this->thisConfig['removeComments'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00900"></a>00900 RTEarea['.$number.'][<span class="stringliteral">"disableEnterParagraphs"</span>] = ' . (trim($this->thisConfig['disableEnterParagraphs'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00901"></a>00901 RTEarea['.$number.'][<span class="stringliteral">"removeTrailingBR"</span>] = ' . (trim($this->thisConfig['removeTrailingBR'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00902"></a>00902 RTEarea['.$number.'][<span class="stringliteral">"useCSS"</span>] = ' . (trim($this->thisConfig['useCSS'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00903"></a>00903 RTEarea['.$number.'][<span class="stringliteral">"keepButtonGroupTogether"</span>] = ' . (trim($this->thisConfig['keepButtonGroupTogether'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00904"></a>00904 RTEarea['.$number.'][<span class="stringliteral">"disablePCexamples"</span>] = ' . (trim($this->thisConfig['disablePCexamples'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00905"></a>00905 RTEarea['.$number.'][<span class="stringliteral">"statusBar"</span>] = ' . (trim($this->thisConfig['showStatusBar'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00906"></a>00906 RTEarea['.$number.'][<span class="stringliteral">"showTagFreeClasses"</span>] = ' . (trim($this->thisConfig['showTagFreeClasses'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00907"></a>00907 RTEarea['.$number.'][<span class="stringliteral">"useHTTPS"</span>] = ' . (trim(stristr($this->siteURL, 'https'))?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00908"></a>00908 RTEarea['.$number.'][<span class="stringliteral">"enableMozillaExtension"</span>] = ' . (($this->client['BROWSER'] == 'gecko' && $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableMozillaExtension'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . <span class="charliteral">';'</span>; <a name="l00909"></a>00909 <a name="l00910"></a>00910 <span class="comment">// The following properties apply only to the backend</span> <a name="l00911"></a>00911 <span class="keywordflow">if</span> (!is_object($TSFE)) { <a name="l00912"></a>00912 $registerRTEinJSString .= ' <a name="l00913"></a>00913 RTEarea['.$number.'][<span class="stringliteral">"typo3ContentLanguage"</span>] = <span class="stringliteral">"' . $this->contentTypo3Language . '"</span>; <a name="l00914"></a>00914 RTEarea['.$number.'][<span class="stringliteral">"typo3ContentCharset"</span>] = <span class="stringliteral">"' . $this->contentCharset . '"</span>; <a name="l00915"></a>00915 RTEarea['.$number.'][<span class="stringliteral">"enablePersonalDicts"</span>] = ' . ($this->spellCheckerPersonalDicts ? '<span class="keyword">true</span>' : '<span class="keyword">false</span>') . '; <a name="l00916"></a>00916 RTEarea['.$number.'][<span class="stringliteral">"userUid"</span>] = <span class="stringliteral">"' . $this->userUid . '"</span>;'; <a name="l00917"></a>00917 } <a name="l00918"></a>00918 <a name="l00919"></a>00919 <span class="comment">// Setting the plugin flags</span> <a name="l00920"></a>00920 $registerRTEinJSString .= ' <a name="l00921"></a>00921 RTEarea['.$number.'][<span class="stringliteral">"plugin"</span>] = <span class="keyword">new</span> Array();'; <a name="l00922"></a>00922 <a name="l00923"></a>00923 $pluginArray = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->pluginList , 1); <a name="l00924"></a>00924 <span class="keywordflow">while</span>( list(,$plugin) = each($pluginArray) ) { <a name="l00925"></a>00925 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>($plugin)) { <a name="l00926"></a>00926 $registerRTEinJSString .= ' <a name="l00927"></a>00927 RTEarea['.$number.'][<span class="stringliteral">"plugin"</span>][<span class="stringliteral">"'.$plugin.'"</span>] = <span class="keyword">true</span>;'; <a name="l00928"></a>00928 } <a name="l00929"></a>00929 } <a name="l00930"></a>00930 <a name="l00931"></a>00931 <span class="comment">// Setting the list of tags to be removed if specified in the RTE config</span> <a name="l00932"></a>00932 <span class="keywordflow">if</span> (trim($this->thisConfig['removeTags'])) { <a name="l00933"></a>00933 $registerRTEinJSString .= ' <a name="l00934"></a>00934 RTEarea['.$number.'][<span class="stringliteral">"htmlRemoveTags"</span>] = /^(' . implode(<span class="charliteral">'|'</span>, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->thisConfig['removeTags'], 1)) . ')$/i;'; <a name="l00935"></a>00935 } <a name="l00936"></a>00936 <a name="l00937"></a>00937 <span class="comment">// Setting the list of tags to be removed with their contents if specified in the RTE config</span> <a name="l00938"></a>00938 <span class="keywordflow">if</span> (trim($this->thisConfig['removeTagsAndContents'])) { <a name="l00939"></a>00939 $registerRTEinJSString .= ' <a name="l00940"></a>00940 RTEarea['.$number.'][<span class="stringliteral">"htmlRemoveTagsAndContents"</span>] = /^(' . implode(<span class="charliteral">'|'</span>, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->thisConfig['removeTagsAndContents'], 1)) . ')$/i;'; <a name="l00941"></a>00941 } <a name="l00942"></a>00942 <a name="l00943"></a>00943 <span class="comment">// Process default style configuration</span> <a name="l00944"></a>00944 $registerRTEinJSString .= ' <a name="l00945"></a>00945 RTEarea['.$number.'][<span class="stringliteral">"defaultPageStyle"</span>] = <span class="stringliteral">"' . $this->hostURL . $this->buildJSFile('css', $this->buildStyleSheet(), 'css') . '"</span>;'; <a name="l00946"></a>00946 <a name="l00947"></a>00947 <span class="comment">// Setting the pageStyle</span> <a name="l00948"></a>00948 $filename = trim($this->thisConfig['contentCSS']) ? trim($this->thisConfig['contentCSS']) : 'EXT:' . $this->ID . '/htmlarea/plugins/DynamicCSS/dynamiccss.css'; <a name="l00949"></a>00949 $registerRTEinJSString .= ' <a name="l00950"></a>00950 RTEarea['.$number.'][<span class="stringliteral">"pageStyle"</span>] = <span class="stringliteral">"' . $this->getFullFileName($filename) .'"</span>;'; <a name="l00951"></a>00951 <a name="l00952"></a>00952 <span class="comment">// Process colors configuration</span> <a name="l00953"></a>00953 <span class="keywordflow">if</span> ( $this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('SelectColor') ) { <a name="l00954"></a>00954 $registerRTEinJSString .= $this-><a class="code" href="classtx__rtehtmlarea__base.html#2c021df80c852a9e0645a6d708840a05">buildJSColorsConfig</a>($number); <a name="l00955"></a>00955 } <a name="l00956"></a>00956 <a name="l00957"></a>00957 <span class="comment">// Process classes configuration</span> <a name="l00958"></a>00958 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('InlineCSS') || $this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('DynamicCSS')) { <a name="l00959"></a>00959 $registerRTEinJSString .= $this-><a class="code" href="classtx__rtehtmlarea__base.html#0ff05a17370c3a50b6284dd4ace53bff">buildJSClassesConfig</a>($number); <a name="l00960"></a>00960 } <a name="l00961"></a>00961 <a name="l00962"></a>00962 <span class="comment">// Process font faces configuration</span> <a name="l00963"></a>00963 $registerRTEinJSString .= $this->buildJSFontFacesConfig($number); <a name="l00964"></a>00964 <a name="l00965"></a>00965 <span class="comment">// Process paragraphs configuration</span> <a name="l00966"></a>00966 $registerRTEinJSString .= $this-><a class="code" href="classtx__rtehtmlarea__base.html#33fe449413f39d41a9c8b10a41522d5e">buildJSParagraphsConfig</a>($number); <a name="l00967"></a>00967 <a name="l00968"></a>00968 <span class="comment">// Process font sizes configuration</span> <a name="l00969"></a>00969 $registerRTEinJSString .= $this-><a class="code" href="classtx__rtehtmlarea__base.html#2259e77747deb34862ade89d2797103b">buildJSFontSizesConfig</a>($number); <a name="l00970"></a>00970 <a name="l00971"></a>00971 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('TableOperations')) { <a name="l00972"></a>00972 $registerRTEinJSString .= ' <a name="l00973"></a>00973 RTEarea['.$number.'][<span class="stringliteral">"hideTableOperationsInToolbar"</span>] = ' . (trim($this->thisConfig['hideTableOperationsInToolbar']) ? '<span class="keyword">true</span>' : '<span class="keyword">false</span>') . '; <a name="l00974"></a>00974 RTEarea['.$number.'][<span class="stringliteral">"keepToggleBordersInToolbar"</span>] = ' . (trim($this->thisConfig['keepToggleBordersInToolbar'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00975"></a>00975 RTEarea['.$number.'][<span class="stringliteral">"disableLayoutFieldsetInTableOperations"</span>] = ' . (trim($this->thisConfig['disableLayoutFieldsetInTableOperations'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00976"></a>00976 RTEarea['.$number.'][<span class="stringliteral">"disableAlignmentFieldsetInTableOperations"</span>] = ' . (trim($this->thisConfig['disableAlignmentFieldsetInTableOperations'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00977"></a>00977 RTEarea['.$number.'][<span class="stringliteral">"disableSpacingFieldsetInTableOperations"</span>] = ' . (trim($this->thisConfig['disableSpacingFieldsetInTableOperations'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00978"></a>00978 RTEarea['.$number.'][<span class="stringliteral">"disableBordersFieldsetInTableOperations"</span>] = ' . (trim($this->thisConfig['disableBordersFieldsetInTableOperations'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . '; <a name="l00979"></a>00979 RTEarea['.$number.'][<span class="stringliteral">"disableColorFieldsetInTableOperations"</span>] = ' . (trim($this->thisConfig['disableColorFieldsetInTableOperations'])?'<span class="keyword">true</span><span class="charliteral">':'</span><span class="keyword">false</span>') . <span class="charliteral">';'</span>; <a name="l00980"></a>00980 } <a name="l00981"></a>00981 <a name="l00982"></a>00982 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('Acronym')) { <a name="l00983"></a>00983 $registerRTEinJSString .= ' <a name="l00984"></a>00984 RTEarea['.$number.'][<span class="stringliteral">"acronymUrl"</span>] = <span class="stringliteral">"' . $this->buildJSFile('acronym_'.$this->contentLanguageUid, $this->buildJSAcronymArray()) . '"</span>;'; <a name="l00985"></a>00985 } <a name="l00986"></a>00986 <a name="l00987"></a>00987 <span class="keywordflow">if</span> ($this-><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('TYPO3Browsers')) { <a name="l00988"></a>00988 $registerRTEinJSString .= $this-><a class="code" href="classtx__rtehtmlarea__base.html#a7d5d5b42351e272854b118de1e31846">buildJSClassesAnchorConfig</a>($number); <a name="l00989"></a>00989 } <a name="l00990"></a>00990 <a name="l00991"></a>00991 $registerRTEinJSString .= ' <a name="l00992"></a>00992 RTEarea['.$number.'][<span class="stringliteral">"toolbar"</span>] = '.$this->getJSToolbarArray().'; <a name="l00993"></a>00993 HTMLArea.initEditor('.$number.');' . (!is_object($TSFE) ? '' : ' <a name="l00994"></a>00994 <span class="comment">/*]]>*/</span>'); <a name="l00995"></a>00995 <span class="keywordflow">return</span> $registerRTEinJSString; <a name="l00996"></a>00996 } <a name="l00997"></a>00997 <a name="l01004"></a><a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">01004</a> function isPluginEnable($plugin) { <a name="l01005"></a>01005 <span class="keywordflow">return</span> in_array($plugin, $this->pluginEnableArray); <a name="l01006"></a>01006 } <a name="l01007"></a>01007 <a name="l01008"></a>01008 <a name="l01014"></a><a class="code" href="classtx__rtehtmlarea__base.html#2259e77747deb34862ade89d2797103b">01014</a> function buildJSFontSizesConfig($number) { <a name="l01015"></a>01015 global $LANG, $TSFE; <a name="l01016"></a>01016 $registerRTEinJSString = ''; <a name="l01017"></a>01017 <a name="l01018"></a>01018 <span class="comment">// Builing JS array of default font sizes</span> <a name="l01019"></a>01019 $HTMLAreaFontSizes = array(); <a name="l01020"></a>01020 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01021"></a>01021 $HTMLAreaFontSizes[0] = $TSFE->csConvObj->conv($TSFE->getLLL('No size',$this->LOCAL_LANG), $TSFE->labelsCharset, $TSFE->renderCharset); <a name="l01022"></a>01022 } <span class="keywordflow">else</span> { <a name="l01023"></a>01023 $HTMLAreaFontSizes[0] = $LANG->getLL('No size'); <a name="l01024"></a>01024 } <a name="l01025"></a>01025 <a name="l01026"></a>01026 reset($this->defaultFontSizes); <a name="l01027"></a>01027 <span class="keywordflow">while</span>( list($FontSizeItem,$FontSizeLabel) = each($this->defaultFontSizes)) { <a name="l01028"></a>01028 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'safari') { <a name="l01029"></a>01029 $HTMLAreaFontSizes[$this->defaultFontSizes_safari[$FontSizeItem]] = $FontSizeLabel; <a name="l01030"></a>01030 } <span class="keywordflow">else</span> { <a name="l01031"></a>01031 $HTMLAreaFontSizes[$FontSizeItem] = $FontSizeLabel; <a name="l01032"></a>01032 } <a name="l01033"></a>01033 } <a name="l01034"></a>01034 <span class="keywordflow">if</span> ($this->thisConfig['hideFontSizes'] ) { <a name="l01035"></a>01035 $hideFontSizes = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->cleanList($this->thisConfig['hideFontSizes']), 1); <a name="l01036"></a>01036 foreach($hideFontSizes as $item) { <a name="l01037"></a>01037 <span class="keywordflow">if</span> ($HTMLAreaFontSizes[strtolower($item)]) { <a name="l01038"></a>01038 <span class="keywordflow">if</span> ($this->client['BROWSER'] == 'safari') { <a name="l01039"></a>01039 unset($HTMLAreaFontSizes[$this->defaultFontSizes_safari[strtolower($item)]]); <a name="l01040"></a>01040 } <span class="keywordflow">else</span> { <a name="l01041"></a>01041 unset($HTMLAreaFontSizes[strtolower($item)]); <a name="l01042"></a>01042 } <a name="l01043"></a>01043 } <span class="keywordflow">else</span> { <a name="l01044"></a>01044 <a name="l01045"></a>01045 } <a name="l01046"></a>01046 } <a name="l01047"></a>01047 } <a name="l01048"></a>01048 <a name="l01049"></a>01049 $HTMLAreaJSFontSize = <span class="charliteral">'{'</span>; <a name="l01050"></a>01050 <span class="keywordflow">if</span> ($this->cleanList($this->thisConfig['hideFontSizes']) != <span class="charliteral">'*'</span>) { <a name="l01051"></a>01051 reset($HTMLAreaFontSizes); <a name="l01052"></a>01052 $HTMLAreaParagraphIndex = 0; <a name="l01053"></a>01053 <span class="keywordflow">while</span>( list($FontSizeItem,$FontSizeLabel) = each($HTMLAreaFontSizes)) { <a name="l01054"></a>01054 <span class="keywordflow">if</span>($HTMLAreaFontSizeIndex) { <a name="l01055"></a>01055 $HTMLAreaJSFontSize .= <span class="charliteral">','</span>; <a name="l01056"></a>01056 } <a name="l01057"></a>01057 $HTMLAreaJSFontSize .= ' <a name="l01058"></a>01058 <span class="stringliteral">"' . $FontSizeLabel . '"</span> : <span class="stringliteral">"' . ($FontSizeItem?$FontSizeItem:'') . '"</span>'; <a name="l01059"></a>01059 $HTMLAreaFontSizeIndex++; <a name="l01060"></a>01060 } <a name="l01061"></a>01061 } <a name="l01062"></a>01062 $HTMLAreaJSFontSize .= '};'; <a name="l01063"></a>01063 $registerRTEinJSString .= ' <a name="l01064"></a>01064 RTEarea['.$number.'][<span class="stringliteral">"fontsize"</span>] = '. $HTMLAreaJSFontSize; <a name="l01065"></a>01065 <a name="l01066"></a>01066 <span class="keywordflow">return</span> $registerRTEinJSString; <a name="l01067"></a>01067 } <a name="l01073"></a><a class="code" href="classtx__rtehtmlarea__base.html#33fe449413f39d41a9c8b10a41522d5e">01073</a> function buildJSParagraphsConfig($number) { <a name="l01074"></a>01074 global $TSFE, $LANG; <a name="l01075"></a>01075 $registerRTEinJSString = ''; <a name="l01076"></a>01076 <a name="l01077"></a>01077 <span class="comment">// Paragraphs</span> <a name="l01078"></a>01078 $HTMLAreaParagraphs = $this->defaultParagraphs; <a name="l01079"></a>01079 <span class="keywordflow">if</span> ($this->thisConfig['hidePStyleItems']) { <a name="l01080"></a>01080 $hidePStyleItems = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->cleanList($this->thisConfig['hidePStyleItems']), 1); <a name="l01081"></a>01081 foreach($hidePStyleItems as $item) unset($HTMLAreaParagraphs[strtolower($item)]); <a name="l01082"></a>01082 } <a name="l01083"></a>01083 $HTMLAreaJSParagraph = <span class="charliteral">'{'</span>; <a name="l01084"></a>01084 <span class="keywordflow">if</span> ($this->cleanList($this->thisConfig['hidePStyleItems']) != <span class="charliteral">'*'</span>) { <a name="l01085"></a>01085 reset($HTMLAreaParagraphs); <a name="l01086"></a>01086 $HTMLAreaParagraphIndex = 0; <a name="l01087"></a>01087 <span class="keywordflow">while</span>( list($PStyleItem,$PStyleLabel) = each($HTMLAreaParagraphs)) { <a name="l01088"></a>01088 <span class="keywordflow">if</span>($HTMLAreaParagraphIndex) { <a name="l01089"></a>01089 $HTMLAreaJSParagraph .= <span class="charliteral">','</span>; <a name="l01090"></a>01090 } <a name="l01091"></a>01091 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01092"></a>01092 $HTMLAreaJSParagraph .= ' <a name="l01093"></a>01093 <span class="stringliteral">"' . $TSFE->csConvObj->conv($TSFE->getLLL($PStyleLabel,$this->LOCAL_LANG), $TSFE->labelsCharset, $TSFE->renderCharset) . '"</span> : <span class="stringliteral">"' . $PStyleItem . '"</span>'; <a name="l01094"></a>01094 <a name="l01095"></a>01095 } <span class="keywordflow">else</span> { <a name="l01096"></a>01096 $HTMLAreaJSParagraph .= ' <a name="l01097"></a>01097 <span class="stringliteral">"' . $LANG->getLL($PStyleLabel) . '"</span> : <span class="stringliteral">"' . $PStyleItem . '"</span>'; <a name="l01098"></a>01098 } <a name="l01099"></a>01099 $HTMLAreaParagraphIndex++; <a name="l01100"></a>01100 } <a name="l01101"></a>01101 } <a name="l01102"></a>01102 $HTMLAreaJSParagraph .= '};'; <a name="l01103"></a>01103 $registerRTEinJSString .= ' <a name="l01104"></a>01104 RTEarea['.$number.'][<span class="stringliteral">"paragraphs"</span>] = '. $HTMLAreaJSParagraph; <a name="l01105"></a>01105 <a name="l01106"></a>01106 <span class="keywordflow">return</span> $registerRTEinJSString; <a name="l01107"></a>01107 } <a name="l01108"></a>01108 <a name="l01114"></a><a class="code" href="classtx__rtehtmlarea__base.html#e121bc8fe8834a9d4681f0814f195cf2">01114</a> function buildJSFontfacesConfig($number) { <a name="l01115"></a>01115 global $TSFE, $LANG; <a name="l01116"></a>01116 <a name="l01117"></a>01117 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01118"></a>01118 $RTEProperties = $this->RTEsetup; <a name="l01119"></a>01119 } <span class="keywordflow">else</span> { <a name="l01120"></a>01120 $RTEProperties = $this->RTEsetup['properties']; <a name="l01121"></a>01121 } <a name="l01122"></a>01122 <a name="l01123"></a>01123 $registerRTEinJSString = ''; <a name="l01124"></a>01124 <a name="l01125"></a>01125 <span class="comment">// Builing JS array of default font faces</span> <a name="l01126"></a>01126 $HTMLAreaFontname = array(); <a name="l01127"></a>01127 $HTMLAreaFontname['nofont'] = ' <a name="l01128"></a>01128 <span class="stringliteral">"' . $fontName . '"</span> : <span class="stringliteral">"' . $this->cleanList($fontValue) . '"</span>'; <a name="l01129"></a>01129 $defaultFontFacesList = 'nofont,'; <a name="l01130"></a>01130 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01131"></a>01131 $HTMLAreaFontname['nofont'] = ' <a name="l01132"></a>01132 <span class="stringliteral">"' . $TSFE->csConvObj->conv($TSFE->getLLL('No font',$this->LOCAL_LANG), $TSFE->labelsCharset, $TSFE->renderCharset) . '"</span> : <span class="stringliteral">""</span>'; <a name="l01133"></a>01133 } <span class="keywordflow">else</span> { <a name="l01134"></a>01134 $HTMLAreaFontname['nofont'] = ' <a name="l01135"></a>01135 <span class="stringliteral">"' . $LANG->getLL('No font') . '"</span> : <span class="stringliteral">""</span>'; <a name="l01136"></a>01136 } <a name="l01137"></a>01137 <a name="l01138"></a>01138 $hideFontFaces = $this->cleanList($this->thisConfig['hideFontFaces']); <a name="l01139"></a>01139 <span class="keywordflow">if</span> ($hideFontFaces != <span class="charliteral">'*'</span>) { <a name="l01140"></a>01140 $index = 0; <a name="l01141"></a>01141 reset($this->defaultFontFaces); <a name="l01142"></a>01142 <span class="keywordflow">while</span> (list($fontName,$fontValue) = each($this->defaultFontFaces)) { <a name="l01143"></a>01143 <span class="keywordflow">if</span> (!<a class="code" href="classt3lib__div.html#d994a5608365c288d051d6022d4e9976">t3lib_div::inList</a>($hideFontFaces, $index+1)) { <a name="l01144"></a>01144 $HTMLAreaFontname[$fontName] = ' <a name="l01145"></a>01145 <span class="stringliteral">"' . $fontName . '"</span> : <span class="stringliteral">"' . $this->cleanList($fontValue) . '"</span>'; <a name="l01146"></a>01146 $defaultFontFacesList .= $fontName . <span class="charliteral">','</span>; <a name="l01147"></a>01147 } <a name="l01148"></a>01148 $index++; <a name="l01149"></a>01149 } <a name="l01150"></a>01150 } <a name="l01151"></a>01151 <a name="l01152"></a>01152 <span class="comment">// Adding configured font faces</span> <a name="l01153"></a>01153 <span class="keywordflow">if</span> (is_array($RTEProperties['fonts.'])) { <a name="l01154"></a>01154 reset($RTEProperties['fonts.']); <a name="l01155"></a>01155 <span class="keywordflow">while</span>(list($fontName,$conf)=each($RTEProperties['fonts.'])) { <a name="l01156"></a>01156 $fontName=substr($fontName,0,-1); <a name="l01157"></a>01157 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01158"></a>01158 $string = $TSFE->sL($conf['name']); <a name="l01159"></a>01159 } <span class="keywordflow">else</span> { <a name="l01160"></a>01160 $string = $LANG->sL($conf['name']); <a name="l01161"></a>01161 } <a name="l01162"></a>01162 $HTMLAreaFontname[$fontName] = ' <a name="l01163"></a>01163 <span class="stringliteral">"' . str_replace('"</span>', <span class="charliteral">'\"'</span>, str_replace('\\\'', <span class="charliteral">'\''</span>, $string)) . '<span class="stringliteral">" : "</span>' . $this->cleanList($conf['value']) . <span class="charliteral">'"'</span>; <a name="l01164"></a>01164 } <a name="l01165"></a>01165 } <a name="l01166"></a>01166 <a name="l01167"></a>01167 <span class="comment">// Setting the list of font faces</span> <a name="l01168"></a>01168 $HTMLAreaJSFontface = <span class="charliteral">'{'</span>; <a name="l01169"></a>01169 $HTMLAreaFontface = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span> , $this->cleanList($defaultFontFacesList . <span class="charliteral">','</span> . $this->thisConfig['fontFace'])); <a name="l01170"></a>01170 reset($HTMLAreaFontface); <a name="l01171"></a>01171 $HTMLAreaFontfaceIndex = 0; <a name="l01172"></a>01172 <span class="keywordflow">while</span>( list(,$fontName) = each($HTMLAreaFontface)) { <a name="l01173"></a>01173 <span class="keywordflow">if</span>($HTMLAreaFontfaceIndex) { <a name="l01174"></a>01174 $HTMLAreaJSFontface .= <span class="charliteral">','</span>; <a name="l01175"></a>01175 } <a name="l01176"></a>01176 $HTMLAreaJSFontface .= $HTMLAreaFontname[$fontName]; <a name="l01177"></a>01177 $HTMLAreaFontfaceIndex++; <a name="l01178"></a>01178 } <a name="l01179"></a>01179 $HTMLAreaJSFontface .= '};'; <a name="l01180"></a>01180 <a name="l01181"></a>01181 $registerRTEinJSString .= ' <a name="l01182"></a>01182 RTEarea['.$number.'][<span class="stringliteral">"fontname"</span>] = '. $HTMLAreaJSFontface; <a name="l01183"></a>01183 <a name="l01184"></a>01184 <span class="keywordflow">return</span> $registerRTEinJSString; <a name="l01185"></a>01185 } <a name="l01186"></a>01186 <a name="l01192"></a><a class="code" href="classtx__rtehtmlarea__base.html#2c021df80c852a9e0645a6d708840a05">01192</a> function buildJSColorsConfig($number) { <a name="l01193"></a>01193 global $TSFE, $LANG; <a name="l01194"></a>01194 <a name="l01195"></a>01195 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01196"></a>01196 $RTEProperties = $this->RTEsetup; <a name="l01197"></a>01197 } <span class="keywordflow">else</span> { <a name="l01198"></a>01198 $RTEProperties = $this->RTEsetup['properties']; <a name="l01199"></a>01199 } <a name="l01200"></a>01200 <a name="l01201"></a>01201 $registerRTEinJSString = ''; <a name="l01202"></a>01202 <a name="l01203"></a>01203 <span class="keywordflow">if</span>(trim($this->thisConfig['disableColorPicker'])) { <a name="l01204"></a>01204 $registerRTEinJSString .= ' <a name="l01205"></a>01205 RTEarea['.$number.'][<span class="stringliteral">"disableColorPicker"</span>] = <span class="keyword">true</span>;'; <a name="l01206"></a>01206 } <span class="keywordflow">else</span> { <a name="l01207"></a>01207 $registerRTEinJSString .= ' <a name="l01208"></a>01208 RTEarea['.$number.'][<span class="stringliteral">"disableColorPicker"</span>] = <span class="keyword">false</span>;'; <a name="l01209"></a>01209 } <a name="l01210"></a>01210 <a name="l01211"></a>01211 <span class="comment">// Building JS array of configured colors</span> <a name="l01212"></a>01212 <span class="keywordflow">if</span> (is_array($RTEProperties['colors.']) ) { <a name="l01213"></a>01213 $HTMLAreaColorname = array(); <a name="l01214"></a>01214 reset($RTEProperties['colors.']); <a name="l01215"></a>01215 <span class="keywordflow">while</span>(list($colorName,$conf)=each($RTEProperties['colors.'])) { <a name="l01216"></a>01216 $colorName=substr($colorName,0,-1); <a name="l01217"></a>01217 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01218"></a>01218 $string = $TSFE->csConvObj->conv($TSFE->sL(trim($conf['name'])), $TSFE->renderCharset, $TSFE->metaCharset); <a name="l01219"></a>01219 $string = str_replace(<span class="charliteral">'"'</span>, <span class="charliteral">'\"'</span>, str_replace('\\\'', <span class="charliteral">'\''</span>, $string)); <a name="l01220"></a>01220 $string = $this->feJScharCode($string); <a name="l01221"></a>01221 } <span class="keywordflow">else</span> { <a name="l01222"></a>01222 $string = $this->getLLContent(trim($conf['name'])); <a name="l01223"></a>01223 } <a name="l01224"></a>01224 $HTMLAreaColorname[$colorName] = ' <a name="l01225"></a>01225 [' . $string . ' , <span class="stringliteral">"' . $conf['value'] . '"</span>]'; <a name="l01226"></a>01226 } <a name="l01227"></a>01227 } <a name="l01228"></a>01228 <a name="l01229"></a>01229 <span class="comment">// Setting the list of colors if specified in the RTE config</span> <a name="l01230"></a>01230 <span class="keywordflow">if</span> ($this->thisConfig['colors'] ) { <a name="l01231"></a>01231 $HTMLAreaJSColors = <span class="charliteral">'['</span>; <a name="l01232"></a>01232 $HTMLAreaColors = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span> , $this->cleanList($this->thisConfig['colors'])); <a name="l01233"></a>01233 reset($HTMLAreaColors); <a name="l01234"></a>01234 $HTMLAreaColorsIndex = 0; <a name="l01235"></a>01235 <span class="keywordflow">while</span>( list(,$colorName) = each($HTMLAreaColors)) { <a name="l01236"></a>01236 <span class="keywordflow">if</span>($HTMLAreaColorsIndex && $HTMLAreaColorname[$colorName]) { <a name="l01237"></a>01237 $HTMLAreaJSColors .= <span class="charliteral">','</span>; <a name="l01238"></a>01238 } <a name="l01239"></a>01239 $HTMLAreaJSColors .= $HTMLAreaColorname[$colorName]; <a name="l01240"></a>01240 $HTMLAreaColorsIndex++; <a name="l01241"></a>01241 } <a name="l01242"></a>01242 $HTMLAreaJSColors .= '];'; <a name="l01243"></a>01243 $registerRTEinJSString .= ' <a name="l01244"></a>01244 RTEarea['.$number.'][<span class="stringliteral">"colors"</span>] = '. $HTMLAreaJSColors; <a name="l01245"></a>01245 } <a name="l01246"></a>01246 <a name="l01247"></a>01247 <span class="keywordflow">return</span> $registerRTEinJSString; <a name="l01248"></a>01248 } <a name="l01249"></a>01249 <a name="l01255"></a><a class="code" href="classtx__rtehtmlarea__base.html#30dd83cc6d56b6d813b9ac2c936fdfaf">01255</a> function buildStyleSheet() { <a name="l01256"></a>01256 <a name="l01257"></a>01257 <span class="keywordflow">if</span> (!trim($this->thisConfig['ignoreMainStyleOverride'])) { <a name="l01258"></a>01258 $mainStyle_font = $this->thisConfig['mainStyle_font'] ? $this->thisConfig['mainStyle_font']: 'Verdana,sans-serif'; <a name="l01259"></a>01259 <a name="l01260"></a>01260 $mainElements = array(); <a name="l01261"></a>01261 $mainElements[<span class="charliteral">'P'</span>] = $this->thisConfig['mainStyleOverride_add.'][<span class="charliteral">'P'</span>]; <a name="l01262"></a>01262 $elList = explode(<span class="charliteral">','</span>,'H1,H2,H3,H4,H5,H6,PRE'); <a name="l01263"></a>01263 reset($elList); <a name="l01264"></a>01264 <span class="keywordflow">while</span>(list(,$elListName)=each($elList)) { <a name="l01265"></a>01265 <span class="keywordflow">if</span> ($this->thisConfig['mainStyleOverride_add.'][$elListName]) { <a name="l01266"></a>01266 $mainElements[$elListName] = $this->thisConfig['mainStyleOverride_add.'][$elListName]; <a name="l01267"></a>01267 } <a name="l01268"></a>01268 } <a name="l01269"></a>01269 <a name="l01270"></a>01270 $addElementCode = ''; <a name="l01271"></a>01271 reset($mainElements); <a name="l01272"></a>01272 <span class="keywordflow">while</span>(list($elListName,$elValue)=each($mainElements)) { <a name="l01273"></a>01273 $addElementCode .= strToLower($elListName) . ' {' . $elValue . '}\n'; <a name="l01274"></a>01274 } <a name="l01275"></a>01275 <a name="l01276"></a>01276 $stylesheet = $this->thisConfig['mainStyleOverride'] ? $this->thisConfig['mainStyleOverride'] : chr(10) . <a name="l01277"></a>01277 'body.htmlarea-content-body { font-family: ' . $mainStyle_font . <a name="l01278"></a>01278 '; font-size: '.($this->thisConfig['mainStyle_size'] ? $this->thisConfig['mainStyle_size'] : '12px') . <a name="l01279"></a>01279 '; color: '.($this->thisConfig['mainStyle_color']?$this->thisConfig['mainStyle_color'] : 'black') . <a name="l01280"></a>01280 '; background-color: '.($this->thisConfig['mainStyle_bgcolor'] ? $this->thisConfig['mainStyle_bgcolor'] : 'white') . <a name="l01281"></a>01281 <span class="charliteral">';'</span>.$this->thisConfig['mainStyleOverride_add.']['BODY'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01282"></a>01282 'td { ' . $this->thisConfig['mainStyleOverride_add.']['TD'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01283"></a>01283 'div { ' . $this->thisConfig['mainStyleOverride_add.']['DIV'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01284"></a>01284 'pre { ' . $this->thisConfig['mainStyleOverride_add.']['PRE'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01285"></a>01285 'ol { ' . $this->thisConfig['mainStyleOverride_add.']['OL'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01286"></a>01286 'ul { ' . $this->thisConfig['mainStyleOverride_add.']['UL'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01287"></a>01287 'blockquote { ' . $this->thisConfig['mainStyleOverride_add.']['BLOCKQUOTE'].<span class="charliteral">'}'</span> . chr(10) . <a name="l01288"></a>01288 $addElementCode; <a name="l01289"></a>01289 <a name="l01290"></a>01290 <span class="keywordflow">if</span> (is_array($this->thisConfig['inlineStyle.'])) { <a name="l01291"></a>01291 $stylesheet .= chr(10) . implode(chr(10), $this->thisConfig['inlineStyle.']) . chr(10); <a name="l01292"></a>01292 } <a name="l01293"></a>01293 } <span class="keywordflow">else</span> { <a name="l01294"></a>01294 $stylesheet = '<span class="comment">/* mainStyleOverride and inlineStyle properties ignored. */</span>'; <a name="l01295"></a>01295 } <a name="l01296"></a>01296 <span class="keywordflow">return</span> $stylesheet; <a name="l01297"></a>01297 } <a name="l01298"></a>01298 <a name="l01304"></a><a class="code" href="classtx__rtehtmlarea__base.html#0ff05a17370c3a50b6284dd4ace53bff">01304</a> function buildJSClassesConfig($number) { <a name="l01305"></a>01305 <a name="l01306"></a>01306 <span class="comment">// Build JS array of lists of classes</span> <a name="l01307"></a>01307 $classesTagList = 'classesCharacter, classesParagraph, classesImage, classesTable, classesLinks, classesTD'; <a name="l01308"></a>01308 $classesTagConvert = array( 'classesCharacter' => 'span', 'classesParagraph' => <span class="charliteral">'p'</span>, 'classesImage' => 'img', 'classesTable' => 'table', 'classesLinks' => <span class="charliteral">'a'</span>, 'classesTD' => 'td'); <a name="l01309"></a>01309 $classesTagArray = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span> , $classesTagList); <a name="l01310"></a>01310 $registerRTEinJSString = ' <a name="l01311"></a>01311 RTEarea['.$number.'][<span class="stringliteral">"classesTag"</span>] = <span class="keyword">new</span> Array();'; <a name="l01312"></a>01312 <span class="keywordflow">while</span>( list(,$classesTagName) = each($classesTagArray)) { <a name="l01313"></a>01313 $HTMLAreaJSClasses = ($this->thisConfig[$classesTagName])?(<span class="charliteral">'"'</span> . $this->cleanList($this->thisConfig[$classesTagName]) . '<span class="stringliteral">";'):'null;';</span> <a name="l01314"></a>01314 <span class="stringliteral"> $registerRTEinJSString .= '</span> <a name="l01315"></a>01315 <span class="stringliteral"> RTEarea['.$number.']["</span>classesTag<span class="stringliteral">"]["</span>'. $classesTagConvert[$classesTagName] .'<span class="stringliteral">"] = '. $HTMLAreaJSClasses;</span> <a name="l01316"></a>01316 <span class="stringliteral"> }</span> <a name="l01317"></a>01317 <span class="stringliteral"> </span> <a name="l01318"></a>01318 <span class="stringliteral"> // Include JS arrays of configured classes</span> <a name="l01319"></a>01319 <span class="stringliteral"> $registerRTEinJSString .= '</span> <a name="l01320"></a>01320 <span class="stringliteral"> RTEarea['.$number.']["</span>classesUrl<span class="stringliteral">"] = "</span>' . $this->hostURL . $this->buildJSFile('classes_'.$this->contentLanguageUid, $this->buildJSClassesArray()) . '<span class="stringliteral">";';</span> <a name="l01321"></a>01321 <span class="stringliteral"> </span> <a name="l01322"></a>01322 <span class="stringliteral"> return $registerRTEinJSString;</span> <a name="l01323"></a>01323 <span class="stringliteral"> }</span> <a name="l01324"></a>01324 <span class="stringliteral"> </span> <a name="l01330"></a><a class="code" href="classtx__rtehtmlarea__base.html#5e349406cfbfb1b39763c22b74c9750f">01330</a> <span class="stringliteral"> function buildJSClassesArray() {</span> <a name="l01331"></a>01331 <span class="stringliteral"> global $TSFE, $LANG, $TYPO3_CONF_VARS;</span> <a name="l01332"></a>01332 <span class="stringliteral"> </span> <a name="l01333"></a>01333 <span class="stringliteral"> if (is_object($TSFE)) {</span> <a name="l01334"></a>01334 <span class="stringliteral"> $RTEProperties = $this->RTEsetup;</span> <a name="l01335"></a>01335 <span class="stringliteral"> } else {</span> <a name="l01336"></a>01336 <span class="stringliteral"> $RTEProperties = $this->RTEsetup['properties'];</span> <a name="l01337"></a>01337 <span class="stringliteral"> }</span> <a name="l01338"></a>01338 <span class="stringliteral"> </span> <a name="l01339"></a>01339 <span class="stringliteral"> $linebreak = $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10);</span> <a name="l01340"></a>01340 <span class="stringliteral"> $index = 0;</span> <a name="l01341"></a>01341 <span class="stringliteral"> $JSClassesLabelsArray = 'HTMLArea.classesLabels = { ' . $linebreak;</span> <a name="l01342"></a>01342 <span class="stringliteral"> $JSClassesValuesArray = 'HTMLArea.classesValues = { ' . $linebreak;</span> <a name="l01343"></a>01343 <span class="stringliteral"> $JSClassesNoShowArray = 'HTMLArea.classesNoShow = { ' . $linebreak;</span> <a name="l01344"></a>01344 <span class="stringliteral"> </span> <a name="l01345"></a>01345 <span class="stringliteral"> // Scanning the list of classes if specified in the RTE config</span> <a name="l01346"></a>01346 <span class="stringliteral"> if (is_array($RTEProperties['classes.'])) {</span> <a name="l01347"></a>01347 <span class="stringliteral"> $stylesheet = '';</span> <a name="l01348"></a>01348 <span class="stringliteral"> reset($RTEProperties['classes.']);</span> <a name="l01349"></a>01349 <span class="stringliteral"> while(list($className,$conf)=each($RTEProperties['classes.'])) {</span> <a name="l01350"></a>01350 <span class="stringliteral"> $className = substr($className,0,-1);</span> <a name="l01351"></a>01351 <span class="stringliteral"> if (is_object($TSFE)) {</span> <a name="l01352"></a>01352 <span class="stringliteral"> $string = $TSFE->csConvObj->conv($TSFE->sL(trim($conf['name'])), $TSFE->renderCharset, $TSFE->metaCharset);</span> <a name="l01353"></a>01353 <span class="stringliteral"> $string = str_replace('"</span>', <span class="charliteral">'\"'</span>, str_replace('\\\'', <span class="charliteral">'\''</span>, $string)); <a name="l01354"></a>01354 $string = $this->feJScharCode($string); <a name="l01355"></a>01355 } <span class="keywordflow">else</span> { <a name="l01356"></a>01356 $string = $this->getLLContent(trim($conf['name'])); <a name="l01357"></a>01357 } <a name="l01358"></a>01358 $JSClassesLabelsArray .= (($index)?<span class="charliteral">','</span>:'') . <span class="charliteral">'"'</span> . $className . '<span class="stringliteral">": ' . $string . $linebreak;</span> <a name="l01359"></a>01359 <span class="stringliteral"> $JSClassesValuesArray .= (($index)?',':'') . '"</span>' . $className . '<span class="stringliteral">":"</span>' . str_replace(<span class="charliteral">'"'</span>, <span class="charliteral">'\"'</span>, str_replace('\\\'', <span class="charliteral">'\''</span>, $conf['value'])) . <span class="charliteral">'"'</span> . $linebreak; <a name="l01360"></a>01360 $JSClassesNoShowArray .= (($index)?<span class="charliteral">','</span>:'') . <span class="charliteral">'"'</span> . $className . '<span class="stringliteral">":' . ($conf['noShow']?'true':'false') . $linebreak;</span> <a name="l01361"></a>01361 <span class="stringliteral"> $index++;</span> <a name="l01362"></a>01362 <span class="stringliteral"> }</span> <a name="l01363"></a>01363 <span class="stringliteral"> }</span> <a name="l01364"></a>01364 <span class="stringliteral"> $JSClassesLabelsArray .= '};' . $linebreak;</span> <a name="l01365"></a>01365 <span class="stringliteral"> $JSClassesValuesArray .= '};' . $linebreak;</span> <a name="l01366"></a>01366 <span class="stringliteral"> $JSClassesNoShowArray .= '};' . $linebreak;</span> <a name="l01367"></a>01367 <span class="stringliteral"> </span> <a name="l01368"></a>01368 <span class="stringliteral"> return $JSClassesLabelsArray . $JSClassesValuesArray . $JSClassesNoShowArray;</span> <a name="l01369"></a>01369 <span class="stringliteral"> }</span> <a name="l01370"></a>01370 <span class="stringliteral"> </span> <a name="l01376"></a><a class="code" href="classtx__rtehtmlarea__base.html#7ff7dff33a68186e645190159cd3a370">01376</a> <span class="stringliteral"> function buildJSMainLangArray() { </span> <a name="l01377"></a>01377 <span class="stringliteral"> global $TSFE, $LANG, $TYPO3_CONF_VARS;</span> <a name="l01378"></a>01378 <span class="stringliteral"> </span> <a name="l01379"></a>01379 <span class="stringliteral"> $linebreak = $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10);</span> <a name="l01380"></a>01380 <span class="stringliteral"> $JSLanguageArray .= 'var HTMLArea_langArray = new Array();' . $linebreak;</span> <a name="l01381"></a>01381 <span class="stringliteral"> $JSLanguageArray .= 'HTMLArea_langArray = { ' . $linebreak;</span> <a name="l01382"></a>01382 <span class="stringliteral"> if(is_object($TSFE)) {</span> <a name="l01383"></a>01383 <span class="stringliteral"> $JSLanguageArray = $TSFE->csConvObj->conv($JSLanguageArray, 'iso-8859-1', $this->OutputCharset);</span> <a name="l01384"></a>01384 <span class="stringliteral"> } else {</span> <a name="l01385"></a>01385 <span class="stringliteral"> $JSLanguageArray = $LANG->csConvObj->conv($JSLanguageArray, 'iso-8859-1', $this->OutputCharset);</span> <a name="l01386"></a>01386 <span class="stringliteral"> }</span> <a name="l01387"></a>01387 <span class="stringliteral"></span> <a name="l01388"></a>01388 <span class="stringliteral"> $subArrays = array( 'tooltips', 'msg' , 'dialogs');</span> <a name="l01389"></a>01389 <span class="stringliteral"> $subArraysIndex = 0;</span> <a name="l01390"></a>01390 <span class="stringliteral"> foreach($subArrays as $labels) {</span> <a name="l01391"></a>01391 <span class="stringliteral"> $JSLanguageArray .= (($subArraysIndex++)?',':'') . $labels . ': {' . $linebreak;</span> <a name="l01392"></a>01392 <span class="stringliteral"> if(is_object($TSFE)) {</span> <a name="l01393"></a>01393 <span class="stringliteral"> $LOCAL_LANG = $TSFE->readLLfile(t3lib_extMgm::extPath($this->ID).'htmlarea/locallang_' . $labels . '.xml', $this->language);</span> <a name="l01394"></a>01394 <span class="stringliteral"> $TSFE->csConvObj->convArray($LOCAL_LANG['default'], 'iso-8859-1', $this->OutputCharset);</span> <a name="l01395"></a>01395 <span class="stringliteral"> if(!empty($LOCAL_LANG[$this->language])) $TSFE->csConvObj->convArray($LOCAL_LANG[$this->language], $this->charset, $this->OutputCharset);</span> <a name="l01396"></a>01396 <span class="stringliteral"> } else {</span> <a name="l01397"></a>01397 <span class="stringliteral"> $LOCAL_LANG = $LANG->readLLfile(t3lib_extMgm::extPath($this->ID).'htmlarea/locallang_' . $labels . '.xml');</span> <a name="l01398"></a>01398 <span class="stringliteral"> $LANG->csConvObj->convArray($LOCAL_LANG['default'], 'iso-8859-1', $this->OutputCharset);</span> <a name="l01399"></a>01399 <span class="stringliteral"> if(!empty($LOCAL_LANG[$this->language])) $LANG->csConvObj->convArray($LOCAL_LANG[$this->language], $this->charset, $this->OutputCharset);</span> <a name="l01400"></a>01400 <span class="stringliteral"> }</span> <a name="l01401"></a>01401 <span class="stringliteral"> if(!empty($LOCAL_LANG[$this->language])) {</span> <a name="l01402"></a>01402 <span class="stringliteral"> $LOCAL_LANG[$this->language] = t3lib_div::array_merge_recursive_overrule($LOCAL_LANG['default'], $LOCAL_LANG[$this->language]);</span> <a name="l01403"></a>01403 <span class="stringliteral"> } else {</span> <a name="l01404"></a>01404 <span class="stringliteral"> $LOCAL_LANG[$this->language] = $LOCAL_LANG['default'];</span> <a name="l01405"></a>01405 <span class="stringliteral"> }</span> <a name="l01406"></a>01406 <span class="stringliteral"> $index = 0;</span> <a name="l01407"></a>01407 <span class="stringliteral"> foreach ( $LOCAL_LANG[$this->language] as $labelKey => $labelValue ) {</span> <a name="l01408"></a>01408 <span class="stringliteral"> $JSLanguageArray .= (($index++)?',':'') . '"</span>' . $labelKey . '<span class="stringliteral">":"</span>' . str_replace(<span class="charliteral">'"'</span>, <span class="charliteral">'\"'</span>, $labelValue) . <span class="charliteral">'"'</span> . $linebreak; <a name="l01409"></a>01409 } <a name="l01410"></a>01410 <span class="keywordflow">if</span>(is_object($TSFE)) { <a name="l01411"></a>01411 $JSLanguageArray .= $TSFE->csConvObj->conv(' }' . chr(10), 'iso-8859-1', $this->OutputCharset); <a name="l01412"></a>01412 } <span class="keywordflow">else</span> { <a name="l01413"></a>01413 $JSLanguageArray .= $LANG->csConvObj->conv(' }' . chr(10), 'iso-8859-1', $this->OutputCharset); <a name="l01414"></a>01414 } <a name="l01415"></a>01415 } <a name="l01416"></a>01416 <a name="l01417"></a>01417 <span class="keywordflow">if</span>(is_object($TSFE)) { <a name="l01418"></a>01418 $JSLanguageArray .= $TSFE->csConvObj->conv(' }' . chr(10), 'iso-8859-1', $this->OutputCharset); <a name="l01419"></a>01419 } <span class="keywordflow">else</span> { <a name="l01420"></a>01420 $JSLanguageArray .= $LANG->csConvObj->conv(' }' . chr(10), 'iso-8859-1', $this->OutputCharset); <a name="l01421"></a>01421 } <a name="l01422"></a>01422 <span class="keywordflow">return</span> $JSLanguageArray; <a name="l01423"></a>01423 } <a name="l01424"></a>01424 <a name="l01431"></a><a class="code" href="classtx__rtehtmlarea__base.html#0805cb62f1728bdcc100ed46227ec668">01431</a> function buildJSAcronymArray() { <a name="l01432"></a>01432 global $TYPO3_CONF_VARS, $TYPO3_DB; <a name="l01433"></a>01433 <a name="l01434"></a>01434 $linebreak = $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10); <a name="l01435"></a>01435 $acronymIndex = 0; <a name="l01436"></a>01436 $abbraviationIndex = 0; <a name="l01437"></a>01437 $JSAcronymArray .= 'acronyms = { ' . $linebreak; <a name="l01438"></a>01438 $JSAbbreviationArray .= 'abbreviations = { ' . $linebreak; <a name="l01439"></a>01439 $table = '<a class="code" href="classtx__rtehtmlarea__acronym.html">tx_rtehtmlarea_acronym</a>'; <a name="l01440"></a>01440 <span class="keywordflow">if</span>($this->contentLanguageUid > -1) { <a name="l01441"></a>01441 $whereClause = '(sys_language_uid=<span class="stringliteral">"'.$this->contentLanguageUid . '"</span> OR sys_language_uid=<span class="stringliteral">"-1"</span>)'; <a name="l01442"></a>01442 } <span class="keywordflow">else</span> { <a name="l01443"></a>01443 $whereClause = '1 = 1'; <a name="l01444"></a>01444 } <a name="l01445"></a>01445 $whereClause .= <a class="code" href="classt3lib__BEfunc.html#42f992f0cfde88dc98b4761d89df588b">t3lib_BEfunc::BEenableFields</a>($table); <a name="l01446"></a>01446 $whereClause .= <a class="code" href="classt3lib__BEfunc.html#16c74b2f662fa4157494b0e9caacaefb">t3lib_BEfunc::deleteClause</a>($table); <a name="l01447"></a>01447 $res = $TYPO3_DB->exec_SELECTquery('type,term,acronym', $table, $whereClause); <a name="l01448"></a>01448 <span class="keywordflow">while</span>($acronymRow = $TYPO3_DB->sql_fetch_assoc($res)) { <a name="l01449"></a>01449 <span class="keywordflow">if</span>($acronymRow['type'] == 1) $JSAcronymArray .= (($acronymIndex++)?<span class="charliteral">','</span>:'') . <span class="charliteral">'"'</span> . $acronymRow['acronym'] . '<span class="stringliteral">":"</span>' . $acronymRow['term'] . <span class="charliteral">'"'</span> . $linebreak; <a name="l01450"></a>01450 <span class="keywordflow">if</span>($acronymRow['type'] == 2) $JSAbbreviationArray .= (($AbbreviationIndex++)?<span class="charliteral">','</span>:'') . <span class="charliteral">'"'</span> . $acronymRow['acronym'] . '<span class="stringliteral">":"</span>' . $acronymRow['term'] . <span class="charliteral">'"'</span> . $linebreak; <a name="l01451"></a>01451 } <a name="l01452"></a>01452 $JSAcronymArray .= '};' . $linebreak; <a name="l01453"></a>01453 $JSAbbreviationArray .= '};' . $linebreak; <a name="l01454"></a>01454 <a name="l01455"></a>01455 <span class="keywordflow">return</span> $JSAcronymArray . $JSAbbreviationArray; <a name="l01456"></a>01456 } <a name="l01457"></a>01457 <a name="l01463"></a><a class="code" href="classtx__rtehtmlarea__base.html#a7d5d5b42351e272854b118de1e31846">01463</a> function buildJSClassesAnchorConfig($number) { <a name="l01464"></a>01464 global $TSFE; <a name="l01465"></a>01465 <a name="l01466"></a>01466 <span class="keywordflow">if</span> (is_object($TSFE)) { <a name="l01467"></a>01467 $RTEProperties = $this->RTEsetup; <a name="l01468"></a>01468 } <span class="keywordflow">else</span> { <a name="l01469"></a>01469 $RTEProperties = $this->RTEsetup['properties']; <a name="l01470"></a>01470 } <a name="l01471"></a>01471 <a name="l01472"></a>01472 $registerRTEinJSString = ''; <a name="l01473"></a>01473 <span class="keywordflow">if</span> (is_array($RTEProperties['classesAnchor.'])) { <a name="l01474"></a>01474 $registerRTEinJSString .= ' <a name="l01475"></a>01475 RTEarea['.$number.'][<span class="stringliteral">"classesAnchorUrl"</span>] = <span class="stringliteral">"' . $this->buildJSFile('classesAnchor_'.$this->contentLanguageUid, $this->buildJSClassesAnchorArray()) . '"</span>;'; <a name="l01476"></a>01476 } <a name="l01477"></a>01477 <span class="keywordflow">return</span> $registerRTEinJSString; <a name="l01478"></a>01478 } <a name="l01479"></a>01479 <a name="l01485"></a><a class="code" href="classtx__rtehtmlarea__base.html#6ffdd6586f1b0e7cf6354a16c540d713">01485</a> function buildJSClassesAnchorArray() { <a name="l01486"></a>01486 global $LANG, $TYPO3_CONF_VARS; <a name="l01487"></a>01487 <a name="l01488"></a>01488 $linebreak = $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10); <a name="l01489"></a>01489 $JSClassesAnchorArray .= 'editor.classesAnchorSetup = [ ' . $linebreak; <a name="l01490"></a>01490 $classesAnchorIndex = 0; <a name="l01491"></a>01491 reset($this->RTEsetup['properties']['classesAnchor.']); <a name="l01492"></a>01492 <span class="keywordflow">while</span>(list($label,$conf)=each($this->RTEsetup['properties']['classesAnchor.'])) { <a name="l01493"></a>01493 <span class="keywordflow">if</span> (is_array($conf) && $conf['<span class="keyword">class</span>']) { <a name="l01494"></a>01494 $JSClassesAnchorArray .= (($classesAnchorIndex++)?<span class="charliteral">','</span>:'') . ' { ' . $linebreak; <a name="l01495"></a>01495 $index = 0; <a name="l01496"></a>01496 $JSClassesAnchorArray .= (($index++)?<span class="charliteral">','</span>:'') . 'name : <span class="stringliteral">"' . $conf['class'] . '"</span>' . $linebreak; <a name="l01497"></a>01497 <span class="keywordflow">if</span> ($conf['type']) { <a name="l01498"></a>01498 $JSClassesAnchorArray .= (($index++)?<span class="charliteral">','</span>:'') . 'type : <span class="stringliteral">"' . $conf['type'] . '"</span>' . $linebreak; <a name="l01499"></a>01499 } <a name="l01500"></a>01500 <span class="keywordflow">if</span> (trim(str_replace(<span class="charliteral">'\''</span>, '', str_replace(<span class="charliteral">'"'</span>, '', $conf['image'])))) { <a name="l01501"></a>01501 $JSClassesAnchorArray .= (($index++)?<span class="charliteral">','</span>:'') . 'image : <span class="stringliteral">"' . $this->getFullFileName(trim(str_replace('\'', '', str_replace('"</span>', '', $conf['image'])))) . <span class="charliteral">'"'</span> . $linebreak; <a name="l01502"></a>01502 } <a name="l01503"></a>01503 <span class="keywordflow">if</span> (trim($conf['altText'])) { <a name="l01504"></a>01504 $string = $this->getLLContent(trim($conf['altText'])); <a name="l01505"></a>01505 $JSClassesAnchorArray .= (($index++)?<span class="charliteral">','</span>:'') . 'altText : ' . str_replace(<span class="charliteral">'"'</span>, <span class="charliteral">'\"'</span>, str_replace('\\\'', <span class="charliteral">'\''</span>, $string)) . $linebreak; <a name="l01506"></a>01506 } <a name="l01507"></a>01507 <span class="keywordflow">if</span> (trim($conf['titleText'])) { <a name="l01508"></a>01508 $string = $this->getLLContent(trim($conf['titleText'])); <a name="l01509"></a>01509 $JSClassesAnchorArray .= (($index++)?<span class="charliteral">','</span>:'') . 'titleText : ' . str_replace(<span class="charliteral">'"'</span>, <span class="charliteral">'\"'</span>, str_replace('\\\'', <span class="charliteral">'\''</span>, $string)) . $linebreak; <a name="l01510"></a>01510 } <a name="l01511"></a>01511 $JSClassesAnchorArray .= <span class="charliteral">'}'</span> . $linebreak; <a name="l01512"></a>01512 } <a name="l01513"></a>01513 } <a name="l01514"></a>01514 $JSClassesAnchorArray .= '];' . $linebreak; <a name="l01515"></a>01515 <span class="keywordflow">return</span> $JSClassesAnchorArray; <a name="l01516"></a>01516 } <a name="l01517"></a>01517 <a name="l01524"></a><a class="code" href="classtx__rtehtmlarea__base.html#bdfca6278322fa9da4216bbbfd39a115">01524</a> function buildJSFile($label,$contents,$ext='js') { <a name="l01525"></a>01525 $relFilename = 'typo3temp/' . $this->ID . <span class="charliteral">'_'</span> . $label . <span class="charliteral">'_'</span> . md5($contents) . <span class="charliteral">'.'</span> . $ext; <a name="l01526"></a>01526 $outputFilename = PATH_site . $relFilename; <a name="l01527"></a>01527 <span class="keywordflow">if</span>(!file_exists($outputFilename)) { <a name="l01528"></a>01528 $outputHandle = fopen($outputFilename,'wb'); <a name="l01529"></a>01529 fwrite($outputHandle, $contents); <a name="l01530"></a>01530 fclose($outputHandle); <a name="l01531"></a>01531 <a class="code" href="classt3lib__div.html#4fcc6c8fa7206e9f7e0b298c38711ef7">t3lib_div::fixPermissions</a>($outputFilename); <a name="l01532"></a>01532 } <a name="l01533"></a>01533 <span class="keywordflow">return</span> $this->httpTypo3Path . $relFilename; <a name="l01534"></a>01534 } <a name="l01535"></a>01535 <a name="l01542"></a><a class="code" href="classtx__rtehtmlarea__base.html#4f50897a6a31d6cb79c0aa26dd7a0d54">01542</a> function writeJSFileToTypo3tempDir($JSFile,$label,$compressed=FALSE,$ext='js') { <a name="l01543"></a>01543 global $TYPO3_CONF_VARS; <a name="l01544"></a>01544 <a name="l01545"></a>01545 $source = <a class="code" href="classt3lib__div.html#ad5d27aeabb41e7f5ed6ddaf760de42a">t3lib_div::getFileAbsFileName</a>($JSFile); <a name="l01546"></a>01546 $relFilename = 'typo3temp/' . $this->ID . <span class="charliteral">'_'</span> . $label . <span class="charliteral">'_'</span> . md5($JSFile . $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['version']) . ($compressed ? '-compressed' : '') . <span class="charliteral">'.'</span> . $ext; <a name="l01547"></a>01547 $destination = PATH_site . $relFilename; <a name="l01548"></a>01548 <span class="keywordflow">if</span>(!file_exists($destination)) { <a name="l01549"></a>01549 @copy($source,$destination); <a name="l01550"></a>01550 <a class="code" href="classt3lib__div.html#4fcc6c8fa7206e9f7e0b298c38711ef7">t3lib_div::fixPermissions</a>($destination); <a name="l01551"></a>01551 } <a name="l01552"></a>01552 <span class="keywordflow">return</span> $this->httpTypo3Path . $relFilename; <a name="l01553"></a>01553 } <a name="l01554"></a>01554 <a name="l01561"></a><a class="code" href="classtx__rtehtmlarea__base.html#d4b4d3df975859ced2cabb5a39747679">01561</a> function buildJSMainLangFile($number) { <a name="l01562"></a>01562 $contents = $this->buildJSMainLangArray() . chr(10); <a name="l01563"></a>01563 $pluginArray = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this->pluginList , 1); <a name="l01564"></a>01564 <span class="keywordflow">while</span>( list(,$plugin) = each($pluginArray) ) { <a name="l01565"></a>01565 <span class="keywordflow">if</span> ($this->isPluginEnable($plugin) || (intval($number) > 1 && in_array($plugin, $this->pluginEnableArrayMultiple))) { <a name="l01566"></a>01566 $contents .= $this->buildJSLangArray($plugin) . chr(10); <a name="l01567"></a>01567 } <a name="l01568"></a>01568 } <a name="l01569"></a>01569 <span class="keywordflow">return</span> $this->buildJSFile($this-><a class="code" href="classlanguage.html">language</a>.<span class="charliteral">'_'</span>.$this->OutputCharset,$contents); <a name="l01570"></a>01570 } <a name="l01571"></a>01571 <a name="l01578"></a><a class="code" href="classtx__rtehtmlarea__base.html#d83414fc2dc1167cfdb2535b463cb5c3">01578</a> function buildJSLangArray($plugin) { <a name="l01579"></a>01579 global $TSFE, $LANG, $TYPO3_CONF_VARS; <a name="l01580"></a>01580 <a name="l01581"></a>01581 $linebreak = $TYPO3_CONF_VARS['EXTCONF'][$this->ID]['enableCompressedScripts'] ? '' : chr(10); <a name="l01582"></a>01582 <span class="keywordflow">if</span>(is_object($TSFE)) { <a name="l01583"></a>01583 $LOCAL_LANG = $TSFE->readLLfile(<a class="code" href="classt3lib__extMgm.html#f395b211d97293002bbf92c3802392f5">t3lib_extMgm::extPath</a>($this->ID).'htmlarea/plugins/' . $plugin . '/locallang.xml', $this->language); <a name="l01584"></a>01584 <span class="keywordflow">if</span>(!empty($LOCAL_LANG['<span class="keywordflow">default</span>'])) $TSFE->csConvObj->convArray($LOCAL_LANG['<span class="keywordflow">default</span>'], 'iso-8859-1', $this->OutputCharset); <a name="l01585"></a>01585 <span class="keywordflow">if</span>(!empty($LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>])) $TSFE->csConvObj->convArray($LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>], $this->charset, $this->OutputCharset); <a name="l01586"></a>01586 } <span class="keywordflow">else</span> { <a name="l01587"></a>01587 $LOCAL_LANG = $LANG->readLLfile(<a class="code" href="classt3lib__extMgm.html#f395b211d97293002bbf92c3802392f5">t3lib_extMgm::extPath</a>($this->ID).'htmlarea/plugins/' . $plugin . '/locallang.xml'); <a name="l01588"></a>01588 <span class="keywordflow">if</span>(!empty($LOCAL_LANG['<span class="keywordflow">default</span>'])) $LANG->csConvObj->convArray($LOCAL_LANG['<span class="keywordflow">default</span>'], 'iso-8859-1', $this->OutputCharset); <a name="l01589"></a>01589 <span class="keywordflow">if</span>(!empty($LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>])) $LANG->csConvObj->convArray($LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>], $this->charset, $this->OutputCharset); <a name="l01590"></a>01590 } <a name="l01591"></a>01591 <a name="l01592"></a>01592 <span class="keywordflow">if</span>(!empty($LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>])) { <a name="l01593"></a>01593 $LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>] = <a class="code" href="classt3lib__div.html#3830505faadac8ae3b0fcb60077a2bf1">t3lib_div::array_merge_recursive_overrule</a>($LOCAL_LANG['<span class="keywordflow">default</span>'],$LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>]); <a name="l01594"></a>01594 } <span class="keywordflow">else</span> { <a name="l01595"></a>01595 $LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>] = $LOCAL_LANG['<span class="keywordflow">default</span>']; <a name="l01596"></a>01596 } <a name="l01597"></a>01597 <a name="l01598"></a>01598 $JSLanguageArray .= 'var ' . $plugin . '_langArray = <span class="keyword">new</span> Array();' . $linebreak; <a name="l01599"></a>01599 $JSLanguageArray .= $plugin . '_langArray = {' . $linebreak; <a name="l01600"></a>01600 <span class="keywordflow">if</span>(is_object($TSFE)) { <a name="l01601"></a>01601 $JSLanguageArray = $TSFE->csConvObj->conv($JSLanguageArray, 'iso-8859-1', $this->OutputCharset); <a name="l01602"></a>01602 } <span class="keywordflow">else</span> { <a name="l01603"></a>01603 $JSLanguageArray = $LANG->csConvObj->conv($JSLanguageArray, 'iso-8859-1', $this->OutputCharset); <a name="l01604"></a>01604 } <a name="l01605"></a>01605 <a name="l01606"></a>01606 $index = 0; <a name="l01607"></a>01607 foreach ( $LOCAL_LANG[$this-><a class="code" href="classlanguage.html">language</a>] as $labelKey => $labelValue ) { <a name="l01608"></a>01608 $JSLanguageArray .= (($index++)?<span class="charliteral">','</span>:'') . <span class="charliteral">'"'</span> . $labelKey . '<span class="stringliteral">":"</span>' . str_replace(<span class="charliteral">'"'</span>, <span class="charliteral">'\"'</span>, $labelValue) . <span class="charliteral">'"'</span> . $linebreak; <a name="l01609"></a>01609 } <a name="l01610"></a>01610 <a name="l01611"></a>01611 <span class="keywordflow">if</span>(is_object($TSFE)) { <a name="l01612"></a>01612 $JSLanguageArray .= $TSFE->csConvObj->conv(' }' . chr(10), 'iso-8859-1', $this->OutputCharset); <a name="l01613"></a>01613 } <span class="keywordflow">else</span> { <a name="l01614"></a>01614 $JSLanguageArray .= $LANG->csConvObj->conv(' }' . chr(10), 'iso-8859-1', $this->OutputCharset); <a name="l01615"></a>01615 } <a name="l01616"></a>01616 <a name="l01617"></a>01617 <span class="keywordflow">return</span> $JSLanguageArray; <a name="l01618"></a>01618 } <a name="l01619"></a>01619 <a name="l01626"></a><a class="code" href="classtx__rtehtmlarea__base.html#e554ed866072f0377e9bd011b6797aae">01626</a> function getJSToolbarArray() { <a name="l01627"></a>01627 $toolbar = ''; <span class="comment">// The JS-Code for the toolbar</span> <a name="l01628"></a>01628 $group = ''; <span class="comment">// The TS-Code for the group in the moment, each group are between "bar"s</span> <a name="l01629"></a>01629 $group_has_button = <span class="keyword">false</span>; <span class="comment">// True if the group has any enabled buttons</span> <a name="l01630"></a>01630 $group_needs_starting_bar = <span class="keyword">false</span>; <a name="l01631"></a>01631 $previous_is_space = <span class="keyword">false</span>; <a name="l01632"></a>01632 <a name="l01633"></a>01633 <span class="comment">// process each button in the order list</span> <a name="l01634"></a>01634 reset($this->toolbarOrderArray); <a name="l01635"></a>01635 <span class="keywordflow">while</span> (list(, $button) = each($this->toolbarOrderArray) ) { <a name="l01636"></a>01636 <span class="comment">// check if a new group starts</span> <a name="l01637"></a>01637 <span class="keywordflow">if</span> (($button == 'bar' || $button == 'linebreak') && $group_has_button) { <a name="l01638"></a>01638 <span class="comment">// New line</span> <a name="l01639"></a>01639 <span class="keywordflow">if</span> ($button == 'linebreak') { <a name="l01640"></a>01640 $convertButton = <span class="charliteral">'"'</span> . $this->convertToolBarForHTMLArea('linebreak') . <span class="charliteral">'"'</span>; <a name="l01641"></a>01641 $group = ($group!='') ? ($group . ', ' . $convertButton) : $convertButton; <a name="l01642"></a>01642 } <a name="l01643"></a>01643 <span class="comment">// New group</span> <a name="l01644"></a>01644 $toolbar .= $toolbar ? (', ' . $group) : ('[[' . $group); <a name="l01645"></a>01645 $group = ''; <a name="l01646"></a>01646 $previous_is_space = <span class="keyword">false</span>; <a name="l01647"></a>01647 $group_has_button = <span class="keyword">false</span>; <a name="l01648"></a>01648 $group_needs_starting_bar = <span class="keyword">true</span>; <a name="l01649"></a>01649 } elseif ($toolbar && $button == 'linebreak' && !$group_has_button) { <a name="l01650"></a>01650 <span class="comment">// Insert linebreak if no group is opened</span> <a name="l01651"></a>01651 $group = ''; <a name="l01652"></a>01652 $previous_is_space = <span class="keyword">false</span>; <a name="l01653"></a>01653 $group_needs_starting_bar = <span class="keyword">false</span>; <a name="l01654"></a>01654 $toolbar .= ', <span class="stringliteral">"' . $this->convertToolBarForHTMLArea($button) . '"</span>'; <a name="l01655"></a>01655 } elseif ($button == 'bar' && !$group_has_button) { <a name="l01656"></a>01656 $group_needs_starting_bar = <span class="keyword">true</span>; <a name="l01657"></a>01657 } elseif ($button == 'space' && $group_has_button && !$previous_is_space) { <a name="l01658"></a>01658 $convertButton = $this->convertToolBarForHTMLArea($button); <a name="l01659"></a>01659 $convertButton = <span class="charliteral">'"'</span> . $convertButton . <span class="charliteral">'"'</span>; <a name="l01660"></a>01660 $group .= $group ? (', ' . $convertButton) : ($group_needs_starting_bar ? (<span class="charliteral">'"'</span> . $this->convertToolBarForHTMLArea('bar') . '<span class="stringliteral">", ' . $convertButton) : $convertButton);</span> <a name="l01661"></a>01661 <span class="stringliteral"> $group_needs_starting_bar = false;</span> <a name="l01662"></a>01662 <span class="stringliteral"> $previous_is_space = true;</span> <a name="l01663"></a>01663 <span class="stringliteral"> } elseif (in_array($button, $this->toolBar)) {</span> <a name="l01664"></a>01664 <span class="stringliteral"> // Add the button to the group</span> <a name="l01665"></a>01665 <span class="stringliteral"> $convertButton = $this->convertToolBarForHTMLArea($button);</span> <a name="l01666"></a>01666 <span class="stringliteral"> if ($convertButton) {</span> <a name="l01667"></a>01667 <span class="stringliteral"> $convertButton = '"</span>' . $convertButton . <span class="charliteral">'"'</span>; <a name="l01668"></a>01668 $group .= $group ? (', ' . $convertButton) : ($group_needs_starting_bar ? (<span class="charliteral">'"'</span> . $this->convertToolBarForHTMLArea('bar') . '<span class="stringliteral">", ' . $convertButton) : $convertButton);</span> <a name="l01669"></a>01669 <span class="stringliteral"> $group_has_button = true;</span> <a name="l01670"></a>01670 <span class="stringliteral"> $group_needs_starting_bar = false;</span> <a name="l01671"></a>01671 <span class="stringliteral"> $previous_is_space = false;</span> <a name="l01672"></a>01672 <span class="stringliteral"> }</span> <a name="l01673"></a>01673 <span class="stringliteral"> }</span> <a name="l01674"></a>01674 <span class="stringliteral"> // else ignore</span> <a name="l01675"></a>01675 <span class="stringliteral"> }</span> <a name="l01676"></a>01676 <span class="stringliteral"> // add the last group</span> <a name="l01677"></a>01677 <span class="stringliteral"> if($group_has_button) $toolbar .= $toolbar ? (', ' . $group) : ('[[' . $group);</span> <a name="l01678"></a>01678 <span class="stringliteral"> $toolbar = $toolbar . ']]';</span> <a name="l01679"></a>01679 <span class="stringliteral"> return $toolbar;</span> <a name="l01680"></a>01680 <span class="stringliteral"> }</span> <a name="l01681"></a>01681 <span class="stringliteral"> </span> <a name="l01682"></a><a class="code" href="classtx__rtehtmlarea__base.html#b732fcd7ee1939b19d7fb3f287e9533e">01682</a> <span class="stringliteral"> function getLLContent($string) {</span> <a name="l01683"></a>01683 <span class="stringliteral"> global $LANG;</span> <a name="l01684"></a>01684 <span class="stringliteral"> </span> <a name="l01685"></a>01685 <span class="stringliteral"> $BE_lang = $LANG->lang;</span> <a name="l01686"></a>01686 <span class="stringliteral"> $BE_origCharset = $LANG->origCharSet;</span> <a name="l01687"></a>01687 <span class="stringliteral"> $BE_charSet = $LANG->charSet;</span> <a name="l01688"></a>01688 <span class="stringliteral"> $LANG->lang = $this->contentTypo3Language;</span> <a name="l01689"></a>01689 <span class="stringliteral"> $LANG->origCharSet = $this->origContentCharSet;</span> <a name="l01690"></a>01690 <span class="stringliteral"> $LANG->charSet = $this->contentCharset;</span> <a name="l01691"></a>01691 <span class="stringliteral"> $LLString = $LANG->JScharCode($LANG->sL($string));</span> <a name="l01692"></a>01692 <span class="stringliteral"> $LANG->lang = $BE_lang;</span> <a name="l01693"></a>01693 <span class="stringliteral"> $LANG->origCharSet = $BE_origCharset;</span> <a name="l01694"></a>01694 <span class="stringliteral"> $LANG->charSet = $BE_charSet;</span> <a name="l01695"></a>01695 <span class="stringliteral"> return $LLString;</span> <a name="l01696"></a>01696 <span class="stringliteral"> }</span> <a name="l01697"></a>01697 <span class="stringliteral"> </span> <a name="l01698"></a><a class="code" href="classtx__rtehtmlarea__base.html#a20ba5bd87b74a3cfa2d4e7aab44c423">01698</a> <span class="stringliteral"> function feJScharCode($str) {</span> <a name="l01699"></a>01699 <span class="stringliteral"> global $TSFE;</span> <a name="l01700"></a>01700 <span class="stringliteral"> // Convert string to UTF-8:</span> <a name="l01701"></a>01701 <span class="stringliteral"> if ($this->OutputCharset != 'utf-8') $str = $TSFE->csConvObj->utf8_encode($str,$this->OutputCharset);</span> <a name="l01702"></a>01702 <span class="stringliteral"> // Convert the UTF-8 string into a array of char numbers:</span> <a name="l01703"></a>01703 <span class="stringliteral"> $nArr = $TSFE->csConvObj->utf8_to_numberarray($str);</span> <a name="l01704"></a>01704 <span class="stringliteral"> return 'String.fromCharCode('.implode(',',$nArr).')';</span> <a name="l01705"></a>01705 <span class="stringliteral"> }</span> <a name="l01706"></a>01706 <span class="stringliteral"> </span> <a name="l01707"></a><a class="code" href="classtx__rtehtmlarea__base.html#523d5d0cc8495cb603db0e322bb02fca">01707</a> <span class="stringliteral"> function getFullFileName($filename) {</span> <a name="l01708"></a>01708 <span class="stringliteral"> if (substr($filename,0,4)=='EXT:') { // extension</span> <a name="l01709"></a>01709 <span class="stringliteral"> list($extKey,$local) = explode('/',substr($filename,4),2);</span> <a name="l01710"></a>01710 <span class="stringliteral"> $newFilename = '';</span> <a name="l01711"></a>01711 <span class="stringliteral"> if (strcmp($extKey,'') && t3lib_extMgm::isLoaded($extKey) && strcmp($local,'')) {</span> <a name="l01712"></a>01712 <span class="stringliteral"> $newFilename = $this->siteURL . t3lib_extMgm::siteRelPath($extKey) . $local;</span> <a name="l01713"></a>01713 <span class="stringliteral"> }</span> <a name="l01714"></a>01714 <span class="stringliteral"> } elseif (substr($filename,0,1) != '/') {</span> <a name="l01715"></a>01715 <span class="stringliteral"> $newFilename = $this->siteURL . $filename;</span> <a name="l01716"></a>01716 <span class="stringliteral"> } else {</span> <a name="l01717"></a>01717 <span class="stringliteral"> $newFilename = $this->siteURL . substr($filename,1);</span> <a name="l01718"></a>01718 <span class="stringliteral"> }</span> <a name="l01719"></a>01719 <span class="stringliteral"> return $newFilename;</span> <a name="l01720"></a>01720 <span class="stringliteral"> }</span> <a name="l01721"></a>01721 <span class="stringliteral"></span> <a name="l01729"></a><a class="code" href="classtx__rtehtmlarea__base.html#c2f5222d9abe86e4731b1f54c465773f">01729</a> <span class="stringliteral"> function setSaveRTE($number, $form, $textarea) {</span> <a name="l01730"></a>01730 <span class="stringliteral"> return '</span> <a name="l01731"></a>01731 <span class="stringliteral"> editornumber = '.$number.';</span> <a name="l01732"></a>01732 <span class="stringliteral"> if (RTEarea[editornumber]) {</span> <a name="l01733"></a>01733 <span class="stringliteral"> document.'.$form.'["</span>'.$textarea.'<span class="stringliteral">"].value = RTEarea[editornumber]["</span>editor<span class="stringliteral">"].getHTML();</span> <a name="l01734"></a>01734 <span class="stringliteral"> }</span> <a name="l01735"></a>01735 <span class="stringliteral"> else {</span> <a name="l01736"></a>01736 <span class="stringliteral"> OK=0;</span> <a name="l01737"></a>01737 <span class="stringliteral"> }</span> <a name="l01738"></a>01738 <span class="stringliteral"> ';</span> <a name="l01739"></a>01739 <span class="stringliteral"> }</span> <a name="l01740"></a>01740 <span class="stringliteral"></span> <a name="l01750"></a><a class="code" href="classtx__rtehtmlarea__base.html#ede72882add32a9153b2933b004bac5c">01750</a> <span class="stringliteral"> function clientInfo($useragent='') {</span> <a name="l01751"></a>01751 <span class="stringliteral"> global $TYPO3_CONF_VARS;</span> <a name="l01752"></a>01752 <span class="stringliteral"> </span> <a name="l01753"></a>01753 <span class="stringliteral"> if (!$useragent) $useragent=t3lib_div::getIndpEnv('HTTP_USER_AGENT');</span> <a name="l01754"></a>01754 <span class="stringliteral"> </span> <a name="l01755"></a>01755 <span class="stringliteral"> $bInfo=array();</span> <a name="l01756"></a>01756 <span class="stringliteral"> // Which browser?</span> <a name="l01757"></a>01757 <span class="stringliteral"> if (strstr($useragent,'Konqueror')) {</span> <a name="l01758"></a>01758 <span class="stringliteral"> $bInfo['BROWSER']= 'konqu';</span> <a name="l01759"></a>01759 <span class="stringliteral"> } elseif (strstr($useragent,'Opera') && $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['opera_test'] == 1) {</span> <a name="l01760"></a>01760 <span class="stringliteral"> $bInfo['BROWSER']= 'opera';</span> <a name="l01761"></a>01761 <span class="stringliteral"> } elseif (strstr($useragent,'MSIE')) {</span> <a name="l01762"></a>01762 <span class="stringliteral"> $bInfo['BROWSER']= 'msie';</span> <a name="l01763"></a>01763 <span class="stringliteral"> } elseif (strstr($useragent,'Gecko/')) {</span> <a name="l01764"></a>01764 <span class="stringliteral"> $bInfo['BROWSER']='gecko';</span> <a name="l01765"></a>01765 <span class="stringliteral"> } elseif (strstr($useragent,'Safari/') && $TYPO3_CONF_VARS['EXTCONF']['rtehtmlarea']['safari_test'] == 1) {</span> <a name="l01766"></a>01766 <span class="stringliteral"> $bInfo['BROWSER']='safari';</span> <a name="l01767"></a>01767 <span class="stringliteral"> } elseif (strstr($useragent,'Mozilla/4')) {</span> <a name="l01768"></a>01768 <span class="stringliteral"> $bInfo['BROWSER']='net';</span> <a name="l01769"></a>01769 <span class="stringliteral"> }</span> <a name="l01770"></a>01770 <span class="stringliteral"></span> <a name="l01771"></a>01771 <span class="stringliteral"> if ($bInfo['BROWSER']) {</span> <a name="l01772"></a>01772 <span class="stringliteral"> // Browser version</span> <a name="l01773"></a>01773 <span class="stringliteral"> switch($bInfo['BROWSER']) {</span> <a name="l01774"></a>01774 <span class="stringliteral"> case 'net':</span> <a name="l01775"></a>01775 <span class="stringliteral"> $bInfo['VERSION']= doubleval(substr($useragent,8));</span> <a name="l01776"></a>01776 <span class="stringliteral"> if (strstr($useragent,'Netscape6/')) {$bInfo['VERSION']=doubleval(substr(strstr($useragent,'Netscape6/'),10));}</span> <a name="l01777"></a>01777 <span class="stringliteral"> if (strstr($useragent,'Netscape/7')) {$bInfo['VERSION']=doubleval(substr(strstr($useragent,'Netscape/7'),9));}</span> <a name="l01778"></a>01778 <span class="stringliteral"> break;</span> <a name="l01779"></a>01779 <span class="stringliteral"> case 'gecko':</span> <a name="l01780"></a>01780 <span class="stringliteral"> $tmp = strstr($useragent,'rv:');</span> <a name="l01781"></a>01781 <span class="stringliteral"> $bInfo['VERSION'] = doubleval(ereg_replace('^[^0-9]*','',substr($tmp,3)));</span> <a name="l01782"></a>01782 <span class="stringliteral"> break;</span> <a name="l01783"></a>01783 <span class="stringliteral"> case 'msie':</span> <a name="l01784"></a>01784 <span class="stringliteral"> $tmp = strstr($useragent,'MSIE');</span> <a name="l01785"></a>01785 <span class="stringliteral"> $bInfo['VERSION'] = doubleval(ereg_replace('^[^0-9]*','',substr($tmp,4)));</span> <a name="l01786"></a>01786 <span class="stringliteral"> break;</span> <a name="l01787"></a>01787 <span class="stringliteral"> case 'safari':</span> <a name="l01788"></a>01788 <span class="stringliteral"> $tmp = strstr($useragent,'Safari/');</span> <a name="l01789"></a>01789 <span class="stringliteral"> $bInfo['VERSION'] = doubleval(ereg_replace('^[^0-9]*','',substr($tmp,3)));</span> <a name="l01790"></a>01790 <span class="stringliteral"> break;</span> <a name="l01791"></a>01791 <span class="stringliteral"> case 'opera':</span> <a name="l01792"></a>01792 <span class="stringliteral"> $tmp = strstr($useragent,'Opera');</span> <a name="l01793"></a>01793 <span class="stringliteral"> $bInfo['VERSION'] = doubleval(ereg_replace('^[^0-9]*','',substr($tmp,5)));</span> <a name="l01794"></a>01794 <span class="stringliteral"> break;</span> <a name="l01795"></a>01795 <span class="stringliteral"> case 'konqu':</span> <a name="l01796"></a>01796 <span class="stringliteral"> $tmp = strstr($useragent,'Konqueror/');</span> <a name="l01797"></a>01797 <span class="stringliteral"> $bInfo['VERSION'] = doubleval(substr($tmp,10));</span> <a name="l01798"></a>01798 <span class="stringliteral"> break;</span> <a name="l01799"></a>01799 <span class="stringliteral"> }</span> <a name="l01800"></a>01800 <span class="stringliteral"></span> <a name="l01801"></a>01801 <span class="stringliteral"> // Client system</span> <a name="l01802"></a>01802 <span class="stringliteral"> if (strstr($useragent,'Win')) {</span> <a name="l01803"></a>01803 <span class="stringliteral"> $bInfo['SYSTEM'] = 'win';</span> <a name="l01804"></a>01804 <span class="stringliteral"> } elseif (strstr($useragent,'Mac')) {</span> <a name="l01805"></a>01805 <span class="stringliteral"> $bInfo['SYSTEM'] = 'mac';</span> <a name="l01806"></a>01806 <span class="stringliteral"> } elseif (strstr($useragent,'Linux') || strstr($useragent,'X11') || strstr($useragent,'SGI') || strstr($useragent,' SunOS ') || strstr($useragent,' HP-UX ')) {</span> <a name="l01807"></a>01807 <span class="stringliteral"> $bInfo['SYSTEM'] = 'unix';</span> <a name="l01808"></a>01808 <span class="stringliteral"> }</span> <a name="l01809"></a>01809 <span class="stringliteral"> }</span> <a name="l01810"></a>01810 <span class="stringliteral"></span> <a name="l01811"></a>01811 <span class="stringliteral"> // Is true if the browser supports css to format forms, especially the width</span> <a name="l01812"></a>01812 <span class="stringliteral"> $bInfo['FORMSTYLE']=($bInfo['BROWSER']=='msie' || ($bInfo['BROWSER']=='net'&&$bInfo['VERSION']>=5) || $bInfo['BROWSER']=='opera' || $bInfo['BROWSER']=='konqu');</span> <a name="l01813"></a>01813 <span class="stringliteral"> return $bInfo;</span> <a name="l01814"></a>01814 <span class="stringliteral"> }</span> <a name="l01815"></a>01815 <span class="stringliteral"></span> <a name="l01816"></a>01816 <span class="stringliteral"> /***************************</span> <a name="l01817"></a>01817 <span class="stringliteral"> *</span> <a name="l01818"></a>01818 <span class="stringliteral"> * OTHER FUNCTIONS: (from Classic RTE)</span> <a name="l01819"></a>01819 <span class="stringliteral"> *</span> <a name="l01820"></a>01820 <span class="stringliteral"> ***************************/</span> <a name="l01826"></a><a class="code" href="classtx__rtehtmlarea__base.html#1b3a1f4aa7302e5fb2f58b0851e04c7b">01826</a> <span class="stringliteral"> function RTEtsConfigParams() {</span> <a name="l01827"></a>01827 <span class="stringliteral"> global $TSFE;</span> <a name="l01828"></a>01828 <span class="stringliteral"> if(is_object($TSFE)) {</span> <a name="l01829"></a>01829 <span class="stringliteral"> return '';</span> <a name="l01830"></a>01830 <span class="stringliteral"> } else {</span> <a name="l01831"></a>01831 <span class="stringliteral"> $p = t3lib_BEfunc::getSpecConfParametersFromArray($this->specConf['rte_transform']['parameters']);</span> <a name="l01832"></a>01832 <span class="stringliteral"> return $this->elementParts[0].':'.$this->elementParts[1].':'.$this->elementParts[2].':'.$this->thePid.':'.$this->typeVal.':'.$this->tscPID.':'.$p['imgpath'];</span> <a name="l01833"></a>01833 <span class="stringliteral"> }</span> <a name="l01834"></a>01834 <span class="stringliteral"> }</span> <a name="l01835"></a>01835 <span class="stringliteral"></span> <a name="l01836"></a><a class="code" href="classtx__rtehtmlarea__base.html#bc34981eed5e9df43ffd4c84f5e0f9cf">01836</a> <span class="stringliteral"> function cleanList($str) {</span> <a name="l01837"></a>01837 <span class="stringliteral"> if (strstr($str,'*')) {</span> <a name="l01838"></a>01838 <span class="stringliteral"> $str = '*';</span> <a name="l01839"></a>01839 <span class="stringliteral"> } else {</span> <a name="l01840"></a>01840 <span class="stringliteral"> $str = implode(',',array_unique(t3lib_div::trimExplode(',',$str,1)));</span> <a name="l01841"></a>01841 <span class="stringliteral"> }</span> <a name="l01842"></a>01842 <span class="stringliteral"> return $str;</span> <a name="l01843"></a>01843 <span class="stringliteral"> }</span> <a name="l01844"></a>01844 <span class="stringliteral"> </span> <a name="l01845"></a><a class="code" href="classtx__rtehtmlarea__base.html#1a9664dfad47bd2049995b21e9a2619c">01845</a> <span class="stringliteral"> function filterStyleEl($elValue,$matchList) {</span> <a name="l01846"></a>01846 <span class="stringliteral"> $matchParts = t3lib_div::trimExplode(',',$matchList,1);</span> <a name="l01847"></a>01847 <span class="stringliteral"> $styleParts = explode(';',$elValue);</span> <a name="l01848"></a>01848 <span class="stringliteral"> $nStyle=array();</span> <a name="l01849"></a>01849 <span class="stringliteral"> while(list($k,$p)=each($styleParts)) {</span> <a name="l01850"></a>01850 <span class="stringliteral"> $pp = t3lib_div::trimExplode(':',$p);</span> <a name="l01851"></a>01851 <span class="stringliteral"> if ($pp[0]&&$pp[1]) {</span> <a name="l01852"></a>01852 <span class="stringliteral"> reset($matchParts);</span> <a name="l01853"></a>01853 <span class="stringliteral"> while(list(,$el)=each($matchParts)) {</span> <a name="l01854"></a>01854 <span class="stringliteral"> $star=substr($el,-1)=='*';</span> <a name="l01855"></a>01855 <span class="stringliteral"> if (!strcmp($pp[0],$el) || ($star && t3lib_div::isFirstPartOfStr($pp[0],substr($el,0,-1)) )) {</span> <a name="l01856"></a>01856 <span class="stringliteral"> $nStyle[]=$pp[0].':'.$pp[1];</span> <a name="l01857"></a>01857 <span class="stringliteral"> } else unset($styleParts[$k]);</span> <a name="l01858"></a>01858 <span class="stringliteral"> }</span> <a name="l01859"></a>01859 <span class="stringliteral"> } else {</span> <a name="l01860"></a>01860 <span class="stringliteral"> unset($styleParts[$k]);</span> <a name="l01861"></a>01861 <span class="stringliteral"> }</span> <a name="l01862"></a>01862 <span class="stringliteral"> }</span> <a name="l01863"></a>01863 <span class="stringliteral"> return implode('; ',$nStyle);</span> <a name="l01864"></a>01864 <span class="stringliteral"> }</span> <a name="l01865"></a>01865 <span class="stringliteral"> </span> <a name="l01866"></a>01866 <span class="stringliteral"> // Hook on lorem_ipsum extension to insert text into the RTE in wysiwyg mode</span> <a name="l01867"></a><a class="code" href="classtx__rtehtmlarea__base.html#d373746a4d4c20125d357991918fe371">01867</a> <span class="stringliteral"> function loremIpsumInsert($params) {</span> <a name="l01868"></a>01868 <span class="stringliteral"> return "</span> <a name="l01869"></a>01869 <span class="keywordflow">if</span> (typeof(lorem_ipsum) == 'function' && <span class="stringliteral">" . $params['element'] . "</span>.tagName.toLowerCase() == 'textarea' ) lorem_ipsum(<span class="stringliteral">" . $params['element'] . "</span>, lipsum_temp_strings[lipsum_temp_pointer]); <a name="l01870"></a>01870 <span class="stringliteral">";</span> <a name="l01871"></a>01871 <span class="stringliteral"> }</span> <a name="l01872"></a>01872 <span class="stringliteral">}</span> <a name="l01873"></a>01873 <span class="stringliteral"></span> <a name="l01874"></a>01874 <span class="stringliteral">if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/rtehtmlarea/class.tx_rtehtmlarea_base.php']) {</span> <a name="l01875"></a>01875 <span class="stringliteral"> include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/rtehtmlarea/class.tx_rtehtmlarea_base.php']);</span> <a name="l01876"></a>01876 <span class="stringliteral">}</span> <a name="l01877"></a>01877 <span class="stringliteral"></span> <a name="l01878"></a>01878 <span class="stringliteral">?></span> </pre></div><?php include_once '../doc-typo3-funcs.php'; get_footer(); ?>