PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / addons / wpml-dependencies / lib / classes / notices / DismissNotices.php
woocommerce-multilingual / addons / wpml-dependencies / lib / classes / notices Last commit date
pages 4 years ago DismissNotices.php 4 weeks ago class-wpml-notice-action.php 4 weeks ago class-wpml-notice-render.php 4 weeks ago class-wpml-notice.php 4 weeks ago class-wpml-notices.php 4 weeks ago
DismissNotices.php
54 lines
1 <?php
2
3 namespace WPML\Notices;
4
5 class DismissNotices implements \IWPML_Backend_Action {
6
7 const OPTION = 'wpml_dismiss_notice';
8 const CSS_CLASS = 'wpml_dismiss_notice';
9
10 public function add_hooks() {
11 add_action( 'wp_ajax_wpml_dismiss_notice', [ $this, 'toggleDismiss' ] );
12
13 add_action(
14 'admin_enqueue_scripts',
15 function () {
16 wp_enqueue_script(
17 'wpml-dismiss-notice',
18 WCML_WPML_DEPENDENCY_URL . '/dist/js/notices/app.js',
19 [],
20 '4.5.0'
21 );
22 }
23 );
24 }
25
26 public function toggleDismiss() {
27 $postData = wpml_collect( $_POST );
28 $id = $postData->get( 'id', null );
29 if ( ! $id ) {
30 return wp_send_json_error( 'ID of notice is not defined' );
31 }
32
33 $options = get_option( self::OPTION, [] );
34 $options[ $id ] = $postData->get( 'dismiss', false ) === 'true';
35
36 update_option( self::OPTION, $options );
37
38 return wp_send_json_success();
39
40 }
41
42 public function isDismissed( $id ) {
43 return wpml_collect( get_option( self::OPTION, [] ) )->get( $id, false );
44 }
45
46 public function renderCheckbox( $id ) {
47 return sprintf(
48 '<input type="checkbox" class="%s" data-id="%s" />',
49 self::CSS_CLASS,
50 $id
51 );
52 }
53 }
54