diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..c6a6eae --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Changelog + +## 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. +- Minor cleanup. diff --git a/PlumAnalyticsBlockPlugin.php b/PlumAnalyticsBlockPlugin.php index af2f076..0a172ca 100644 --- a/PlumAnalyticsBlockPlugin.php +++ b/PlumAnalyticsBlockPlugin.php @@ -4,8 +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. - * + * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. * * @class PlumAnalyticsBlockPlugin * @ingroup plugins_generic_plumAnalytics * @@ -41,13 +40,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 +55,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 +63,7 @@ function getDisplayName() { * Get a description of the plugin. * @return String */ - function getDescription() { + function getDescription(): string { return __('plugins.generic.plumAnalytics.block.description'); } @@ -72,7 +71,7 @@ function getDescription() { * Hide this plugin from the management interface (it's subsidiary) * @return boolean */ - function getHideManagement() { + function getHideManagement(): bool { return true; } @@ -80,7 +79,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 +96,7 @@ function &getPlumPlugin() { * Override the builtin to get the correct plugin path. * @return string */ - function getPluginPath() { + function getPluginPath(): string { return $this->pluginPath; } @@ -105,7 +104,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 +112,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 +123,7 @@ function getContents($templateMgr, $request = null) { return parent::getContents($templateMgr); } } - return false; + return ''; } } diff --git a/PlumAnalyticsPlugin.php b/PlumAnalyticsPlugin.php index b1a2d33..6c4cb2e 100644 --- a/PlumAnalyticsPlugin.php +++ b/PlumAnalyticsPlugin.php @@ -5,7 +5,6 @@ * * Copyright (c) 2018 University of Pittsburgh * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. - * * @class PlumAnalyticsPlugin * @ingroup plugins_generic_plumAnalytics * @@ -76,7 +75,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 +98,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 +106,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 +254,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..e3791e3 100644 --- a/PlumAnalyticsSettingsForm.php +++ b/PlumAnalyticsSettingsForm.php @@ -4,8 +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. - * + * Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING. * * @class PlumAnalyticsSettingsForm * @ingroup plugins_generic_plumAnalytics * @@ -92,7 +91,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..c4ee9b5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ + # 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..141388a 100644 --- a/version.xml +++ b/version.xml @@ -12,8 +12,8 @@