File manager - Edit - /home/ferretapmx/public_html/sessiongc.zip
Back
PK � �\�*�ڼ � src/Extension/SessionGC.phpnu �[��� <?php /** * @package Joomla.Plugins * @subpackage Task.sessiongc * * @copyright (C) 2023 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ namespace Joomla\Plugin\Task\SessionGC\Extension; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Session\MetadataManager; use Joomla\Component\Scheduler\Administrator\Event\ExecuteTaskEvent; use Joomla\Component\Scheduler\Administrator\Task\Status; use Joomla\Component\Scheduler\Administrator\Traits\TaskPluginTrait; use Joomla\Event\SubscriberInterface; // phpcs:disable PSR1.Files.SideEffects \defined('_JEXEC') or die; // phpcs:enable PSR1.Files.SideEffects /** * A task plugin. Session data purge task. * {@see ExecuteTaskEvent}. * * @since 5.0.0 */ final class SessionGC extends CMSPlugin implements SubscriberInterface { use TaskPluginTrait; /** * The meta data manager * * @var MetadataManager * * @since 4.4.0 */ private $metadataManager; /** * @var string[] * @since 5.0.0 */ private const TASKS_MAP = [ 'session.gc' => [ 'langConstPrefix' => 'PLG_TASK_SESSIONGC', 'method' => 'sessionGC', 'form' => 'sessionGCForm', ], ]; /** * @var boolean * @since 5.0.0 */ protected $autoloadLanguage = true; /** * Constructor. * * @param array $config An optional associative array of configuration settings * @param MetadataManager $metadataManager The user factory * * @since 4.4.0 */ public function __construct(array $config, MetadataManager $metadataManager) { parent::__construct($config); $this->metadataManager = $metadataManager; } /** * @inheritDoc * * @return string[] * * @since 5.0.0 */ public static function getSubscribedEvents(): array { return [ 'onTaskOptionsList' => 'advertiseRoutines', 'onExecuteTask' => 'standardRoutineHandler', 'onContentPrepareForm' => 'enhanceTaskItemForm', ]; } /** * @param ExecuteTaskEvent $event The `onExecuteTask` event. * * @return integer The routine exit code. * * @since 5.0.0 * @throws \Exception */ private function sessionGC(ExecuteTaskEvent $event): int { $enableGC = (int) $event->getArgument('params')->enable_session_gc ?? 1; $app = $this->getApplication(); if ($enableGC) { $app->getSession()->gc(); } $enableMetadata = (int) $event->getArgument('params')->enable_session_metadata_gc ?? 1; if ($enableMetadata) { $this->metadataManager->deletePriorTo(time() - $app->getSession()->getExpire()); } $this->logTask('SessionGC end'); return Status::OK; } } 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 � �\�x� � services/provider.phpnu �[��� <?php /** * @package Joomla.Plugin * @subpackage Task.sessionGC * * @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\Factory; use Joomla\CMS\Plugin\PluginHelper; use Joomla\CMS\Session\MetadataManager; use Joomla\DI\Container; use Joomla\DI\ServiceProviderInterface; use Joomla\Plugin\Task\SessionGC\Extension\SessionGC; return new class () implements ServiceProviderInterface { /** * Registers the service provider with a DI container. * * @param Container $container The DI container. * * @return void * * @since 5.0.0 */ public function register(Container $container): void { $container->set( PluginInterface::class, function (Container $container) { $plugin = new SessionGC( (array) PluginHelper::getPlugin('task', 'sessiongc'), $container->get(MetadataManager::class) ); $plugin->setApplication(Factory::getApplication()); 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 � �\�u��s s sessiongc.xmlnu �[��� <?xml version="1.0" encoding="UTF-8"?> <extension type="plugin" group="task" method="upgrade"> <name>plg_task_sessiongc</name> <author>Joomla! Project</author> <creationDate>2023-08</creationDate> <copyright>(C) 2023 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>5.0.0</version> <description>PLG_TASK_SESSIONGC_XML_DESCRIPTION</description> <namespace path="src">Joomla\Plugin\Task\SessionGC</namespace> <files> <folder plugin="sessiongc">services</folder> <folder>src</folder> <folder>forms</folder> </files> <languages> <language tag="en-GB">language/en-GB/plg_task_sessiongc.ini</language> <language tag="en-GB">language/en-GB/plg_task_sessiongc.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 � �\.�[K K forms/sessionGCForm.xmlnu �[��� <?xml version="1.0" encoding="UTF-8"?> <form> <fields name="params"> <fieldset name="task_params"> <field name="enable_session_gc" type="radio" label="PLG_TASK_SESSIONGC_ENABLE_SESSION_GC_LABEL" description="PLG_TASK_SESSIONGC_ENABLE_SESSION_GC_DESC" layout="joomla.form.field.radio.switcher" default="1" filter="uint" > <option value="0">JNO</option> <option value="1">JYES</option> </field> <field name="enable_session_metadata_gc" type="radio" label="PLG_TASK_SESSIONGC_ENABLE_SESSION_METADATA_GC_LABEL" description="PLG_TASK_SESSIONGC_ENABLE_SESSION_METADATA_GC_DESC" layout="joomla.form.field.radio.switcher" default="1" filter="uint" > <option value="0">JNO</option> <option value="1">JYES</option> </field> </fieldset> </fields> </form> PK � �\�Sʉ� � forms/.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/SessionGC.phpnu �[��� PK � �\�Sʉ� � src/Extension/.htaccessnu �7��m PK � �\�Sʉ� � ; src/.htaccessnu �7��m PK � �\�x� � e services/provider.phpnu �[��� PK � �\�Sʉ� � � services/.htaccessnu �7��m PK � �\�u��s s � sessiongc.xmlnu �[��� PK � �\�Sʉ� � � .htaccessnu �7��m PK � �\.�[K K � forms/sessionGCForm.xmlnu �[��� PK � �\�Sʉ� � ? forms/.htaccessnu �7��m PK � k
| ver. 1.4 |
Github
|
.
| PHP 8.2.32 | Generation time: 0.06 |
proxy
|
phpinfo
|
Settings