Bug #81804
closedold linkhandler link-syntax prevents irre records from opening
100%
Description
After upgrading a TYPO3 6.2 with Linkhandler and links to records we upgraded to 7.6 and 8.7.
The updated went smooth except the migration of the old link-formats to new t3://...
We had a few rte links with the old linkhandler syntax which caused the already posted bug "The RecordLinkHandler expects identifier and uid as $parameter configuration." Since we couldn't fix the upgrade wizard we manually converted those rte links.
What we noticed after that, a few textpic content elements had those links inside irre-elements for images (link field).
After we ran the upgrade wizard those old links were still present.
If you now open those irre elements it ends with an 500 error:
Core: Exception handler (WEB): Uncaught TYPO3 Exception: Argument 2 passed to TYPO3\CMS\Core\Imaging\IconFactory::getIconForRecord() must be of the type array, null given, called in /var/www/vendor/typo3/cms/typo3/sysext/backend/Classes/Form/Element/InputLinkElement.php on line 399 | TypeError thrown in file /var/www/www/vendor/typo3/cms/typo3/sysext/core/Classes/Imaging/IconFactory.php in line 137. Requested URL: http://XXX/typo3/index.php?ajaxID=%2Fajax%2Frecord%2Finline%2Fdetails&ajaxToken=b40a76c63b537258c1209fb24f979c30ca1de664
Sorry since i now have 3 proposals for fixes in the core
1. Link field in sys_file_reference was not migrated to new syntax, which should be possible since its a simple replace of old to new format.
2. If someone got that old syntax or any other unknown link-format that InputLinkElement there shouldn't trigger an exception since you can only fix this by manually change it in the database.
3. Additionally, if the format couldn't be detected, add an icon for this "unknown" link format as indicator to fix it.
As a minimum i would hope for catching this exception since you can only find the source by manually checking the database for this.