TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692023-05-13T14:40:54ZTYPO3 Forge
Redmine TYPO3 Core - Bug #100872 (Resolved): currentContentObject is not always availablehttp://forge.typo3.org/issues/1008722023-05-13T14:40:54ZAlexander Stehlik
<p>When using the <code>EXTBASEPLUGIN</code> content element outside the <code>lib.contentElement</code> context the request attribute <code>currentContentObject</code> is not filled correctly.</p>
<p>The problem only occurs when the content is rendered with the f:cObject view helper in a FLUIDTEMPLATE content object. This is a minimal page setup with fluid_styled_content TypoScript included:</p>
<pre>
lib.content.main < styles.content.get
page = PAGE
page.100 = FLUIDTEMPLATE
page.100.template = TEXT
page.100.template.value = <p>The form</p><f:cObject typoscriptObjectPath="lib.content.main"/>
</pre>
<p>It can be tested by changing the config of the <code>form_formframework</code> content element:</p>
<p>This works (the default config):</p>
<pre>
tt_content.form_formframework =< lib.contentElement
tt_content.form_formframework {
20 = EXTBASEPLUGIN
20 {
extensionName = Form
pluginName = Formframework
}
templateName = Generic
}
</pre>
<p>When rendering the plugin directly, the <code>currentContentObject</code> is <code>null</code> :</p>
<pre>
tt_content.form_formframework >
tt_content.form_formframework = EXTBASEPLUGIN
tt_content.form_formframework {
extensionName = Form
pluginName = Formframework
}
</pre>
<p>And maybe this is related: I just realized that the settings-Array is also empty in the second example.</p> TYPO3 Core - Bug #100856 (Resolved): SilentConfigurationUpgradeService removed FE/versionNumberIn...http://forge.typo3.org/issues/1008562023-05-10T21:15:20ZAlexander Stehlik
<p>There seems to be an error in the logic of <code>\TYPO3\CMS\Install\Service\SilentConfigurationUpgradeService::migrateVersionNumberInFileNameSetting()</code>:</p>
<p>The option is always removed, when the value is not <code>embed</code>:</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="nv">$currentOption</span> <span class="o">===</span> <span class="s1">'embed'</span><span class="p">)</span> <span class="p">{</span>
<span class="nv">$confManager</span><span class="o">-></span><span class="nf">setLocalConfigurationValueByPath</span><span class="p">(</span><span class="s1">'FE/versionNumberInFilename'</span><span class="p">,</span> <span class="kc">true</span><span class="p">);</span>
<span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
<span class="nv">$confManager</span><span class="o">-></span><span class="nf">removeLocalConfigurationKeysByPath</span><span class="p">([</span><span class="s1">'FE/versionNumberInFilename'</span><span class="p">]);</span>
<span class="p">}</span>
</code></pre>
<p>This does not seem to make sense because the value is also removed, when it is set to <code>true</code>.</p>
<p>Am I missing something here or this be a conditional else, something like:</p>
<pre><code class="php syntaxhl" data-language="php"><span class="k">if</span> <span class="p">(</span><span class="nv">$currentOption</span> <span class="o">===</span> <span class="s1">'embed'</span><span class="p">)</span> <span class="p">{</span>
<span class="mf">...</span>
<span class="p">}</span> <span class="k">elseif</span> <span class="p">(</span><span class="o">!</span><span class="nv">$currentOption</span><span class="p">)</span> <span class="p">{</span>
<span class="nv">$confManager</span><span class="o">-></span><span class="nf">removeLocalConfigurationKeysByPath</span><span class="p">([</span><span class="s1">'FE/versionNumberInFilename'</span><span class="p">]);</span>
<span class="p">}</span>
</code></pre> TYPO3 Core - Bug #95941 (Rejected): Prevent crashes in reference index update due to invalid user...http://forge.typo3.org/issues/959412021-11-10T11:15:24ZAlexander Stehlik
<p>Currently an editor can cause crashes in the <code>referenceindex:update</code> command by entering invalid data in link fields (e.g. the <code>header_link</code>).</p>
<p>The first scenario is the safeguard in the <code>TypolinkSoftReferenceParser</code> against <code>phar://</code> URLs. When the user enters such an URL the Backend crashes with an Exception and the update command will always fail until the invalid URL is removed.</p>
<p>The same happens with a combination of a slash <code>/</code> in the link value and a special char that is denied by the filename sanitation. Then the softref parser crashes with an InvalidPathException. Example: <code>bla/blubb<specialchar>test</code> (replace specialchar with <a href="https://mothereff.in/utf-8#%02" class="external">this</a>).</p>
<p>IMO editor input should not cause these kinds of Exceptions. Instead the errors should be catched / logged and additionally the validation of link input could be improved to deny disallowed URLs from the start.</p> TYPO3 Core - Bug #95939 (Closed): PHP 8 warning when saving console command scheduler taskhttp://forge.typo3.org/issues/959392021-11-10T09:05:34ZAlexander Stehlik
<p>The initial creation of console command tasks</p>
<p><img src="http://forge.typo3.org/attachments/download/36537/clipboard-202111101003-vipjn.png" alt="" loading="lazy" /></p>
<p>leads to a PHP warning:</p>
<p>Undefined array key "arguments" in typo3/sysext/scheduler/Classes/Task/ExecuteSchedulableCommandAdditionalFieldProvider.php line 182</p> TYPO3 Core - Bug #95695 (Closed): Uncatched Exception in image size detectionhttp://forge.typo3.org/issues/956952021-10-19T09:30:23ZAlexander Stehlik
<p>When editors upload files with invalid Extensions or the mime type can not be correctly detected an Exception occurs when the file is (re-)indexed:</p>
<pre>
#0 TYPO3\CMS\Core\Imaging\ImageMagickFile->resolvePrefix()
#1 TYPO3\CMS\Core\Imaging\ImageMagickFile->__construct('/var/www/typo3-...', 0)
#2 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\...', '/var/www/typo3-...', 0)
#3 TYPO3\CMS\Core\Imaging\ImageMagickFile::fromFilePath('/var/www/typo3-...', 0)
#4 TYPO3\CMS\Core\Imaging\GraphicalFunctions->executeIdentifyCommandForImageFile('/var/www/typo3-...')
#5 TYPO3\CMS\Core\Imaging\GraphicalFunctions->imageMagickIdentify('/var/www/typo3-...')
#6 TYPO3\CMS\Core\Type\File\ImageInfo->getImageSizes()
#7 TYPO3\CMS\Core\Type\File\ImageInfo->getWidth()
#8 TYPO3\CMS\Core\Resource\Index\Indexer->extractRequiredMetaData(Object(TYPO3\CMS\Core\Resource\File))
#9 TYPO3\CMS\Core\Resource\Index\Indexer->updateIndexEntry(Object(TYPO3\CMS\Core\Resource\File))
...
</pre>
<p>This can be problematic if a folder is moved / copied because the indexing is aborted as soon as the index entry of the invalid file is processed. This might lead to an inconsistent index state.</p>
<p>Two examples found so far in a larger file base:</p>
<ul>
<li>an HTML file was uploaded with a .pdf ending</li>
<li>another PDF had a mime type of application/octet-stream instead of application/pdf</li>
</ul> TYPO3 Core - Bug #95672 (Closed): PHP 8 warning when using reference for FLUIDTEMPLATE variablehttp://forge.typo3.org/issues/956722021-10-16T12:26:40ZAlexander Stehlik
<p>When using TypoScript like this:</p>
<pre>
10 = FLUIDTEMPLATE
10 {
variables {
myvar =< lib.some.cobject
}
}
</pre>
<p>you get a PHP 8 warning:</p>
<blockquote>
<p>PHP Warning: Undefined array key "myvar." in web/typo3/sysext/frontend/Classes/ContentObject/FluidTemplateContentObject.php line 304</p>
</blockquote> TYPO3 Core - Bug #95489 (Closed): PHP 8 warnings in content renderer and menu objectshttp://forge.typo3.org/issues/954892021-10-06T08:16:32ZAlexander Stehlik
<p>When running TYPO3 11 with PHP 8 I encountered several PHP 8 warnings due to access to undefined array keys in the Frontend.</p>
<p>Patch follows in a moment.</p> TYPO3 Core - Bug #95418 (Closed): Ophan records cleanup does not delete hidden orphanshttp://forge.typo3.org/issues/954182021-09-30T16:09:21ZAlexander Stehlik
<p>The <code>OrphanRecordsCommand</code> (<code>cleanup:orphanrecords</code>) does not delete records that are hidden or deleted.</p> TYPO3 Core - Bug #94075 (Closed): User settings overwrite values of disabled fieldshttp://forge.typo3.org/issues/940752021-05-05T18:06:29ZAlexander Stehlik
<p>When the <code>realName</code> and / or <code>email</code> fields are disabled in the User settings:</p>
<pre><code data-language="typoscript">setup.fields.realName.disabled = 1
setup.fields.email.disabled = 1
</code></pre>
<p>the values will be reset to empty strings intead of keeping the original ones.</p>
<p>Before:</p>
<p><img src="http://forge.typo3.org/attachments/download/36043/clipboard-202105052004-ny85k.png" alt="" loading="lazy" /></p>
<p>Setup dialog:</p>
<p><img src="http://forge.typo3.org/attachments/download/36044/clipboard-202105052005-gcoib.png" alt="" loading="lazy" /></p>
<p>After saving:</p>
<p><img src="http://forge.typo3.org/attachments/download/36045/clipboard-202105052005-dyfpy.png" alt="" loading="lazy" /></p> TYPO3 Core - Bug #91736 (Closed): Saving sitemap priority of 1.0 fails with MariaDBhttp://forge.typo3.org/issues/917362020-07-02T13:51:49ZAlexander Stehlik
<p>When choosing 1.0 as sitemap priority you get an error on saving:</p>
<p>SQL error: 'Out of range value for column 'sitemap_priority' at row 1'</p> TYPO3 Core - Task #91640 (Closed): Hide translation diff for image imageManipulation fieldshttp://forge.typo3.org/issues/916402020-06-12T13:51:35ZAlexander Stehlik
<p>Currently the JSON stored for image manipulation (crop) is rendered in the Backend for translated content elements (see screenshot).</p>
<p>This information is more confusing than helpful for editors and should be hidden.</p>
<p><img src="http://forge.typo3.org/attachments/download/35297/screenshot_crop_l10n_diff.png" alt="" loading="lazy" /></p>
<p>Ideas for better alternatives:</p>
<ul>
<li>integrate the information in the crop editor (display squares of the original crop, maybe allow reset)</li>
<li>display the preview images of the original content instead of the JSON</li>
</ul>
<p><a href="#" onclick="$('#collapse-3120510a-show, #collapse-3120510a-hide').toggle(); $('#collapse-3120510a').fadeToggle(150);; return false;" id="collapse-3120510a-show" class="icon icon-collapsed collapsible">Keywords for issue search</a><a href="#" onclick="$('#collapse-3120510a-show, #collapse-3120510a-hide').toggle(); $('#collapse-3120510a').fadeToggle(150);; return false;" id="collapse-3120510a-hide" class="icon icon-expanded collapsible" style="display:none;">Keywords for issue search</a><div id="collapse-3120510a" class="collapsed-text" style="display:none;"><p>transOrigDiffSourceField, l10n_diffsource, imageManipulation, localization, cropping</p></div></p> TYPO3 Core - Bug #89707 (Closed): CType dividers are stripped by authModehttp://forge.typo3.org/issues/897072019-11-18T19:44:54ZAlexander Stehlik
<p>When using the <code>explicitAllow</code> setting for <code>$GLOBALS['TYPO3_CONF_VARS']['BE']['explicitADmode']</code> the <code>--div--</code> items are removed and you loose the headings in the <code>CType</code> select.</p>
<p>Same happens in the <code>list_type</code> select.</p>
<p>Dividers should always be allowed IMO.</p> TYPO3 Core - Bug #89521 (Closed): typolink in ATagParams modifies original URLhttp://forge.typo3.org/issues/895212019-10-27T11:33:25ZAlexander Stehlik
<p>When you generate a link in the <code>stdWrap</code> config of <code>ATagParams</code> of a <code>typolink</code>, the original link is replaced with the one generated for the <code>ATagParams</code>.</p>
<p>An example:</p>
<pre><code data-language="typoscript">page = PAGE
page.10 = TEXT
page.10.typolink.parameter = <some_id>
page.10.typolink.ATagParams.outerWrap = data-some-other-url="|"
page.10.typolink.ATagParams.cObject = COA
page.10.typolink.ATagParams.cObject {
10 = TEXT
10.typolink.parameter = <some_other_id>
10.typolink.returnLast = url
stdWrap.htmlSpecialChars = 1
}
</code></pre>
<p>Expected output:</p>
<pre><code class="html syntaxhl" data-language="html"><span class="nt"><a</span> <span class="na">href=</span><span class="s">"/some-id"</span> <span class="na">data-some-other-url=</span><span class="s">"/some-other-id"</span><span class="nt">></span>Some ID<span class="nt"></a></span>
</code></pre>
<p>Current output:</p>
<pre><code class="html syntaxhl" data-language="html"><span class="nt"><a</span> <span class="na">href=</span><span class="s">"/some-other-id"</span> <span class="na">data-some-other-url=</span><span class="s">"/some-other-id"</span><span class="nt">></span>Some ID<span class="nt"></a></span>
</code></pre> TYPO3 Core - Bug #89402 (Closed): HMENU with special=directoy removes mount point if target page ...http://forge.typo3.org/issues/894022019-10-11T20:03:56ZAlexander Stehlik
<p>This is a bit of an edge case but it caused me some head scratching:</p>
<p>I added a menu of subpages to a pagetree that looks like this:</p>
<ul>
<li>page 1 (default)</li>
<li>page 2 (MP to page 1)</li>
</ul>
<p>The menu will only render one of the two pages.</p>
<p>The reason is simple: the page UID is used as array key in the menu item array.</p>
<p><code>\TYPO3\CMS\Frontend\ContentObject\Menu\AbstractMenuContentObject::prepareMenuItemsForDirectoryMenu()</code>:</p>
<pre><code class="php syntaxhl" data-language="php"><span class="nv">$menuItems</span><span class="p">[</span><span class="nv">$row</span><span class="p">[</span><span class="s1">'uid'</span><span class="p">]]</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-></span><span class="n">sys_page</span><span class="o">-></span><span class="nf">getPageOverlay</span><span class="p">(</span><span class="nv">$row</span><span class="p">);</span>
</code></pre> TYPO3 Core - Bug #88421 (Closed): LanguageMenuProcessor is not providing flagIdentifierhttp://forge.typo3.org/issues/884212019-05-23T10:31:52ZAlexander Stehlik
<p>The LanguageMenuProcessor does not provide the flagIdentifier property of language configurations.</p>
<p>The flag information could be useful though for rendering flag icons for the language menu entries.</p>