TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Backend\Tree\View\AbstractTreeView Class Reference
Inheritance diagram for TYPO3\CMS\Backend\Tree\View\AbstractTreeView:
TYPO3\CMS\Backend\Tree\View\BrowseTreeView TYPO3\CMS\Backend\Tree\View\FolderTreeView TYPO3\CMS\Backend\Tree\View\PageTreeView TYPO3\CMS\Backend\Tree\View\ElementBrowserPageTreeView TYPO3\CMS\Backend\View\PageTreeView TYPO3\CMS\Impexp\View\ExportPageTreeView TYPO3\CMS\Backend\Tree\View\ElementBrowserFolderTreeView TYPO3\CMS\Filelist\FileListFolderTree TYPO3\CMS\Backend\Tree\View\NewRecordPageTreeView TYPO3\CMS\Recordlist\Tree\View\ElementBrowserPageTreeView

Public Member Functions

 __construct ()
 
 init ($clause='', $orderByFields='')
 
 addField ($field, $noCheck=false)
 
 reset ()
 
 getBrowsableTree ()
 
 printTree ($treeArr='')
 
 PMicon ($row, $a, $c, $nextCount, $isOpen)
 
 PM_ATagWrap ($icon, $cmd, $bMark='', $isOpen=false)
 
 wrapTitle ($title, $row, $bank=0)
 
 wrapIcon ($icon, $row)
 
 addTagAttributes ($icon, $attr)
 
 wrapStop ($str, $row)
 
 expandNext ($id)
 
 initializePositionSaving ()
 
 savePosition ()
 
 getRootIcon ($rec)
 
 getIcon ($row)
 
 getTitleStr ($row, $titleLen=30)
 
 getTitleAttrib ($row)
 
 getId ($row)
 
 getJumpToParam ($row)
 
 getTree ($uid, $depth=999, $depthData='')
 
 getCount ($uid)
 
 getRootRecord ()
 
 getRecord ($uid)
 
 getDataInit ($parentId)
 
 getDataCount (&$res)
 
 getDataNext (&$res)
 
 getDataFree (&$res)
 
 setDataFromArray (&$dataArr, $traverse=false, $pid=0)
 
 setDataFromTreeArray (&$treeArr, &$treeLookupArr)
 

Public Attributes

 $expandFirst = 0
 
 $expandAll = 0
 
 $thisScript = ''
 
 $titleAttrib = 'title'
 
 $ext_IconMode = false
 
 $ext_showPathAboveMounts = false
 
 $addSelfId = 0
 
 $title = 'no title'
 
 $showDefaultTitleAttribute = false
 
 $BE_USER = ''
 
 $MOUNTS = null
 
 $table = ''
 
 $parentField = 'pid'
 
 $clause = ''
 
 $orderByFields = ''
 
 $fieldArray = ['uid', 'pid', 'title']
 
 $defaultList = 'uid,pid,tstamp,sorting,deleted,perms_userid,perms_groupid,perms_user,perms_group,perms_everybody,crdate,cruser_id'
 
 $treeName = ''
 
 $domIdPrefix = 'row'
 
 $makeHTML = 1
 
 $setRecs = 0
 
 $subLevelID = '_SUB_LEVEL'
 
 $ids = []
 
 $ids_hierarchy = []
 
 $orig_ids_hierarchy = []
 
 $buffer_idH = []
 
 $specUIDmap = []
 
 $data = false
 
 $dataLookup = false
 
 $tree = []
 
 $stored = []
 
 $bank = 0
 
 $recs = []
 

Protected Member Functions

 determineScriptUrl ()
 
 getThisScript ()
 
 getLanguageService ()
 
 getBackendUser ()
 
 getDatabaseConnection ()
 

Detailed Description

Base class for creating a browsable array/page/folder tree in HTML

Definition at line 31 of file AbstractTreeView.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::__construct ( )

Member Function Documentation

◆ addField()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::addField (   $field,
  $noCheck = false 
)

Adds a fieldname to the internal array ->fieldArray

Parameters
string$fieldField name to
bool$noCheckIf set, the fieldname will be set no matter what. Otherwise the field name must either be found as key in $GLOBALS['TCA'][$table]['columns'] or in the list ->defaultList
Returns
void

Definition at line 345 of file AbstractTreeView.php.

References $GLOBALS, and TYPO3\CMS\Core\Utility\GeneralUtility\inList().

◆ addTagAttributes()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::addTagAttributes (   $icon,
  $attr 
)

Adds attributes to image tag.

Parameters
string$iconIcon image tag
string$attrAttributes to add, eg. ' border="0"'
Returns
string Image tag, modified with $attr attributes added.

Definition at line 577 of file AbstractTreeView.php.

◆ determineScriptUrl()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::determineScriptUrl ( )
protected

◆ expandNext()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::expandNext (   $id)

Returns TRUE/FALSE if the next level for $id should be expanded - based on data in $this->stored[][] and ->expandAll flag. Extending parent function

Parameters
int$idRecord id/key
Returns
bool private
See also
::expandNext()

Definition at line 613 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$bank.

Referenced by TYPO3\CMS\Backend\Tree\View\FolderTreeView\getBrowsableTree(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ getBackendUser()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getBackendUser ( )
protected

◆ getBrowsableTree()

◆ getCount()

◆ getDatabaseConnection()

◆ getDataCount()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getDataCount ( $res)

Getting the tree data: Counting elements in resource

Parameters
mixed$resData handle
Returns
int number of items private
See also
getDataInit()

Definition at line 920 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getDatabaseConnection().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getCount(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ getDataFree()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getDataFree ( $res)

Getting the tree data: frees data handle

Parameters
mixed$resData handle
Returns
void private

Definition at line 967 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getDatabaseConnection().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ getDataInit()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getDataInit (   $parentId)

Getting the tree data: Selecting/Initializing data pointer to items for a certain parent id. For tables: This will make a database query to select all children to "parent" For arrays: This will return key to the ->dataLookup array

Parameters
int$parentIdparent item id
Returns
mixed Data handle (Tables: An sql-resource, arrays: A parentId integer. -1 is returned if there were NO subLevel.) private

Definition at line 896 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$clause, TYPO3\CMS\Backend\Utility\BackendUtility\deleteClause(), TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getDatabaseConnection(), TYPO3\CMS\Backend\Tree\View\AbstractTreeView\reset(), and TYPO3\CMS\Backend\Utility\BackendUtility\versioningPlaceholderClause().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getCount(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ getDataNext()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getDataNext ( $res)

Getting the tree data: next entry

Parameters
mixed$resData handle
Returns
array item data array OR FALSE if end of elements. private
See also
getDataInit()

Definition at line 938 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$subLevelID, TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getDatabaseConnection(), and TYPO3\CMS\Backend\Utility\BackendUtility\workspaceOL().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ getIcon()

◆ getId()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getId (   $row)

◆ getJumpToParam()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getJumpToParam (   $row)

◆ getLanguageService()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getLanguageService ( )
protected

◆ getRecord()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getRecord (   $uid)

Returns the record for a uid. For tables: Looks up the record in the database. For arrays: Returns the fake record for uid id.

Parameters
int$uidUID to look up
Returns
array The record

Definition at line 877 of file AbstractTreeView.php.

References $uid, and TYPO3\CMS\Backend\Utility\BackendUtility\getRecordWSOL().

Referenced by TYPO3\CMS\Backend\View\PageTreeView\getBrowsableTree(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getBrowsableTree().

◆ getRootIcon()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getRootIcon (   $rec)

◆ getRootRecord()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getRootRecord ( )

Returns root record for uid (<=0)

Returns
array Array with title/uid keys with values of $this->title/0 (zero)

Definition at line 864 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$title.

Referenced by TYPO3\CMS\Backend\View\PageTreeView\getBrowsableTree(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getBrowsableTree().

◆ getThisScript()

◆ getTitleAttrib()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getTitleAttrib (   $row)

Returns the value for the image "title" attribute

Parameters
array$rowThe input row array (where the key "title" is used for the title)
Returns
string The attribute value (is htmlspecialchared() already)
See also
wrapIcon()

Definition at line 716 of file AbstractTreeView.php.

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getIcon().

◆ getTitleStr()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::getTitleStr (   $row,
  $titleLen = 30 
)

Returns the title for the input record. If blank, a "no title" label (localized) will be returned. Do NOT htmlspecialchar the string from this function - has already been done.

Parameters
array$rowThe input row array (where the key "title" is used for the title)
int$titleLenTitle length (30)
Returns
string The title.

Definition at line 702 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$title, TYPO3\CMS\Core\Utility\GeneralUtility\fixed_lgd_cs(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getLanguageService().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\printTree().

◆ getTree()

◆ init()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::init (   $clause = '',
  $orderByFields = '' 
)

Initialize the tree class. Needs to be overwritten

Parameters
string$clauseRecord WHERE clause
string$orderByFieldsRecord ORDER BY field
Returns
void

Definition at line 316 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$clause, $GLOBALS, and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$orderByFields.

Referenced by TYPO3\CMS\Backend\Tree\View\FolderTreeView\__construct().

◆ initializePositionSaving()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::initializePositionSaving ( )

Get stored tree structure AND updating it if needed according to incoming PM GET var.

Returns
void private

Definition at line 624 of file AbstractTreeView.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\_GP(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\savePosition().

Referenced by TYPO3\CMS\Backend\View\PageTreeView\getBrowsableTree(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getBrowsableTree().

◆ PM_ATagWrap()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::PM_ATagWrap (   $icon,
  $cmd,
  $bMark = '',
  $isOpen = false 
)

Wrap the plus/minus icon in a link

Parameters
string$iconHTML string to wrap, probably an image tag.
string$cmdCommand for 'PM' get var
string$bMarkIf set, the link will have an anchor point (=$bMark) and a name attribute (=$bMark)
bool$isOpen
Returns
string Link-wrapped input string private

Definition at line 530 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getThisScript().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getBrowsableTree(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\PMicon().

◆ PMicon()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::PMicon (   $row,
  $a,
  $c,
  $nextCount,
  $isOpen 
)

Generate the plus/minus icon for the browsable tree.

Parameters
array$rowRecord for the entry
int$aThe current entry number
int$cThe total number of entries. If equal to $a, a "bottom" element is returned.
int$nextCountThe number of sub-elements to the current element.
bool$isOpenThe element was expanded to render subelements if this flag is set.
Returns
string Image tag with the plus/minus icon. private
See also
::PMicon()

Definition at line 509 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\PM_ATagWrap().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ printTree()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::printTree (   $treeArr = '')

Compiles the HTML code for displaying the structure found inside the ->tree array

Parameters
array | string$treeArr"tree-array" - if blank string, the internal ->tree array is used.
Returns
string The HTML code for the tree

Definition at line 443 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$tree, TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getId(), TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTitleStr(), if, and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\wrapTitle().

Referenced by TYPO3\CMS\Backend\Tree\View\FolderTreeView\getBrowsableTree(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getBrowsableTree().

◆ reset()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::reset ( )

◆ savePosition()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::savePosition ( )

Saves the content of ->stored (keeps track of expanded positions in the tree) $this->treeName will be used as key for BE_USER->uc[] to store it in

Returns
void private

Definition at line 654 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$treeName.

Referenced by TYPO3\CMS\Backend\Tree\View\FolderTreeView\initializePositionSaving(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\initializePositionSaving().

◆ setDataFromArray()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::setDataFromArray ( $dataArr,
  $traverse = false,
  $pid = 0 
)

Used to initialize class with an array to browse. The array inputted will be traversed and an internal index for lookup is created. The keys of the input array are perceived as "uid"s of records which means that keys GLOBALLY must be unique like uids are. "uid" and "pid" "fakefields" are also set in each record. All other fields are optional.

Parameters
array$dataArrThe input array, see examples below in this script.
bool$traverseInternal, for recursion.
int$pidInternal, for recursion.
Returns
void

Definition at line 986 of file AbstractTreeView.php.

References TYPO3\CMS\Backend\Tree\View\AbstractTreeView\$subLevelID, and $uid.

◆ setDataFromTreeArray()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::setDataFromTreeArray ( $treeArr,
$treeLookupArr 
)

Sets the internal data arrays

Parameters
array$treeArrContent for $this->data
array$treeLookupArrContent for $this->dataLookup
Returns
void

Definition at line 1012 of file AbstractTreeView.php.

◆ wrapIcon()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::wrapIcon (   $icon,
  $row 
)

Wrapping the image tag, $icon, for the row, $row (except for mount points)

Parameters
string$iconThe image tag for the icon
array$rowThe row for the current element
Returns
string The processed icon input value. private

Definition at line 565 of file AbstractTreeView.php.

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getIcon(), and TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getRootIcon().

◆ wrapStop()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::wrapStop (   $str,
  $row 
)

Adds a red "+" to the input string, $str, if the field "php_tree_stop" in the $row (pages) is set

Parameters
string$strInput string, like a page title for the tree
array$rowrecord row with "php_tree_stop" field
Returns
string Modified string private

Definition at line 590 of file AbstractTreeView.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\linkThisScript().

Referenced by TYPO3\CMS\Backend\Tree\View\AbstractTreeView\getTree().

◆ wrapTitle()

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::wrapTitle (   $title,
  $row,
  $bank = 0 
)

Member Data Documentation

◆ $addSelfId

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$addSelfId = 0

Definition at line 74 of file AbstractTreeView.php.

◆ $bank

◆ $BE_USER

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$BE_USER = ''

Definition at line 96 of file AbstractTreeView.php.

◆ $buffer_idH

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$buffer_idH = []

◆ $clause

◆ $data

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$data = false

Definition at line 243 of file AbstractTreeView.php.

◆ $dataLookup

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$dataLookup = false

Definition at line 249 of file AbstractTreeView.php.

◆ $defaultList

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$defaultList = 'uid,pid,tstamp,sorting,deleted,perms_userid,perms_groupid,perms_user,perms_group,perms_everybody,crdate,cruser_id'

Definition at line 157 of file AbstractTreeView.php.

◆ $domIdPrefix

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$domIdPrefix = 'row'

Definition at line 178 of file AbstractTreeView.php.

◆ $expandAll

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$expandAll = 0

Definition at line 44 of file AbstractTreeView.php.

◆ $expandFirst

◆ $ext_IconMode

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$ext_IconMode = false

Definition at line 63 of file AbstractTreeView.php.

◆ $ext_showPathAboveMounts

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$ext_showPathAboveMounts = false

Definition at line 68 of file AbstractTreeView.php.

◆ $fieldArray

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$fieldArray = ['uid', 'pid', 'title']

Definition at line 149 of file AbstractTreeView.php.

◆ $ids

◆ $ids_hierarchy

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$ids_hierarchy = []

Definition at line 217 of file AbstractTreeView.php.

◆ $makeHTML

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$makeHTML = 1

Definition at line 186 of file AbstractTreeView.php.

◆ $MOUNTS

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$MOUNTS = null

Definition at line 107 of file AbstractTreeView.php.

◆ $orderByFields

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$orderByFields = ''

◆ $orig_ids_hierarchy

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$orig_ids_hierarchy = []

Definition at line 223 of file AbstractTreeView.php.

◆ $parentField

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$parentField = 'pid'

Definition at line 122 of file AbstractTreeView.php.

◆ $recs

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$recs = []

Definition at line 274 of file AbstractTreeView.php.

◆ $setRecs

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$setRecs = 0

Definition at line 193 of file AbstractTreeView.php.

◆ $showDefaultTitleAttribute

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$showDefaultTitleAttribute = false

Definition at line 88 of file AbstractTreeView.php.

◆ $specUIDmap

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$specUIDmap = []

Definition at line 236 of file AbstractTreeView.php.

◆ $stored

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$stored = []

Definition at line 262 of file AbstractTreeView.php.

◆ $subLevelID

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$subLevelID = '_SUB_LEVEL'

◆ $table

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$table = ''

Definition at line 115 of file AbstractTreeView.php.

◆ $thisScript

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$thisScript = ''

◆ $title

◆ $titleAttrib

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$titleAttrib = 'title'

Definition at line 56 of file AbstractTreeView.php.

◆ $tree

◆ $treeName

TYPO3\CMS\Backend\Tree\View\AbstractTreeView::$treeName = ''