PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.12.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.12.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 / vendor_prefixed / wpdesk / wp-wpdesk-fs-compatibility / src / BlockSettings.php
flexible-shipping / vendor_prefixed / wpdesk / wp-wpdesk-fs-compatibility / src Last commit date
views 1 week ago BlockSettings.php 1 week ago Notice.php 1 week ago PluginCompatibility.php 1 week ago PluginCompatibilityChecker.php 1 week ago PluginDetails.php 1 week ago
BlockSettings.php
117 lines
1 <?php
2
3 /**
4 * Block Settings
5 *
6 * @package WPDesk\FS\Compatibility
7 */
8 namespace FSVendor\WPDesk\FS\Compatibility;
9
10 use WC_Shipping_Zones;
11 use FSVendor\WPDesk_Flexible_Shipping;
12 /**
13 * Can prevent Flexible Shipping settings saving.
14 */
15 class BlockSettings
16 {
17 /**
18 * @var PluginCompatibilityChecker .
19 */
20 private $plugin_compatibility_checker;
21 /**
22 * Notice constructor.
23 *
24 * @param PluginCompatibilityChecker $plugin_compatibility_checker .
25 */
26 public function __construct(PluginCompatibilityChecker $plugin_compatibility_checker)
27 {
28 $this->plugin_compatibility_checker = $plugin_compatibility_checker;
29 }
30 /**
31 * Add hooks.
32 */
33 public function hooks()
34 {
35 add_action('admin_init', array($this, 'block_save_settings'));
36 add_action('flexible-shipping/method-rules-settings/table/before', array($this, 'add_flexible_shipping_method_message'));
37 add_action('flexible_shipping_method_script', array($this, 'add_flexible_shipping_method_message'));
38 }
39 /**
40 * Action when setting are saving.
41 */
42 public function block_save_settings()
43 {
44 if (!isset($_POST['save'], $_POST['settings_saving_block'])) {
45 return;
46 }
47 $tab = filter_input(\INPUT_GET, 'tab');
48 $page = filter_input(\INPUT_GET, 'page');
49 if ('wc-settings' !== $page || 'shipping' !== $tab) {
50 return;
51 }
52 $_wpnonce = filter_input(\INPUT_POST, '_wpnonce');
53 if (!wp_verify_nonce(wp_unslash($_wpnonce), 'woocommerce-settings')) {
54 return;
55 }
56 $method_title = filter_input(\INPUT_POST, 'woocommerce_flexible_shipping_method_title');
57 $instance_id = absint(wp_unslash(filter_input(\INPUT_GET, 'instance_id')));
58 if (!$method_title || !$instance_id) {
59 return;
60 }
61 $shipping_method = WC_Shipping_Zones::get_shipping_method($instance_id);
62 if (!$shipping_method) {
63 return;
64 }
65 wp_die($this->get_general_message(), '', array('link_url' => $this->get_plugin_update_url(), 'link_text' => $this->get_plugin_update_label(), 'back_link' => \true));
66 // WPCS: XSS OK.
67 }
68 /**
69 * Add scripts for FS method.
70 */
71 public function add_flexible_shipping_method_message()
72 {
73 $status = (bool) apply_filters('plugin_compatibility_checker/js_added', \false);
74 if ($status) {
75 return;
76 }
77 $action = filter_input(\INPUT_GET, 'action');
78 if (!$action) {
79 return;
80 }
81 add_filter('plugin_compatibility_checker/js_added', '__return_true');
82 $message = $this->get_message_for_settings();
83 include wp_normalize_path(__DIR__ . '/views/html-update-settings-alert.php');
84 }
85 /**
86 * Message for incompatible plugins.
87 *
88 * @return string
89 */
90 private function get_message_for_settings()
91 {
92 return sprintf('%s %s', $this->get_general_message(), sprintf('%s%s%s', sprintf('<a target="_blank" href="%s">', $this->get_plugin_update_url()), $this->get_plugin_update_label(), '</a>'));
93 }
94 /**
95 * @return string
96 */
97 private function get_general_message()
98 {
99 $plugins = implode(', ', $this->plugin_compatibility_checker->get_list_of_incompatible_plugins());
100 return sprintf(__('In order to prevent any further issues with the plugin configuration or its proper functioning, before saving the changes please update the following: %s.', 'flexible-shipping'), sprintf('<strong>%s</strong>', $plugins));
101 }
102 /**
103 * @return string
104 */
105 private function get_plugin_update_label()
106 {
107 return __('Go to the plugins list &rarr;', 'flexible-shipping');
108 }
109 /**
110 * @return string
111 */
112 private function get_plugin_update_url()
113 {
114 return add_query_arg('s', 'Flexible Shipping', admin_url('plugins.php'));
115 }
116 }
117