API16

JFolder/listFolderTree: Difference between revisions

From Joomla! Documentation

Doxiki (talk | contribs)
New page: ===Description=== Lists folder in format suitable for tree display. <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>[[Description:JFolder/listFolderTree|Edit Descr...
 
m preparing for archive only
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
Lists folder in format suitable for tree display.
Lists folder in format suitable for tree display.


<span class="editsection" style="font-size:76%;">
<nowiki>[</nowiki>[[Description:JFolder/listFolderTree|Edit Descripton]]<nowiki>]</nowiki>
</span>


{{Description:JFolder/listFolderTree}}
 
<! removed transcluded page call, red link never existed >


===Syntax===
===Syntax===
Line 75: Line 73:
</source>
</source>


<span class="editsection" style="font-size:76%;">
 
<nowiki>[</nowiki>[[SeeAlso:JFolder/listFolderTree|Edit See Also]]<nowiki>]</nowiki>
<! removed transcluded page call, red link never existed >
</span>
{{SeeAlso:JFolder/listFolderTree}}


===Examples===
===Examples===
<CodeExamplesForm />
=== Code Examples ===
<dpl>
<dpl>
  noresultsheader=\n
  noresultsheader=\n
  category=listFolderTree
  category=listFolderTree
  category=JFolder
  category=JFolder
  category=CodeExample
  namespace=CodeExample
  category=MethodExample
  category=MethodExample
  include=*
  include=*
  format= ,,,
  format= ,,,
</dpl>
</dpl>
[[Category:Archived pages API16]]

Latest revision as of 01:40, 25 March 2017

Description

Lists folder in format suitable for tree display.


<! removed transcluded page call, red link never existed >

Syntax

listFolderTree($path, $filter, $maxLevel=3, $level=0, $parent=0)
Parameter Name Default Value Description
$path The path of the folder to read.
$filter A filter for folder names.
$maxLevel 3 The maximum number of levels to recursively read, defaults to three.
$level 0 The current level, optional.
$parent 0 Unique identifier of the parent folder, if any.

Returns

array Folders in the given folder.

Defined in

libraries/joomla/filesystem/folder.php

Importing

jimport( 'joomla.filesystem.folder' );

Source Body

function listFolderTree($path, $filter, $maxLevel = 3, $level = 0, $parent = 0)
{
        $dirs = array ();
        if ($level == 0) {
                $GLOBALS['_JFolder_folder_tree_index'] = 0;
        }
        if ($level < $maxLevel) {
                $folders = JFolder::folders($path, $filter);
                // first path, index foldernames
                foreach ($folders as $name) {
                        $id = ++$GLOBALS['_JFolder_folder_tree_index'];
                        $fullName = JPath::clean($path . DS . $name);
                        $dirs[] = array(
                                'id' => $id,
                                'parent' => $parent,
                                'name' => $name,
                                'fullname' => $fullName,
                                'relname' => str_replace(JPATH_ROOT, '', $fullName)
                        );
                        $dirs2 = JFolder::listFolderTree($fullName, $filter, $maxLevel, $level + 1, $id);
                        $dirs = array_merge($dirs, $dirs2);
                }
        }
        return $dirs;
}


<! removed transcluded page call, red link never existed >

Examples

Code Examples