primo commit
This commit is contained in:
1
plugins/system/show_attachments/index.html
Normal file
1
plugins/system/show_attachments/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1,9 @@
|
||||
; en-GB.plg_system_show_attachments.ini
|
||||
; Attachments for Joomla! extension
|
||||
; Copyright (C) 2009-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_SHOW_ATTACHMENTS_IN_EDITOR_PLUGIN_DESCRIPTION="The show attachments in editor system plugin displays the list of attachments in the article/content editor."
|
||||
@ -0,0 +1,10 @@
|
||||
; en-GB.plg_system_show_attachments.sys.ini
|
||||
; Attachments for Joomla! extension
|
||||
; Copyright (C) 2009-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_SHOW_ATTACHMENTS_IN_EDITOR_PLUGIN_DESCRIPTION="The show attachments in editor system plugin displays the list of attachments in the article/content editor."
|
||||
PLG_SYSTEM_SHOW_ATTACHMENTS_IN_EDITOR="System - Show attachments in editor"
|
||||
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
1
plugins/system/show_attachments/language/index.html
Normal file
1
plugins/system/show_attachments/language/index.html
Normal file
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1 @@
|
||||
<html><body bgcolor="#FFFFFF"></body></html>
|
||||
@ -0,0 +1,9 @@
|
||||
; it-IT.plg_system_show_attachments.ini
|
||||
; Attachments for Joomla! extension
|
||||
; Copyright (C) 2009-2013 Jonathan M. Cameron, All rights reserved.
|
||||
; License GNU GPL 3: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
; Italian translation by: Piero Mattirolo (2.0, 3.0), Lemminkainen (version 1.3.4)
|
||||
|
||||
ATTACH_SHOW_ATTACHMENTS_IN_EDITOR_PLUGIN_DESCRIPTION="Questo plugin di sistema visualizza la lista degli allegati nella pagina di modifica articolo/elemento di contenuto."
|
||||
@ -0,0 +1,10 @@
|
||||
; it-IT.plg_system_show_attachments.sys.ini
|
||||
; Attachments for Joomla! extension
|
||||
; Copyright (C) 2009-2013 Jonathan M. Cameron, All rights reserved.
|
||||
; License GNU GPL 3: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
; Note : All ini files need to be saved as UTF-8 - No BOM
|
||||
|
||||
; Italian translation by: Piero Mattirolo (2.0, 3.0), Lemminkainen (version 1.3.4)
|
||||
|
||||
ATTACH_SHOW_ATTACHMENTS_IN_EDITOR_PLUGIN_DESCRIPTION="Questo plugin di sistema visualizza la lista degli allegati nella pagina di modifica articolo/elemento di contenuto."
|
||||
PLG_SYSTEM_SHOW_ATTACHMENTS_IN_EDITOR="Sistema - Mostra gli allegati nell'editor"
|
||||
262
plugins/system/show_attachments/show_attachments.php
Normal file
262
plugins/system/show_attachments/show_attachments.php
Normal file
@ -0,0 +1,262 @@
|
||||
<?php
|
||||
/**
|
||||
* System plugin to display the existing attachments in the editor
|
||||
*
|
||||
* @package Attachments
|
||||
* @subpackage Show_Attachments_In_Editor_Plugin
|
||||
*
|
||||
* @copyright Copyright (C) 2009-2018 Jonathan M. Cameron, All Rights Reserved
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
|
||||
* @link http://joomlacode.org/gf/project/attachments/frs/
|
||||
* @author Jonathan M. Cameron
|
||||
*/
|
||||
|
||||
// no direct access
|
||||
defined( '_JEXEC' ) or die('Restricted access');
|
||||
|
||||
jimport('joomla.plugin.plugin');
|
||||
|
||||
/** Load the Attachments defines (if available) */
|
||||
if (file_exists(JPATH_SITE.'/components/com_attachments/defines.php'))
|
||||
{
|
||||
require_once(JPATH_SITE . '/components/com_attachments/defines.php');
|
||||
require_once(JPATH_SITE . '/components/com_attachments/helper.php');
|
||||
require_once(JPATH_SITE . '/components/com_attachments/javascript.php');
|
||||
}
|
||||
else
|
||||
{
|
||||
// Exit quietly if the attachments component has been uninstalled or deleted
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Show Attachments in Editor system plugin
|
||||
*
|
||||
* @package Attachments
|
||||
*/
|
||||
class plgSystemShow_attachments extends JPlugin
|
||||
{
|
||||
|
||||
/**
|
||||
* Attach the Attachments CSS sheets for category pages
|
||||
*
|
||||
* @param string The context of the content being passed to the plugin.
|
||||
* @param object The article object. Note $article->text is also available
|
||||
* @param object The article params
|
||||
* @param int The 'page' number
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function onContentPrepare($context, &$row, &$params, $page = 0)
|
||||
{
|
||||
$view = JRequest::getCmd('view');
|
||||
$layout = JRequest::getWord('layout');
|
||||
|
||||
if ( $view == 'category' ) {
|
||||
|
||||
$app = JFactory::getApplication();
|
||||
if ( $app->isAdmin() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Note if this is a category view, we must add attachment
|
||||
// javascript and CSS whether we know there are going to be
|
||||
// attachments later or not because when the attachments list is
|
||||
// created it, it is in the onAfterRender() callback, which means
|
||||
// that the headers have already been rendered, so we cannot go
|
||||
// go back and add headers (easily)
|
||||
|
||||
// Not necessary in more recent versions of Joomla since it can
|
||||
// handled by the normal Attachments onContentPrepare callback
|
||||
if (version_compare(JVERSION, '3.1', 'ge') OR version_compare(JVERSION, '2.5.10', 'ge')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$uri = JFactory::getURI();
|
||||
$base_url = $uri->root(true);
|
||||
AttachmentsJavascript::setupJavascript();
|
||||
AttachmentsJavascript::setupModalJavascript();
|
||||
|
||||
// Add the style sheets
|
||||
JHtml::stylesheet('com_attachments/attachments_list.css', array(), true);
|
||||
JHtml::stylesheet('com_attachments/attachments_hide.css', array(), true);
|
||||
$lang = JFactory::getLanguage();
|
||||
if ( $lang->isRTL() ) {
|
||||
JHtml::stylesheet('com_attachments/attachments_list_rtl.css', array(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Inserts the attachments list above the row of xtd-buttons
|
||||
*
|
||||
* And in older versions, inserts the attachments list for category
|
||||
* descriptions.
|
||||
*
|
||||
* @access public
|
||||
* @since 1.5
|
||||
*/
|
||||
public function onAfterRender()
|
||||
{
|
||||
$task = JRequest::getCmd('task');
|
||||
$view = JRequest::getCmd('view');
|
||||
$layout = JRequest::getWord('layout');
|
||||
|
||||
// Make sure this we should handle this
|
||||
$parent_type = JRequest::getCMD('option');
|
||||
if (!$parent_type) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Handle the special case of Global Config for Attachments 3.x
|
||||
if (version_compare(JVERSION, '3.0', 'ge'))
|
||||
{
|
||||
if (($parent_type == 'com_config') AND ($task == '') AND ($view == ''))
|
||||
{
|
||||
// Force use of the Attachments options editor
|
||||
|
||||
// option=com_config&view=component&component=com_attachments
|
||||
$body = JResponse::getBody();
|
||||
$body = str_replace('option=com_config&view=component&component=com_attachments',
|
||||
'option=com_attachments&task=params.edit', $body);
|
||||
JResponse::setBody($body);
|
||||
}
|
||||
}
|
||||
|
||||
// Handle attachments
|
||||
$parent_entity = 'default';
|
||||
|
||||
// Handle categories specially (since they are really com_content)
|
||||
if ($parent_type == 'com_categories') {
|
||||
$parent_type = 'com_content';
|
||||
$parent_entity = 'category';
|
||||
}
|
||||
|
||||
// Get the article/parent handler
|
||||
if ( !JPluginHelper::importPlugin('attachments') ) {
|
||||
// Exit if the framework does not exist (eg, during uninstallaton)
|
||||
return false;
|
||||
}
|
||||
if ( !function_exists('getAttachmentsPluginManager') ) {
|
||||
// Exit if the function does not exist (eg, during uninstallaton)
|
||||
return false;
|
||||
}
|
||||
$apm = getAttachmentsPluginManager();
|
||||
if ( !$apm->attachmentsPluginInstalled($parent_type) ) {
|
||||
// Exit if there is no Attachments plugin to handle this parent_type
|
||||
return false;
|
||||
}
|
||||
$parent = $apm->getAttachmentsPlugin($parent_type);
|
||||
|
||||
// Get the parent ID
|
||||
$parent_entity = $parent->getCanonicalEntityId($parent_entity);
|
||||
$parent_id = $parent->getParentIdInEditor($parent_entity, $view, $layout);
|
||||
|
||||
// Exit if we do not have an parent (exiting or being created)
|
||||
if ($parent_id === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
// See if this type of content suports displaying attachments in its editor
|
||||
if ($parent->showAttachmentsInEditor($parent_entity, $view, $layout))
|
||||
{
|
||||
// Get the article/parent handler
|
||||
$user_can_add = $parent->userMayAddAttachment($parent_id, $parent_entity);
|
||||
|
||||
// Allow remapping of parent ID (eg, for Joomfish)
|
||||
if (jimport('attachments_remapper.remapper'))
|
||||
{
|
||||
$parent_id = AttachmentsRemapper::remapParentID($parent_id, $parent_type, $parent_entity);
|
||||
}
|
||||
|
||||
// Force the ID to zero when creating the entity
|
||||
if ( !$parent_id ) {
|
||||
$parent_id = 0;
|
||||
}
|
||||
|
||||
// Construct the attachment list
|
||||
$Itemid = JRequest::getInt( 'Itemid', 1);
|
||||
$from = 'editor';
|
||||
$attachments = AttachmentsHelper::attachmentsListHTML($parent_id, $parent_type, $parent_entity,
|
||||
$user_can_add, $Itemid, $from, false, true);
|
||||
|
||||
// If the attachments list is empty, insert an empty div for it
|
||||
if ( $attachments == '' ) {
|
||||
jimport('joomla.application.component.helper');
|
||||
$params = JComponentHelper::getParams('com_attachments');
|
||||
$class_name = $params->get('attachments_table_style', 'attachmentsList');
|
||||
$div_id = 'attachmentsList' . '_' . $parent_type . '_' . $parent_entity . '_' . (string)$parent_id;
|
||||
$attachments = "\n<div class=\"$class_name\" id=\"$div_id\"></div>\n";
|
||||
}
|
||||
|
||||
// Insert the attachments above the editor buttons
|
||||
// NOTE: Assume that anyone editing the article can see its attachments
|
||||
$body = $parent->insertAttachmentsListInEditor($parent_id, $parent_entity,
|
||||
$attachments, JResponse::getBody());
|
||||
JResponse::setBody($body);
|
||||
}
|
||||
|
||||
elseif ( $parent_id && ($view == 'category') )
|
||||
{
|
||||
// Only dislay this in the front end
|
||||
$app = JFactory::getApplication();
|
||||
if ( $app->isAdmin() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// More recent versions of Joomla allow this to be handled better
|
||||
// by the normal Attachments onContentPrepare callback
|
||||
if (version_compare(JVERSION, '3.1', 'ge') OR
|
||||
(version_compare(JVERSION, '2.5.10', 'ge') AND version_compare(JVERSION, '3.0', 'lt'))) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Display attachments lists for category descriptions
|
||||
$parent_entity = 'category';
|
||||
|
||||
// Add the refresh Javascript
|
||||
$uri = JFactory::getURI();
|
||||
$base_url = $uri->root(true);
|
||||
$doc = JFactory::getDocument();
|
||||
|
||||
// Allow remapping of parent ID (eg, for Joomfish)
|
||||
if (jimport('attachments_remapper.remapper'))
|
||||
{
|
||||
$parent_id = AttachmentsRemapper::remapParentID($parent_id, $parent_type, $parent_entity);
|
||||
}
|
||||
|
||||
// Figure out if the attachments list should be visible for this category
|
||||
jimport('joomla.application.component.helper');
|
||||
$params = JComponentHelper::getParams('com_attachments');
|
||||
|
||||
$always_show_category_attachments = $params->get('always_show_category_attachments', false);
|
||||
$all_but_article_views = $params->get('hide_except_article_views', false);
|
||||
if ( $all_but_article_views && !$always_show_category_attachments ) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Construct the attachment list
|
||||
$Itemid = JRequest::getInt( 'Itemid', 1);
|
||||
$from = 'frontpage';
|
||||
$user_can_add = $parent->userMayAddAttachment($parent_id, $parent_entity);
|
||||
$attachments = AttachmentsHelper::attachmentsListHTML($parent_id, $parent_type, $parent_entity,
|
||||
$user_can_add, $Itemid, $from, true, $user_can_add);
|
||||
|
||||
// If the attachments list is empty, insert an empty div for it
|
||||
if ( $attachments == '' ) {
|
||||
jimport('joomla.application.component.helper');
|
||||
$class_name = $params->get('attachments_table_style', 'attachmentsList');
|
||||
$div_id = 'attachmentsList' . '_' . $parent_type . '_' . $parent_entity . '_' . (string)$parent_id;
|
||||
$attachments = "\n<div class=\"$class_name\" id=\"$div_id\"></div>\n";
|
||||
}
|
||||
|
||||
// Insert the attachments after the category description
|
||||
$reptag = '<div class="clr"></div>';
|
||||
$body = JResponse::getBody();
|
||||
$body = str_replace($reptag, $attachments . $reptag, $body);
|
||||
JResponse::setBody($body);
|
||||
}
|
||||
}
|
||||
}
|
||||
19
plugins/system/show_attachments/show_attachments.xml
Normal file
19
plugins/system/show_attachments/show_attachments.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension type="plugin" group="system" version="2.5" method="upgrade">
|
||||
<name>plg_system_show_attachments_in_editor</name>
|
||||
<version>3.2.6</version>
|
||||
<creationDate>March 26, 2018</creationDate>
|
||||
<author>Jonathan M. Cameron</author>
|
||||
<copyright>(C) 2011-2018 Jonathan M. Cameron. All rights reserved.</copyright>
|
||||
<license>http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL</license>
|
||||
<authorEmail>jmcameron@jmcameron.net</authorEmail>
|
||||
<authorUrl>http://joomlacode.org/gf/project/attachments/</authorUrl>
|
||||
<description>ATTACH_SHOW_ATTACHMENTS_IN_EDITOR_PLUGIN_DESCRIPTION</description>
|
||||
|
||||
<files>
|
||||
<filename plugin="show_attachments">show_attachments.php</filename>
|
||||
<filename>index.html</filename>
|
||||
<folder>language</folder>
|
||||
</files>
|
||||
|
||||
</extension>
|
||||
Reference in New Issue
Block a user