From 697ba1633f11f02b90373fda3269bfd00cb9e58d Mon Sep 17 00:00:00 2001 From: saddamalsalfi Date: Mon, 1 Sep 2025 02:00:57 +0300 Subject: [PATCH 01/11] feat: upgrade for OJS 3.4/3.5 + attribution (README/CITATION/CHANGELOG) --- CHANGELOG.md | 9 +++ CITATION.cff | 11 ++++ PlumAnalyticsBlockPlugin.php | 21 +++--- PlumAnalyticsPlugin.php | 11 ++-- PlumAnalyticsSettingsForm.php | 3 +- README.md | 5 +- locale/ar/locale.po | 118 ++++++++++++++++++++++++++++++++++ version.xml | 4 +- 8 files changed, 163 insertions(+), 19 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 CITATION.cff create mode 100644 locale/ar/locale.po diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..38fbe86 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +## 1.6.1.0 — 2025-08-24 +- Compatibility updates for OJS 3.4/3.5. +- Added Arabic locale (`locale/ar/locale.po`). +- PHP 7/8+ return typehints on selected methods. +- Minor cleanup. + +Maintainer: Saddam Al-Slfi — saddamalsalfi@qau.edu.ye, Queen Arwa University diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 0000000..da97c21 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,11 @@ +cff-version: 1.2.0 +title: OJS Plum Analytics plugin (Unofficial fork) +message: "If you use this software, please cite it as below." +authors: + - family-names: Al-Slfi + given-names: Saddam + affiliation: Queen Arwa University + email: saddamalsalfi@qau.edu.ye +repository-code: https://github.com/saddamalsalfi/ojs-plum-plugin +version: 1.6.1.0 +date-released: 2025-08-24 diff --git a/PlumAnalyticsBlockPlugin.php b/PlumAnalyticsBlockPlugin.php index af2f076..d5a5bb7 100644 --- a/PlumAnalyticsBlockPlugin.php +++ b/PlumAnalyticsBlockPlugin.php @@ -5,6 +5,7 @@ * * Copyright (c) 2018 University of Pittsburgh * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. + * Modified by: Saddam Al-Slfi , Queen Arwa University — 2025-09-01 — OJS 3.4/3.5 upgrade * * @class PlumAnalyticsBlockPlugin * @ingroup plugins_generic_plumAnalytics @@ -41,13 +42,13 @@ function __construct($parentPluginName, $pluginPath) { * @return boolean */ function getCurrentVersion() { - return false; + return ''; } /** * @copydoc LazyLoadPlugin::getEnabled() */ - function getEnabled($contextId = null) { + function getEnabled($contextId = null): bool { if (!Config::getVar('general', 'installed')) return true; return parent::getEnabled($contextId); } @@ -56,7 +57,7 @@ function getEnabled($contextId = null) { * Get the display name of this plugin. * @return String */ - function getDisplayName() { + function getDisplayName(): string { return __('plugins.generic.plumAnalytics.block.displayName'); } @@ -64,7 +65,7 @@ function getDisplayName() { * Get a description of the plugin. * @return String */ - function getDescription() { + function getDescription(): string { return __('plugins.generic.plumAnalytics.block.description'); } @@ -72,7 +73,7 @@ function getDescription() { * Hide this plugin from the management interface (it's subsidiary) * @return boolean */ - function getHideManagement() { + function getHideManagement(): bool { return true; } @@ -80,7 +81,7 @@ function getHideManagement() { * Get the supported contexts (e.g. BLOCK_CONTEXT_...) for this block. * @return array */ - function getSupportedContexts() { + function getSupportedContexts(): array { return array(BLOCK_CONTEXT_SIDEBAR); } @@ -97,7 +98,7 @@ function &getPlumPlugin() { * Override the builtin to get the correct plugin path. * @return string */ - function getPluginPath() { + function getPluginPath(): string { return $this->pluginPath; } @@ -105,7 +106,7 @@ function getPluginPath() { * Get the name of the block template file. * @return String */ - function getBlockTemplateFilename() { + function getBlockTemplateFilename(): string { $plugin = $this->getPlumPlugin(); return (method_exists($plugin, 'getTemplateResource') ? '' : 'templates'.DIRECTORY_SEPARATOR) . 'blockPlumWidget.tpl'; } @@ -113,7 +114,7 @@ function getBlockTemplateFilename() { /** * @copydoc BlockPlugin::getContents() */ - function getContents($templateMgr, $request = null) { + function getContents($templateMgr, $request = null): string { $plugin = $this->getPlumPlugin(); $context = $request->getContext(); if ($templateMgr) { @@ -124,7 +125,7 @@ function getContents($templateMgr, $request = null) { return parent::getContents($templateMgr); } } - return false; + return ''; } } diff --git a/PlumAnalyticsPlugin.php b/PlumAnalyticsPlugin.php index b1a2d33..ceebdea 100644 --- a/PlumAnalyticsPlugin.php +++ b/PlumAnalyticsPlugin.php @@ -5,6 +5,7 @@ * * Copyright (c) 2018 University of Pittsburgh * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. + * Modified by: Saddam Al-Slfi , Queen Arwa University — 2025-09-01 — OJS 3.4/3.5 upgrade * * @class PlumAnalyticsPlugin * @ingroup plugins_generic_plumAnalytics @@ -76,7 +77,7 @@ class PlumAnalyticsPlugin extends GenericPlugin { /** * @copydoc Plugin::register() */ - function register($category, $path, $mainContextId = null) { + function register($category, $path, $mainContextId = null): bool { $success = parent::register($category, $path, $mainContextId); if (!Config::getVar('general', 'installed') || defined('RUNNING_UPGRADE')) return true; if ($success && $this->getEnabled()) { @@ -99,7 +100,7 @@ function register($category, $path, $mainContextId = null) { * Get the display name of this plugin. * @return String */ - function getDisplayName() { + function getDisplayName(): string { return __('plugins.generic.plumAnalytics.displayName'); } @@ -107,14 +108,14 @@ function getDisplayName() { * Get a description of the plugin. * @return String */ - function getDescription() { + function getDescription(): string { return __('plugins.generic.plumAnalytics.description'); } /** * @copydoc Plugin::getActions() */ - function getActions($request, $verb) { + function getActions($request, $verb): array { $router = $request->getRouter(); return array_merge( $this->getEnabled()?array( @@ -255,7 +256,7 @@ function manage($args, $request) { /** * @copydoc Plugin::getTemplatePath() */ - function getTemplatePath($inCore = false) { + function getTemplatePath($inCore = false): string { return parent::getTemplatePath($inCore) . 'templates' . DIRECTORY_SEPARATOR; } diff --git a/PlumAnalyticsSettingsForm.php b/PlumAnalyticsSettingsForm.php index 51ce10b..ab4ef35 100644 --- a/PlumAnalyticsSettingsForm.php +++ b/PlumAnalyticsSettingsForm.php @@ -5,6 +5,7 @@ * * Copyright (c) 2018 University of Pittsburgh * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. + * Modified by: Saddam Al-Slfi , Queen Arwa University — 2025-09-01 — OJS 3.4/3.5 upgrade * * @class PlumAnalyticsSettingsForm * @ingroup plugins_generic_plumAnalytics @@ -92,7 +93,7 @@ function readInputData() { * Fetch the form. * @copydoc Form::fetch() */ - function fetch($request, $template = NULL, $display = false) { + function fetch($request, $template = NULL, $display = false): string { $templateMgr = TemplateManager::getManager($request); $templateMgr->assign('pluginName', $this->_plugin->getName()); // This assigns select options diff --git a/README.md b/README.md index 7654a62..9ce58f7 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ +Unofficial fork of ulsdevteam/ojs-plum-plugin. Upgraded/maintained for OJS 3.4/3.5 by Saddam Al-Slfi. +saddamalsalfi@qau.edu.ye, Queen Arwa University + # Plum Analytics Artifact Widget plugin for OJS This plugin provides display of PlumX Metrics from [Plum Analytics](http://plumanalytics.com/) on the article level for PKP Open Journal Systems. ## Requirements -* OJS 3.4 or later +* OJS 3.5 * Article level DOIs * see: Login -> Settings -> Website -> Plugins -> DOI * PlumX tracking of the artifacts with those DOIs diff --git a/locale/ar/locale.po b/locale/ar/locale.po new file mode 100644 index 0000000..2cabb5a --- /dev/null +++ b/locale/ar/locale.po @@ -0,0 +1,118 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: 2021-04-30T10:15:20-04:00\n" +"PO-Revision-Date: 2025-08-24 00:00+0000\n" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0?0:n==1?1:n==2?2:n%100>=3 && n%100<=10?3:n%100>=11 && n%100<=99?4:5;\n" + +msgid "plugins.generic.plumAnalytics.displayName" +msgstr "ودجت أثر PlumX" + +msgid "plugins.generic.plumAnalytics.description" +msgstr "تكامل OJS مع منصة PlumX (اشتراك مدفوع) لتتبُّع أثر البحوث. عبر هذه الإضافة يمكن لعملاء PlumX تضمين ودجت \"أثر PlumX\" في صفحة ملخص المقالة داخل OJS لإبراز كيفية استخدام كل مقالة والتفاعل معها والحديث عنها حول العالم، وذلك عبر عشرات المقاييس المستخلصة من الويب المفتوح. ظهور الودجت يتطلب وجود معرِّف DOI للمقالة." + +msgid "plugins.generic.plumAnalytics.block.displayName" +msgstr "كتلة ودجت أثر PlumX" + +msgid "plugins.generic.plumAnalytics.manager.settings" +msgstr "الإعدادات" + +msgid "plugins.generic.plumAnalytics.manager.plumAnalyticsSettings" +msgstr "إعدادات ودجت أثر PlumX" + +msgid "plugins.generic.plumAnalytics.manager.settings.description" +msgstr "

عند تفعيل هذه الإضافة سيتم إدراج ودجت أثر PlumX في مقالاتك. يتطلب ذلك اتفاقية خدمة مع PlumX؛ يُرجى مراجعة معلومات تكامل PlumX مع OJS. سيتم استخدام DOI الخاص بالمقالة لربطها بمقاييس أثر PlumX. للحصول على تفاصيل وأمثلة لإعدادات الودجت المختلفة، يُرجى مراجعة صفحة ودجات PlumX.

" + +msgid "plugins.generic.plumAnalytics.manager.settings.widgetType" +msgstr "نوع الودجت" + +msgid "plugins.generic.plumAnalytics.manager.settings.widgetType.plumx-plum-print-popup" +msgstr "نافذة منبثقة" + +msgid "plugins.generic.plumAnalytics.manager.settings.widgetType.plumx-summary" +msgstr "ملخّص" + +msgid "plugins.generic.plumAnalytics.manager.settings.widgetType.plumx-details" +msgstr "تفاصيل" + +msgid "plugins.generic.plumAnalytics.manager.settings.widgetTypeInstructions" +msgstr "للتفاصيل والأمثلة على أنواع الودجات المختلفة، يُرجى مراجعة صفحة ودجات PlumX." + +msgid "plugins.generic.plumAnalytics.manager.settings.widgetTypeRequired" +msgstr "نوع الودجت مطلوب." + +msgid "plugins.generic.plumAnalytics.manager.settings.width" +msgstr "العرض" + +msgid "plugins.generic.plumAnalytics.manager.settings.widthInvalid" +msgstr "قيمة العرض غير صالحة." + +msgid "plugins.generic.plumAnalytics.manager.settings.popup" +msgstr "محاذاة النافذة المنبثقة" + +msgid "plugins.generic.plumAnalytics.manager.settings.popup.left" +msgstr "يسار" + +msgid "plugins.generic.plumAnalytics.manager.settings.popup.right" +msgstr "يمين" + +msgid "plugins.generic.plumAnalytics.manager.settings.popup.top" +msgstr "أعلى" + +msgid "plugins.generic.plumAnalytics.manager.settings.popup.bottom" +msgstr "أسفل" + +msgid "plugins.generic.plumAnalytics.manager.settings.popup.hidden" +msgstr "مخفي" + +msgid "plugins.generic.plumAnalytics.manager.settings.hideWhenEmpty" +msgstr "إخفاء عند عدم وجود بيانات" + +msgid "plugins.generic.plumAnalytics.manager.settings.border" +msgstr "إظهار الإطار" + +msgid "plugins.generic.plumAnalytics.manager.settings.hidePrint" +msgstr "إخفاء PlumPrint" + +msgid "plugins.generic.plumAnalytics.manager.settings.orientation" +msgstr "اتجاه العرض" + +msgid "plugins.generic.plumAnalytics.manager.settings.orientation.vertical" +msgstr "عمودي" + +msgid "plugins.generic.plumAnalytics.manager.settings.orientation.horizontal" +msgstr "أفقي" + +msgid "plugins.generic.plumAnalytics.manager.settings.hook" +msgstr "موضع العرض" + +msgid "plugins.generic.plumAnalytics.manager.settings.hook.footer" +msgstr "في تذييل صفحة المقالة" + +msgid "plugins.generic.plumAnalytics.manager.settings.hook.moreInfo" +msgstr "أسفل ملخص المقالة" + +msgid "plugins.generic.plumAnalytics.manager.settings.hook.details" +msgstr "أسفل تفاصيل المقالة" + +msgid "plugins.generic.plumAnalytics.manager.settings.hookRequired" +msgstr "يجب اختيار موضع لعرض الودجت." + +msgid "plugins.generic.plumAnalytics.manager.settings.hookInstructions" +msgstr "إذا اخترت \"Plum Analytics Artifact Widget Block\"، فستحتاج أيضًا إلى إضافة الكتلة إلى التخطيط من \"الإعداد\"، ويمكنك تحديد عنوان للكتلة أدناه." + +msgid "plugins.generic.plumAnalytics.manager.settings.htmlPrefix" +msgstr "HTML قبل" + +msgid "plugins.generic.plumAnalytics.manager.settings.htmlSuffix" +msgstr "HTML بعد" + +msgid "plugins.generic.plumAnalytics.manager.settings.blockTitle" +msgstr "عنوان الكتلة" diff --git a/version.xml b/version.xml index 36c66b3..8da0d53 100644 --- a/version.xml +++ b/version.xml @@ -12,8 +12,8 @@ plumAnalytics plugins.generic - 1.5.0.0 - 2024-12-19 + 1.6.1.0 + 2025-08-24 1 PlumAnalyticsPlugin From 68f277a941d08b7e707a0b98d0d38cdf4a6cc35b Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:12:00 +0300 Subject: [PATCH 02/11] Update version.xml --- version.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.xml b/version.xml index 8da0d53..1f9e505 100644 --- a/version.xml +++ b/version.xml @@ -12,7 +12,7 @@ plumAnalytics plugins.generic - 1.6.1.0 + 1.6.0.0 2025-08-24 1 PlumAnalyticsPlugin From 8882e949365092d474d9512f14f5267b1b962163 Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:12:24 +0300 Subject: [PATCH 03/11] Update version.xml --- version.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.xml b/version.xml index 1f9e505..141388a 100644 --- a/version.xml +++ b/version.xml @@ -13,7 +13,7 @@ plumAnalytics plugins.generic 1.6.0.0 - 2025-08-24 + 2025-09-27 1 PlumAnalyticsPlugin From b8ee43b6d52998f0be0e1dcdaf8c49ecc08ad741 Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:12:49 +0300 Subject: [PATCH 04/11] Update PlumAnalyticsBlockPlugin.php --- PlumAnalyticsBlockPlugin.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/PlumAnalyticsBlockPlugin.php b/PlumAnalyticsBlockPlugin.php index d5a5bb7..0a172ca 100644 --- a/PlumAnalyticsBlockPlugin.php +++ b/PlumAnalyticsBlockPlugin.php @@ -4,9 +4,7 @@ * @file plugins/generic/plumAnalytics/PlumAnalyticsBlockPlugin.inc.php * * Copyright (c) 2018 University of Pittsburgh - * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. - * Modified by: Saddam Al-Slfi , Queen Arwa University — 2025-09-01 — OJS 3.4/3.5 upgrade - * + * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. * * @class PlumAnalyticsBlockPlugin * @ingroup plugins_generic_plumAnalytics * From 67d3e69ef833c6aab06de45b6f9e690eca9eca8f Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:13:21 +0300 Subject: [PATCH 05/11] Update PlumAnalyticsPlugin.php --- PlumAnalyticsPlugin.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/PlumAnalyticsPlugin.php b/PlumAnalyticsPlugin.php index ceebdea..6c4cb2e 100644 --- a/PlumAnalyticsPlugin.php +++ b/PlumAnalyticsPlugin.php @@ -5,8 +5,6 @@ * * Copyright (c) 2018 University of Pittsburgh * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. - * Modified by: Saddam Al-Slfi , Queen Arwa University — 2025-09-01 — OJS 3.4/3.5 upgrade - * * @class PlumAnalyticsPlugin * @ingroup plugins_generic_plumAnalytics * From fe816de7f87607c5ffe982c1b063388918e9c010 Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:14:02 +0300 Subject: [PATCH 06/11] Update PlumAnalyticsSettingsForm.php --- PlumAnalyticsSettingsForm.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/PlumAnalyticsSettingsForm.php b/PlumAnalyticsSettingsForm.php index ab4ef35..e3791e3 100644 --- a/PlumAnalyticsSettingsForm.php +++ b/PlumAnalyticsSettingsForm.php @@ -4,9 +4,7 @@ * @file plugins/generic/plumAnalytics/PlumAnalyticsSettingsForm.inc.php * * Copyright (c) 2018 University of Pittsburgh - * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. - * Modified by: Saddam Al-Slfi , Queen Arwa University — 2025-09-01 — OJS 3.4/3.5 upgrade - * + * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. * * @class PlumAnalyticsSettingsForm * @ingroup plugins_generic_plumAnalytics * From a1975a2b98f1d608646e9770a1f6df1c241c3e3f Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:14:35 +0300 Subject: [PATCH 07/11] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 9ce58f7..c4ee9b5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ -Unofficial fork of ulsdevteam/ojs-plum-plugin. Upgraded/maintained for OJS 3.4/3.5 by Saddam Al-Slfi. -saddamalsalfi@qau.edu.ye, Queen Arwa University # Plum Analytics Artifact Widget plugin for OJS From 4a84e73080605f0697ec839ebae38000099b3ac0 Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:15:38 +0300 Subject: [PATCH 08/11] Delete CITATION.cff --- CITATION.cff | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff deleted file mode 100644 index da97c21..0000000 --- a/CITATION.cff +++ /dev/null @@ -1,11 +0,0 @@ -cff-version: 1.2.0 -title: OJS Plum Analytics plugin (Unofficial fork) -message: "If you use this software, please cite it as below." -authors: - - family-names: Al-Slfi - given-names: Saddam - affiliation: Queen Arwa University - email: saddamalsalfi@qau.edu.ye -repository-code: https://github.com/saddamalsalfi/ojs-plum-plugin -version: 1.6.1.0 -date-released: 2025-08-24 From a379afbb19327f058b0771f950ffd255a76ef5ee Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:15:51 +0300 Subject: [PATCH 09/11] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38fbe86..714677c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 1.6.1.0 — 2025-08-24 +## 1.6.0.0 — 2025-08-24 - Compatibility updates for OJS 3.4/3.5. - Added Arabic locale (`locale/ar/locale.po`). - PHP 7/8+ return typehints on selected methods. From 83e7c8fceb7ce6fbb83e20f6ab746d3c44e36999 Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:16:13 +0300 Subject: [PATCH 10/11] Update CHANGELOG.md --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 714677c..1ddec44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,5 +5,3 @@ - Added Arabic locale (`locale/ar/locale.po`). - PHP 7/8+ return typehints on selected methods. - Minor cleanup. - -Maintainer: Saddam Al-Slfi — saddamalsalfi@qau.edu.ye, Queen Arwa University From b1889784c9c974edd551d2cb32c54e5885787014 Mon Sep 17 00:00:00 2001 From: Saddam Al-Slfi Date: Sat, 27 Sep 2025 02:16:27 +0300 Subject: [PATCH 11/11] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ddec44..c6a6eae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 1.6.0.0 — 2025-08-24 +## 1.6.0.0 — 2025-09-27 - Compatibility updates for OJS 3.4/3.5. - Added Arabic locale (`locale/ar/locale.po`). - PHP 7/8+ return typehints on selected methods.