PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / trunk
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping vtrunk
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 / table-rate / flexible-shipping-settings.php
flexible-shipping / classes / table-rate Last commit date
logger 1 week ago settings 1 week ago views 1 week ago class-shortcode-unit-dimension.php 1 week ago class-shortcode-unit-weight.php 1 week ago class-wpdesk-flexible-shipping-multilingual.php 1 week ago flexible-shipping-settings.php 1 week ago order-item-meta.php 1 week ago shipping-method.php 1 week ago
flexible-shipping-settings.php
197 lines
1 <?php
2 /**
3 * WPDesk_Flexible_Shipping_Settings
4 *
5 * @package Flexible Shipping
6 */
7
8 use FSVendor\WPDesk\Beacon\Beacon\WooCommerceSettingsFieldsModifier;
9 use WPDesk\FS\Info\FSIE;
10 use WPDesk\FS\Info\FSPro;
11 use WPDesk\FS\Info\FSWalkthrough;
12 use WPDesk\FS\Info\FSWalkthroughPL;
13 use WPDesk\FS\Info\Metabox;
14 use WPDesk\FS\Info\Video;
15 use WPDesk\FS\Info\WooCommerceABC;
16 use WPDesk\FS\Info\WooCommerceABCPL;
17
18 /**
19 * Mainly read only info about FS + debug mode.
20 */
21 class WPDesk_Flexible_Shipping_Settings extends WC_Shipping_Method {
22
23 const METHOD_ID = 'flexible_shipping_info';
24
25 const WOOCOMMERCE_PAGE_WC_SETTINGS = 'wc-settings';
26
27 const WOOCOMMERCE_SETTINGS_SHIPPING_URL = 'admin.php?page=wc-settings&tab=shipping';
28
29 /**
30 * Logger settings.
31 *
32 * @var WPDesk_Flexible_Shipping_Logger_Settings
33 */
34 private $logger_settings;
35
36 /**
37 * WPDesk_Flexible_Shipping_Connect constructor.
38 *
39 * @param int $instance_id Instance id.
40 */
41 public function __construct( $instance_id = 0 ) {
42 parent::__construct( $instance_id );
43
44 $this->id = self::METHOD_ID;
45 $this->enabled = 'no';
46 $this->method_title = __( 'Flexible Shipping Info', 'flexible-shipping' );
47
48 $this->supports = [
49 'settings',
50 ];
51
52 $this->logger_settings = new WPDesk_Flexible_Shipping_Logger_Settings( $this );
53
54 $this->init_form_fields();
55
56 add_action( 'woocommerce_update_options_shipping_' . $this->id, [ $this, 'process_admin_options' ] );
57 }
58
59 /**
60 * Update debug mode.
61 */
62 private function update_debug_mode() {
63 $this->logger_settings->update_option_from_saas_settings( $this );
64 }
65
66 /**
67 * Process admin options.
68 */
69 public function process_admin_options() {
70 parent::process_admin_options();
71 $this->update_debug_mode();
72
73 $url = admin_url( self::WOOCOMMERCE_SETTINGS_SHIPPING_URL );
74 $url = add_query_arg( 'section', $this->id, $url );
75 wp_safe_redirect( $url );
76 exit;
77 }
78
79 /**
80 * In settings screen?
81 *
82 * @return bool
83 */
84 public function is_in_settings() {
85 if ( is_admin() && isset( $_GET['page'] ) && isset( $_GET['section'] ) ) {
86 $page = sanitize_key( $_GET['page'] );
87 $section = sanitize_key( $_GET['section'] );
88 if ( self::WOOCOMMERCE_PAGE_WC_SETTINGS === $page && self::METHOD_ID === $section ) {
89 return true;
90 }
91 }
92
93 return false;
94 }
95
96 /**
97 * Initialise Settings Form Fields.
98 */
99 public function init_form_fields() {
100 $this->form_fields = [
101 'flexible_shipping' => [
102 'type' => 'flexible_shipping',
103 ],
104 ];
105 $this->form_fields[] = [
106 'type' => 'title',
107 'title' => __( 'Advanced settings', 'flexible-shipping' ),
108 'default' => '',
109 ];
110
111 $this->form_fields = $this->logger_settings->add_fields_to_settings( $this->form_fields );
112 $this->form_fields = $this->add_beacon_search_data_to_fields( $this->form_fields );
113 $this->form_fields[] = [
114 'type' => 'title',
115 'default' => '',
116 ];
117
118 }
119
120 /**
121 * Add beacon search data to fields.
122 *
123 * @param array $form_fields .
124 *
125 * @return array
126 */
127 private function add_beacon_search_data_to_fields( array $form_fields ) {
128 $modifier = new WooCommerceSettingsFieldsModifier();
129
130 return $modifier->append_beacon_search_data_to_fields( $form_fields );
131 }
132
133 /**
134 * Generate FC connect box
135 *
136 * @param string $key Key.
137 * @param array $data Data.
138 *
139 * @return string
140 */
141 public function generate_flexible_shipping_html( $key, $data ) {
142 $metaboxes = $this->get_metaboxes();
143
144 if ( ! $metaboxes ) {
145 return '';
146 }
147
148 ob_start();
149 include 'views/html-shipping-settings-info-description.php';
150 $notice_content = ob_get_contents();
151 ob_end_clean();
152
153 return $notice_content;
154 }
155
156 /**
157 * @return Metabox[]
158 */
159 public function get_metaboxes() {
160 $metaboxes = [];
161
162 if ( 'pl_PL' === get_user_locale() ) {
163 $metaboxes[] = new WooCommerceABCPL();
164 $metaboxes[] = new FSWalkthroughPL();
165 } else {
166 $metaboxes[] = new WooCommerceABC();
167 $metaboxes[] = new FSWalkthrough();
168 }
169
170 if ( ! wpdesk_is_plugin_active( 'flexible-shipping-pro/flexible-shipping-pro.php' ) ) {
171 $metaboxes[] = new FSPro();
172 } else {
173 $metaboxes[] = new FSIE();
174 }
175
176 $metaboxes[] = new Video();
177
178 /**
179 * Can modify metaboxes on FS Info Page.
180 *
181 * @param Metabox[] $metaboxes Metaboxes.
182 *
183 * @since 4.1.3
184 */
185 $metaboxes = apply_filters( 'flexible-shipping/page/info/metaboxes', $metaboxes );
186
187 $metaboxes = array_filter(
188 $metaboxes,
189 function ( $metabox ) {
190 return $metabox instanceof Metabox;
191 }
192 );
193
194 return $metaboxes;
195 }
196 }
197