Skip to content
This repository has been archived by the owner on Feb 19, 2025. It is now read-only.

Commit

Permalink
Add custom datetime format constant for MariaDB compatability
Browse files Browse the repository at this point in the history
  • Loading branch information
ewhanson authored and jonasraoni committed Dec 14, 2021
1 parent 98bc18c commit 7dbc5a3
Show file tree
Hide file tree
Showing 7 changed files with 31 additions and 17 deletions.
6 changes: 4 additions & 2 deletions ArticleImporterPlugin.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
use \PKP\Plugins\ImportExport\ArticleImporter\Exceptions\ArticleSkippedException;

class ArticleImporterPlugin extends \ImportExportPlugin {

public const DATETIME_FORMAT = 'Y-m-d H:i:s';
/**
* Registers a custom autoloader to handle the plugin namespace
*/
Expand Down Expand Up @@ -66,7 +68,7 @@ public function executeCLI($scriptName, &$args): void
[Parsers\APlusPlus\Parser::class, Parsers\Jats\Parser::class],
$contextPath, $username, $editorUsername, $email, $importPath
);

$this->_writeLine(__('plugins.importexport.articleImporter.importStart'));

$sectionDao = \Application::getSectionDAO();
Expand All @@ -92,7 +94,7 @@ public function executeCLI($scriptName, &$args): void
++$failed;
}
}

// Resequences issue orders
if ($imported) {
$this->resequenceIssues($configuration);
Expand Down
12 changes: 7 additions & 5 deletions parsers/aPlusPlus/IssueParser.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@

namespace PKP\Plugins\ImportExport\ArticleImporter\Parsers\APlusPlus;

use PKP\Plugins\ImportExport\ArticleImporter\ArticleImporterPlugin;

trait IssueParser {
/** @var bool True if the issue was created by this instance */
private $_isIssueOwner;
/** @var \Issue Issue instance */
private $_issue;

/**
* Rollbacks the operation
*/
Expand Down Expand Up @@ -70,18 +72,18 @@ public function getIssue(): \Issue
$issue->setData('year', (int) $publicationDate->format('Y'));
$issue->setData('published', true);
$issue->setData('current', false);
$issue->setData('datePublished', $publicationDate->format(\DateTime::RFC3339));
$issue->setData('datePublished', $publicationDate->format(ArticleImporterPlugin::DATETIME_FORMAT));
$issue->setData('accessStatus', \ISSUE_ACCESS_OPEN);
$issue->setData('showVolume', true);
$issue->setData('showNumber', true);
$issue->setData('showYear', true);
$issue->setData('showTitle', false);
$issue->stampModified();
$issueDao->insertObject($issue);

$issueFolder = (string)$entry->getSubmissionPathInfo()->getPathInfo();
$this->setIssueCover($issueFolder, $issue);

$this->_isIssueOwner = true;

$this->_issue = $issue;
Expand All @@ -93,7 +95,7 @@ public function getIssue(): \Issue
/**
* Retrieves the issue publication date
* @return \DateTimeImmutable
*/
*/
public function getIssuePublicationDate(): \DateTimeImmutable
{
return new \DateTimeImmutable($this->getIssue()->getData('datePublished'));
Expand Down
4 changes: 3 additions & 1 deletion parsers/aPlusPlus/PublicationParser.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

namespace PKP\Plugins\ImportExport\ArticleImporter\Parsers\APlusPlus;

use PKP\Plugins\ImportExport\ArticleImporter\ArticleImporterPlugin;

trait PublicationParser {
/**
* Parse, import and retrieve the publication
Expand All @@ -30,7 +32,7 @@ public function getPublication(): \Publication
$publication->setData('version', 1);
$publication->setData('seq', $this->getSubmission()->getId());
$publication->setData('accessStatus', $this->_getAccessStatus());
$publication->setData('datePublished', $publicationDate->format(\DateTime::RFC3339));
$publication->setData('datePublished', $publicationDate->format(ArticleImporterPlugin::DATETIME_FORMAT));
$publication->setData('sectionId', $this->getSection()->getId());
$publication->setData('issueId', $this->getIssue()->getId());
$publication->setData('urlPath', null);
Expand Down
4 changes: 3 additions & 1 deletion parsers/aPlusPlus/SubmissionParser.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

namespace PKP\Plugins\ImportExport\ArticleImporter\Parsers\APlusPlus;

use PKP\Plugins\ImportExport\ArticleImporter\ArticleImporterPlugin;

trait SubmissionParser {
/** @var \Submission Submission instance */
private $_submission;
Expand Down Expand Up @@ -45,7 +47,7 @@ public function getSubmission(): \Submission
$article->setData('stageId', \WORKFLOW_STAGE_ID_PRODUCTION);
$article->setData('sectionId', $this->getSection()->getId());
$date = $this->getDateFromNode($this->selectFirst('Journal/Volume/Issue/Article/ArticleInfo/ArticleHistory/RegistrationDate')) ?: $this->getPublicationDate();
$article->setData('dateSubmitted', $date->format(\DateTime::RFC3339));
$article->setData('dateSubmitted', $date->format(ArticleImporterPlugin::DATETIME_FORMAT));

// Creates the submission
$this->_submission = \Services::get('submission')->add($article, \Application::get()->getRequest());
Expand Down
10 changes: 6 additions & 4 deletions parsers/jats/IssueParser.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,14 @@

namespace PKP\Plugins\ImportExport\ArticleImporter\Parsers\Jats;

use PKP\Plugins\ImportExport\ArticleImporter\ArticleImporterPlugin;

trait IssueParser {
/** @var bool True if the issue was created by this instance */
private $_isIssueOwner;
/** @var \Issue Issue instance */
private $_issue;

/**
* Rollbacks the operation
*/
Expand Down Expand Up @@ -68,7 +70,7 @@ public function getIssue(): \Issue
$issue->setData('year', (int) $publicationDate->format('Y'));
$issue->setData('published', true);
$issue->setData('current', false);
$issue->setData('datePublished', $publicationDate->format(\DateTime::RFC3339));
$issue->setData('datePublished', $publicationDate->format(ArticleImporterPlugin::DATETIME_FORMAT));
$issue->setData('accessStatus', \ISSUE_ACCESS_OPEN);
$issue->setData('showVolume', true);
$issue->setData('showNumber', true);
Expand All @@ -79,7 +81,7 @@ public function getIssue(): \Issue

$issueFolder = (string)$entry->getSubmissionPathInfo()->getPathInfo();
$this->setIssueCover($issueFolder, $issue);

$this->_isIssueOwner = true;

$this->_issue = $issue;
Expand All @@ -91,7 +93,7 @@ public function getIssue(): \Issue
/**
* Retrieves the issue publication date
* @return \DateTimeImmutable
*/
*/
public function getIssuePublicationDate(): \DateTimeImmutable
{
return new \DateTimeImmutable($this->getIssue()->getData('datePublished'));
Expand Down
8 changes: 5 additions & 3 deletions parsers/jats/PublicationParser.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

namespace PKP\Plugins\ImportExport\ArticleImporter\Parsers\Jats;

use PKP\Plugins\ImportExport\ArticleImporter\ArticleImporterPlugin;

trait PublicationParser {
/**
* Parse, import and retrieve the publication
Expand All @@ -30,7 +32,7 @@ public function getPublication(): \Publication
$publication->setData('version', 1);
$publication->setData('seq', $this->getSubmission()->getId());
$publication->setData('accessStatus', \ARTICLE_ACCESS_OPEN);
$publication->setData('datePublished', $publicationDate->format(\DateTime::RFC3339));
$publication->setData('datePublished', $publicationDate->format(ArticleImporterPlugin::DATETIME_FORMAT));
$publication->setData('sectionId', $this->getSection()->getId());
$publication->setData('issueId', $this->getIssue()->getId());
$publication->setData('urlPath', null);
Expand All @@ -44,7 +46,7 @@ public function getPublication(): \Publication

$hasTitle = false;
$publicationLocale = null;

// Set title
if($node = $this->selectFirst('front/article-meta/title-group/article-title')) {
$locale = $this->getLocale($node->getAttribute('xml:lang'));
Expand Down Expand Up @@ -135,7 +137,7 @@ public function getPublication(): \Publication

return $publication;
}

/**
* Inserts citations
* @param \Publication $publication
Expand Down
4 changes: 3 additions & 1 deletion parsers/jats/SubmissionParser.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

namespace PKP\Plugins\ImportExport\ArticleImporter\Parsers\Jats;

use PKP\Plugins\ImportExport\ArticleImporter\ArticleImporterPlugin;

trait SubmissionParser {
/** @var \Submission Submission instance */
private $_submission;
Expand Down Expand Up @@ -46,7 +48,7 @@ public function getSubmission(): \Submission
$article->setData('sectionId', $this->getSection()->getId());

$date = $this->getDateFromNode($this->selectFirst("front/article-meta/history/date[@date-type='received']")) ?: $this->getPublicationDate();
$article->setData('dateSubmitted', $date->format(\DateTime::RFC3339));
$article->setData('dateSubmitted', $date->format(ArticleImporterPlugin::DATETIME_FORMAT));

// Creates the submission
$this->_submission = \Services::get('submission')->add($article, \Application::get()->getRequest());
Expand Down

0 comments on commit 7dbc5a3

Please sign in to comment.