Файловый менеджер - Редактировать - /var/www/html/plugins/editors/tinymce/src/Extension/TinyMCE.php
Ðазад
<?php /** * @package Joomla.Plugin * @subpackage Editors.tinymce * * @copyright (C) 2006 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\Editors\TinyMCE\Extension; use Joomla\CMS\Event\Editor\EditorSetupEvent; use Joomla\CMS\Event\Plugin\AjaxEvent; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Session\Session; use Joomla\CMS\String\StringableInterface; use Joomla\Database\DatabaseAwareTrait; use Joomla\Event\DispatcherAwareInterface; use Joomla\Event\DispatcherAwareTrait; use Joomla\Event\SubscriberInterface; use Joomla\Filesystem\Folder; use Joomla\Plugin\Editors\TinyMCE\PluginTraits\KnownButtons; use Joomla\Plugin\Editors\TinyMCE\PluginTraits\ToolbarPresets; use Joomla\Plugin\Editors\TinyMCE\Provider\TinyMCEProvider; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * TinyMCE Editor Plugin * * @since 1.5 */ final class TinyMCE extends CMSPlugin implements SubscriberInterface, DispatcherAwareInterface { use DatabaseAwareTrait; use DispatcherAwareTrait; // @todo: KnownButtons, ToolbarPresets for backward compatibility. Remove in Joomla 7 use KnownButtons; use ToolbarPresets; /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 5.0.0 */ public static function getSubscribedEvents(): array { return [ 'onEditorSetup' => 'onEditorSetup', 'onAjaxTinymce' => 'onAjaxTinymce', ]; } /** * Register Editor instance * * @param EditorSetupEvent $event * * @return void * * @since 5.0.0 */ public function onEditorSetup(EditorSetupEvent $event) { $this->loadLanguage(); $event->getEditorsRegistry() ->add(new TinyMCEProvider($this->params, $this->getApplication(), $this->getDispatcher(), $this->getDatabase())); } /** * Returns the templates * * @return void * * @since 5.0.0 */ public function onAjaxTinymce(AjaxEvent $event) { // Create response object, with list of the templates $response = new class () implements StringableInterface { public $data = []; public function __toString(): string { return json_encode($this->data); } }; $event->updateEventResult($response); if (!Session::checkToken('request')) { return; } $this->loadLanguage(); $templates = []; $language = $this->getApplication()->getLanguage(); $template = $this->getApplication()->getInput()->getPath('template', ''); if ('' === $template) { return; } $filepaths = is_dir(JPATH_ROOT . '/templates/' . $template) ? Folder::files(JPATH_ROOT . '/templates/' . $template, '\.(html|txt)$', false, true) : []; foreach ($filepaths as $filepath) { $fileinfo = pathinfo($filepath); $filename = $fileinfo['filename']; $title_upper = strtoupper($filename); if ($filename === 'index') { continue; } $templates[] = (object) [ 'title' => $language->hasKey('PLG_TINY_TEMPLATE_' . $title_upper . '_TITLE') ? Text::_('PLG_TINY_TEMPLATE_' . $title_upper . '_TITLE') : $filename, 'description' => $language->hasKey('PLG_TINY_TEMPLATE_' . $title_upper . '_DESC') ? Text::_('PLG_TINY_TEMPLATE_' . $title_upper . '_DESC') : ' ', 'content' => file_get_contents($filepath), ]; } // Add the list of templates to the response $response->data = $templates; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка