Only do the description kung-fu on strings - fixes #17028
This commit is contained in:
parent
5caeda33f1
commit
aae55174f6
|
@ -1223,23 +1223,27 @@ class OC_App {
|
|||
// just modify the description if it is available
|
||||
// otherwise this will create a $data element with an empty 'description'
|
||||
if (isset($data['description'])) {
|
||||
// sometimes the description contains line breaks and they are then also
|
||||
// shown in this way in the app management which isn't wanted as HTML
|
||||
// manages line breaks itself
|
||||
if (is_string($data['description'])) {
|
||||
// sometimes the description contains line breaks and they are then also
|
||||
// shown in this way in the app management which isn't wanted as HTML
|
||||
// manages line breaks itself
|
||||
|
||||
// first of all we split on empty lines
|
||||
$paragraphs = preg_split("!\n[[:space:]]*\n!mu", $data['description']);
|
||||
// first of all we split on empty lines
|
||||
$paragraphs = preg_split("!\n[[:space:]]*\n!mu", $data['description']);
|
||||
|
||||
$result = [];
|
||||
foreach ($paragraphs as $value) {
|
||||
// replace multiple whitespace (tabs, space, newlines) inside a paragraph
|
||||
// with a single space - also trims whitespace
|
||||
$result[] = trim(preg_replace('![[:space:]]+!mu', ' ', $value));
|
||||
$result = [];
|
||||
foreach ($paragraphs as $value) {
|
||||
// replace multiple whitespace (tabs, space, newlines) inside a paragraph
|
||||
// with a single space - also trims whitespace
|
||||
$result[] = trim(preg_replace('![[:space:]]+!mu', ' ', $value));
|
||||
}
|
||||
|
||||
// join the single paragraphs with a empty line in between
|
||||
$data['description'] = implode("\n\n", $result);
|
||||
|
||||
} else {
|
||||
$data['description'] = '';
|
||||
}
|
||||
|
||||
// join the single paragraphs with a empty line in between
|
||||
$data['description'] = implode("\n\n", $result);
|
||||
|
||||
}
|
||||
|
||||
return $data;
|
||||
|
|
|
@ -510,6 +510,10 @@ class Test_App extends \Test\TestCase {
|
|||
['not-a-description' => " \t This is a multiline \n test with \n \t some new lines "],
|
||||
['not-a-description' => " \t This is a multiline \n test with \n \t some new lines "]
|
||||
],
|
||||
[
|
||||
['description' => [100, 'bla']],
|
||||
['description' => ""]
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue