Completed
Pull Request — master (#119)
by
unknown
02:18
created

autoptimizeCLI::clear()   B

Complexity

Conditions 4
Paths 6

Size

Total Lines 24
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 16
nc 6
nop 2
dl 0
loc 24
rs 8.6845
c 0
b 0
f 0
1
<?php
2
// Exit if accessed directly
3
if ( ! defined( 'ABSPATH' ) ) {
4
	exit;
5
}
6
7
class autoptimizeCLI extends WP_CLI_Command {
8
9
	/**
10
	 * Clears the cache.
11
	 *
12
	 * @subcommand clear
13
	 * @synopsis [--type=<css|js>]
14
	 */
15
	public function clear( $args, $args_assoc ) {
16
		$clear = '';
17
		if ( ! empty( $args_assoc ) ) {
18
			$clear = $args_assoc['type'];
19
			if ( ! in_array( $clear, array( 'css', 'js' ), true ) ) {
20
				WP_CLI::error( esc_html__( 'Please choose `css` or `js`.', 'autoptimize' ) );
21
			}
22
		}
23
24
		if ( empty( $clear ) ) {
25
			WP_CLI::line( esc_html__( 'Flushing the cache...', 'autoptimize' ) );
26
			autoptimizeCache::clearall();
27
			WP_CLI::success( esc_html__( 'Cache flushed.', 'autoptimize' ) );
28
			return;
29
		}
30
31
		WP_CLI::line( esc_html__( 'Clearing the cache...', 'autoptimize' ) );
32
33
		WP_Filesystem();
34
		global $wp_filesystem;
35
		$wp_filesystem->rmdir( AUTOPTIMIZE_CACHE_DIR . $clear, true );
36
37
		WP_CLI::success( esc_html__( sprintf( '%s cache cleared.', strtoupper( $clear ) ),'autoptimize' ) );
38
	}
39
40
}
41
42
WP_CLI::add_command( 'autoptimize', 'autoptimizeCLI' );
43