Email addresses in link can have added query parameters to control
fields like the subject in the mail client.
Add a test to the LinkServiceTest for this case and add support for
this feature to the converter.
Change-Id: I06cbb2e12eace70825aac179d1af85227804ce39
Resolves: #80723
Releases: master
Reviewed-on: https://review.typo3.org/52402
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Thomas Hohn <thomas@hohn.dk>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
// Resolve FAL-api "file:UID-of-sys_file-record" and "file:combined-identifier"
if (stripos($linkParameter, 'file:') === 0) {
$result = $this->getFileOrFolderObjectFromMixedIdentifier(substr($linkParameter, 5));
// Resolve FAL-api "file:UID-of-sys_file-record" and "file:combined-identifier"
if (stripos($linkParameter, 'file:') === 0) {
$result = $this->getFileOrFolderObjectFromMixedIdentifier(substr($linkParameter, 5));
- } elseif (GeneralUtility::validEmail($linkParameter)) {
+ } elseif (GeneralUtility::validEmail(parse_url($linkParameter, PHP_URL_PATH))) {
$result['type'] = LinkService::TYPE_EMAIL;
$result['email'] = $linkParameter;
} elseif (strpos($linkParameter, ':') !== false) {
$result['type'] = LinkService::TYPE_EMAIL;
$result['email'] = $linkParameter;
} elseif (strpos($linkParameter, ':') !== false) {
],
'mailto:one@love.com'
],
],
'mailto:one@love.com'
],
+ 'email without protocol and subject parameter' => [
+ 'email@mail.mail?subject=Anfrage:%20Text%20Text%20Lösungen',
+ [
+ 'type' => LinkService::TYPE_EMAIL,
+ 'email' => 'email@mail.mail?subject=Anfrage:%20Text%20Text%20Lösungen'
+ ],
+ 'mailto:email@mail.mail?subject=Anfrage:%20Text%20Text%20Lösungen'
+ ],
'current page - cool style' => [
't3://page?uid=current',
[
'current page - cool style' => [
't3://page?uid=current',
[