111 lines
3.9 KiB
PHP
111 lines
3.9 KiB
PHP
<?php
|
||
/**
|
||
* Bulk Smush meta box.
|
||
*
|
||
* @since 2.9.0
|
||
* @package WP_Smush
|
||
*
|
||
* @var Smush\Core\Core $core Instance of Smush\Core\Core
|
||
* @var bool $can_use_background Check if user can use BO.
|
||
* @var bool $total_count
|
||
* @var integer $unsmushed_count Count of the images that need smushing.
|
||
* @var integer $resmush_count Count of the images that need re-smushing.
|
||
* @var integer $remaining_count Remaining count of all images to smush. Unsmushed images + images to re-smush.
|
||
* @var string $bulk_upgrade_url Bulk Smush upgrade to PRO url.
|
||
* @var string $upsell_cdn_url Upsell CDN URL.
|
||
* @var bool $background_processing_enabled Background optimization is enabled.
|
||
* @var bool $background_in_processing Background optimization in progressing or not.
|
||
* @var string $background_in_processing_notice
|
||
* @var string $in_processing_notice
|
||
*/
|
||
|
||
if ( ! defined( 'WPINC' ) ) {
|
||
die;
|
||
}
|
||
use Smush\Core\Stats\Global_Stats;
|
||
|
||
if ( 0 !== absint( $total_count ) ) :
|
||
if ( $background_processing_enabled ) {
|
||
$msg = __( 'Bulk smush detects images that can be optimized and allows you to compress them in bulk in the background without any quality loss.', 'wp-smushit' );
|
||
} else {
|
||
$msg = __( 'Bulk smush detects images that can be optimized and allows you to compress them in bulk.', 'wp-smushit' );
|
||
}
|
||
?>
|
||
<p><?php echo esc_html( $msg ); ?></p>
|
||
<?php endif; ?>
|
||
|
||
<?php
|
||
// If there are no images in media library.
|
||
if ( 0 === absint( $total_count ) ) {
|
||
$this->view( 'media-lib-empty', array(), 'views/bulk' );
|
||
return;
|
||
}
|
||
|
||
$this->view( 'auto-bulk-smush-notification', array(
|
||
'background_processing_enabled' => $background_processing_enabled,
|
||
), 'views/bulk' );
|
||
|
||
if ( ! $can_use_background ) {
|
||
$this->view(
|
||
'limit-reached-notice',
|
||
array(),
|
||
'views/bulk'
|
||
);
|
||
}
|
||
// Progress bar.
|
||
$this->view(
|
||
'progress-bar',
|
||
array(
|
||
'count' => $remaining_count,
|
||
'background_in_processing_notice' => $background_in_processing_notice,
|
||
'background_processing_enabled' => $background_processing_enabled,
|
||
'in_processing_notice' => $in_processing_notice,
|
||
),
|
||
'common'
|
||
);
|
||
|
||
// All images are smushed.
|
||
$this->view( 'all-images-smushed-notice', array( 'all_done' => empty( $remaining_count ) ), 'common' );
|
||
|
||
// List errors.
|
||
$this->view( 'list-errors', array(), 'views/bulk' );
|
||
|
||
?>
|
||
<div class="wp-smush-bulk-wrapper sui-border-frame<?php echo empty( $remaining_count ) || $background_in_processing ? ' sui-hidden' : ''; ?>">
|
||
<div id="wp-smush-bulk-content">
|
||
<?php WP_Smush::get_instance()->admin()->print_pending_bulk_smush_content( $remaining_count, $resmush_count, $unsmushed_count ); ?>
|
||
</div>
|
||
<?php
|
||
$bulk_smush_class = $background_processing_enabled ? 'wp-smush-bo-start' : 'wp-smush-all';
|
||
|
||
if ( Global_Stats::get()->is_outdated() && ! $background_in_processing ) {
|
||
$bulk_smush_class .= ' wp-smush-scan-and-bulk-smush';
|
||
}
|
||
|
||
?>
|
||
<button type="button" class="<?php echo esc_attr( $bulk_smush_class ); ?> sui-button sui-button-blue" title="<?php esc_attr_e( 'Click to start Bulk Smushing images in Media Library', 'wp-smushit' ); ?>">
|
||
<?php esc_html_e( 'BULK SMUSH', 'wp-smushit' ); ?>
|
||
</button>
|
||
</div>
|
||
<?php
|
||
if ( ! $can_use_background ) {
|
||
$global_upsell_desc = __( 'Process images 2x faster, leave this page while Bulk Smush runs in the background, and serve streamlined next-gen images via Smush’s 114-point CDN and Local WebP features.', 'wp-smushit' );
|
||
|
||
$this->view(
|
||
'global-upsell',
|
||
array(
|
||
'bulk_upgrade_url' => $bulk_upgrade_url,
|
||
'global_upsell_desc' => $global_upsell_desc,
|
||
),
|
||
'views/bulk'
|
||
);
|
||
} elseif ( ! WP_Smush::is_pro() ) {
|
||
$this->view(
|
||
'cdn-upsell',
|
||
array(
|
||
'background_in_processing' => $background_in_processing,
|
||
'bulk_upgrade_url' => $upsell_cdn_url,
|
||
),
|
||
'views/bulk'
|
||
);
|
||
}
|