TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692021-11-04T22:59:09ZTYPO3 Forge
Redmine TYPO3 Core - Bug #95877 (Closed): missing index "install_path" with composer 2.0http://forge.typo3.org/issues/958772021-11-04T22:59:09ZMarco Huber
<p>composer 2.0 doesn't set "install_path" in vendor/composer/installed.php like composer 2.1 does. This missing array index leads to a PHP notice in typo3/sysext/core/Classes/Core/Environment.php line 137 and because of some strange server configuration this breaks TYPO3 completly.</p>
<pre><code class="shell syntaxhl" data-language="shell"><span class="nv">$ </span>vendor/bin/typo3cms cache:flush
PHP Notice: Undefined index: install_path <span class="k">in</span> /custompath/private/typo3/sysext/core/Classes/Core/Environment.php on line 137
</code></pre> TYPO3 Core - Bug #94150 (Closed): Constants in Page TsConfig with multiple sites, caching problemhttp://forge.typo3.org/issues/941502021-05-18T07:39:24ZMarco Huber
<p>I think there is a problem with caching in \TYPO3\CMS\Core\Configuration\Parser\PageTsConfigParser, because it doesn't use the current site config in the cache identifier.</p>
<p>My test case with two sites:</p>
<p>config/sites/site-a/config.yaml:<br /><pre>
rootPageId: 1
settings:
access:
groupid: 1
</pre></p>
<p>config/sites/site-b/config.yaml:<br /><pre>
rootPageId: 2
settings:
access:
groupid: 2
</pre></p>
<p>Page TsConfig:<br /><pre>
TCEMAIN {
permissions {
groupid = {$access.groupid}
}
}
</pre></p>
<p>Clear the cache and then open the info modul and have a look at the page tsconfig for site-a, then {$access.groupid} is replaced with "1". But on site-b {$access.groupid} is not replaced. <br />Clear the cache again and open site-b first. Now {$access.groupid} is replaced on site-b with "2" but not on site-a.<br />Another test is to create pages and check the access rights in the Access module. The first site has the group set, the second site has no group set.</p>
<p>The related code should be in PageTsConfigParser:parse(). If I change `$hashOfContent = md5('PAGES:' . $content);` to `$hashOfContent = md5('PAGES:' . $content) . ($site ? $site->getIdentifier() : '');` then it works. But I'm not sure, if this is the best solution. I tested with 10.4 but the code in master is still the same. So the problem should exist there, too.</p>
<p>As a hotfix without changing the core an integrator can use good old conditions in the page TsConfig :-)<br /><pre>
[1 in tree.rootLineIds]
TCEMAIN {
permissions {
groupid = 1
}
}
[GLOBAL]
[2 in tree.rootLineIds]
TCEMAIN {
permissions {
groupid = 2
}
}
[GLOBAL]
</pre></p> TYPO3 Core - Bug #90761 (Closed): Fluid select viewhelper not added to __trustedProperties if mul...http://forge.typo3.org/issues/907612020-03-14T14:47:43ZMarco Huber
<p>The registerFieldNameForFormTokenGeneration is not called, if the viewhelper has multiple="true" but has no options. Then the field is not added to the hidden "__trustedProperties" field. But when the form is submitted, the select field is in the sent array with an empty string as value and then the extbase data mapper throws the exception 1297759968.</p>
<p>See: <a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/fluid/Classes/ViewHelpers/Form/SelectViewHelper.php#L153">https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/fluid/Classes/ViewHelpers/Form/SelectViewHelper.php#L153</a></p> TYPO3 Core - Bug #83741 (Closed): HTTP Basic Authentication credentials in Google Chrome 64 not t...http://forge.typo3.org/issues/837412018-01-31T16:07:23ZMarco Huber
<p>Our project is protected by a HTTP Basic Authentication and we have to enter the username/password on every d3.json() call in Google Chrome. In TYPO3 8.7 this function is called in the SvgTree.js to build the tree in the tt_content/categories field, in TYPO3 9.x it's called for every(?) tree.</p>
<p>This is a bug in the d3.js (4.10) library, but it affects every TYPO3 8.7 and 9.x. An Update to d3.js 4.13 doesn't help and in d3.js 5.0 there is a similar issue.</p>
<p><a class="external" href="https://github.com/d3/d3-request/issues/33">https://github.com/d3/d3-request/issues/33</a><br /><a class="external" href="https://github.com/d3/d3-fetch/issues/10">https://github.com/d3/d3-fetch/issues/10</a></p>
<p>A dirty workaround would be, to set the credentials with some javascript workaround. But I'm not sure if this is the right way. Berhaps the d3.js developers have some ideas on github.</p>
<p><img src="http://forge.typo3.org/attachments/download/33145/d3.png" alt="" loading="lazy" /></p> TYPO3 Core - Bug #79711 (Closed): The CE File Links (fluid_styled_content) tries to create thumbs...http://forge.typo3.org/issues/797112017-02-09T15:40:01ZMarco Huber
<p>In typo3/sysext/fluid_styled_content/Resources/Private/Templates/Uploads.html line 13 the if condition is true even for non-image files, because the f:uri.image returns an url. But then the f:media viewhelper can't handle this files and returns an <img> tag with an invalid src.</p>
<p>To reproduce:<br />Insert the content element File Links on a page, assign some non-image files (docx, xlsx, ...) and select "Filename and thumbnail (if possible)" in the field "Display file/icon/thumbnail".<br />For this files the generated <img> tag looks like this: <img src="path/to/my.docx" /></p>
<p>As a quick workaround I wrote a little viewhelper to check, if the file extension is in $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'], and used this viewhelper in the if condition:</p>
<pre>
<?php
namespace Vendor\MyTheme\ViewHelpers;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper;
/**
* Checks if the file extension is in $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
*/
class IsImageViewHelper extends AbstractViewHelper
{
/**
* Checks if the file extension is in $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
*
* @param \TYPO3\CMS\Core\Resource\ResourceInterface $resource Either give this resource
* @return boolean
*/
public function render($resource)
{
return GeneralUtility::inList($GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'], $resource->getExtension());
}
}
</pre>
<pre>
<f:if condition="{data.uploads_type} == 2">
<f:if condition="{vendor:isImage(resource:file)}">
<f:then>
<a href="{file.publicUrl}"{f:if(condition:data.target,then:' target="{data.target}"')}>
<f:media file="{file}" width="150" alt="{file.properties.alternative}" />
</a>
</f:then>
</pre>
<p>But perhaps there is a better solution?</p> TYPO3 Core - Bug #79566 (Closed): No login possible if cookie name is longer than 32 charshttp://forge.typo3.org/issues/795662017-01-31T11:28:32ZMarco Huber
<p>Because the cookie name is stored in the database be_sessions.ses_name (or fe_sessions.ses_name) and the field has a limit of 32 chars, the login does not work if the cookie name (set via $GLOBALS['TYPO3_CONF_VARS']['SYS|BE|FE']['cookieName']) is longer.</p> TYPO3 Core - Bug #79037 (Closed): In the BE the select icons' titles are not shownhttp://forge.typo3.org/issues/790372016-12-19T17:48:05ZMarco Huber
<p>Because only the a tag but not the image tag has a title attribute, in some browsers the title is not shown on mouseover.</p> TYPO3 Core - Bug #79012 (Closed): TYPO3 default language content shownhttp://forge.typo3.org/issues/790122016-12-16T11:26:45ZMarco Huber
<p>If a database field can be NULL, the default language content is shown even if there shouldn't be a fallback.</p>
<p><a class="external" href="http://stackoverflow.com/questions/41181974/typo3-default-language-content-shown">http://stackoverflow.com/questions/41181974/typo3-default-language-content-shown</a></p> TYPO3 Core - Bug #76029 (Rejected): Regex in ExtensionManagementUtility::executePositionedStringI...http://forge.typo3.org/issues/760292016-05-03T14:29:05ZMarco Huber
<pre>
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('pages', 'myfield', '', 'after:description');
</pre>
<p>The field "description" is part of the palette "metatags" so $positionName in ExtensionManagementUtility::executePositionedStringInsertion() is "--palette--;;metatags". This is modified to "--palette--;[^;]*;metatags" and then escaped with "preg_quote($positionName, '/')". And then the preg_replace doesn't work.</p>
<p>$positionName should be first quoted and then extended.</p>
<p>This was intruduced in <a class="external" href="https://forge.typo3.org/issues/75830">https://forge.typo3.org/issues/75830</a>.</p> TYPO3 Core - Bug #75254 (Closed): Wrong page TSconfig in link wizard after positioned inserthttp://forge.typo3.org/issues/752542016-03-24T12:13:37ZMarco Huber
<p>If you insert a content element (or a page) at a concrete position f.e. after content element 15 the value in $row['pid'] is -15.</p>
<p>This pid is also handed over to the link wizard popup. But with this "pid" the TSconfig can not be loaded.</p>
<p>Because this is the second place I find this issue, I'm afraid that we have a bigger problem here.</p> TYPO3 Core - Bug #72751 (Closed): RTE: no TSconfig loaded on positioned inserthttp://forge.typo3.org/issues/727512016-01-15T21:16:37ZMarco Huber
<p>If you insert a content element (or a page) with a RTE field at a concrete position f.e. after content element 15 the value in $row['pid'] is -15.</p>
<p>But with this "pid" the TSconfig can not be loaded.</p> TYPO3 Core - Bug #72171 (Closed): Since the authMode_enforce strict is set editors can't edit con...http://forge.typo3.org/issues/721712015-12-11T11:56:21ZMarco Huber
<p>Since the authMode_enforce strict is set editors can't edit content elements if the list_type is 0. But 0 is the default value.</p>
<p>So we have to change typo3/sysext/frontend/ext_tables.sql and perhaps also offer a migration script which updates the database?</p>
<p>This was introduced in:<br /><a class="external" href="https://git.typo3.org/Packages/TYPO3.CMS.git/commitdiff/3276f07f39dcaa12458a67469b0c256bf77e89ed">https://git.typo3.org/Packages/TYPO3.CMS.git/commitdiff/3276f07f39dcaa12458a67469b0c256bf77e89ed</a><br /><a class="external" href="https://review.typo3.org/#/c/45165/">https://review.typo3.org/#/c/45165/</a><br /><a class="external" href="https://forge.typo3.org/issues/32209">https://forge.typo3.org/issues/32209</a></p> TYPO3 Core - Bug #68367 (Rejected): checkSubmit should wait 500mshttp://forge.typo3.org/issues/683672015-07-19T12:50:56ZMarco Huber
<p>Steps to reproduce:<br />Create a new record which has a required field. Insert something in the required field. Click on save. The alert "The fields marked with an exclamation mark are not yet correctly filled in. Please complete them properly." is shown.</p>
<p>You have to click somewhere else before you click on save.</p>
<p>Because of the setTimeout in typo3/sysext/backend/Resources/Public/JavaScript/FormEngineValidation.js Line 59-62 around "FormEngineValidation.validate();" the checkSubmit function should also wait 500ms before it tries to submit the form.</p> TYPO3 Core - Bug #25888 (Closed): TCA Tree readOnly not workinghttp://forge.typo3.org/issues/258882011-04-11T15:09:49ZMarco Huber
<p>The TCA Tree isn't disabled if $PA['fieldConf']['config']['readOnly'] is true.</p> TYPO3 Core - Bug #25347 (Closed): TCA type "select", renderMode "tree", maxitems = 1 doesn't workhttp://forge.typo3.org/issues/253472011-03-16T16:53:26ZMarco Huber
<p>I want to use the new TCA tree, but when I configure 1 as maxitems I can't select a tree node.</p>
<p>This happens, because this.countSelectedNodes in t3lib\js\extjs\tree\tree.js is 1 even when I create a new record. And this.countSelectedNodes is 1 because $valueArray in t3lib\tceforms\class.t3lib_tceforms_tree.php in the function renderField always has at least one entry.</p>
<p>$valueArray is created by exploding $PA['itemFormElValue']. In fresh records $PA['itemFormElValue'] is 0 and not NULL (or not set) and has no other effects. But $valueArray has an entry and that's why count($valueArray) is 1 and then this.countSelectedNodes is also 1.</p>
<p>To fix this issue $PA['itemFormElValue'] should be only exploded when it's not 0. Like I worte, this is done in t3lib\tceforms\class.t3lib_tceforms_tree.php and fixed in the appended patch.</p>
<p>Fixing this issue causes a little follow up in t3lib\js\extjs\tree\tree.js. This is also fixed in the patch.</p>
<p>I hope the patch file's syntax is correct, this is my first git patch ;-)</p>
<p>(issue imported from #M17976)</p>