diff options
author | ArthurHoaro <arthur@hoa.ro> | 2020-12-29 11:44:10 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-29 11:44:10 +0100 |
commit | fe58bdcd9e0ddca8a2a99142dc9eaee8845efa67 (patch) | |
tree | 01ab39a60959866294926f35ac1500ee1e436c79 | |
parent | 8ed5fbef8f2a5e666f80be0c38930b92672d351a (diff) | |
parent | 6a3a78d023aa320138bb88505b58347db268264a (diff) | |
download | Shaarli-fe58bdcd9e0ddca8a2a99142dc9eaee8845efa67.tar.gz Shaarli-fe58bdcd9e0ddca8a2a99142dc9eaee8845efa67.tar.zst Shaarli-fe58bdcd9e0ddca8a2a99142dc9eaee8845efa67.zip |
Merge pull request #1664 from ArthurHoaro/fix/metadata-sync
Fix: synchronous metadata retrieval is failing in strict mode
-rw-r--r-- | application/front/controller/admin/ShaarePublishController.php | 2 | ||||
-rw-r--r-- | application/http/MetadataRetriever.php | 9 | ||||
-rw-r--r-- | tests/http/MetadataRetrieverTest.php | 2 |
3 files changed, 9 insertions, 4 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 | } |
diff --git a/tests/http/MetadataRetrieverTest.php b/tests/http/MetadataRetrieverTest.php index 3c9eaa0e..cae65091 100644 --- a/tests/http/MetadataRetrieverTest.php +++ b/tests/http/MetadataRetrieverTest.php | |||
@@ -41,7 +41,7 @@ class MetadataRetrieverTest extends TestCase | |||
41 | $remoteCharset = 'utf-8'; | 41 | $remoteCharset = 'utf-8'; |
42 | 42 | ||
43 | $expectedResult = [ | 43 | $expectedResult = [ |
44 | 'title' => $remoteTitle, | 44 | 'title' => trim($remoteTitle), |
45 | 'description' => $remoteDesc, | 45 | 'description' => $remoteDesc, |
46 | 'tags' => $remoteTags, | 46 | 'tags' => $remoteTags, |
47 | ]; | 47 | ]; |