Bug #84009
Updated by Sybille Peters over 6 years ago
I had this problem in the following versions: * current master (9.2.0-dev) * current TYPO3_8-7 branch (8.7.11-dev) * 8.7.10 (that's all I tested so far) (9.2.0-dev). Did not test (yet) with any other version. h2. Steps to reproduce # Insert an invalid url (I used *http//abc.de/sfdsf*) into a content element with the link wizard (external url) # Save the content element: exception is thrown (set configuration presets to "debug" to see exception message) h2. Exception <pre><code class="php"> Uncaught TYPO3 Exception #1460629247: No valid handlers found for type: unknown (More information) TYPO3\CMS\Core\LinkHandling\Exception\UnknownLinkHandlerException thrown in file /var/www/t3coredev/typo3/sysext/core/Classes/LinkHandling/LinkService.php in line 155. 35 TYPO3\CMS\Core\LinkHandling\LinkService::asString(array) /var/www/t3coredev/typo3/sysext/core/Classes/Html/RteHtmlParser.php: 00558: } else { 00559: // Otherwise store the link as <a> tag as default by TYPO3, with the new link service syntax 00560: $tagAttributes['href'] = $linkService->asString($linkInformation); 00561: $blockSplit[$k] = '<a ' . GeneralUtility::implodeAttributes($tagAttributes, true) . '>' 00562: . $this->TS_links_db($this->removeFirstAndLastTag($blockSplit[$k])) . '</a>'; 34 TYPO3\CMS\Core\Html\RteHtmlParser::TS_links_db("<p><a href="http://www.grün-gedruckt.de">existing…href="http//abc.de/sfdsf">invalid url http</a></p>") /var/www/t3coredev/typo3/sysext/core/Classes/Html/RteHtmlParser.php: 00225: break; 00226: case 'ts_links': 00227: $value = $this->TS_links_db($value); 00228: break; 00229: case 'css_transform': 33 TYPO3\CMS\Core\Html\RteHtmlParser::RTE_transform("<p><a href="http://www.grün-gedruckt.de">existing…href="http//abc.de/sfdsf">invalid url http</a></p>", array, "db", array) /var/www/t3coredev/typo3/sysext/core/Classes/DataHandling/DataHandler.php: 01810: $parseHTML = GeneralUtility::makeInstance(RteHtmlParser::class); 01811: $parseHTML->init($table . ':' . $field, $realPid); 01812: $valueArray['value'] = $parseHTML->RTE_transform($value, [], 'db', $richtextConfiguration); 01813: } 01814: 32 TYPO3\CMS\Core\DataHandling\DataHandler::checkValueForText("<p><a href="http://www.grün-gedruckt.de">existing…ef="http//abc.de/sfdsf">invalid url http</a></p> ↵", array, "tt_content", 184, 332, "bodytext") /var/www/t3coredev/typo3/sysext/core/Classes/DataHandling/DataHandler.php: 01684: switch ($tcaFieldConf['type']) { 01685: case 'text': 01686: $res = $this->checkValueForText($value, $tcaFieldConf, $table, $id, $realPid, $field); 01687: break; 01688: case 'passthrough': 31 TYPO3\CMS\Core\DataHandling\DataHandler::checkValue_SW(array, "<p><a href="http://www.grün-gedruckt.de">existing…ef="http//abc.de/sfdsf">invalid url http</a></p> ↵", array, "tt_content", 184, "<p><a href="http://www.grün-gedruckt.de">existing…fdsf">not existing link with umlatus (404)</a></p>", "update", 332, NULL, "bodytext", NULL, 332) /var/www/t3coredev/typo3/sysext/core/Classes/DataHandling/DataHandler.php: 01651: 01652: // Perform processing: 01653: $res = $this->checkValue_SW($res, $value, $tcaFieldConf, $table, $id, $curValue, $status, $realPid, $recFID, $field, $this->uploadedFileArray[$table][$id][$field], $tscPID); 01654: return $res; 01655: } 30 TYPO3\CMS\Core\DataHandling\DataHandler::checkValue("tt_content", "bodytext", "<p><a href="http://www.grün-gedruckt.de">existing…ef="http//abc.de/sfdsf">invalid url http</a></p> ↵", 184, "update", 332, 332) /var/www/t3coredev/typo3/sysext/core/Classes/DataHandling/DataHandler.php: 01530: if (isset($GLOBALS['TCA'][$table]['columns'][$field])) { 01531: // Evaluating the value 01532: $res = $this->checkValue($table, $field, $fieldValue, $id, $status, $realPid, $tscPID); 01533: if (array_key_exists('value', $res)) { 01534: $fieldArray[$field] = $res['value']; 29 TYPO3\CMS\Core\DataHandling\DataHandler::fillInFieldArray("tt_content", 184, array, array, 332, "update", 332) /var/www/t3coredev/typo3/sysext/core/Classes/DataHandling/DataHandler.php: 01178: } 01179: // Processing of all fields in incomingFieldArray and setting them in $fieldArray 01180: $fieldArray = $this->fillInFieldArray($table, $id, $fieldArray, $incomingFieldArray, $theRealPid, $status, $tscPID); 01181: $newVersion_p </code></pre> (also I can't scroll in the Exception message window, so I can't get the entire exception message, but that's another issue)