PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.10.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.10.0
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / src / WPDesk / FS / TableRate / Beacon / BeaconClickedAjax.php
flexible-shipping / src / WPDesk / FS / TableRate / Beacon Last commit date
Beacon.php 1 month ago BeaconClickedAjax.php 1 month ago BeaconDeactivationTracker.php 1 month ago BeaconDisplayStrategy.php 1 month ago
BeaconClickedAjax.php
102 lines
1 <?php
2 /**
3 * Class BeaconAjax
4 *
5 * @package WPDesk\FS\TableRate
6 */
7
8 namespace WPDesk\FS\TableRate\Beacon;
9
10 use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
11
12 /**
13 * Can register Beacon click vi AJAX.
14 */
15 class BeaconClickedAjax implements Hookable {
16
17 const OPTION_NAME = 'flexible_shipping_beacon_clicked';
18 const NONCE_ACTION = 'flexible_shipping_beacon_clicked';
19 const AJAX_ACTION = 'flexible_shipping_beacon_clicked';
20
21 /**
22 * @var BeaconDisplayStrategy
23 */
24 private $strategy;
25
26 /**
27 * @var string
28 */
29 private $assets_url;
30
31 /**
32 * @var string
33 */
34 private $scripts_version;
35
36 /**
37 * BeaconAjax constructor.
38 *
39 * @param BeaconDisplayStrategy $strategy .
40 * @param string $assets_url .
41 * @param string $scripts_version .
42 */
43 public function __construct( BeaconDisplayStrategy $strategy, $assets_url, $scripts_version ) {
44 $this->strategy = $strategy;
45 $this->assets_url = $assets_url;
46 $this->scripts_version = $scripts_version;
47 }
48
49 /**
50 * Hooks.
51 */
52 public function hooks() {
53 if ( 0 === (int) get_option( self::OPTION_NAME, 0 ) ) {
54 if ( $this->strategy->shouldDisplay() ) {
55 add_action( 'admin_enqueue_scripts', [ $this, 'add_script' ] );
56 }
57 add_action( 'wp_ajax_' . self::AJAX_ACTION, [ $this, 'handle_ajax_action' ] );
58 }
59 }
60
61 /**
62 * @internal
63 */
64 public function add_script() {
65 $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
66 $handle = 'fs_beacon_clicked';
67
68 wp_register_script(
69 $handle,
70 trailingslashit( $this->assets_url ) . 'js/beacon-clicked' . $suffix . '.js',
71 [ 'jquery' ],
72 $this->scripts_version
73 );
74
75 wp_localize_script(
76 $handle,
77 'fs_beacon_clicked',
78 [
79 'ajax_url' => admin_url( 'admin-ajax.php' ),
80 'action' => self::AJAX_ACTION,
81 'nonce' => wp_create_nonce( self::NONCE_ACTION ),
82 ]
83 );
84
85 wp_enqueue_script( $handle );
86 }
87
88 /**
89 * Handle AJAX action.
90 *
91 * @internal
92 */
93 public function handle_ajax_action() {
94 check_ajax_referer( self::AJAX_ACTION, 'nonce' );
95 if ( ! current_user_can( 'manage_woocommerce' ) ) {
96 wp_send_json_error();
97 }
98 update_option( self::OPTION_NAME, 1 );
99 wp_send_json_success();
100 }
101 }
102