diff -ru trunk.v1/t3lib/class.t3lib_tceforms.php trunk/t3lib/class.t3lib_tceforms.php --- trunk.v1/t3lib/class.t3lib_tceforms.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/class.t3lib_tceforms.php 2010-11-02 23:10:55.000000000 +0100 @@ -1563,7 +1563,7 @@ $maxitems = intval($config['maxitems']); // If a SINGLE selector box... - if ($maxitems<=1 && strcmp($config['renderMode'],'tree')) { + if ($maxitems<=1 && $config['renderMode'] !== 'tree') { $item = $this->getSingleField_typeSelect_single($table,$field,$row,$PA,$config,$selItems,$nMV_label); } elseif (!strcmp($config['renderMode'],'checkbox')) { // Checkbox renderMode $item = $this->getSingleField_typeSelect_checkbox($table,$field,$row,$PA,$config,$selItems,$nMV_label); @@ -2151,7 +2151,6 @@ function getSingleField_typeGroup($table,$field,$row,&$PA) { // Init: $config = $PA['fieldConf']['config']; - $internal_type = $config['internal_type']; $show_thumbs = $config['show_thumbs']; $size = intval($config['size']); Nur in trunk/t3lib: class.t3lib_tceforms.php~. diff -ru trunk.v1/t3lib/js/extjs/tree/tree.js trunk/t3lib/js/extjs/tree/tree.js --- trunk.v1/t3lib/js/extjs/tree/tree.js 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/js/extjs/tree/tree.js 2010-11-02 22:45:07.000000000 +0100 @@ -39,12 +39,12 @@ width: 280, minSize: 175, maxSize: 500, - margins:'0 0 5 5', - cmargins:'0 0 0 0', - rootVisible:false, - useArrows:true, - lines:false, - autoScroll:true, + margins: '0 0 5 5', + cmargins: '0 0 0 0', + rootVisible: false, + useArrows: true, + lines: false, + autoScroll: true, containerScroll: true, exclusiveSelectedKey: null, stateful: true, @@ -60,7 +60,7 @@ expanded: true, children: TYPO3.Components.Tree.StandardTreeItemData[config.id] }), - collapseFirst:false, + collapseFirst: false, listeners: { 'checkchange': function(checkedNode, checked) { if (Ext.isFunction(this.checkChangeHandler)) { @@ -98,11 +98,6 @@ var regText = (this.filterOptionStartsWith ? '^' : '') + Ext.escapeRe(text); var re = new RegExp(regText, 'i'); - /* do not filter here - this.filter.filterBy(function(node) { - return re.test(node.text); - }); - */ // hide empty nodes that weren't filtered this.hiddenNodes = []; var me = this; diff -ru trunk.v1/t3lib/tceforms/class.t3lib_tceforms_tree.php trunk/t3lib/tceforms/class.t3lib_tceforms_tree.php --- trunk.v1/t3lib/tceforms/class.t3lib_tceforms_tree.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tceforms/class.t3lib_tceforms_tree.php 2010-11-02 22:49:10.000000000 +0100 @@ -70,7 +70,7 @@ $treeData = $tree->render(); $itemArray = array(); - if(is_array($PA['fieldConf']['config']['items'])) { + if (is_array($PA['fieldConf']['config']['items'])) { foreach ($PA['fieldConf']['config']['items'] as $additionalItem) { if ($additionalItem[1] !== '--div--') { $item = new stdClass(); @@ -79,7 +79,7 @@ $item->selectable = true; $item->leaf = true; $item->checked = in_array($additionalItem[1], $selectedNodes); - if(file_exists(PATH_typo3 . $additionalItem[3])) { + if (file_exists(PATH_typo3 . $additionalItem[3])) { $item->icon = $additionalItem[3]; } elseif (strlen(trim($additionalItem[3]))) { $item->iconCls= t3lib_iconWorks::getSpriteIconClasses($additionalItem[3]); @@ -142,7 +142,7 @@ ($expanded ? 'tree' . $id . '.expandAll();' : '') . ' '); - $formField = ' + $formField = '
@@ -159,4 +159,4 @@ include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['classes/t3lib/tceforms/class.t3lib_tceforms_tree.php']); } -?> \ Kein Zeilenumbruch am Dateiende. +?> diff -ru trunk.v1/t3lib/tree/extdirect/class.t3lib_tree_extdirect_abstractextjstree.php trunk/t3lib/tree/extdirect/class.t3lib_tree_extdirect_abstractextjstree.php --- trunk.v1/t3lib/tree/extdirect/class.t3lib_tree_extdirect_abstractextjstree.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tree/extdirect/class.t3lib_tree_extdirect_abstractextjstree.php 2010-11-02 23:04:27.000000000 +0100 @@ -33,6 +33,7 @@ * @subpackage t3lib */ abstract class t3lib_tree_ExtDirect_AbstractExtJsTree extends t3lib_tree_AbstractTree { + /** * State Provider * @@ -64,3 +65,5 @@ */ abstract public function getNextTreeLevel(t3lib_tree_Node $node); } + +?> \ Kein Zeilenumbruch am Dateiende. diff -ru trunk.v1/t3lib/tree/renderer/class.t3lib_tree_renderer_extjs_json.php trunk/t3lib/tree/renderer/class.t3lib_tree_renderer_extjs_json.php --- trunk.v1/t3lib/tree/renderer/class.t3lib_tree_renderer_extjs_json.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tree/renderer/class.t3lib_tree_renderer_extjs_json.php 2010-11-02 22:49:31.000000000 +0100 @@ -104,3 +104,5 @@ return $treeItems; } } + +?> \ Kein Zeilenumbruch am Dateiende. diff -ru trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_abstracttcatreedataprovider.php trunk/t3lib/tree/tca/class.t3lib_tree_tca_abstracttcatreedataprovider.php --- trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_abstracttcatreedataprovider.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tree/tca/class.t3lib_tree_tca_abstracttcatreedataprovider.php 2010-11-02 23:03:37.000000000 +0100 @@ -26,13 +26,12 @@ ***************************************************************/ /** - * An abstract tca tree data provider + * An abstract TCA tree data provider * - * @author Steffen Ritter + * @author Steffen Ritter * @package TYPO3 * @subpackage t3lib_tree */ - abstract class t3lib_tree_Tca_AbstractTcaTreeDataProvider extends t3lib_tree_AbstractDataProvider { /** * @var boolean @@ -68,14 +67,14 @@ * @param string $treeId * @return void */ - public function setTreeId ($treeId) { + public function setTreeId($treeId) { $this->treeId = $treeId; } /** * @return string */ - public function getTreeId () { + public function getTreeId() { return $this->treeId; } @@ -84,14 +83,14 @@ * @param bool $expandAll * @return void */ - public function setExpandAll ($expandAll) { + public function setExpandAll($expandAll) { $this->expandAll = $expandAll; } /** * @return bool */ - public function getExpandAll () { + public function getExpandAll() { return $this->expandAll; } @@ -99,14 +98,14 @@ * @param int $levelMaximum * @return void */ - public function setLevelMaximum ($levelMaximum) { + public function setLevelMaximum($levelMaximum) { $this->levelMaximum = $levelMaximum; } /** * @return int */ - public function getLevelMaximum () { + public function getLevelMaximum() { return $this->levelMaximum; } @@ -123,14 +122,14 @@ * @param string $expandedList * @return void */ - public function setExpandedList ($expandedList) { + public function setExpandedList($expandedList) { $this->expandedList = $expandedList; } /** * @return string */ - public function getExpandedList () { + public function getExpandedList() { return $this->expandedList; } @@ -138,11 +137,11 @@ $this->expandedList = $GLOBALS['BE_USER']->uc['tcaTrees'][$this->treeId]; } - public function setSelectedList ($selectedList) { + public function setSelectedList($selectedList) { $this->selectedList = $selectedList; } - public function getSelectedList () { + public function getSelectedList() { return $this->selectedList; } diff -ru trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_databasenode.php trunk/t3lib/tree/tca/class.t3lib_tree_tca_databasenode.php --- trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_databasenode.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tree/tca/class.t3lib_tree_tca_databasenode.php 2010-11-02 23:01:48.000000000 +0100 @@ -26,9 +26,9 @@ ***************************************************************/ /** - * Class for tca database node + * Represents a node in a TCA database setup * - * @author Steffen Ritter + * @author Steffen Ritter * @package TYPO3 * @subpackage t3lib_tree */ @@ -50,32 +50,33 @@ protected $expanded = TRUE; protected $hasChildren = FALSE; + /** * @var mixed */ private $sortValue; - public function setExpanded ($expanded) { + public function setExpanded($expanded) { $this->expanded = $expanded; } - public function getExpanded () { + public function getExpanded() { return $this->expanded; } - public function setSelectable ($selectable) { + public function setSelectable($selectable) { $this->selectable = $selectable; } - public function getSelectable () { + public function getSelectable() { return $this->selectable; } - public function setSelected ($selected) { + public function setSelected($selected) { $this->selected = $selected; } - public function getSelected () { + public function getSelected() { return $this->selected; } @@ -96,11 +97,11 @@ } } - public function setSortValue (mixed $sortValue) { + public function setSortValue(mixed $sortValue) { $this->sortValue = $sortValue; } - public function getSortValue () { + public function getSortValue() { return $this->sortValue; } } diff -ru trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_databasetreedataprovider.php trunk/t3lib/tree/tca/class.t3lib_tree_tca_databasetreedataprovider.php --- trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_databasetreedataprovider.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tree/tca/class.t3lib_tree_tca_databasetreedataprovider.php 2010-11-02 22:52:42.000000000 +0100 @@ -26,16 +26,17 @@ ***************************************************************/ /** - * Class of tca tree data provider + * TCA tree data provider * - * @author Steffen Ritter + * @author Steffen Ritter * @package TYPO3 * @subpackage t3lib_tree */ class t3lib_tree_Tca_DatabaseTreeDataProvider extends t3lib_tree_Tca_AbstractTcaTreeDataProvider { + const MODE_CHILDREN = 1; - const MODE_PARENT = 2; + const MODE_PARENT = 2; /** * @var string @@ -78,28 +79,28 @@ * @param string $labelField * @return void */ - public function setLabelField ($labelField) { + public function setLabelField($labelField) { $this->labelField = $labelField; } /** * @return string */ - public function getLabelField () { + public function getLabelField() { return $this->labelField; } /** * @param string $tableName * @return void */ - public function setTableName ($tableName) { + public function setTableName($tableName) { $this->tableName = $tableName; } /** * @return string */ - public function getTableName () { + public function getTableName() { return $this->tableName; } @@ -107,14 +108,14 @@ * @param string $lookupField * @return void */ - public function setLookupField ($lookupField) { + public function setLookupField($lookupField) { $this->lookupField = $lookupField; } /** * @return string */ - public function getLookupField () { + public function getLookupField() { return $this->lookupField; } @@ -122,14 +123,14 @@ * @param int $lookupMode * @return void */ - public function setLookupMode ($lookupMode) { + public function setLookupMode($lookupMode) { $this->lookupMode = $lookupMode; } /** * @return int */ - public function getLookupMode () { + public function getLookupMode() { return $this->lookupMode; } @@ -138,27 +139,27 @@ * @param t3lib_tree_Node $node * @return t3lib_tree_NodeCollection */ - public function getNodes (t3lib_tree_Node $node) { + public function getNodes(t3lib_tree_Node $node) { } - public function getRoot () { + public function getRoot() { return $this->buildRepresentationForNode($this->treeData); } - public function setRootUid ($rootUid) { + public function setRootUid($rootUid) { $this->rootUid = $rootUid; } - public function getRootUid () { + public function getRootUid() { return $this->rootUid; } - public function setTableWhere (string $tableWhere) { + public function setTableWhere(string $tableWhere) { $this->tableWhere = $tableWhere; } - public function getTableWhere () { + public function getTableWhere() { return $this->tableWhere; } @@ -171,13 +172,13 @@ protected function buildRepresentationForNode(t3lib_tree_Node $basicNode, t3lib_tree_tca_DatabaseNode $parent = NULL, $level = 0) { $node = t3lib_div::makeInstance('t3lib_tree_tca_DatabaseNode'); $row = array(); - if($basicNode->getId() == 0) { + if ($basicNode->getId() == 0) { $node->setSelected(FALSE); $node->setExpanded(TRUE); $node->setLabel($GLOBALS['LANG']->sL($GLOBALS['TCA'][$this->tableName]['ctrl']['title'])); } else { $row = t3lib_BEfunc::getRecordWSOL($this->tableName, $basicNode->getId(), '*'); - if($this->getLabelField() !== '') { + if ($this->getLabelField() !== '') { $node->setLabel($row[$this->getLabelField()]); } else { $node->setLabel($basicNode->getId()); @@ -189,11 +190,11 @@ $node->setIcon(t3lib_iconWorks::mapRecordTypeToSpriteIconClass($this->tableName, $row)); $node->setId($basicNode->getId()); $node->setParentNode($parent); - if($basicNode->hasChildNodes()) { + if ($basicNode->hasChildNodes()) { $node->setHasChildren(TRUE); $childNodes = t3lib_div::makeInstance('t3lib_tree_NodeCollection'); - foreach($basicNode->getChildNodes() as $child) { + foreach ($basicNode->getChildNodes() as $child) { $childNodes->append($this->buildRepresentationForNode($child, $node, $level + 1)); } $node->setChildNodes($childNodes); @@ -201,8 +202,6 @@ return $node; } - - public function initializeTreeData() { parent::initializeTreeData(); @@ -210,19 +209,18 @@ $this->treeData->setId($this->getRootUid()); $this->treeData->setParentNode(NULL); $childNodes = $this->getChildrenOf($this->treeData, 0); - if($childNodes !== NULL) { + if ($childNodes !== NULL) { $this->treeData->setChildNodes($childNodes); } - } protected function getChildrenOf(t3lib_tree_Node $node, $level) { if ($this->getLookupMode() == t3lib_tree_tca_DatabaseTreeDataProvider::MODE_CHILDREN) { $nodeData = NULL; - if($node->getId() !== 0) { + if ($node->getId() !== 0) { $nodeData = current($GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*', $this->tableName, 'uid=' . $node->getId())); } - if($nodeData == NULL) { + if ($nodeData == NULL) { $nodeData = array('uid' => 0); } $children = $this->getRelatedRecords($nodeData); @@ -233,16 +231,16 @@ $this->getLookupField() . '=' . intval($node->getId()) . $this->getTableWhere() ); $children = array(); - foreach($childrenDB as $child) { + foreach ($childrenDB as $child) { $children[] = $child['uid']; } } - if(count($children)) { + if (count($children)) { $storage = t3lib_div::makeInstance('t3lib_tree_NodeCollection'); - foreach($children as $child) { + foreach ($children as $child) { $node = t3lib_div::makeInstance('t3lib_tree_Node');; $node->setId($child); - if($level <= $this->levelMaximum) { + if ($level <= $this->levelMaximum) { $children = $this->getChildrenOf($node, $level + 1); if ($children !== NULL) { $node->setChildNodes($this->getChildrenOf($node, $level + 1)); @@ -262,7 +260,7 @@ $value = $row[$this->getLookupField()]; $theColConf = $GLOBALS['TCA'][$this->getTableName()]['columns'][$this->getLookupField()]['config']; - switch((string)$theColConf['type']) { + switch ((string)$theColConf['type']) { case 'inline': case 'select': if ($theColConf['MM']) { @@ -271,7 +269,7 @@ $relatedUids = $dbGroup->tableArray[$theColConf['foreign_table']]; } elseif ($theColConf['foreign_table'] && $GLOBALS['TCA'][$theColConf['foreign_table']] && $theColConf['foreign_field']) { $records = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid', $theColConf['foreign_table'], $theColConf['foreign_field'] . '=' . intval($uid) . ' ' . t3lib_BEfunc::deleteClause( $theColConf['foreign_table'])); - foreach($records as $record) { + foreach ($records as $record) { $relatedUids[] = $record['uid']; } } else { @@ -286,4 +284,5 @@ } } -?> + +?> \ Kein Zeilenumbruch am Dateiende. diff -ru trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_dataproviderfactory.php trunk/t3lib/tree/tca/class.t3lib_tree_tca_dataproviderfactory.php --- trunk.v1/t3lib/tree/tca/class.t3lib_tree_tca_dataproviderfactory.php 2010-11-02 22:36:26.000000000 +0100 +++ trunk/t3lib/tree/tca/class.t3lib_tree_tca_dataproviderfactory.php 2010-11-02 23:01:57.000000000 +0100 @@ -26,24 +26,23 @@ ***************************************************************/ /** - * Class of tca tree data provider factory + * Builds a t3lib_tree_Tca_DatabaseTreeDataProvider object based on some TCA configuration * - * @author Steffen Ritter + * @author Steffen Ritter * @package TYPO3 * @subpackage t3lib_tree */ - class t3lib_tree_Tca_DataProviderFactory { /** * * @static - * @param array $tcaConfiguration - * @return t3lib_tree_tca_AbstractTCATreeDataProvider + * @param array $tcaConfiguration + * @return t3lib_tree_Tca_DatabaseTreeDataProvider + * @throws InvalidArgumentException */ - public static function getDataProvider (array $tcaConfiguration, $table, $field, $currentValue) { + public static function getDataProvider(array $tcaConfiguration, $table, $field, $currentValue) { $dataProvider = NULL; - $error = FALSE; if (!isset($tcaConfiguration['internal_type'])) { $tcaConfiguration['internal_type'] = 'db'; @@ -61,7 +60,10 @@ t3lib_div::loadTCA($tableName); } else { - $error = TRUE; + throw new InvalidArgumentException( + 'TCA Tree configuration is invalid: "foreign_table" not set', + '1288215888' + ); } if (isset($tcaConfiguration['foreign_label'])) { @@ -74,51 +76,58 @@ if (isset($tcaConfiguration['treeConfig']) && is_array($tcaConfiguration['treeConfig'])) { $treeConfiguration = $tcaConfiguration['treeConfig']; - if(isset($treeConfiguration['rootUid'])) { + if (isset($treeConfiguration['rootUid'])) { $dataProvider->setRootUid(intval($treeConfiguration['rootUid'])); } - if(isset($treeConfiguration['appearance']['expandAll'])) { + if (isset($treeConfiguration['appearance']['expandAll'])) { $dataProvider->setExpandAll((boolean)$treeConfiguration['appearance']['expandAll']); } - if(isset($treeConfiguration['appearance']['maxLevels'])) { + if (isset($treeConfiguration['appearance']['maxLevels'])) { $dataProvider->setLevelMaximum(intval($treeConfiguration['appearance']['maxLevels'])); } - if(isset($treeConfiguration['appearance']['nonSelectableLevels'])) { + if (isset($treeConfiguration['appearance']['nonSelectableLevels'])) { $dataProvider->setNonSelectableLevelList($treeConfiguration['appearance']['nonSelectableLevels']); } elseif (isset($treeConfiguration['rootUid'])) { $dataProvider->setNonSelectableLevelList(''); } - if(isset($treeConfiguration['childrenField'])) { + if (isset($treeConfiguration['childrenField'])) { $dataProvider->setLookupMode(t3lib_tree_tca_DatabaseTreeDataProvider::MODE_CHILDREN); $dataProvider->setLookupField($treeConfiguration['childrenField']); - } elseif(isset($treeConfiguration['parentField'])) { + } elseif (isset($treeConfiguration['parentField'])) { $dataProvider->setLookupMode(t3lib_tree_tca_DatabaseTreeDataProvider::MODE_PARENT); $dataProvider->setLookupField($treeConfiguration['parentField']); } else { - $error = TRUE; + throw new InvalidArgumentException( + 'TCA Tree configuration is invalid: neither "childrenField" nor "parentField" is set', + '1288215889' + ); } } else { - $error = TRUE; + throw new InvalidArgumentException( + 'TCA Tree configuration is invalid: "treeConfig" array is missing', + '1288215890' + ); } - return $error ? NULL : $dataProvider; } elseif ($tcaConfiguration['internal_type'] == 'file') { - $error = TRUE; + // Not implemented yet + throw new InvalidArgumentException( + 'TCA Tree configuration is invalid: tree for "internal_type=file" not implemented yet', + '1288215891' + ); } else { - $error = TRUE; - } - // if $error throw exception - if ($error) { throw new InvalidArgumentException( - 'TCA Tree configuration is invalid or incomplete!', - '1288215887' + 'TCA Tree configuration is invalid: tree for "internal_type=' . + $tcaConfiguration['internal_type'] . + '" not implemented yet', + '1288215892' ); } - return $error ? NULL : $dataProvider; + return $dataProvider; } }