PATH:
home
/
centosnipponia
/
public_html
/
nipponiacom2
/
libraries
/
regularlabs
/
src
<?php /** * @package Regular Labs Library * @version 19.2.10100 * * @author Peter van Westen <info@regularlabs.com> * @link http://www.regularlabs.com * @copyright Copyright © 2019 Regular Labs All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ namespace RegularLabs\Library; defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Object\CMSObject as JObject; use Joomla\CMS\Plugin\CMSPlugin as JPlugin; use ReflectionClass; /** * Class EditorButtonPlugin * @package RegularLabs\Library */ class EditorButtonPlugin extends JPlugin { private $_init = false; private $_helper = null; var $main_type = 'plugin'; // The type of extension that holds the parameters var $check_installed = null; // The types of extensions that need to be checked (will default to main_type) var $require_core_auth = true; // Whether or not the core content create/edit permissions are required var $folder = null; // The path to the original caller file var $enable_on_acymailing = false; // Whether or not to enable the editor button on AcyMailing /** * Display the button * * @param string $editor_name * * @return JObject|null A button object */ function onDisplay($editor_name) { if ( ! $this->getHelper()) { return null; } return $this->_helper->render($editor_name, $this->_subject); } /* * Below methods are general functions used in most of the Regular Labs extensions * The reason these are not placed in the Regular Labs Library files is that they also * need to be used when the Regular Labs Library is not installed */ /** * Create the helper object * * @return object|null The plugins helper object */ private function getHelper() { // Already initialized, so return if ($this->_init) { return $this->_helper; } $this->_init = true; if ( ! Extension::isFrameworkEnabled()) { return null; } if ( ! Extension::isAuthorised($this->require_core_auth)) { return null; } if ( ! $this->isInstalled()) { return null; } if ( ! $this->enable_on_acymailing && JFactory::getApplication()->input->get('option') == 'com_acymailing') { return null; } $params = $this->getParams(); if ( ! Extension::isEnabledInComponent($params)) { return null; } if ( ! Extension::isEnabledInArea($params)) { return null; } if ( ! $this->extraChecks($params)) { return null; } require_once $this->getDir() . '/helper.php'; $class_name = 'PlgButton' . ucfirst($this->_name) . 'Helper'; $this->_helper = new $class_name($this->_name, $params); return $this->_helper; } public function extraChecks($params) { return true; } private function getDir() { // use static::class instead of get_class($this) after php 5.4 support is dropped $rc = new ReflectionClass(get_class($this)); return dirname($rc->getFileName()); } private function getParams() { switch ($this->main_type) { case 'component': if ( ! Protect::isComponentInstalled($this->_name)) { return null; } // Load component parameters return Parameters::getInstance()->getComponentParams($this->_name); case 'plugin': default: if ( ! Protect::isSystemPluginInstalled($this->_name)) { return null; } // Load plugin parameters return Parameters::getInstance()->getPluginParams($this->_name); } } private function isInstalled() { $extensions = ! is_null($this->check_installed) ? $this->check_installed : [$this->main_type]; return Extension::areInstalled($this->_name, $extensions); } }
[+]
..
[-] ActionLogPlugin.php
[edit]
[-] Alias.php
[edit]
[+]
Api
[-] ArrayHelper.php
[edit]
[-] Article.php
[edit]
[-] Cache.php
[edit]
[+]
Condition
[-] Condition.php
[edit]
[-] ConditionContent.php
[edit]
[-] Conditions.php
[edit]
[-] Database.php
[edit]
[-] Date.php
[edit]
[-] DB.php
[edit]
[-] Document.php
[edit]
[-] EditorButton.php
[edit]
[-] EditorButtonHelper.php
[edit]
[-] EditorButtonPlugin.php
[edit]
[-] EditorButtonPopup.php
[edit]
[-] Extension.php
[edit]
[-] Field.php
[edit]
[-] FieldGroup.php
[edit]
[-] File.php
[edit]
[-] Form.php
[edit]
[-] Html.php
[edit]
[-] HtmlTag.php
[edit]
[-] Http.php
[edit]
[-] Image.php
[edit]
[-] Language.php
[edit]
[-] License.php
[edit]
[-] Log.php
[edit]
[-] MobileDetect.php
[edit]
[-] Parameters.php
[edit]
[-] PluginTag.php
[edit]
[-] Protect.php
[edit]
[-] RegEx.php
[edit]
[-] ShowOn.php
[edit]
[-] StringHelper.php
[edit]
[-] Title.php
[edit]
[-] Uri.php
[edit]
[-] Version.php
[edit]
[-] Xml.php
[edit]
[-] .htaccess.disabled
[edit]