<?php
  include_once '../doc-typo3-funcs.php';
  $doxygen_vars = array(	"title" => "TYPO3 4.0.1: typo3_src-4.0.1/t3lib/class.t3lib_transferdata.php Source File",
				"datetime" => "Sat Dec 2 19:22:19 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_9d0e5c424a38b69aeeedc616a9634e5f.html">t3lib</a></div>
<h1>class.t3lib_transferdata.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) 1999-2006 Kasper Skaarhoj (kasperYYYY@typo3.com)</span>
<a name="l00006"></a>00006 <span class="comment">*  All rights reserved</span>
<a name="l00007"></a>00007 <span class="comment">*</span>
<a name="l00008"></a>00008 <span class="comment">*  This script is part of the TYPO3 project. The TYPO3 project is</span>
<a name="l00009"></a>00009 <span class="comment">*  free software; you can redistribute it and/or modify</span>
<a name="l00010"></a>00010 <span class="comment">*  it under the terms of the GNU General Public License as published by</span>
<a name="l00011"></a>00011 <span class="comment">*  the Free Software Foundation; either version 2 of the License, or</span>
<a name="l00012"></a>00012 <span class="comment">*  (at your option) any later version.</span>
<a name="l00013"></a>00013 <span class="comment">*</span>
<a name="l00014"></a>00014 <span class="comment">*  The GNU General Public License can be found at</span>
<a name="l00015"></a>00015 <span class="comment">*  http://www.gnu.org/copyleft/gpl.html.</span>
<a name="l00016"></a>00016 <span class="comment">*  A copy is found in the textfile GPL.txt and important notices to the license</span>
<a name="l00017"></a>00017 <span class="comment">*  from the author is found in LICENSE.txt distributed with these scripts.</span>
<a name="l00018"></a>00018 <span class="comment">*</span>
<a name="l00019"></a>00019 <span class="comment">*</span>
<a name="l00020"></a>00020 <span class="comment">*  This script is distributed in the hope that it will be useful,</span>
<a name="l00021"></a>00021 <span class="comment">*  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00022"></a>00022 <span class="comment">*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00023"></a>00023 <span class="comment">*  GNU General Public License for more details.</span>
<a name="l00024"></a>00024 <span class="comment">*</span>
<a name="l00025"></a>00025 <span class="comment">*  This copyright notice MUST APPEAR in all copies of the script!</span>
<a name="l00026"></a>00026 <span class="comment">***************************************************************/</span>
<a name="l00075"></a>00075 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_loaddbgroup.php');
<a name="l00076"></a>00076 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_loadmodules.php');
<a name="l00077"></a>00077 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_parsehtml_proc.php');
<a name="l00078"></a>00078 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_flexformtools.php');
<a name="l00079"></a>00079 
<a name="l00080"></a>00080 
<a name="l00081"></a>00081 
<a name="l00082"></a>00082 
<a name="l00083"></a>00083 
<a name="l00084"></a>00084 
<a name="l00085"></a>00085 
<a name="l00086"></a>00086 
<a name="l00087"></a>00087 
<a name="l00088"></a>00088 
<a name="l00089"></a>00089 
<a name="l00090"></a>00090 
<a name="l00098"></a><a class="code" href="classt3lib__transferData.html">00098</a> <span class="keyword">class </span><a class="code" href="classt3lib__transferData.html">t3lib_transferData</a> {
<a name="l00099"></a>00099                 <span class="comment">// External, static:</span>
<a name="l00100"></a><a class="code" href="classt3lib__transferData.html#47d8df50390f4efd43f6327ff2c9bd73">00100</a>         var <a class="code" href="classt3lib__transferData.html#47d8df50390f4efd43f6327ff2c9bd73">$lockRecords</a>=0;                                     <span class="comment">// If set, the records requested are locked.</span>
<a name="l00101"></a><a class="code" href="classt3lib__transferData.html#a297d7621b27060734fc76908fd5d6e4">00101</a>         var <a class="code" href="classt3lib__transferData.html#a297d7621b27060734fc76908fd5d6e4">$disableRTE</a>=0;                                      <span class="comment">// Is set externally if RTE is disabled.</span>
<a name="l00102"></a><a class="code" href="classt3lib__transferData.html#49d9d30ae85f6bbe127729542f6dfab2">00102</a>         var <a class="code" href="classt3lib__transferData.html#49d9d30ae85f6bbe127729542f6dfab2">$prevPageID</a> = '';                           <span class="comment">// If the pid in the command is 'prev' then $prevPageID is used as pid for the record. This is used to attach new records to other previous records eg. new pages.</span>
<a name="l00103"></a><a class="code" href="classt3lib__transferData.html#45ad6e9cb3a91b0e8e86b68e8874a667">00103</a>         var <a class="code" href="classt3lib__transferData.html#45ad6e9cb3a91b0e8e86b68e8874a667">$defVals</a>=array();                                           <span class="comment">// Can be set with an array of default values for tables. First key is table name, second level keys are field names. Originally this was a GLOBAL array used internally.</span>
<a name="l00104"></a><a class="code" href="classt3lib__transferData.html#f7f2bfa4b6f1777805c42e9571bf06fc">00104</a>         var <a class="code" href="classt3lib__transferData.html#f7f2bfa4b6f1777805c42e9571bf06fc">$addRawData</a> = FALSE;                        <span class="comment">// If set, the processed data is overlaid the raw record.</span>
<a name="l00105"></a>00105 
<a name="l00106"></a>00106                 <span class="comment">// Internal, dynamic</span>
<a name="l00107"></a><a class="code" href="classt3lib__transferData.html#4554a4f179c5fece4f7b4c93d751e258">00107</a>         var <a class="code" href="classt3lib__transferData.html#4554a4f179c5fece4f7b4c93d751e258">$regTableItems</a> = Array();           <span class="comment">// Used to register, which items are already loaded!!</span>
<a name="l00108"></a><a class="code" href="classt3lib__transferData.html#abf3e93ceb7de1321579450bc984ffa6">00108</a>         var <a class="code" href="classt3lib__transferData.html#abf3e93ceb7de1321579450bc984ffa6">$regTableItems_data</a> = Array();      <span class="comment">// This stores the record data of the loaded records</span>
<a name="l00109"></a><a class="code" href="classt3lib__transferData.html#64ccb351a1216f4c8892a22602ae4d4a">00109</a>         var <a class="code" href="classt3lib__transferData.html#64ccb351a1216f4c8892a22602ae4d4a">$loadModules</a>='';                            <span class="comment">// Contains loadModules object, if used. (for reuse internally)</span>
<a name="l00110"></a>00110 
<a name="l00111"></a>00111 
<a name="l00112"></a>00112 
<a name="l00113"></a>00113 
<a name="l00114"></a>00114 
<a name="l00115"></a>00115 
<a name="l00116"></a>00116 
<a name="l00117"></a>00117 
<a name="l00118"></a>00118 
<a name="l00119"></a>00119 
<a name="l00120"></a>00120         <span class="comment">/***********************************************</span>
<a name="l00121"></a>00121 <span class="comment">         *</span>
<a name="l00122"></a>00122 <span class="comment">         * Getting record content, ready for display in TCEforms</span>
<a name="l00123"></a>00123 <span class="comment">         *</span>
<a name="l00124"></a>00124 <span class="comment">         ***********************************************/</span>
<a name="l00125"></a>00125 
<a name="l00137"></a><a class="code" href="classt3lib__transferData.html#d0df521d98e150b33fef06358a236198">00137</a>         function <a class="code" href="classt3lib__transferData.html#d0df521d98e150b33fef06358a236198">fetchRecord</a>($table,$idList,$operation) {
<a name="l00138"></a>00138                 global $TCA;
<a name="l00139"></a>00139 
<a name="l00140"></a>00140                 <span class="keywordflow">if</span> ((string)$idList == 'prev')  {$idList = $this-&gt;prevPageID;}
<a name="l00141"></a>00141 
<a name="l00142"></a>00142                 <span class="keywordflow">if</span> ($TCA[$table])       {
<a name="l00143"></a>00143                         <a class="code" href="classt3lib__div.html#3a04dbb9a707317b8beccbe92559dcc8">t3lib_div::loadTCA</a>($table);
<a name="l00144"></a>00144 
<a name="l00145"></a>00145                                 <span class="comment">// For each ID value (integer) we</span>
<a name="l00146"></a>00146                         $ids = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$idList,1);
<a name="l00147"></a>00147                         foreach($ids as $id)    {
<a name="l00148"></a>00148                                 <span class="keywordflow">if</span> (strcmp($id,''))     {       <span class="comment">// If ID is not blank:</span>
<a name="l00149"></a>00149 
<a name="l00150"></a>00150                                                 <span class="comment">// For new records to be created, find default values:</span>
<a name="l00151"></a>00151                                         <span class="keywordflow">if</span> ($operation=='<span class="keyword">new</span>')  {
<a name="l00152"></a>00152 
<a name="l00153"></a>00153                                                         <span class="comment">// Default values:</span>
<a name="l00154"></a>00154                                                 $newRow = Array();      <span class="comment">// Used to store default values as found here:</span>
<a name="l00155"></a>00155 
<a name="l00156"></a>00156                                                         <span class="comment">// Default values as set in userTS:</span>
<a name="l00157"></a>00157                                                 $TCAdefaultOverride = $GLOBALS['BE_USER']-&gt;getTSConfigProp('TCAdefaults');
<a name="l00158"></a>00158                                                 <span class="keywordflow">if</span> (is_array($TCAdefaultOverride[$table.<span class="charliteral">'.'</span>]))  {
<a name="l00159"></a>00159                                                         foreach($TCAdefaultOverride[$table.<span class="charliteral">'.'</span>] as $theF =&gt; $theV)      {
<a name="l00160"></a>00160                                                                 <span class="keywordflow">if</span> (isset($TCA[$table]['columns'][$theF]))      {
<a name="l00161"></a>00161                                                                         $newRow[$theF]=$theV;
<a name="l00162"></a>00162                                                                 }
<a name="l00163"></a>00163                                                         }
<a name="l00164"></a>00164                                                 }
<a name="l00165"></a>00165 
<a name="l00166"></a>00166                                                         <span class="comment">// Default values as submitted:</span>
<a name="l00167"></a>00167                                                 <span class="keywordflow">if</span> (is_array($this-&gt;defVals[$table]))   {
<a name="l00168"></a>00168                                                         foreach($this-&gt;defVals[$table] as $theF =&gt; $theV)       {
<a name="l00169"></a>00169                                                                 <span class="keywordflow">if</span> (isset($TCA[$table]['columns'][$theF]))      {
<a name="l00170"></a>00170                                                                         $newRow[$theF]=$theV;
<a name="l00171"></a>00171                                                                 }
<a name="l00172"></a>00172                                                         }
<a name="l00173"></a>00173                                                 }
<a name="l00174"></a>00174 
<a name="l00175"></a>00175                                                         <span class="comment">// Fetch default values if a previous record exists</span>
<a name="l00176"></a>00176                                                 <span class="keywordflow">if</span> ($id&lt;0 &amp;&amp; $TCA[$table]['ctrl']['useColumnsForDefaultValues'])        {
<a name="l00177"></a>00177                                                                 <span class="comment">// Fetches the previous record:</span>
<a name="l00178"></a>00178                                                         $res = $GLOBALS['TYPO3_DB']-&gt;exec_SELECTquery(<span class="charliteral">'*'</span>, $table, 'uid='.abs($id).<a class="code" href="classt3lib__BEfunc.html#16c74b2f662fa4157494b0e9caacaefb">t3lib_BEfunc::deleteClause</a>($table));
<a name="l00179"></a>00179                                                         <span class="keywordflow">if</span> ($row = $GLOBALS['TYPO3_DB']-&gt;sql_fetch_assoc($res)) {
<a name="l00180"></a>00180                                                                         <span class="comment">// Gets the list of fields to copy from the previous record.</span>
<a name="l00181"></a>00181                                                                 $fArr=<a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$TCA[$table]['ctrl']['useColumnsForDefaultValues'],1);
<a name="l00182"></a>00182                                                                 <span class="keywordflow">while</span>(list(,$theF)=each($fArr)) {
<a name="l00183"></a>00183                                                                         <span class="keywordflow">if</span> (isset($TCA[$table]['columns'][$theF]))      {
<a name="l00184"></a>00184                                                                                 $newRow[$theF]=$row[$theF];
<a name="l00185"></a>00185                                                                         }
<a name="l00186"></a>00186                                                                 }
<a name="l00187"></a>00187                                                         }
<a name="l00188"></a>00188                                                         $GLOBALS['TYPO3_DB']-&gt;sql_free_result($res);
<a name="l00189"></a>00189                                                 }
<a name="l00190"></a>00190 
<a name="l00191"></a>00191                                                         <span class="comment">// Finally, call renderRecord:</span>
<a name="l00192"></a>00192                                                 $this-&gt;<a class="code" href="classt3lib__transferData.html#904dfe961a277c23955ed1b79b62f995">renderRecord</a>($table, uniqid('NEW'), $id, $newRow);
<a name="l00193"></a>00193                                         } <span class="keywordflow">else</span> {
<a name="l00194"></a>00194                                                 $id=intval($id);
<a name="l00195"></a>00195 
<a name="l00196"></a>00196                                                         <span class="comment">// Fetch database values</span>
<a name="l00197"></a>00197                                                 $res = $GLOBALS['TYPO3_DB']-&gt;exec_SELECTquery(<span class="charliteral">'*'</span>, $table, 'uid='.intval($id).<a class="code" href="classt3lib__BEfunc.html#16c74b2f662fa4157494b0e9caacaefb">t3lib_BEfunc::deleteClause</a>($table));
<a name="l00198"></a>00198                                                 <span class="keywordflow">if</span> ($row = $GLOBALS['TYPO3_DB']-&gt;sql_fetch_assoc($res)) {
<a name="l00199"></a>00199                                                         <a class="code" href="classt3lib__BEfunc.html#c4165ad61bfbf28a42389ab1c5072392">t3lib_BEfunc::fixVersioningPid</a>($table,$row);
<a name="l00200"></a>00200                                                         $this-&gt;<a class="code" href="classt3lib__transferData.html#904dfe961a277c23955ed1b79b62f995">renderRecord</a>($table, $id, $row['pid'], $row);
<a name="l00201"></a>00201                                                         $contentTable = $GLOBALS['TYPO3_CONF_VARS']['SYS']['contentTable'];
<a name="l00202"></a>00202                                                         $this-&gt;<a class="code" href="classt3lib__transferData.html#a0361df2a539986e879b5043d66a8bc0">lockRecord</a>($table, $id, $contentTable==$table?$row['pid']:0);    <span class="comment">// Locking the pid if the table edited is the content table.</span>
<a name="l00203"></a>00203                                                 }
<a name="l00204"></a>00204                                                 $GLOBALS['TYPO3_DB']-&gt;sql_free_result($res);
<a name="l00205"></a>00205                                         }
<a name="l00206"></a>00206                                 }
<a name="l00207"></a>00207                         }
<a name="l00208"></a>00208                 }
<a name="l00209"></a>00209         }
<a name="l00210"></a>00210 
<a name="l00224"></a><a class="code" href="classt3lib__transferData.html#904dfe961a277c23955ed1b79b62f995">00224</a>         function <a class="code" href="classt3lib__transferData.html#904dfe961a277c23955ed1b79b62f995">renderRecord</a>($table, $id, $pid, $row)  {
<a name="l00225"></a>00225                 global $TCA;
<a name="l00226"></a>00226 
<a name="l00227"></a>00227                         <span class="comment">// Init:</span>
<a name="l00228"></a>00228                 $uniqueItemRef = $table.<span class="charliteral">'_'</span>.$id;
<a name="l00229"></a>00229                 <a class="code" href="classt3lib__div.html#3a04dbb9a707317b8beccbe92559dcc8">t3lib_div::loadTCA</a>($table);
<a name="l00230"></a>00230 
<a name="l00231"></a>00231                         <span class="comment">// Fetches the true PAGE TSconfig pid to use later, if needed. (Until now, only for the RTE, but later..., who knows?)</span>
<a name="l00232"></a>00232                 list($tscPID)=<a class="code" href="classt3lib__BEfunc.html#2030470c687cd5e4605b5412d8681724">t3lib_BEfunc::getTSCpid</a>($table,$id,$pid);
<a name="l00233"></a>00233                 $TSconfig = <a class="code" href="classt3lib__BEfunc.html#522caf53343de891bdb1a7caa5fe556e">t3lib_BEfunc::getTCEFORM_TSconfig</a>($table,array_merge($row,array('uid'=&gt;$id,'pid'=&gt;$pid)));
<a name="l00234"></a>00234 
<a name="l00235"></a>00235                         <span class="comment">// If the record has not already been loaded (in which case we DON'T do it again)...</span>
<a name="l00236"></a>00236                 <span class="keywordflow">if</span> (!$this-&gt;regTableItems[$uniqueItemRef])      {
<a name="l00237"></a>00237                         $this-&gt;regTableItems[$uniqueItemRef] = 1;       <span class="comment">// set "loaded" flag.</span>
<a name="l00238"></a>00238 
<a name="l00239"></a>00239                                 <span class="comment">// If the table is pages, set the previous page id internally.</span>
<a name="l00240"></a>00240                         <span class="keywordflow">if</span> ($table == 'pages')  {$this-&gt;prevPageID = $id;}
<a name="l00241"></a>00241 
<a name="l00242"></a>00242                         $this-&gt;regTableItems_data[$uniqueItemRef] = $this-&gt;<a class="code" href="classt3lib__transferData.html#510f208a8c9ad8c332089fe99a97da9b">renderRecordRaw</a>($table, $id, $pid, $row, $TSconfig, $tscPID);
<a name="l00243"></a>00243 
<a name="l00244"></a>00244                                 <span class="comment">// Merges the processed array on-top of the raw one - this is done because some things in TCEforms may need access to other fields than those in the columns configuration!</span>
<a name="l00245"></a>00245                         <span class="keywordflow">if</span> ($this-&gt;addRawData &amp;&amp; is_array($row) &amp;&amp; is_array($this-&gt;regTableItems_data[$uniqueItemRef])) {
<a name="l00246"></a>00246                                 $this-&gt;regTableItems_data[$uniqueItemRef] = array_merge($row, $this-&gt;regTableItems_data[$uniqueItemRef]);
<a name="l00247"></a>00247                         }
<a name="l00248"></a>00248                 }
<a name="l00249"></a>00249         }
<a name="l00250"></a>00250 
<a name="l00251"></a>00251 
<a name="l00252"></a>00252 
<a name="l00268"></a><a class="code" href="classt3lib__transferData.html#510f208a8c9ad8c332089fe99a97da9b">00268</a>         function <a class="code" href="classt3lib__transferData.html#510f208a8c9ad8c332089fe99a97da9b">renderRecordRaw</a>($table, $id, $pid, $row, $TSconfig='', $tscPID=0)      {
<a name="l00269"></a>00269                 global $TCA;
<a name="l00270"></a>00270 
<a name="l00271"></a>00271                 <span class="keywordflow">if</span>(!is_array($TSconfig)) {
<a name="l00272"></a>00272                         $TSconfig = array();
<a name="l00273"></a>00273                 }
<a name="l00274"></a>00274 
<a name="l00275"></a>00275                         <span class="comment">// Create blank accumulation array:</span>
<a name="l00276"></a>00276                 $totalRecordContent=array();
<a name="l00277"></a>00277 
<a name="l00278"></a>00278                         <span class="comment">// Traverse the configured columns for the table (TCA):</span>
<a name="l00279"></a>00279                         <span class="comment">// For each column configured, we will perform processing if needed based on the type (eg. for "group" and "select" types this is needed)</span>
<a name="l00280"></a>00280                 <a class="code" href="classt3lib__div.html#3a04dbb9a707317b8beccbe92559dcc8">t3lib_div::loadTCA</a>($table);
<a name="l00281"></a>00281                 $copyOfColumns = $TCA[$table]['columns'];
<a name="l00282"></a>00282                 foreach($copyOfColumns as $field =&gt; $fieldConfig)       {
<a name="l00283"></a>00283                                 <span class="comment">// Set $data variable for the field, either inputted value from $row - or if not found, the default value as defined in the "config" array</span>
<a name="l00284"></a>00284                         <span class="keywordflow">if</span> (isset($row[$field]))        {
<a name="l00285"></a>00285                                 $data = $row[$field];
<a name="l00286"></a>00286                         } <span class="keywordflow">else</span> {
<a name="l00287"></a>00287                                 $data = $fieldConfig['config']['<span class="keywordflow">default</span>'];
<a name="l00288"></a>00288                         }
<a name="l00289"></a>00289 
<a name="l00290"></a>00290                         $data = $this-&gt;<a class="code" href="classt3lib__transferData.html#2bac0f3e8ed04f55cc7b9d16aa9c9b40">renderRecord_SW</a>($data,$fieldConfig,$TSconfig,$table,$row,$field);
<a name="l00291"></a>00291 
<a name="l00292"></a>00292                                 <span class="comment">// Set the field in the accumulation array IF the $data variabel is set:</span>
<a name="l00293"></a>00293                         $totalRecordContent[$field] = isset($data) ? $data : '';
<a name="l00294"></a>00294                 }
<a name="l00295"></a>00295 
<a name="l00296"></a>00296                         <span class="comment">// Further processing may apply for each field in the record depending on the settings in the "types" configuration (the list of fields to currently display for a record in TCEforms).</span>
<a name="l00297"></a>00297                         <span class="comment">// For instance this could be processing instructions for the Rich Text Editor.</span>
<a name="l00298"></a>00298                 $types_fieldConfig = <a class="code" href="classt3lib__BEfunc.html#29c7b0869b57c5070fc7760b05ec3eea">t3lib_BEfunc::getTCAtypes</a>($table,$totalRecordContent);
<a name="l00299"></a>00299                 <span class="keywordflow">if</span> (is_array($types_fieldConfig))       {
<a name="l00300"></a>00300                         $totalRecordContent = $this-&gt;<a class="code" href="classt3lib__transferData.html#6bd06d916dc5109a2cd3a7307c3ccfcb">renderRecord_typesProc</a>($totalRecordContent,$types_fieldConfig,$tscPID,$table,$pid);
<a name="l00301"></a>00301                 }
<a name="l00302"></a>00302 
<a name="l00303"></a>00303                         <span class="comment">// Register items, mostly for external use (overriding the regItem() function)</span>
<a name="l00304"></a>00304                 foreach($totalRecordContent as $field =&gt; $data) {
<a name="l00305"></a>00305                         $this-&gt;<a class="code" href="classt3lib__transferData.html#d035906709dd895b75cff26475f2ebd5">regItem</a>($table,$id,$field,$data);
<a name="l00306"></a>00306                 }
<a name="l00307"></a>00307 
<a name="l00308"></a>00308                         <span class="comment">// Finally, store the result:</span>
<a name="l00309"></a>00309                 reset($totalRecordContent);
<a name="l00310"></a>00310 
<a name="l00311"></a>00311                 <span class="keywordflow">return</span> $totalRecordContent;
<a name="l00312"></a>00312 
<a name="l00313"></a>00313         }
<a name="l00314"></a>00314 
<a name="l00326"></a><a class="code" href="classt3lib__transferData.html#2bac0f3e8ed04f55cc7b9d16aa9c9b40">00326</a>         function <a class="code" href="classt3lib__transferData.html#2bac0f3e8ed04f55cc7b9d16aa9c9b40">renderRecord_SW</a>($data,$fieldConfig,$TSconfig,$table,$row,$field)       {
<a name="l00327"></a>00327 
<a name="l00328"></a>00328                 <span class="keywordflow">switch</span>((string)$fieldConfig['config']['type'])  {
<a name="l00329"></a>00329                         <span class="keywordflow">case</span> 'group':
<a name="l00330"></a>00330                                 $data = $this-&gt;<a class="code" href="classt3lib__transferData.html#8b9f19ebd1db3ad9d2ced1ff6a9be10c">renderRecord_groupProc</a>($data,$fieldConfig,$TSconfig,$table,$row,$field);
<a name="l00331"></a>00331                         <span class="keywordflow">break</span>;
<a name="l00332"></a>00332                         <span class="keywordflow">case</span> 'select':
<a name="l00333"></a>00333                                 $data = $this-&gt;<a class="code" href="classt3lib__transferData.html#c7a30ec5e211f0fc10f592b03234a2b3">renderRecord_selectProc</a>($data,$fieldConfig,$TSconfig,$table,$row,$field);
<a name="l00334"></a>00334                         <span class="keywordflow">break</span>;
<a name="l00335"></a>00335                         <span class="keywordflow">case</span> 'flex':
<a name="l00336"></a>00336                                 $data = $this-&gt;<a class="code" href="classt3lib__transferData.html#943b37f543dbe2e8559ce229965042a2">renderRecord_flexProc</a>($data,$fieldConfig,$TSconfig,$table,$row,$field);
<a name="l00337"></a>00337                         <span class="keywordflow">break</span>;
<a name="l00338"></a>00338                 }
<a name="l00339"></a>00339 
<a name="l00340"></a>00340                 <span class="keywordflow">return</span> $data;
<a name="l00341"></a>00341         }
<a name="l00342"></a>00342 
<a name="l00356"></a><a class="code" href="classt3lib__transferData.html#8b9f19ebd1db3ad9d2ced1ff6a9be10c">00356</a>         function <a class="code" href="classt3lib__transferData.html#8b9f19ebd1db3ad9d2ced1ff6a9be10c">renderRecord_groupProc</a>($data,$fieldConfig,$TSconfig,$table,$row,$field)        {
<a name="l00357"></a>00357                 <span class="keywordflow">switch</span> ($fieldConfig['config']['internal_type'])        {
<a name="l00358"></a>00358                         <span class="keywordflow">case</span> 'file':
<a name="l00359"></a>00359                                         <span class="comment">// Init array used to accumulate the files:</span>
<a name="l00360"></a>00360                                 $dataAcc=array();
<a name="l00361"></a>00361 
<a name="l00362"></a>00362                                         <span class="comment">// Now, load the files into the $dataAcc array, whether stored by MM or as a list of filenames:</span>
<a name="l00363"></a>00363                                 <span class="keywordflow">if</span> ($fieldConfig['config']['MM'])       {
<a name="l00364"></a>00364                                         $loadDB = <a class="code" href="classt3lib__div.html#b47f8a8e8be44b79a0b8064dcd427bc1">t3lib_div::makeInstance</a>('<a class="code" href="classt3lib__loadDBGroup.html">t3lib_loadDBGroup</a>');
<a name="l00365"></a>00365                                         $loadDB-&gt;start('', 'files', $fieldConfig['config']['MM'], $row['uid']); <span class="comment">// Setting dummy startup</span>
<a name="l00366"></a>00366 
<a name="l00367"></a>00367                                         foreach($loadDB-&gt;itemArray as $value)   {
<a name="l00368"></a>00368                                                 <span class="keywordflow">if</span> ($value['<span class="keywordtype">id</span>'])       {
<a name="l00369"></a>00369                                                         $dataAcc[]=rawurlencode($value['<span class="keywordtype">id</span>']).<span class="charliteral">'|'</span>.rawurlencode($value['<span class="keywordtype">id</span>']);
<a name="l00370"></a>00370                                                 }
<a name="l00371"></a>00371                                         }
<a name="l00372"></a>00372                                 } <span class="keywordflow">else</span> {
<a name="l00373"></a>00373                                         $fileList = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$data,1);
<a name="l00374"></a>00374                                         foreach($fileList as $value)    {
<a name="l00375"></a>00375                                                 <span class="keywordflow">if</span> ($value)     {
<a name="l00376"></a>00376                                                         $dataAcc[]=rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode($value);
<a name="l00377"></a>00377                                                 }
<a name="l00378"></a>00378                                         }
<a name="l00379"></a>00379                                 }
<a name="l00380"></a>00380                                         <span class="comment">// Implode the accumulation array to a comma separated string:</span>
<a name="l00381"></a>00381                                 $data = implode(<span class="charliteral">','</span>,$dataAcc);
<a name="l00382"></a>00382                         <span class="keywordflow">break</span>;
<a name="l00383"></a>00383                         <span class="keywordflow">case</span> 'db':
<a name="l00384"></a>00384                                 $loadDB = <a class="code" href="classt3lib__div.html#b47f8a8e8be44b79a0b8064dcd427bc1">t3lib_div::makeInstance</a>('<a class="code" href="classt3lib__loadDBGroup.html">t3lib_loadDBGroup</a>');
<a name="l00385"></a>00385                                 $loadDB-&gt;start($data, $fieldConfig['config']['allowed'], $fieldConfig['config']['MM'], $row['uid']);
<a name="l00386"></a>00386                                 $loadDB-&gt;getFromDB();
<a name="l00387"></a>00387                                 $data = $loadDB-&gt;readyForInterface();
<a name="l00388"></a>00388                         <span class="keywordflow">break</span>;
<a name="l00389"></a>00389                 }
<a name="l00390"></a>00390 
<a name="l00391"></a>00391                 <span class="keywordflow">return</span> $data;
<a name="l00392"></a>00392         }
<a name="l00393"></a>00393 
<a name="l00407"></a><a class="code" href="classt3lib__transferData.html#c7a30ec5e211f0fc10f592b03234a2b3">00407</a>         function <a class="code" href="classt3lib__transferData.html#c7a30ec5e211f0fc10f592b03234a2b3">renderRecord_selectProc</a>($data,$fieldConfig,$TSconfig,$table,$row,$field)       {
<a name="l00408"></a>00408                 global $TCA;
<a name="l00409"></a>00409 
<a name="l00410"></a>00410                         <span class="comment">// Initialize:</span>
<a name="l00411"></a>00411                 $elements = <a class="code" href="classt3lib__div.html#cfb87d585b85e9b32841bde40beaa96c">t3lib_div::trimExplode</a>(<span class="charliteral">','</span>,$data,1);        <span class="comment">// Current data set.</span>
<a name="l00412"></a>00412                 $dataAcc=array();       <span class="comment">// New data set, ready for interface (list of values, rawurlencoded)</span>
<a name="l00413"></a>00413 
<a name="l00414"></a>00414                         <span class="comment">// For list selectors (multi-value):</span>
<a name="l00415"></a>00415                 <span class="keywordflow">if</span> (intval($fieldConfig['config']['maxitems'])&gt;1)       {
<a name="l00416"></a>00416 
<a name="l00417"></a>00417                                 <span class="comment">// Add regular elements:</span>
<a name="l00418"></a>00418                         <span class="keywordflow">if</span> (is_array($fieldConfig['config']['items']))  {
<a name="l00419"></a>00419                                 $fieldConfig['config']['items'] = $this-&gt;<a class="code" href="classt3lib__transferData.html#3e6e182c5429c04b5e90cf188d5b9b13">procesItemArray</a>($fieldConfig['config']['items'], $fieldConfig['config'], $TSconfig[$field], $table, $row, $field);
<a name="l00420"></a>00420                                 foreach($fieldConfig['config']['items'] as $pvpv)       {
<a name="l00421"></a>00421                                         foreach($elements as $eKey =&gt; $value)   {
<a name="l00422"></a>00422                                                 <span class="keywordflow">if</span> (!strcmp($value,$pvpv[1]))   {
<a name="l00423"></a>00423                                                         $dataAcc[$eKey]=rawurlencode($pvpv[1]).<span class="charliteral">'|'</span>.rawurlencode($this-&gt;<a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">sL</a>($pvpv[0]));
<a name="l00424"></a>00424                                                 }
<a name="l00425"></a>00425                                         }
<a name="l00426"></a>00426                                 }
<a name="l00427"></a>00427                         }
<a name="l00428"></a>00428 
<a name="l00429"></a>00429                                 <span class="comment">// Add "special"</span>
<a name="l00430"></a>00430                         <span class="keywordflow">if</span> ($fieldConfig['config']['special'])  {
<a name="l00431"></a>00431                                 $dataAcc = $this-&gt;<a class="code" href="classt3lib__transferData.html#34be0d5f599c2cef2fd3af89e68e8695">selectAddSpecial</a>($dataAcc, $elements, $fieldConfig['config']['special']);
<a name="l00432"></a>00432                         }
<a name="l00433"></a>00433 
<a name="l00434"></a>00434                                 <span class="comment">// Add "foreign table" stuff:</span>
<a name="l00435"></a>00435                         <span class="keywordflow">if</span> ($TCA[$fieldConfig['config']['foreign_table']])      {
<a name="l00436"></a>00436                                 $dataAcc = $this-&gt;<a class="code" href="classt3lib__transferData.html#4e1539a6493d6354a43f2916ed55071e">selectAddForeign</a>($dataAcc, $elements, $fieldConfig, $field, $TSconfig, $row);
<a name="l00437"></a>00437                         }
<a name="l00438"></a>00438 
<a name="l00439"></a>00439                                 <span class="comment">// Always keep the native order for display in interface:</span>
<a name="l00440"></a>00440                         ksort($dataAcc);
<a name="l00441"></a>00441                 } <span class="keywordflow">else</span> {        <span class="comment">// Normal, &lt;= 1 -&gt; value without title on it</span>
<a name="l00442"></a>00442                         <span class="keywordflow">if</span> ($TCA[$fieldConfig['config']['foreign_table']])      {
<a name="l00443"></a>00443                                 <span class="comment">// Getting the data</span>
<a name="l00444"></a>00444                                 $dataIds = $this-&gt;<a class="code" href="classt3lib__transferData.html#050376e27992afb8cc79a8a35c1922d8">getDataIdList</a>($elements, $fieldConfig, $row);
<a name="l00445"></a>00445 
<a name="l00446"></a>00446                                 <span class="keywordflow">if</span> (!count($dataIds))   $dataIds = array(0);
<a name="l00447"></a>00447                                 $dataAcc[]=$dataIds[0];
<a name="l00448"></a>00448                         } <span class="keywordflow">else</span> {
<a name="l00449"></a>00449                                 $dataAcc[]=$elements[0];
<a name="l00450"></a>00450                         }
<a name="l00451"></a>00451                 }
<a name="l00452"></a>00452 
<a name="l00453"></a>00453                 <span class="keywordflow">return</span> implode(<span class="charliteral">','</span>,$dataAcc);
<a name="l00454"></a>00454         }
<a name="l00455"></a>00455 
<a name="l00470"></a><a class="code" href="classt3lib__transferData.html#943b37f543dbe2e8559ce229965042a2">00470</a>         function <a class="code" href="classt3lib__transferData.html#943b37f543dbe2e8559ce229965042a2">renderRecord_flexProc</a>($data,$fieldConfig,$TSconfig,$table,$row,$field) {
<a name="l00471"></a>00471                 global $TCA;
<a name="l00472"></a>00472 
<a name="l00473"></a>00473                         <span class="comment">// Convert the XML data to PHP array:</span>
<a name="l00474"></a>00474                 $currentValueArray = <a class="code" href="classt3lib__div.html#4f6203e563def3f905bf40fd217ce705">t3lib_div::xml2array</a>($data);
<a name="l00475"></a>00475                 <span class="keywordflow">if</span> (is_array($currentValueArray))       {
<a name="l00476"></a>00476 
<a name="l00477"></a>00477                                 <span class="comment">// Get current value array:</span>
<a name="l00478"></a>00478                         $dataStructArray = <a class="code" href="classt3lib__BEfunc.html#10ff8b4f81ae6579c99559208fe0d318">t3lib_BEfunc::getFlexFormDS</a>($fieldConfig['config'],$row,$table);
<a name="l00479"></a>00479                         <span class="keywordflow">if</span> (is_array($dataStructArray)) {
<a name="l00480"></a>00480                                 $currentValueArray['data'] = $this-&gt;<a class="code" href="classt3lib__transferData.html#a7816318e24789812f422470ef511898">renderRecord_flexProc_procInData</a>($currentValueArray['data'],$dataStructArray,array($data,$fieldConfig,$TSconfig,$table,$row,$field));
<a name="l00481"></a>00481 
<a name="l00482"></a>00482                                 $flexObj = <a class="code" href="classt3lib__div.html#b47f8a8e8be44b79a0b8064dcd427bc1">t3lib_div::makeInstance</a>('<a class="code" href="classt3lib__flexformtools.html">t3lib_flexformtools</a>');
<a name="l00483"></a>00483                                 $data = $flexObj-&gt;flexArray2Xml($currentValueArray, TRUE);
<a name="l00484"></a>00484                         }
<a name="l00485"></a>00485                 }
<a name="l00486"></a>00486 
<a name="l00487"></a>00487                 <span class="keywordflow">return</span> $data;
<a name="l00488"></a>00488         }
<a name="l00489"></a>00489 
<a name="l00501"></a><a class="code" href="classt3lib__transferData.html#6bd06d916dc5109a2cd3a7307c3ccfcb">00501</a>         function <a class="code" href="classt3lib__transferData.html#6bd06d916dc5109a2cd3a7307c3ccfcb">renderRecord_typesProc</a>($totalRecordContent,$types_fieldConfig,$tscPID,$table,$pid)     {
<a name="l00502"></a>00502                 foreach($types_fieldConfig as $vconf)   {
<a name="l00503"></a>00503 
<a name="l00504"></a>00504                                 <span class="comment">// Find file to write to, if configured:</span>
<a name="l00505"></a>00505                         $eFile = <a class="code" href="classt3lib__parsehtml__proc.html#e6e448146416730c6e56c7d69a3a4ee4">t3lib_parsehtml_proc::evalWriteFile</a>($vconf['spec']['static_write'],$totalRecordContent);
<a name="l00506"></a>00506 
<a name="l00507"></a>00507                                 <span class="comment">// Write file configuration:</span>
<a name="l00508"></a>00508                         <span class="keywordflow">if</span> (is_array($eFile))   {
<a name="l00509"></a>00509                                 <span class="keywordflow">if</span> ($eFile['loadFromFileField'] &amp;&amp; $totalRecordContent[$eFile['loadFromFileField']])    {
<a name="l00510"></a>00510                                                 <span class="comment">// Read the external file, and insert the content between the ###TYPO3_STATICFILE_EDIT### markers:</span>
<a name="l00511"></a>00511                                         $SW_fileContent = t3lib_div::getUrl($eFile['editFile']);
<a name="l00512"></a>00512                                         $parseHTML = <a class="code" href="classt3lib__div.html#b47f8a8e8be44b79a0b8064dcd427bc1">t3lib_div::makeInstance</a>('<a class="code" href="classt3lib__parsehtml__proc.html">t3lib_parsehtml_proc</a>');
<a name="l00513"></a>00513                                         $parseHTML-&gt;init('<span class="charliteral">','</span>');
<a name="l00514"></a>00514 
<a name="l00515"></a>00515                                         $totalRecordContent[$vconf['field']] = $parseHTML-&gt;getSubpart(
<a name="l00516"></a>00516                                                 $SW_fileContent,
<a name="l00517"></a>00517                                                 $eFile['markerField']&amp;&amp;trim($totalRecordContent[$eFile['markerField']])
<a name="l00518"></a>00518                                                         ? trim($totalRecordContent[$eFile['markerField']])
<a name="l00519"></a>00519                                                         : '###TYPO3_STATICFILE_EDIT###'
<a name="l00520"></a>00520                                         );
<a name="l00521"></a>00521                                 }
<a name="l00522"></a>00522                         }
<a name="l00523"></a>00523                 }
<a name="l00524"></a>00524 
<a name="l00525"></a>00525                 <span class="keywordflow">return</span> $totalRecordContent;
<a name="l00526"></a>00526         }
<a name="l00527"></a>00527 
<a name="l00528"></a>00528 
<a name="l00529"></a>00529 
<a name="l00530"></a>00530 
<a name="l00531"></a>00531 
<a name="l00532"></a>00532 
<a name="l00533"></a>00533 
<a name="l00534"></a>00534 
<a name="l00535"></a>00535 
<a name="l00536"></a>00536 
<a name="l00537"></a>00537 
<a name="l00538"></a>00538 
<a name="l00539"></a>00539 
<a name="l00540"></a>00540 
<a name="l00541"></a>00541         <span class="comment">/***********************************************</span>
<a name="l00542"></a>00542 <span class="comment">         *</span>
<a name="l00543"></a>00543 <span class="comment">         * FlexForm processing functions</span>
<a name="l00544"></a>00544 <span class="comment">         *</span>
<a name="l00545"></a>00545 <span class="comment">         ***********************************************/</span>
<a name="l00546"></a>00546 
<a name="l00557"></a><a class="code" href="classt3lib__transferData.html#a7816318e24789812f422470ef511898">00557</a>         function <a class="code" href="classt3lib__transferData.html#a7816318e24789812f422470ef511898">renderRecord_flexProc_procInData</a>($dataPart,$dataStructArray,$pParams)  {
<a name="l00558"></a>00558                 <span class="keywordflow">if</span> (is_array($dataPart))        {
<a name="l00559"></a>00559                         foreach($dataPart as $sKey =&gt; $sheetDef)        {
<a name="l00560"></a>00560                                 list ($dataStruct,$actualSheet) = <a class="code" href="classt3lib__div.html#ca3046965acf04496029499d52c275e2">t3lib_div::resolveSheetDefInDS</a>($dataStructArray,$sKey);
<a name="l00561"></a>00561 
<a name="l00562"></a>00562                                 <span class="keywordflow">if</span> (is_array($dataStruct) &amp;&amp; $actualSheet==$sKey &amp;&amp; is_array($sheetDef))        {
<a name="l00563"></a>00563                                         foreach($sheetDef as $lKey =&gt; $lData)   {
<a name="l00564"></a>00564                                                 $this-&gt;<a class="code" href="classt3lib__transferData.html#6e344d80f214cd5f73c369b45e932821">renderRecord_flexProc_procInData_travDS</a>(
<a name="l00565"></a>00565                                                         $dataPart[$sKey][$lKey],
<a name="l00566"></a>00566                                                         $dataStruct['ROOT']['el'],
<a name="l00567"></a>00567                                                         $pParams
<a name="l00568"></a>00568                                                 );
<a name="l00569"></a>00569                                         }
<a name="l00570"></a>00570                                 }
<a name="l00571"></a>00571                         }
<a name="l00572"></a>00572                 }
<a name="l00573"></a>00573 
<a name="l00574"></a>00574                 <span class="keywordflow">return</span> $dataPart;
<a name="l00575"></a>00575         }
<a name="l00576"></a>00576 
<a name="l00586"></a><a class="code" href="classt3lib__transferData.html#6e344d80f214cd5f73c369b45e932821">00586</a>         function <a class="code" href="classt3lib__transferData.html#6e344d80f214cd5f73c369b45e932821">renderRecord_flexProc_procInData_travDS</a>(&amp;$dataValues,$DSelements,$pParams)             {
<a name="l00587"></a>00587                 <span class="keywordflow">if</span> (is_array($DSelements))      {
<a name="l00588"></a>00588 
<a name="l00589"></a>00589                                 <span class="comment">// For each DS element:</span>
<a name="l00590"></a>00590                         foreach($DSelements as $key =&gt; $dsConf) {
<a name="l00591"></a>00591 
<a name="l00592"></a>00592                                                 <span class="comment">// Array/Section:</span>
<a name="l00593"></a>00593                                 <span class="keywordflow">if</span> ($DSelements[$key]['type']=='array') {
<a name="l00594"></a>00594                                         <span class="keywordflow">if</span> (is_array($dataValues[$key]['el']))  {
<a name="l00595"></a>00595                                                 <span class="keywordflow">if</span> ($DSelements[$key]['section'])       {
<a name="l00596"></a>00596                                                         foreach($dataValues[$key]['el'] as $ik =&gt; $el)  {
<a name="l00597"></a>00597                                                                 $theKey = key($el);
<a name="l00598"></a>00598                                                                 <span class="keywordflow">if</span> (is_array($dataValues[$key]['el'][$ik][$theKey]['el']))      {
<a name="l00599"></a>00599                                                                         $this-&gt;<a class="code" href="classt3lib__transferData.html#6e344d80f214cd5f73c369b45e932821">renderRecord_flexProc_procInData_travDS</a>(
<a name="l00600"></a>00600                                                                                         $dataValues[$key]['el'][$ik][$theKey]['el'],
<a name="l00601"></a>00601                                                                                         $DSelements[$key]['el'][$theKey]['el'],
<a name="l00602"></a>00602                                                                                         $pParams
<a name="l00603"></a>00603                                                                                 );
<a name="l00604"></a>00604                                                                 }
<a name="l00605"></a>00605                                                         }
<a name="l00606"></a>00606                                                 } <span class="keywordflow">else</span> {
<a name="l00607"></a>00607                                                         <span class="keywordflow">if</span> (!isset($dataValues[$key]['el']))    $dataValues[$key]['el']=array();
<a name="l00608"></a>00608                                                         $this-&gt;<a class="code" href="classt3lib__transferData.html#6e344d80f214cd5f73c369b45e932821">renderRecord_flexProc_procInData_travDS</a>(
<a name="l00609"></a>00609                                                                         $dataValues[$key]['el'],
<a name="l00610"></a>00610                                                                         $DSelements[$key]['el'],
<a name="l00611"></a>00611                                                                         $pParams
<a name="l00612"></a>00612                                                                 );
<a name="l00613"></a>00613                                                 }
<a name="l00614"></a>00614                                         }
<a name="l00615"></a>00615                                 } <span class="keywordflow">else</span> {
<a name="l00616"></a>00616                                         <span class="keywordflow">if</span> (is_array($dsConf['TCEforms']['config']) &amp;&amp; is_array($dataValues[$key]))     {
<a name="l00617"></a>00617                                                 foreach($dataValues[$key] as $vKey =&gt; $data)    {
<a name="l00618"></a>00618 
<a name="l00619"></a>00619                                                                 <span class="comment">// $data,$fieldConfig,$TSconfig,$table,$row,$field</span>
<a name="l00620"></a>00620                                                         list(,,$CVTSconfig,$CVtable,$CVrow,$CVfield) = $pParams;
<a name="l00621"></a>00621 ;
<a name="l00622"></a>00622                                                                 <span class="comment">// Set default value:</span>
<a name="l00623"></a>00623                                                         <span class="keywordflow">if</span> (!isset($dataValues[$key][$vKey]))   {
<a name="l00624"></a>00624                                                                 $dataValues[$key][$vKey] = $dsConf['TCEforms']['config']['<span class="keywordflow">default</span>'];
<a name="l00625"></a>00625                                                         }
<a name="l00626"></a>00626 
<a name="l00627"></a>00627                                                                 <span class="comment">// Process value:</span>
<a name="l00628"></a>00628                                                         $dataValues[$key][$vKey] = $this-&gt;<a class="code" href="classt3lib__transferData.html#2bac0f3e8ed04f55cc7b9d16aa9c9b40">renderRecord_SW</a>($dataValues[$key][$vKey],$dsConf['TCEforms'],$CVTSconfig,$CVtable,$CVrow,'');
<a name="l00629"></a>00629                                                 }
<a name="l00630"></a>00630                                         }
<a name="l00631"></a>00631                                 }
<a name="l00632"></a>00632                         }
<a name="l00633"></a>00633                 }
<a name="l00634"></a>00634         }
<a name="l00635"></a>00635 
<a name="l00636"></a>00636 
<a name="l00637"></a>00637 
<a name="l00638"></a>00638 
<a name="l00639"></a>00639 
<a name="l00640"></a>00640 
<a name="l00641"></a>00641 
<a name="l00642"></a>00642 
<a name="l00643"></a>00643 
<a name="l00644"></a>00644 
<a name="l00645"></a>00645 
<a name="l00646"></a>00646 
<a name="l00647"></a>00647         <span class="comment">/***********************************************</span>
<a name="l00648"></a>00648 <span class="comment">         *</span>
<a name="l00649"></a>00649 <span class="comment">         * Selector box processing functions</span>
<a name="l00650"></a>00650 <span class="comment">         *</span>
<a name="l00651"></a>00651 <span class="comment">         ***********************************************/</span>
<a name="l00652"></a>00652 
<a name="l00663"></a><a class="code" href="classt3lib__transferData.html#34be0d5f599c2cef2fd3af89e68e8695">00663</a>         function <a class="code" href="classt3lib__transferData.html#34be0d5f599c2cef2fd3af89e68e8695">selectAddSpecial</a>($dataAcc, $elements, $specialKey)     {
<a name="l00664"></a>00664                 global $TCA;
<a name="l00665"></a>00665 
<a name="l00666"></a>00666                         <span class="comment">// Special select types:</span>
<a name="l00667"></a>00667                 <span class="keywordflow">switch</span> ((string)$specialKey)    {
<a name="l00668"></a>00668                         <span class="keywordflow">case</span> 'tables':          <span class="comment">// Listing all tables from $TCA:</span>
<a name="l00669"></a>00669                                 $tNames = array_keys($TCA);
<a name="l00670"></a>00670                                 foreach($tNames as $tableName)  {
<a name="l00671"></a>00671                                         foreach($elements as $eKey =&gt; $value)   {
<a name="l00672"></a>00672                                                 <span class="keywordflow">if</span> (!strcmp($tableName,$value)) {
<a name="l00673"></a>00673                                                         $dataAcc[$eKey]=rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode($this-&gt;<a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">sL</a>($TCA[$value]['ctrl']['title']));
<a name="l00674"></a>00674                                                 }
<a name="l00675"></a>00675                                         }
<a name="l00676"></a>00676                                 }
<a name="l00677"></a>00677                         <span class="keywordflow">break</span>;
<a name="l00678"></a>00678                         <span class="keywordflow">case</span> 'pagetypes':       <span class="comment">// Listing all page types (doktype)</span>
<a name="l00679"></a>00679                                 $theTypes = $TCA['pages']['columns']['doktype']['config']['items'];
<a name="l00680"></a>00680                                 <span class="keywordflow">if</span> (is_array($theTypes))        {
<a name="l00681"></a>00681                                         foreach($theTypes as $theTypesArrays)   {
<a name="l00682"></a>00682                                                 foreach($elements as $eKey =&gt; $value)   {
<a name="l00683"></a>00683                                                         <span class="keywordflow">if</span> (!strcmp($theTypesArrays[1],$value)) {
<a name="l00684"></a>00684                                                                 $dataAcc[$eKey]=rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode($this-&gt;<a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">sL</a>($theTypesArrays[0]));
<a name="l00685"></a>00685                                                         }
<a name="l00686"></a>00686                                                 }
<a name="l00687"></a>00687                                         }
<a name="l00688"></a>00688                                 }
<a name="l00689"></a>00689                         <span class="keywordflow">break</span>;
<a name="l00690"></a>00690                         <span class="keywordflow">case</span> 'exclude':         <span class="comment">// Listing exclude fields.</span>
<a name="l00691"></a>00691                                 $theExcludeFields = <a class="code" href="classt3lib__BEfunc.html#a01166e495c8fcd5c1b1643996d44d0a">t3lib_BEfunc::getExcludeFields</a>();
<a name="l00692"></a>00692 
<a name="l00693"></a>00693                                 <span class="keywordflow">if</span> (is_array($theExcludeFields))        {
<a name="l00694"></a>00694                                         foreach($theExcludeFields as $theExcludeFieldsArrays)   {
<a name="l00695"></a>00695                                                 foreach($elements as $eKey =&gt; $value)   {
<a name="l00696"></a>00696                                                         <span class="keywordflow">if</span> (!strcmp($theExcludeFieldsArrays[1],$value)) {
<a name="l00697"></a>00697                                                                 $dataAcc[$eKey]=rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode(ereg_replace(':$<span class="charliteral">','</span>',$theExcludeFieldsArrays[0]));
<a name="l00698"></a>00698                                                         }
<a name="l00699"></a>00699                                                 }
<a name="l00700"></a>00700                                         }
<a name="l00701"></a>00701                                 }
<a name="l00702"></a>00702                         <span class="keywordflow">break</span>;
<a name="l00703"></a>00703                         <span class="keywordflow">case</span> 'explicitValues':
<a name="l00704"></a>00704                                 $theTypes = <a class="code" href="classt3lib__BEfunc.html#927cf45e9d29c8d0e290bea747f04248">t3lib_BEfunc::getExplicitAuthFieldValues</a>();
<a name="l00705"></a>00705 
<a name="l00706"></a>00706                                 foreach($theTypes as $tableFieldKey =&gt; $theTypeArrays)  {
<a name="l00707"></a>00707                                         <span class="keywordflow">if</span> (is_array($theTypeArrays['items']))  {
<a name="l00708"></a>00708                                                 foreach($theTypeArrays['items'] as $itemValue =&gt; $itemContent)  {
<a name="l00709"></a>00709                                                         foreach($elements as $eKey =&gt; $value)   {
<a name="l00710"></a>00710                                                                 <span class="keywordflow">if</span> (!strcmp($tableFieldKey.<span class="charliteral">':'</span>.$itemValue.<span class="charliteral">':'</span>.$itemContent[0], $value)) {
<a name="l00711"></a>00711                                                                         $dataAcc[$eKey] = rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode(<span class="charliteral">'['</span>.$itemContent[2].'] '.$itemContent[1]);
<a name="l00712"></a>00712                                                                 }
<a name="l00713"></a>00713                                                         }
<a name="l00714"></a>00714                                                 }
<a name="l00715"></a>00715                                         }
<a name="l00716"></a>00716                                 }
<a name="l00717"></a>00717                         <span class="keywordflow">break</span>;
<a name="l00718"></a>00718                         <span class="keywordflow">case</span> 'languages':
<a name="l00719"></a>00719                                 $theLangs = <a class="code" href="classt3lib__BEfunc.html#7bf3f591799225078f2bfd2fc7e44b66">t3lib_BEfunc::getSystemLanguages</a>();
<a name="l00720"></a>00720                                 foreach($theLangs as $lCfg)     {
<a name="l00721"></a>00721                                         foreach($elements as $eKey =&gt; $value)   {
<a name="l00722"></a>00722                                                 <span class="keywordflow">if</span> (!strcmp($lCfg[1], $value))  {
<a name="l00723"></a>00723                                                         $dataAcc[$eKey] = rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode($lCfg[0]);
<a name="l00724"></a>00724                                                 }
<a name="l00725"></a>00725                                         }
<a name="l00726"></a>00726                                 }
<a name="l00727"></a>00727                         <span class="keywordflow">break</span>;
<a name="l00728"></a>00728                         <span class="keywordflow">case</span> 'custom':
<a name="l00729"></a>00729                                 $customOptions = $GLOBALS['TYPO3_CONF_VARS']['BE']['customPermOptions'];
<a name="l00730"></a>00730 
<a name="l00731"></a>00731                                 <span class="keywordflow">if</span> (is_array($customOptions))   {
<a name="l00732"></a>00732                                         foreach($customOptions as $coKey =&gt; $coValue) {
<a name="l00733"></a>00733                                                 <span class="keywordflow">if</span> (is_array($coValue['items']))        {
<a name="l00734"></a>00734                                                                 <span class="comment">// Traverse items:</span>
<a name="l00735"></a>00735                                                         foreach($coValue['items'] as $itemKey =&gt; $itemCfg)      {
<a name="l00736"></a>00736                                                                 foreach($elements as $eKey =&gt; $value)   {
<a name="l00737"></a>00737                                                                         <span class="keywordflow">if</span> (!strcmp($coKey.<span class="charliteral">':'</span>.$itemKey, $value))       {
<a name="l00738"></a>00738                                                                                 $dataAcc[$eKey] = rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode($this-&gt;<a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">sL</a>($itemCfg[0]));
<a name="l00739"></a>00739                                                                         }
<a name="l00740"></a>00740                                                                 }
<a name="l00741"></a>00741                                                         }
<a name="l00742"></a>00742                                                 }
<a name="l00743"></a>00743                                         }
<a name="l00744"></a>00744                                 }
<a name="l00745"></a>00745                         <span class="keywordflow">break</span>;
<a name="l00746"></a>00746                         <span class="keywordflow">case</span> 'modListGroup':    <span class="comment">// Listing modules for GROUPS</span>
<a name="l00747"></a>00747                         <span class="keywordflow">case</span> 'modListUser':             <span class="comment">// Listing modules for USERS:</span>
<a name="l00748"></a>00748                                 <span class="keywordflow">if</span> (!$this-&gt;loadModules)        {
<a name="l00749"></a>00749                                         $this-&gt;loadModules = <a class="code" href="classt3lib__div.html#b47f8a8e8be44b79a0b8064dcd427bc1">t3lib_div::makeInstance</a>('<a class="code" href="classt3lib__loadModules.html">t3lib_loadModules</a>');
<a name="l00750"></a>00750                                         $this-&gt;loadModules-&gt;load($GLOBALS['TBE_MODULES']);
<a name="l00751"></a>00751                                 }
<a name="l00752"></a>00752                                 $modList = ($specialKey=='modListUser') ? $this-&gt;loadModules-&gt;modListUser : $this-&gt;loadModules-&gt;modListGroup;
<a name="l00753"></a>00753 
<a name="l00754"></a>00754                                 foreach($modList as $theModName)        {
<a name="l00755"></a>00755                                         foreach($elements as $eKey =&gt; $value)   {
<a name="l00756"></a>00756                                                 $label = '';
<a name="l00757"></a>00757                                                         <span class="comment">// Add label for main module:</span>
<a name="l00758"></a>00758                                                 $pp = explode(<span class="charliteral">'_'</span>,$value);
<a name="l00759"></a>00759                                                 <span class="keywordflow">if</span> (count($pp)&gt;1)       $label.=$GLOBALS['LANG']-&gt;moduleLabels['tabs'][$pp[0].'_tab'].<span class="charliteral">'&gt;'</span>;
<a name="l00760"></a>00760                                                         <span class="comment">// Add modules own label now:</span>
<a name="l00761"></a>00761                                                 $label.= $GLOBALS['LANG']-&gt;moduleLabels['tabs'][$value.'_tab'];
<a name="l00762"></a>00762 
<a name="l00763"></a>00763                                                 <span class="keywordflow">if</span> (!strcmp($theModName,$value))        {
<a name="l00764"></a>00764                                                         $dataAcc[$eKey]=rawurlencode($value).<span class="charliteral">'|'</span>.rawurlencode($label);
<a name="l00765"></a>00765                                                 }
<a name="l00766"></a>00766                                         }
<a name="l00767"></a>00767                                 }
<a name="l00768"></a>00768                         <span class="keywordflow">break</span>;
<a name="l00769"></a>00769                 }
<a name="l00770"></a>00770 
<a name="l00771"></a>00771                 <span class="keywordflow">return</span> $dataAcc;
<a name="l00772"></a>00772         }
<a name="l00773"></a>00773 
<a name="l00787"></a><a class="code" href="classt3lib__transferData.html#4e1539a6493d6354a43f2916ed55071e">00787</a>         function <a class="code" href="classt3lib__transferData.html#4e1539a6493d6354a43f2916ed55071e">selectAddForeign</a>($dataAcc, $elements, $fieldConfig, $field, $TSconfig, $row)   {
<a name="l00788"></a>00788                 global $TCA;
<a name="l00789"></a>00789 
<a name="l00790"></a>00790                         <span class="comment">// Init:</span>
<a name="l00791"></a>00791                 $recordList = Array();
<a name="l00792"></a>00792 
<a name="l00793"></a>00793                         <span class="comment">// foreign_table</span>
<a name="l00794"></a>00794                 $subres = <a class="code" href="classt3lib__BEfunc.html#73d309c3f8579bef797d4aad17a605e5">t3lib_BEfunc::exec_foreign_table_where_query</a>($fieldConfig,$field,$TSconfig);
<a name="l00795"></a>00795                 <span class="keywordflow">while</span> ($subrow = $GLOBALS['TYPO3_DB']-&gt;sql_fetch_assoc($subres))        {
<a name="l00796"></a>00796                         $recordList[$subrow['uid']] = <a class="code" href="classt3lib__BEfunc.html#b2fd87d0623e4168bb0f1164572ca1a3">t3lib_BEfunc::getRecordTitle</a>($fieldConfig['config']['foreign_table'],$subrow);
<a name="l00797"></a>00797                 }
<a name="l00798"></a>00798 
<a name="l00799"></a>00799                         <span class="comment">// neg_foreign_table</span>
<a name="l00800"></a>00800                 <span class="keywordflow">if</span> (is_array($TCA[$fieldConfig['config']['neg_foreign_table']]))        {
<a name="l00801"></a>00801                         $subres = <a class="code" href="classt3lib__BEfunc.html#73d309c3f8579bef797d4aad17a605e5">t3lib_BEfunc::exec_foreign_table_where_query</a>($fieldConfig,$field,$TSconfig,'neg_');
<a name="l00802"></a>00802                         <span class="keywordflow">while</span> ($subrow = $GLOBALS['TYPO3_DB']-&gt;sql_fetch_assoc($subres))        {
<a name="l00803"></a>00803                                 $recordList[-$subrow['uid']] = <a class="code" href="classt3lib__BEfunc.html#b2fd87d0623e4168bb0f1164572ca1a3">t3lib_BEfunc::getRecordTitle</a>($fieldConfig['config']['neg_foreign_table'],$subrow);
<a name="l00804"></a>00804                         }
<a name="l00805"></a>00805                 }
<a name="l00806"></a>00806 
<a name="l00807"></a>00807                         <span class="comment">// At this point all records that CAN be selected is found in $recordList</span>
<a name="l00808"></a>00808                         <span class="comment">// Now, get the data from loadDBgroup based on the input list of values.</span>
<a name="l00809"></a>00809                 $dataIds = $this-&gt;<a class="code" href="classt3lib__transferData.html#050376e27992afb8cc79a8a35c1922d8">getDataIdList</a>($elements, $fieldConfig, $row);
<a name="l00810"></a>00810                 <span class="keywordflow">if</span> ($fieldConfig['config']['MM'])       $dataAcc=array();       <span class="comment">// Reset, if MM (which cannot bear anything but real relations!)</span>
<a name="l00811"></a>00811 
<a name="l00812"></a>00812                         <span class="comment">// After this we can traverse the loadDBgroup values and match values with the list of possible values in $recordList:</span>
<a name="l00813"></a>00813                 foreach($dataIds as $theId)     {
<a name="l00814"></a>00814                         <span class="keywordflow">if</span> (isset($recordList[$theId])) {
<a name="l00815"></a>00815                                 $lPrefix = $this-&gt;<a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">sL</a>($fieldConfig['config'][($theId&gt;0?'<span class="charliteral">':'</span>neg_').'foreign_table_prefix']);
<a name="l00816"></a>00816                                 <span class="keywordflow">if</span> ($fieldConfig['config']['MM'])       {
<a name="l00817"></a>00817                                         $dataAcc[]=rawurlencode($theId).<span class="charliteral">'|'</span>.rawurlencode(<a class="code" href="classt3lib__div.html#93c658c7682e99d76960c3d670e073e8">t3lib_div::fixed_lgd_cs</a>($lPrefix.strip_tags($recordList[$theId]),$GLOBALS['BE_USER']-&gt;uc['titleLen']));
<a name="l00818"></a>00818                                 } <span class="keywordflow">else</span> {
<a name="l00819"></a>00819                                         foreach($elements as $eKey =&gt; $value)   {
<a name="l00820"></a>00820                                                 <span class="keywordflow">if</span> (!strcmp($theId,$value))     {
<a name="l00821"></a>00821                                                         $dataAcc[$eKey]=rawurlencode($theId).<span class="charliteral">'|'</span>.rawurlencode(<a class="code" href="classt3lib__div.html#93c658c7682e99d76960c3d670e073e8">t3lib_div::fixed_lgd_cs</a>($lPrefix.strip_tags($recordList[$theId]),$GLOBALS['BE_USER']-&gt;uc['titleLen']));
<a name="l00822"></a>00822                                                 }
<a name="l00823"></a>00823                                         }
<a name="l00824"></a>00824                                 }
<a name="l00825"></a>00825                         }
<a name="l00826"></a>00826                 }
<a name="l00827"></a>00827 
<a name="l00828"></a>00828                 <span class="keywordflow">return</span> $dataAcc;
<a name="l00829"></a>00829         }
<a name="l00830"></a>00830 
<a name="l00840"></a><a class="code" href="classt3lib__transferData.html#050376e27992afb8cc79a8a35c1922d8">00840</a>         function <a class="code" href="classt3lib__transferData.html#050376e27992afb8cc79a8a35c1922d8">getDataIdList</a>($elements, $fieldConfig, $row)   {
<a name="l00841"></a>00841                 $loadDB = <a class="code" href="classt3lib__div.html#b47f8a8e8be44b79a0b8064dcd427bc1">t3lib_div::makeInstance</a>('<a class="code" href="classt3lib__loadDBGroup.html">t3lib_loadDBGroup</a>');
<a name="l00842"></a>00842                 $loadDB-&gt;registerNonTableValues=$fieldConfig['config']['allowNonIdValues'] ? 1 : 0;
<a name="l00843"></a>00843                 $loadDB-&gt;start(implode(<span class="charliteral">','</span>,$elements), $fieldConfig['config']['foreign_table'].<span class="charliteral">','</span>.$fieldConfig['config']['neg_foreign_table'], $fieldConfig['config']['MM'], $row['uid']);
<a name="l00844"></a>00844 
<a name="l00845"></a>00845                 $idList = $loadDB-&gt;convertPosNeg($loadDB-&gt;getValueArray(),$fieldConfig['config']['foreign_table'],$fieldConfig['config']['neg_foreign_table']);
<a name="l00846"></a>00846 
<a name="l00847"></a>00847                 <span class="keywordflow">return</span> $idList;
<a name="l00848"></a>00848         }
<a name="l00849"></a>00849 
<a name="l00863"></a><a class="code" href="classt3lib__transferData.html#3e6e182c5429c04b5e90cf188d5b9b13">00863</a>         function <a class="code" href="classt3lib__transferData.html#3e6e182c5429c04b5e90cf188d5b9b13">procesItemArray</a>($selItems,$config,$fieldTSConfig,$table,$row,$field)   {
<a name="l00864"></a>00864                 $selItems = $this-&gt;<a class="code" href="classt3lib__transferData.html#674a834a2849fed51c5c316ec8aa8471">addItems</a>($selItems,$fieldTSConfig['<a class="code" href="classt3lib__transferData.html#674a834a2849fed51c5c316ec8aa8471">addItems</a>.']);
<a name="l00865"></a>00865                 <span class="keywordflow">if</span> ($config['itemsProcFunc']) $selItems = $this-&gt;<a class="code" href="classt3lib__transferData.html#b9b872b70475e090241d662414519b9b">procItems</a>($selItems,$fieldTSConfig['itemsProcFunc.'],$config,$table,$row,$field);
<a name="l00866"></a>00866                 <span class="keywordflow">return</span> $selItems;
<a name="l00867"></a>00867         }
<a name="l00868"></a>00868 
<a name="l00878"></a><a class="code" href="classt3lib__transferData.html#674a834a2849fed51c5c316ec8aa8471">00878</a>         function <a class="code" href="classt3lib__transferData.html#674a834a2849fed51c5c316ec8aa8471">addItems</a>($items,$iArray)       {
<a name="l00879"></a>00879                 <span class="keywordflow">if</span> (is_array($iArray))  {
<a name="l00880"></a>00880                         foreach($iArray as $value =&gt; $label)    {
<a name="l00881"></a>00881                                 $items[]=array($label,$value);
<a name="l00882"></a>00882                         }
<a name="l00883"></a>00883                 }
<a name="l00884"></a>00884                 <span class="keywordflow">return</span> $items;
<a name="l00885"></a>00885         }
<a name="l00886"></a>00886 
<a name="l00900"></a><a class="code" href="classt3lib__transferData.html#b9b872b70475e090241d662414519b9b">00900</a>         function <a class="code" href="classt3lib__transferData.html#b9b872b70475e090241d662414519b9b">procItems</a>($items,$itemsProcFuncTSconfig,$config,$table,$row,$field)    {
<a name="l00901"></a>00901                 $params=array();
<a name="l00902"></a>00902                 $params['items'] = &amp;$items;
<a name="l00903"></a>00903                 $params['config'] = $config;
<a name="l00904"></a>00904                 $params['TSconfig'] = $itemsProcFuncTSconfig;
<a name="l00905"></a>00905                 $params['table'] = $table;
<a name="l00906"></a>00906                 $params['row'] = $row;
<a name="l00907"></a>00907                 $params['field'] = $field;
<a name="l00908"></a>00908 
<a name="l00909"></a>00909                 <a class="code" href="classt3lib__div.html#1458e987700fb6f722ec5186644f6580">t3lib_div::callUserFunction</a>($config['itemsProcFunc'],$params,$this);
<a name="l00910"></a>00910                 <span class="keywordflow">return</span> $items;
<a name="l00911"></a>00911         }
<a name="l00912"></a>00912 
<a name="l00913"></a>00913 
<a name="l00914"></a>00914 
<a name="l00915"></a>00915 
<a name="l00916"></a>00916 
<a name="l00917"></a>00917 
<a name="l00918"></a>00918 
<a name="l00919"></a>00919 
<a name="l00920"></a>00920 
<a name="l00921"></a>00921         <span class="comment">/***********************************************</span>
<a name="l00922"></a>00922 <span class="comment">         *</span>
<a name="l00923"></a>00923 <span class="comment">         * Helper functions</span>
<a name="l00924"></a>00924 <span class="comment">         *</span>
<a name="l00925"></a>00925 <span class="comment">         ***********************************************/</span>
<a name="l00926"></a>00926 
<a name="l00935"></a><a class="code" href="classt3lib__transferData.html#a0361df2a539986e879b5043d66a8bc0">00935</a>         function <a class="code" href="classt3lib__transferData.html#a0361df2a539986e879b5043d66a8bc0">lockRecord</a>($table, $id, $pid=0)        {
<a name="l00936"></a>00936                 <span class="keywordflow">if</span> ($this-&gt;lockRecords) {
<a name="l00937"></a>00937                         <a class="code" href="classt3lib__BEfunc.html#ec71c833e679e06565b21df6dce0ea4b">t3lib_BEfunc::lockRecords</a>($table,$id,$pid);
<a name="l00938"></a>00938                 }
<a name="l00939"></a>00939         }
<a name="l00940"></a>00940 
<a name="l00952"></a><a class="code" href="classt3lib__transferData.html#d035906709dd895b75cff26475f2ebd5">00952</a>         function <a class="code" href="classt3lib__transferData.html#d035906709dd895b75cff26475f2ebd5">regItem</a>($table, $id, $field, $content) {
<a name="l00953"></a>00953         }
<a name="l00954"></a>00954 
<a name="l00962"></a><a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">00962</a>         function <a class="code" href="classt3lib__transferData.html#b5bf812be3557cf266281d05672dc5a1">sL</a>($in)        {
<a name="l00963"></a>00963                 <span class="keywordflow">return</span> $GLOBALS['LANG']-&gt;sL($in);
<a name="l00964"></a>00964         }
<a name="l00965"></a>00965 }
<a name="l00966"></a>00966 
<a name="l00967"></a>00967 
<a name="l00968"></a>00968 <span class="keywordflow">if</span> (defined('TYPO3_MODE') &amp;&amp; $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/<span class="keyword">class</span>.t3lib_transferdata.php'])      {
<a name="l00969"></a>00969         include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/<span class="keyword">class</span>.t3lib_transferdata.php']);
<a name="l00970"></a>00970 }
<a name="l00971"></a>00971 ?&gt;
</pre></div><?php
  include_once '../doc-typo3-funcs.php';
  get_footer();
?>