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;
}
}