17 import(
'lib.pkp.classes.db.SchemaDAO');
18 import(
'lib.pkp.classes.submission.PKPAuthor');
37 'includeInBrowse' =>
'include_in_browse',
38 'publicationId' =>
'publication_id',
40 'userGroupId' =>
'user_group_id',
57 'SELECT a.*, p.locale AS submission_locale FROM authors a JOIN publications p ON (a.publication_id = p.publication_id) WHERE author_id = ?',
62 if ($result->RecordCount() != 0) {
63 $returner = $this->
_fromRow($result->GetRowAssoc(
false));
76 function getByPublicationId($publicationId, $sortByAuthorId =
false, $useIncludeInBrowse =
false) {
78 $params = array((
int) $publicationId);
79 if ($useIncludeInBrowse) $params[] = 1;
82 'SELECT DISTINCT a.*, ug.show_title, p.locale AS submission_locale
84 JOIN user_groups ug ON (a.user_group_id=ug.user_group_id)
85 JOIN publications p ON (p.publication_id = a.publication_id)
86 LEFT JOIN author_settings au ON (au.author_id = a.author_id)
87 WHERE a.publication_id = ? ' .
88 ($useIncludeInBrowse ?
' AND a.include_in_browse = ?' :
'')
93 while (!$result->EOF) {
94 $row = $result->getRowAssoc(
false);
95 if ($sortByAuthorId) {
96 $authorId = $row[
'author_id'];
97 $authors[$authorId] = $this->
_fromRow($row);
116 foreach ($authors as $author) {
117 if (empty($author->getGivenName($newLocale))) {
118 if (empty($author->getFamilyName($newLocale)) && empty($author->getPreferredPublicName($newLocale))) {
121 $author->setGivenName($author->getGivenName($oldLocale), $newLocale);
122 $author->setFamilyName($author->getFamilyName($oldLocale), $newLocale);
123 $author->setPreferredPublicName($author->getPreferredPublicName($oldLocale), $newLocale);
127 $author->setGivenName($author->getGivenName($oldLocale), $newLocale);
139 $author = parent::_fromRow($primaryRow);
140 $author->setSubmissionLocale($primaryRow[
'submission_locale']);
158 $submission = $submissionDao->getById($submissionId);
159 if ($submission)
foreach ($submission->getData(
'publications') as $publication) {
161 foreach ($authors as $author) {