uawdijnntqw1x1x1
IP : 216.73.216.10
Hostname : webm003.cluster107.gra.hosting.ovh.net
Kernel : Linux webm003.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
opticamezl
/
www
/
newok
/
libraries
/
..
/
..
/
newok
/
modules
/
mod_finder
/
..
/
..
/
cli
/
..
/
versionable.tar
/
/
src/Extension/Versionable.php000064400000010505151676176450012314 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Behaviour.versionable * * @copyright (C) 2016 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\Behaviour\Versionable\Extension; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Event\Table\AfterStoreEvent; use Joomla\CMS\Event\Table\BeforeDeleteEvent; use Joomla\CMS\Helper\CMSHelper; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Versioning\VersionableTableInterface; use Joomla\CMS\Versioning\Versioning; use Joomla\Event\DispatcherInterface; use Joomla\Event\SubscriberInterface; use Joomla\Filter\InputFilter; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * Implements the Versionable behaviour which allows extensions to automatically support content history for their content items. * * This plugin supersedes JTableObserverContenthistory. * * @since 4.0.0 */ final class Versionable extends CMSPlugin implements SubscriberInterface { /** * Returns an array of events this subscriber will listen to. * * @return array * * @since 4.2.0 */ public static function getSubscribedEvents(): array { return [ 'onTableAfterStore' => 'onTableAfterStore', 'onTableBeforeDelete' => 'onTableBeforeDelete', ]; } /** * The input filter * * @var InputFilter * @since 4.2.0 */ private $filter; /** * The CMS helper * * @var CMSHelper * @since 4.2.0 */ private $helper; /** * Constructor. * * @param DispatcherInterface $dispatcher The dispatcher * @param array $config An optional associative array of configuration settings * @param InputFilter $filter The input filter * @param CMSHelper $helper The CMS helper * * @since 4.0.0 */ public function __construct(DispatcherInterface $dispatcher, array $config, InputFilter $filter, CMSHelper $helper) { parent::__construct($dispatcher, $config); $this->filter = $filter; $this->helper = $helper; } /** * Post-processor for $table->store($updateNulls) * * @param AfterStoreEvent $event The event to handle * * @return void * * @since 4.0.0 */ public function onTableAfterStore(AfterStoreEvent $event) { // Extract arguments /** @var VersionableTableInterface $table */ $table = $event['subject']; $result = $event['result']; if (!$result) { return; } if (!(is_object($table) && $table instanceof VersionableTableInterface)) { return; } // Get the Tags helper and assign the parsed alias $typeAlias = $table->getTypeAlias(); $aliasParts = explode('.', $typeAlias); if ($aliasParts[0] === '' || !ComponentHelper::getParams($aliasParts[0])->get('save_history', 0)) { return; } $id = $table->getId(); $data = $this->helper->getDataObject($table); $input = $this->getApplication()->getInput(); $jform = $input->get('jform', [], 'array'); $versionNote = ''; if (isset($jform['version_note'])) { $versionNote = $this->filter->clean($jform['version_note'], 'string'); } Versioning::store($typeAlias, $id, $data, $versionNote); } /** * Pre-processor for $table->delete($pk) * * @param BeforeDeleteEvent $event The event to handle * * @return void * * @since 4.0.0 */ public function onTableBeforeDelete(BeforeDeleteEvent $event) { // Extract arguments /** @var VersionableTableInterface $table */ $table = $event['subject']; if (!(is_object($table) && $table instanceof VersionableTableInterface)) { return; } $typeAlias = $table->getTypeAlias(); $aliasParts = explode('.', $typeAlias); if ($aliasParts[0] && ComponentHelper::getParams($aliasParts[0])->get('save_history', 0)) { Versioning::delete($typeAlias, $table->getId()); } } } services/provider.php000064400000002715151676176460010762 0ustar00<?php /** * @package Joomla.Plugin * @subpackage Behaviour.versionable * * @copyright (C) 2022 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\Factory; use Joomla\CMS\Helper\CMSHelper; use Joomla\CMS\Plugin\PluginHelper; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Event\DispatcherInterface; use Joomla\Filter\InputFilter; use Joomla\Plugin\Behaviour\Versionable\Extension\Versionable; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 4.2.0 */ public function register(Container $container) { $container->set( PluginInterface::class, function (Container $container) { $dispatcher = $container->get(DispatcherInterface::class); $plugin = new Versionable( $dispatcher, (array) PluginHelper::getPlugin('behaviour', 'versionable'), new InputFilter(), new CMSHelper() ); $plugin->setApplication(Factory::getApplication()); return $plugin; } ); } }; versionable.xml000064400000001620151676176460007621 0ustar00<?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="behaviour" method="upgrade"> <name>plg_behaviour_versionable</name> <version>4.0.0</version> <creationDate>2015-08</creationDate> <author>Joomla! Project</author> <authorEmail>admin@joomla.org</authorEmail> <authorUrl>www.joomla.org</authorUrl> <copyright>(C) 2016 Open Source Matters, Inc.</copyright> <license>GNU General Public License version 2 or later; see LICENSE.txt</license> <description>PLG_BEHAVIOUR_VERSIONABLE_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Behaviour\Versionable</namespace> <files> <folder plugin="versionable">services</folder> <folder>src</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_behaviour_versionable.ini</language> <language tag="en-GB">language/en-GB/plg_behaviour_versionable.sys.ini</language> </languages> <config /> </extension>
/home/opticamezl/www/newok/libraries/../../newok/modules/mod_finder/../../cli/../versionable.tar