* @git Joomla Component Builder * @copyright Copyright (C) 2015 Vast Development Method. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ // No direct access to this file defined('_JEXEC') or die('Restricted access'); JLoader::register('ComponentbuilderHelper', JPATH_ADMINISTRATOR . '/components/com_componentbuilder/helpers/componentbuilder.php'); use Joomla\CMS\Form\Form; use Joomla\CMS\Plugin\CMSPlugin; use VDM\Joomla\Utilities\ArrayHelper; use Joomla\CMS\Component\ComponentHelper; /** * Content - Componentbuilder Component Headers Tabs plugin. * * @package ComponentbuilderComponentHeadersTabs * @since 2.0.2 */ class PlgContentComponentbuilderComponentHeadersTabs extends CMSPlugin { /** * Affects constructor behavior. If true, language files will be loaded automatically. * * @var boolean * @since 1.0 */ protected $autoloadLanguage = true; /** * Runs on content preparation of form. * * @param JForm $form The form * @param stdClass $data The data * * @return boolean * * @since 1.0 */ public function onContentPrepareForm(Form $form, $data) { $context = $form->getName(); // When this is componentbuilder joomla_component if (strpos($context, 'com_componentbuilder.joomla_component') === 0) { // Add the forms path Form::addFormPath(__DIR__ . '/forms'); // add the admin view params for privacy integration $form->loadFile('joomla_component'); // update all editors to use this components global editor $global_editor = ComponentHelper::getParams('com_componentbuilder')->get('editor', 'none'); // set the field editor value (with none as fallback) $editors = $form->getXml()->xpath('descendant::fields[@name="joomla_component_headers"]//field[@type="editor"]'); // check if we found any if (ArrayHelper::check($editors)) { foreach ($editors as $editor) { // set the editor to the global option $editor['editor'] = $global_editor . '|none'; } } } return true; } }