From 71e04c5b3c1dcd41ca0e4f38534e718dfbf47340 Mon Sep 17 00:00:00 2001 From: Salman Murad Date: Tue, 21 Jan 2025 02:48:43 -0600 Subject: [PATCH] pkp#10837 ojs stable 3.3.0 Add image code and list to announcement desc toolbar --- .../announcement/PKPAnnouncementForm.inc.php | 18 +++++++++++++++--- pages/management/ManagementHandler.inc.php | 6 +++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/classes/components/forms/announcement/PKPAnnouncementForm.inc.php b/classes/components/forms/announcement/PKPAnnouncementForm.inc.php index de2b9930d47..9d6a92fee34 100644 --- a/classes/components/forms/announcement/PKPAnnouncementForm.inc.php +++ b/classes/components/forms/announcement/PKPAnnouncementForm.inc.php @@ -32,8 +32,10 @@ class PKPAnnouncementForm extends FormComponent { * @param $action string URL to submit the form to * @param $locales array Supported locales * @param $announcementContext Context The context to get supported announcement types + * @param $temporaryFileApiUrl string URL to upload files to + * @param $imageUploadUrl string The API endpoint for images uploaded through the rich text field */ - public function __construct($action, $locales, $announcementContext) { + public function __construct($action, $locales, $announcementContext, $temporaryFileApiUrl, $imageUploadUrl) { $this->action = $action; $this->locales = $locales; @@ -46,14 +48,24 @@ public function __construct($action, $locales, $announcementContext) { 'label' => __('manager.announcements.form.descriptionShort'), 'description' => __('manager.announcements.form.descriptionShortInstructions'), 'isMultilingual' => true, + 'toolbar' => 'bold italic superscript subscript | link | blockquote bullist numlist | image | code', + 'plugins' => 'paste,link,image,lists,code', + 'uploadUrl' => $imageUploadUrl, + 'options' => [ + 'url' => $temporaryFileApiUrl, + ], ])) ->addField(new FieldRichTextarea('description', [ 'label' => __('manager.announcements.form.description'), 'description' => __('manager.announcements.form.descriptionInstructions'), 'isMultilingual' => true, 'size' => 'large', - 'toolbar' => 'bold italic superscript subscript | link | blockquote bullist numlist', - 'plugins' => 'paste,link,lists', + 'toolbar' => 'bold italic superscript subscript | link | blockquote bullist numlist | image | code', + 'plugins' => 'paste,link,image,lists,code', + 'uploadUrl' => $imageUploadUrl, + 'options' => [ + 'url' => $temporaryFileApiUrl, + ], ])) ->addField(new FieldText('dateExpire', [ 'label' => __('manager.announcements.form.dateExpire'), diff --git a/pages/management/ManagementHandler.inc.php b/pages/management/ManagementHandler.inc.php index 9f46322b926..ac2dba0fff5 100644 --- a/pages/management/ManagementHandler.inc.php +++ b/pages/management/ManagementHandler.inc.php @@ -315,6 +315,10 @@ function announcements($args, $request) { $templateMgr = TemplateManager::getManager($request); $this->setupTemplate($request); + $context = $request->getContext(); + $dispatcher = $request->getDispatcher(); + $temporaryFileApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(), 'temporaryFiles'); + $publicFileApiUrl = $dispatcher->url($request, ROUTE_API, $context->getPath(), '_uploadPublicFile'); $apiUrl = $request->getDispatcher()->url($request, ROUTE_API, $request->getContext()->getPath(), 'announcements'); $supportedFormLocales = $request->getContext()->getSupportedFormLocales(); @@ -323,7 +327,7 @@ function announcements($args, $request) { return ['key' => $localeKey, 'label' => $localeNames[$localeKey]]; }, $supportedFormLocales); - $announcementForm = new \PKP\components\forms\announcement\PKPAnnouncementForm($apiUrl, $locales, $request->getContext()); + $announcementForm = new \PKP\components\forms\announcement\PKPAnnouncementForm($apiUrl, $locales, $request->getContext(), $temporaryFileApiUrl, $publicFileApiUrl); $getParams = [ 'contextIds' => $request->getContext()->getId(),