Skip to content

Commit

Permalink
#118 remove double encoding in citations
Browse files Browse the repository at this point in the history
  • Loading branch information
bozana committed Jun 27, 2024
1 parent 968ea44 commit 873eb8b
Showing 1 changed file with 12 additions and 12 deletions.
24 changes: 12 additions & 12 deletions CitationStyleLanguagePlugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -426,14 +426,14 @@ public function getCitation(PKPRequest $request, Submission $submission, string
$citationData->type = ($this->application === 'ojs2' ? 'article-journal' : 'article');
$citationData->risType = 'JOUR';
$citationData->id = $submission->getId();
$citationData->title = $publication->getLocalizedFullTitle();
$citationData->title = htmlspecialchars_decode($publication->getLocalizedFullTitle());
$citationData->{'container-title'} = $context->getLocalizedName();
$issueId = $publication->getData('issueId');
$issue ??= $issueId ? Repo::issue()->get($issueId) : null;
if ($issue) {
$citationData->volume = htmlspecialchars($issue->getData('volume'));
$citationData->volume = $issue->getData('volume');
// Zotero prefers issue and Mendeley uses `number` to store revisions
$citationData->issue = htmlspecialchars($issue->getData('number'));
$citationData->issue = $issue->getData('number');
}

if ($sectionId = $publication->getData('sectionId')) {
Expand All @@ -446,7 +446,7 @@ public function getCitation(PKPRequest $request, Submission $submission, string
if ($publication->getData('pages')) {
$citationData->page = htmlspecialchars($publication->getData('pages'));
}
$citationData->abstract = htmlspecialchars(strip_tags($publication->getLocalizedData('abstract')));
$citationData->abstract = htmlspecialchars_decode(strip_tags($publication->getLocalizedData('abstract')));
$citationData = $this->setArticleAuthors($citationData, $publication, $context);
$citationData->URL = $request->getDispatcher()->url($request, PKPApplication::ROUTE_PAGE, null, $this->getPublicationTypeUrlPath(), 'view', $submission->getBestId());
if ($publication->getDoi()) {
Expand All @@ -456,14 +456,14 @@ public function getCitation(PKPRequest $request, Submission $submission, string
$citationData->type = 'book';
$citationData->risType = 'BOOK';
$citationData->id = $submission->getId();
$citationData->title = $publication->getLocalizedFullTitle();
$citationData->title = htmlspecialchars_decode($publication->getLocalizedFullTitle());
$citationData = $this->addSeriesInformation($citationData, $publication);
$citationData->publisher = htmlspecialchars($context->getLocalizedName());
$citationData->publisher = $context->getLocalizedName();
$citationData->keywords = $keywords[Locale::getLocale()] ?? [];
if ($publication->getData('pages')) {
$citationData->page = htmlspecialchars($publication->getData('pages'));
}
$citationData->abstract = htmlspecialchars(strip_tags($publication->getLocalizedData('abstract')));
$citationData->abstract = htmlspecialchars_decode(strip_tags($publication->getLocalizedData('abstract')));
$citationData->serialNumber = $this->getSerialNumber($publication);
$citationData = $this->setBookAuthors($citationData, $publication, $context);
$citationData->URL = $request->getDispatcher()->url($request, PKPApplication::ROUTE_PAGE, null, $this->getPublicationTypeUrlPath(), 'book', $submission->getBestId());
Expand All @@ -477,7 +477,7 @@ public function getCitation(PKPRequest $request, Submission $submission, string
$citationData->title = $chapter->getLocalizedFullTitle();
$citationData->{'container-title'} = $publication->getLocalizedFullTitle();
$citationData = $this->addSeriesInformation($citationData, $publication);
$citationData->publisher = htmlspecialchars($context->getLocalizedName());
$citationData->publisher = $context->getLocalizedName();
if ($chapter->getPages()) {
$citationData->page = htmlspecialchars($chapter->getPages());
}
Expand All @@ -503,7 +503,7 @@ public function getCitation(PKPRequest $request, Submission $submission, string
$citationData->{'publisher-place'} = $this->getSetting($context->getId(), 'publisherLocation');
$abbreviation = $context->getData('abbreviation', $context->getPrimaryLocale()) ?? $context->getData('acronym', $context->getPrimaryLocale());
if ($abbreviation) {
$citationData->{'container-title-short'} = htmlspecialchars($abbreviation);
$citationData->{'container-title-short'} = $abbreviation;
}

$citationData->accessed = new stdClass();
Expand Down Expand Up @@ -646,7 +646,7 @@ public function downloadCitation(PKPRequest $request, Submission $submission, st
return false;
}

$citation = trim(strip_tags($this->getCitation($request, $submission, $citationStyle, $issue, $publication, $chapter)));
$citation = htmlspecialchars_decode(trim(strip_tags($this->getCitation($request, $submission, $citationStyle, $issue, $publication, $chapter))));

// TODO this is likely going to cause an error in a citation some day,
// but is necessary to get the .ris downloadable format working. The
Expand Down Expand Up @@ -781,8 +781,8 @@ protected function addSeriesInformation(stdClass $citationData, Publication $pub
if (!$series) {
return $citationData;
}
$citationData->{'collection-title'} = htmlspecialchars(trim($series->getLocalizedFullTitle()));
$citationData->volume = htmlspecialchars($publication->getData('seriesPosition'));
$citationData->{'collection-title'} = trim($series->getLocalizedFullTitle());
$citationData->volume = $publication->getData('seriesPosition');
$citationData->{'collection-editor'} = htmlspecialchars($series->getEditorsString());
$onlineISSN = $series->getOnlineISSN();
if (!empty($onlineISSN)) {
Expand Down

0 comments on commit 873eb8b

Please sign in to comment.