| 1 |
<?php |
| 2 |
defined( 'ABSPATH' ) || die( 'Cheatin’ uh?' ); |
| 3 |
|
| 4 |
add_action( 'attachment_submitbox_misc_actions', '_imagify_attachment_submitbox_misc_actions', IMAGIFY_INT_MAX ); |
| 5 |
/** |
| 6 |
* Add a "Optimize It" button or the Imagify optimization data in the attachment submit area. |
| 7 |
* |
| 8 |
* @since 1.0 |
| 9 |
*/ |
| 10 |
function _imagify_attachment_submitbox_misc_actions() { |
| 11 |
global $post; |
| 12 |
|
| 13 |
if ( ! imagify_get_context( 'wp' )->current_user_can( 'manual-optimize', $post->ID ) ) { |
| 14 |
return; |
| 15 |
} |
| 16 |
|
| 17 |
$process = imagify_get_optimization_process( $post->ID, 'wp' ); |
| 18 |
|
| 19 |
if ( ! $process->is_valid() ) { |
| 20 |
return; |
| 21 |
} |
| 22 |
|
| 23 |
$media = $process->get_media(); |
| 24 |
|
| 25 |
if ( ! $media->is_supported() ) { |
| 26 |
return; |
| 27 |
} |
| 28 |
|
| 29 |
if ( ! $media->has_required_media_data() ) { |
| 30 |
return; |
| 31 |
} |
| 32 |
|
| 33 |
$data = $process->get_data(); |
| 34 |
$views = Imagify_Views::get_instance(); |
| 35 |
|
| 36 |
if ( ! Imagify_Requirements::is_api_key_valid() && ! $data->is_optimized() ) { |
| 37 |
?> |
| 38 |
<div class="misc-pub-section misc-pub-imagify"><h4><?php esc_html_e( 'Imagify', 'imagify' ); ?></h4></div> |
| 39 |
<div class="misc-pub-section misc-pub-imagify"> |
| 40 |
<?php esc_html_e( 'Invalid API key', 'imagify' ); ?> |
| 41 |
<br/> |
| 42 |
<a href="<?php echo esc_url( get_imagify_admin_url() ); ?>"> |
| 43 |
<?php esc_html_e( 'Check your Settings', 'imagify' ); ?> |
| 44 |
</a> |
| 45 |
</div> |
| 46 |
<?php |
| 47 |
} else { |
| 48 |
$is_locked = $process->is_locked(); |
| 49 |
|
| 50 |
if ( $is_locked ) { |
| 51 |
switch ( $is_locked ) { |
| 52 |
case 'optimizing': |
| 53 |
$lock_label = __( 'Optimizing...', 'imagify' ); |
| 54 |
break; |
| 55 |
case 'restoring': |
| 56 |
$lock_label = __( 'Restoring...', 'imagify' ); |
| 57 |
break; |
| 58 |
default: |
| 59 |
$lock_label = __( 'Processing...', 'imagify' ); |
| 60 |
} |
| 61 |
?> |
| 62 |
<div class="misc-pub-section misc-pub-imagify"> |
| 63 |
<?php $views->print_template( 'button/processing', [ 'label' => $lock_label ] ); ?> |
| 64 |
</div> |
| 65 |
<?php |
| 66 |
} elseif ( $data->is_optimized() || $data->is_already_optimized() || $data->is_error() ) { |
| 67 |
?> |
| 68 |
<div class="misc-pub-section misc-pub-imagify"><h4><?php esc_html_e( 'Imagify', 'imagify' ); ?></h4></div> |
| 69 |
<div class="misc-pub-section misc-pub-imagify imagify-data-item"> |
| 70 |
<?php echo get_imagify_attachment_optimization_text( $process ); ?> |
| 71 |
</div> |
| 72 |
<?php |
| 73 |
} else { |
| 74 |
$url = get_imagify_admin_url( 'optimize', array( 'attachment_id' => $post->ID ) ); |
| 75 |
?> |
| 76 |
<div class="misc-pub-section misc-pub-imagify"> |
| 77 |
<a class="button-primary" href="<?php echo esc_url( $url ); ?>"><?php esc_html_e( 'Optimize', 'imagify' ); ?></a> |
| 78 |
</div> |
| 79 |
<?php |
| 80 |
} |
| 81 |
} |
| 82 |
|
| 83 |
if ( $media->has_backup() && $data->is_optimized() ) { |
| 84 |
?> |
| 85 |
<input id="imagify-full-original" type="hidden" value="<?php echo esc_url( $media->get_backup_url() ); ?>"> |
| 86 |
<input id="imagify-full-original-size" type="hidden" value="<?php echo esc_attr( $data->get_original_size( true, 0 ) ); ?>"> |
| 87 |
<?php |
| 88 |
} |
| 89 |
} |
| 90 |
|