-
Notifications
You must be signed in to change notification settings - Fork 90
/
Copy pathExtension_CloudFlare_AdminActions.php
53 lines (44 loc) · 1.25 KB
/
Extension_CloudFlare_AdminActions.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
namespace W3TC;
class Extension_CloudFlare_AdminActions {
public function w3tc_cloudflare_flush() {
$c = Dispatcher::config();
$api = new Extension_CloudFlare_Api( array(
'email' => $c->get_string( array( 'cloudflare', 'email' ) ),
'key' => $c->get_string( array( 'cloudflare', 'key' ) ),
'zone_id' => $c->get_string( array( 'cloudflare', 'zone_id' ) ),
'timelimit_api_request' => $c->get_integer(
array( 'cloudflare', 'timelimit.api_request' ) )
)
);
try {
$v = $api->purge();
} catch ( \Exception $ex ) {
Util_Admin::redirect_with_custom_messages2( array(
'errors' => array(
'cloudflare_flush' =>
__( 'Failed to purge Cloudflare cache: ', 'w3-total-cache' ) .
$ex->getMessage()
)
) );
return;
}
Util_Admin::redirect_with_custom_messages2( array(
'notes' => array(
'cloudflare_flush' => __( 'Cloudflare cache successfully emptied.', 'w3-total-cache' )
)
) );
}
/**
* Flush all caches except Cloudflare action.
*
* @return void
*/
public function w3tc_cloudflare_flush_all_except_cf() {
Dispatcher::component( 'CacheFlush' )->flush_all( array(
'cloudflare' => 'skip' ) );
Util_Admin::redirect( array(
'w3tc_note' => 'flush_all'
), true );
}
}