| Current Path : /var/www/html/plugins/system/jce/src/PluginTraits/ |
| Current File : /var/www/html/plugins/system/jce/src/PluginTraits/FormTrait.php |
<?php
/**
* @package JCE
* @subpackage Editors.Jce
*
* @copyright Copyright (C) 2005 - 2023 Open Source Matters, Inc. All rights reserved.
* @copyright Copyright (c) 2009-2024 Ryan Demmer. All rights reserved
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\Plugin\System\Jce\PluginTraits;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Editor\Editor;
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Form;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Plugin\PluginHelper;
use Joomla\CMS\Uri\Uri;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Handles the onDisplay event for the JCE editor.
*
* @since 2.9.70
*/
trait FormTrait
{
/**
* Transforms the field into a DOM XML element and appends it as a child on the given parent.
*
* @param stdClass $field The field.
* @param DOMElement $parent The field node parent.
* @param Form $form The form.
*
* @return DOMElement
*
* @since 3.7.0
*/
public function onCustomFieldsPrepareDom($field, \DOMElement $parent, Form $form)
{
if ($field->type !== 'mediajce') {
return;
}
// media will be loaded by JCE Pro
if (PluginHelper::isEnabled('system', 'jcepro')) {
return;
}
$document = Factory::getDocument();
// load scripts and styles for core JCE Media field
HTMLHelper::_('jquery.framework');
$option = Factory::getApplication()->input->getCmd('option');
$component = ComponentHelper::getComponent($option);
$document->addScriptOptions('plg_system_jce', array(
'context' => (int) $component->id,
), true);
$document->addScript(Uri::root(true) . '/media/com_jce/site/js/media.min.js', array('version' => 'auto'));
$document->addStyleSheet(Uri::root(true) . '/media/com_jce/site/css/media.min.css', array('version' => 'auto'));
}
}