Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wp-smush.../app/pages
File: class-directory.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Compress directory page.
[2] Fix | Delete
*
[3] Fix | Delete
* @package Smush\App\Pages
[4] Fix | Delete
*/
[5] Fix | Delete
[6] Fix | Delete
namespace Smush\App\Pages;
[7] Fix | Delete
[8] Fix | Delete
use Smush\App\Abstract_Summary_Page;
[9] Fix | Delete
use Smush\App\Interface_Page;
[10] Fix | Delete
use Smush\Core\Core;
[11] Fix | Delete
use WP_Smush;
[12] Fix | Delete
[13] Fix | Delete
if ( ! defined( 'WPINC' ) ) {
[14] Fix | Delete
die;
[15] Fix | Delete
}
[16] Fix | Delete
[17] Fix | Delete
/**
[18] Fix | Delete
* Class Directory
[19] Fix | Delete
*/
[20] Fix | Delete
class Directory extends Abstract_Summary_Page implements Interface_Page {
[21] Fix | Delete
/**
[22] Fix | Delete
* Register meta boxes.
[23] Fix | Delete
*/
[24] Fix | Delete
public function register_meta_boxes() {
[25] Fix | Delete
parent::register_meta_boxes();
[26] Fix | Delete
[27] Fix | Delete
$this->add_meta_box(
[28] Fix | Delete
'directory',
[29] Fix | Delete
__( 'Directory Smush', 'wp-smushit' ),
[30] Fix | Delete
array( $this, 'directory_smush_meta_box' ),
[31] Fix | Delete
null,
[32] Fix | Delete
null,
[33] Fix | Delete
'main',
[34] Fix | Delete
array(
[35] Fix | Delete
'box_class' => 'sui-box sui-message sui-no-padding',
[36] Fix | Delete
)
[37] Fix | Delete
);
[38] Fix | Delete
[39] Fix | Delete
// Modal for the "Choose Directory" link in the summary box.
[40] Fix | Delete
$this->modals['directory-list'] = array();
[41] Fix | Delete
$this->modals['progress-dialog'] = array();
[42] Fix | Delete
}
[43] Fix | Delete
[44] Fix | Delete
/**
[45] Fix | Delete
* Directory Smush meta box.
[46] Fix | Delete
*/
[47] Fix | Delete
public function directory_smush_meta_box() {
[48] Fix | Delete
// Reset the bulk limit transient.
[49] Fix | Delete
if ( ! WP_Smush::is_pro() ) {
[50] Fix | Delete
Core::check_bulk_limit( true, 'dir_sent_count' );
[51] Fix | Delete
}
[52] Fix | Delete
[53] Fix | Delete
$core = WP_Smush::get_instance()->core();
[54] Fix | Delete
[55] Fix | Delete
$upgrade_url = add_query_arg(
[56] Fix | Delete
array(
[57] Fix | Delete
'utm_source' => 'smush',
[58] Fix | Delete
'utm_medium' => 'plugin',
[59] Fix | Delete
'utm_campaign' => 'smush_directory_smush_paused_50_limit',
[60] Fix | Delete
),
[61] Fix | Delete
$this->upgrade_url
[62] Fix | Delete
);
[63] Fix | Delete
[64] Fix | Delete
$errors = 0;
[65] Fix | Delete
$images = array();
[66] Fix | Delete
[67] Fix | Delete
$scan = filter_input( INPUT_GET, 'scan', FILTER_SANITIZE_SPECIAL_CHARS );
[68] Fix | Delete
if ( 'done' === $scan ) {
[69] Fix | Delete
$images = $core->mod->dir->get_image_errors();
[70] Fix | Delete
$errors = $core->mod->dir->get_image_errors_count();
[71] Fix | Delete
}
[72] Fix | Delete
[73] Fix | Delete
$this->view(
[74] Fix | Delete
'directory/meta-box',
[75] Fix | Delete
array(
[76] Fix | Delete
'errors' => $errors,
[77] Fix | Delete
'images' => $images,
[78] Fix | Delete
'upgrade_url' => $upgrade_url,
[79] Fix | Delete
)
[80] Fix | Delete
);
[81] Fix | Delete
}
[82] Fix | Delete
[83] Fix | Delete
/**
[84] Fix | Delete
* Show directory smush result notice.
[85] Fix | Delete
*
[86] Fix | Delete
* If we are redirected from a directory smush finish page,
[87] Fix | Delete
* show the result notice if success/fail count is available.
[88] Fix | Delete
*
[89] Fix | Delete
* @since 2.9.0
[90] Fix | Delete
*/
[91] Fix | Delete
public function smush_result_notice() {
[92] Fix | Delete
// Get the counts from transient.
[93] Fix | Delete
$items = (int) get_transient( 'wp-smush-show-dir-scan-notice' );
[94] Fix | Delete
$failed_items = (int) get_transient( 'wp-smush-dir-scan-failed-items' );
[95] Fix | Delete
$skipped_items = (int) get_transient( 'wp-smush-dir-scan-skipped-items' ); // Skipped because already optimized.
[96] Fix | Delete
$notice_message = esc_html__( 'Image compression complete.', 'wp-smushit' ) . ' ';
[97] Fix | Delete
$notice_class = 'error';
[98] Fix | Delete
[99] Fix | Delete
$total = $items + $failed_items + $skipped_items;
[100] Fix | Delete
[101] Fix | Delete
/**
[102] Fix | Delete
* 1 image was successfully optimized / 10 images were successfully optimized
[103] Fix | Delete
* 1 image was skipped because it was already optimized / 5/10 images were skipped because they were already optimized
[104] Fix | Delete
* 1 image resulted in an error / 5/10 images resulted in an error, check the logs for more information
[105] Fix | Delete
*
[106] Fix | Delete
* 2/10 images were skipped because they were already optimized and 4/10 resulted in an error
[107] Fix | Delete
*/
[108] Fix | Delete
[109] Fix | Delete
if ( 0 === $failed_items && 0 === $skipped_items ) {
[110] Fix | Delete
$notice_message .= sprintf(
[111] Fix | Delete
/* translators: %d - number of images */
[112] Fix | Delete
_n(
[113] Fix | Delete
'%d image was successfully optimized',
[114] Fix | Delete
'%d images were successfully optimized',
[115] Fix | Delete
$items,
[116] Fix | Delete
'wp-smushit'
[117] Fix | Delete
),
[118] Fix | Delete
$items
[119] Fix | Delete
);
[120] Fix | Delete
$notice_class = 'success';
[121] Fix | Delete
} elseif ( 0 <= $skipped_items && 0 === $failed_items ) {
[122] Fix | Delete
$notice_message .= sprintf(
[123] Fix | Delete
/* translators: %1$d - number of skipped images, %2$d - total number of images */
[124] Fix | Delete
_n(
[125] Fix | Delete
'%1$d/%2$d image was skipped because it was already optimized',
[126] Fix | Delete
'%1$d/%2$d images were skipped because they were already optimized',
[127] Fix | Delete
$skipped_items,
[128] Fix | Delete
'wp-smushit'
[129] Fix | Delete
),
[130] Fix | Delete
$skipped_items,
[131] Fix | Delete
$total
[132] Fix | Delete
);
[133] Fix | Delete
$notice_class = 'success';
[134] Fix | Delete
} elseif ( 0 === $skipped_items && 0 <= $failed_items ) {
[135] Fix | Delete
$notice_message .= sprintf(
[136] Fix | Delete
/* translators: %1$d - number of failed images, %2$d - total number of images */
[137] Fix | Delete
_n(
[138] Fix | Delete
'%1$d/%2$d image resulted in an error',
[139] Fix | Delete
'%1$d/%2$d images resulted in an error, check the logs for more information',
[140] Fix | Delete
$failed_items,
[141] Fix | Delete
'wp-smushit'
[142] Fix | Delete
),
[143] Fix | Delete
$failed_items,
[144] Fix | Delete
$total
[145] Fix | Delete
);
[146] Fix | Delete
} elseif ( 0 <= $skipped_items && 0 <= $failed_items ) {
[147] Fix | Delete
$notice_message .= sprintf(
[148] Fix | Delete
/* translators: %1$d - number of skipped images, %2$d - total number of images, %3$d - number of failed images */
[149] Fix | Delete
esc_html__( '%1$d/%2$d images were skipped because they were already optimized and %3$d/%2$d images resulted in an error', 'wp-smushit' ),
[150] Fix | Delete
$skipped_items,
[151] Fix | Delete
$total,
[152] Fix | Delete
$failed_items
[153] Fix | Delete
);
[154] Fix | Delete
$notice_class = 'warning';
[155] Fix | Delete
}
[156] Fix | Delete
[157] Fix | Delete
// If we have counts, show the notice.
[158] Fix | Delete
if ( 0 < $total ) {
[159] Fix | Delete
// Delete the transients.
[160] Fix | Delete
delete_transient( 'wp-smush-show-dir-scan-notice' );
[161] Fix | Delete
delete_transient( 'wp-smush-dir-scan-failed-items' );
[162] Fix | Delete
delete_transient( 'wp-smush-dir-scan-skipped-items' );
[163] Fix | Delete
?>
[164] Fix | Delete
<script>
[165] Fix | Delete
document.addEventListener("DOMContentLoaded", function() {
[166] Fix | Delete
window.SUI.openNotice(
[167] Fix | Delete
'wp-smush-ajax-notice',
[168] Fix | Delete
'<p><?php echo wp_kses_post( $notice_message ); ?></p>',
[169] Fix | Delete
{
[170] Fix | Delete
type: '<?php echo esc_attr( $notice_class ); ?>',
[171] Fix | Delete
icon: 'info',
[172] Fix | Delete
dismiss: {
[173] Fix | Delete
show: true,
[174] Fix | Delete
label: '<?php esc_html_e( 'Dismiss', 'wp-smushit' ); ?>',
[175] Fix | Delete
tooltip: '<?php esc_html_e( 'Dismiss', 'wp-smushit' ); ?>',
[176] Fix | Delete
},
[177] Fix | Delete
}
[178] Fix | Delete
);
[179] Fix | Delete
});
[180] Fix | Delete
</script>
[181] Fix | Delete
<?php
[182] Fix | Delete
}
[183] Fix | Delete
}
[184] Fix | Delete
[185] Fix | Delete
}
[186] Fix | Delete
[187] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function