Bug #21154
closedRTE link window: Can't swtich between tabs when extension tkr_rteanchors is installed
0%
Description
After upgrading TYPO3 to 4.2.9 I recognized that I can't switch to another tab in the RTE link window (regardless of creating a new link or modifying a link).
All links (!) are set to
http://www.ourdomain.com/typo3/sysext/rtehtmlarea/mod3/browse_links.php?&RTEtsConfigParams=tt_content%3A2467%3Abodytext%3A636%3Atext%3A636%3A&editorNo=data[tt_content]2467[bodytext]&sys_language_content=0&contentTypo3Language=false&contentTypo3Charset=utf-8#
(issue imported from #M12081)
Updated by Nils Winkler about 15 years ago
I switched the installation back to v4.2.0 and the RTE links are editable. I changed back to v4.2.9 and the RTE window is unusable again.
Has something in the RTE configuration changed? I checked the differences between 4.2.0 and 4.2.9 and it seems some permission checks where added to typo3/mod/web/perm/index.php (and some other files). May these changes are the reason?
I'm an admin user, so I should have full access. PHP is 5.2.8.
Updated by Oliver Hader about 15 years ago
Could you please try this with TYPO3 4.2.8? If it does not exist there, we can isolate the problem to a TYPO3 release.
Updated by Nils Winkler about 15 years ago
I've tried 4.2.8, and it doesn't work also.
Updated by Nils Winkler about 15 years ago
I've checked v4.2.9:
In the file typo3/sysext/rtehtmlarea/mod3/browse_links.php (line 104) the function main_rte from file typo3/sysext/rtehtmlarea/mod3/class.tx_rtehtmlarea_browse_links.php should be called:
$this->content = $GLOBALS['SOBE']->browser->main_rte();
I don't know why, but the overwriting of the function main_rte seems not to work. I added a
return '';
in the beginning of the function, but it returns data.
I renamed this function in both browse_links.php and class.tx_rtehtmlarea_browse_links.php to main_rte2 and now it seems to work.
Might this be a bug of php? Can someone check this? I tried 5.2.8 and 5.2.9, a newer version is not available from my provider.
Edit: I wrap the function main_rte2 in class.tx_rtehtmlarea_browse_links.php
function main_rte2($wiz=0) {
return $this->main_rte($wiz);
}
function main_rte($wiz=0) {
// original function
...
}
but this also won't work, it seems the function in the elder class is called. Any idea?
Updated by Nils Winkler about 15 years ago
DAM is imported but not nstalled.
The weird thing is that I can't use a wrapper function. But renaming the main_rte function and changing the calling of it will work.
I also tried to find if there is a PHP parameter which will deny method overriding, but first I couldn't find one and at second it would be against object inheritance.
Edit: I've checked the class name with get_class(...), and this is in all variants ok (=> "ux_tx_rtehtmlarea_browse_links").
Also I've checked the used memory, this is also ok (about 13MB used from 70MB).
Edit2: I looked for all appearences of "main_rte" and I got 8 files. I appended a html comment to all calls of main_rte and to all returns. But the weird thing is, I don't get the comment from the called function if main_rte is overridden. Neither the overridden function nor the elder function nor any other will return my comment... but I get data which is visible in the browser... And I can't find any other exit of the function, where I can modify the content.
Edit3: I found the problem... the shy extension tkr_rteanchors... I uninstalled it and now the RTE link works...
Updated by Nils Winkler about 15 years ago
Updated by Stanislas Rolland about 15 years ago
Closing this issue as a duplicate of #10632.