65 lines
1.3 KiB
PHP
65 lines
1.3 KiB
PHP
<?php
|
|
namespace ShortPixel;
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit; // Exit if accessed directly.
|
|
}
|
|
|
|
class Pantheon {
|
|
|
|
public static $is_pantheon = false;
|
|
|
|
public function __construct()
|
|
{
|
|
add_action( 'shortpixel/image/optimised', array( $this, 'flush_image_caches' ), 10 );
|
|
if (! defined('SHORTPIXEL_TRUSTED_MODE'))
|
|
{
|
|
define('SHORTPIXEL_TRUSTED_MODE', true);
|
|
}
|
|
|
|
self::$is_pantheon = true;
|
|
}
|
|
|
|
public static function IsActive()
|
|
{
|
|
return self::$is_pantheon;
|
|
}
|
|
|
|
public function flush_image_caches( $imageItem )
|
|
{
|
|
|
|
$image_paths[] = $imageItem->getURL();
|
|
|
|
if ($imageItem->hasOriginal())
|
|
{
|
|
$image_paths[] = $imageItem->getOriginalFile()->getURL();
|
|
}
|
|
|
|
if (count($imageItem->get('thumbnails')) > 0)
|
|
{
|
|
foreach($imageItem->get('thumbnails') as $thumbObj)
|
|
{
|
|
$image_paths[] = $thumbObj->getURL();
|
|
}
|
|
}
|
|
|
|
$domain = get_site_url();
|
|
$image_paths = array_map(function($path) use ($domain)
|
|
{
|
|
return str_replace( $domain, '', $path);
|
|
},$image_paths);
|
|
|
|
if ( ! empty( $image_paths ) ) {
|
|
$image_paths = array_unique( $image_paths );
|
|
if ( function_exists( 'pantheon_wp_clear_edge_paths' ) ) {
|
|
// Do the flush
|
|
pantheon_wp_clear_edge_paths( $image_paths );
|
|
}
|
|
}
|
|
}
|
|
} // class
|
|
|
|
if ( ! empty( $_ENV['PANTHEON_ENVIRONMENT'] ) ) {
|
|
$p = new Pantheon(); // monitor hook.
|
|
}
|