TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-09-28T19:32:57ZTYPO3 Forge
Redmine TYPO3 Core - Bug #102063 (Resolved): Undefined array key "editlock" in DatabaseRecordListhttp://forge.typo3.org/issues/1020632023-09-28T19:32:57ZGuido Schmechel
<p>Core: Error handler (BE): PHP Warning: Undefined array key "editlock" in /typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php line 2304</p>
<p><a class="external" href="https://github.com/TYPO3/typo3/blob/11.5/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php#L2304">https://github.com/TYPO3/typo3/blob/11.5/typo3/sysext/recordlist/Classes/RecordList/DatabaseRecordList.php#L2304</a></p>
<p>It should still be checked whether $row also exists with this key</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">elseif</span> <span class="p">(</span><span class="k">isset</span><span class="p">(</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TCA'</span><span class="p">][</span><span class="nv">$table</span><span class="p">][</span><span class="s1">'ctrl'</span><span class="p">][</span><span class="s1">'editlock'</span><span class="p">])</span> <span class="o">&&</span> <span class="nv">$row</span><span class="p">[</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TCA'</span><span class="p">][</span><span class="nv">$table</span><span class="p">][</span><span class="s1">'ctrl'</span><span class="p">][</span><span class="s1">'editlock'</span><span class="p">]])</span> <span class="p">{</span>
</code></pre>
<p>-></p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">elseif</span> <span class="p">(</span><span class="k">isset</span><span class="p">(</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TCA'</span><span class="p">][</span><span class="nv">$table</span><span class="p">][</span><span class="s1">'ctrl'</span><span class="p">][</span><span class="s1">'editlock'</span><span class="p">])</span> <span class="o">&&</span> <span class="k">isset</span><span class="p">(</span><span class="nv">$row</span><span class="p">[</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TCA'</span><span class="p">][</span><span class="nv">$table</span><span class="p">][</span><span class="s1">'ctrl'</span><span class="p">][</span><span class="s1">'editlock'</span><span class="p">]])</span> <span class="o">&&</span> <span class="nv">$row</span><span class="p">[</span><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TCA'</span><span class="p">][</span><span class="nv">$table</span><span class="p">][</span><span class="s1">'ctrl'</span><span class="p">][</span><span class="s1">'editlock'</span><span class="p">]])</span> <span class="p">{</span>
</code></pre> TYPO3 Core - Bug #99394 (Resolved): Update documentation for NewRecordViewHelperhttp://forge.typo3.org/issues/993942022-12-19T13:15:42ZGuido Schmechel
<p>Not all examples were adapted when copy/pasting from EditRecordViewHelper.</p>
<p>Documentation: <a class="external" href="https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/typo3/backend/latest/Link/NewRecord.html">https://docs.typo3.org/other/typo3/view-helper-reference/main/en-us/typo3/backend/latest/Link/NewRecord.html</a><br />File: typo3/sysext/backend/Classes/ViewHelpers/Link/NewRecordViewHelper.php</p> TYPO3 Core - Bug #99383 (Resolved): Filemount display in BE group modal too narrowhttp://forge.typo3.org/issues/993832022-12-15T22:53:56ZGuido Schmechel
<ul>
<li>Edit a backend user</li>
<li>Jump to "Mount and workspaces" tab</li>
<li>Select a group and edit a group<br />=> A small popup opens</li>
</ul>
<p>If I now want to change a filemount inside this popup, the modal for filemounts opens, which is not displayed cleanly in width.</p> TYPO3 Core - Bug #95741 (Closed): PHP 8 - DB Check - Warningshttp://forge.typo3.org/issues/957412021-10-23T13:20:09ZGuido Schmechel
<p>There are, depending on the configuration, isolated PHP warnings in PHP 8 appeared. In the end, I only tried out the options for DB Check and Advanced Query.</p> TYPO3 Core - Bug #95391 (Closed): MFA label is not translatedhttp://forge.typo3.org/issues/953912021-09-28T19:51:10ZGuido Schmechel
<p>Context: admin user - NO MFA. Setup Time Based Password => <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/71132">https://review.typo3.org/c/Packages/TYPO3.CMS/+/71132</a></p>
<p>Loggedin successfully and i got a flash message:</p>
<p>"MFA setup successful" <br />"You have successfully activated MFA provider LLL:EXT:core/Resources/Private/Language/locallang_mfa_provider.xlf:totp.title. This provider was also automatically set as your default provider. You can change this at any time in your user settings."</p> TYPO3 Core - Bug #94048 (Closed): LanguagePackCommand isn't schedulablehttp://forge.typo3.org/issues/940482021-05-03T21:28:58ZGuido Schmechel
<p>Regerssion from <a class="external" href="https://review.typo3.org/c/Packages/TYPO3.CMS/+/67635">https://review.typo3.org/c/Packages/TYPO3.CMS/+/67635</a>. Only for master (v11)</p> TYPO3 Core - Bug #93254 (Closed): Redirect without query parameters is not respectedhttp://forge.typo3.org/issues/932542021-01-09T18:30:59ZGuido Schmechel
<p>Context:<br />TYPO3 Integrator creates a simple redirect (Page A to Page B) with option "respect_query_parameters" = true. An user calls this source page (Page A) without a query parameter and gets a 404 page.</p>
<p>Solution: <br />typo3/sysext/redirects/Classes/Service/RedirectService.php only requires an extra condition to intercept this.</p> TYPO3 Core - Bug #89326 (Accepted): Prevent duplicate redirects in auto redirectshttp://forge.typo3.org/issues/893262019-10-01T21:04:28ZGuido Schmechel
<p><strong>Case "Auto redirect":</strong> (>= v10.1)<br />An editor changes the slug of a page several times back and forth. A redirect is always created, no matter if it already exists.</p>
<p>Possible solution:<br />Optimal would be a hash value which is created from all 8 values.</p> TYPO3 Core - Bug #88939 (Closed): Custom CacheAction cannot send success state and custom flash m...http://forge.typo3.org/issues/889392019-08-08T17:44:30ZGuido Schmechel
<p>Content:<br />Add a cacheAction via $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['additionalBackendItems']['cacheActions']. Everything is fine and the cache icon is displayed in the topbar. Sending a JsonResponse via interface:</p>
<pre><code class="php syntaxhl" data-language="php"> <span class="cd">/**
* @param ServerRequestInterface $request
* @return ResponseInterface
*/</span>
<span class="k">public</span> <span class="k">function</span> <span class="n">flush</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="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="p">}</span>
</code></pre>
<p>We get a red FlashMessage with the hardcoded "An error occurred while clearing the cache. It is likely not all caches were cleared as expected." text.</p>
<p>The message is thrown from <a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/master/Build/Sources/TypeScript/backend/Resources/Public/TypeScript/Toolbar/ClearCacheMenu.ts#L72">https://github.com/TYPO3/TYPO3.CMS/blob/master/Build/Sources/TypeScript/backend/Resources/Public/TypeScript/Toolbar/ClearCacheMenu.ts#L72</a> because we have a response. It does not matter what is inside, as you can see.</p>
<p>Solution:<br />We need a proper solution for this typescript case. Luckily we have a similar solution here: <a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/master/Build/Sources/TypeScript/recordlist/Resources/Public/TypeScript/ClearCache.ts#L67">https://github.com/TYPO3/TYPO3.CMS/blob/master/Build/Sources/TypeScript/recordlist/Resources/Public/TypeScript/ClearCache.ts#L67</a></p> TYPO3 Core - Bug #88723 (Closed): Incorrect syntax in rst filehttp://forge.typo3.org/issues/887232019-07-11T12:12:15ZGuido Schmechel
<p><a class="external" href="https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.4/Feature-85829-ImplementSymfonyExpressionLanguageForTypoScriptConditions.html">https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.4/Feature-85829-ImplementSymfonyExpressionLanguageForTypoScriptConditions.html</a></p>
<p>Example is set to "userId" But it should be frontend.user.userId. See syntax below</p> TYPO3 Core - Bug #87821 (Closed): Form Framework has problems with Windows Line Endingshttp://forge.typo3.org/issues/878212019-03-02T11:24:08ZGuido Schmechel
<p>Form Framework stops the output of forms when using Windows Line Endings, e.g. due to a faulty upload. The editor gets no indication and the error is hard to find as an integrator.</p>
<p>To prevent this, chr (13) can be removed from the metadata:<br /><a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/form/Classes/Mvc/Persistence/FormPersistenceManager.php#L687">https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/form/Classes/Mvc/Persistence/FormPersistenceManager.php#L687</a></p>
<p>How can you test it?<br />Just build an simple form yaml config and change the line ending via editor (e.g. PHP Storm) from "LF" to "CRLF"</p> TYPO3 Core - Bug #87500 (Closed): Site Configuration with an empty static route is possiblehttp://forge.typo3.org/issues/875002019-01-20T20:54:19ZGuido Schmechel
<p><strong>Error</strong></p>
<p>The problem occurs when opening the sitemap.</p>
<pre><code class="php syntaxhl" data-language="php"><span class="p">(</span><span class="mi">1</span><span class="o">/</span><span class="mi">1</span><span class="p">)</span> <span class="nc">TypeError</span>
<span class="nc">Argument</span> <span class="mi">1</span> <span class="n">passed</span> <span class="n">to</span> <span class="nc">TYPO3\CMS\Core\LinkHandling\LinkService</span><span class="o">::</span><span class="nf">resolve</span><span class="p">()</span> <span class="n">must</span> <span class="n">be</span> <span class="n">of</span> <span class="n">the</span> <span class="n">type</span> <span class="n">string</span><span class="p">,</span> <span class="kc">null</span> <span class="n">given</span><span class="p">,</span> <span class="n">called</span> <span class="n">in</span> <span class="nc">\public\typo3\sysext\frontend\Classes\Middleware\StaticRouteResolver</span><span class="mf">.</span><span class="n">php</span> <span class="n">on</span> <span class="n">line</span> <span class="mi">133</span>
</code></pre>
<p><strong>Steps to reproduce</strong></p>
<ul>
<li>Add an Static Route in Site Configuration</li>
<li>Change "Route Type" to "Page, File" </li>
<li>Backend is reloaded</li>
<li>Click "Close" to abort the adding of a route</li>
</ul>
<p>As it stands, the mandatory field check is not performed by clicking on "Close".</p> TYPO3 Core - Bug #87337 (Closed): ExtbasePluginEnhancer does not use a custom controller configur...http://forge.typo3.org/issues/873372019-01-05T19:25:17ZGuido Schmechel
<p><strong>Context</strong><br />I have a standard extbase plugin. Actions are list, detail and city.</p>
<p><strong>Problem</strong><br />If defaultController and _controller do not match from a route, the URL will not build up cleanly. In my case, he always uses "list" to generate the URL.</p>
<p><strong>Solution</strong><br />When verifying each configuration in the ExtbasePluginEnhancer, the controller will not overwrite the current configuration. Only the default controller is used.</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="k">empty</span><span class="p">(</span><span class="nv">$configuration</span><span class="p">[</span><span class="s1">'_controller'</span><span class="p">]))</span> <span class="p">{</span>
<span class="nv">$this</span><span class="o">-></span><span class="nf">applyControllerActionValues</span><span class="p">(</span>
<span class="nv">$configuration</span><span class="p">[</span><span class="s1">'_controller'</span><span class="p">],</span>
<span class="nv">$originalParameters</span><span class="p">[</span><span class="nv">$this</span><span class="o">-></span><span class="n">namespace</span><span class="p">]</span>
<span class="p">);</span>
<span class="p">}</span>
</code></pre>
<p><strong>Route Enhancer config</strong></p>
<pre><code class="php syntaxhl" data-language="php"><span class="n">routeEnhancers</span><span class="o">:</span>
<span class="nc">DetailPoi</span><span class="o">:</span>
<span class="n">type</span><span class="o">:</span> <span class="nc">Extbase</span>
<span class="n">extension</span><span class="o">:</span> <span class="nc">AyacooPoi</span>
<span class="n">plugin</span><span class="o">:</span> <span class="nc">Poi</span>
<span class="n">routes</span><span class="o">:</span>
<span class="o">-</span> <span class="p">{</span> <span class="n">routePath</span><span class="o">:</span> <span class="s1">'restaurant/{slug}'</span><span class="p">,</span> <span class="n">_controller</span><span class="o">:</span> <span class="s1">'Poi::detail'</span><span class="p">,</span> <span class="n">_arguments</span><span class="o">:</span> <span class="p">{</span><span class="s1">'slug'</span> <span class="o">:</span> <span class="s1">'poi'</span><span class="p">}</span> <span class="p">}</span>
<span class="o">-</span> <span class="p">{</span> <span class="n">routePath</span><span class="o">:</span> <span class="s1">'stadt/{cityTitle}'</span><span class="p">,</span> <span class="n">_controller</span><span class="o">:</span> <span class="s1">'Poi::city'</span><span class="p">,</span> <span class="n">_arguments</span><span class="o">:</span> <span class="p">{</span><span class="s1">'cityTitle'</span> <span class="o">:</span> <span class="s1">'city'</span><span class="p">}</span> <span class="p">}</span>
<span class="n">defaultController</span><span class="o">:</span> <span class="s1">'Poi::list'</span>
<span class="n">requirements</span><span class="o">:</span>
<span class="n">poi</span><span class="o">:</span> <span class="s1">'\d+'</span>
<span class="n">city</span><span class="o">:</span> <span class="s1">'\d+'</span>
<span class="n">aspects</span><span class="o">:</span>
<span class="n">slug</span><span class="o">:</span>
<span class="n">type</span><span class="o">:</span> <span class="nc">PersistedAliasMapper</span>
<span class="n">tableName</span><span class="o">:</span> <span class="s1">'tx_ayacoopoi_domain_model_poi'</span>
<span class="n">routeFieldName</span><span class="o">:</span> <span class="s1">'slug'</span>
<span class="n">cityTitle</span><span class="o">:</span>
<span class="n">type</span><span class="o">:</span> <span class="nc">PersistedAliasMapper</span>
<span class="n">tableName</span><span class="o">:</span> <span class="s1">'tx_ayacoopoi_domain_model_poi'</span>
<span class="n">routeFieldName</span><span class="o">:</span> <span class="s1">'city'</span>
</code></pre> TYPO3 Core - Bug #87333 (Closed): Slug fieldSeparator default value collides with symfony strict ...http://forge.typo3.org/issues/873332019-01-05T09:40:59ZGuido Schmechel
<p><strong>Context</strong></p>
<p>I combine two fields via TCA Slug ['city', 'street']. TYPO3 builds the slug correctly to e.g. "cologne/streetname". This is also displayed in the backend in the slug field.</p>
<pre><code class="php syntaxhl" data-language="php"> <span class="s1">'slug'</span> <span class="o">=></span> <span class="p">[</span>
<span class="s1">'exclude'</span> <span class="o">=></span> <span class="kc">true</span><span class="p">,</span>
<span class="s1">'label'</span> <span class="o">=></span> <span class="s1">'URL Segment'</span><span class="p">,</span>
<span class="s1">'config'</span> <span class="o">=></span> <span class="p">[</span>
<span class="s1">'type'</span> <span class="o">=></span> <span class="s1">'slug'</span><span class="p">,</span>
<span class="s1">'generatorOptions'</span> <span class="o">=></span> <span class="p">[</span>
<span class="s1">'fields'</span> <span class="o">=></span> <span class="p">[</span><span class="s1">'city'</span><span class="p">,</span> <span class="s1">'street'</span><span class="p">],</span>
<span class="s1">'replacements'</span> <span class="o">=></span> <span class="p">[</span>
<span class="s1">'/'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
<span class="s1">'&'</span> <span class="o">=></span> <span class="s1">''</span>
<span class="p">],</span>
<span class="p">],</span>
<span class="s1">'fallbackCharacter'</span> <span class="o">=></span> <span class="s1">'-'</span><span class="p">,</span>
<span class="s1">'eval'</span> <span class="o">=></span> <span class="s1">'uniqueInPid'</span><span class="p">,</span>
<span class="p">],</span>
<span class="p">],</span>
</code></pre>
<p><strong>Problem</strong></p>
<p>If i call a list action which call this slug via f:link.page I get this error message:</p>
<pre>
Parameter "tx_ayacoopoi_poi__poi" for route "tx_ayacoopoi_poi_0" must match "[^/]++" ("cologne/streetname" given) to generate a corresponding URL.
</pre>
<p>I have not defined a field separator in the TCA config and so a slash is used by the code => <a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/core/Classes/DataHandling/SlugHelper.php#L185">https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/core/Classes/DataHandling/SlugHelper.php#L185</a></p>
<p>Symfony routing is in strict mode and so the slash isn't allowed.</p>
<p><strong>Route Enhancer</strong></p>
<pre><code class="yaml syntaxhl" data-language="yaml"><span class="na">routeEnhancers</span><span class="pi">:</span>
<span class="na">DetailPoi</span><span class="pi">:</span>
<span class="na">type</span><span class="pi">:</span> <span class="s">Extbase</span>
<span class="na">extension</span><span class="pi">:</span> <span class="s">AyacooPoi</span>
<span class="na">plugin</span><span class="pi">:</span> <span class="s">Poi</span>
<span class="na">routes</span><span class="pi">:</span>
<span class="pi">-</span> <span class="pi">{</span> <span class="nv">routePath</span><span class="pi">:</span> <span class="s1">'</span><span class="s">{slug}'</span><span class="pi">,</span> <span class="nv">_controller</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Poi::detail'</span><span class="pi">,</span> <span class="nv">_arguments</span><span class="pi">:</span> <span class="pi">{</span><span class="s1">'</span><span class="s">slug'</span> <span class="pi">:</span> <span class="s1">'</span><span class="s">poi'</span><span class="pi">}</span> <span class="pi">}</span>
<span class="na">defaultController</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Poi::detail'</span>
<span class="na">aspects</span><span class="pi">:</span>
<span class="na">slug</span><span class="pi">:</span>
<span class="na">type</span><span class="pi">:</span> <span class="s">PersistedAliasMapper</span>
<span class="na">tableName</span><span class="pi">:</span> <span class="s1">'</span><span class="s">tx_ayacoopoi_domain_model_poi'</span>
<span class="na">routeFieldName</span><span class="pi">:</span> <span class="s1">'</span><span class="s">slug'</span>
<span class="na">routeValuePrefix</span><span class="pi">:</span> <span class="s1">'</span><span class="s">/'</span>
</code></pre> TYPO3 Core - Bug #85323 (Resolved): Create dir if user create a local storagehttp://forge.typo3.org/issues/853232018-06-21T10:44:35ZGuido Schmechel
<p>TYPO3 Version 9.4.dev</p>
<p>I create a file storage to test another issue. I use the Local Driver add a fictitious directory path and add the storage. If i check the "file list" module, i see the new storage and the hint "Name (Offline)" There is no hint that this directory doesn't exist.</p>
<p>Beware of the other fal driver/adapter it was a nice feature to create the path automatically or add a hint that the path is missing.</p>