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

autoptimizeCLI   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 34
rs 10
c 0
b 0
f 0
wmc 4
lcom 0
cbo 1

1 Method

Rating   Name   Duplication   Size   Complexity  
B clear() 0 24 4
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