primo commit
This commit is contained in:
@ -0,0 +1,129 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Joomla.Administrator
|
||||
* @subpackage com_media
|
||||
*
|
||||
* @copyright (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
*/
|
||||
|
||||
namespace Joomla\Component\Media\Administrator\Plugin;
|
||||
|
||||
use Joomla\CMS\Event\Model\PrepareFormEvent;
|
||||
use Joomla\CMS\Form\Form;
|
||||
use Joomla\CMS\HTML\HTMLHelper;
|
||||
use Joomla\CMS\Plugin\CMSPlugin;
|
||||
|
||||
// phpcs:disable PSR1.Files.SideEffects
|
||||
\defined('_JEXEC') or die;
|
||||
// phpcs:enable PSR1.Files.SideEffects
|
||||
|
||||
/**
|
||||
* Media Manager Base Plugin for the media actions
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
class MediaActionPlugin extends CMSPlugin
|
||||
{
|
||||
/**
|
||||
* Load the language file on instantiation.
|
||||
*
|
||||
* @var boolean
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected $autoloadLanguage = true;
|
||||
|
||||
/**
|
||||
* Returns an array of events this subscriber will listen to.
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @since 5.2.0
|
||||
*/
|
||||
public static function getSubscribedEvents(): array
|
||||
{
|
||||
return [
|
||||
'onContentPrepareForm' => 'onContentPrepareFormListener',
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* The form event. Load additional parameters when available into the field form.
|
||||
* Only when the type of the form is of interest.
|
||||
*
|
||||
* @param PrepareFormEvent $event Event instance.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 5.2.0
|
||||
*/
|
||||
public function onContentPrepareFormListener(PrepareFormEvent $event): void
|
||||
{
|
||||
$this->onContentPrepareForm($event->getForm(), $event->getData());
|
||||
}
|
||||
|
||||
/**
|
||||
* The form event. Load additional parameters when available into the field form.
|
||||
* Only when the type of the form is of interest.
|
||||
*
|
||||
* @param Form $form The form
|
||||
* @param \stdClass $data The data
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
public function onContentPrepareForm(Form $form, $data)
|
||||
{
|
||||
// Check if it is the right form
|
||||
if ($form->getName() != 'com_media.file') {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->loadCss();
|
||||
$this->loadJs();
|
||||
|
||||
// The file with the params for the edit view
|
||||
$paramsFile = JPATH_PLUGINS . '/media-action/' . $this->_name . '/form/' . $this->_name . '.xml';
|
||||
|
||||
// When the file exists, load it into the form
|
||||
if (file_exists($paramsFile)) {
|
||||
$form->loadFile($paramsFile);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the javascript files of the plugin.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected function loadJs()
|
||||
{
|
||||
HTMLHelper::_(
|
||||
'script',
|
||||
'plg_media-action_' . $this->_name . '/' . $this->_name . '.js',
|
||||
['version' => 'auto', 'relative' => true],
|
||||
['type' => 'module']
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the CSS files of the plugin.
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 4.0.0
|
||||
*/
|
||||
protected function loadCss()
|
||||
{
|
||||
HTMLHelper::_(
|
||||
'stylesheet',
|
||||
'plg_media-action_' . $this->_name . '/' . $this->_name . '.css',
|
||||
['version' => 'auto', 'relative' => true]
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user