Fix returning null when getMessage return null

Don't overwrite $message but instead create another temporary variable

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
This commit is contained in:
Carl Schwan 2022-10-17 11:51:02 +02:00
parent 9319bbb00c
commit 7da806d6eb

View file

@ -150,17 +150,17 @@ class MountConfig {
* TODO: move into AppFramework along with templates
*
* @param Backend[] $backends
* @return string
*/
public static function dependencyMessage($backends) {
public static function dependencyMessage(array $backends): string {
$l = \OC::$server->getL10N('files_external');
$message = '';
$dependencyGroups = [];
foreach ($backends as $backend) {
foreach ($backend->checkDependencies() as $dependency) {
if ($message = $dependency->getMessage()) {
$message .= '<p>' . $message . '</p>';
$dependencyMessage = $dependency->getMessage();
if ($dependencyMessage !== null) {
$message .= '<p>' . $dependencyMessage . '</p>';
} else {
$dependencyGroups[$dependency->getDependency()][] = $backend;
}
@ -168,7 +168,7 @@ class MountConfig {
}
foreach ($dependencyGroups as $module => $dependants) {
$backends = implode(', ', array_map(function ($backend) {
$backends = implode(', ', array_map(function (Backend $backend): string {
return '"' . $backend->getText() . '"';
}, $dependants));
$message .= '<p>' . MountConfig::getSingleDependencyMessage($l, $module, $backends) . '</p>';
@ -179,13 +179,8 @@ class MountConfig {
/**
* Returns a dependency missing message
*
* @param \OCP\IL10N $l
* @param string $module
* @param string $backend
* @return string
*/
private static function getSingleDependencyMessage(\OCP\IL10N $l, $module, $backend) {
private static function getSingleDependencyMessage(\OCP\IL10N $l, string $module, string $backend): string {
switch (strtolower($module)) {
case 'curl':
return $l->t('The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.', [$backend]);