You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
<?php |
|
|
|
class WP_Super_Cache_Rest_Get_Cache extends WP_REST_Controller { |
|
|
|
/** |
|
* Get a collection of items |
|
* |
|
* @param WP_REST_Request $request Full data about the request. |
|
* @return WP_Error|WP_REST_Response |
|
*/ |
|
public function callback( $request ) { |
|
global $valid_nonce; |
|
|
|
$valid_nonce = true; |
|
$_GET[ 'listfiles' ] = 1; |
|
$sizes = wpsc_generate_sizes_array(); |
|
$supercachedir = get_supercache_dir(); |
|
$list = wpsc_dirsize( $supercachedir, $sizes ); |
|
$return_list = array(); |
|
|
|
foreach( $list as $type => $file_list ) { |
|
foreach ( $file_list as $state => $value ) { |
|
if ( is_array( $value ) ) { |
|
foreach( $value as $filenames ) { |
|
foreach( $filenames as $filename => $t ) { |
|
if ( $type == 'wpcache' ) { |
|
$filename = dirname( $filename ); |
|
} |
|
if ( false == isset( $return_list[ $type ][ $state ] ) || false == in_array( $filename, $return_list[ $type ][ $state ] ) ) |
|
$return_list[ $type ][ $state ][] = $filename; |
|
} |
|
} |
|
} |
|
} |
|
|
|
if ( isset ( $return_list[ $type ] ) ) { |
|
$list[ $type ] = $return_list[ $type ]; |
|
} |
|
|
|
unset( $return_list[ $type ] ); |
|
} |
|
|
|
return rest_ensure_response( $list ); |
|
} |
|
}
|
|
|