]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - application/http/MetadataRetriever.php
Fix: synchronous metadata retrieval is failing in strict mode
[github/shaarli/Shaarli.git] / application / http / MetadataRetriever.php
index ba9bd40ce283d4b789f194d13ac7e02883361c6f..cfc72583e713a192f08199554388990d0d508f8b 100644 (file)
@@ -38,7 +38,6 @@ class MetadataRetriever
         $title = null;
         $description = null;
         $tags = null;
-        $retrieveDescription = $this->conf->get('general.retrieve_description');
 
         // Short timeout to keep the application responsive
         // The callback will fill $charset and $title with data from the downloaded page.
@@ -52,7 +51,8 @@ class MetadataRetriever
                 $title,
                 $description,
                 $tags,
-                $retrieveDescription
+                $this->conf->get('general.retrieve_description'),
+                $this->conf->get('general.tags_separator', ' ')
             )
         );
 
@@ -60,10 +60,15 @@ class MetadataRetriever
             $title = mb_convert_encoding($title, 'utf-8', $charset);
         }
 
-        return [
+        return array_map([$this, 'cleanMetadata'], [
             'title' => $title,
             'description' => $description,
             'tags' => $tags,
-        ];
+        ]);
+    }
+
+    protected function cleanMetadata($data): ?string
+    {
+        return !is_string($data) || empty(trim($data)) ? null : trim($data);
     }
 }