]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Helper/ContentProxy.php
Forced date can now be a timestamp too
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Helper / ContentProxy.php
index 66d72fe61f5444b9258a06e829d3c49a7607e17c..8ba77ca921341e60550fb17588980c307a541253 100644 (file)
@@ -31,7 +31,7 @@ class ContentProxy
     }
 
     /**
-     * Fetch content using graby and hydrate given entry with results information.
+     * Fetch content using graby and hydrate given $entry with results information.
      * In case we couldn't find content, we'll try to use Open Graph data.
      *
      * We can also force the content, in case of an import from the v1 for example, so the function won't
@@ -39,7 +39,7 @@ class ContentProxy
      *
      * @param Entry  $entry   Entry to update
      * @param string $url     Url to grab content for
-     * @param array  $content An array with AT LEAST keys title, html, url, language & content_type to skip the fetchContent from the url
+     * @param array  $content An array with AT LEAST keys title, html, url to skip the fetchContent from the url
      *
      * @return Entry
      */
@@ -82,10 +82,17 @@ class ContentProxy
         $entry->setHttpStatus(isset($content['status']) ? $content['status'] : '');
 
         if (!empty($content['date'])) {
+            $date = $content['date'];
+
+            // is it a timestamp?
+            if (filter_var($date, FILTER_VALIDATE_INT) !== false) {
+                $date = '@'.$content['date'];
+            }
+
             try {
-                $entry->setPublishedAt(new \DateTime($content['date']));
+                $entry->setPublishedAt(new \DateTime($date));
             } catch (\Exception $e) {
-                $this->logger->warn('Error while defining date', ['e' => $e, 'url' => $url, 'date' => $content['date']]);
+                $this->logger->warning('Error while defining date', ['e' => $e, 'url' => $url, 'date' => $content['date']]);
             }
         }