本文整理汇总了PHP中Author::setData方法的典型用法代码示例。如果您正苦于以下问题:PHP Author::setData方法的具体用法?PHP Author::setData怎么用?PHP Author::setData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Author
的用法示例。
在下文中一共展示了Author::setData方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
//.........这里部分代码省略.........
}
}
$article->setHideCoverPageAbstract($hideCoverPageAbstract, null);
// Localized
$article->setDiscipline($this->getData('discipline'), null);
// Localized
$article->setSubjectClass($this->getData('subjectClass'), null);
// Localized
$article->setSubject($this->getData('subject'), null);
// Localized
$article->setCoverageGeo($this->getData('coverageGeo'), null);
// Localized
$article->setCoverageChron($this->getData('coverageChron'), null);
// Localized
$article->setCoverageSample($this->getData('coverageSample'), null);
// Localized
$article->setType($this->getData('type'), null);
// Localized
$article->setLanguage($this->getData('language'));
// Localized
$article->setSponsor($this->getData('sponsor'), null);
// Localized
$article->setCitations($this->getData('citations'));
if ($this->isEditor) {
$article->setHideAuthor($this->getData('hideAuthor') ? $this->getData('hideAuthor') : 0);
}
// consider the additional field names from the public identifer plugins
import('classes.plugins.PubIdPluginHelper');
$pubIdPluginHelper = new PubIdPluginHelper();
$pubIdPluginHelper->execute($this, $article);
// Update authors
$authors = $this->getData('authors');
for ($i = 0, $count = count($authors); $i < $count; $i++) {
if ($authors[$i]['authorId'] > 0) {
// Update an existing author
$author =& $authorDao->getAuthor($authors[$i]['authorId'], $article->getId());
$isExistingAuthor = true;
} else {
// Create a new author
if (checkPhpVersion('5.0.0')) {
// *5488* PHP4 Requires explicit instantiation-by-reference
$author = new Author();
} else {
$author =& new Author();
}
$isExistingAuthor = false;
}
if ($author != null) {
$author->setSubmissionId($article->getId());
$author->setFirstName($authors[$i]['firstName']);
$author->setMiddleName($authors[$i]['middleName']);
$author->setLastName($authors[$i]['lastName']);
$author->setAffiliation($authors[$i]['affiliation'], null);
// Localized
$author->setCountry($authors[$i]['country']);
$author->setEmail($authors[$i]['email']);
$author->setData('orcid', $authors[$i]['orcid']);
$author->setUrl($authors[$i]['url']);
if (array_key_exists('competingInterests', $authors[$i])) {
$author->setCompetingInterests($authors[$i]['competingInterests'], null);
// Localized
}
$author->setBiography($authors[$i]['biography'], null);
// Localized
$author->setPrimaryContact($this->getData('primaryContact') == $i ? 1 : 0);
$author->setSequence($authors[$i]['seq']);
HookRegistry::call('Submission::Form::MetadataForm::Execute', array(&$author, &$authors[$i]));
if ($isExistingAuthor) {
$authorDao->updateAuthor($author);
} else {
$authorDao->insertAuthor($author);
}
unset($author);
}
}
// Remove deleted authors
$deletedAuthors = preg_split('/:/', $this->getData('deletedAuthors'), -1, PREG_SPLIT_NO_EMPTY);
for ($i = 0, $count = count($deletedAuthors); $i < $count; $i++) {
$authorDao->deleteAuthorById($deletedAuthors[$i], $article->getId());
}
if ($this->isEditor) {
$article->setCopyrightHolder($this->getData('copyrightHolder'), null);
$article->setCopyrightYear($this->getData('copyrightYear'));
$article->setLicenseURL($this->getData('licenseURL'));
}
parent::execute();
// Save the article
$articleDao->updateArticle($article);
// Update search index
import('classes.search.ArticleSearchIndex');
$articleSearchIndex = new ArticleSearchIndex();
$articleSearchIndex->articleMetadataChanged($article);
$articleSearchIndex->articleChangesFinished();
// Update references list if it changed.
$rawCitationList = $article->getCitations();
if ($previousRawCitationList != $rawCitationList) {
$citationDao->importCitations($request, ASSOC_TYPE_ARTICLE, $article->getId(), $rawCitationList);
}
return $article->getId();
}
示例2: execute
/**
* Save changes to article.
* @param $request Request
* @return int the article ID
*/
function execute()
{
$articleDao =& DAORegistry::getDAO('ArticleDAO');
$authorDao =& DAORegistry::getDAO('AuthorDAO');
$article =& $this->article;
// Retrieve the previous citation list for comparison.
$previousRawCitationList = $article->getCitations();
// Update article
$article->setTitle($this->getData('title'), null);
// Localized
$article->setAbstract($this->getData('abstract'), null);
// Localized
$article->setDiscipline($this->getData('discipline'), null);
// Localized
$article->setSubjectClass($this->getData('subjectClass'), null);
// Localized
$article->setSubject($this->getData('subject'), null);
// Localized
$article->setCoverageGeo($this->getData('coverageGeo'), null);
// Localized
$article->setCoverageChron($this->getData('coverageChron'), null);
// Localized
$article->setCoverageSample($this->getData('coverageSample'), null);
// Localized
$article->setType($this->getData('type'), null);
// Localized
$article->setLanguage($this->getData('language'));
$article->setSponsor($this->getData('sponsor'), null);
// Localized
$article->setCitations($this->getData('citations'));
if ($article->getSubmissionProgress() <= $this->step) {
$article->stampStatusModified();
$article->setSubmissionProgress($this->step + 1);
}
// Update authors
$authors = $this->getData('authors');
for ($i = 0, $count = count($authors); $i < $count; $i++) {
if ($authors[$i]['authorId'] > 0) {
// Update an existing author
$author =& $authorDao->getAuthor($authors[$i]['authorId'], $article->getId());
$isExistingAuthor = true;
} else {
// Create a new author
$author = new Author();
$isExistingAuthor = false;
}
if ($author != null) {
$author->setSubmissionId($article->getId());
$author->setFirstName($authors[$i]['firstName']);
$author->setMiddleName($authors[$i]['middleName']);
$author->setLastName($authors[$i]['lastName']);
$author->setAffiliation($authors[$i]['affiliation'], null);
$author->setCountry($authors[$i]['country']);
$author->setEmail($authors[$i]['email']);
$author->setData('orcid', $authors[$i]['orcid']);
$author->setUrl($authors[$i]['url']);
if (array_key_exists('competingInterests', $authors[$i])) {
$author->setCompetingInterests($authors[$i]['competingInterests'], null);
}
$author->setBiography($authors[$i]['biography'], null);
$author->setPrimaryContact($this->getData('primaryContact') == $i ? 1 : 0);
$author->setSequence($authors[$i]['seq']);
HookRegistry::call('Author::Form::Submit::AuthorSubmitStep3Form::Execute', array(&$author, &$authors[$i]));
if ($isExistingAuthor) {
$authorDao->updateAuthor($author);
} else {
$authorDao->insertAuthor($author);
}
}
unset($author);
}
// Remove deleted authors
$deletedAuthors = preg_split('/:/', $this->getData('deletedAuthors'), -1, PREG_SPLIT_NO_EMPTY);
for ($i = 0, $count = count($deletedAuthors); $i < $count; $i++) {
$authorDao->deleteAuthorById($deletedAuthors[$i], $article->getId());
}
parent::execute();
// Save the article
$articleDao->updateArticle($article);
// Update references list if it changed.
$citationDao =& DAORegistry::getDAO('CitationDAO');
$rawCitationList = $article->getCitations();
if ($previousRawCitationList != $rawCitationList) {
$citationDao->importCitations($this->request, ASSOC_TYPE_ARTICLE, $article->getId(), $rawCitationList);
}
return $this->articleId;
}
示例3: execute
/**
* Save changes to article.
* @return int the article ID
*/
function execute()
{
$articleDao =& DAORegistry::getDAO('ArticleDAO');
if (isset($this->article)) {
// Update existing article
$this->article->setSectionId($this->getData('sectionId'));
$this->article->setLocale($this->getData('locale'));
$this->article->setCommentsToEditor($this->getData('commentsToEditor'));
if ($this->article->getSubmissionProgress() <= $this->step) {
$this->article->stampStatusModified();
$this->article->setSubmissionProgress($this->step + 1);
}
$articleDao->updateArticle($this->article);
} else {
// Insert new article
$journal =& $this->request->getJournal();
$user =& $this->request->getUser();
$this->article = new Article();
$this->article->setLocale($this->getData('locale'));
$this->article->setUserId($user->getId());
$this->article->setJournalId($journal->getId());
$this->article->setSectionId($this->getData('sectionId'));
$this->article->stampStatusModified();
$this->article->setSubmissionProgress($this->step + 1);
$this->article->setLanguage(String::substr($this->article->getLocale(), 0, 2));
$this->article->setCommentsToEditor($this->getData('commentsToEditor'));
$articleDao->insertArticle($this->article);
$this->articleId = $this->article->getId();
// Set user to initial author
$authorDao =& DAORegistry::getDAO('AuthorDAO');
/* @var $authorDao AuthorDAO */
$user =& $this->request->getUser();
$author = new Author();
$author->setSubmissionId($this->articleId);
$author->setFirstName($user->getFirstName());
$author->setMiddleName($user->getMiddleName());
$author->setLastName($user->getLastName());
$author->setAffiliation($user->getAffiliation(null), null);
$author->setCountry($user->getCountry());
$author->setEmail($user->getEmail());
$author->setData('orcid', $user->getData('orcid'));
$author->setUrl($user->getUrl());
$author->setBiography($user->getBiography(null), null);
$author->setPrimaryContact(1);
$authorDao->insertAuthor($author);
}
return $this->articleId;
}
示例4: assert
/**
* @see MetadataDataObjectAdapter::injectMetadataIntoDataObject()
* @param $mods34Description MetadataDescription
* @param $submission Submission
* @param $authorClassName string the application specific author class name
*/
function &injectMetadataIntoDataObject(&$mods34Description, &$submission, $authorClassName)
{
assert(is_a($submission, 'Submission'));
assert($mods34Description->getMetadataSchemaName() == 'plugins.metadata.mods34.schema.Mods34Schema');
// Get the cataloging language.
$catalogingLanguage = $mods34Description->getStatement('recordInfo/languageOfCataloging/languageTerm[@authority="iso639-2b"]');
$catalogingLocale = Locale::getLocaleFrom3LetterIso($catalogingLanguage);
assert(!is_null($catalogingLocale));
// Title
$localizedTitles = $mods34Description->getStatementTranslations('titleInfo/title');
if (is_array($localizedTitles)) {
foreach ($localizedTitles as $locale => $title) {
$submission->setTitle($title, $locale);
}
}
// Names: authors and sponsor
$foundSponsor = false;
$nameDescriptions =& $mods34Description->getStatement('name');
if (is_array($nameDescriptions)) {
foreach ($nameDescriptions as $nameDescription) {
/* @var $nameDescription MetadataDescription */
// Check that we find the expected name schema.
assert($nameDescription->getMetadataSchemaName() == 'lib.pkp.plugins.metadata.mods34.schema.Mods34NameSchema');
// Retrieve the name type and role.
$nameType = $nameDescription->getStatement('[@type]');
$nameRoles = $nameDescription->getStatement('role/roleTerm[@type="code" @authority="marcrelator"]');
// Transport the name into the submission depending
// on name type and role.
// FIXME: Move this to a dedicated adapter in the Author class.
if (is_array($nameRoles)) {
switch ($nameType) {
// Authors
case 'personal':
// Only authors go into the submission.
if (in_array('aut', $nameRoles)) {
// Instantiate a new author object.
import($authorClassName);
$author = new Author();
// Family Name
$author->setLastName($nameDescription->getStatement('namePart[@type="family"]'));
// Given Names
$givenNames = $nameDescription->getStatement('namePart[@type="given"]');
if (!empty($givenNames)) {
$givenNames = explode(' ', $givenNames, 2);
if (isset($givenNames[0])) {
$author->setFirstName($givenNames[0]);
}
if (isset($givenNames[1])) {
$author->setMiddleName($givenNames[1]);
}
}
// Affiliation
// NB: Our MODS mapping currently doesn't support translation for names.
// This can be added when required by data providers. We assume the cataloging
// language for the record.
$affiliation = $nameDescription->getStatement('affiliation');
if (!empty($affiliation)) {
$author->setAffiliation($affiliation, $catalogingLocale);
}
// Terms of address (unmapped field)
$termsOfAddress = $nameDescription->getStatement('namePart[@type="termsOfAddress"]');
if ($termsOfAddress) {
$author->setData('nlm34:namePart[@type="termsOfAddress"]', $termsOfAddress);
}
// Date (unmapped field)
$date = $nameDescription->getStatement('namePart[@type="date"]');
if ($date) {
$author->setData('nlm34:namePart[@type="date"]', $date);
}
// Add the author to the submission.
$submission->addAuthor($author);
unset($author);
}
break;
// Sponsor
// NB: Our MODS mapping currently doesn't support translation for names.
// This can be added when required by data providers. We assume the cataloging
// language for the record.
// Sponsor
// NB: Our MODS mapping currently doesn't support translation for names.
// This can be added when required by data providers. We assume the cataloging
// language for the record.
case 'corporate':
// Only the first sponsor goes into the submission.
if (!$foundSponsor && in_array('spn', $nameRoles)) {
$foundSponsor = true;
$submission->setSponsor($nameDescription->getStatement('namePart'), $catalogingLocale);
}
break;
}
}
unset($nameDescription);
}
}
//.........这里部分代码省略.........
示例5: execute
/**
* Save settings.
*/
function execute()
{
$articleDao =& DAORegistry::getDAO('ArticleDAO');
$signoffDao =& DAORegistry::getDAO('SignoffDAO');
$sectionEditorSubmissionDao =& DAORegistry::getDAO('SectionEditorSubmissionDAO');
$application =& PKPApplication::getApplication();
$request =& $this->request;
$user =& $request->getUser();
$router =& $request->getRouter();
$journal =& $router->getContext($request);
$article = new Article();
$article->setLocale($this->getData('locale'));
$article->setUserId($user->getId());
$article->setJournalId($journal->getId());
$article->setSectionId($this->getData('sectionId'));
$article->setLanguage($this->getData('language'));
$article->setTitle($this->getData('title'), null);
// Localized
$article->setAbstract($this->getData('abstract'), null);
// Localized
$article->setDiscipline($this->getData('discipline'), null);
// Localized
$article->setSubjectClass($this->getData('subjectClass'), null);
// Localized
$article->setSubject($this->getData('subject'), null);
// Localized
$article->setCoverageGeo($this->getData('coverageGeo'), null);
// Localized
$article->setCoverageChron($this->getData('coverageChron'), null);
// Localized
$article->setCoverageSample($this->getData('coverageSample'), null);
// Localized
$article->setType($this->getData('type'), null);
// Localized
$article->setSponsor($this->getData('sponsor'), null);
// Localized
$article->setCitations($this->getData('citations'));
$article->setPages($this->getData('pages'));
// Set some default values so the ArticleDAO doesn't complain when adding this article
$article->setDateSubmitted(Core::getCurrentDate());
$article->setStatus($this->getData('destination') == 'queue' ? STATUS_QUEUED : STATUS_PUBLISHED);
$article->setSubmissionProgress(0);
$article->stampStatusModified();
$article->setCurrentRound(1);
$article->setFastTracked(1);
$article->setHideAuthor(0);
$article->setCommentsStatus(0);
// Insert the article to get it's ID
$articleDao->insertArticle($article);
$articleId = $article->getId();
// Add authors
$authorDao =& DAORegistry::getDAO('AuthorDAO');
/* @var $authorDao AuthorDAO */
$authors = $this->getData('authors');
for ($i = 0, $count = count($authors); $i < $count; $i++) {
if ($authors[$i]['authorId'] > 0) {
// Update an existing author
$author =& $authorDao->getAuthor($authors[$i]['authorId'], $articleId);
$isExistingAuthor = true;
} else {
// Create a new author
$author = new Author();
$isExistingAuthor = false;
}
if ($author != null) {
$author->setSubmissionId($articleId);
$author->setFirstName($authors[$i]['firstName']);
$author->setMiddleName($authors[$i]['middleName']);
$author->setLastName($authors[$i]['lastName']);
if (array_key_exists('affiliation', $authors[$i])) {
$author->setAffiliation($authors[$i]['affiliation'], null);
}
$author->setCountry($authors[$i]['country']);
$author->setEmail($authors[$i]['email']);
$author->setData('orcid', $authors[$i]['orcid']);
$author->setUrl($authors[$i]['url']);
if (array_key_exists('competingInterests', $authors[$i])) {
$author->setCompetingInterests($authors[$i]['competingInterests'], null);
}
$author->setBiography($authors[$i]['biography'], null);
$author->setPrimaryContact($this->getData('primaryContact') == $i ? 1 : 0);
$author->setSequence($authors[$i]['seq']);
if ($isExistingAuthor == false) {
$authorDao->insertAuthor($author);
}
}
}
// Setup default copyright/license metadata after status is set and authors are attached.
$article->initializePermissions();
$articleDao->updateLocaleFields($article);
// Add the submission files as galleys
import('classes.file.TemporaryFileManager');
import('classes.file.ArticleFileManager');
$tempFileIds = $this->getData('tempFileId');
$temporaryFileManager = new TemporaryFileManager();
$articleFileManager = new ArticleFileManager($articleId);
$designatedPrimary = false;
//.........这里部分代码省略.........