TYPO3 Forge: Issues
http://forge.typo3.org/
http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?1705866169
2024-01-24T09:41:31Z
TYPO3 Forge
Redmine
TYPO3 Core - Bug #102911 (Resolved): Maintenance > Manage Language Packs : list of language packs...
http://forge.typo3.org/issues/102911
2024-01-24T09:41:31Z
RVVN no-lastname-given
web@rvvn.org
<p>In Maintenance module, when opening the modal to manage language packs, the following Javascript error occurs :</p>
<pre><code class="javascript syntaxhl" data-language="javascript"><span class="nx">LanguagePacks</span><span class="p">.</span><span class="nx">js</span><span class="p">?</span><span class="nx">bust</span><span class="o">=</span><span class="mi">1706035863</span><span class="p">:</span><span class="mi">13</span> <span class="nc">Uncaught </span><span class="p">(</span><span class="k">in</span> <span class="nx">promise</span><span class="p">)</span> <span class="nx">TypeError</span><span class="p">:</span> <span class="nx">t</span><span class="p">.</span><span class="nx">activeLanguages</span><span class="p">.</span><span class="nx">forEach</span> <span class="nx">is</span> <span class="nx">not</span> <span class="nx">a</span> <span class="kd">function</span>
<span class="nf">at</span> <span class="nx">g</span><span class="p">.</span><span class="nf">extensionMatrixHtml </span><span class="p">(</span><span class="nx">LanguagePacks</span><span class="p">.</span><span class="nx">js</span><span class="p">?</span><span class="nx">bust</span><span class="o">=</span><span class="mi">1706035863</span><span class="p">:</span><span class="mi">13</span><span class="p">:</span><span class="mi">9297</span><span class="p">)</span>
<span class="nx">at</span> <span class="nx">LanguagePacks</span><span class="p">.</span><span class="nx">js</span><span class="p">?</span><span class="nx">bust</span><span class="o">=</span><span class="mi">1706035863</span><span class="p">:</span><span class="mi">13</span><span class="p">:</span><span class="mi">2610</span>
<span class="nx">extensionMatrixHtml</span> <span class="p">@</span> <span class="nx">LanguagePacks</span><span class="p">.</span><span class="nx">js</span><span class="p">?</span><span class="nx">bust</span><span class="o">=</span><span class="mi">1706035863</span><span class="p">:</span><span class="mi">13</span>
<span class="p">(</span><span class="nx">anonymous</span><span class="p">)</span> <span class="p">@</span> <span class="nx">LanguagePacks</span><span class="p">.</span><span class="nx">js</span><span class="p">?</span><span class="nx">bust</span><span class="o">=</span><span class="mi">1706035863</span><span class="p">:</span><span class="mi">13</span>
</code></pre>
<p>It's because `t.activeLanguages` it not an array but a JSON object.<br />As a result, the list of language packs for extensions does not appear in the modal window.</p>
<a name="Explanation-"></a>
<h2 >Explanation :<a href="#Explanation-" class="wiki-anchor">¶</a></h2>
<p>The XHR call to <code>/typo3/install.php?install[controller]=maintenance&install[context]=backend&install[action]=languagePacksGetData</code> returns this kind of JSON data :</p>
<pre><code class="javascript syntaxhl" data-language="javascript"><span class="p">{</span>
<span class="dl">"</span><span class="s2">success</span><span class="dl">"</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">languages</span><span class="dl">"</span><span class="p">:</span> <span class="p">[</span>
<span class="p">[...],</span>
<span class="p">{</span>
<span class="dl">"</span><span class="s2">iso</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">fr</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">name</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">French</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">active</span><span class="dl">"</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">lastUpdate</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">23-01-24 18:51</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">dependencies</span><span class="dl">"</span><span class="p">:</span> <span class="p">[]</span>
<span class="p">},</span>
<span class="p">[...]</span>
<span class="p">],</span>
<span class="dl">"</span><span class="s2">extensions</span><span class="dl">"</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="dl">"</span><span class="s2">key</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">adminpanel</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">title</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">TYPO3 Admin Panel</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">icon</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">/typo3/sysext/adminpanel/Resources/Public/Icons/Extension.png</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">packs</span><span class="dl">"</span><span class="p">:</span> <span class="p">[</span>
<span class="p">{</span>
<span class="dl">"</span><span class="s2">iso</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">fr</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">exists</span><span class="dl">"</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">lastUpdate</span><span class="dl">"</span><span class="p">:</span> <span class="kc">null</span>
<span class="p">}</span>
<span class="p">]</span>
<span class="p">},</span>
<span class="p">[...]</span>
<span class="p">],</span>
<span class="dl">"</span><span class="s2">activeLanguages</span><span class="dl">"</span><span class="p">:</span> <span class="p">{</span>
<span class="dl">"</span><span class="s2">19</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">fr</span><span class="dl">"</span>
<span class="p">},</span>
<span class="dl">"</span><span class="s2">activeExtensions</span><span class="dl">"</span><span class="p">:</span> <span class="p">[</span>
<span class="dl">"</span><span class="s2">adminpanel</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">backend</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">belog</span><span class="dl">"</span><span class="p">,</span>
<span class="p">[...],</span>
<span class="dl">"</span><span class="s2">t3editor</span><span class="dl">"</span><span class="p">,</span>
<span class="dl">"</span><span class="s2">tstemplate</span><span class="dl">"</span>
<span class="p">],</span>
<span class="dl">"</span><span class="s2">html</span><span class="dl">"</span><span class="p">:</span> <span class="dl">"</span><span class="s2">...</span><span class="dl">"</span>
<span class="p">}</span>
</code></pre>
<p>The <code>LanguagePackService->getActiveLanguages()</code> function returns an array which is a trimmed version of <code>$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['lang']['availableLanguages']</code> (all empty values are removed).<br />Thus the indexes are not a continous numeric sequence.</p>
<p>But according to the official documentation (<a class="external" href="https://www.php.net/manual/en/function.json-encode.php#refsect1-function.json-encode-notes">https://www.php.net/manual/en/function.json-encode.php#refsect1-function.json-encode-notes</a>) :</p>
<p><cite>When encoding an array, if the keys are not a continuous numeric sequence starting from 0, all keys are encoded as strings, and specified explicitly for each key-value pair.</cite></p>
<p>Examples taken from this documentation :</p>
<pre><code class="php syntaxhl" data-language="php"><span class="nc">Sequential</span> <span class="k">array</span>
<span class="k">array</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
<span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"foo"</span>
<span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"bar"</span>
<span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"baz"</span>
<span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> <span class="s2">"blong"</span>
<span class="p">}</span>
<span class="nf">string</span><span class="p">(</span><span class="mi">27</span><span class="p">)</span> <span class="s2">"["</span><span class="n">foo</span><span class="s2">","</span><span class="n">bar</span><span class="s2">","</span><span class="n">baz</span><span class="s2">","</span><span class="n">blong</span><span class="s2">"]"</span>
<span class="nc">Non</span><span class="o">-</span><span class="n">sequential</span> <span class="k">array</span>
<span class="k">array</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span> <span class="p">{</span>
<span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"foo"</span>
<span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"bar"</span>
<span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"baz"</span>
<span class="p">[</span><span class="mi">4</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> <span class="s2">"blong"</span>
<span class="p">}</span>
<span class="nf">string</span><span class="p">(</span><span class="mi">43</span><span class="p">)</span> <span class="s2">"</span><span class="si">{</span><span class="nv">"1":"foo","2":"bar","3":"baz","4":"blong"</span><span class="si">}</span><span class="s2">"</span>
<span class="nc">Sequential</span> <span class="k">array</span> <span class="n">with</span> <span class="n">one</span> <span class="n">key</span> <span class="k">unset</span>
<span class="k">array</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="p">{</span>
<span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"foo"</span>
<span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span> <span class="s2">"baz"</span>
<span class="p">[</span><span class="mi">3</span><span class="p">]</span><span class="o">=></span>
<span class="nf">string</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span> <span class="s2">"blong"</span>
<span class="p">}</span>
<span class="nf">string</span><span class="p">(</span><span class="mi">33</span><span class="p">)</span> <span class="s2">"</span><span class="si">{</span><span class="nv">"0":"foo","2":"baz","3":"blong"</span><span class="si">}</span><span class="s2">"</span>
</code></pre>
<a name="Workaround-Fix-"></a>
<h2 >Workaround / Fix :<a href="#Workaround-Fix-" class="wiki-anchor">¶</a></h2>
<p>At this point, it seems we only need ISO values, so a potential workaround/fix may be to apply <code>array_values</code> to the active languages in the JSON response of <code>MaintenanceController->languagePacksGetDataAction()</code> :</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">public</span> <span class="k">function</span> <span class="n">languagePacksGetDataAction</span><span class="p">(</span><span class="kt">ServerRequestInterface</span> <span class="nv">$request</span><span class="p">):</span> <span class="kt">ResponseInterface</span>
<span class="p">{</span>
<span class="p">[</span><span class="mf">...</span><span class="p">]</span>
<span class="k">return</span> <span class="k">new</span> <span class="nc">JsonResponse</span><span class="p">([</span>
<span class="s1">'success'</span> <span class="o">=></span> <span class="kc">true</span><span class="p">,</span>
<span class="s1">'languages'</span> <span class="o">=></span> <span class="nv">$languagePackService</span><span class="o">-></span><span class="nf">getLanguageDetails</span><span class="p">(),</span>
<span class="s1">'extensions'</span> <span class="o">=></span> <span class="nv">$extensions</span><span class="p">,</span>
<span class="s1">'activeLanguages'</span> <span class="o">=></span> <span class="nb">array_values</span><span class="p">(</span><span class="nv">$languagePackService</span><span class="o">-></span><span class="nf">getActiveLanguages</span><span class="p">()),</span> <span class="c1">// HERE</span>
<span class="s1">'activeExtensions'</span> <span class="o">=></span> <span class="nb">array_column</span><span class="p">(</span><span class="nv">$extensions</span><span class="p">,</span> <span class="s1">'key'</span><span class="p">),</span>
<span class="s1">'html'</span> <span class="o">=></span> <span class="nv">$view</span><span class="o">-></span><span class="nf">render</span><span class="p">(),</span>
<span class="p">]);</span>
<span class="p">}</span>
</code></pre>
TYPO3 Core - Bug #102652 (New): Form : multicheckbox field has a top label with a "for" attribute...
http://forge.typo3.org/issues/102652
2023-12-11T15:03:48Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>according to this Mozilla Dev documentation, the value of the for attribute must be a single id for a labelable form-related element in the same document as the <label> element. (<a class="external" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#for">https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label#for</a>)</p>
<p>Labelable form elements are listed here : <a class="external" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#labelable">https://developer.mozilla.org/en-US/docs/Web/HTML/Content_categories#labelable</a></p>
<p>The multicheckbox field has an top label with a "for" attribute doesn't match any form element id, but a div one.</p>
<p>Google Chrome complains with this message :</p>
<pre>
The label's for attribute doesn't match any element id. This might prevent the browser from correctly autofilling the form and accessibility tools from working correctly.
To fix this issue, make sure the label's for attribute references the correct id of a form field.
</pre>
TYPO3 Core - Bug #102053 (New): ckeditor - fixAttrib.class.default of A-link not applied when lin...
http://forge.typo3.org/issues/102053
2023-09-27T18:40:33Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>this is a follow up to this old closed issue : <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: RTE - fixAttrib to A-link not applied when link is inside list (Closed)" href="http://forge.typo3.org/issues/92756">#92756</a></p>
<p>When I set this in YAML, the class is not applied to the <a> tag inside an <li> one :</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">processing</span><span class="pi">:</span>
<span class="na">HTMLparser_db</span><span class="pi">:</span>
<span class="na">tags</span><span class="pi">:</span>
<span class="na">a</span><span class="pi">:</span>
<span class="na">fixAttrib</span><span class="pi">:</span>
<span class="na">class</span><span class="pi">:</span>
<span class="na">default</span><span class="pi">:</span> <span class="s">external-link</span>
</code></pre>
<p>I've simply fixed this by adding "ul" to the switch/case test of block elements in <code>TYPO3\CMS\Core\Html\RteHtmlParser::TS_transform_db</code></p>
<p>I don't know if it's the right way, please find the attached patch to review.</p>
TYPO3 Core - Bug #101826 (New): Copyright notice in SystemEmail footer not translated for backend...
http://forge.typo3.org/issues/101826
2023-09-01T16:24:38Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>when I use the password reset feature for backend user, the copyright notice in email footer is not translated.</p>
<p>The equivalent feature for felogin (forgot password) is working.</p>
<p>After digging, I found that LanguageService::readLLfile() merge the default language into the translated language (in my case, "default" is merge into "fr") at this point :</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="nv">$this</span><span class="o">-></span><span class="n">lang</span> <span class="o">!==</span> <span class="s1">'default'</span> <span class="o">&&</span> <span class="k">isset</span><span class="p">(</span><span class="nv">$tempLL</span><span class="p">[</span><span class="nv">$language</span><span class="p">]))</span> <span class="p">{</span>
<span class="c1">// Merge current language labels onto labels from previous language</span>
<span class="c1">// This way we have a labels with fall back applied</span>
<span class="nc">ArrayUtility</span><span class="o">::</span><span class="nf">mergeRecursiveWithOverrule</span><span class="p">(</span><span class="nv">$localLanguage</span><span class="p">[</span><span class="nv">$this</span><span class="o">-></span><span class="n">lang</span><span class="p">],</span> <span class="nv">$tempLL</span><span class="p">[</span><span class="nv">$language</span><span class="p">],</span> <span class="kc">true</span><span class="p">,</span> <span class="kc">false</span><span class="p">);</span>
<span class="p">}</span>
</code></pre>
<p>I admit that I have not a good understanding of the comment and why this is done for fall back, but if I change the condition test as following, the copyright notice is translated.</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="nv">$language</span> <span class="o">!==</span> <span class="s1">'default'</span> <span class="o">&&</span> <span class="k">isset</span><span class="p">(</span><span class="nv">$tempLL</span><span class="p">[</span><span class="nv">$language</span><span class="p">]))</span> <span class="p">{</span>
</code></pre>
TYPO3 Core - Bug #100988 (New): Not rendered form elements in GridRow are included in column clas...
http://forge.typo3.org/issues/100988
2023-06-09T14:09:37Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>when we disable the rendering of form elements (with a variant and renderingOptions.enabled = false) in a GridRow, they are not exclude from the column class auto configuration.</p>
<p>Consequently, for each of these elements, an empty div with col-* classes is still present and it causes a blank area next to the visible form elements of the row.<br />Plus, these visible elements have wrong col-* classes because the not rendered elements are included in the calculation.</p>
TYPO3 Core - Bug #100940 (Closed): Extbase Exception The default controller for extension "Form" ...
http://forge.typo3.org/issues/100940
2023-06-01T09:00:12Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>When a page containing a extbase plugin is renamed from "Page A" to "Page B", then back to "Page A", a circular redirect is created.</p>
<p>In that case, using a form plugin for instance, the following exception is raised :</p>
<pre><code class="shell syntaxhl" data-language="shell">The default controller <span class="k">for </span>extension <span class="s2">"Form"</span> and plugin <span class="s2">"Formframework"</span> can not be determined.
Please check <span class="k">for </span>TYPO3<span class="se">\C</span>MS<span class="se">\E</span>xtbase<span class="se">\U</span>tility<span class="se">\E</span>xtensionUtility::configurePlugin<span class="o">()</span> <span class="k">in </span>your ext_localconf.php.
</code></pre>
TYPO3 Core - Bug #100876 (New): Clipboard : "Copy elements" from the mode toggle button still pre...
http://forge.typo3.org/issues/100876
2023-05-15T09:01:24Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>even if we disable files and folder copy permissions for a backend user group, the toggle button of the clipboard still displays "Copy elements".</p>
<p>(However, user cannot copy effectively. An error message occurs when trying to paste)</p>
TYPO3 Core - Bug #100678 (New): ext:form : errorMessage for RegularExpression validator is ignore...
http://forge.typo3.org/issues/100678
2023-04-20T08:05:09Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>since <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Custom error messages in RegularExpressionValidator (Closed)" href="http://forge.typo3.org/issues/91719">#91719</a> it is possible to define a custom validation error message for RegularExpression validators.</p>
<p>When set in Yaml as following, this error message is ignored.</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">options</span><span class="pi">:</span>
<span class="na">errorMessage</span><span class="pi">:</span> <span class="s2">"</span><span class="s">my</span><span class="nv"> </span><span class="s">custom</span><span class="nv"> </span><span class="s">error</span><span class="nv"> </span><span class="s">message"</span>
</code></pre>
<p>It seems that the TranslationService uses this custom errorMessage as the very last fallback only if no translation for the corresponding error code is found in language files.<br />The translation for the corresponding error code takes precedence.</p>
<pre><code class="xml syntaxhl" data-language="xml"><span class="nt"><trans-unit</span> <span class="na">id=</span><span class="s">"validation.error.1221565130"</span> <span class="na">xml:space=</span><span class="s">"preserve"</span><span class="nt">></span>
<span class="nt"><source></span>Ce champ contient des caractères non autorisés<span class="nt"></source></span>
<span class="nt"></trans-unit></span>
</code></pre>
<p>I expected that the custom error message would have precedence.</p>
TYPO3 Core - Bug #100129 (Resolved): Hook "postLoginFailureProcessing" is not called when MFA TOT...
http://forge.typo3.org/issues/100129
2023-03-09T10:21:47Z
RVVN no-lastname-given
web@rvvn.org
<p>We use the postLoginFailureProcessing hook to send us an email each time a user fails to log in, as a security monitoring.</p>
<p>When a user has MFA activated and the TOTP verification fails, this hook is not called, thus we're not alerted of this login failure.</p>
TYPO3 Core - Bug #100128 (Resolved): AdminLoginWarning email not sent when MFA is activated
http://forge.typo3.org/issues/100128
2023-03-09T10:13:06Z
RVVN no-lastname-given
web@rvvn.org
<p>When we log in backend with an admin account and MFA activated, we don't receive the usual AdminLoginWarning email.</p>
TYPO3 Core - Bug #96485 (Under Review): CKEditor : allowAttribs in YAML not taken into account / ...
http://forge.typo3.org/issues/96485
2022-01-07T21:42:07Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>the following YAML configuration for CKEditor is not taken into account :</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">processing</span><span class="pi">:</span>
<span class="na">HTMLparser_db</span><span class="pi">:</span>
<span class="na">tags</span><span class="pi">:</span>
<span class="na">a</span><span class="pi">:</span>
<span class="na">allowedAttribs</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">class</span>
<span class="pi">-</span> <span class="s">title</span>
<span class="pi">-</span> <span class="s">target</span>
<span class="pi">-</span> <span class="s">href</span>
</code></pre>
<p>All attributes are removed when saving content element.</p>
<p>I've found the source of this issue in the HtmlParser (line 481) : <a class="external" href="https://github.com/TYPO3/typo3/blob/10.4/typo3/sysext/core/Classes/Html/HtmlParser.php#L481">https://github.com/TYPO3/typo3/blob/10.4/typo3/sysext/core/Classes/Html/HtmlParser.php#L481</a></p>
<p>The key '_allowedAttribs' doesn't exist.</p>
<p>Replacing it with 'allowedAttribs.' fixes the problem.</p>
TYPO3 Core - Bug #96230 (Closed): Login Failure Warning Email : missing RemoteAdress and siteURL
http://forge.typo3.org/issues/96230
2021-12-03T16:13:11Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>the fluid email we receive after some failed login attempts at backend is missing 2 informations :</p>
<ul>
<li>remoteAdress</li>
<li>siteURL</li>
</ul>
<pre><code>
There have been some attempts (4) to login at the TYPO3 site "Crespin" ().
This is a dump of the failures:
02-12-21 13:20: Login-attempt from XXX.XXX.XXX.XXX, username 'johndoe' not found!!
02-12-21 13:21: Login-attempt from XXX.XXX.XXX.XXX, username 'johndoe', password not accepted!
02-12-21 13:24: Login-attempt from XXX.XXX.XXX.XXX, username 'johndoe', password not accepted!
02-12-21 13:26: Login-attempt from XXX.XXX.XXX.XXX, username 'johndoe', password not accepted!
This email was sent by Crespin from URL: - Please contact your site administrator if you feel you received this email by accident.
</code></pre>
<p>Some code inspection and debug lead me to an empty value for $GLOBALS['TYPO3_REQUEST']</p>
<p>The issue doesn't occur with the Login Warning email, so I mimicked the code and tried this workaround in <em>typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php</em> :</p>
<pre><code class="php syntaxhl" data-language="php"><span class="mi">2483</span> <span class="cm">/*if ($GLOBALS['TYPO3_REQUEST'] instanceof ServerRequestInterface) {
2484 $email->setRequest($GLOBALS['TYPO3_REQUEST']);
2485 }*/</span>
<span class="mi">2486</span> <span class="nv">$email</span><span class="o">-></span><span class="nf">setRequest</span><span class="p">(</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TYPO3_REQUEST'</span><span class="p">]</span> <span class="o">??</span> <span class="nc">\TYPO3\CMS\Core\Http\ServerRequestFactory</span><span class="o">::</span><span class="nf">fromGlobals</span><span class="p">());</span> <span class="c1">//RVVN</span>
</code></pre>
TYPO3 Core - Bug #95212 (New): Form plugin translation doesn't work with YAML configuration (key ...
http://forge.typo3.org/issues/95212
2021-09-14T07:13:30Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>following the official documentation ( [[<a class="external" href="https://docs.typo3.org/c/typo3/cms-form/master/en-us/I/Concepts/FormPlugin/Index.html#translation-of-form-plugin">https://docs.typo3.org/c/typo3/cms-form/master/en-us/I/Concepts/FormPlugin/Index.html#translation-of-form-plugin</a>]] ) to translate the form plugin in backend, I set my YAML configuration like this :</p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">TYPO3</span><span class="pi">:</span>
<span class="na">CMS</span><span class="pi">:</span>
<span class="na">Form</span><span class="pi">:</span>
<span class="na">prototypes</span><span class="pi">:</span>
<span class="na">standard</span><span class="pi">:</span>
<span class="na">formEngine</span><span class="pi">:</span>
<span class="na">translationFiles</span><span class="pi">:</span>
<span class="c1"># custom translation file</span>
<span class="na">20</span><span class="pi">:</span> <span class="s1">'</span><span class="s">EXT:my_site_package/Resources/Private/Language/Database.xlf'</span>
</code></pre>
<p>But this file is never used.</p>
<p>I found in Form TranslationService (line 191 for version 10.4) that the translationFiles array is not replaced by a key-descending-sorted array (returned value from "sortArrayWithIntegerKeysDescending" method)</p>
<pre><code class="php syntaxhl" data-language="php"><span class="nv">$this</span><span class="o">-></span><span class="nf">sortArrayWithIntegerKeysDescending</span><span class="p">(</span><span class="nv">$translationFiles</span><span class="p">);</span>
</code></pre>
<p>The translationFiles array remains the same, so the XLIFF file from the Form extension (at index 10) takes precedence over additional custom ones.</p>
<p>A fix could be :</p>
<pre><code class="php syntaxhl" data-language="php"><span class="nv">$translationFiles</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-></span><span class="nf">sortArrayWithIntegerKeysDescending</span><span class="p">(</span><span class="nv">$translationFiles</span><span class="p">);</span>
</code></pre>
<p>Note : version 11 is affected too.</p>
TYPO3 Core - Bug #94142 (New): 404 errors with standard subpages of a mounted page with parameter...
http://forge.typo3.org/issues/94142
2021-05-14T15:47:04Z
RVVN no-lastname-given
web@rvvn.org
<p>----<br />To reproduce (TYPO3 9.5.26 / PHP 7.2.24) :<br />----</p>
<p>Create 2 websites on the same TYPO3 instance with these pages :</p>
<p>Site 1 :<br />- Page "A" (doktype 1)<br />-- Subpage "AA" (doktype 1) with mount_pid_ol=0 <br />-- Subpage "AB" (doktype 1) with mount_pid_ol=1 <br />- Page "B" (doktype 1)</p>
<p>Site 2 :<br />- Page "A" (doktype 7) mounting Site 1 > Page "A"</p>
<p>----<br />Behaviour :<br />----<br />Site 2 > Page "A" > Subpage "AA" works<br />Site 2 > Page "A" > Subpage "AB" throws 404 error</p>
<p>Parameter mount_pid_ol of pages with doktype different from 7 should not be involved in the render process.</p>
TYPO3 Core - Bug #92455 (Closed): createFile with file image extension causes ImageMagick identif...
http://forge.typo3.org/issues/92455
2020-09-30T16:27:59Z
RVVN no-lastname-given
web@rvvn.org
<p>Hi,</p>
<p>since 9.5.22, creating file with an image extension ("jpeg", "jpg", "png") with Storage->createFile() causes the following errors from ImageMagick "identify" function :</p>
<pre><code class="text syntaxhl" data-language="text">
identify: insufficient image data in file `/xxxxxxxx/xxxxxx/375536226116427_1338295523173821.jpeg' @ error/jpeg.c/ReadJPEGImage/1039.
identify: improper image header `/xxxxxxxx/xxxxxx/1675979572678151_2805251863084244.png' @ error/png.c/ReadPNGImage/3954.
</code></pre>
<p>This is because Indexing is invoked during the file creation, and Indexer extract width and height but these metadata (via ImageMagick "identify") don't exist yet.</p>
<p>As a side question, why indexing at file creation ?</p>