Skip to content

Commit c865ec8

Browse files
committed
feat: add 'kinsta' to the cache types
1 parent e564154 commit c865ec8

2 files changed

Lines changed: 55 additions & 0 deletions

File tree

inc/compatibilities/kinsta.php

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<?php
2+
3+
/**
4+
* Class Optml_kinsta.
5+
*
6+
* @reason Clear cache on kinsta.
7+
*/
8+
class Optml_kinsta extends Optml_compatibility {
9+
10+
11+
/**
12+
* Should we load the integration logic.
13+
*
14+
* @return bool Should we load.
15+
*/
16+
public function should_load() {
17+
18+
return class_exists( '\CDN_Clear_Cache_Api' );
19+
}
20+
21+
/**
22+
* Register integration details.
23+
*
24+
* @return void
25+
*/
26+
public function register() {
27+
add_action( 'optml_clear_cache', [ $this, 'add_clear_cache_action' ], 10, 1 );
28+
}
29+
30+
31+
/**
32+
* Should we early load the compatibility?
33+
*
34+
* @return bool Whether to load the compatibility or not.
35+
*/
36+
public function should_load_early() {
37+
return true;
38+
}
39+
/**
40+
* Clear cache on kinsta.
41+
*
42+
* @param string|bool $location The location to clear the cache for. If true, clear the cache globally. If a string, clear the cache for a particular url.
43+
* @return void
44+
*/
45+
public function add_clear_cache_action( $location ) {
46+
if ( $location === true && class_exists( '\CDN_Clear_Cache_Api' ) && method_exists( '\CDN_Clear_Cache_Api', 'cache_api_call' ) ) { // @phpstan-ignore-line
47+
\CDN_Clear_Cache_Api::cache_api_call( [], 'purge_everything' );
48+
}
49+
50+
if ( is_string( $location ) && class_exists( '\CDN_Clear_Cache_Api' ) && method_exists( '\CDN_Clear_Cache_Api', 'cache_api_call' ) ) { // @phpstan-ignore-line
51+
\CDN_Clear_Cache_Api::cache_api_call( [ $location ], 'purge' );
52+
}
53+
}
54+
}

inc/manager.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ final class Optml_Manager {
108108
'litespeed_cache',
109109
'autoptimize_cache',
110110
'endurance_cache',
111+
'kinsta',
111112
'speedycache',
112113
];
113114
/**

0 commit comments

Comments
 (0)