diff options
author | ArthurHoaro <arthur@hoa.ro> | 2020-12-16 14:04:32 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2020-12-16 14:04:32 +0100 |
commit | 6a3a78d023aa320138bb88505b58347db268264a (patch) | |
tree | 127cbde2d900fb1cf9d2f5999941dfe3d79affbd /application | |
parent | e4b8330e459b598328bf250208386c06ec257b08 (diff) | |
download | Shaarli-6a3a78d023aa320138bb88505b58347db268264a.tar.gz Shaarli-6a3a78d023aa320138bb88505b58347db268264a.tar.zst Shaarli-6a3a78d023aa320138bb88505b58347db268264a.zip |
Fix: synchronous metadata retrieval is failing in strict mode
Metadata can now only be string or null.
Fixes #1653
Diffstat (limited to 'application')
-rw-r--r-- | application/front/controller/admin/ShaarePublishController.php | 2 | ||||
-rw-r--r-- | application/http/MetadataRetriever.php | 9 |
2 files changed, 8 insertions, 3 deletions
diff --git a/application/front/controller/admin/ShaarePublishController.php b/application/front/controller/admin/ShaarePublishController.php index 4cbfcdc5..fb9cacc2 100644 --- a/application/front/controller/admin/ShaarePublishController.php +++ b/application/front/controller/admin/ShaarePublishController.php | |||
@@ -227,7 +227,7 @@ class ShaarePublishController extends ShaarliAdminController | |||
227 | 227 | ||
228 | protected function buildFormData(array $link, bool $isNew, Request $request): array | 228 | protected function buildFormData(array $link, bool $isNew, Request $request): array |
229 | { | 229 | { |
230 | $link['tags'] = strlen($link['tags']) > 0 | 230 | $link['tags'] = $link['tags'] !== null && strlen($link['tags']) > 0 |
231 | ? $link['tags'] . $this->container->conf->get('general.tags_separator', ' ') | 231 | ? $link['tags'] . $this->container->conf->get('general.tags_separator', ' ') |
232 | : $link['tags'] | 232 | : $link['tags'] |
233 | ; | 233 | ; |
diff --git a/application/http/MetadataRetriever.php b/application/http/MetadataRetriever.php index 2e1401ec..cfc72583 100644 --- a/application/http/MetadataRetriever.php +++ b/application/http/MetadataRetriever.php | |||
@@ -60,10 +60,15 @@ class MetadataRetriever | |||
60 | $title = mb_convert_encoding($title, 'utf-8', $charset); | 60 | $title = mb_convert_encoding($title, 'utf-8', $charset); |
61 | } | 61 | } |
62 | 62 | ||
63 | return [ | 63 | return array_map([$this, 'cleanMetadata'], [ |
64 | 'title' => $title, | 64 | 'title' => $title, |
65 | 'description' => $description, | 65 | 'description' => $description, |
66 | 'tags' => $tags, | 66 | 'tags' => $tags, |
67 | ]; | 67 | ]); |
68 | } | ||
69 | |||
70 | protected function cleanMetadata($data): ?string | ||
71 | { | ||
72 | return !is_string($data) || empty(trim($data)) ? null : trim($data); | ||
68 | } | 73 | } |
69 | } | 74 | } |