PluginProbe
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization / 4.2.8
Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization v4.2.8
4.2.13 4.2.12 4.2.11 4.2.10 4.2.9 4.2.8 4.2.7 4.2.6 4.2.5 2.5.5 2.5.6 2.5.7 3.0.0 3.0.1 3.1.0 3.1.1 3.1.2 3.1.3 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.12.0 3.12.1 All 134 releases
optimole-wp / inc / compatibilities / rocketnet.php

rocketnet.php in Optimole – Optimize Images | Convert WebP & AVIF | CDN & Lazy Load | Image Optimization 4.2.8, at inc/compatibilities/rocketnet.php

60 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Class Optml_rocketnet.
5 *
6 * @reason Clear cache on rocketnet.
7 */
8 class Optml_rocketnet 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' ], 99, 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 rocketnet.
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 $url_parts = parse_url( $location );
52 $location = ( isset( $url_parts['path'] ) ) ? rtrim( $url_parts['path'], '/' ) : '/';
53 if ( ! empty( $url_parts['query'] ) ) {
54 $location .= '?' . $url_parts['query'];
55 }
56 \CDN_Clear_Cache_Api::cache_api_call( [ $location ], 'purge' );
57 }
58 }
59 }
60