Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
wp-content-20241030122153
/
plugins
/
flexible-shipping
/
classes
/
notices
:
admin-notices.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * Admin notices. * * @package Flexible Shipping */ /** * Can display notices in admin. */ class WPDesk_Flexible_Shipping_Admin_Notices { const SETTINGS_CHECKED_OPTION_VALUE_SHOW_MESSAGE = '1'; const SETTINGS_CHECKED_OPTION_VALUE_DO_NOT_SHOW_MESSAGE = '2'; const BASED_ON_VALUE = 'value'; /** * @var Flexible_Shipping_Plugin */ private $plugin; /** * WPDesk_Flexible_Shipping_Admin_Notices constructor. * * @param Flexible_Shipping_Plugin $plugin . */ public function __construct( Flexible_Shipping_Plugin $plugin ) { $this->plugin = $plugin; $this->hooks(); } /** * Hooks. */ private function hooks() { add_action( 'admin_notices', array( $this, 'admin_notices_plugin_activepayments' ) ); add_action( 'admin_notices', array( $this, 'admin_notices_plugin_enadawca' ) ); add_action( 'admin_notices', array( $this, 'admin_notices_plugin_pwr' ) ); } /** * @param WC_Shipping_Method $shipping_method . * * @return bool */ private function has_value_based_rule( $shipping_method ) { $methods = get_option( 'flexible_shipping_methods_' . $shipping_method->instance_id, array() ); if ( is_array( $methods ) ) { foreach ( $methods as $method_settings ) { if ( isset( $method_settings['method_rules'] ) && is_array( $method_settings['method_rules'] ) ) { foreach ( $method_settings['method_rules'] as $rule ) { if ( isset( $rule['based_on'] ) && self::BASED_ON_VALUE === $rule['based_on'] ) { return true; } } } } } return false; } /** * @return bool */ public function is_in_zones() { if ( isset( $_GET['page'] ) && 'wc-settings' === sanitize_key( $_GET['page'] ) && isset( $_GET['tab'] ) && 'shipping' === sanitize_key( $_GET['tab'] ) && ( ! isset( $_GET['section'] ) || '' === $_GET['section'] ) ) { return true; } return false; } /** * Active payments notice. */ public function admin_notices_plugin_activepayments() { if ( is_plugin_active( 'woocommerce-active-payments/activepayments.php' ) ) { $plugin_activepayments = get_plugin_data( WP_PLUGIN_DIR . '/woocommerce-active-payments/activepayments.php' ); $version_compare = version_compare( $plugin_activepayments['Version'], '2.7' ); if ( $version_compare < 0 ) { $class = 'notice notice-error'; $message = __( 'Flexible Shipping requires at least version 2.7 of Active Payments plugin.', 'flexible-shipping' ); $this->print_notice( $class, $message ); } } } /** * Enadawca notice. */ public function admin_notices_plugin_enadawca() { if ( is_plugin_active( 'woocommerce-enadawca/woocommerce-enadawca.php' ) ) { $plugin_enadawca = get_plugin_data( WP_PLUGIN_DIR . '/woocommerce-enadawca/woocommerce-enadawca.php' ); $version_compare = version_compare( $plugin_enadawca['Version'], '1.2' ); if ( $version_compare < 0 ) { $class = 'notice notice-error'; $message = __( 'Flexible Shipping requires at least version 1.2 of eNadawca plugin.', 'flexible-shipping' ); $this->print_notice( $class, $message ); } } } /** * Paczka w Ruchu notice. */ public function admin_notices_plugin_pwr() { if ( is_plugin_active( 'woocommerce-paczka-w-ruchu/woocommerce-paczka-w-ruchu.php' ) ) { $plugin_pwr = get_plugin_data( WP_PLUGIN_DIR . '/woocommerce-paczka-w-ruchu/woocommerce-paczka-w-ruchu.php' ); $version_compare = version_compare( $plugin_pwr['Version'], '1.1' ); if ( $version_compare < 0 ) { $class = 'notice notice-error'; $message = __( 'Flexible Shipping requires at least version 1.1 of Orlen Paczka plugin.', 'flexible-shipping' ); $this->print_notice( $class, $message ); } } } /** * @param string $class . * @param string $message . */ private function print_notice( $class, $message ) { printf( '<div class="%1$s"><p>%2$s</p></div>', $class, $message ); // phpcs:ignore } }