diff --git a/Makefile b/Makefile index a370e2a7..7becf85f 100644 --- a/Makefile +++ b/Makefile @@ -10,6 +10,7 @@ all: parts $(ZIPFILE) INSTALLS = attachments_plugin \ add_attachment_btn_plugin \ + insert_attachments_id_token_btn_plugin \ insert_attachments_token_btn_plugin \ attachments_plugin_framework \ attachments_for_content \ diff --git a/attachments_component/admin/language/el-GR/el-GR.com_attachments.ini b/attachments_component/admin/language/el-GR/el-GR.com_attachments.ini index 018917c7..1145058e 100644 --- a/attachments_component/admin/language/el-GR/el-GR.com_attachments.ini +++ b/attachments_component/admin/language/el-GR/el-GR.com_attachments.ini @@ -12,6 +12,8 @@ ATTACH_ACCESS_THIS_ATTACHMENT_TITLE="Προσπέλασε/κάνε λήψη αυ ATTACH_ADDED_DATA_FOR_N_ATTACHMENTS="Προστέθηκαν δεδομένα για %d συνημμένα!" ATTACH_ADDED_ICON_FILENAMES_TO_N_ATTACHMENTS="Προστέθηκαν ονόματα αρχείων εικονιδίων σε %d συνημμένα." ATTACH_ADD_ATTACHMENT="Προσθήκη συνημμένου" +ATTACH_ADD_ATTACHMENT_IDS="Προσθήκη επιλεγμένων συνημμένων" +ATTACH_ADD_ATTACHMENT_IDS_DESCRIPTION="Αυτή είναι μια λίστα των συνημμένων που έχουν ήδη προστεθεί στο άρθρο/κατηγορία. Επιλέξτε αυτό(ά) που θέλετε να προσθέσετε χρησιμοποιώντας την ένδειξη και πατήστε το κουμπί 'Προσθήκη επιλεγμένων συνημμένων'." ATTACH_ADD_ATTACHMENT_TITLE="Πρόσθεσε συνημμένο σε αυτό το άρθρο ή αντικείμενο περιεχομένου" ATTACH_ADD_ATTACHMENT_TO_S_INSTEAD_OF_S_TOOLTIP="Πρόσθεσε το συνημμένο σε %s (αντί για %s)" ATTACH_ADD_URL="Προσθήκη URL" diff --git a/attachments_component/admin/language/en-GB/en-GB.com_attachments.ini b/attachments_component/admin/language/en-GB/en-GB.com_attachments.ini index 605171e8..0a848d30 100644 --- a/attachments_component/admin/language/en-GB/en-GB.com_attachments.ini +++ b/attachments_component/admin/language/en-GB/en-GB.com_attachments.ini @@ -12,6 +12,8 @@ ATTACH_ACCESS_THIS_ATTACHMENT_TITLE="Access/download this attachment" ATTACH_ADDED_DATA_FOR_N_ATTACHMENTS="Added data for %d attachments!" ATTACH_ADDED_ICON_FILENAMES_TO_N_ATTACHMENTS="Added icon filenames to %d attachment(s)." ATTACH_ADD_ATTACHMENT="Add attachment" +ATTACH_ADD_ATTACHMENT_IDS="Add selected attachments" +ATTACH_ADD_ATTACHMENT_IDS_DESCRIPTION="This is a list of attachments already added the the article/category. Select which one(s) you want to insert using the token and press the 'Add selected attachments' button." ATTACH_ADD_ATTACHMENT_TITLE="Add attachment to this article or content item" ATTACH_ADD_ATTACHMENT_TO_S_INSTEAD_OF_S_TOOLTIP="Add the attachment to a %s (instead of %s)" ATTACH_ADD_URL="Add URL" diff --git a/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.ini b/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.ini index 95835319..a6ea57a4 100644 --- a/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.ini +++ b/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.ini @@ -12,6 +12,8 @@ ATTACH_ACCESS_THIS_ATTACHMENT_TITLE="Voir/télécharger cette pièce jointe" ATTACH_ADDED_DATA_FOR_N_ATTACHMENTS="Donnée ajoutée pour %d pièces jointes!" ATTACH_ADDED_ICON_FILENAMES_TO_N_ATTACHMENTS="Icône ajoutée à %d pièce(s)-jointe(s)." ATTACH_ADD_ATTACHMENT="Ajouter une pièce jointe" +ATTACH_ADD_ATTACHMENT_IDS="Ajoute la(les) pièces jointe(s) sélectionnée(s)" +ATTACH_ADD_ATTACHMENT_IDS_DESCRIPTION="Si desssous vous avez la liste des pièces jointes déjà ajoutées à l'article/la catégorie. Selectionnez celle(s) qu vous voulez ajouter avec le token et apputer sur le bouton 'Ajoute la(les) pièces jointe(s) sélectionnée(s)'." ATTACH_ADD_ATTACHMENT_TITLE="Ajouter la pièce jointe à l'article ou au contenu" ATTACH_ADD_ATTACHMENT_TO_S_INSTEAD_OF_S_TOOLTIP="Ajouter la pièce jointe à un %s (Au lieu de %s)" ATTACH_ADD_URL="Ajouter l'adresse" diff --git a/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.sys.ini b/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.sys.ini index 4f37cdf0..661503a6 100644 --- a/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.sys.ini +++ b/attachments_component/admin/language/fr-FR/fr-FR.com_attachments.sys.ini @@ -13,3 +13,4 @@ ATTACH_PACKAGE_ATTACHMENTS_FOR_JOOMLA_16PLUS="Attachments pour Joomla 2.5+" ATTACH_PLEASE_REPORT_BUGS_AND_SUGGESTIONS_TO_S="Merci de signaler les bugs et vos suggestions à %s" COM_ATTACHMENTS="Attachments" COM_ATTACHMENTS_CONFIGURATION="Configuration du composant Attachments" +ATTACH_PACKAGE_NOTICE_UNINSTALL_PACKAGE_S="Pou désinstaller l'extension 'Attachments, désinstaller le Package '%s'!" diff --git a/attachments_component/admin/src/Model/AttachmentsModel.php b/attachments_component/admin/src/Model/AttachmentsModel.php index 5e36f815..222ddc45 100644 --- a/attachments_component/admin/src/Model/AttachmentsModel.php +++ b/attachments_component/admin/src/Model/AttachmentsModel.php @@ -45,6 +45,7 @@ public function __construct($config = array()) if (empty($config['filter_fields'])) { $config['filter_fields'] = array( 'id', + 'parent_id', 'a.state', 'a.access', 'a.filename', @@ -80,7 +81,11 @@ protected function getListQuery() /** @var \Joomla\Database\DatabaseDriver $db */ $db = Factory::getContainer()->get('DatabaseDriver'); $query = $db->getQuery(true); - + $id = $this->getState('filter.parent_id'); + if (is_numeric($id)) + { + $query->where('a.parent_id = ' . (int) $id); + } $query->select('a.*, a.id as id'); $query->from('#__attachments as a'); diff --git a/attachments_component/admin/src/View/Attachments/HtmlView.php b/attachments_component/admin/src/View/Attachments/HtmlView.php index 6378fd13..96c5f6bf 100644 --- a/attachments_component/admin/src/View/Attachments/HtmlView.php +++ b/attachments_component/admin/src/View/Attachments/HtmlView.php @@ -16,6 +16,7 @@ use JMCameron\Component\Attachments\Administrator\Helper\AttachmentsPermissions; use JMCameron\Component\Attachments\Site\Helper\AttachmentsDefines; use JMCameron\Plugin\AttachmentsPluginFramework\AttachmentsPluginManager; +use JMCameron\Component\Attachments\Administrator\Model\AttachmentsModel; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; @@ -52,10 +53,18 @@ public function display($tpl = null) return; } + $app = Factory::getApplication(); + $jinput = $app->getInput(); + $this->editor = $jinput->getString('editor', null); + $id = $jinput->getInt('parent_id', null); + if ($id) { + $model = $this->getModel(); + $model->setState('filter.parent_id', $id); + } $this->items = $this->get('Items'); $this->state = $this->get('State'); $this->pagination = $this->get('Pagination'); - + // Check for errors. if (count($errors = $this->get('Errors'))) { throw new \Exception(implode("\n", $errors) . ' (ERR 175)', 500); @@ -166,9 +175,22 @@ public function display($tpl = null) } // Set the toolbar - $this->addToolBar(); + if ( !$this->editor ) { + $this->addToolBar(); + } // Display the attachments + if ( $this->editor ) { + $document = Factory::getDocument(); + HTMLHelper::_('jquery.framework'); + $document->addScriptDeclaration('function insertAttachmentsIdToken($, editorName) { + let editor = parent.Joomla.editors.instances[editorName]; + var adminform = document.getElementById("adminForm"); + var Data = new FormData(adminform); + editor.replaceSelection("{attachments id=" + Data.getAll("cid[]") +"}"); + $(".btn-close", parent.document).click(); + }'); + } parent::display($tpl); } diff --git a/attachments_component/admin/tmpl/attachments/default.php b/attachments_component/admin/tmpl/attachments/default.php index b6b1a0c7..458e20c1 100644 --- a/attachments_component/admin/tmpl/attachments/default.php +++ b/attachments_component/admin/tmpl/attachments/default.php @@ -14,8 +14,10 @@ use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Router\Route; +use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; + // No direct access defined('_JEXEC') or die('Restricted access'); @@ -31,7 +33,15 @@ ?>