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 #82521 (Closed): Links to a mounted page in a page tree with a different domain ...http://forge.typo3.org/issues/825212017-09-20T14:26:36ZMarco Huber
<p>If you link to a page in another page tree with a different domain, the link gets prepended with the domain of the other page tree. But if the target page mounts another page, then the domain is not prepended. It seems like, as soon as the link has the GET parameter MP, the rootline check is not done.</p>
<p>This happens on typolinks, but also in menus and links from the RTE. Tested TYPO3 Versions are 6.2, 7.6 and 8.7.</p>
<p>A detailed testcase is attached.</p> TYPO3 Core - Bug #81740 (Closed): temp directory name shouldn't be hardcoded in ClearCacheServicehttp://forge.typo3.org/issues/817402017-06-29T11:36:36ZMarco Huber
<p>As the name of the temp directory can be configured (f.e. <pre><code class="php syntaxhl" data-language="php"><span class="nv">$GLOBALS</span><span class="p">[</span><span class="s1">'TYPO3_CONF_VARS'</span><span class="p">][</span><span class="s1">'SYS'</span><span class="p">][</span><span class="s1">'caching'</span><span class="p">][</span><span class="s1">'cacheConfigurations'</span><span class="p">][</span><span class="s1">'cache_core'</span><span class="p">][</span><span class="s1">'options'</span><span class="p">][</span><span class="s1">'cacheDirectory'</span><span class="p">]</span> <span class="o">=</span> <span class="s1">'typo3temp_local'</span><span class="p">;</span></code></pre>), the name "typo3temp" shouldn't be hardcoded in the ClearCacheService <a href="https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/install/Classes/Service/ClearCacheService.php#L42" class="external">Line 42</a> (<a href="https://github.com/TYPO3/TYPO3.CMS/blob/TYPO3_7-6/typo3/sysext/install/Classes/Service/ClearCacheService.php#L56" class="external">TYPO3 7.6 Line 56</a>).</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 #78918 (Closed): Pasting long text into the RTE leads to browser crasheshttp://forge.typo3.org/issues/789182016-12-08T10:14:57ZMarco Huber
<p>The browser crashes, if you copy a long text into the RTE. This happens always in the IE and if you open the developer toolbar it happens in the firefox, too.</p>
<p>I think the reason is this patch: <a class="external" href="https://review.typo3.org/#/c/44810/">https://review.typo3.org/#/c/44810/</a></p>
<p>The event DOMSubtreeModified is triggered very often on changes in the RTE. And because everytime the event is triggered a complete form validation is startet, the script runtime gets to long and makes the browser crash.<br />How often the event is triggered depends on which transformations are done while pasting content into the RTE. I mean, which tags and attributes are allowed and which should be removed and so on.</p>
<p>Examples:<br />1. If you make a linebreak in an empty RTE, then the event is triggered 3 times.<br />2. If you paste the text "asd" into an emtpy RTE, then the event is triggered 1 time.<br />3. If you paste the two textblocks "TYPO3 Schulungen" and "TYPO3 Hosting" from <a class="external" href="https://typo3.bgm-gmbh.de/leistungen/">https://typo3.bgm-gmbh.de/leistungen/</a> into an empty RTE, then the event is triggered more than 30 times (then my browser crached ;-)).<br />3.1 If you deaktivate the validation in the function Editor.prototype.onDOMSubtreeModified, then the event ist triggered "only" 9 times.</p>
<p>To count how often the event is triggered I added this code to the function Editor.prototype.onDOMSubtreeModified:<br /><pre>
this.onDOMSubtreeModifiedCounter = this.onDOMSubtreeModifiedCounter || 0;
this.onDOMSubtreeModifiedCounter++;
console.log(this.onDOMSubtreeModifiedCounter);
</pre></p>
<p>Perheps there is a better event to start the validation? Perheps when the hidden textarea is updated? But I haven't found the place where this happens.</p> TYPO3 Core - Bug #77577 (Closed): Source collection images don't get resized if file = GIFBUILDERhttp://forge.typo3.org/issues/775772016-08-22T13:43:59ZMarco Huber
<p>If you use a GIFBUILDER object as file resource in an IMAGE object, the images in the source collection don't get resized.</p>
<pre>
10 = IMAGE
10 {
file = GIFBUILDER
file {
XY = 400,350
...
}
sourceCollection {
small.width = 320
small.mediaQuery = (min-width: 260px)
medium.width = 400
medium.mediaQuery = (min-width: 360px)
}
}
</pre> TYPO3 Core - Bug #77098 (Closed): versionNumberInFilename = '1' not working with the demo .htacce...http://forge.typo3.org/issues/770982016-07-14T17:38:03ZMarco Huber
<p>If you use an Apache 2.2 and the demo .htaccess the RewriteRule to resolve the verionNumberInFilename doesn't work. It seems like this is a bug in Apache 2.2 and/or mod_rewrite which appends the absolute path to the file when it rewrites the path. Or perhaps I misunderstood the Apache documentation ;-). In the browser you simply get a 404 for the CSS/Javascript file.</p>
<p>To solve this problem, you could set a "RewriteBase = /" in your .htaccess. Then it works for every file, which is not in the "/typo3" folder. But if you enable debugging for the backend, the CSS and Javascript files from the "/typo3" folder can not be found because of the .htaccess in the "/typo3" folder. You have to set a "RewriteBase = /typo3/" in the .htaccess file in the "/typo3" folder.</p>
<p>Or you have to modify the .htaccess RewriteRule in the root folder from<br /><pre>
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ $1.$3 [L]
</pre><br />to<br /><pre>
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ %{ENV:CWD}$1.$3 [L]
</pre></p>
<p>This bug doesn't happen with Apache 2.4, but i find no requirement for a specific Apache version on <a class="external" href="https://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.md">https://github.com/TYPO3/TYPO3.CMS/blob/master/INSTALL.md</a>.</p>
<p>This bug appears in TYPO3 6.2 and 7.6. And I think (but have not tested it) it appears in 8.x, too.</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 #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 #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>