From 470cfb9dc21feaf7a88f89bc2ed317269a511f8f Mon Sep 17 00:00:00 2001 From: Joe Simpson Date: Mon, 13 Oct 2025 15:26:52 +0100 Subject: [PATCH 1/2] OJS 3.5 Fixes --- OpenGraphPlugin.php | 90 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 82 insertions(+), 8 deletions(-) diff --git a/OpenGraphPlugin.php b/OpenGraphPlugin.php index 8b5675e..8ef936b 100644 --- a/OpenGraphPlugin.php +++ b/OpenGraphPlugin.php @@ -111,14 +111,15 @@ function submissionView($hookName, $args) { $submissionPath = array('article', 'view'); $objectType = "article"; } + $publication = $submission->getCurrentPublication(); $templateMgr = TemplateManager::getManager($request); $templateMgr->addHeader('openGraphSiteName', ''); $templateMgr->addHeader('openGraphObjectType', ''); - $templateMgr->addHeader('openGraphTitle', ''); - if ($abstract = PKPString::html2text($submission->getAbstract($submission->getLocale()))) $templateMgr->addHeader('openGraphDescription', ''); + $templateMgr->addHeader('openGraphTitle', ''); + if ($abstract = PKPString::html2text($submission->getLocalizedData('abstract'))) $templateMgr->addHeader('openGraphDescription', ''); $templateMgr->addHeader('openGraphUrl', ''); - if ($locale = $submission->getLocale()) $templateMgr->addHeader('openGraphLocale', ''); + if ($locale = $context->getData('primaryLocale')) $templateMgr->addHeader('openGraphLocale', ''); $openGraphImage = ""; if ($contextPageHeaderLogo = $context->getLocalizedData('pageHeaderLogoImage')){ @@ -131,32 +132,103 @@ function submissionView($hookName, $args) { if ($submissionCoverImage = $submission->getCurrentPublication()->getLocalizedCoverImageUrl($submission->getData('contextId'))){ $openGraphImage = $submissionCoverImage; + } $templateMgr->addHeader('openGraphImage', ''); - if ($datePublished = $submission->getDatePublished()) { + if ($datePublished = $publication->getData('datePublished')) { $openGraphDateName = $applicationName == "omp" ? "book:release_date" : "article:published_time"; + $templateMgr->addHeader('openGraphDate', ''); } if ($applicationName == "omp") { $publicationFormats = $submission->getCurrentPublication()->getData('publicationFormats'); + foreach ($publicationFormats as $publicationFormat) { + + + $identificationCodes = $publicationFormat->getIdentificationCodes(); + + + + while ($identificationCode = $identificationCodes->next()) { + + if ($identificationCode->getCode() == "02" || $identificationCode->getCode() == "15") { + + + + + $templateMgr->addHeader('openGraphBookIsbn', ''); + + + + + + + + } } } } $i=0; - $dao = DAORegistry::getDAO('SubmissionKeywordDAO'); - $keywords = $dao->getKeywords($submission->getCurrentPublication()->getId(), array(Locale::getLocale())); - foreach ($keywords as $locale => $localeKeywords) { + + + $publicationKeywords = $publication->getData('keywords'); + + + + + + + foreach ($publicationKeywords as $locale => $localeKeywords) { + + + + + + + + + foreach ($localeKeywords as $keyword) { + + + + $templateMgr->addHeader('openGraphArticleTag' . $i++, ''); + + + + + + + + + + + + + + + + + + + + + + + + + + } } @@ -168,6 +240,7 @@ function submissionView($hookName, $args) { * @return string */ function getDisplayName() { + return __('plugins.generic.openGraph.name'); } @@ -176,6 +249,7 @@ function getDisplayName() { * @return string */ function getDescription() { + return __('plugins.generic.openGraph.description'); } -} \ No newline at end of file +} From 67fcb40a4b330eef34b248f31ef4fbf0fcaad995 Mon Sep 17 00:00:00 2001 From: Joe Simpson Date: Mon, 13 Oct 2025 15:32:26 +0100 Subject: [PATCH 2/2] Fix strange formatting issues --- OpenGraphPlugin.php | 76 +-------------------------------------------- 1 file changed, 1 insertion(+), 75 deletions(-) diff --git a/OpenGraphPlugin.php b/OpenGraphPlugin.php index 8ef936b..2eb1394 100644 --- a/OpenGraphPlugin.php +++ b/OpenGraphPlugin.php @@ -132,103 +132,31 @@ function submissionView($hookName, $args) { if ($submissionCoverImage = $submission->getCurrentPublication()->getLocalizedCoverImageUrl($submission->getData('contextId'))){ $openGraphImage = $submissionCoverImage; - } $templateMgr->addHeader('openGraphImage', ''); if ($datePublished = $publication->getData('datePublished')) { $openGraphDateName = $applicationName == "omp" ? "book:release_date" : "article:published_time"; - $templateMgr->addHeader('openGraphDate', ''); } if ($applicationName == "omp") { $publicationFormats = $submission->getCurrentPublication()->getData('publicationFormats'); - foreach ($publicationFormats as $publicationFormat) { - - - $identificationCodes = $publicationFormat->getIdentificationCodes(); - - - - while ($identificationCode = $identificationCodes->next()) { - - if ($identificationCode->getCode() == "02" || $identificationCode->getCode() == "15") { - - - - - $templateMgr->addHeader('openGraphBookIsbn', ''); - - - - - - - - } } } } $i=0; - - $publicationKeywords = $publication->getData('keywords'); - - - - - - foreach ($publicationKeywords as $locale => $localeKeywords) { - - - - - - - - - foreach ($localeKeywords as $keyword) { - - - - $templateMgr->addHeader('openGraphArticleTag' . $i++, ''); - - - - - - - - - - - - - - - - - - - - - - - - - - } } @@ -240,7 +168,6 @@ function submissionView($hookName, $args) { * @return string */ function getDisplayName() { - return __('plugins.generic.openGraph.name'); } @@ -249,7 +176,6 @@ function getDisplayName() { * @return string */ function getDescription() { - return __('plugins.generic.openGraph.description'); } -} +} \ No newline at end of file