<?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&nbsp;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&nbsp;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>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</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>&nbsp;&raquo&nbsp;<a class="el" href="dir_18071ae4545d8b3e0364d30c0659c74a.html">typo3</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_57bf1ed8249c1fd5b014486d01bcb27a.html">sysext</a>&nbsp;&raquo&nbsp;<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 &lt;?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 &lt;philipp.borgmann@gmx.de&gt;</span>
<a name="l00007"></a>00007 <span class="comment">*  (c) 2004, 2005, 2006 Stanislas Rolland &lt;stanislas.rolland(arobas)fructifor.ca&gt;</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' =&gt; array (
<a name="l00046"></a>00046                                 1 =&gt; array (
<a name="l00047"></a>00047                                         'version' =&gt; 5.5,
<a name="l00048"></a>00048                                         'system' =&gt; 'win'
<a name="l00049"></a>00049                                 )
<a name="l00050"></a>00050                         ),
<a name="l00051"></a>00051                         'gecko' =&gt; array (
<a name="l00052"></a>00052                                 1 =&gt; array (
<a name="l00053"></a>00053                                         'version' =&gt; 1.3
<a name="l00054"></a>00054                                 )
<a name="l00055"></a>00055                         ),
<a name="l00056"></a>00056                         'safari' =&gt; array (
<a name="l00057"></a>00057                                 1 =&gt; array (
<a name="l00058"></a>00058                                         'version' =&gt; 312
<a name="l00059"></a>00059                                 )
<a name="l00060"></a>00060                         ),
<a name="l00061"></a>00061                         'opera' =&gt; array (
<a name="l00062"></a>00062                                 1 =&gt; array (
<a name="l00063"></a>00063                                         'version' =&gt; 9,
<a name="l00064"></a>00064                                         'system' =&gt; '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' =&gt; 'htmlArea name'</span>
<a name="l00108"></a>00108                 'fontstyle'             =&gt; 'FontName',
<a name="l00109"></a>00109                 'fontsize'              =&gt; 'FontSize',
<a name="l00110"></a>00110                 'textcolor'             =&gt; 'ForeColor',
<a name="l00111"></a>00111                 'bgcolor'               =&gt; 'HiliteColor',
<a name="l00112"></a>00112                 'bold'                  =&gt; 'Bold',
<a name="l00113"></a>00113                 'italic'                =&gt; 'Italic',
<a name="l00114"></a>00114                 'underline'             =&gt; 'Underline',
<a name="l00115"></a>00115                 'left'                  =&gt; 'JustifyLeft',
<a name="l00116"></a>00116                 'center'                =&gt; 'JustifyCenter',
<a name="l00117"></a>00117                 'right'                 =&gt; 'JustifyRight',
<a name="l00118"></a>00118                 'orderedlist'           =&gt; 'InsertOrderedList',
<a name="l00119"></a>00119                 'unorderedlist'         =&gt; 'InsertUnorderedList',
<a name="l00120"></a>00120                 'outdent'               =&gt; 'Outdent',
<a name="l00121"></a>00121                 'indent'                =&gt; 'Indent',
<a name="l00122"></a>00122                 'emoticon'              =&gt; 'InsertSmiley',
<a name="l00123"></a>00123                 'line'                  =&gt; 'InsertHorizontalRule',
<a name="l00124"></a>00124                 'link'                  =&gt; 'CreateLink',
<a name="l00125"></a>00125                 'table'                 =&gt; 'InsertTable',
<a name="l00126"></a>00126                 'image'                 =&gt; 'InsertImage',
<a name="l00127"></a>00127                 'cut'                   =&gt; 'Cut',
<a name="l00128"></a>00128                 'copy'                  =&gt; 'Copy',
<a name="l00129"></a>00129                 'paste'                 =&gt; 'Paste',
<a name="l00130"></a>00130                 'formatblock'           =&gt; 'FormatBlock',
<a name="l00131"></a>00131                 'chMode'                =&gt; 'HtmlMode',
<a name="l00132"></a>00132                 'user'                  =&gt; 'UserElements',
<a name="l00133"></a>00133                 
<a name="l00134"></a>00134                         <span class="comment">// htmlArea extra buttons</span>
<a name="l00135"></a>00135                 'lefttoright'           =&gt; 'LeftToRight',
<a name="l00136"></a>00136                 'righttoleft'           =&gt; 'RightToLeft',
<a name="l00137"></a>00137                 'justifyfull'           =&gt; 'JustifyFull',
<a name="l00138"></a>00138                 'strikethrough'         =&gt; 'StrikeThrough',
<a name="l00139"></a>00139                 'superscript'           =&gt; 'Superscript',
<a name="l00140"></a>00140                 'subscript'             =&gt; 'Subscript',
<a name="l00141"></a>00141                 'showhelp'              =&gt; 'ShowHelp',
<a name="l00142"></a>00142                 'insertcharacter'       =&gt; 'InsertCharacter',
<a name="l00143"></a>00143                 'findreplace'           =&gt; 'FindReplace',
<a name="l00144"></a>00144                 'spellcheck'            =&gt; 'SpellCheck',
<a name="l00145"></a>00145                 'removeformat'          =&gt; 'RemoveFormat',
<a name="l00146"></a>00146                 'inserttag'             =&gt; 'InsertTag',
<a name="l00147"></a>00147                 'acronym'               =&gt; 'Acronym',
<a name="l00148"></a>00148                 'splitblock'            =&gt; 'SplitBlock',
<a name="l00149"></a>00149                 'blockstylelabel'       =&gt; 'I[style]',  
<a name="l00150"></a>00150                 'blockstyle'            =&gt; 'DynamicCSS-<span class="keyword">class</span>',
<a name="l00151"></a>00151                 'textstylelabel'        =&gt; 'I[text_style]',
<a name="l00152"></a>00152                 'textstyle'             =&gt; 'InlineCSS-<span class="keyword">class</span>',
<a name="l00153"></a>00153                 'toggleborders'         =&gt; 'TO-toggle-borders',
<a name="l00154"></a>00154                 'tableproperties'       =&gt; 'TO-table-prop',
<a name="l00155"></a>00155                 'rowproperties'         =&gt; 'TO-row-prop',
<a name="l00156"></a>00156                 'rowinsertabove'        =&gt; 'TO-row-insert-above',
<a name="l00157"></a>00157                 'rowinsertunder'        =&gt; 'TO-row-insert-under',
<a name="l00158"></a>00158                 'rowdelete'             =&gt; 'TO-row-<span class="keyword">delete</span>',
<a name="l00159"></a>00159                 'rowsplit'              =&gt; 'TO-row-split',
<a name="l00160"></a>00160                 'columninsertbefore'    =&gt; 'TO-col-insert-before',
<a name="l00161"></a>00161                 'columninsertafter'     =&gt; 'TO-col-insert-after',
<a name="l00162"></a>00162                 'columndelete'          =&gt; 'TO-col-<span class="keyword">delete</span>',
<a name="l00163"></a>00163                 'columnsplit'           =&gt; 'TO-col-split',
<a name="l00164"></a>00164                 'cellproperties'        =&gt; 'TO-cell-prop',
<a name="l00165"></a>00165                 'cellinsertbefore'      =&gt; 'TO-cell-insert-before',
<a name="l00166"></a>00166                 'cellinsertafter'       =&gt; 'TO-cell-insert-after',
<a name="l00167"></a>00167                 'celldelete'            =&gt; 'TO-cell-<span class="keyword">delete</span>',
<a name="l00168"></a>00168                 'cellsplit'             =&gt; 'TO-cell-split',
<a name="l00169"></a>00169                 'cellmerge'             =&gt; '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'                 =&gt; 'space',
<a name="l00173"></a>00173                 'bar'                   =&gt; 'separator',
<a name="l00174"></a>00174                 'linebreak'             =&gt; 'linebreak',
<a name="l00175"></a>00175 
<a name="l00176"></a>00176                         <span class="comment">// Always show</span>
<a name="l00177"></a>00177                 'undo'                  =&gt; 'Undo',
<a name="l00178"></a>00178                 'redo'                  =&gt; 'Redo',
<a name="l00179"></a>00179                 'textindicator'         =&gt; 'TextIndicator',
<a name="l00180"></a>00180                 'about'                 =&gt; '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>             =&gt; 'Normal',
<a name="l00185"></a>00185                 'h1'            =&gt; 'Heading 1',
<a name="l00186"></a>00186                 'h2'            =&gt; 'Heading 2',
<a name="l00187"></a>00187                 'h3'            =&gt; 'Heading 3',
<a name="l00188"></a>00188                 'h4'            =&gt; 'Heading 4',
<a name="l00189"></a>00189                 'h5'            =&gt; 'Heading 5',
<a name="l00190"></a>00190                 'h6'            =&gt; 'Heading 6',
<a name="l00191"></a>00191                 'pre'           =&gt; 'Preformatted',
<a name="l00192"></a>00192                 'address'       =&gt; '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'                 =&gt; 'Arial,sans-serif',
<a name="l00197"></a>00197                 'Arial Black'           =&gt; 'Arial Black,sans-serif',
<a name="l00198"></a>00198                 'Verdana'               =&gt; 'Verdana,Arial,sans-serif',
<a name="l00199"></a>00199                 'Times New Roman'       =&gt; 'Times New Roman,Times,serif',
<a name="l00200"></a>00200                 'Garamond'              =&gt; 'Garamond',
<a name="l00201"></a>00201                 'Lucida Handwriting'    =&gt; 'Lucida Handwriting',
<a name="l00202"></a>00202                 'Courier'               =&gt; 'Courier',
<a name="l00203"></a>00203                 'Webdings'              =&gt; 'Webdings',
<a name="l00204"></a>00204                 'Wingdings'             =&gt; '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>     =&gt;      '1 (8 pt)',
<a name="l00209"></a>00209                 <span class="charliteral">'2'</span>     =&gt;      '2 (10 pt)',
<a name="l00210"></a>00210                 <span class="charliteral">'3'</span>     =&gt;      '3 (12 pt)',
<a name="l00211"></a>00211                 <span class="charliteral">'4'</span>     =&gt;      '4 (14 pt)',
<a name="l00212"></a>00212                 <span class="charliteral">'5'</span>     =&gt;      '5 (18 pt)',
<a name="l00213"></a>00213                 <span class="charliteral">'6'</span>     =&gt;      '6 (24 pt)',
<a name="l00214"></a>00214                 <span class="charliteral">'7'</span>     =&gt;      '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>     =&gt;      'xx-small',
<a name="l00219"></a>00219                 <span class="charliteral">'2'</span>     =&gt;      'x-small',
<a name="l00220"></a>00220                 <span class="charliteral">'3'</span>     =&gt;      'small',
<a name="l00221"></a>00221                 <span class="charliteral">'4'</span>     =&gt;      'medium',
<a name="l00222"></a>00222                 <span class="charliteral">'5'</span>     =&gt;      'large',
<a name="l00223"></a>00223                 <span class="charliteral">'6'</span>     =&gt;      'x-large',
<a name="l00224"></a>00224                 <span class="charliteral">'7'</span>     =&gt;      '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'             =&gt; 'textstyle',
<a name="l00231"></a>00231                 'DynamicCSS'            =&gt; 'blockstyle',
<a name="l00232"></a>00232                 'SpellChecker'          =&gt; 'spellcheck',
<a name="l00233"></a>00233                 'InsertSmiley'          =&gt; 'emoticon',
<a name="l00234"></a>00234                 'FindReplace'           =&gt; 'findreplace',
<a name="l00235"></a>00235                 'RemoveFormat'          =&gt; 'removeformat',
<a name="l00236"></a>00236                 'QuickTag'              =&gt; 'inserttag',
<a name="l00237"></a>00237                 'CharacterMap'          =&gt; 'insertcharacter',
<a name="l00238"></a>00238                 'TableOperations'       =&gt; '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'          =&gt; 'user',
<a name="l00242"></a>00242                 'Acronym'               =&gt; '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'     =&gt; 'textstylelabel',
<a name="l00247"></a>00247                 'DynamicCSS'    =&gt; '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 &lt;div&gt; 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-&gt;client = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#ede72882add32a9153b2933b004bac5c">clientInfo</a>();
<a name="l00298"></a>00298                 $this-&gt;errorLog = array();
<a name="l00299"></a>00299                 <span class="keywordflow">if</span> (!$this-&gt;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-&gt;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-&gt;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'] &lt;= $this-&gt;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-&gt;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-&gt;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) &lt; 3007000) {
<a name="l00331"></a>00331                                 $rteIsAvailable = 0;
<a name="l00332"></a>00332                                 $this-&gt;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>(&amp;$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-&gt;TCEform = $pObj;
<a name="l00358"></a>00358                 $LANG-&gt;includeLLFile('EXT:' . $this-&gt;ID . '/locallang.xml');
<a name="l00359"></a>00359                 $this-&gt;client = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#ede72882add32a9153b2933b004bac5c">clientInfo</a>();
<a name="l00360"></a>00360                 $this-&gt;typoVersion = <a class="code" href="classt3lib__div.html#764fcca6287e86a8c2aad10a5752b847">t3lib_div::int_from_ver</a>(TYPO3_version);
<a name="l00361"></a>00361                 $this-&gt;userUid = 'BE_' . $BE_USER-&gt;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-&gt;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-&gt;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-&gt;httpTypo3Path) == 1) {
<a name="l00376"></a>00376                                 $this-&gt;httpTypo3Path = <span class="charliteral">'/'</span>;
<a name="l00377"></a>00377                         } <span class="keywordflow">else</span> {
<a name="l00378"></a>00378                                 $this-&gt;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-&gt;extHttpPath = $this-&gt;httpTypo3Path . <a class="code" href="classt3lib__extMgm.html#14cbdcac47ad593574a704006b11e60c">t3lib_extMgm::siteRelPath</a>($this-&gt;ID);
<a name="l00382"></a>00382                                 <span class="comment">// Get the site URL</span>
<a name="l00383"></a>00383                         $this-&gt;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-&gt;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-&gt;elementId = $PA['itemFormElName']; <span class="comment">// Form element name</span>
<a name="l00389"></a>00389                         $this-&gt;elementParts = explode('][',ereg_replace('\]$<span class="charliteral">','</span>',ereg_replace('^(TSFE_EDIT\[data\]\[|data\[)<span class="charliteral">','</span>',$this-&gt;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-&gt;tscPID,$this-&gt;thePid) = <a class="code" href="classt3lib__BEfunc.html#2030470c687cd5e4605b5412d8681724">t3lib_BEfunc::getTSCpid</a>(trim($this-&gt;elementParts[0]),trim($this-&gt;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-&gt;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-&gt;RTEsetup);
<a name="l00399"></a>00399                         $this-&gt;RTEsetup = $BE_USER-&gt;getTSConfig('RTE',<a class="code" href="classt3lib__BEfunc.html#643143cf81548a0c3b160ae0d58bebc9">t3lib_BEfunc::getPagesTSconfig</a>($this-&gt;tscPID));
<a name="l00400"></a>00400                         $this-&gt;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-&gt;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 &amp; 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-&gt;<a class="code" href="classlanguage.html">language</a> = $LANG-&gt;lang;
<a name="l00412"></a>00412                         <span class="keywordflow">if</span> ($this-&gt;<a class="code" href="classlanguage.html">language</a>=='<span class="keywordflow">default</span>' || !$this-&gt;<a class="code" href="classlanguage.html">language</a>)     {
<a name="l00413"></a>00413                                 $this-&gt;<a class="code" href="classlanguage.html">language</a>='en';
<a name="l00414"></a>00414                         }
<a name="l00415"></a>00415                         $this-&gt;contentTypo3Language = $this-&gt;<a class="code" href="classlanguage.html">language</a>;
<a name="l00416"></a>00416                         
<a name="l00417"></a>00417                         $this-&gt;contentLanguageUid = ($row['sys_language_uid'] &gt; 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-&gt;contentLanguageUid) {
<a name="l00420"></a>00420                                         $tableA = 'sys_language';
<a name="l00421"></a>00421                                         $tableB = 'static_languages';
<a name="l00422"></a>00422                                         $languagesUidsList = $this-&gt;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-&gt;exec_SELECTquery($selectFields, $table, $whereClause);
<a name="l00429"></a>00429                                         <span class="keywordflow">while</span>($languageRow = $TYPO3_DB-&gt;sql_fetch_assoc($res)) {
<a name="l00430"></a>00430                                                 $this-&gt;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-&gt;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-&gt;contentISOLanguage = trim($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['defaultDictionary']) ? trim($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;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-&gt;fullQuoteStr(strtoupper($this-&gt;contentISOLanguage), $table);
<a name="l00438"></a>00438                                         $res = $TYPO3_DB-&gt;exec_SELECTquery($selectFields, $table, $whereClause);
<a name="l00439"></a>00439                                         <span class="keywordflow">while</span>($languageRow = $TYPO3_DB-&gt;sql_fetch_assoc($res)) {
<a name="l00440"></a>00440                                                 $this-&gt;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-&gt;charset = $LANG-&gt;csConvObj-&gt;charSetArray[$this-&gt;<a class="code" href="classlanguage.html">language</a>];
<a name="l00447"></a>00447                         $this-&gt;charset = $this-&gt;charset ? $this-&gt;charset : 'iso-8859-1';
<a name="l00448"></a>00448                         $this-&gt;BECharset = trim($TYPO3_CONF_VARS['BE']['forceCharset']) ? trim($TYPO3_CONF_VARS['BE']['forceCharset']) : $this-&gt;charset;
<a name="l00449"></a>00449                         $this-&gt;OutputCharset = $this-&gt;BECharset;
<a name="l00450"></a>00450                         
<a name="l00451"></a>00451                         $this-&gt;contentCharset = $LANG-&gt;csConvObj-&gt;charSetArray[$this-&gt;contentTypo3Language];
<a name="l00452"></a>00452                         $this-&gt;contentCharset = $this-&gt;contentCharset ? $this-&gt;contentCharset : 'iso-8859-1';
<a name="l00453"></a>00453                         $this-&gt;origContentCharSet = $this-&gt;contentCharset;
<a name="l00454"></a>00454                         $this-&gt;contentCharset = (trim($TYPO3_CONF_VARS['BE']['forceCharset']) ? trim($TYPO3_CONF_VARS['BE']['forceCharset']) : $this-&gt;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-&gt;pluginEnableArray = array_intersect(<a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this-&gt;pluginList , 1), <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;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-&gt;<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-&gt;ID]['noSpellCheckLanguages']))) $hidePlugins[] = 'SpellChecker';
<a name="l00465"></a>00465                         <span class="keywordflow">if</span> ($this-&gt;client['BROWSER'] == 'msie') $hidePlugins[] = 'Acronym';
<a name="l00466"></a>00466                         <span class="keywordflow">if</span> ($this-&gt;client['BROWSER'] == 'opera') {
<a name="l00467"></a>00467                                 $hidePlugins[] = 'ContextMenu';
<a name="l00468"></a>00468                                 $this-&gt;thisConfig['hideTableOperationsInToolbar'] = 0;
<a name="l00469"></a>00469                         }
<a name="l00470"></a>00470                         $this-&gt;pluginEnableArray = array_diff($this-&gt;pluginEnableArray, $hidePlugins);
<a name="l00471"></a>00471                         $this-&gt;pluginEnableArrayMultiple = $this-&gt;pluginEnableArray;
<a name="l00472"></a>00472 
<a name="l00473"></a>00473                                 <span class="comment">// Toolbar</span>
<a name="l00474"></a>00474                         $this-&gt;<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-&gt;<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-&gt;<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-&gt;spellCheckerLanguage = $this-&gt;contentISOLanguage;
<a name="l00487"></a>00487                                 $this-&gt;spellCheckerTypo3Language = $this-&gt;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-&gt;spellCheckerCharset = $this-&gt;contentCharset;
<a name="l00491"></a>00491                                 $this-&gt;spellCheckerCharset = trim($TYPO3_CONF_VARS['BE']['forceCharset']) ? trim($TYPO3_CONF_VARS['BE']['forceCharset']) : $this-&gt;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-&gt;spellCheckerMode = isset($BE_USER-&gt;userTS['options.']['HTMLAreaPspellMode']) ? trim($BE_USER-&gt;userTS['options.']['HTMLAreaPspellMode']) : 'normal';
<a name="l00495"></a>00495                                 <span class="keywordflow">if</span>( !in_array($this-&gt;spellCheckerMode, $this-&gt;spellCheckerModes)) {
<a name="l00496"></a>00496                                         $this-&gt;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-&gt;spellCheckerPersonalDicts = $this-&gt;thisConfig['enablePersonalDicts'] ? (isset($BE_USER-&gt;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-&gt;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-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('QuickTag') &amp;&amp; trim($this-&gt;thisConfig['hideTags'])) {
<a name="l00507"></a>00507                                 $this-&gt;quickTagHideTags = implode(<span class="charliteral">','</span>, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>, $this-&gt;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-&gt;userTS['options.']['RTESmallWidth']) ? $BE_USER-&gt;userTS['options.']['RTESmallWidth'] : '530';
<a name="l00516"></a>00516                         $RTEHeight = isset($BE_USER-&gt;userTS['options.']['RTESmallHeight']) ? $BE_USER-&gt;userTS['options.']['RTESmallHeight'] : '380';
<a name="l00517"></a>00517                         $RTEWidth  = $RTEWidth + ($pObj-&gt;docLarge ? (isset($BE_USER-&gt;userTS['options.']['RTELargeWidthIncrement']) ? $BE_USER-&gt;userTS['options.']['RTELargeWidthIncrement'] : '150') : 0);
<a name="l00518"></a>00518                         $RTEHeight = $RTEHeight + ($pObj-&gt;docLarge ?  (isset($BE_USER-&gt;userTS['options.']['RTELargeHeightIncrement']) ? $BE_USER-&gt;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-&gt;RTEdivStyle = $this-&gt;RTEdivStyle ? $this-&gt;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-&gt;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-&gt;thisConfig['contentCSS']) ? trim($this-&gt;thisConfig['contentCSS']) : 'EXT:' . $this-&gt;ID . '/htmlarea/plugins/DynamicCSS/dynamiccss.css';
<a name="l00531"></a>00531                         $pObj-&gt;additionalCode_pre['loadCSS'] = '
<a name="l00532"></a>00532                 &lt;link rel=<span class="stringliteral">"alternate stylesheet"</span> type=<span class="stringliteral">"text/css"</span> href=<span class="stringliteral">"' . $this-&gt;getFullFileName($filename) . '"</span> /&gt;';
<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-&gt;thisConfig['skin']) ? trim($this-&gt;thisConfig['skin']) : 'EXT:' . $this-&gt;ID . '/htmlarea/skins/<span class="keywordflow">default</span>/htmlarea.css';
<a name="l00536"></a>00536                         <span class="keywordflow">if</span>($this-&gt;client['BROWSER'] == 'gecko' &amp;&amp; $this-&gt;client['VERSION'] == '1.3' &amp;&amp; substr($skinFilename,0,4) == 'EXT:')  {
<a name="l00537"></a>00537                                 $skinFilename = 'EXT:' . $this-&gt;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,'') &amp;&amp;  <a class="code" href="classt3lib__extMgm.html#297116a3b1e17045ff193f170b8c4a29">t3lib_extMgm::isLoaded</a>($extKey) &amp;&amp; strcmp($local,'')) {
<a name="l00543"></a>00543                                         $skinFilename = $this-&gt;httpTypo3Path . <a class="code" href="classt3lib__extMgm.html#14cbdcac47ad593574a704006b11e60c">t3lib_extMgm::siteRelPath</a>($extKey) . $local;
<a name="l00544"></a>00544                                         $skinDir = $this-&gt;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-&gt;siteURL.dirname($skinFilename);
<a name="l00548"></a>00548                                 $skinFilename = $this-&gt;siteURL . $skinFilename;
<a name="l00549"></a>00549                         } <span class="keywordflow">else</span> {
<a name="l00550"></a>00550                                 $skinDir = substr($this-&gt;siteURL,0,-1) . dirname($skinFilename);
<a name="l00551"></a>00551                         }
<a name="l00552"></a>00552                         $this-&gt;editorCSS = $skinFilename;
<a name="l00553"></a>00553                         $this-&gt;editedContentCSS = $skinDir . '/htmlarea-edited-content.css';
<a name="l00554"></a>00554                         $pObj-&gt;additionalCode_pre['loadCSS'] .= '
<a name="l00555"></a>00555                 &lt;link rel=<span class="stringliteral">"alternate stylesheet"</span> type=<span class="stringliteral">"text/css"</span> href=<span class="stringliteral">"' . $this-&gt;editedContentCSS . '"</span> /&gt;';
<a name="l00556"></a>00556 
<a name="l00557"></a>00557                         $pObj-&gt;additionalCode_pre['loadCSS'] .= '
<a name="l00558"></a>00558                 &lt;link rel=<span class="stringliteral">"stylesheet"</span> type=<span class="stringliteral">"text/css"</span> href=<span class="stringliteral">"' . $this-&gt;editorCSS . '"</span> /&gt;';
<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-&gt;additionalCode_pre['<a class="code" href="classtx__rtehtmlarea__base.html#1300a1bb55017de2e58f990e7d56faf5">loadJSfiles</a>'] = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#1300a1bb55017de2e58f990e7d56faf5">loadJSfiles</a>($pObj-&gt;RTEcounter);
<a name="l00562"></a>00562                         $pObj-&gt;additionalJS_pre['<a class="code" href="classtx__rtehtmlarea__base.html#83a93353d01210b3dd5486c30d9abef8">loadJScode</a>'] = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#83a93353d01210b3dd5486c30d9abef8">loadJScode</a>($pObj-&gt;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-&gt;<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-&gt;client['BROWSER'] == 'gecko') {
<a name="l00574"></a>00574                                         <span class="comment">// change &lt;strong&gt; to &lt;b&gt;</span>
<a name="l00575"></a>00575                                 $value = preg_replace('/&lt;(\/?)strong/i', <span class="stringliteral">"&lt;$1b"</span>, $value);
<a name="l00576"></a>00576                                         <span class="comment">// change &lt;em&gt; to &lt;i&gt;</span>
<a name="l00577"></a>00577                                 $value = preg_replace('/&lt;(\/?)em([^b&gt;]*&gt;)/i', <span class="stringliteral">"&lt;$1i$2"</span>, $value);
<a name="l00578"></a>00578                         }
<a name="l00579"></a>00579                         <span class="keywordflow">if</span> ($this-&gt;client['BROWSER'] == 'msie') {
<a name="l00580"></a>00580                                         <span class="comment">// change &lt;abbr&gt; to &lt;acronym&gt;</span>
<a name="l00581"></a>00581                                 $value = preg_replace('/&lt;(\/?)abbr/i', <span class="stringliteral">"&lt;$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-&gt;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-&gt;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-&gt;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-&gt;additionalJS_post[] = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#6827f2eefb6d09e8c7342a68c9d48ab9">setRTEsizeByJS</a>('RTEarea'.$pObj-&gt;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-&gt;additionalJS_post[] = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#88a6f80c1dd6b6742e67dfb4d4cdafa6">registerRTEinJS</a>($pObj-&gt;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-&gt;additionalJS_submit[] = $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#c2f5222d9abe86e4731b1f54c465773f">setSaveRTE</a>($pObj-&gt;RTEcounter, $pObj-&gt;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-&gt;<a class="code" href="classt3lib__rteapi.html#eda90a0e49f9435041d60ed28896a801">triggerField</a>($PA['itemFormElName']).'
<a name="l00610"></a>00610                                 &lt;div <span class="keywordtype">id</span>=<span class="stringliteral">"pleasewait' . $pObj-&gt;RTEcounter . '"</span> <span class="keyword">class</span>=<span class="stringliteral">"pleasewait"</span>&gt;' . $LANG-&gt;getLL('Please wait') . '&lt;/div&gt;
<a name="l00611"></a>00611                                 &lt;div <span class="keywordtype">id</span>=<span class="stringliteral">"editorWrap' . $pObj-&gt;RTEcounter . '"</span> <span class="keyword">class</span>=<span class="stringliteral">"editorWrap"</span> style=<span class="stringliteral">"visibility:' . $visibility . '; width:' . $editorWrapWidth . '; height:' . $editorWrapHeight . ';"</span>&gt;
<a name="l00612"></a>00612                                 &lt;textarea <span class="keywordtype">id</span>=<span class="stringliteral">"RTEarea'.$pObj-&gt;RTEcounter.'"</span> name=<span class="stringliteral">"'.htmlspecialchars($PA['itemFormElName']).'"</span> style=<span class="stringliteral">"'.t3lib_div::deHSCentities(htmlspecialchars($this-&gt;RTEdivStyle)).'"</span>&gt;'.t3lib_div::formatForTextarea($value).'&lt;/textarea&gt;
<a name="l00613"></a>00613                                 &lt;/div&gt;' . ($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableDebugMode'] ? '&lt;div <span class="keywordtype">id</span>=<span class="stringliteral">"HTMLAreaLog"</span>&gt;&lt;/div&gt;' : '') . '
<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-&gt;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-&gt;thisConfig['hideTableOperationsInToolbar'] &amp;&amp; trim($this-&gt;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-&gt;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-&gt;client['BROWSER'] == 'gecko' &amp;&amp; $this-&gt;client['VERSION'] == '1.3')  {
<a name="l00642"></a>00642                         $this-&gt;defaultToolbarOrder = $this-&gt;TCEform-&gt;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-&gt;thisConfig['toolbarOrder'] ? $this-&gt;thisConfig['toolbarOrder'] : $this-&gt;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-&gt;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-&gt;defaultToolbarOrder, 1));
<a name="l00665"></a>00665                 $toolbarOrder = array_unique(array_values($this-&gt;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-&gt;specConf['richtext']['parameters']) ? implode(<span class="charliteral">','</span>,$this-&gt;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-&gt;specConf['richtext']['parameters']) ? $this-&gt;specConf['richtext']['parameters'] : array();
<a name="l00671"></a>00671                         <span class="keywordflow">if</span> ($this-&gt;thisConfig['showButtons'])   {
<a name="l00672"></a>00672                                 <span class="keywordflow">if</span> ($this-&gt;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-&gt;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-&gt;thisConfig['showButtons.'])) {
<a name="l00679"></a>00679                                 reset($this-&gt;thisConfig['showButtons.']);
<a name="l00680"></a>00680                                 <span class="keywordflow">while</span>(list($button,$value) = each($this-&gt;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-&gt;userTS['options.']['RTEkeyList']) ? $BE_USER-&gt;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-&gt;pluginButton);
<a name="l00700"></a>00700                 <span class="keywordflow">while</span>(list($plugin, $buttonList) = each($this-&gt;pluginButton) ) {
<a name="l00701"></a>00701                         <span class="keywordflow">if</span>(!$this-&gt;<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-&gt;pluginLabel);
<a name="l00711"></a>00711                 <span class="keywordflow">while</span>(list($plugin, $label) = each($this-&gt;pluginLabel) ) {
<a name="l00712"></a>00712                         <span class="keywordflow">if</span>(!$this-&gt;<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-&gt;client['BROWSER'] == 'safari') {
<a name="l00717"></a>00717                         reset($this-&gt;conf_toolbar_safari_hide);
<a name="l00718"></a>00718                         <span class="keywordflow">while</span>(list(, $button) = each($this-&gt;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-&gt;client['BROWSER'] == 'opera') {
<a name="l00725"></a>00725                         reset($this-&gt;conf_toolbar_opera_hide);
<a name="l00726"></a>00726                         <span class="keywordflow">while</span>(list(, $button) = each($this-&gt;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-&gt;conf_toolbar_hide, $hideButtons, <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$this-&gt;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-&gt;conf_toolbar_show));
<a name="l00736"></a>00736                 $toolbarOrder = array_unique(array_merge($toolbarOrder, $this-&gt;conf_toolbar_show));
<a name="l00737"></a>00737                 reset($this-&gt;conf_toolbar_show);
<a name="l00738"></a>00738                 <span class="keywordflow">while</span>(list(,$button) = each($this-&gt;conf_toolbar_show)) {
<a name="l00739"></a>00739                         <span class="keywordflow">if</span>(!in_array($button, $this-&gt;toolbarOrderArray)) $this-&gt;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-&gt;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-&gt;pluginButton);
<a name="l00759"></a>00759                 <span class="keywordflow">while</span>(list($plugin, $buttonList) = each($this-&gt;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-&gt;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-&gt;thisConfig['disableContextMenu'] || $this-&gt;thisConfig['disableRightClick']) $hidePlugins[] = 'ContextMenu';
<a name="l00770"></a>00770                 <span class="keywordflow">if</span>($this-&gt;thisConfig['disableSelectColor']) $hidePlugins[] = 'SelectColor';
<a name="l00771"></a>00771                 <span class="keywordflow">if</span>($this-&gt;thisConfig['disableTYPO3Browsers']) $hidePlugins[] = 'TYPO3Browsers';
<a name="l00772"></a>00772                 <span class="keywordflow">if</span>(!$this-&gt;thisConfig['enableWordClean'] || !is_array($this-&gt;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-&gt;<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-&gt;ID]['noSpellCheckLanguages']))) $hidePlugins[] = 'SpellChecker';
<a name="l00774"></a>00774                 
<a name="l00775"></a>00775                 $this-&gt;pluginEnableArray = array_diff($this-&gt;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-&gt;pluginLabel);
<a name="l00779"></a>00779                 <span class="keywordflow">while</span>(list($plugin, $label) = each($this-&gt;pluginLabel) ) {
<a name="l00780"></a>00780                         <span class="keywordflow">if</span>(!$this-&gt;<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-&gt;toolBar = array_diff($this-&gt;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-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('SelectColor') ) {
<a name="l00786"></a>00786                         $this-&gt;conf_toolbar_convert['textcolor'] = 'CO-forecolor';
<a name="l00787"></a>00787                         $this-&gt;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-&gt;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                 &lt;script type=<span class="stringliteral">"text/javascript"</span>&gt;
<a name="l00826"></a>00826                 <span class="comment">/*&lt;![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-&gt;ID]['version'] . '"</span>;
<a name="l00830"></a>00830                         RTEarea[0][<span class="stringliteral">"popupwin"</span>] = <span class="stringliteral">"' . $this-&gt;writeJSFileToTypo3tempDir('EXT:' . $this-&gt;ID . '/htmlarea/popupwin' . ($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>popupwin<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts'])  . '"</span>;
<a name="l00831"></a>00831                         RTEarea[0][<span class="stringliteral">"htmlarea-gecko"</span>] = <span class="stringliteral">"' . $this-&gt;writeJSFileToTypo3tempDir('EXT:' . $this-&gt;ID . '/htmlarea/htmlarea-gecko' . ($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>htmlarea-gecko<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts'])  . '"</span>;
<a name="l00832"></a>00832                         RTEarea[0][<span class="stringliteral">"htmlarea-ie"</span>] = <span class="stringliteral">"' . $this-&gt;writeJSFileToTypo3tempDir('EXT:' . $this-&gt;ID . '/htmlarea/htmlarea-ie' . ($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>htmlarea-ie<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts'])  . '"</span>;
<a name="l00833"></a>00833                         var _editor_url = <span class="stringliteral">"' . $this-&gt;extHttpPath . 'htmlarea"</span>;
<a name="l00834"></a>00834                         var _editor_lang = <span class="stringliteral">"' . $this-&gt;language . '"</span>;
<a name="l00835"></a>00835                         var _editor_CSS = <span class="stringliteral">"' . $this-&gt;editorCSS . '"</span>;
<a name="l00836"></a>00836                         var _editor_skin = <span class="stringliteral">"' . dirname($this-&gt;editorCSS) . '"</span>;
<a name="l00837"></a>00837                         var _editor_edited_content_CSS = <span class="stringliteral">"' .  $this-&gt;editedContentCSS  . '"</span>;
<a name="l00838"></a>00838                         var _typo3_host_url = <span class="stringliteral">"' . $this-&gt;hostURL . '"</span>;
<a name="l00839"></a>00839                         var _editor_debug_mode = ' . ($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;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-&gt;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-&gt;ID]['mozAllowClipboardUrl'] ? $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['mozAllowClipboardUrl'] : '') . '"</span>;
<a name="l00842"></a>00842                         var _spellChecker_lang = <span class="stringliteral">"' . $this-&gt;spellCheckerLanguage . '"</span>;
<a name="l00843"></a>00843                         var _spellChecker_charset = <span class="stringliteral">"' . $this-&gt;spellCheckerCharset . '"</span>;
<a name="l00844"></a>00844                         var _spellChecker_mode = <span class="stringliteral">"' . $this-&gt;spellCheckerMode . '"</span>;
<a name="l00845"></a>00845                         var _quickTag_hideTags = <span class="stringliteral">"' . $this-&gt;quickTagHideTags . '"</span>;
<a name="l00846"></a>00846                 <span class="comment">/*]]&gt;*/</span>
<a name="l00847"></a>00847                 &lt;/script&gt;
<a name="l00848"></a>00848                 &lt;script type=<span class="stringliteral">"text/javascript"</span> src=<span class="stringliteral">"' . $this-&gt;buildJSMainLangFile($number) . '"</span>&gt;&lt;/script&gt;
<a name="l00849"></a>00849                 &lt;script type=<span class="stringliteral">"text/javascript"</span> src=<span class="stringliteral">"' . $this-&gt;writeJSFileToTypo3tempDir('EXT:' . $this-&gt;ID . '/htmlarea/htmlarea' . ($TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts']?'-compressed':'') .'.js', "</span>htmlarea<span class="stringliteral">", $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;ID]['enableCompressedScripts']) . '"</span>&gt;&lt;/script&gt;
<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-&gt;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-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>($plugin) || (intval($number) &gt; 1 &amp;&amp; in_array($plugin, $this-&gt;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-&gt;writeJSFileToTypo3tempDir('EXT:' . $this-&gt;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-&gt;ID]['enableCompressedScripts']?'-compressed':'') .'.js', $plugin, $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;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">/*&lt;![CDATA[*/</span>') . '
<a name="l00872"></a>00872                         var conf_RTEtsConfigParams = <span class="stringliteral">"&amp;RTEtsConfigParams=' . rawurlencode($this-&gt;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-&gt;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">/*]]&gt;*/</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">/*&lt;![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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;client['BROWSER'] == 'gecko' &amp;&amp; $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;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-&gt;contentTypo3Language . '"</span>;
<a name="l00914"></a>00914                         RTEarea['.$number.'][<span class="stringliteral">"typo3ContentCharset"</span>] = <span class="stringliteral">"' . $this-&gt;contentCharset . '"</span>;
<a name="l00915"></a>00915                         RTEarea['.$number.'][<span class="stringliteral">"enablePersonalDicts"</span>] = ' . ($this-&gt;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-&gt;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-&gt;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-&gt;<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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;hostURL . $this-&gt;buildJSFile('css', $this-&gt;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-&gt;thisConfig['contentCSS']) ? trim($this-&gt;thisConfig['contentCSS']) : 'EXT:' . $this-&gt;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-&gt;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-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('SelectColor') ) {
<a name="l00954"></a>00954                         $registerRTEinJSString .= $this-&gt;<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-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('InlineCSS') || $this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('DynamicCSS')) {
<a name="l00959"></a>00959                         $registerRTEinJSString .= $this-&gt;<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-&gt;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-&gt;<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-&gt;<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-&gt;<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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;<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-&gt;buildJSFile('acronym_'.$this-&gt;contentLanguageUid, $this-&gt;buildJSAcronymArray()) . '"</span>;';
<a name="l00985"></a>00985                 }
<a name="l00986"></a>00986                 
<a name="l00987"></a>00987                 <span class="keywordflow">if</span> ($this-&gt;<a class="code" href="classtx__rtehtmlarea__base.html#39a0f480c5489760e5b2ad3fa75be60d">isPluginEnable</a>('TYPO3Browsers')) {
<a name="l00988"></a>00988                         $registerRTEinJSString .= $this-&gt;<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-&gt;getJSToolbarArray().';
<a name="l00993"></a>00993                         HTMLArea.initEditor('.$number.');' . (!is_object($TSFE) ? '' : '
<a name="l00994"></a>00994                         <span class="comment">/*]]&gt;*/</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-&gt;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-&gt;csConvObj-&gt;conv($TSFE-&gt;getLLL('No size',$this-&gt;LOCAL_LANG), $TSFE-&gt;labelsCharset, $TSFE-&gt;renderCharset);
<a name="l01022"></a>01022                 } <span class="keywordflow">else</span> {
<a name="l01023"></a>01023                         $HTMLAreaFontSizes[0] = $LANG-&gt;getLL('No size');
<a name="l01024"></a>01024                 }
<a name="l01025"></a>01025 
<a name="l01026"></a>01026                 reset($this-&gt;defaultFontSizes);
<a name="l01027"></a>01027                 <span class="keywordflow">while</span>( list($FontSizeItem,$FontSizeLabel) = each($this-&gt;defaultFontSizes)) {
<a name="l01028"></a>01028                         <span class="keywordflow">if</span> ($this-&gt;client['BROWSER'] == 'safari') {
<a name="l01029"></a>01029                                 $HTMLAreaFontSizes[$this-&gt;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-&gt;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-&gt;cleanList($this-&gt;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-&gt;client['BROWSER'] == 'safari') {
<a name="l01039"></a>01039                                                 unset($HTMLAreaFontSizes[$this-&gt;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-&gt;cleanList($this-&gt;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-&gt;defaultParagraphs;
<a name="l01079"></a>01079                 <span class="keywordflow">if</span> ($this-&gt;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-&gt;cleanList($this-&gt;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-&gt;cleanList($this-&gt;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-&gt;csConvObj-&gt;conv($TSFE-&gt;getLLL($PStyleLabel,$this-&gt;LOCAL_LANG), $TSFE-&gt;labelsCharset, $TSFE-&gt;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-&gt;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-&gt;RTEsetup;
<a name="l01119"></a>01119                 } <span class="keywordflow">else</span> {
<a name="l01120"></a>01120                         $RTEProperties = $this-&gt;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-&gt;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-&gt;csConvObj-&gt;conv($TSFE-&gt;getLLL('No font',$this-&gt;LOCAL_LANG), $TSFE-&gt;labelsCharset, $TSFE-&gt;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-&gt;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-&gt;cleanList($this-&gt;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-&gt;defaultFontFaces);
<a name="l01142"></a>01142                         <span class="keywordflow">while</span> (list($fontName,$fontValue) = each($this-&gt;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-&gt;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-&gt;sL($conf['name']);
<a name="l01159"></a>01159                                 } <span class="keywordflow">else</span> {
<a name="l01160"></a>01160                                         $string = $LANG-&gt;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-&gt;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-&gt;cleanList($defaultFontFacesList . <span class="charliteral">','</span> . $this-&gt;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-&gt;RTEsetup;
<a name="l01197"></a>01197                 } <span class="keywordflow">else</span> {
<a name="l01198"></a>01198                         $RTEProperties = $this-&gt;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-&gt;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-&gt;csConvObj-&gt;conv($TSFE-&gt;sL(trim($conf['name'])), $TSFE-&gt;renderCharset, $TSFE-&gt;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-&gt;feJScharCode($string);
<a name="l01221"></a>01221                                 } <span class="keywordflow">else</span> {
<a name="l01222"></a>01222                                         $string = $this-&gt;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-&gt;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-&gt;cleanList($this-&gt;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 &amp;&amp; $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-&gt;thisConfig['ignoreMainStyleOverride'])) {
<a name="l01258"></a>01258                         $mainStyle_font = $this-&gt;thisConfig['mainStyle_font'] ? $this-&gt;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-&gt;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-&gt;thisConfig['mainStyleOverride_add.'][$elListName]) {
<a name="l01266"></a>01266                                         $mainElements[$elListName] = $this-&gt;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-&gt;thisConfig['mainStyleOverride'] ? $this-&gt;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-&gt;thisConfig['mainStyle_size'] ? $this-&gt;thisConfig['mainStyle_size'] : '12px') .
<a name="l01279"></a>01279                                         '; color: '.($this-&gt;thisConfig['mainStyle_color']?$this-&gt;thisConfig['mainStyle_color'] : 'black') .
<a name="l01280"></a>01280                                         '; background-color: '.($this-&gt;thisConfig['mainStyle_bgcolor'] ? $this-&gt;thisConfig['mainStyle_bgcolor'] : 'white') .
<a name="l01281"></a>01281                                         <span class="charliteral">';'</span>.$this-&gt;thisConfig['mainStyleOverride_add.']['BODY'].<span class="charliteral">'}'</span> . chr(10) .
<a name="l01282"></a>01282                                 'td { ' . $this-&gt;thisConfig['mainStyleOverride_add.']['TD'].<span class="charliteral">'}'</span> . chr(10) .
<a name="l01283"></a>01283                                 'div { ' . $this-&gt;thisConfig['mainStyleOverride_add.']['DIV'].<span class="charliteral">'}'</span> . chr(10) .
<a name="l01284"></a>01284                                 'pre { ' . $this-&gt;thisConfig['mainStyleOverride_add.']['PRE'].<span class="charliteral">'}'</span> . chr(10) .
<a name="l01285"></a>01285                                 'ol { ' . $this-&gt;thisConfig['mainStyleOverride_add.']['OL'].<span class="charliteral">'}'</span> . chr(10) .
<a name="l01286"></a>01286                                 'ul { ' . $this-&gt;thisConfig['mainStyleOverride_add.']['UL'].<span class="charliteral">'}'</span> . chr(10) .
<a name="l01287"></a>01287                                 'blockquote { ' . $this-&gt;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-&gt;thisConfig['inlineStyle.']))        {
<a name="l01291"></a>01291                                 $stylesheet .= chr(10) . implode(chr(10), $this-&gt;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' =&gt; 'span', 'classesParagraph' =&gt; <span class="charliteral">'p'</span>, 'classesImage' =&gt; 'img', 'classesTable' =&gt; 'table', 'classesLinks' =&gt; <span class="charliteral">'a'</span>, 'classesTD' =&gt; '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-&gt;thisConfig[$classesTagName])?(<span class="charliteral">'"'</span> . $this-&gt;cleanList($this-&gt;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-&gt;hostURL . $this-&gt;buildJSFile('classes_'.$this-&gt;contentLanguageUid, $this-&gt;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-&gt;RTEsetup;</span>
<a name="l01335"></a>01335 <span class="stringliteral">                } else {</span>
<a name="l01336"></a>01336 <span class="stringliteral">                        $RTEProperties = $this-&gt;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-&gt;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-&gt;csConvObj-&gt;conv($TSFE-&gt;sL(trim($conf['name'])), $TSFE-&gt;renderCharset, $TSFE-&gt;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-&gt;feJScharCode($string);
<a name="l01355"></a>01355                                 } <span class="keywordflow">else</span> {
<a name="l01356"></a>01356                                         $string = $this-&gt;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-&gt;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-&gt;csConvObj-&gt;conv($JSLanguageArray, 'iso-8859-1', $this-&gt;OutputCharset);</span>
<a name="l01384"></a>01384 <span class="stringliteral">                } else {</span>
<a name="l01385"></a>01385 <span class="stringliteral">                        $JSLanguageArray = $LANG-&gt;csConvObj-&gt;conv($JSLanguageArray, 'iso-8859-1', $this-&gt;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-&gt;readLLfile(t3lib_extMgm::extPath($this-&gt;ID).'htmlarea/locallang_' . $labels . '.xml', $this-&gt;language);</span>
<a name="l01394"></a>01394 <span class="stringliteral">                                $TSFE-&gt;csConvObj-&gt;convArray($LOCAL_LANG['default'], 'iso-8859-1', $this-&gt;OutputCharset);</span>
<a name="l01395"></a>01395 <span class="stringliteral">                                if(!empty($LOCAL_LANG[$this-&gt;language])) $TSFE-&gt;csConvObj-&gt;convArray($LOCAL_LANG[$this-&gt;language], $this-&gt;charset, $this-&gt;OutputCharset);</span>
<a name="l01396"></a>01396 <span class="stringliteral">                        } else {</span>
<a name="l01397"></a>01397 <span class="stringliteral">                                $LOCAL_LANG = $LANG-&gt;readLLfile(t3lib_extMgm::extPath($this-&gt;ID).'htmlarea/locallang_' . $labels . '.xml');</span>
<a name="l01398"></a>01398 <span class="stringliteral">                                $LANG-&gt;csConvObj-&gt;convArray($LOCAL_LANG['default'], 'iso-8859-1', $this-&gt;OutputCharset);</span>
<a name="l01399"></a>01399 <span class="stringliteral">                                if(!empty($LOCAL_LANG[$this-&gt;language])) $LANG-&gt;csConvObj-&gt;convArray($LOCAL_LANG[$this-&gt;language], $this-&gt;charset, $this-&gt;OutputCharset);</span>
<a name="l01400"></a>01400 <span class="stringliteral">                        }</span>
<a name="l01401"></a>01401 <span class="stringliteral">                        if(!empty($LOCAL_LANG[$this-&gt;language])) {</span>
<a name="l01402"></a>01402 <span class="stringliteral">                                $LOCAL_LANG[$this-&gt;language] = t3lib_div::array_merge_recursive_overrule($LOCAL_LANG['default'], $LOCAL_LANG[$this-&gt;language]);</span>
<a name="l01403"></a>01403 <span class="stringliteral">                        } else {</span>
<a name="l01404"></a>01404 <span class="stringliteral">                                $LOCAL_LANG[$this-&gt;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-&gt;language] as $labelKey =&gt; $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-&gt;csConvObj-&gt;conv(' }' . chr(10), 'iso-8859-1', $this-&gt;OutputCharset);
<a name="l01412"></a>01412                         } <span class="keywordflow">else</span> {
<a name="l01413"></a>01413                                 $JSLanguageArray .= $LANG-&gt;csConvObj-&gt;conv(' }' . chr(10), 'iso-8859-1', $this-&gt;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-&gt;csConvObj-&gt;conv(' }' . chr(10), 'iso-8859-1', $this-&gt;OutputCharset);
<a name="l01419"></a>01419                 } <span class="keywordflow">else</span> {
<a name="l01420"></a>01420                         $JSLanguageArray .= $LANG-&gt;csConvObj-&gt;conv(' }' . chr(10), 'iso-8859-1', $this-&gt;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-&gt;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-&gt;contentLanguageUid &gt; -1) {
<a name="l01441"></a>01441                         $whereClause = '(sys_language_uid=<span class="stringliteral">"'.$this-&gt;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-&gt;exec_SELECTquery('type,term,acronym', $table, $whereClause);
<a name="l01448"></a>01448                 <span class="keywordflow">while</span>($acronymRow = $TYPO3_DB-&gt;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-&gt;RTEsetup;
<a name="l01468"></a>01468                 } <span class="keywordflow">else</span> {
<a name="l01469"></a>01469                         $RTEProperties = $this-&gt;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-&gt;buildJSFile('classesAnchor_'.$this-&gt;contentLanguageUid, $this-&gt;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-&gt;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-&gt;RTEsetup['properties']['classesAnchor.']);
<a name="l01492"></a>01492                 <span class="keywordflow">while</span>(list($label,$conf)=each($this-&gt;RTEsetup['properties']['classesAnchor.'])) {
<a name="l01493"></a>01493                         <span class="keywordflow">if</span> (is_array($conf) &amp;&amp; $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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;ID . <span class="charliteral">'_'</span> . $label . <span class="charliteral">'_'</span> . md5($JSFile . $TYPO3_CONF_VARS['EXTCONF'][$this-&gt;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-&gt;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-&gt;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-&gt;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-&gt;isPluginEnable($plugin)  || (intval($number) &gt; 1 &amp;&amp; in_array($plugin, $this-&gt;pluginEnableArrayMultiple))) {
<a name="l01566"></a>01566                                 $contents .= $this-&gt;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-&gt;buildJSFile($this-&gt;<a class="code" href="classlanguage.html">language</a>.<span class="charliteral">'_'</span>.$this-&gt;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-&gt;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-&gt;readLLfile(<a class="code" href="classt3lib__extMgm.html#f395b211d97293002bbf92c3802392f5">t3lib_extMgm::extPath</a>($this-&gt;ID).'htmlarea/plugins/' . $plugin . '/locallang.xml', $this-&gt;language);
<a name="l01584"></a>01584                         <span class="keywordflow">if</span>(!empty($LOCAL_LANG['<span class="keywordflow">default</span>'])) $TSFE-&gt;csConvObj-&gt;convArray($LOCAL_LANG['<span class="keywordflow">default</span>'], 'iso-8859-1', $this-&gt;OutputCharset);
<a name="l01585"></a>01585                         <span class="keywordflow">if</span>(!empty($LOCAL_LANG[$this-&gt;<a class="code" href="classlanguage.html">language</a>])) $TSFE-&gt;csConvObj-&gt;convArray($LOCAL_LANG[$this-&gt;<a class="code" href="classlanguage.html">language</a>], $this-&gt;charset, $this-&gt;OutputCharset);
<a name="l01586"></a>01586                 } <span class="keywordflow">else</span> {
<a name="l01587"></a>01587                         $LOCAL_LANG = $LANG-&gt;readLLfile(<a class="code" href="classt3lib__extMgm.html#f395b211d97293002bbf92c3802392f5">t3lib_extMgm::extPath</a>($this-&gt;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-&gt;csConvObj-&gt;convArray($LOCAL_LANG['<span class="keywordflow">default</span>'], 'iso-8859-1', $this-&gt;OutputCharset);
<a name="l01589"></a>01589                         <span class="keywordflow">if</span>(!empty($LOCAL_LANG[$this-&gt;<a class="code" href="classlanguage.html">language</a>])) $LANG-&gt;csConvObj-&gt;convArray($LOCAL_LANG[$this-&gt;<a class="code" href="classlanguage.html">language</a>], $this-&gt;charset, $this-&gt;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-&gt;<a class="code" href="classlanguage.html">language</a>])) {
<a name="l01593"></a>01593                         $LOCAL_LANG[$this-&gt;<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-&gt;<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-&gt;<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-&gt;csConvObj-&gt;conv($JSLanguageArray, 'iso-8859-1', $this-&gt;OutputCharset);
<a name="l01602"></a>01602                 } <span class="keywordflow">else</span> {
<a name="l01603"></a>01603                         $JSLanguageArray = $LANG-&gt;csConvObj-&gt;conv($JSLanguageArray, 'iso-8859-1', $this-&gt;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-&gt;<a class="code" href="classlanguage.html">language</a>] as $labelKey =&gt; $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-&gt;csConvObj-&gt;conv(' }' . chr(10), 'iso-8859-1', $this-&gt;OutputCharset);
<a name="l01613"></a>01613                 } <span class="keywordflow">else</span> {
<a name="l01614"></a>01614                         $JSLanguageArray .= $LANG-&gt;csConvObj-&gt;conv(' }' . chr(10), 'iso-8859-1', $this-&gt;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-&gt;toolbarOrderArray);
<a name="l01635"></a>01635                 <span class="keywordflow">while</span> (list(, $button) = each($this-&gt;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') &amp;&amp; $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-&gt;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 &amp;&amp; $button == 'linebreak' &amp;&amp; !$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-&gt;convertToolBarForHTMLArea($button) . '"</span>';
<a name="l01655"></a>01655                         } elseif ($button == 'bar' &amp;&amp; !$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' &amp;&amp; $group_has_button &amp;&amp; !$previous_is_space) {
<a name="l01658"></a>01658                                 $convertButton = $this-&gt;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-&gt;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-&gt;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-&gt;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-&gt;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-&gt;lang;</span>
<a name="l01686"></a>01686 <span class="stringliteral">                $BE_origCharset = $LANG-&gt;origCharSet;</span>
<a name="l01687"></a>01687 <span class="stringliteral">                $BE_charSet = $LANG-&gt;charSet;</span>
<a name="l01688"></a>01688 <span class="stringliteral">                $LANG-&gt;lang = $this-&gt;contentTypo3Language;</span>
<a name="l01689"></a>01689 <span class="stringliteral">                $LANG-&gt;origCharSet = $this-&gt;origContentCharSet;</span>
<a name="l01690"></a>01690 <span class="stringliteral">                $LANG-&gt;charSet = $this-&gt;contentCharset;</span>
<a name="l01691"></a>01691 <span class="stringliteral">                $LLString = $LANG-&gt;JScharCode($LANG-&gt;sL($string));</span>
<a name="l01692"></a>01692 <span class="stringliteral">                $LANG-&gt;lang = $BE_lang;</span>
<a name="l01693"></a>01693 <span class="stringliteral">                $LANG-&gt;origCharSet = $BE_origCharset;</span>
<a name="l01694"></a>01694 <span class="stringliteral">                $LANG-&gt;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-&gt;OutputCharset != 'utf-8') $str = $TSFE-&gt;csConvObj-&gt;utf8_encode($str,$this-&gt;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-&gt;csConvObj-&gt;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,'') &amp;&amp;  t3lib_extMgm::isLoaded($extKey) &amp;&amp; strcmp($local,'')) {</span>
<a name="l01712"></a>01712 <span class="stringliteral">                                $newFilename = $this-&gt;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-&gt;siteURL . $filename;</span>
<a name="l01716"></a>01716 <span class="stringliteral">                } else {</span>
<a name="l01717"></a>01717 <span class="stringliteral">                        $newFilename = $this-&gt;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') &amp;&amp;  $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/') &amp;&amp;  $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'&amp;&amp;$bInfo['VERSION']&gt;=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-&gt;specConf['rte_transform']['parameters']);</span>
<a name="l01832"></a>01832 <span class="stringliteral">                        return $this-&gt;elementParts[0].':'.$this-&gt;elementParts[1].':'.$this-&gt;elementParts[2].':'.$this-&gt;thePid.':'.$this-&gt;typeVal.':'.$this-&gt;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]&amp;&amp;$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 &amp;&amp; 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' &amp;&amp; <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') &amp;&amp; $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">?&gt;</span>
</pre></div><?php
  include_once '../doc-typo3-funcs.php';
  get_footer();
?>