Skip to content
Snippets Groups Projects
Commit a8155cbc authored by Benjamin Franzke's avatar Benjamin Franzke Committed by Georg Ringer
Browse files

[BUGFIX] Fix extension scanner Index.rst filename parsing

Rst files may not contain issue numbers. The extension scanner
iterates all .rst files (including Index.rst) which cases a type
error for typo3/sysext/core/Documentation/Changelog/7.0/Index.rst

(1/1) TypeError
Return value of
TYPO3\CMS\Install\UpgradeAnalysis\DocumentationFile::parseIssueId()
must be of the type string, null returned

Releases: master, 9.5
Resolves: #91027
Related: #90923
Change-Id: I000675700f9da17f063ccbc52d6ce0beabebf247
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64161


Tested-by: default avatarJosef Glatz <josefglatz@gmail.com>
Tested-by: default avatarTYPO3com <noreply@typo3.com>
Tested-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
Reviewed-by: default avatarJosef Glatz <josefglatz@gmail.com>
Reviewed-by: default avatarBjörn Jacob <bjoern.jacob@tritum.de>
Reviewed-by: default avatarGeorg Ringer <georg.ringer@gmail.com>
parent 7e2a5da7
Branches
Tags
No related merge requests found
...@@ -154,10 +154,10 @@ class DocumentationFile ...@@ -154,10 +154,10 @@ class DocumentationFile
$entry['filename'] $entry['filename']
); );
} }
$entry['url']['issue'] = sprintf( $issueId = $this->parseIssueId($entry['filename']);
'https://forge.typo3.org/issues/%s', if ($issueId) {
$this->parseIssueId($entry['filename']) $entry['url']['issue'] = sprintf('https://forge.typo3.org/issues/%s', $issueId);
); }
return [md5($file) => $entry]; return [md5($file) => $entry];
} }
...@@ -349,11 +349,11 @@ class DocumentationFile ...@@ -349,11 +349,11 @@ class DocumentationFile
/** /**
* @param string $filename * @param string $filename
* *
* @return string * @return string|null
*/ */
protected function parseIssueId(string $filename): string protected function parseIssueId(string $filename): ?string
{ {
return GeneralUtility::trimExplode('-', $filename)[1]; return GeneralUtility::trimExplode('-', $filename)[1] ?? null;
} }
/** /**
......
...@@ -29,7 +29,9 @@ ...@@ -29,7 +29,9 @@
<div id="collapse{id}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading{id}"> <div id="collapse{id}" class="panel-collapse collapse" role="tabpanel" aria-labelledby="heading{id}">
<div class="rst-tags t3js-tags"></div> <div class="rst-tags t3js-tags"></div>
<div class="rst-links"> <div class="rst-links">
<a href="{fileArray.url.issue}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open issue</a> <f:if condition="{fileArray.url.issue}">
<a href="{fileArray.url.issue}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open issue</a>
</f:if>
<f:if condition="{fileArray.url.documentation}"> <f:if condition="{fileArray.url.documentation}">
<a href="{fileArray.url.documentation}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open rendered version</a> <a href="{fileArray.url.documentation}" target="_blank" rel="noreferrer" class="nowrap"><core:icon identifier="actions-window-open" /> Open rendered version</a>
</f:if> </f:if>
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment