PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / trunk
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping vtrunk
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 / classes / notices / admin-notices.php
flexible-shipping / classes / notices Last commit date
abstract-rate.php 18 hours ago admin-notices.php 18 hours ago interface-rate.php 18 hours ago rate-notice-implementation.php 18 hours ago rate-notice.php 18 hours ago
admin-notices.php
134 lines
1 <?php
2 /**
3 * Admin notices.
4 *
5 * @package Flexible Shipping
6 */
7
8 /**
9 * Can display notices in admin.
10 */
11 class WPDesk_Flexible_Shipping_Admin_Notices {
12
13 const SETTINGS_CHECKED_OPTION_VALUE_SHOW_MESSAGE = '1';
14
15 const SETTINGS_CHECKED_OPTION_VALUE_DO_NOT_SHOW_MESSAGE = '2';
16
17 const BASED_ON_VALUE = 'value';
18
19 /**
20 * @var Flexible_Shipping_Plugin
21 */
22 private $plugin;
23
24 /**
25 * WPDesk_Flexible_Shipping_Admin_Notices constructor.
26 *
27 * @param Flexible_Shipping_Plugin $plugin .
28 */
29 public function __construct( Flexible_Shipping_Plugin $plugin ) {
30 $this->plugin = $plugin;
31 $this->hooks();
32 }
33
34 /**
35 * Hooks.
36 */
37 private function hooks() {
38 add_action( 'admin_notices', array( $this, 'admin_notices_plugin_activepayments' ) );
39 add_action( 'admin_notices', array( $this, 'admin_notices_plugin_enadawca' ) );
40 add_action( 'admin_notices', array( $this, 'admin_notices_plugin_pwr' ) );
41 }
42
43
44 /**
45 * @param WC_Shipping_Method $shipping_method .
46 *
47 * @return bool
48 */
49 private function has_value_based_rule( $shipping_method ) {
50 $methods = get_option( 'flexible_shipping_methods_' . $shipping_method->instance_id, array() );
51 if ( is_array( $methods ) ) {
52 foreach ( $methods as $method_settings ) {
53 if ( isset( $method_settings['method_rules'] ) && is_array( $method_settings['method_rules'] ) ) {
54 foreach ( $method_settings['method_rules'] as $rule ) {
55 if ( isset( $rule['based_on'] ) && self::BASED_ON_VALUE === $rule['based_on'] ) {
56 return true;
57 }
58 }
59 }
60 }
61 }
62
63 return false;
64 }
65
66 /**
67 * @return bool
68 */
69 public function is_in_zones() {
70 if ( isset( $_GET['page'] ) && 'wc-settings' === sanitize_key( $_GET['page'] )
71 && isset( $_GET['tab'] ) && 'shipping' === sanitize_key( $_GET['tab'] )
72 && ( ! isset( $_GET['section'] ) || '' === $_GET['section'] )
73 ) {
74 return true;
75 }
76
77 return false;
78 }
79
80 /**
81 * Active payments notice.
82 */
83 public function admin_notices_plugin_activepayments() {
84 if ( is_plugin_active( 'woocommerce-active-payments/activepayments.php' ) ) {
85 $plugin_activepayments = get_plugin_data( WP_PLUGIN_DIR . '/woocommerce-active-payments/activepayments.php' );
86 $version_compare = version_compare( $plugin_activepayments['Version'], '2.7' );
87 if ( $version_compare < 0 ) {
88 $class = 'notice notice-error';
89 $message = __( 'Flexible Shipping requires at least version 2.7 of Active Payments plugin.', 'flexible-shipping' );
90 $this->print_notice( $class, $message );
91 }
92 }
93 }
94
95 /**
96 * Enadawca notice.
97 */
98 public function admin_notices_plugin_enadawca() {
99 if ( is_plugin_active( 'woocommerce-enadawca/woocommerce-enadawca.php' ) ) {
100 $plugin_enadawca = get_plugin_data( WP_PLUGIN_DIR . '/woocommerce-enadawca/woocommerce-enadawca.php' );
101 $version_compare = version_compare( $plugin_enadawca['Version'], '1.2' );
102 if ( $version_compare < 0 ) {
103 $class = 'notice notice-error';
104 $message = __( 'Flexible Shipping requires at least version 1.2 of eNadawca plugin.', 'flexible-shipping' );
105 $this->print_notice( $class, $message );
106 }
107 }
108 }
109
110 /**
111 * Paczka w Ruchu notice.
112 */
113 public function admin_notices_plugin_pwr() {
114 if ( is_plugin_active( 'woocommerce-paczka-w-ruchu/woocommerce-paczka-w-ruchu.php' ) ) {
115 $plugin_pwr = get_plugin_data( WP_PLUGIN_DIR . '/woocommerce-paczka-w-ruchu/woocommerce-paczka-w-ruchu.php' );
116 $version_compare = version_compare( $plugin_pwr['Version'], '1.1' );
117 if ( $version_compare < 0 ) {
118 $class = 'notice notice-error';
119 $message = __( 'Flexible Shipping requires at least version 1.1 of Orlen Paczka plugin.', 'flexible-shipping' );
120 $this->print_notice( $class, $message );
121 }
122 }
123 }
124
125 /**
126 * @param string $class .
127 * @param string $message .
128 */
129 private function print_notice( $class, $message ) {
130 printf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message ); // phpcs:ignore
131 }
132
133 }
134