TYPO3 Forge: Issueshttp://forge.typo3.org/http://forge.typo3.org/themes/typo3_forge/favicon/favicon.png?17058661692017-08-16T14:29:06ZTYPO3 Forge
Redmine TYPO3 Core - Bug #82114 (Closed): OnlineMedia Processing forces FAL drivers to extend AbstractDriverhttp://forge.typo3.org/issues/821142017-08-16T14:29:06ZFranz Kochtypo3@elements-net.de
<p>FAL drivers are not obligated to extend the AbstractDriver but only to implement the DriverInterface. Having custom drivers that are not based on AbstractDriver (because they are f.e. non hierarchical) currently causes an Exception because \TYPO3\CMS\Core\Resource\OnlineMedia\Processing\PreviewProcessing expects an instance of AbstractDriver as method argument and not DriverInterface.</p>
<p>Patch/fix is already on Gerrit. Ticket only for reference.</p> TYPO3 Core - Bug #61830 (Closed): Localization of file references brokenhttp://forge.typo3.org/issues/618302014-09-24T05:16:09ZFranz Kochtypo3@elements-net.de
<p>The LocalizationUtility from Extbase is using $GLOBALS['TSFE']->sL to translate translateFileReference passed to it, but this is no longer available and thus these translations fail. Removing the FE special case and using $GLOBALS['LANG'] instead.</p>
<p>Before:<br /><pre>
static protected function translateFileReference($key) {
if (TYPO3_MODE === 'FE') {
$value = $GLOBALS['TSFE']->sL($key);
return $value !== FALSE ? $value : NULL;
} elseif (is_object($GLOBALS['LANG'])) {
$value = $GLOBALS['LANG']->sL($key);
return $value !== '' ? $value : NULL;
} else {
return $key;
}
}
</pre></p>
<p>after:<br /><pre>
static protected function translateFileReference($key) {
if (is_object($GLOBALS['LANG'])) {
$value = $GLOBALS['LANG']->sL($key);
return $value !== '' ? $value : NULL;
} else {
return $key;
}
}
</pre></p> TYPO3 Core - Bug #61261 (Closed): Edit icons in FAL filelist and context menus are missing permis...http://forge.typo3.org/issues/612612014-08-29T10:30:24ZFranz Kochtypo3@elements-net.de
<p>In filelist as well as in context menus the edit/info/cut/copy/paste icons are always shown and not disabled/removed if related FAL object doesn't allow these actions.</p> TYPO3 Core - Bug #22862 (Closed): t3lib_utility_client is not working with php 5.2.0http://forge.typo3.org/issues/228622010-06-10T20:08:19ZFranz Kochtypo3@elements-net.de
<p>the preg_match_all pattern used to get the client information is using named subpatterns that are not compatible with php 5.2.0 but only php 5.2.2. Changing their spelling from '?<browser>' to '?P<browser>' does solve the issue.</p>
<p>(issue imported from #M14692)</p> TYPO3 Core - Bug #22724 (Closed): prioriCalc no longer working correctly after #0013670 (Performa...http://forge.typo3.org/issues/227242010-05-27T02:31:52ZFranz Kochtypo3@elements-net.de
<p>As the topic already says, the changes in <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Performance optimization: change while(list() to foreach() (Closed)" href="http://forge.typo3.org/issues/22194">#22194</a> broke prioriCalc. The replacement of the while(list()) in method "calcPriority" of class.t3lib_div.php cause a wrong calculation.<br />Solution would be either to revert the changes from <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Performance optimization: change while(list() to foreach() (Closed)" href="http://forge.typo3.org/issues/22194">#22194</a> for class.t3lib_div.php or apply my attached patch, that's keeping the "foreach" loop instead "while(list())" but fixes the issue.</p>
<p>(issue imported from #M14488)</p> TYPO3 Core - Bug #21924 (Closed): suggest wizard does not work properly with TCA fields of type "...http://forge.typo3.org/issues/219242010-01-07T19:05:00ZFranz Kochtypo3@elements-net.de
<p>Also the pending documentation claims that the new suggest wizard is working nicely with group and select fields, it's not the case for select fields for two reasons:<br />a) 'foreign_table' is not taken into account for the search, only 'allowed' which is not present in select field configurations by default</p>
<p>b) once a) is fixed, the JS part of the suggest box is handling the search results wrong because the ID values of the generated option fields always have the tablename prepended as it's needed for group fields, but not select fields</p>
<p>The attached patch has as first step a patch for a). I didn't have a closer look at the JS part yet - maybe if one who knows what to do could provide a patch for the JS? Thanks.</p>
<p>The attatched patch is also introducing a new configuration option for the wizard, that allows to define additional search fields in which the wizard should search in.<br />(issue imported from #M13172)</p> TYPO3 Core - Bug #20481 (Closed): calls to deprecated method t3lib_div::makeInstanceClassnamehttp://forge.typo3.org/issues/204812009-05-20T14:03:48ZFranz Kochtypo3@elements-net.de
<p>In addition to ticket <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: tslib_content calls deprecated function makeInstanceClassName (Closed)" href="http://forge.typo3.org/issues/20257">#20257</a> there are some other places in the core that still use calls to t3lib_div::makeInstanceClassName. This patch is fixing those.</p>
<p>(issue imported from #M11154)</p> TYPO3 Core - Bug #19545 (Closed): Moving page in WS will hide it from editors due to missing acce...http://forge.typo3.org/issues/195452008-10-31T11:37:42ZFranz Kochtypo3@elements-net.de
<p>I've got several editors that are limited to a certain subtree of the website. Every editor is 'locked' in the same custom workspace - so that they can't mess things up in live version.</p>
<p>Every subtree has the following access settings:<br />- owner: all rights<br />- group: all rights<br />- all: no rights - not even viewing</p>
<p>Now, when a editor is moving a page in his subtree, the page finally disappears in the pagetree. As admin I still can see the page and the WS-Placeholder created for it, but the placeholder has no access configuration at all - thus it's disallowed for all users. By setting the placeholers access rights, the editors finally can see the moved page in the workspace pagetree again.</p>
<p>In pageTS I defined a default usergroup and access-settings to use for new pages - but they don't get used for the WS-placeholder. Also TCAdefaults didn't work. <br />But the placeholder should have the same access settings as it's related page and not fall back to some default value anyway.</p>
<p>So I digged the source and found a solution that's working for me. Hope it's fixed in the right place and the correct way.</p>
<p>(issue imported from #M9705)</p> TYPO3 Core - Bug #19370 (Closed): "Do"-Dropdown doesn't respect current user's rights and is not ...http://forge.typo3.org/issues/193702008-09-23T18:00:03ZFranz Kochtypo3@elements-net.de
<p>The new "do" dropdown in the workspace module doesn't respect the users rights and is always showing all options - which is quite confusing for editors. Second thing is that it's not localized.</p>
<p>I've started recoding this and now the dropdown is only showing the options the current user is allowed to do. I also started localizing it - but some needed language labels where not present in locallang file and I didn't know what the best way would be to add the needed ones - so localizing still needs to be done after applying the patch.</p>
<p>(issue imported from #M9415)</p> TYPO3 Core - Bug #17029 (Closed): SQL-Error on MySQL4http://forge.typo3.org/issues/170292007-02-23T12:03:46ZFranz Kochtypo3@elements-net.de
<p>When the flag 'Enable extensions without review (basic security check)' is activated there are no search results in the EM. In a small debug-session I found out that the a SQL-statement is not compatible with my MySQL 4.1.4 installation. It all worked with RC1, so I suppose the bug is due to the latest changes from Karsten. To make it work with MySQL4 again, the term only has to be in brackets - see below.</p>
<p>PS: I hope that I categorized this report correctly as blocker for 4.1</p>
<p>In class.em_xmlhandler.php line 74:</p>
<p>----Current - not working----<br /> $where.= ' AND NOT reviewstate < 0';<br />-------------------------------------</p>
<p>----working----------------------<br /> $where.= ' AND NOT (reviewstate < 0)';<br />-------------------------------------<br />(issue imported from #M5055)</p> TYPO3 Core - Bug #15769 (Closed): NO/wrong language-merging for cType RECORDS - (so also not for ...http://forge.typo3.org/issues/157692006-03-06T14:30:28ZFranz Kochtypo3@elements-net.de
<p>I think I just found a bug with 'sys_language_mergeIfNotBlank' but I must say I'm a little confused currently of the way it is handled.</p>
<p>When fetching content with cType CONTENT, the query for selecting the content elements is built by a function 'tslib_content::getWhere' which (and only if $conf['languageField'] is expicit defined) switches the language-selection in the where-clause from the current sys_language to '0,-1' (default,all languages) which means that you get the content-element in the default language back and not the originaly asked one.</p>
<p>This element is later (in cType CONTENT) passed to another if-clause that merges the actual current sys_language over the given one, which HAS TO BE either 'default' or 'all languages' (therefore it had been switched before).</p>
<p>Isn't that double-reverse-thing a little unhandy?</p>
<p>Well, I think it is, as in this way it is impossible to get language-merged content-elements that are not passed through the CONTENT cType, which would be for example cType RECORDS. Because cType RECORDS can have direct references to translated content-elements which aren't fetched over the before mentioned function 'tslib_content::getWhere' which reverses the language.</p>
<p>So you will most likely not get language-merged content-elements over the function call 't3lib_page::getRecordOverlay' in cType RECORDS which leads to a big problem with all TemplaVoila sites, that fecht almost every content over cType RECORDS.</p>
<p>I stumbled over this as I coulnd't get 'sys_language_mergeIfNotBlank' work in TemplaVoila but it has worked with common rendering (page.30 < styles.content.get).</p>
<p>I'm no core developer, so I don't know what the actual idea was behind this double-language-conversion whatever thing, but I think it would be much wiser to remove this language conversion stuff and handle the overlay in one central function, which would be 't3lib_page::getRecordOverlay'.</p>
<p>The second thing is:<br />Currently the 'language conversion' in 'tslib_content::getWhere' is <em>ONLY</em> done when the given $conf-Array contains a field called 'languageField'. As I don't think that every developer is aware of this wouldn't it be better to simply check the TCA for the definition of that field (as it is done one line after: 6586, class.tslib_content.php) and optional check an override of the variable 'languageField'?</p>
<p>Here are my changes to my local system that made it work as it is supposed to be. I testet it with workspaces, versioning and language content-fallback. Everything seems to be ok, but it would be good if more people with different setups could test it before implementing in core.</p>
----- class.tslib_content.php around line 6584 ------------
<ol>
<li>from:<br /> if ($conf['languageField']) {<br /> if ($GLOBALS['TSFE']->sys_language_contentOL && $TCA[$table] && $TCA[$table]['ctrl']['languageField'] && $TCA[$table]['ctrl']['transOrigPointerField']) {<br /> // Sys language content is set to zero/-1 - and it is expected that whatever routine processes the output will OVERLAY the records with localized versions!<br /> $sys_language_content = '0,-1';<br /> } else {<br /> $sys_language_content = intval($GLOBALS['TSFE']->sys_language_content);<br /> }<br /> $query.=' AND '.$conf['languageField'].' IN ('.$sys_language_content.')';<br /> }</li>
</ol>
<ol>
<li>to:<br /> if($TCA[$table] && ($TCA[$table]['ctrl']['languageField'] || $conf['languageField'])) {<br /> $lField = $conf['languageField']? $conf['languageField'] : $TCA[$table]['ctrl']['languageField'];<br /> $query.=' AND '.$lField.' IN ('.$GLOBALS['TSFE']->sys_language_content.')';<br /> }<br />-----------------------------------------------------------<br />maybe a additional check should be added if the defined 'languageField' in $conf really exists in $TCA[$table]['columns'].</li>
</ol>
----- class.t3lib_page.php line 324 -----------------------
<ol>
<li>from: if ($row[$TCA[$table]['ctrl']['languageField']]<=0) {</li>
<li>to: if ($row[$TCA[$table]['ctrl']['languageField']] > 0) {<br />-----------------------------------------------------------</li>
</ol>
----- class.t3lib_page.php around line 330-----------------
<ol>
<li>from:<br />' AND '.$TCA[$table]['ctrl']['languageField'].'='.intval($sys_language_content).<br />' AND '.$TCA[$table]['ctrl']['transOrigPointerField'].'='.intval($row['uid']).</li>
</ol>
<ol>
<li>to:<br />' AND '.$TCA[$table]['ctrl']['languageField'].' IN (0,-1)'.<br />' AND uid='.intval($row['l18n_parent']).<br />-----------------------------------------------------------</li>
</ol>
----- class.t3lib_page.php around line 345-----------------
<ol>
<li>from:<br />if ($fN!='uid' && $fN!='pid' && isset($olrow[$fN])) {<br /> if ($GLOBALS['TSFE']->TCAcachedExtras[$table]['l10n_mode'][$fN]!='exclude'<br /> && ($GLOBALS['TSFE']->TCAcachedExtras[$table]['l10n_mode'][$fN]!='mergeIfNotBlank' || strcmp(trim($olrow[$fN]),''))) {<br /> $row[$fN] = $olrow[$fN];<br /> }<br />}</li>
</ol>
<ol>
<li>to:<br />if ($fN!='uid' && $fN!='pid' && isset($row[$fN])) {<br /> if (($GLOBALS['TSFE']->TCAcachedExtras[$table]['l10n_mode'][$fN]=='exclude'
|| $GLOBALS['TSFE']->TCAcachedExtras[$table]['l10n_mode'][$fN]=='mergeIfNotBlank') && !strcmp(trim($row[$fN]),'')) {<br /> $row[$fN] = $olrow[$fN];<br /> }<br />}<br />-----------------------------------------------------------</li>
</ol>
<p>I'll provide diff-files as soon as I know how to create them correct.<br />(issue imported from #M2773)</p> TYPO3 Core - Bug #15700 (Closed): Wrong hardcoded path to fileicons in class.tslib_content.phphttp://forge.typo3.org/issues/157002006-02-22T15:37:16ZFranz Kochtypo3@elements-net.de
<p>I just tested 4.0 beta3 and noticed that the fileicons where missing in the content-elements "uploads". The hardcoded path in "sysext/cms/tslib/class.tslib_content.php" on line 3843 is wrong.</p>
<p>Wrong: <br />$iconP = t3lib_extMgm::siteRelPath('cms').'media/fileicons/';</p>
<p>Correct:<br />$iconP = t3lib_extMgm::siteRelPath('cms').'tslib/media/fileicons/';</p>
<p>At least works for me on windows, zip-package. Couldn't check the linux-package, but as it should be the same now (no symlinks) the bug should be there, too.</p>
<p>but as this should become customizable anyway, maybe this bug will become obsolete</p>
<p>featurerequest for customizable icon-path see bug 1378:<br /><a class="external" href="http://bugs.typo3.org/view.php?id=1378">http://bugs.typo3.org/view.php?id=1378</a></p>
<p>(issue imported from #M2667)</p> TYPO3 Core - Bug #14977 (Closed): Function 'getBorderAttr' for removing 'border="0"' from img-ta...http://forge.typo3.org/issues/149772005-09-18T22:50:57ZFranz Kochtypo3@elements-net.de
<p>By validating my website I found out, that typo3 automatically renders the parameter 'border="0"' into img-tags. On my search to remove those, I found the function 'getBorderAttr' which should remove those attributes if a special doctype is set, or if the variable 'disableImgBorderAttr' is set. But the function has a logical error in the if-clause, so that the parameter only gets removed when both clauses are true insted of one of them.</p>
<p>BUG:<br />function: 'getBorderAttr'<br />file: 'class.tslib_content.php'<br />lines: 2511-2521</p>
<p>wrong (line 2518):<br />--------<br />if (t3lib_div::inList('xhtml_strict,xhtml_11,xhtml_2',$GLOBALS['TSFE']->config['config']['doctype']) || $GLOBALS['TSFE']->config['config']['disableImgBorderAttr']) {<br />--------</p>
<p>correct:<br />--------<br />if (t3lib_div::inList('xhtml_strict,xhtml_11,xhtml_2',$GLOBALS['TSFE']->config['config']['doctype']) && !$GLOBALS['TSFE']->config['config']['disableImgBorderAttr']) {<br />--------</p>
<p>Here the complete working function:<br />----------------------<br /> /**
* Returns the 'border' attribute for an <img> tag only if the doctype is not xhtml_strict,xhtml_11 or xhtml_2 or if the config parameter 'disableImgBorderAttr' is not set.
*
* @param string the border attribute
* @return string the border attribute<br /> */<br /> function getBorderAttr($borderAttr) {<br /> if (t3lib_div::inList('xhtml_strict,xhtml_11,xhtml_2',$GLOBALS['TSFE']->config['config']['doctype']) && !$GLOBALS['TSFE']->config['config']['disableImgBorderAttr']) {<br /> return $borderAttr;<br /> }<br /> }<br />(issue imported from #M1461)</p> TYPO3 Core - Feature #14964 (Closed): add form fields or something else via TShttp://forge.typo3.org/issues/149642005-09-10T17:25:05ZFranz Kochtypo3@elements-net.de
<p>I used the extension tx_extdbauth from Robert Lemke. Therefor it is necessary to submit a hidden variable during the login-process. It would be nice to add a hook or whatever that makes it possible to add some lines of code simply via TS. <br />I added it locally in my version of tx_newloginbox, but I don't have CVS, so I can't include it myself.</p>
<p>(issue imported from #M1443)</p> TYPO3 Core - Bug #14963 (Closed): Auto redirect feature from Martin Kutschker overwrites the vari...http://forge.typo3.org/issues/149632005-09-10T17:20:53ZFranz Kochtypo3@elements-net.de
<p>in line 88 the variable $d is filled with the storagePid which is used in line 290 for submitting the form-value "pid" by a hidden input-field.<br />Line 88:<br /> ---<br /> // Get storage PIDs:<br /> $d=$GLOBALS['TSFE']->getStorageSiterootPids();<br /> ---</p>
<p>Line 290:<br /> ---<br /> <input type="hidden" name="pid" value="'.intval($d['_STORAGE_PID']).'" /><br /> ---</p>
<p>The feature "auto redirect" from Martin Kutscher (lines 105 to 110) overwrites the variable $d, which makes it impossible to get the login working while using the auto redirect feature.<br />Lines 105 to 110:<br /> ---<br /> foreach(split(',', $this->conf['domains']) as $d) {<br /> if (ereg('(^|\.)'.$d.'$',$redirect_domain)) {<br /> $found = true;<br /> break;<br /> }<br /> }<br /> ---</p>
<p>Solution: simply change the name of the variable from this feature in e.g. $domain<br /> ---<br /> foreach(split(',', $this->conf['domains']) as $domain) {<br /> if (ereg('(^|\.)'.$domain.'$',$redirect_domain)) {<br /> $found = true;<br /> break;<br /> }<br /> }<br /> ---</p>
<p>(issue imported from #M1442)</p>