<?php
  include_once '../doc-typo3-funcs.php';
  $doxygen_vars = array(	"title" => "TYPO3 4.0.1: typo3_src-4.0.1/t3lib/class.t3lib_treeview.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_treeview.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-2005 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="l00101"></a>00101 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_iconworks.php');
<a name="l00102"></a>00102 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_befunc.php');
<a name="l00103"></a>00103 require_once (PATH_t3lib.'<span class="keyword">class</span>.t3lib_div.php');
<a name="l00104"></a>00104 
<a name="l00105"></a>00105 
<a name="l00115"></a><a class="code" href="classt3lib__treeView.html">00115</a> <span class="keyword">class </span><a class="code" href="classt3lib__treeView.html">t3lib_treeView</a> {
<a name="l00116"></a>00116 
<a name="l00117"></a>00117                 <span class="comment">// EXTERNAL, static:</span>
<a name="l00118"></a><a class="code" href="classt3lib__treeView.html#bf5fd09473588507478bbc8b8762dced">00118</a>         var <a class="code" href="classt3lib__treeView.html#bf5fd09473588507478bbc8b8762dced">$expandFirst</a>=0;             <span class="comment">// If set, the first element in the tree is always expanded.</span>
<a name="l00119"></a><a class="code" href="classt3lib__treeView.html#27b78e403331fca2b3eaecb791e34eea">00119</a>         var <a class="code" href="classt3lib__treeView.html#27b78e403331fca2b3eaecb791e34eea">$expandAll</a>=0;               <span class="comment">// If set, then ALL items will be expanded, regardless of stored settings.</span>
<a name="l00120"></a><a class="code" href="classt3lib__treeView.html#926d90ba8e55330b1dea16ef918074bb">00120</a>         var <a class="code" href="classt3lib__treeView.html#926d90ba8e55330b1dea16ef918074bb">$thisScript</a>='';             <span class="comment">// Holds the current script to reload to.</span>
<a name="l00121"></a><a class="code" href="classt3lib__treeView.html#ca2716add03f85e5eb3e67548a178e80">00121</a>         var <a class="code" href="classt3lib__treeView.html#ca2716add03f85e5eb3e67548a178e80">$titleAttrib</a> = 'title';             <span class="comment">// Which HTML attribute to use: alt/title. See init().</span>
<a name="l00122"></a><a class="code" href="classt3lib__treeView.html#aae4ce52c0caeee83e16aad968a8ef4c">00122</a>         var <a class="code" href="classt3lib__treeView.html#aae4ce52c0caeee83e16aad968a8ef4c">$ext_IconMode</a> = <span class="keyword">false</span>;              <span class="comment">// If true, no context menu is rendered on icons. If set to "titlelink" the icon is linked as the title is.</span>
<a name="l00123"></a><a class="code" href="classt3lib__treeView.html#5b1e5987effbaebf9d456477063d3f76">00123</a>         var <a class="code" href="classt3lib__treeView.html#5b1e5987effbaebf9d456477063d3f76">$addSelfId</a> = 0;                             <span class="comment">// If set, the id of the mounts will be added to the internal ids array</span>
<a name="l00124"></a><a class="code" href="classt3lib__treeView.html#c87cf2c9099a38b0d2600b020d7a1f0e">00124</a>         var <a class="code" href="classt3lib__treeView.html#c87cf2c9099a38b0d2600b020d7a1f0e">$title</a>='no title';                  <span class="comment">// Used if the tree is made of records (not folders for ex.)</span>
<a name="l00125"></a><a class="code" href="classt3lib__treeView.html#4be42a1be4aec775f787f7870980ce12">00125</a>         var <a class="code" href="classt3lib__treeView.html#4be42a1be4aec775f787f7870980ce12">$showDefaultTitleAttribute</a> = FALSE;         <span class="comment">// If true, a default title attribute showing the UID of the record is shown. This cannot be enabled by default because it will destroy many applications where another title attribute is in fact applied later.</span>
<a name="l00126"></a><a class="code" href="classt3lib__treeView.html#db12c3c31a11dbd4e36ccbb084d648f2">00126</a>         var <a class="code" href="classt3lib__treeView.html#db12c3c31a11dbd4e36ccbb084d648f2">$highlightPagesWithVersions</a> = TRUE;         <span class="comment">// If true, pages containing child records which has versions will be highlighted in yellow. This might be too expensive in terms of processing power.</span>
<a name="l00127"></a>00127 
<a name="l00132"></a><a class="code" href="classt3lib__treeView.html#58639e69ef482229c3fd49c4cf8ba8d6">00132</a>         var <a class="code" href="classt3lib__treeView.html#58639e69ef482229c3fd49c4cf8ba8d6">$BE_USER</a>='';
<a name="l00133"></a>00133 
<a name="l00139"></a><a class="code" href="classt3lib__treeView.html#5eeeefe841635fde30b32b620513bed4">00139</a>         var <a class="code" href="classt3lib__treeView.html#5eeeefe841635fde30b32b620513bed4">$MOUNTS</a>='';
<a name="l00140"></a>00140 
<a name="l00141"></a>00141 
<a name="l00142"></a>00142 
<a name="l00147"></a><a class="code" href="classt3lib__treeView.html#c5512c291380fe7c39e98acb9f55831a">00147</a>         var <a class="code" href="classt3lib__treeView.html#c5512c291380fe7c39e98acb9f55831a">$table</a>='';
<a name="l00148"></a>00148 
<a name="l00152"></a><a class="code" href="classt3lib__treeView.html#ab61f89f3e6e3fe4ff4d0944f28d4d64">00152</a>         var <a class="code" href="classt3lib__treeView.html#ab61f89f3e6e3fe4ff4d0944f28d4d64">$parentField</a>='pid';
<a name="l00153"></a>00153 
<a name="l00159"></a><a class="code" href="classt3lib__treeView.html#1f1cea6b305b58ddf8269c538667a914">00159</a>         var <a class="code" href="classt3lib__treeView.html#1f1cea6b305b58ddf8269c538667a914">$clause</a>='';
<a name="l00160"></a>00160 
<a name="l00166"></a><a class="code" href="classt3lib__treeView.html#3595d52914a78a358c7a2987485caa3d">00166</a>         var <a class="code" href="classt3lib__treeView.html#3595d52914a78a358c7a2987485caa3d">$orderByFields</a>='';
<a name="l00167"></a>00167 
<a name="l00173"></a><a class="code" href="classt3lib__treeView.html#93c3fb05792460c499bd03cd74df1252">00173</a>         var <a class="code" href="classt3lib__treeView.html#93c3fb05792460c499bd03cd74df1252">$fieldArray</a> = Array('uid<span class="charliteral">','</span>title');
<a name="l00174"></a>00174 
<a name="l00179"></a><a class="code" href="classt3lib__treeView.html#1daff98d9a6696d0d0ea4344265f3852">00179</a>         var <a class="code" href="classt3lib__treeView.html#1daff98d9a6696d0d0ea4344265f3852">$defaultList</a> = 'uid,pid,tstamp,sorting,deleted,perms_userid,perms_groupid,perms_user,perms_group,perms_everybody,crdate,cruser_id';
<a name="l00180"></a>00180 
<a name="l00181"></a>00181 
<a name="l00189"></a><a class="code" href="classt3lib__treeView.html#bcfba27e1cc537dca6c9837e8648ff76">00189</a>         var <a class="code" href="classt3lib__treeView.html#bcfba27e1cc537dca6c9837e8648ff76">$treeName</a> = '';
<a name="l00190"></a>00190 
<a name="l00197"></a><a class="code" href="classt3lib__treeView.html#7301c70641948c92020fbfbfea2ec511">00197</a>         var <a class="code" href="classt3lib__treeView.html#7301c70641948c92020fbfbfea2ec511">$domIdPrefix</a> = 'row';
<a name="l00198"></a>00198 
<a name="l00202"></a><a class="code" href="classt3lib__treeView.html#0c84a0d857fdd51b5a2b3a8c99e5fc0b">00202</a>         var <a class="code" href="classt3lib__treeView.html#0c84a0d857fdd51b5a2b3a8c99e5fc0b">$backPath</a>;
<a name="l00203"></a>00203 
<a name="l00207"></a><a class="code" href="classt3lib__treeView.html#c8399950fb24976d26b971019e98e347">00207</a>         var <a class="code" href="classt3lib__treeView.html#c8399950fb24976d26b971019e98e347">$iconPath</a> = '';
<a name="l00208"></a>00208 
<a name="l00209"></a>00209 
<a name="l00213"></a><a class="code" href="classt3lib__treeView.html#fac6153636bb47e3e6236dfa63934e26">00213</a>         var <a class="code" href="classt3lib__treeView.html#fac6153636bb47e3e6236dfa63934e26">$iconName</a> = '<span class="keywordflow">default</span>.gif';
<a name="l00214"></a>00214 
<a name="l00219"></a><a class="code" href="classt3lib__treeView.html#294e8e0362d52f622aa293ef6ae59762">00219</a>         var <a class="code" href="classt3lib__treeView.html#294e8e0362d52f622aa293ef6ae59762">$makeHTML</a>=1;
<a name="l00220"></a>00220 
<a name="l00224"></a><a class="code" href="classt3lib__treeView.html#ef95ac66b3ca3cc18ad2e1e919414500">00224</a>         var <a class="code" href="classt3lib__treeView.html#ef95ac66b3ca3cc18ad2e1e919414500">$setRecs</a> = 0;
<a name="l00225"></a>00225 
<a name="l00230"></a><a class="code" href="classt3lib__treeView.html#d91b3fab4d21a9822fe75e56b527981f">00230</a>         var <a class="code" href="classt3lib__treeView.html#d91b3fab4d21a9822fe75e56b527981f">$subLevelID</a> = '_SUB_LEVEL';
<a name="l00231"></a>00231 
<a name="l00232"></a>00232 
<a name="l00233"></a>00233 
<a name="l00234"></a>00234 
<a name="l00235"></a>00235                 <span class="comment">// *********</span>
<a name="l00236"></a>00236                 <span class="comment">// Internal</span>
<a name="l00237"></a>00237                 <span class="comment">// *********</span>
<a name="l00238"></a>00238                 <span class="comment">// For record trees:</span>
<a name="l00239"></a><a class="code" href="classt3lib__treeView.html#155d8ccf10eb38f93e0a54058535e96f">00239</a>         var <a class="code" href="classt3lib__treeView.html#155d8ccf10eb38f93e0a54058535e96f">$ids</a> = Array();                             <span class="comment">// one-dim array of the uid's selected.</span>
<a name="l00240"></a><a class="code" href="classt3lib__treeView.html#019ce06d7857a33a2a88be2c0f67d785">00240</a>         var <a class="code" href="classt3lib__treeView.html#019ce06d7857a33a2a88be2c0f67d785">$ids_hierarchy</a> = array();   <span class="comment">// The hierarchy of element uids</span>
<a name="l00241"></a><a class="code" href="classt3lib__treeView.html#becb50bde803718cadd56ac9e78dcdac">00241</a>         var <a class="code" href="classt3lib__treeView.html#becb50bde803718cadd56ac9e78dcdac">$buffer_idH</a> = array();              <span class="comment">// Temporary, internal array</span>
<a name="l00242"></a>00242 
<a name="l00243"></a>00243                 <span class="comment">// For FOLDER trees:</span>
<a name="l00244"></a><a class="code" href="classt3lib__treeView.html#2e3acc0c6b03e12b0812b7a340870f1b">00244</a>         var <a class="code" href="classt3lib__treeView.html#2e3acc0c6b03e12b0812b7a340870f1b">$specUIDmap</a>=array();                <span class="comment">// Special UIDs for folders (integer-hashes of paths)</span>
<a name="l00245"></a>00245 
<a name="l00246"></a>00246                 <span class="comment">// For arrays:</span>
<a name="l00247"></a><a class="code" href="classt3lib__treeView.html#560e8145181591b5dc174b07c1eb4fbb">00247</a>         var <a class="code" href="classt3lib__treeView.html#560e8145181591b5dc174b07c1eb4fbb">$data</a> = <span class="keyword">false</span>;                              <span class="comment">// Holds the input data array</span>
<a name="l00248"></a><a class="code" href="classt3lib__treeView.html#1dbe1327ef4c7bdb993f820a418c3775">00248</a>         var <a class="code" href="classt3lib__treeView.html#1dbe1327ef4c7bdb993f820a418c3775">$dataLookup</a> = <span class="keyword">false</span>;                <span class="comment">// Holds an index with references to the data array.</span>
<a name="l00249"></a>00249 
<a name="l00250"></a>00250                 <span class="comment">// For both types</span>
<a name="l00251"></a><a class="code" href="classt3lib__treeView.html#eabceb1c709286db9d961c252e9ae54a">00251</a>         var <a class="code" href="classt3lib__treeView.html#eabceb1c709286db9d961c252e9ae54a">$tree</a> = Array();                    <span class="comment">// Tree is accumulated in this variable</span>
<a name="l00252"></a><a class="code" href="classt3lib__treeView.html#045f9870ffd5439122fd555122f6d9a1">00252</a>         var <a class="code" href="classt3lib__treeView.html#045f9870ffd5439122fd555122f6d9a1">$stored</a> = array();                  <span class="comment">// Holds (session stored) information about which items in the tree are unfolded and which are not.</span>
<a name="l00253"></a><a class="code" href="classt3lib__treeView.html#efd32bf020d1465e78b98c3591faca65">00253</a>         var <a class="code" href="classt3lib__treeView.html#efd32bf020d1465e78b98c3591faca65">$bank</a>=0;                                    <span class="comment">// Points to the current mountpoint key</span>
<a name="l00254"></a><a class="code" href="classt3lib__treeView.html#08ba68aac223908737d393705803d78b">00254</a>         var <a class="code" href="classt3lib__treeView.html#08ba68aac223908737d393705803d78b">$recs</a> = array();                    <span class="comment">// Accumulates the displayed records.</span>
<a name="l00255"></a>00255 
<a name="l00256"></a>00256 
<a name="l00257"></a>00257 
<a name="l00258"></a>00258 
<a name="l00259"></a>00259 
<a name="l00260"></a>00260 
<a name="l00261"></a>00261 
<a name="l00270"></a><a class="code" href="classt3lib__treeView.html#0abbe88e29aca24556891656d87413e6">00270</a>         function <a class="code" href="classt3lib__treeView.html#0abbe88e29aca24556891656d87413e6">init</a>(<a class="code" href="classt3lib__treeView.html#1f1cea6b305b58ddf8269c538667a914">$clause</a>='', <a class="code" href="classt3lib__treeView.html#3595d52914a78a358c7a2987485caa3d">$orderByFields</a>='')    {
<a name="l00271"></a>00271                 $this-&gt;BE_USER = $GLOBALS['BE_USER'];   <span class="comment">// Setting BE_USER by default</span>
<a name="l00272"></a>00272                 $this-&gt;titleAttrib = 'title';   <span class="comment">// Setting title attribute to use.</span>
<a name="l00273"></a>00273                 $this-&gt;backPath = $GLOBALS['BACK_PATH'];        <span class="comment">// Setting backpath.</span>
<a name="l00274"></a>00274 
<a name="l00275"></a>00275                 <span class="keywordflow">if</span> (<a class="code" href="classt3lib__treeView.html#1f1cea6b305b58ddf8269c538667a914">$clause</a>)    $this-&gt;clause = <a class="code" href="classt3lib__treeView.html#1f1cea6b305b58ddf8269c538667a914">$clause</a>;        <span class="comment">// Setting clause</span>
<a name="l00276"></a>00276                 <span class="keywordflow">if</span> (<a class="code" href="classt3lib__treeView.html#3595d52914a78a358c7a2987485caa3d">$orderByFields</a>)     $this-&gt;orderByFields = <a class="code" href="classt3lib__treeView.html#3595d52914a78a358c7a2987485caa3d">$orderByFields</a>;
<a name="l00277"></a>00277 
<a name="l00278"></a>00278                 <span class="keywordflow">if</span> (!is_array($this-&gt;MOUNTS))   {
<a name="l00279"></a>00279                         $this-&gt;MOUNTS = array(0 =&gt; 0); <span class="comment">// dummy</span>
<a name="l00280"></a>00280                 }
<a name="l00281"></a>00281 
<a name="l00282"></a>00282                 $this-&gt;<a class="code" href="classt3lib__treeView.html#e178476f142e037a4571f6df03e561ac">setTreeName</a>();
<a name="l00283"></a>00283 
<a name="l00284"></a>00284                 <span class="keywordflow">if</span>($this-&gt;table) {
<a name="l00285"></a>00285                         <a class="code" href="classt3lib__div.html#3a04dbb9a707317b8beccbe92559dcc8">t3lib_div::loadTCA</a>($this-&gt;table);
<a name="l00286"></a>00286                 }
<a name="l00287"></a>00287 
<a name="l00288"></a>00288                         <span class="comment">// setting this to false disables the use of array-trees by default</span>
<a name="l00289"></a>00289                 $this-&gt;data = <span class="keyword">false</span>;
<a name="l00290"></a>00290                 $this-&gt;dataLookup = <span class="keyword">false</span>;
<a name="l00291"></a>00291         }
<a name="l00292"></a>00292 
<a name="l00293"></a>00293 
<a name="l00301"></a><a class="code" href="classt3lib__treeView.html#e178476f142e037a4571f6df03e561ac">00301</a>         function <a class="code" href="classt3lib__treeView.html#e178476f142e037a4571f6df03e561ac">setTreeName</a>(<a class="code" href="classt3lib__treeView.html#bcfba27e1cc537dca6c9837e8648ff76">$treeName</a>='') {
<a name="l00302"></a>00302                 $this-&gt;treeName = <a class="code" href="classt3lib__treeView.html#bcfba27e1cc537dca6c9837e8648ff76">$treeName</a> ? <a class="code" href="classt3lib__treeView.html#bcfba27e1cc537dca6c9837e8648ff76">$treeName</a> : $this-&gt;treeName;
<a name="l00303"></a>00303                 $this-&gt;treeName = $this-&gt;treeName ? $this-&gt;treeName : $this-&gt;table;
<a name="l00304"></a>00304                 $this-&gt;treeName = str_replace(<span class="charliteral">'_'</span>,'',$this-&gt;treeName);
<a name="l00305"></a>00305         }
<a name="l00306"></a>00306 
<a name="l00307"></a>00307 
<a name="l00315"></a><a class="code" href="classt3lib__treeView.html#fa97f5ac0daa464c0291604a873c000c">00315</a>         function <a class="code" href="classt3lib__treeView.html#fa97f5ac0daa464c0291604a873c000c">addField</a>($field,$noCheck=0)    {
<a name="l00316"></a>00316                 global $TCA;
<a name="l00317"></a>00317                 <span class="keywordflow">if</span> ($noCheck || is_array($TCA[$this-&gt;table]['columns'][$field]) || <a class="code" href="classt3lib__div.html#d994a5608365c288d051d6022d4e9976">t3lib_div::inList</a>($this-&gt;defaultList,$field))        {
<a name="l00318"></a>00318                         $this-&gt;fieldArray[]=$field;
<a name="l00319"></a>00319                 }
<a name="l00320"></a>00320         }
<a name="l00321"></a>00321 
<a name="l00322"></a>00322 
<a name="l00323"></a>00323 
<a name="l00329"></a><a class="code" href="classt3lib__treeView.html#12b144e564a0ef08a51b81b5308a4e38">00329</a>         function <a class="code" href="classt3lib__treeView.html#12b144e564a0ef08a51b81b5308a4e38">reset</a>()        {
<a name="l00330"></a>00330                 $this-&gt;tree = array();
<a name="l00331"></a>00331                 $this-&gt;recs = array();
<a name="l00332"></a>00332                 $this-&gt;ids = array();
<a name="l00333"></a>00333                 $this-&gt;ids_hierarchy = array();
<a name="l00334"></a>00334         }
<a name="l00335"></a>00335 
<a name="l00336"></a>00336 
<a name="l00337"></a>00337         <span class="comment">/*******************************************</span>
<a name="l00338"></a>00338 <span class="comment">         *</span>
<a name="l00339"></a>00339 <span class="comment">         * output</span>
<a name="l00340"></a>00340 <span class="comment">         *</span>
<a name="l00341"></a>00341 <span class="comment">         *******************************************/</span>
<a name="l00342"></a>00342 
<a name="l00349"></a><a class="code" href="classt3lib__treeView.html#8196bd80f16afcda53a42591f0782620">00349</a>         function <a class="code" href="classt3lib__treeView.html#8196bd80f16afcda53a42591f0782620">getBrowsableTree</a>()     {
<a name="l00350"></a>00350 
<a name="l00351"></a>00351                         <span class="comment">// Get stored tree structure AND updating it if needed according to incoming PM GET var.</span>
<a name="l00352"></a>00352                 $this-&gt;<a class="code" href="classt3lib__treeView.html#0febf41d6dc037cbdba70cdda10ee477">initializePositionSaving</a>();
<a name="l00353"></a>00353 
<a name="l00354"></a>00354                         <span class="comment">// Init done:</span>
<a name="l00355"></a>00355                 $titleLen=intval($this-&gt;BE_USER-&gt;uc['titleLen']);
<a name="l00356"></a>00356                 $treeArr=array();
<a name="l00357"></a>00357 
<a name="l00358"></a>00358                         <span class="comment">// Traverse mounts:</span>
<a name="l00359"></a>00359                 foreach($this-&gt;MOUNTS as $idx =&gt; $uid)  {
<a name="l00360"></a>00360 
<a name="l00361"></a>00361                                 <span class="comment">// Set first:</span>
<a name="l00362"></a>00362                         $this-&gt;bank=$idx;
<a name="l00363"></a>00363                         $isOpen = $this-&gt;stored[$idx][$uid] || $this-&gt;expandFirst;
<a name="l00364"></a>00364 
<a name="l00365"></a>00365                                 <span class="comment">// Save ids while resetting everything else.</span>
<a name="l00366"></a>00366                         $curIds = $this-&gt;ids;
<a name="l00367"></a>00367                         $this-&gt;<a class="code" href="classt3lib__treeView.html#12b144e564a0ef08a51b81b5308a4e38">reset</a>();
<a name="l00368"></a>00368                         $this-&gt;ids = $curIds;
<a name="l00369"></a>00369 
<a name="l00370"></a>00370                                 <span class="comment">// Set PM icon for root of mount:</span>
<a name="l00371"></a>00371                         $cmd=$this-&gt;bank.<span class="charliteral">'_'</span>.($isOpen?<span class="stringliteral">"0_"</span>:<span class="stringliteral">"1_"</span>).$uid.<span class="charliteral">'_'</span>.$this-&gt;treeName;
<a name="l00372"></a>00372                         $icon='&lt;img'.t3lib_iconWorks::skinImg($this-&gt;backPath,'gfx/ol/'.($isOpen?'minus<span class="charliteral">':'</span>plus').'only.gif<span class="charliteral">','</span>width=<span class="stringliteral">"18"</span> height=<span class="stringliteral">"16"</span>').' alt=<span class="stringliteral">""</span> /&gt;';
<a name="l00373"></a>00373                         $firstHtml= $this-&gt;<a class="code" href="classt3lib__treeView.html#057f032e45406c49ae6a0657241ac745">PM_ATagWrap</a>($icon,$cmd);
<a name="l00374"></a>00374 
<a name="l00375"></a>00375                                 <span class="comment">// Preparing rootRec for the mount</span>
<a name="l00376"></a>00376                         <span class="keywordflow">if</span> ($uid)       {
<a name="l00377"></a>00377                                 $rootRec = $this-&gt;<a class="code" href="classt3lib__treeView.html#c6994ecf9c8f8ae3e829076471eef161">getRecord</a>($uid);
<a name="l00378"></a>00378                                 $firstHtml.=$this-&gt;<a class="code" href="classt3lib__treeView.html#504f50b0a70f8587f4cfa6a44496f888">getIcon</a>($rootRec);
<a name="l00379"></a>00379                         } <span class="keywordflow">else</span> {
<a name="l00380"></a>00380                                         <span class="comment">// Artificial record for the tree root, id=0</span>
<a name="l00381"></a>00381                                 $rootRec = $this-&gt;<a class="code" href="classt3lib__treeView.html#d96a2be7ed968eebf591b0f3dad545ed">getRootRecord</a>($uid);
<a name="l00382"></a>00382                                 $firstHtml.=$this-&gt;<a class="code" href="classt3lib__treeView.html#7d21f57ff41542d448906e69b1d29b32">getRootIcon</a>($rootRec);
<a name="l00383"></a>00383                         }
<a name="l00384"></a>00384 
<a name="l00385"></a>00385                         <span class="keywordflow">if</span> (is_array($rootRec)) {
<a name="l00386"></a>00386                                 $uid = $rootRec['uid'];         <span class="comment">// In case it was swapped inside getRecord due to workspaces.</span>
<a name="l00387"></a>00387 
<a name="l00388"></a>00388                                         <span class="comment">// Add the root of the mount to -&gt;tree</span>
<a name="l00389"></a>00389                                 $this-&gt;tree[]=array('HTML'=&gt;$firstHtml, 'row'=&gt;$rootRec, 'bank'=&gt;$this-&gt;bank);
<a name="l00390"></a>00390 
<a name="l00391"></a>00391                                         <span class="comment">// If the mount is expanded, go down:</span>
<a name="l00392"></a>00392                                 <span class="keywordflow">if</span> ($isOpen)    {
<a name="l00393"></a>00393                                                 <span class="comment">// Set depth:</span>
<a name="l00394"></a>00394                                         $depthD='&lt;img'.t3lib_iconWorks::skinImg($this-&gt;backPath,'gfx/ol/blank.gif<span class="charliteral">','</span>width=<span class="stringliteral">"18"</span> height=<span class="stringliteral">"16"</span>').' alt=<span class="stringliteral">""</span> /&gt;';
<a name="l00395"></a>00395                                         <span class="keywordflow">if</span> ($this-&gt;addSelfId)   $this-&gt;ids[] = $uid;
<a name="l00396"></a>00396                                         $this-&gt;<a class="code" href="classt3lib__treeView.html#93fa8e246d0b5c4db30a74355e8a1a01">getTree</a>($uid,999,$depthD,'',$rootRec['_SUBCSSCLASS']);
<a name="l00397"></a>00397                                 }
<a name="l00398"></a>00398 
<a name="l00399"></a>00399                                         <span class="comment">// Add tree:</span>
<a name="l00400"></a>00400                                 $treeArr=array_merge($treeArr,$this-&gt;tree);
<a name="l00401"></a>00401                         }
<a name="l00402"></a>00402                 }
<a name="l00403"></a>00403                 <span class="keywordflow">return</span> $this-&gt;<a class="code" href="classt3lib__treeView.html#86387ca2312414e3bf1b05d4d2749827">printTree</a>($treeArr);
<a name="l00404"></a>00404         }
<a name="l00405"></a>00405 
<a name="l00412"></a><a class="code" href="classt3lib__treeView.html#86387ca2312414e3bf1b05d4d2749827">00412</a>         function <a class="code" href="classt3lib__treeView.html#86387ca2312414e3bf1b05d4d2749827">printTree</a>($treeArr='') {
<a name="l00413"></a>00413                 $titleLen=intval($this-&gt;BE_USER-&gt;uc['titleLen']);
<a name="l00414"></a>00414                 <span class="keywordflow">if</span> (!is_array($treeArr))        $treeArr=$this-&gt;tree;
<a name="l00415"></a>00415                 $out='';
<a name="l00416"></a>00416 
<a name="l00417"></a>00417                         <span class="comment">// put a table around it with IDs to access the rows from JS</span>
<a name="l00418"></a>00418                         <span class="comment">// not a problem if you don't need it</span>
<a name="l00419"></a>00419                         <span class="comment">// In XHTML there is no "name" attribute of &lt;td&gt; elements - but Mozilla will not be able to highlight rows if the name attribute is NOT there.</span>
<a name="l00420"></a>00420                 $out .= '
<a name="l00421"></a>00421 
<a name="l00422"></a>00422                         &lt;!--
<a name="l00423"></a>00423                           TYPO3 tree structure.
<a name="l00424"></a>00424                         --&gt;
<a name="l00425"></a>00425                         &lt;table cellpadding=<span class="stringliteral">"0"</span> cellspacing=<span class="stringliteral">"0"</span> border=<span class="stringliteral">"0"</span> <span class="keywordtype">id</span>=<span class="stringliteral">"typo3-tree"</span>&gt;';
<a name="l00426"></a>00426 
<a name="l00427"></a>00427                 foreach($treeArr as $k =&gt; $v)   {
<a name="l00428"></a>00428                         $idAttr = htmlspecialchars($this-&gt;domIdPrefix.$this-&gt;getId($v['row']).<span class="charliteral">'_'</span>.$v['bank']);
<a name="l00429"></a>00429 
<a name="l00430"></a>00430                         $out.='
<a name="l00431"></a>00431                                 &lt;tr&gt;
<a name="l00432"></a>00432                                         &lt;td <span class="keywordtype">id</span>=<span class="stringliteral">"'.$idAttr.'"</span>'.
<a name="l00433"></a>00433                                                 ($v['row']['_CSSCLASS'] ? ' <span class="keyword">class</span>=<span class="stringliteral">"'.$v['row']['_CSSCLASS'].'"</span>' : '').<span class="charliteral">'&gt;'</span>.
<a name="l00434"></a>00434                                                 $v['HTML'].
<a name="l00435"></a>00435                                                 $this-&gt;<a class="code" href="classt3lib__treeView.html#f062eeb1797301e751eab7c13278277b">wrapTitle</a>($this-&gt;<a class="code" href="classt3lib__treeView.html#0f92055f0bb60a929ff312cc4639b85a">getTitleStr</a>($v['row'],$titleLen),$v['row'],$v['bank']).
<a name="l00436"></a>00436                                         '&lt;/td&gt;
<a name="l00437"></a>00437                                 &lt;/tr&gt;
<a name="l00438"></a>00438                         ';
<a name="l00439"></a>00439                 }
<a name="l00440"></a>00440                 $out .= '
<a name="l00441"></a>00441                         &lt;/table&gt;';
<a name="l00442"></a>00442                 <span class="keywordflow">return</span> $out;
<a name="l00443"></a>00443         }
<a name="l00444"></a>00444 
<a name="l00445"></a>00445 
<a name="l00446"></a>00446 
<a name="l00447"></a>00447         <span class="comment">/*******************************************</span>
<a name="l00448"></a>00448 <span class="comment">         *</span>
<a name="l00449"></a>00449 <span class="comment">         * rendering parts</span>
<a name="l00450"></a>00450 <span class="comment">         *</span>
<a name="l00451"></a>00451 <span class="comment">         *******************************************/</span>
<a name="l00452"></a>00452 
<a name="l00453"></a>00453 
<a name="l00454"></a>00454 
<a name="l00467"></a><a class="code" href="classt3lib__treeView.html#603a500edd15e594885c94d9d8c28e40">00467</a>         function <a class="code" href="classt3lib__treeView.html#603a500edd15e594885c94d9d8c28e40">PMicon</a>($row,$a,$c,$nextCount,$exp)     {
<a name="l00468"></a>00468                 $PM = $nextCount ? ($exp?'minus<span class="charliteral">':'</span>plus') : 'join';
<a name="l00469"></a>00469                 $BTM = ($a==$c)?'bottom<span class="charliteral">':'</span>';
<a name="l00470"></a>00470                 $icon = '&lt;img'.t3lib_iconWorks::skinImg($this-&gt;backPath,'gfx/ol/'.$PM.$BTM.'.gif<span class="charliteral">','</span>width=<span class="stringliteral">"18"</span> height=<span class="stringliteral">"16"</span>').' alt=<span class="stringliteral">""</span> /&gt;';
<a name="l00471"></a>00471 
<a name="l00472"></a>00472                 <span class="keywordflow">if</span> ($nextCount) {
<a name="l00473"></a>00473                         $cmd=$this-&gt;bank.<span class="charliteral">'_'</span>.($exp?'0_<span class="charliteral">':'</span>1_').$row['uid'].<span class="charliteral">'_'</span>.$this-&gt;treeName;
<a name="l00474"></a>00474                         $bMark=($this-&gt;bank.<span class="charliteral">'_'</span>.$row['uid']);
<a name="l00475"></a>00475                         $icon = $this-&gt;<a class="code" href="classt3lib__treeView.html#057f032e45406c49ae6a0657241ac745">PM_ATagWrap</a>($icon,$cmd,$bMark);
<a name="l00476"></a>00476                 }
<a name="l00477"></a>00477                 <span class="keywordflow">return</span> $icon;
<a name="l00478"></a>00478         }
<a name="l00479"></a>00479 
<a name="l00489"></a><a class="code" href="classt3lib__treeView.html#057f032e45406c49ae6a0657241ac745">00489</a>         function <a class="code" href="classt3lib__treeView.html#057f032e45406c49ae6a0657241ac745">PM_ATagWrap</a>($icon,$cmd,$bMark='')      {
<a name="l00490"></a>00490                 <span class="keywordflow">if</span> ($this-&gt;thisScript) {
<a name="l00491"></a>00491                         <span class="keywordflow">if</span> ($bMark)     {
<a name="l00492"></a>00492                                 $anchor = <span class="charliteral">'#'</span>.$bMark;
<a name="l00493"></a>00493                                 $name=' name=<span class="stringliteral">"'.$bMark.'"</span>';
<a name="l00494"></a>00494                         }
<a name="l00495"></a>00495                         $aUrl = $this-&gt;thisScript.'?PM='.$cmd.$anchor;
<a name="l00496"></a>00496                         <span class="keywordflow">return</span> '&lt;a href=<span class="stringliteral">"'.htmlspecialchars($aUrl).'"</span>'.$name.<span class="charliteral">'&gt;'</span>.$icon.'&lt;/a&gt;';
<a name="l00497"></a>00497                 } <span class="keywordflow">else</span> {
<a name="l00498"></a>00498                         <span class="keywordflow">return</span> $icon;
<a name="l00499"></a>00499                 }
<a name="l00500"></a>00500         }
<a name="l00501"></a>00501 
<a name="l00511"></a><a class="code" href="classt3lib__treeView.html#f062eeb1797301e751eab7c13278277b">00511</a>         function <a class="code" href="classt3lib__treeView.html#f062eeb1797301e751eab7c13278277b">wrapTitle</a>(<a class="code" href="classt3lib__treeView.html#c87cf2c9099a38b0d2600b020d7a1f0e">$title</a>,$row,<a class="code" href="classt3lib__treeView.html#efd32bf020d1465e78b98c3591faca65">$bank</a>=0) {
<a name="l00512"></a>00512                 $aOnClick = '<span class="keywordflow">return</span> jumpTo(\''.$this-&gt;<a class="code" href="classt3lib__treeView.html#02964e664bcc5d9834aa0e2eed3282be">getJumpToParam</a>($row).<span class="charliteral">'\'</span>,<span class="keyword">this</span>,\''.$this-&gt;domIdPrefix.$this-&gt;getId($row).<span class="charliteral">'\'</span>,'.$bank.');';
<a name="l00513"></a>00513                 <span class="keywordflow">return</span> '&lt;a href=<span class="stringliteral">"#"</span> onclick=<span class="stringliteral">"'.htmlspecialchars($aOnClick).'"</span>&gt;'.$title.'&lt;/a&gt;';
<a name="l00514"></a>00514         }
<a name="l00515"></a>00515 
<a name="l00524"></a><a class="code" href="classt3lib__treeView.html#8605bf74617935eb82c7b21892d3dca3">00524</a>         function <a class="code" href="classt3lib__treeView.html#8605bf74617935eb82c7b21892d3dca3">wrapIcon</a>($icon,$row)   {
<a name="l00525"></a>00525                 <span class="keywordflow">return</span> $icon;
<a name="l00526"></a>00526         }
<a name="l00527"></a>00527 
<a name="l00535"></a><a class="code" href="classt3lib__treeView.html#0b387d1f3456da38e312b249fd2be85d">00535</a>         function <a class="code" href="classt3lib__treeView.html#0b387d1f3456da38e312b249fd2be85d">addTagAttributes</a>($icon,$attr)  {
<a name="l00536"></a>00536                 <span class="keywordflow">return</span> ereg_replace(' ?\/?&gt;$<span class="charliteral">','</span>',$icon).<span class="charliteral">' '</span>.$attr.' /&gt;';
<a name="l00537"></a>00537         }
<a name="l00538"></a>00538 
<a name="l00547"></a><a class="code" href="classt3lib__treeView.html#40a52222ff9a0d9bdefe5ee707e456bf">00547</a>         function <a class="code" href="classt3lib__treeView.html#40a52222ff9a0d9bdefe5ee707e456bf">wrapStop</a>($str,$row)    {
<a name="l00548"></a>00548                 <span class="keywordflow">if</span> ($row['php_tree_stop'])      {
<a name="l00549"></a>00549                         $str.='&lt;span <span class="keyword">class</span>=<span class="stringliteral">"typo3-red"</span>&gt;+ &lt;/span&gt;';
<a name="l00550"></a>00550                 }
<a name="l00551"></a>00551                 <span class="keywordflow">return</span> $str;
<a name="l00552"></a>00552         }
<a name="l00553"></a>00553 
<a name="l00554"></a>00554 
<a name="l00555"></a>00555 
<a name="l00556"></a>00556 
<a name="l00557"></a>00557 
<a name="l00558"></a>00558 
<a name="l00559"></a>00559         <span class="comment">/*******************************************</span>
<a name="l00560"></a>00560 <span class="comment">         *</span>
<a name="l00561"></a>00561 <span class="comment">         * tree handling</span>
<a name="l00562"></a>00562 <span class="comment">         *</span>
<a name="l00563"></a>00563 <span class="comment">         *******************************************/</span>
<a name="l00564"></a>00564 
<a name="l00565"></a>00565 
<a name="l00575"></a><a class="code" href="classt3lib__treeView.html#e8b43e55d0fe32c7dbce01caa0e5017c">00575</a>         function <a class="code" href="classt3lib__treeView.html#e8b43e55d0fe32c7dbce01caa0e5017c">expandNext</a>($id)        {
<a name="l00576"></a>00576                 <span class="keywordflow">return</span> ($this-&gt;stored[$this-&gt;bank][$id] || $this-&gt;expandAll)? 1 : 0;
<a name="l00577"></a>00577         }
<a name="l00578"></a>00578 
<a name="l00585"></a><a class="code" href="classt3lib__treeView.html#0febf41d6dc037cbdba70cdda10ee477">00585</a>         function <a class="code" href="classt3lib__treeView.html#0febf41d6dc037cbdba70cdda10ee477">initializePositionSaving</a>()     {
<a name="l00586"></a>00586                         <span class="comment">// Get stored tree structure:</span>
<a name="l00587"></a>00587                 $this-&gt;stored=unserialize($this-&gt;BE_USER-&gt;uc['browseTrees'][$this-&gt;treeName]);
<a name="l00588"></a>00588 
<a name="l00589"></a>00589                         <span class="comment">// PM action</span>
<a name="l00590"></a>00590                         <span class="comment">// (If an plus/minus icon has been clicked, the PM GET var is sent and we must update the stored positions in the tree):</span>
<a name="l00591"></a>00591                 $PM = explode(<span class="charliteral">'_'</span>,<a class="code" href="classt3lib__div.html#016d2190758279b2dbb953826c690118">t3lib_div::_GP</a>('PM'));        <span class="comment">// 0: mount key, 1: set/clear boolean, 2: item ID (cannot contain "_"), 3: treeName</span>
<a name="l00592"></a>00592                 <span class="keywordflow">if</span> (count($PM)==4 &amp;&amp; $PM[3]==$this-&gt;treeName)   {
<a name="l00593"></a>00593                         <span class="keywordflow">if</span> (isset($this-&gt;MOUNTS[$PM[0]]))       {
<a name="l00594"></a>00594                                 <span class="keywordflow">if</span> ($PM[1])     {       <span class="comment">// set</span>
<a name="l00595"></a>00595                                         $this-&gt;stored[$PM[0]][$PM[2]]=1;
<a name="l00596"></a>00596                                         $this-&gt;<a class="code" href="classt3lib__treeView.html#58011d6aa79566558caaca465ea14685">savePosition</a>();
<a name="l00597"></a>00597                                 } <span class="keywordflow">else</span> {        <span class="comment">// clear</span>
<a name="l00598"></a>00598                                         unset($this-&gt;stored[$PM[0]][$PM[2]]);
<a name="l00599"></a>00599                                         $this-&gt;<a class="code" href="classt3lib__treeView.html#58011d6aa79566558caaca465ea14685">savePosition</a>();
<a name="l00600"></a>00600                                 }
<a name="l00601"></a>00601                         }
<a name="l00602"></a>00602                 }
<a name="l00603"></a>00603         }
<a name="l00604"></a>00604 
<a name="l00612"></a><a class="code" href="classt3lib__treeView.html#58011d6aa79566558caaca465ea14685">00612</a>         function <a class="code" href="classt3lib__treeView.html#58011d6aa79566558caaca465ea14685">savePosition</a>() {
<a name="l00613"></a>00613                 $this-&gt;BE_USER-&gt;uc['browseTrees'][$this-&gt;treeName] = serialize($this-&gt;stored);
<a name="l00614"></a>00614                 $this-&gt;BE_USER-&gt;writeUC();
<a name="l00615"></a>00615         }
<a name="l00616"></a>00616 
<a name="l00617"></a>00617 
<a name="l00618"></a>00618 
<a name="l00619"></a>00619 
<a name="l00620"></a>00620 
<a name="l00621"></a>00621 
<a name="l00622"></a>00622 
<a name="l00623"></a>00623 
<a name="l00624"></a>00624 
<a name="l00625"></a>00625 
<a name="l00626"></a>00626 
<a name="l00627"></a>00627 
<a name="l00628"></a>00628 
<a name="l00629"></a>00629         <span class="comment">/******************************</span>
<a name="l00630"></a>00630 <span class="comment">         *</span>
<a name="l00631"></a>00631 <span class="comment">         * Functions that might be overwritten by extended classes</span>
<a name="l00632"></a>00632 <span class="comment">         *</span>
<a name="l00633"></a>00633 <span class="comment">         ********************************/</span>
<a name="l00634"></a>00634 
<a name="l00641"></a><a class="code" href="classt3lib__treeView.html#7d21f57ff41542d448906e69b1d29b32">00641</a>         function <a class="code" href="classt3lib__treeView.html#7d21f57ff41542d448906e69b1d29b32">getRootIcon</a>($rec) {
<a name="l00642"></a>00642                 <span class="keywordflow">return</span> $this-&gt;<a class="code" href="classt3lib__treeView.html#8605bf74617935eb82c7b21892d3dca3">wrapIcon</a>('&lt;img'.<a class="code" href="classt3lib__iconWorks.html#8885a3d8ebbdd02ccd05a708b2c3f53b">t3lib_iconWorks::skinImg</a>($this-&gt;backPath,'gfx/i/_icon_website.gif<span class="charliteral">','</span>width=<span class="stringliteral">"18"</span> height=<span class="stringliteral">"16"</span>').' alt=<span class="stringliteral">""</span> /&gt;',$rec);
<a name="l00643"></a>00643         }
<a name="l00644"></a>00644 
<a name="l00645"></a>00645 
<a name="l00646"></a>00646 
<a name="l00654"></a><a class="code" href="classt3lib__treeView.html#504f50b0a70f8587f4cfa6a44496f888">00654</a>         function <a class="code" href="classt3lib__treeView.html#504f50b0a70f8587f4cfa6a44496f888">getIcon</a>($row) {
<a name="l00655"></a>00655                 <span class="keywordflow">if</span> ($this-&gt;iconPath &amp;&amp; $this-&gt;iconName) {
<a name="l00656"></a>00656                         $icon = '&lt;img'.t3lib_iconWorks::skinImg('',$this-&gt;iconPath.$this-&gt;iconName,'width=<span class="stringliteral">"18"</span> height=<span class="stringliteral">"16"</span>').' alt=<span class="stringliteral">""</span>'.($this-&gt;showDefaultTitleAttribute ? ' title=<span class="stringliteral">"UID: '.$row['uid'].'"</span><span class="charliteral">':'</span>').' /&gt;';
<a name="l00657"></a>00657                 } <span class="keywordflow">else</span> {
<a name="l00658"></a>00658                         $icon = <a class="code" href="classt3lib__iconWorks.html#09ccf5c505e700d523bd9c71a43d0fb4">t3lib_iconWorks::getIconImage</a>($this-&gt;table,$row,$this-&gt;backPath,'align=<span class="stringliteral">"top"</span> <span class="keyword">class</span>=<span class="stringliteral">"c-recIcon"</span>'.($this-&gt;showDefaultTitleAttribute ? ' title=<span class="stringliteral">"UID: '.$row['uid'].'"</span><span class="charliteral">':'</span>'));
<a name="l00659"></a>00659                 }
<a name="l00660"></a>00660 
<a name="l00661"></a>00661                 <span class="keywordflow">return</span> $this-&gt;<a class="code" href="classt3lib__treeView.html#8605bf74617935eb82c7b21892d3dca3">wrapIcon</a>($icon,$row);
<a name="l00662"></a>00662         }
<a name="l00663"></a>00663 
<a name="l00664"></a>00664 
<a name="l00673"></a><a class="code" href="classt3lib__treeView.html#0f92055f0bb60a929ff312cc4639b85a">00673</a>         function <a class="code" href="classt3lib__treeView.html#0f92055f0bb60a929ff312cc4639b85a">getTitleStr</a>($row,$titleLen=30) {
<a name="l00674"></a>00674                 <a class="code" href="classt3lib__treeView.html#c87cf2c9099a38b0d2600b020d7a1f0e">$title</a> = (!strcmp(trim($row['title']),'')) ? '&lt;em&gt;['.$GLOBALS['LANG']-&gt;sL('LLL:EXT:lang/locallang_core.php:labels.no_title',1).']&lt;/em&gt;' : htmlspecialchars(<a class="code" href="classt3lib__div.html#93c658c7682e99d76960c3d670e073e8">t3lib_div::fixed_lgd_cs</a>($row['title'],$titleLen));
<a name="l00675"></a>00675                 <span class="keywordflow">return</span> <a class="code" href="classt3lib__treeView.html#c87cf2c9099a38b0d2600b020d7a1f0e">$title</a>;
<a name="l00676"></a>00676         }
<a name="l00677"></a>00677 
<a name="l00685"></a><a class="code" href="classt3lib__treeView.html#199f6d231ea69433a68f3513b5ca3025">00685</a>         function <a class="code" href="classt3lib__treeView.html#199f6d231ea69433a68f3513b5ca3025">getTitleAttrib</a>($row) {
<a name="l00686"></a>00686                 <span class="keywordflow">return</span> htmlspecialchars($row['title']);
<a name="l00687"></a>00687         }
<a name="l00688"></a>00688 
<a name="l00695"></a><a class="code" href="classt3lib__treeView.html#8c075797e038df9eab8a3cf84af8da6a">00695</a>         function <a class="code" href="classt3lib__treeView.html#8c075797e038df9eab8a3cf84af8da6a">getId</a>($row) {
<a name="l00696"></a>00696                 <span class="keywordflow">return</span> $row['uid'];
<a name="l00697"></a>00697         }
<a name="l00698"></a>00698 
<a name="l00705"></a><a class="code" href="classt3lib__treeView.html#02964e664bcc5d9834aa0e2eed3282be">00705</a>         function <a class="code" href="classt3lib__treeView.html#02964e664bcc5d9834aa0e2eed3282be">getJumpToParam</a>($row) {
<a name="l00706"></a>00706                 <span class="keywordflow">return</span> $this-&gt;<a class="code" href="classt3lib__treeView.html#8c075797e038df9eab8a3cf84af8da6a">getId</a>($row);
<a name="l00707"></a>00707         }
<a name="l00708"></a>00708 
<a name="l00709"></a>00709 
<a name="l00710"></a>00710 
<a name="l00711"></a>00711 
<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 
<a name="l00718"></a>00718 
<a name="l00719"></a>00719 
<a name="l00720"></a>00720 
<a name="l00721"></a>00721 
<a name="l00722"></a>00722 
<a name="l00723"></a>00723         <span class="comment">/********************************</span>
<a name="l00724"></a>00724 <span class="comment">         *</span>
<a name="l00725"></a>00725 <span class="comment">         * tree data buidling</span>
<a name="l00726"></a>00726 <span class="comment">         *</span>
<a name="l00727"></a>00727 <span class="comment">         ********************************/</span>
<a name="l00728"></a>00728 
<a name="l00739"></a><a class="code" href="classt3lib__treeView.html#93fa8e246d0b5c4db30a74355e8a1a01">00739</a>         function <a class="code" href="classt3lib__treeView.html#93fa8e246d0b5c4db30a74355e8a1a01">getTree</a>($uid, $depth=999, $depthData='',$blankLineCode='',$subCSSclass='')     {
<a name="l00740"></a>00740 
<a name="l00741"></a>00741                         <span class="comment">// Buffer for id hierarchy is reset:</span>
<a name="l00742"></a>00742                 $this-&gt;buffer_idH=array();
<a name="l00743"></a>00743 
<a name="l00744"></a>00744 
<a name="l00745"></a>00745                         <span class="comment">// Init vars</span>
<a name="l00746"></a>00746                 $depth=intval($depth);
<a name="l00747"></a>00747                 $HTML='';
<a name="l00748"></a>00748                 $a=0;
<a name="l00749"></a>00749 
<a name="l00750"></a>00750                 $res = $this-&gt;<a class="code" href="classt3lib__treeView.html#8b14052165b7579cd54a43fa0a776225">getDataInit</a>($uid,$subCSSclass);
<a name="l00751"></a>00751                 $c = $this-&gt;<a class="code" href="classt3lib__treeView.html#3544f33d665b24a03921d9fbeb2daed4">getDataCount</a>($res);
<a name="l00752"></a>00752                 $crazyRecursionLimiter = 999;
<a name="l00753"></a>00753 
<a name="l00754"></a>00754                         <span class="comment">// Traverse the records:</span>
<a name="l00755"></a>00755                 <span class="keywordflow">while</span> ($crazyRecursionLimiter&gt;0 &amp;&amp; $row = $this-&gt;<a class="code" href="classt3lib__treeView.html#5b148a4124e1eab773e68a7d32d813ca">getDataNext</a>($res,$subCSSclass))        {
<a name="l00756"></a>00756                         $a++;
<a name="l00757"></a>00757                         $crazyRecursionLimiter--;
<a name="l00758"></a>00758 
<a name="l00759"></a>00759                         $newID =$row['uid'];
<a name="l00760"></a>00760                         $this-&gt;tree[]=array();          <span class="comment">// Reserve space.</span>
<a name="l00761"></a>00761                         end($this-&gt;tree);
<a name="l00762"></a>00762                         $treeKey = key($this-&gt;tree);    <span class="comment">// Get the key for this space</span>
<a name="l00763"></a>00763                         $LN = ($a==$c)?'blank<span class="charliteral">':'</span>line';
<a name="l00764"></a>00764 
<a name="l00765"></a>00765                                 <span class="comment">// If records should be accumulated, do so</span>
<a name="l00766"></a>00766                         <span class="keywordflow">if</span> ($this-&gt;setRecs)     {
<a name="l00767"></a>00767                                 $this-&gt;recs[$row['uid']] = $row;
<a name="l00768"></a>00768                         }
<a name="l00769"></a>00769 
<a name="l00770"></a>00770                                 <span class="comment">// Accumulate the id of the element in the internal arrays</span>
<a name="l00771"></a>00771                         $this-&gt;ids[]=$idH[$row['uid']]['uid'] = $row['uid'];
<a name="l00772"></a>00772                         $this-&gt;ids_hierarchy[$depth][] = $row['uid'];
<a name="l00773"></a>00773 
<a name="l00774"></a>00774                                 <span class="comment">// Make a recursive call to the next level</span>
<a name="l00775"></a>00775                         $HTML_depthData = $depthData.'&lt;img'.t3lib_iconWorks::skinImg($this-&gt;backPath,'gfx/ol/'.$LN.'.gif<span class="charliteral">','</span>width=<span class="stringliteral">"18"</span> height=<span class="stringliteral">"16"</span>').' alt=<span class="stringliteral">""</span> /&gt;';
<a name="l00776"></a>00776                         <span class="keywordflow">if</span> ($depth&gt;1 &amp;&amp; $this-&gt;<a class="code" href="classt3lib__treeView.html#e8b43e55d0fe32c7dbce01caa0e5017c">expandNext</a>($newID) &amp;&amp; !$row['php_tree_stop'])    {
<a name="l00777"></a>00777                                 $nextCount=$this-&gt;<a class="code" href="classt3lib__treeView.html#93fa8e246d0b5c4db30a74355e8a1a01">getTree</a>(
<a name="l00778"></a>00778                                                 $newID,
<a name="l00779"></a>00779                                                 $depth-1,
<a name="l00780"></a>00780                                                 $this-&gt;makeHTML ? $HTML_depthData : '',
<a name="l00781"></a>00781                                                 $blankLineCode.<span class="charliteral">','</span>.$LN,
<a name="l00782"></a>00782                                                 $row['_SUBCSSCLASS']
<a name="l00783"></a>00783                                         );
<a name="l00784"></a>00784                                 <span class="keywordflow">if</span> (count($this-&gt;buffer_idH))   $idH[$row['uid']]['subrow']=$this-&gt;buffer_idH;
<a name="l00785"></a>00785                                 $exp=1; <span class="comment">// Set "did expand" flag</span>
<a name="l00786"></a>00786                         } <span class="keywordflow">else</span> {
<a name="l00787"></a>00787                                 $nextCount=$this-&gt;<a class="code" href="classt3lib__treeView.html#0529490fd9dfd5e4aa165cd23cb907da">getCount</a>($newID);
<a name="l00788"></a>00788                                 $exp=0; <span class="comment">// Clear "did expand" flag</span>
<a name="l00789"></a>00789                         }
<a name="l00790"></a>00790 
<a name="l00791"></a>00791                                 <span class="comment">// Set HTML-icons, if any:</span>
<a name="l00792"></a>00792                         <span class="keywordflow">if</span> ($this-&gt;makeHTML)    {
<a name="l00793"></a>00793                                 $HTML = $depthData.$this-&gt;PMicon($row,$a,$c,$nextCount,$exp);
<a name="l00794"></a>00794                                 $HTML.=$this-&gt;<a class="code" href="classt3lib__treeView.html#40a52222ff9a0d9bdefe5ee707e456bf">wrapStop</a>($this-&gt;<a class="code" href="classt3lib__treeView.html#504f50b0a70f8587f4cfa6a44496f888">getIcon</a>($row),$row);
<a name="l00795"></a>00795 <span class="preprocessor">                                #       $HTML.=$this-&gt;wrapStop($this-&gt;wrapIcon($this-&gt;getIcon($row),$row),$row);</span>
<a name="l00796"></a>00796 <span class="preprocessor"></span>                        }
<a name="l00797"></a>00797 
<a name="l00798"></a>00798                                 <span class="comment">// Finally, add the row/HTML content to the -&gt;tree array in the reserved key.</span>
<a name="l00799"></a>00799                         $this-&gt;tree[$treeKey] = Array(
<a name="l00800"></a>00800                                 'row'=&gt;$row,
<a name="l00801"></a>00801                                 'HTML'=&gt;$HTML,
<a name="l00802"></a>00802                                 'HTML_depthData' =&gt; $this-&gt;makeHTML==2 ? $HTML_depthData : '',
<a name="l00803"></a>00803                                 'invertedDepth'=&gt;$depth,
<a name="l00804"></a>00804                                 'blankLineCode'=&gt;$blankLineCode,
<a name="l00805"></a>00805                                 'bank' =&gt; $this-&gt;bank
<a name="l00806"></a>00806                         );
<a name="l00807"></a>00807                 }
<a name="l00808"></a>00808 
<a name="l00809"></a>00809                 $this-&gt;<a class="code" href="classt3lib__treeView.html#67e8d3dccbc4b1e9a842aada9e9d602a">getDataFree</a>($res);
<a name="l00810"></a>00810                 $this-&gt;buffer_idH=$idH;
<a name="l00811"></a>00811                 <span class="keywordflow">return</span> $c;
<a name="l00812"></a>00812         }
<a name="l00813"></a>00813 
<a name="l00814"></a>00814 
<a name="l00815"></a>00815 
<a name="l00816"></a>00816 
<a name="l00817"></a>00817 
<a name="l00818"></a>00818 
<a name="l00819"></a>00819 
<a name="l00820"></a>00820 
<a name="l00821"></a>00821 
<a name="l00822"></a>00822 
<a name="l00823"></a>00823 
<a name="l00824"></a>00824 
<a name="l00825"></a>00825         <span class="comment">/********************************</span>
<a name="l00826"></a>00826 <span class="comment">         *</span>
<a name="l00827"></a>00827 <span class="comment">         * Data handling</span>
<a name="l00828"></a>00828 <span class="comment">         * Works with records and arrays</span>
<a name="l00829"></a>00829 <span class="comment">         *</span>
<a name="l00830"></a>00830 <span class="comment">         ********************************/</span>
<a name="l00831"></a>00831 
<a name="l00839"></a><a class="code" href="classt3lib__treeView.html#0529490fd9dfd5e4aa165cd23cb907da">00839</a>         function <a class="code" href="classt3lib__treeView.html#0529490fd9dfd5e4aa165cd23cb907da">getCount</a>($uid) {
<a name="l00840"></a>00840                 <span class="keywordflow">if</span> (is_array($this-&gt;data)) {
<a name="l00841"></a>00841                         $res = $this-&gt;<a class="code" href="classt3lib__treeView.html#8b14052165b7579cd54a43fa0a776225">getDataInit</a>($uid);
<a name="l00842"></a>00842                         <span class="keywordflow">return</span> $this-&gt;<a class="code" href="classt3lib__treeView.html#3544f33d665b24a03921d9fbeb2daed4">getDataCount</a>($res);
<a name="l00843"></a>00843                 } <span class="keywordflow">else</span> {
<a name="l00844"></a>00844                         $res = $GLOBALS['TYPO3_DB']-&gt;exec_SELECTquery(
<a name="l00845"></a>00845                                                 'count(*)',
<a name="l00846"></a>00846                                                 $this-&gt;table,
<a name="l00847"></a>00847                                                 $this-&gt;parentField.<span class="charliteral">'='</span>.$GLOBALS['TYPO3_DB']-&gt;fullQuoteStr($uid, $this-&gt;table).
<a name="l00848"></a>00848                                                         <a class="code" href="classt3lib__BEfunc.html#16c74b2f662fa4157494b0e9caacaefb">t3lib_BEfunc::deleteClause</a>($this-&gt;table).
<a name="l00849"></a>00849                                                         <a class="code" href="classt3lib__BEfunc.html#17438dad562c9e5991236022af7a15ff">t3lib_BEfunc::versioningPlaceholderClause</a>($this-&gt;table).
<a name="l00850"></a>00850                                                         $this-&gt;clause   <span class="comment">// whereClauseMightContainGroupOrderBy</span>
<a name="l00851"></a>00851                                         );
<a name="l00852"></a>00852                         $row = $GLOBALS['TYPO3_DB']-&gt;sql_fetch_row($res);
<a name="l00853"></a>00853                         <span class="keywordflow">return</span> $row[0];
<a name="l00854"></a>00854                 }
<a name="l00855"></a>00855         }
<a name="l00856"></a>00856 
<a name="l00857"></a>00857 
<a name="l00858"></a>00858 
<a name="l00865"></a><a class="code" href="classt3lib__treeView.html#d96a2be7ed968eebf591b0f3dad545ed">00865</a>         function <a class="code" href="classt3lib__treeView.html#d96a2be7ed968eebf591b0f3dad545ed">getRootRecord</a>($uid) {
<a name="l00866"></a>00866                 <span class="keywordflow">return</span> array('title'=&gt;$this-&gt;title, 'uid'=&gt;0);
<a name="l00867"></a>00867         }
<a name="l00868"></a>00868 
<a name="l00869"></a>00869 
<a name="l00878"></a><a class="code" href="classt3lib__treeView.html#c6994ecf9c8f8ae3e829076471eef161">00878</a>         function <a class="code" href="classt3lib__treeView.html#c6994ecf9c8f8ae3e829076471eef161">getRecord</a>($uid) {
<a name="l00879"></a>00879                 <span class="keywordflow">if</span> (is_array($this-&gt;data)) {
<a name="l00880"></a>00880                         <span class="keywordflow">return</span> $this-&gt;dataLookup[$uid];
<a name="l00881"></a>00881                 } <span class="keywordflow">else</span> {
<a name="l00882"></a>00882                         $row = t3lib_befunc::getRecordWSOL($this-&gt;table,$uid);
<a name="l00883"></a>00883 
<a name="l00884"></a>00884                         <span class="keywordflow">return</span> $row;
<a name="l00885"></a>00885                 }
<a name="l00886"></a>00886         }
<a name="l00887"></a>00887 
<a name="l00898"></a><a class="code" href="classt3lib__treeView.html#8b14052165b7579cd54a43fa0a776225">00898</a>         function <a class="code" href="classt3lib__treeView.html#8b14052165b7579cd54a43fa0a776225">getDataInit</a>($parentId,$subCSSclass='') {
<a name="l00899"></a>00899                 <span class="keywordflow">if</span> (is_array($this-&gt;data)) {
<a name="l00900"></a>00900                         <span class="keywordflow">if</span> (!is_array($this-&gt;dataLookup[$parentId][$this-&gt;subLevelID])) {
<a name="l00901"></a>00901                                 $parentId = -1;
<a name="l00902"></a>00902                         } <span class="keywordflow">else</span> {
<a name="l00903"></a>00903                                 <a class="code" href="classt3lib__treeView.html#12b144e564a0ef08a51b81b5308a4e38">reset</a>($this-&gt;dataLookup[$parentId][$this-&gt;subLevelID]);
<a name="l00904"></a>00904                         }
<a name="l00905"></a>00905                         <span class="keywordflow">return</span> $parentId;
<a name="l00906"></a>00906                 } <span class="keywordflow">else</span> {
<a name="l00907"></a>00907                         $res = $GLOBALS['TYPO3_DB']-&gt;exec_SELECTquery(
<a name="l00908"></a>00908                                                 implode(<span class="charliteral">','</span>,$this-&gt;fieldArray),
<a name="l00909"></a>00909                                                 $this-&gt;table,
<a name="l00910"></a>00910                                                 $this-&gt;parentField.<span class="charliteral">'='</span>.$GLOBALS['TYPO3_DB']-&gt;fullQuoteStr($parentId, $this-&gt;table).
<a name="l00911"></a>00911                                                         <a class="code" href="classt3lib__BEfunc.html#16c74b2f662fa4157494b0e9caacaefb">t3lib_BEfunc::deleteClause</a>($this-&gt;table).
<a name="l00912"></a>00912                                                         <a class="code" href="classt3lib__BEfunc.html#17438dad562c9e5991236022af7a15ff">t3lib_BEfunc::versioningPlaceholderClause</a>($this-&gt;table).
<a name="l00913"></a>00913                                                         $this-&gt;clause,  <span class="comment">// whereClauseMightContainGroupOrderBy</span>
<a name="l00914"></a>00914                                                 '',
<a name="l00915"></a>00915                                                 $this-&gt;orderByFields
<a name="l00916"></a>00916                                         );
<a name="l00917"></a>00917                         <span class="keywordflow">return</span> $res;
<a name="l00918"></a>00918                 }
<a name="l00919"></a>00919         }
<a name="l00920"></a>00920 
<a name="l00929"></a><a class="code" href="classt3lib__treeView.html#3544f33d665b24a03921d9fbeb2daed4">00929</a>         function <a class="code" href="classt3lib__treeView.html#3544f33d665b24a03921d9fbeb2daed4">getDataCount</a>(&amp;$res) {
<a name="l00930"></a>00930                 <span class="keywordflow">if</span> (is_array($this-&gt;data)) {
<a name="l00931"></a>00931                         <span class="keywordflow">return</span> count($this-&gt;dataLookup[$res][$this-&gt;subLevelID]);
<a name="l00932"></a>00932                 } <span class="keywordflow">else</span> {
<a name="l00933"></a>00933                         $c = $GLOBALS['TYPO3_DB']-&gt;sql_num_rows($res);
<a name="l00934"></a>00934                         <span class="keywordflow">return</span> $c;
<a name="l00935"></a>00935                 }
<a name="l00936"></a>00936         }
<a name="l00937"></a>00937 
<a name="l00947"></a><a class="code" href="classt3lib__treeView.html#5b148a4124e1eab773e68a7d32d813ca">00947</a>         function <a class="code" href="classt3lib__treeView.html#5b148a4124e1eab773e68a7d32d813ca">getDataNext</a>(&amp;$res,$subCSSclass=''){
<a name="l00948"></a>00948                 <span class="keywordflow">if</span> (is_array($this-&gt;data)) {
<a name="l00949"></a>00949                         <span class="keywordflow">if</span> ($res&lt;0) {
<a name="l00950"></a>00950                                 $row=FALSE;
<a name="l00951"></a>00951                         } <span class="keywordflow">else</span> {
<a name="l00952"></a>00952                                 list(,$row) = each($this-&gt;dataLookup[$res][$this-&gt;subLevelID]);
<a name="l00953"></a>00953 
<a name="l00954"></a>00954                                         <span class="comment">// Passing on default &lt;td&gt; class for subelements:</span>
<a name="l00955"></a>00955                                 <span class="keywordflow">if</span> (is_array($row) &amp;&amp; $subCSSclass!=='')        {
<a name="l00956"></a>00956                                         $row['_CSSCLASS'] = $row['_SUBCSSCLASS'] = $subCSSclass;
<a name="l00957"></a>00957                                 }
<a name="l00958"></a>00958                         }
<a name="l00959"></a>00959                         <span class="keywordflow">return</span> $row;
<a name="l00960"></a>00960                 } <span class="keywordflow">else</span> {
<a name="l00961"></a>00961                         $row = @$GLOBALS['TYPO3_DB']-&gt;sql_fetch_assoc($res);
<a name="l00962"></a>00962                         <a class="code" href="classt3lib__BEfunc.html#6325c33f1e88b6ccb8e57e7a267e3b42">t3lib_BEfunc::workspaceOL</a>($this-&gt;table, $row, $this-&gt;BE_USER-&gt;workspace);
<a name="l00963"></a>00963 
<a name="l00964"></a>00964                                 <span class="comment">// Passing on default &lt;td&gt; class for subelements:</span>
<a name="l00965"></a>00965                         <span class="keywordflow">if</span> (is_array($row) &amp;&amp; $subCSSclass!=='')        {
<a name="l00966"></a>00966 
<a name="l00967"></a>00967                                 <span class="keywordflow">if</span> ($this-&gt;table==='pages' &amp;&amp; $this-&gt;highlightPagesWithVersions &amp;&amp; !isset($row['_CSSCLASS']) &amp;&amp; count(<a class="code" href="classt3lib__BEfunc.html#e92b5007bdb7f26d30054fd322ea8385">t3lib_BEfunc::countVersionsOfRecordsOnPage</a>($this-&gt;BE_USER-&gt;workspace, $row['uid'], TRUE)))        {
<a name="l00968"></a>00968                                         $row['_CSSCLASS'] = 'ver-versions';
<a name="l00969"></a>00969                                 }
<a name="l00970"></a>00970 
<a name="l00971"></a>00971                                 <span class="keywordflow">if</span> (!isset($row['_CSSCLASS']))  $row['_CSSCLASS'] = $subCSSclass;
<a name="l00972"></a>00972                                 <span class="keywordflow">if</span> (!isset($row['_SUBCSSCLASS']))       $row['_SUBCSSCLASS'] = $subCSSclass;
<a name="l00973"></a>00973                         }
<a name="l00974"></a>00974 
<a name="l00975"></a>00975                         <span class="keywordflow">return</span> $row;
<a name="l00976"></a>00976                 }
<a name="l00977"></a>00977         }
<a name="l00978"></a>00978 
<a name="l00986"></a><a class="code" href="classt3lib__treeView.html#67e8d3dccbc4b1e9a842aada9e9d602a">00986</a>         function <a class="code" href="classt3lib__treeView.html#67e8d3dccbc4b1e9a842aada9e9d602a">getDataFree</a>(&amp;$res){
<a name="l00987"></a>00987                 <span class="keywordflow">if</span> (is_array($this-&gt;data)) {
<a name="l00988"></a>00988 <span class="preprocessor">                #       unset();</span>
<a name="l00989"></a>00989 <span class="preprocessor"></span>                } <span class="keywordflow">else</span> {
<a name="l00990"></a>00990                         $GLOBALS['TYPO3_DB']-&gt;sql_free_result($res);
<a name="l00991"></a>00991                 }
<a name="l00992"></a>00992         }
<a name="l00993"></a>00993 
<a name="l01006"></a><a class="code" href="classt3lib__treeView.html#686974e7f80d3f19e6bd961877eeed3d">01006</a>         function <a class="code" href="classt3lib__treeView.html#686974e7f80d3f19e6bd961877eeed3d">setDataFromArray</a>(&amp;$dataArr,$traverse=FALSE,$pid=0)     {
<a name="l01007"></a>01007                 <span class="keywordflow">if</span> (!$traverse) {
<a name="l01008"></a>01008                         $this-&gt;data = &amp;$dataArr;
<a name="l01009"></a>01009                         $this-&gt;dataLookup=array();
<a name="l01010"></a>01010                                 <span class="comment">// add root</span>
<a name="l01011"></a>01011                         $this-&gt;dataLookup[0][$this-&gt;subLevelID]=&amp;$dataArr;
<a name="l01012"></a>01012                 }
<a name="l01013"></a>01013 
<a name="l01014"></a>01014                 foreach($dataArr as $uid =&gt; $val)       {
<a name="l01015"></a>01015 
<a name="l01016"></a>01016                         $dataArr[$uid]['uid']=$uid;
<a name="l01017"></a>01017                         $dataArr[$uid]['pid']=$pid;
<a name="l01018"></a>01018 
<a name="l01019"></a>01019                                 <span class="comment">// gives quick access to id's</span>
<a name="l01020"></a>01020                         $this-&gt;dataLookup[$uid] = &amp;$dataArr[$uid];
<a name="l01021"></a>01021 
<a name="l01022"></a>01022                         <span class="keywordflow">if</span> (is_array($val[$this-&gt;subLevelID])) {
<a name="l01023"></a>01023                                 $this-&gt;<a class="code" href="classt3lib__treeView.html#686974e7f80d3f19e6bd961877eeed3d">setDataFromArray</a>($dataArr[$uid][$this-&gt;subLevelID],TRUE,$uid);
<a name="l01024"></a>01024                         }
<a name="l01025"></a>01025                 }
<a name="l01026"></a>01026         }
<a name="l01027"></a>01027 
<a name="l01035"></a><a class="code" href="classt3lib__treeView.html#293ec21e09f6a467ba06bc6d2dccd2e6">01035</a>         function <a class="code" href="classt3lib__treeView.html#293ec21e09f6a467ba06bc6d2dccd2e6">setDataFromTreeArray</a>(&amp;$treeArr, &amp;$treeLookupArr)       {
<a name="l01036"></a>01036                 $this-&gt;data = &amp;$treeArr;
<a name="l01037"></a>01037                 $this-&gt;dataLookup=&amp;$treeLookupArr;
<a name="l01038"></a>01038         }
<a name="l01039"></a>01039 
<a name="l01040"></a>01040 
<a name="l01041"></a>01041         <span class="comment">/*</span>
<a name="l01042"></a>01042 <span class="comment">                array(</span>
<a name="l01043"></a>01043 <span class="comment">                        [id1] =&gt; array(</span>
<a name="l01044"></a>01044 <span class="comment">                                'title'=&gt;'title...',</span>
<a name="l01045"></a>01045 <span class="comment">                                'id' =&gt; 'id1',</span>
<a name="l01046"></a>01046 <span class="comment">                                'icon' =&gt; 'icon ref, relative to typo3/ folder...'</span>
<a name="l01047"></a>01047 <span class="comment">                        ),</span>
<a name="l01048"></a>01048 <span class="comment">                        [id2] =&gt; array(</span>
<a name="l01049"></a>01049 <span class="comment">                                'title'=&gt;'title...',</span>
<a name="l01050"></a>01050 <span class="comment">                                'id' =&gt; 'id2',</span>
<a name="l01051"></a>01051 <span class="comment">                                'icon' =&gt; 'icon ref, relative to typo3/ folder...'</span>
<a name="l01052"></a>01052 <span class="comment">                        ),</span>
<a name="l01053"></a>01053 <span class="comment">                        [id3] =&gt; array(</span>
<a name="l01054"></a>01054 <span class="comment">                                'title'=&gt;'title...',</span>
<a name="l01055"></a>01055 <span class="comment">                                'id' =&gt; 'id3',</span>
<a name="l01056"></a>01056 <span class="comment">                                'icon' =&gt; 'icon ref, relative to typo3/ folder...'</span>
<a name="l01057"></a>01057 <span class="comment">                                $this-&gt;subLevelID =&gt; array(</span>
<a name="l01058"></a>01058 <span class="comment">                                        [id3_asdf#1] =&gt; array(</span>
<a name="l01059"></a>01059 <span class="comment">                                                'title'=&gt;'title...',</span>
<a name="l01060"></a>01060 <span class="comment">                                                'id' =&gt; 'asdf#1',</span>
<a name="l01061"></a>01061 <span class="comment">                                                'icon' =&gt; 'icon ref, relative to typo3/ folder...'</span>
<a name="l01062"></a>01062 <span class="comment">                                        ),</span>
<a name="l01063"></a>01063 <span class="comment">                                        [5] =&gt; array(</span>
<a name="l01064"></a>01064 <span class="comment">                                                'title'=&gt;'title...',</span>
<a name="l01065"></a>01065 <span class="comment">                                                'id' =&gt; 'id...',</span>
<a name="l01066"></a>01066 <span class="comment">                                                'icon' =&gt; 'icon ref, relative to typo3/ folder...'</span>
<a name="l01067"></a>01067 <span class="comment">                                        ),</span>
<a name="l01068"></a>01068 <span class="comment">                                        [6] =&gt; array(</span>
<a name="l01069"></a>01069 <span class="comment">                                                'title'=&gt;'title...',</span>
<a name="l01070"></a>01070 <span class="comment">                                                'id' =&gt; 'id...',</span>
<a name="l01071"></a>01071 <span class="comment">                                                'icon' =&gt; 'icon ref, relative to typo3/ folder...'</span>
<a name="l01072"></a>01072 <span class="comment">                                        ),</span>
<a name="l01073"></a>01073 <span class="comment">                                )</span>
<a name="l01074"></a>01074 <span class="comment">                        ),</span>
<a name="l01075"></a>01075 <span class="comment">                )</span>
<a name="l01076"></a>01076 <span class="comment">*/</span>
<a name="l01077"></a>01077 }
<a name="l01078"></a>01078 
<a name="l01079"></a>01079 
<a name="l01080"></a>01080 <span class="keywordflow">if</span> (defined('TYPO3_MODE') &amp;&amp; $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/<span class="keyword">class</span>.t3lib_treeview.php'])  {
<a name="l01081"></a>01081         include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/<span class="keyword">class</span>.t3lib_treeview.php']);
<a name="l01082"></a>01082 }
<a name="l01083"></a>01083 ?&gt;
</pre></div><?php
  include_once '../doc-typo3-funcs.php';
  get_footer();
?>