wallabag/src/Wallabag/ImportBundle/Import/WallabagV1Import.php

73 lines
2.2 KiB
PHP
Raw Normal View History

2015-12-30 12:26:30 +00:00
<?php
namespace Wallabag\ImportBundle\Import;
2022-08-27 18:22:48 +00:00
use Doctrine\ORM\EntityManagerInterface;
use Psr\Log\LoggerInterface;
2022-08-27 18:22:48 +00:00
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Wallabag\CoreBundle\Helper\ContentProxy;
use Wallabag\CoreBundle\Helper\TagsAssigner;
class WallabagV1Import extends WallabagImport
2015-12-30 12:26:30 +00:00
{
protected $fetchingErrorMessage;
protected $fetchingErrorMessageTitle;
public function __construct(EntityManagerInterface $em, ContentProxy $contentProxy, TagsAssigner $tagsAssigner, EventDispatcherInterface $eventDispatcher, LoggerInterface $logger, $fetchingErrorMessageTitle, $fetchingErrorMessage)
{
$this->fetchingErrorMessageTitle = $fetchingErrorMessageTitle;
$this->fetchingErrorMessage = $fetchingErrorMessage;
parent::__construct($em, $contentProxy, $tagsAssigner, $eventDispatcher, $logger);
}
2015-12-30 12:26:30 +00:00
public function getName()
{
2016-01-05 21:38:09 +00:00
return 'wallabag v1';
2015-12-30 12:26:30 +00:00
}
public function getUrl()
{
return 'import_wallabag_v1';
}
2015-12-30 12:26:30 +00:00
public function getDescription()
{
return 'import.wallabag_v1.description';
2015-12-30 12:26:30 +00:00
}
2016-09-04 19:49:21 +00:00
protected function prepareEntry($entry = [])
{
$data = [
'title' => $entry['title'],
'html' => $entry['content'],
'url' => $entry['url'],
2016-09-04 19:49:21 +00:00
'is_archived' => $entry['is_read'] || $this->markAsRead,
'is_starred' => $entry['is_fav'],
'tags' => '',
'created_at' => '',
2015-12-30 12:26:30 +00:00
];
// In case of a bad fetch in v1, replace title and content with v2 error strings
// If fetching fails again, they will get this instead of the v1 strings
if (\in_array($entry['title'], $this->untitled, true)) {
$data['title'] = $this->fetchingErrorMessageTitle;
$data['html'] = $this->fetchingErrorMessage;
$entry['is_not_parsed'] = 1;
}
2019-02-11 10:50:24 +00:00
if (\array_key_exists('tags', $entry) && '' !== $entry['tags']) {
$data['tags'] = $entry['tags'];
2015-12-30 12:26:30 +00:00
}
return $data;
2015-12-30 12:26:30 +00:00
}
2016-09-04 19:49:21 +00:00
2016-09-05 05:50:10 +00:00
protected function setEntryAsRead(array $importedEntry)
2016-09-04 19:49:21 +00:00
{
2016-09-05 05:50:10 +00:00
$importedEntry['is_read'] = 1;
2016-09-04 19:49:21 +00:00
2016-09-05 05:50:10 +00:00
return $importedEntry;
2016-09-04 19:49:21 +00:00
}
2015-12-30 12:26:30 +00:00
}