Edit File by line
/home/zeestwma/ajeebong.../wp-conte.../plugins/image-op.../modules/settings/componen...
File: settings-pointer.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace ImageOptimization\Modules\Settings\Components;
[2] Fix | Delete
[3] Fix | Delete
use ImageOptimization\Modules\Core\Components\Pointers;
[4] Fix | Delete
use ImageOptimization\Modules\Settings\Module;
[5] Fix | Delete
[6] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[7] Fix | Delete
exit; // Exit if accessed directly.
[8] Fix | Delete
}
[9] Fix | Delete
[10] Fix | Delete
class Settings_Pointer {
[11] Fix | Delete
const CURRENT_POINTER_SLUG = 'image-optimizer-settings';
[12] Fix | Delete
[13] Fix | Delete
public function admin_print_script() {
[14] Fix | Delete
[15] Fix | Delete
if ( ! current_user_can( 'manage_options' ) ) {
[16] Fix | Delete
return;
[17] Fix | Delete
}
[18] Fix | Delete
[19] Fix | Delete
if ( $this->is_dismissed() ) {
[20] Fix | Delete
return;
[21] Fix | Delete
}
[22] Fix | Delete
[23] Fix | Delete
wp_enqueue_script( 'wp-pointer' );
[24] Fix | Delete
wp_enqueue_style( 'wp-pointer' );
[25] Fix | Delete
[26] Fix | Delete
$pointer_content = '<h3>' . esc_html__( 'Image Optimization settings', 'image-optimization' ) . '</h3>';
[27] Fix | Delete
$pointer_content .= '<p>' . esc_html__( 'Head over to the Image Optimization Settings to fine-tune how your media uploads are managed.', 'image-optimization' ) . '</p>';
[28] Fix | Delete
[29] Fix | Delete
$pointer_content .= sprintf(
[30] Fix | Delete
'<p><a class="button button-primary image-optimization-pointer-settings-link" href="%s">%s</a></p>',
[31] Fix | Delete
admin_url( 'admin.php?page=' . Module::SETTING_BASE_SLUG ),
[32] Fix | Delete
esc_html__( 'Take me there', 'image-optimization' )
[33] Fix | Delete
);
[34] Fix | Delete
$allowed_tags = [
[35] Fix | Delete
'h3' => [],
[36] Fix | Delete
'p' => [],
[37] Fix | Delete
'a' => [
[38] Fix | Delete
'class' => [],
[39] Fix | Delete
'href' => [],
[40] Fix | Delete
],
[41] Fix | Delete
];
[42] Fix | Delete
?>
[43] Fix | Delete
<script>
[44] Fix | Delete
const onClose = () => {
[45] Fix | Delete
return jQuery.ajax( {
[46] Fix | Delete
url: ajaxurl,
[47] Fix | Delete
method: 'POST',
[48] Fix | Delete
data: {
[49] Fix | Delete
action: 'image_optimizer_pointer_dismissed',
[50] Fix | Delete
data: {
[51] Fix | Delete
pointer: '<?php echo esc_attr( static::CURRENT_POINTER_SLUG ); ?>'
[52] Fix | Delete
},
[53] Fix | Delete
nonce: '<?php echo esc_attr( wp_create_nonce( 'image-optimization-pointer-dismissed' ) ); ?>'
[54] Fix | Delete
}
[55] Fix | Delete
} );
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
jQuery( document ).ready( function( $ ) {
[59] Fix | Delete
$( '#menu-media' ).pointer( {
[60] Fix | Delete
content: '<?php echo wp_kses( $pointer_content, $allowed_tags ); ?>',
[61] Fix | Delete
position: {
[62] Fix | Delete
edge: <?php echo is_rtl() ? "'right'" : "'left'"; ?>,
[63] Fix | Delete
align: 'center'
[64] Fix | Delete
},
[65] Fix | Delete
close: onClose
[66] Fix | Delete
} ).pointer( 'open' );
[67] Fix | Delete
[68] Fix | Delete
$( '.image-optimization-pointer-settings-link' ).first().on( 'click', function( e ) {
[69] Fix | Delete
e.preventDefault();
[70] Fix | Delete
[71] Fix | Delete
$(this).attr( 'disabled', true );
[72] Fix | Delete
[73] Fix | Delete
onClose().promise().done(() => {
[74] Fix | Delete
location = $(this).attr( 'href' );
[75] Fix | Delete
});
[76] Fix | Delete
})
[77] Fix | Delete
} );
[78] Fix | Delete
</script>
[79] Fix | Delete
<?php
[80] Fix | Delete
}
[81] Fix | Delete
[82] Fix | Delete
public function is_dismissed(): bool {
[83] Fix | Delete
$meta = (array) get_user_meta( get_current_user_id(), Pointers::DISMISSED_POINTERS_META_KEY, true );
[84] Fix | Delete
[85] Fix | Delete
return key_exists( static::CURRENT_POINTER_SLUG, $meta );
[86] Fix | Delete
}
[87] Fix | Delete
[88] Fix | Delete
public function __construct() {
[89] Fix | Delete
add_action( 'in_admin_header', [ $this, 'admin_print_script' ] );
[90] Fix | Delete
}
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function