TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-06-29T15:23:08ZTYPO3 Forge
Redmine TYPO3 Core - Bug #101202 (Resolved): CKEditorInspector is not working anymore in TYPO3 v12.4.2http://forge.typo3.org/issues/1012022023-06-29T15:23:08ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Before updating TYPO3 I always got the inspector shown, with TYPO3 v12.4.2 this option is gone, instead I get an error shown:</p>
<p><img src="http://forge.typo3.org/attachments/download/37784/clipboard-202306292220-sy4sf.png" alt="" loading="lazy" /></p>
<p>the link on the right side of the screenshot leads to this codeblock in ckeditor5.js:</p>
<pre>
this.options.debug && window.CKEditorInspector.attach(t, {
isCollapsed: !0
})
</pre> TYPO3 Core - Bug #100849 (Needs Feedback): ContentContentObject::render has wrong conditionhttp://forge.typo3.org/issues/1008492023-05-10T03:50:10ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>The method <pre>TYPO3\CMS\Frontend\ContentObject::render()</pre> has the condition <pre>if (!($frontendController->recordRegister[$registerField] ?? false)) {</pre>.<br />The code inside the condition therefore is executed if the register never has an entry yet with the key $registerField.<br />In some special cases though, this register is already existing, but without content, so the rendered output stays empty.<br />In my opinion the check is wrong here, rather should just be checked if the required variable $registerField exists with a value:<br /><pre>if ($registerField) {</pre></p>
<p>So, what are the special cases where this existing condition fails?<br />Creating a simple plugin with own CType, and adding it as [typoscript]: CONTENT element with required render instructions.</p>
<pre>
plugin.tx_mysitepackage_hero = CONTENT
plugin.tx_mysitepackage_hero {
table = tt_content
select {
where = AND {#CType}="tx_mysitepackage_hero"
orderBy = sorting desc
}
renderObj = COA
renderObj {
20 = TEXT
20.stdWrap.field = header
20.stdWrap.noTrimWrap = |<h1>THIS IS MY RENDERED CONTENT HEADER: |</h1>|
}
}
</pre><br />This element is not rendered but I'd expect it to. TYPO3 Core - Bug #98323 (Rejected): auto creation of table isn't done if options never fit exact ...http://forge.typo3.org/issues/983232022-09-10T11:19:15ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Having a configuration like this:<br /><pre>
'related_posts' => [
'exclude' => true,
'label' => 'LLL:EXT:blog_example/Resources/Private/Language/locallang_db.xlf:tx_blogexample_domain_model_post.related',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'size' => 10,
'autoSizeMax' => 30,
'multiple' => 0,
'foreign_table' => 'tx_blogexample_domain_model_post',
'foreign_table_where' => 'AND ###THIS_UID### != tx_blogexample_domain_model_post.uid',
'MM' => 'tx_blogexample_post_post_mm',
'MM_opposite_field' => 'related_posts',
],
],
</pre><br />the table isn't created.<br />The culprit here is the option 'MM_opposite_field', removing it, it works like expected.</p> TYPO3 Core - Bug #98173 (Rejected): `storeSession=false` in v10 f:widget.autocomplete provokes er...http://forge.typo3.org/issues/981732022-08-19T05:36:40ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>The problem is that I am getting the following error message when typing anything in my search field:</p>
<p><a class="external" href="http://www.local-website.com/?id=2&type=7076&action=autocomplete&term=teststring">http://www.local-website.com/?id=2&type=7076&action=autocomplete&term=teststring</a> - 500 (Internal Server Error).. After examining the exact response of that page request, here's the specific error:</p>
<p>"No widget context was found for the Ajax Widget Identifier "". This only happens if AJAX URIs are called without including the widget on a page"</p>
<p>This happens if the new parameter storeSession="false" is used. In TYPO3 v9 this parameter didn't exist.<br />Using the widget like this should work like intended:</p>
<pre>
<f:widget.autocomplete for="search-items" objects="{allItems}" searchProperty="title"/>
</pre><br />Usually the parameteres look like this:
<pre>
?id=1&type=7076&fluid-widget-id=9c31f0bb1b5f5f953e84f6b57af102b4&action=autocomplete&term=Ma
</pre><br />When the parameter storeSession=false is used it looks like this:
<pre>
?id=1&type=7076&action=autocomplete&term=Ma
</pre><br />That means that the widget doesn't transfer the correct link to the AJAX script.
<p>See <a class="external" href="https://stackoverflow.com/questions/67021493/how-to-get-the-fluid-autocomplete-widget-to-work-in-typo3-v10/73412070">https://stackoverflow.com/questions/67021493/how-to-get-the-fluid-autocomplete-widget-to-work-in-typo3-v10/73412070</a></p> TYPO3 Core - Bug #94701 (Closed): Dashboard breaks if Guzzle Middleware is usedhttp://forge.typo3.org/issues/947012021-08-03T17:12:21ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>If a Guzzle Middleware is used the Dashboard modules "TYPO3 news" and "TYPO3 security advisories" do not work anymore.</p>
<p>Related to that might be that $GLOBALS['TYPO3_CONF_VARS']['HTTP']['handler'] is handled somehow strange, the values are not visible always and in the backend Configuration Module it looks always empty.</p> TYPO3 Core - Bug #85376 (Rejected): Corrupted translation file blocks complete backendhttp://forge.typo3.org/issues/853762018-06-25T08:20:47ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>The following error-message is thrown for the backend after switching the BE-Langauage:<br /><pre>
Fatal error: Uncaught TYPO3\CMS\Core\Localization\Exception\InvalidXmlFileException: The path provided does not point to existing and accessible well-formed XML file. Reason: Premature end of data in tag xliff line 2 in typo3conf/l10n/de/about/Resources/Private/Language/Modules/de.about.xlf, line 91 in typo3\sysext\core\Classes\Localization\Parser\AbstractXmlParser.php:79 Stack trace: #0 typo3\sysext\core\Classes\Localization\Parser\AbstractXmlParser.php(60): TYPO3\CMS\Core\Localization\Parser\AbstractXmlParser->parseXmlFile() #1 typo3\sysext\core\Classes\Localization\LocalizationFactory.php(111): TYPO3\CMS\Core\Localization\Parser\AbstractXmlParser->getParsedData('...', 'de') #2 typo3\sysext\core\Classes\Localization\LanguageService.php(317): TYPO3\CMS\Core\Localization\Loca in typo3\sysext\core\Classes\Localization\Parser\AbstractXmlParser.php on line 79
</pre><br />While the reason is quite well explained IMHO it's unacceptable that it's blocking the whole backend.<br />I think there should be a parser and when the result is positive the language is applied, else the default language or even empty labels.<br />In other words: keep it running as long as possible.</p>
<p>Version 9.3</p> TYPO3 Core - Bug #85359 (Closed): BE-Pagebrowser brokenhttp://forge.typo3.org/issues/853592018-06-23T11:02:02ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>The pagebrowser to browse records shows only the first page.<br />I tested with pages as well as news-records.<br />TYPO3 9.3</p>
<p><img src="http://forge.typo3.org/attachments/download/33543/recordbrowser-p1.gif" alt="" loading="lazy" /></p>
<p><img src="http://forge.typo3.org/attachments/download/33542/recordbrowser-p2.gif" alt="" loading="lazy" /></p> TYPO3 Core - Bug #85298 (Closed): Check for broken extensions complains about system-extensionshttp://forge.typo3.org/issues/852982018-06-18T09:48:50ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Check for broken extensions complains about system-extensions</p>
<p>complained about lowlevel, fluid, and some others, see attached png file</p>
<p>tested on version 9.3</p>
<p>---<br />Edit:</p>
<p>In the browser-console I can track this:</p>
<p>1) typo3/install.php?install[controller]=upgrade is called but produces an error<br />2) The debug-message of the script is:<br /><pre>
Fatal error: Uncaught TypeError: Argument 1 passed to TYPO3\CMS\Core\Error\DebugExceptionHandler::flattenArgs()
must be of the type array, null given, called in typo3\sysext\core\Classes\Error\DebugExceptionHandler.php on line 397
and defined in typo3\sysext\core\Classes\Error\DebugExceptionHandler.php on line 513
</pre></p>
<p>Don't know if it's helping much, as it's already about "DebugExceptionHandler" ...</p> TYPO3 Core - Bug #85297 (Closed): Breaking: TypoScript setup is overwrittenhttp://forge.typo3.org/issues/852972018-06-18T09:09:39ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Having in setup two definitions to include anything, only one is accepted, the other one is overwritten if the variables are written nested:<br /><pre>
page {
includeCSS{
jquery = ....
}
}
page {
includeCSS{
sortable = ....
}
}
</pre></p>
<p>In this notation only `sortable` is loaded, that means the notation is really handled like arrays, where a new `page {` is overwriting the whole page-configuration.</p>
<p>If I note it like this it's accepted:</p>
<pre>
page.includeCSS.jquery = ...
page.includeCSS.sortable = ...
</pre>
<p>I can't remember having had this behavior in earlier versions and I consider this as BUG and suppose it will corrupt many existing configurations.</p> TYPO3 Core - Bug #69290 (Closed): Dates get reduced by a day if before 1970http://forge.typo3.org/issues/692902015-08-24T15:43:10ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Dates in the date-field are reduced each time on saving by a day if they are before 1970.<br />This is at least the behavior in Windows 7.</p> TYPO3 Core - Bug #69287 (Closed): Can't enter years before 1902 in date-fieldshttp://forge.typo3.org/issues/692872015-08-24T14:04:40ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Trying to enter the Birth-Year (1879) of Albert Einstein the Year is set by JavaScript to 2015.</p>
<p>I never thought yet about a user-function or another way to work around this issue, but I'd prefer this issue being fixed instead of something else.</p> TYPO3 Core - Feature #65020 (Closed): Add configuration option for file_upload.select-and-submithttp://forge.typo3.org/issues/650202015-02-12T10:26:54ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>In the method renderPossibleRecordsSelectorTypeGroupDB it's possible to use $config['appearance']['createNewRelationLinkTitle'] to change the default text of the button for FAL-records.</p>
<p>The Button for file-uploads is always filled with $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:file_upload.select-and-submit', TRUE) and therefore the text is not configurable (on this level ?).</p> TYPO3 Core - Feature #56953 (Closed): custom locallang.xmlhttp://forge.typo3.org/issues/569532014-03-16T08:09:33ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>Using a custom locallang.xml with any extension on the first view looks like a feature-request.<br />As some translations maybe required but not present it's more than that: it's a bug.</p>
<p>Ok, what it is about now in detail?<br />For an extension (news) even already translated in many languages I need another translation and I never get it running without changing the locallang.xml in the extension itself.<br />I know, there must be a way how to do it without changes at extension or extbase but that's still not the issue.</p>
<p>The Issue is that the path to the default locallang.xml always is hardcoded and can't be overriden by configuration. So any other translation file will overwrite the values, it won't be loaded instead but additionally.</p>
<pre>
static protected function initializeLocalization($extensionName) {
if (isset(self::$LOCAL_LANG[$extensionName])) {
return;
}
$locallangPathAndFilename = 'EXT:' . t3lib_div::camelCaseToLowerCaseUnderscored($extensionName) . '/' . self::$locallangPath . 'locallang.xml';
...
</pre>
<p>I wish a solution by configuration:</p>
<pre>
if (!$someConfigPath){
$locallangPathAndFilename = 'EXT:' . t3lib_div::camelCaseToLowerCaseUnderscored($extensionName) . '/' . self::$locallangPath . 'locallang.xml';
} else {
$locallangPathAndFilename = $someConfigPath.'locallang.xml'; // i.e. fileadmin/whatever/locallang.xml
}
</pre> TYPO3 Core - Bug #21046 (Closed): browse_links.php?mode=file : Disabling of Thumbnails is not pos...http://forge.typo3.org/issues/210462009-09-13T13:07:18ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>When you've chosen to display thumbnails and want to deactivate it again by the corresponding checkbox the window reloads but with enabled checkbox and with displaying thumbs.</p>
<p>(issue imported from #M11941)</p> TYPO3 Core - Feature #20856 (Closed): debug in t3libhttp://forge.typo3.org/issues/208562009-08-10T05:31:27ZDavid Bruchmanndavid.bruchmann@gmail.com
<p>as addition or as replacement of t3lib_div::debug I wrote some debug-functions (I use them in an own extension).<br />Default call is like this:</p>
<p>$this->debug($myVar,__FILE__,__CLASS__,__FUNCTION__,'$myVar',__LINE__,$tmpHint);</p>
<p>$tmpHint is a text, that can be defined as Hint.<br />$myVar is the variable to debug, once as string, once as var,<br />The Rest is filled automatically and points to class, function and line where the call is localized.</p>
<p>Objects are much easier to view because they are rendered with more information and as table instead of simple text.<br />Try it, think about it, and please comment:</p>
<pre><code>function debug($input,$file='',$classname='',$functionname='',$varname='',$position='',$addInfo='') {<br /> $tmpType = $this->getType($input);<br /> if ($classname || $functionname || $varname) {<br /> $widthFirstCol = ' style="width:15em"';<br /> $styleObjRow = ' style="color:#800"';<br /> $name = '&lt;table style=&quot;font-size:10px;font-weight:bold;border:0 ;width:100%&quot; border=&quot;1&quot;&gt;';<br /> $name .= $position ? '&lt;tr&gt;&lt;td&#039;.$widthFirstCol.&#039;&gt;File:&lt;/td&gt;&lt;td title=&quot;File: &#039;.$file.&#039;&quot;&gt;'.$file.'&lt;/td&gt;&lt;/tr&gt;' : '';<br /> $name .= !$classname ? '&lt;tr&gt;&lt;td&#039;.$widthFirstCol.&#039;&gt;Class:&lt;/td&gt;&lt;td title=&quot;Class: &#039;.get_called_class().&#039;&quot;&gt;'.get_called_class().'&lt;/td&gt;&lt;/tr&gt;' : '&lt;tr&gt;&lt;td&gt;Class:&lt;/td&gt;&lt;td title=&quot;Class: &#039;.$classname.&#039;&quot;&gt;'.$classname.'&lt;/td&gt;&lt;/tr&gt;';<br /> $name .= $functionname ? '&lt;tr&gt;&lt;td&#039;.$widthFirstCol.&#039;&gt;'.($classname ? 'Method' : 'Function').':&lt;/td&gt;&lt;td title=&quot;&#039;.($classname ? &#039;Method&#039; : &#039;Function&#039;).&#039;: &#039;.$functionname.&#039;&quot;&gt;'.$functionname.'&lt;/td&gt;&lt;/tr&gt;' : '';<br /> $name .= $varname ? '&lt;tr&#039;.$styleObjRow.&#039;&gt;&lt;td&#039;.$widthFirstCol.&#039;&gt;'.$tmpType.':&lt;/td&gt;&lt;td title=&quot;&#039;.$tmpType.&#039;: &#039;.$varname.&#039;&quot;&gt;'.$varname.'&lt;/td&gt;&lt;/tr&gt;' : '';<br /> $name .= $position ? '&lt;tr&gt;&lt;td&#039;.$widthFirstCol.&#039;&gt;Line or Position:&lt;/td&gt;&lt;td title=&quot;Line or Position: &#039;.$position.&#039;&quot;&gt;'.$position.'&lt;/td&gt;&lt;/tr&gt;' : '';<br /> $name .= $addInfo ? '&lt;tr&gt;&lt;td&#039;.$widthFirstCol.&#039;&gt;Additional Info:&lt;/td&gt;&lt;td title=&quot;Additional Info: &#039;.$addInfo.&#039;&quot;&gt;'.nl2br(wordwrap($addInfo,100)).'&lt;/td&gt;&lt;/tr&gt;' : '';<br /> $name .= '&lt;/table&gt;';<br /> }<br /> if ($tmpType == 'object') {<br /> $this->debug_object($input,$name);<br /> }<br /> else {<br /> $this->debug_array($input,$name);<br /> }<br /> return;<br /> }</code></pre>
<pre><code>function getType ($input) { <br /> $type = "string";<br /> if (is_array($input)) $type = "array";<br /> elseif (is_object($input)) $type = "object";<br /> elseif (is_resource($input)) $type = "resource";<br /> elseif (is_int($input)) $type = "int";<br /> elseif (is_float($input)) $type = "float";<br /> elseif (is_bool($input)) $type = "bool";<br /> return $type;<br /> }</code></pre>
<pre><code>function debug_object ($input,$name='') {<br /> $obj['Type'] = 'object';<br /> $obj['Classname'] = get_class($input);<br /> $obj['Parent Class'] = get_parent_class($input);<br /> $obj['Methods'] = get_class_methods($obj['Classname']);<br /> $obj['Class Vars'] = get_class_vars($obj['Classname']);<br /> $obj['Object Vars'] = get_object_vars($input);<br /> $obj['Implemented Interfaces'] = class_implements($input);<br /> $debugTitle = $obj['Classname'];<br /> //if ($input === $this) $debugTitle .= ' ($this)';</code></pre>
<pre><code>$this->debug_array($obj,($name ? $name : '')); //$debugTitle<br /> }</code></pre>
<pre><code>function debug_array($input,$name) {<br /> echo '</code></pre>
<p><table class="typo3-debug" border="0" cellpadding="0" cellspacing="0" bgcolor="#eeeeee" style="border:2px solid; margin-top:1em; margin-bottom:1em;"><br /> <tr><br /> <td style="background-color:#eee; font-family: verdana,arial; font-weight: bold; font-size: 10px;"><br /> '.$name.'<br /> </td><br /> </tr><br /> <tr><br /> <td><br /> '.t3lib_div::view_array($input).'<br /> </td><br /> </tr><br /></table></p>
<p>';<br /> }</p>
<p>(issue imported from #M11680)</p>