PluginProbe
Image Optimizer – Compress Images and Convert to WebP or AVIF / trunk
Image Optimizer – Compress Images and Convert to WebP or AVIF vtrunk
1.7.7 1.7.6 1.7.5 1.7.4 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 All 33 releases
← All changes | modules/core/components/pointers.php +16 -4 1.0.1 → trunk View file →
@@ -1,7 +1,7 @@
1 1 <?php
2 2
3 -namespace ImageOptimizer\Modules\Core\Components;
3 +namespace ImageOptimization\Modules\Core\Components;
4 4
5 5 if ( ! defined( 'ABSPATH' ) ) {
6 6 exit; // Exit if accessed directly.
7 7 }
@@ -9,18 +9,22 @@
9 9 class Pointers {
10 10 const DISMISSED_POINTERS_META_KEY = 'image_optimizer_dismissed_pointers';
11 11
12 12 public function dismiss_pointers() {
13 - if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'image-optimizer-pointer-dismissed' ) ) {
13 + if ( empty( $_POST['nonce'] ) || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['nonce'] ) ), 'image-optimization-pointer-dismissed' ) ) {
14 14 wp_send_json_error( [ 'message' => 'Invalid nonce' ] );
15 15 }
16 16
17 - $pointer = sanitize_text_field( $_POST['data']['pointer'] ) ?? null;
17 + $pointer = isset( $_POST['data']['pointer'] ) ?
18 + sanitize_text_field( wp_unslash( $_POST['data']['pointer'] ) ) :
19 + null;
18 20
19 21 if ( empty( $pointer ) ) {
20 22 wp_send_json_error( [ 'message' => 'The pointer id must be provided' ] );
21 23 }
22 24
25 + $pointer = explode( ',', $pointer );
26 +
23 27 $user_dismissed_meta = get_user_meta( get_current_user_id(), self::DISMISSED_POINTERS_META_KEY, true );
24 28
25 29 if ( ! $user_dismissed_meta ) {
26 30 $user_dismissed_meta = [];
@@ -25,13 +29,21 @@
25 29 if ( ! $user_dismissed_meta ) {
26 30 $user_dismissed_meta = [];
27 31 }
28 32
29 - $user_dismissed_meta[ $pointer ] = true;
33 + foreach ( $pointer as $item ) {
34 + $user_dismissed_meta[ $item ] = true;
35 + }
30 36
31 37 update_user_meta( get_current_user_id(), self::DISMISSED_POINTERS_META_KEY, $user_dismissed_meta );
32 38
33 39 wp_send_json_success( [] );
40 + }
41 +
42 + public static function is_dismissed( string $slug ): bool {
43 + $meta = (array) get_user_meta( get_current_user_id(), self::DISMISSED_POINTERS_META_KEY, true );
44 +
45 + return key_exists( $slug, $meta );
34 46 }
35 47
36 48 public function __construct() {
37 49 add_action( 'wp_ajax_image_optimizer_pointer_dismissed', [ $this, 'dismiss_pointers' ] );