* @license GNU General Public License version 2 or later; see LICENSE.txt * @phpcs:disable PSR1.Classes.ClassDeclaration.MissingNamespace */ use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Object\CMSObject; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Session\Session; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Editor Contact button * * @since 3.7.0 */ class PlgButtonContact extends CMSPlugin { /** * Load the language file on instantiation. * * @var boolean * @since 3.7.0 */ protected $autoloadLanguage = true; /** * Display the button * * @param string $name The name of the button to add * * @return CMSObject|void The button options as CMSObject * * @since 3.7.0 */ public function onDisplay($name) { $user = Factory::getUser(); if ( $user->authorise('core.create', 'com_contact') || $user->authorise('core.edit', 'com_contact') || $user->authorise('core.edit.own', 'com_contact') ) { // The URL for the contacts list $link = 'index.php?option=com_contact&view=contacts&layout=modal&tmpl=component&' . Session::getFormToken() . '=1&editor=' . $name; $button = new CMSObject(); $button->modal = true; $button->link = $link; $button->text = Text::_('PLG_EDITORS-XTD_CONTACT_BUTTON_CONTACT'); $button->name = $this->_type . '_' . $this->_name; $button->icon = 'address'; $button->iconSVG = '' . ''; $button->options = [ 'height' => '300px', 'width' => '800px', 'bodyHeight' => '70', 'modalWidth' => '80', ]; return $button; } } }