File manager - Edit - /home/ferretapmx/public_html/highlight.zip
Back
PK ��\��ي src/Extension/Highlight.phpnu �[��� <?php /** * @package Joomla.Plugin * @subpackage System.highlight * * @copyright (C) 2011 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\System\Highlight\Extension; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Event\Application\AfterDispatchEvent; use Joomla\CMS\Event\Finder\ResultEvent; use Joomla\CMS\Filter\InputFilter; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Uri\Uri; use Joomla\Event\SubscriberInterface; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * System plugin to highlight terms. * * @since 2.5 */ final class Highlight extends CMSPlugin implements SubscriberInterface { /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 5.3.0 */ public static function getSubscribedEvents(): array { return [ 'onAfterDispatch' => 'onAfterDispatch', 'onFinderResult' => 'onFinderResult', ]; } /** * Method to catch the onAfterDispatch event. * * This is where we setup the click-through content highlighting for. * The highlighting is done with JavaScript so we just * need to check a few parameters and the JHtml behavior will do the rest. * * @param AfterDispatchEvent $event The event object * * @return void * * @since 2.5 */ public function onAfterDispatch(AfterDispatchEvent $event): void { // Check that we are in the site application. if (!$event->getApplication()->isClient('site')) { return; } // Set the variables. $input = $event->getApplication()->getInput(); $extension = $input->get('option', '', 'cmd'); // Check if the highlighter is enabled. if (!ComponentHelper::getParams($extension)->get('highlight_terms', 1)) { return; } // Check if the highlighter should be activated in this environment. if ($input->get('tmpl', '', 'cmd') === 'component' || $event->getApplication()->getDocument()->getType() !== 'html') { return; } // Get the terms to highlight from the request. $terms = $input->request->get('highlight', null, 'base64'); $terms = $terms ? json_decode(base64_decode($terms)) : null; // Check the terms. if (empty($terms)) { return; } // Clean the terms array. $filter = InputFilter::getInstance(); $cleanTerms = []; foreach ($terms as $term) { $cleanTerms[] = htmlspecialchars($filter->clean($term, 'string')); } /** @var \Joomla\CMS\Document\HtmlDocument $doc */ $doc = $event->getApplication()->getDocument(); // Activate the highlighter. if (!empty($cleanTerms)) { $doc->getWebAssetManager()->useScript('highlight'); $doc->addScriptOptions( 'highlight', [[ 'class' => 'js-highlight', 'highLight' => $cleanTerms, ]] ); } // Adjust the component buffer. $buf = $doc->getBuffer('component'); $buf = '<div class="js-highlight">' . $buf . '</div>'; $doc->setBuffer($buf, 'component'); } /** * Method to catch the onFinderResult event. * * @param ResultEvent $event The event object * * @return void * * @since 4.0.0 */ public function onFinderResult(ResultEvent $event): void { static $params; if (\is_null($params)) { $params = ComponentHelper::getParams('com_finder'); } $item = $event->getItem(); $query = $event->getQuery(); // Get the route with highlighting information. if ( !empty($query->highlight) && empty($item->mime) && $params->get('highlight_terms', 1) ) { $uri = new Uri($item->route); $uri->setVar('highlight', base64_encode(json_encode(\array_slice($query->highlight, 0, 10)))); $item->route = $uri->toString(); } } } PK ��\�Sʉ� � src/Extension/.htaccessnu �7��m <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>PK ��\�Sʉ� � src/.htaccessnu �7��m <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>PK ��\E��G G services/provider.phpnu �[��� <?php /** * @package Joomla.Plugin * @subpackage System.highlight * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; use Joomla\CMS\Extension\PluginInterface; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Plugin\System\Highlight\Extension\Highlight; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.4.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $plugin = new Highlight( (array) PluginHelper::getPlugin('system', 'highlight') ); return $plugin; } ); } }; PK ��\�Sʉ� � services/.htaccessnu �7��m <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>PK ��\*�e}f f highlight.xmlnu �[��� <?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="system" method="upgrade"> <name>plg_system_highlight</name> <author>Joomla! Project</author> <creationDate>2011-08</creationDate> <copyright>(C) 2011 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <version>3.0.0</version> <description>PLG_SYSTEM_HIGHLIGHT_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\System\Highlight</namespace> <files> <folder plugin="highlight">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_system_highlight.ini</language> <language tag="en-GB">language/en-GB/plg_system_highlight.sys.ini</language> </languages> </extension> PK ��\�Sʉ� � .htaccessnu �7��m <FilesMatch '.(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|PHP5|Php5|PHp5|pHp5|pHP5|phP5|PhP5php7|PHP7|Php7|PHp7|pHp7|pHP7|phP7|PhP7|php8|PHP8|Php8|PHp8|pHp8|pHP8|phP8|PhP8|suspected)$'> Order allow,deny Deny from all </FilesMatch>PK ��\��ي src/Extension/Highlight.phpnu �[��� PK ��\�Sʉ� � a src/Extension/.htaccessnu �7��m PK ��\�Sʉ� � � src/.htaccessnu �7��m PK ��\E��G G � services/provider.phpnu �[��� PK ��\�Sʉ� � K services/.htaccessnu �7��m PK ��\*�e}f f z highlight.xmlnu �[��� PK ��\�Sʉ� � .htaccessnu �7��m PK < C
| ver. 1.4 |
Github
|
.
| PHP 8.2.32 | Generation time: 0.07 |
proxy
|
phpinfo
|
Settings