From e106799452412e55dc0d15f35502eca8fda7133b Mon Sep 17 00:00:00 2001 From: JLTRY Date: Wed, 11 Dec 2024 20:33:36 +0100 Subject: [PATCH] Issue #92 show attachments in a popup implement Issue #92 correct also language $lang->load('plg_attachments_framework') --- attachments_component/admin/config.xml | 3 +- .../admin/src/View/Add/HtmlView.php | 3 ++ .../site/tmpl/attachments/default.php | 40 +++++++++++++++++-- .../src/PlgAttachmentsFramework.php | 4 +- .../fr-FR/fr-FR.pkg_attachments.sys.ini | 11 +++++ 5 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 pkg_attachments/language/fr-FR/fr-FR.pkg_attachments.sys.ini diff --git a/attachments_component/admin/config.xml b/attachments_component/admin/config.xml index a806d206..898eaaf7 100644 --- a/attachments_component/admin/config.xml +++ b/attachments_component/admin/config.xml @@ -188,11 +188,12 @@ label="ATTACH_CSS_STYLE_FOR_ATTACHMENTS_TABLES" size="40" description="ATTACH_CSS_STYLE_FOR_ATTACHMENTS_TABLES_DESCRIPTION"> - + getLanguage(); + $lang->load('plg_attachments_framework', JPATH_PLUGINS . '/attachments/framework'); // For convenience below $attachment = $this->attachment; $parent_id = $attachment->parent_id; diff --git a/attachments_component/site/tmpl/attachments/default.php b/attachments_component/site/tmpl/attachments/default.php index 43d1267a..dec95411 100644 --- a/attachments_component/site/tmpl/attachments/default.php +++ b/attachments_component/site/tmpl/attachments/default.php @@ -211,8 +211,40 @@ $tooltip = Text::sprintf('ATTACH_ACCESS_THIS_URL_S', $attachment->url); } } - $html .= ""; - $html .= HTMLHelper::image('com_attachments/file_icons/'.$icon, $tooltip, null, true); + if ( $this->file_link_open_mode == 'in_a_popup' ) { + $a_class = 'modal-button mx-2'; + } else { + $a_class = 'at_icon'; + } + if ( $this->file_link_open_mode == 'in_a_popup' ) { + $randomId = base64_encode('show'.$actual_filename); + // Remove +,/,= from the $randomId + $randomId = strtr($randomId, "+/=", "AAA"); + $modalParams['title'] = $this->escape($tooltip); + $modalParams['url'] = $url; + $modalParams['height'] = '80%'; + $modalParams['width'] = '80%'; + $modalParams['bodyHeight'] = '800'; + $modalParams['modalWidth'] = '1000'; + $html .= LayoutHelper::render( + 'libraries.html.bootstrap.modal.main', + [ + 'selector' => 'modal-' . $randomId, + 'body' => "", + 'params' => $modalParams + ] + ); + + $show_link = ""; + $show_link .= HTMLHelper::image('com_attachments/file_icons/'.$icon, $tooltip, null, true); + $show_link .= " " . $filename . ""; + } + else { + $show_link = ""; + $show_link .= HTMLHelper::image('com_attachments/file_icons/'.$icon, $tooltip, null, true); + } + $html .= $show_link; if ( ($attachment->uri_type == 'url') && $this->superimpose_link_icons ) { if ( $attachment->url_valid ) { $html .= HTMLHelper::image('com_attachments/file_icons/link_arrow.png', '', 'class="link_overlay"', true); @@ -222,7 +254,9 @@ } } $html .= ""; - $html .= "$filename"; + if ( $this->file_link_open_mode != 'in_a_popup' ) { + $html .= "$filename"; + } } else { $tooltip = Text::sprintf('ATTACH_DOWNLOAD_THIS_FILE_S', $actual_filename); diff --git a/attachments_plugin_framework/src/PlgAttachmentsFramework.php b/attachments_plugin_framework/src/PlgAttachmentsFramework.php index a2bcae73..24a76653 100644 --- a/attachments_plugin_framework/src/PlgAttachmentsFramework.php +++ b/attachments_plugin_framework/src/PlgAttachmentsFramework.php @@ -328,7 +328,7 @@ public function getCanonicalEntityId($parent_entity) else { $lang = $this->app->getLanguage(); - $lang->load('plg_attachments_plugin_framework', JPATH_PLUGINS . '/attachments/framework'); + $lang->load('plg_attachments_framework', JPATH_PLUGINS . '/attachments/framework'); $errmsg = Text::sprintf('ATTACH_ERROR_INVALID_ENTITY_S_FOR_PARENT_S', $parent_entity, $this->parent_type) . ' (ERR 300)'; throw new \Exception($errmsg, 500); } @@ -922,8 +922,6 @@ public function insertAttachmentsList(&$content, $parent_id, $parent_entity) { $attachments_tag[] = $match[0]; } - - var_dump($match); if (($attachments_placement === "custom") && isset($match["arguments"]) && $match["arguments"]) { $attachments_tag_args_raw = $match["arguments"]; diff --git a/pkg_attachments/language/fr-FR/fr-FR.pkg_attachments.sys.ini b/pkg_attachments/language/fr-FR/fr-FR.pkg_attachments.sys.ini new file mode 100644 index 00000000..a82d3921 --- /dev/null +++ b/pkg_attachments/language/fr-FR/fr-FR.pkg_attachments.sys.ini @@ -0,0 +1,11 @@ +; en-GB.com_attachments.sys.ini (installation) +; Attachments for Joomla! extension +; Copyright (C) 2011-2018 Jonathan M. Cameron, All rights reserved. +; License http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL +; Note : All ini files need to be saved as UTF-8 - No BOM + +; English translation + +ATTACH_PACKAGE_ATTACHMENTS_FOR_JOOMLA_40PLUS="Attachments pour Joomla 4.0+" +ATTACH_PACKAGE_NOTICE_UNINSTALL_PACKAGE_S="Pour désinstaller l'extensions attachements, désinstaller le package '%s'!" +PKG_ATTACHMENTS="Package: Attachments pour Joomla 4.0+"