mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-23 09:31:04 +00:00
Merge pull request #3266 from egilli/export-domain-as-author
Use the article publisher as author for exported files
This commit is contained in:
commit
f39152ad6e
4 changed files with 35 additions and 6 deletions
|
@ -180,6 +180,7 @@ class EntryRestController extends WallabagRestController
|
|||
return $this->get('wallabag_core.helper.entries_export')
|
||||
->setEntries($entry)
|
||||
->updateTitle('entry')
|
||||
->updateAuthor('entry')
|
||||
->exportAs($request->attributes->get('_format'));
|
||||
}
|
||||
|
||||
|
|
|
@ -56,6 +56,7 @@ class ExportCommand extends ContainerAwareCommand
|
|||
$data = $this->getContainer()->get('wallabag_core.helper.entries_export')
|
||||
->setEntries($entries)
|
||||
->updateTitle('All')
|
||||
->updateAuthor('All')
|
||||
->exportJsonData();
|
||||
file_put_contents($filePath, $data);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
|
|
|
@ -33,6 +33,7 @@ class ExportController extends Controller
|
|||
return $this->get('wallabag_core.helper.entries_export')
|
||||
->setEntries($entry)
|
||||
->updateTitle('entry')
|
||||
->updateAuthor('entry')
|
||||
->exportAs($format);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
throw new NotFoundHttpException($e->getMessage());
|
||||
|
@ -76,6 +77,7 @@ class ExportController extends Controller
|
|||
return $this->get('wallabag_core.helper.entries_export')
|
||||
->setEntries($entries)
|
||||
->updateTitle($method)
|
||||
->updateAuthor($method)
|
||||
->exportAs($format);
|
||||
} catch (\InvalidArgumentException $e) {
|
||||
throw new NotFoundHttpException($e->getMessage());
|
||||
|
|
|
@ -18,7 +18,7 @@ class EntriesExport
|
|||
private $logoPath;
|
||||
private $title = '';
|
||||
private $entries = [];
|
||||
private $authors = ['wallabag'];
|
||||
private $author = 'wallabag';
|
||||
private $language = '';
|
||||
private $footerTemplate = '<div style="text-align:center;">
|
||||
<p>Produced by wallabag with %EXPORT_METHOD%</p>
|
||||
|
@ -72,6 +72,33 @@ class EntriesExport
|
|||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the author for one entry or category.
|
||||
*
|
||||
* The publishers are used, or the domain name if empty.
|
||||
*
|
||||
* @param string $method Method to get articles
|
||||
*
|
||||
* @return EntriesExport
|
||||
*/
|
||||
public function updateAuthor($method)
|
||||
{
|
||||
if ('entry' !== $method) {
|
||||
$this->author = $method . ' authors';
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
$this->author = $this->entries[0]->getDomainName();
|
||||
|
||||
$publishedBy = $this->entries[0]->getPublishedBy();
|
||||
if (!empty($publishedBy)) {
|
||||
$this->author = implode(', ', $publishedBy);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the output format.
|
||||
*
|
||||
|
@ -128,9 +155,7 @@ class EntriesExport
|
|||
$book->setLanguage($this->language);
|
||||
$book->setDescription('Some articles saved on my wallabag');
|
||||
|
||||
foreach ($this->authors as $author) {
|
||||
$book->setAuthor($author, $author);
|
||||
}
|
||||
$book->setAuthor($this->author, $this->author);
|
||||
|
||||
// I hope this is a non existant address :)
|
||||
$book->setPublisher('wallabag', 'wallabag');
|
||||
|
@ -196,7 +221,7 @@ class EntriesExport
|
|||
* Book metadata
|
||||
*/
|
||||
$content->set('title', $this->title);
|
||||
$content->set('author', implode($this->authors));
|
||||
$content->set('author', $this->author);
|
||||
$content->set('subject', $this->title);
|
||||
|
||||
/*
|
||||
|
@ -247,7 +272,7 @@ class EntriesExport
|
|||
* Book metadata
|
||||
*/
|
||||
$pdf->SetCreator(PDF_CREATOR);
|
||||
$pdf->SetAuthor('wallabag');
|
||||
$pdf->SetAuthor($this->author);
|
||||
$pdf->SetTitle($this->title);
|
||||
$pdf->SetSubject('Articles via wallabag');
|
||||
$pdf->SetKeywords('wallabag');
|
||||
|
|
Loading…
Reference in a new issue