81 lines
1.9 KiB
PHP
81 lines
1.9 KiB
PHP
|
<?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 );
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public function w3tc_cloudflare_save_settings() {
|
||
|
$api = Extension_CloudFlare_SettingsForUi::api();
|
||
|
$errors = Extension_CloudFlare_SettingsForUi::settings_set( $api );
|
||
|
|
||
|
if ( empty( $errors ) ) {
|
||
|
Util_Admin::redirect_with_custom_messages2( array(
|
||
|
'notes' => array(
|
||
|
'cloudflare_save_done' =>
|
||
|
__( 'CloudFlare settings are successfully updated.',
|
||
|
'w3-total-cache' )
|
||
|
)
|
||
|
) );
|
||
|
} else {
|
||
|
Util_Admin::redirect_with_custom_messages2( array(
|
||
|
'errors' => array(
|
||
|
'cloudflare_save_error' =>
|
||
|
__( 'Failed to update CloudFlare settings:',
|
||
|
'w3-total-cache' ) .
|
||
|
"<br />\n" .
|
||
|
implode( "<br />\n", $errors )
|
||
|
)
|
||
|
) );
|
||
|
}
|
||
|
}
|
||
|
}
|