+ 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($date));
+ } catch (\Exception $e) {
+ $this->logger->warning('Error while defining date', ['e' => $e, 'url' => $content['url'], 'date' => $content['date']]);
+ }
+ }
+
+ if (!empty($content['authors']) && is_array($content['authors'])) {
+ $entry->setPublishedBy($content['authors']);
+ }
+
+ if (!empty($content['all_headers'])) {
+ $entry->setHeaders($content['all_headers']);
+ }
+
+ $this->validateAndSetLanguage(
+ $entry,
+ isset($content['language']) ? $content['language'] : null
+ );
+
+ $this->validateAndSetPreviewPicture(
+ $entry,
+ isset($content['open_graph']['og_image']) ? $content['open_graph']['og_image'] : null
+ );
+
+ // if content is an image, define it as a preview too
+ if (!empty($content['content_type']) && in_array($this->mimeGuesser->guess($content['content_type']), ['jpeg', 'jpg', 'gif', 'png'], true)) {
+ $this->validateAndSetPreviewPicture(
+ $entry,
+ $content['url']
+ );
+ }
+