Files
medicalalert-web-reloaded/wp/wp-content/plugins/imagify/inc/deprecated/classes/class-imagify-ngg-dynamic-thumbnails-background-process.php
2024-09-25 09:25:31 -04:00

168 lines
3.5 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
defined( 'ABSPATH' ) || die( 'Cheatin uh?' );
/**
* Class that handles background processing of thumbnails dynamically generated.
*
* @since 1.8
* @since 1.9 Deprecated
* @author Grégory Viguier
* @deprecated
*/
class Imagify_NGG_Dynamic_Thumbnails_Background_Process extends Imagify_Abstract_Background_Process {
/**
* Class version.
*
* @var string
* @since 1.8
* @author Grégory Viguier
*/
const VERSION = '1.1';
/**
* Action.
*
* @var string
* @since 1.8
* @access protected
* @author Grégory Viguier
*/
protected $action = 'ngg_dynamic_thumbnails';
/**
* The single instance of the class.
*
* @var object
* @since 1.8
* @access protected
* @author Grégory Viguier
*/
protected static $_instance;
/**
* Get the main Instance.
*
* @since 1.8
* @access public
* @author Grégory Viguier
*
* @return object Main instance.
*/
public static function get_instance() {
if ( ! isset( self::$_instance ) ) {
self::$_instance = new self();
}
return self::$_instance;
}
/**
* Initiate new background process.
*
* @since 1.9
* @access public
* @author Grégory Viguier
*/
public function __construct() {
imagify_deprecated_class( get_class( $this ), '1.9', '\\Imagify\\ThirdParty\\NGG\\DynamicThumbnails()' );
parent::__construct();
}
/** ----------------------------------------------------------------------------------------- */
/** BACKGROUND PROCESS ====================================================================== */
/** ----------------------------------------------------------------------------------------- */
/**
* Push to queue.
*
* @since 1.8
* @access public
* @author Grégory Viguier
*
* @param array $data {
* The data to push in queue.
*
* @type int $id The image ID. Required.
* @type string $size The thumbnail size. Required.
* }
* @return object Class instance.
*/
public function push_to_queue( $data ) {
$key = $data['id'] . '|' . $data['size'];
$this->data[ $key ] = $data;
return $this;
}
/**
* Dispatch.
*
* @since 1.8
* @access public
* @author Grégory Viguier
*
* @return array|WP_Error
*/
public function dispatch() {
if ( ! empty( $this->data ) ) {
return parent::dispatch();
}
}
/**
* Tell if a task is already in the queue.
*
* @since 1.8
* @access public
* @author Grégory Viguier
*
* @param array $data {
* The data to test against the queue.
*
* @type int $id The image ID. Required.
* @type string $size The thumbnail size. Required.
* }
* @return bool
*/
public function is_in_queue( $data ) {
$key = $data['id'] . '|' . $data['size'];
return isset( $this->data[ $key ] );
}
/**
* Task: optimize the thumbnail.
*
* @since 1.8
* @access public
* @author Grégory Viguier
*
* @param array $item {
* The data to test against the queue.
*
* @type int $id The image ID. Required.
* @type string $size The thumbnail size. Required.
* }
* @return bool False to remove the item from the queue.
*/
protected function task( $item ) {
$attachment_id = absint( $item['id'] );
$size = sanitize_text_field( $item['size'] );
if ( ! $attachment_id || ! $size ) {
return false;
}
$attachment = get_imagify_attachment( 'NGG', $attachment_id, 'ngg_optimize_dynamic_thumbnail' );
$attachment->optimize_new_thumbnail( $size );
return false;
}
}