[TYPO3-core] RFC #16334: Make FlexForms editable via TSConfig and group access lists

Kai Vogel kai.vogel at speedprogs.de
Wed Nov 10 16:51:29 CET 2010


 Hey all,

 this is a SVN patch request.

 Type: feature

 Branch: trunk

 BT reference:
 http://bugs.typo3.org/view.php?id=16334

 Problem:
 It's not possible to edit FlexForms afterwards without changing 
 original extension files directly.

 Solution:
 The patch adds a new class "t3lib_TCEforms_Flexforms" and makes some 
 small changes in "t3lib_tceforms" and "t3lib_transferdata" to make 
 FlexForms editable like normal TCA forms via page TSConfig and group 
 access lists. An overview of the syntax can be found in the bug / 
 feature request.

 Best regards
-- 
 Kai Vogel
-------------- next part --------------
Index: typo3/sysext/cms/tslib/class.tslib_content.php
===================================================================
--- typo3/sysext/cms/tslib/class.tslib_content.php	(Revision 9325)
+++ typo3/sysext/cms/tslib/class.tslib_content.php	(Arbeitskopie)
@@ -7341,15 +7341,21 @@
 		}
 
 		if ($conf['languageField']) {
+			$sys_language_content = intval($GLOBALS['TSFE']->sys_language_content);
 			if ($GLOBALS['TSFE']->sys_language_contentOL && $TCA[$table] && $TCA[$table]['ctrl']['languageField']
 				&& $TCA[$table]['ctrl']['transOrigPointerField']) {
 					// Sys language content is set to zero/-1 - and it is expected that whatever routine processes the output will
 					// OVERLAY the records with localized versions!
-				$sys_language_content = '0,-1';
+
+					// use this option to enable records that don't have a default translation
+				if ($conf['includeRecordsWithoutDefaultTranslation']) {
+					$query .= ' AND (' . $conf['languageField'] . ' IN (0,-1) OR (' . $TCA[$table]['ctrl']['transOrigPointerField'] . ' = "" AND ' . $conf['languageField'] . ' IN (' . $sys_language_content . '))';
+				} else {
+					$query .= ' AND ' . $conf['languageField'] . ' IN (0,-1)';
+				}
 			} else {
-				$sys_language_content = intval($GLOBALS['TSFE']->sys_language_content);
+				$query .= ' AND ' . $conf['languageField'] . ' IN (' . $sys_language_content . ')';
 			}
-			$query .= ' AND ' . $conf['languageField'] . ' IN (' . $sys_language_content . ')';
 		}
 
 		$andWhere = trim($this->stdWrap($conf['andWhere'], $conf['andWhere.']));


More information about the TYPO3-team-core mailing list