53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
/**
|
|
* @file classes/publication/DAO.php
|
|
*
|
|
* Copyright (c) 2014-2021 Simon Fraser University
|
|
* Copyright (c) 2000-2021 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class DAO
|
|
*
|
|
* @brief Read and write publications to the database.
|
|
*/
|
|
|
|
namespace APP\publication;
|
|
|
|
use APP\facades\Repo;
|
|
|
|
class DAO extends \PKP\publication\DAO
|
|
{
|
|
/** @copydoc EntityDAO::$primaryTableColumns */
|
|
public $primaryTableColumns = [
|
|
'id' => 'publication_id',
|
|
'accessStatus' => 'access_status',
|
|
'datePublished' => 'date_published',
|
|
'lastModified' => 'last_modified',
|
|
'primaryContactId' => 'primary_contact_id',
|
|
'sectionId' => 'section_id',
|
|
'seq' => 'seq',
|
|
'submissionId' => 'submission_id',
|
|
'status' => 'status',
|
|
'urlPath' => 'url_path',
|
|
'version' => 'version',
|
|
'doiId' => 'doi_id'
|
|
];
|
|
|
|
/**
|
|
* @copydoc SchemaDAO::_fromRow()
|
|
*/
|
|
public function fromRow(object $primaryRow): Publication
|
|
{
|
|
$publication = parent::fromRow($primaryRow);
|
|
|
|
$publication->setData(
|
|
'galleys',
|
|
Repo::galley()->getCollector()
|
|
->filterByPublicationIds([$publication->getId()])
|
|
->getMany()
|
|
);
|
|
|
|
return $publication;
|
|
}
|
|
}
|