Version Description
- 2020-07-30 =
- Added ability to open shipment label in new tab - works with some integrations
Download this release
Release Info
Developer | wpdesk |
Plugin | Flexible Shipping for WooCommerce |
Version | 3.11.0 |
Comparing to | |
See all releases |
Code changes from version 3.10.0 to 3.11.0
- classes/class-flexible-shipping-plugin.php +3 -1
- classes/table-rate/shipping-method.php +24 -13
- classes/wp-wpdesk-fs-shipment/label/class-single-label-file-dispatcher.php +95 -0
- classes/wp-wpdesk-fs-shipment/shipment/class-shipment.php +492 -464
- classes/wp-wpdesk-fs-shipment/shipment/cpt-shipment.php +0 -23
- composer.lock +417 -230
- flexible-shipping.php +3 -3
- readme.txt +4 -1
- src/WPDesk/FS/Helpers/ShippingMethod.php +67 -0
- src/WPDesk/FS/TableRate/NewRulesTablePointer/RulesPointerMessage.php +22 -56
- src/WPDesk/FS/TableRate/NewRulesTablePointer/RulesPointerOption.php +7 -5
- src/WPDesk/FS/TableRate/NewRulesTablePointer/ShippingMethodNewRuleTableSetting.php +26 -4
- src/WPDesk/FS/TableRate/NewRulesTablePointer/views/html-flexible-shipping-settings-script.php +17 -16
- src/WPDesk/FS/TableRate/NewRulesTableTracker.php +33 -6
- src/WPDesk/FS/TableRate/RulesSettingsField.php +14 -9
- src/WPDesk/FS/TableRate/UserFeedback.php +33 -12
- src/WPDesk/FS/TableRate/views/shipping-method-settings-rules.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +3 -0
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +8 -5
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/composer.json +0 -3
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/Sender/NullSender.php +26 -0
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/AjaxUserFeedbackDataHandler.php +8 -10
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Scripts.php +1 -1
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Thickbox.php +1 -1
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Tracker.php +6 -6
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/TrackerFactory.php +6 -5
- vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/UserFeedbackContent.php +1 -1
classes/class-flexible-shipping-plugin.php
CHANGED
@@ -151,6 +151,8 @@ class Flexible_Shipping_Plugin extends AbstractPlugin implements HookableCollect
|
|
151 |
$abtesting = new WPDesk_Flexible_Shipping_AB_Deactivation_Contact_Information();
|
152 |
$this->variant = $abtesting->get_variant();
|
153 |
|
|
|
|
|
154 |
$this->add_hookable( new WPDesk_Flexible_Shipping_Tracker() );
|
155 |
|
156 |
$this->add_hookable( new WPDesk\FS\Rate\Flexible_Shipping_Order_Counter() );
|
@@ -172,7 +174,7 @@ class Flexible_Shipping_Plugin extends AbstractPlugin implements HookableCollect
|
|
172 |
$this->add_hookable( new WPDesk_Flexible_Shipping_Rest_Api_Order_Response_Data_Appender() );
|
173 |
|
174 |
$this->add_hookable( new ShippingIntegrations( 'flexible_shipping' ) );
|
175 |
-
|
176 |
$this->add_hookable( new WPDesk_Flexible_Shipping_Order_Item_Meta() );
|
177 |
|
178 |
$rules_pointer_option = new RulesPointerOption();
|
151 |
$abtesting = new WPDesk_Flexible_Shipping_AB_Deactivation_Contact_Information();
|
152 |
$this->variant = $abtesting->get_variant();
|
153 |
|
154 |
+
$this->add_hookable( new WPDesk_Flexible_Shipping_Single_Label_File_Dispatcher() );
|
155 |
+
|
156 |
$this->add_hookable( new WPDesk_Flexible_Shipping_Tracker() );
|
157 |
|
158 |
$this->add_hookable( new WPDesk\FS\Rate\Flexible_Shipping_Order_Counter() );
|
174 |
$this->add_hookable( new WPDesk_Flexible_Shipping_Rest_Api_Order_Response_Data_Appender() );
|
175 |
|
176 |
$this->add_hookable( new ShippingIntegrations( 'flexible_shipping' ) );
|
177 |
+
|
178 |
$this->add_hookable( new WPDesk_Flexible_Shipping_Order_Item_Meta() );
|
179 |
|
180 |
$rules_pointer_option = new RulesPointerOption();
|
classes/table-rate/shipping-method.php
CHANGED
@@ -188,11 +188,22 @@ class WPDesk_Flexible_Shipping extends WC_Shipping_Method {
|
|
188 |
return $ret;
|
189 |
}
|
190 |
|
|
|
|
|
|
|
191 |
private function should_show_new_rules_table() {
|
192 |
-
|
193 |
-
|
194 |
}
|
195 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
public function generate_shipping_rules_html( $key, $data ) {
|
197 |
if ( ! function_exists( 'woocommerce_form_field' ) ) {
|
198 |
$wc_template_functions = trailingslashit( dirname( __FILE__ ) ) . '../../woocommerce/includes/wc-template-functions.php';
|
@@ -200,17 +211,17 @@ class WPDesk_Flexible_Shipping extends WC_Shipping_Method {
|
|
200 |
include_once $wc_template_functions;
|
201 |
}
|
202 |
}
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
}
|
215 |
|
216 |
public function shipping_method_title_used( $title, $shipping_methods ) {
|
188 |
return $ret;
|
189 |
}
|
190 |
|
191 |
+
/**
|
192 |
+
* @return bool
|
193 |
+
*/
|
194 |
private function should_show_new_rules_table() {
|
195 |
+
$new_rule_table_setting = new ShippingMethodNewRuleTableSetting();
|
196 |
+
return ! wpdesk_is_plugin_active( 'flexible-shipping-pro/flexible-shipping-pro.php' ) && $new_rule_table_setting->is_enabled();
|
197 |
}
|
198 |
|
199 |
+
/**
|
200 |
+
* Generates method rules field.
|
201 |
+
*
|
202 |
+
* @param string $key .
|
203 |
+
* @param array $data .
|
204 |
+
*
|
205 |
+
* @return string
|
206 |
+
*/
|
207 |
public function generate_shipping_rules_html( $key, $data ) {
|
208 |
if ( ! function_exists( 'woocommerce_form_field' ) ) {
|
209 |
$wc_template_functions = trailingslashit( dirname( __FILE__ ) ) . '../../woocommerce/includes/wc-template-functions.php';
|
211 |
include_once $wc_template_functions;
|
212 |
}
|
213 |
}
|
214 |
+
if ( $this->should_show_new_rules_table() ) {
|
215 |
+
$field_key = $this->get_field_key( $key );
|
216 |
+
$rules_settings = new RulesSettingsField( $key, $this->get_field_key( $key ), self::SETTING_METHOD_RULES, $data );
|
217 |
+
return $rules_settings->render();
|
218 |
+
} else {
|
219 |
+
ob_start();
|
220 |
+
$show_new_rules_table_switch_link = RulesPointerOption::is_option_set() && ! ShippingMethodNewRuleTableSetting::was_option_disabled();
|
221 |
+
include( 'views/html-shipping-method-rules.php' );
|
222 |
+
|
223 |
+
return ob_get_clean();
|
224 |
+
}
|
225 |
}
|
226 |
|
227 |
public function shipping_method_title_used( $title, $shipping_methods ) {
|
classes/wp-wpdesk-fs-shipment/label/class-single-label-file-dispatcher.php
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Single label file dispatcher.
|
4 |
+
*
|
5 |
+
* @package Flexible Shipping
|
6 |
+
*/
|
7 |
+
|
8 |
+
use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Can dispatch single label file.
|
12 |
+
*/
|
13 |
+
class WPDesk_Flexible_Shipping_Single_Label_File_Dispatcher implements Hookable {
|
14 |
+
|
15 |
+
const PRIORITY_VERY_LOW = 9999999;
|
16 |
+
|
17 |
+
const DEFAULT_CONTENT_TYPE = 'application/octet-stream';
|
18 |
+
|
19 |
+
const ACTION_DOWNLOAD = 'download';
|
20 |
+
const ACTION_OPEN = 'open';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Hooks.
|
24 |
+
*/
|
25 |
+
public function hooks() {
|
26 |
+
add_action( 'init', array( $this, 'dispatch_label_if_requested' ), self::PRIORITY_VERY_LOW );
|
27 |
+
}
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @param array $label_data .
|
31 |
+
*
|
32 |
+
* @return string
|
33 |
+
*/
|
34 |
+
private function prepare_content_type_from_label_data( array $label_data ) {
|
35 |
+
if ( 'html' === $label_data['label_format'] ) {
|
36 |
+
return 'text/html';
|
37 |
+
}
|
38 |
+
|
39 |
+
return 'application/' . $label_data['label_format'];
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* @return string
|
44 |
+
*/
|
45 |
+
private function get_action_parameter() {
|
46 |
+
return ! empty( $_GET['action'] ) ? sanitize_text_field( wp_unslash( $_GET['action'] ) ) : self::ACTION_DOWNLOAD; // phpcs:ignore
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* @param array $label_data .
|
51 |
+
*
|
52 |
+
* @return string
|
53 |
+
*/
|
54 |
+
private function prepare_content_type( array $label_data ) {
|
55 |
+
if ( $this->get_action_parameter() === self::ACTION_OPEN ) {
|
56 |
+
return $this->prepare_content_type_from_label_data( $label_data );
|
57 |
+
} else {
|
58 |
+
return self::DEFAULT_CONTENT_TYPE;
|
59 |
+
}
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* @param string $shipment_id .
|
64 |
+
*/
|
65 |
+
private function dispatch_label_and_die( $shipment_id ) {
|
66 |
+
$shipment = fs_get_shipment( $shipment_id );
|
67 |
+
$label_data = $shipment->get_label();
|
68 |
+
header( 'Content-type: ' . $this->prepare_content_type( $label_data ) );
|
69 |
+
if ( $this->get_action_parameter() === self::ACTION_DOWNLOAD ) {
|
70 |
+
header( 'Content-Disposition: attachment; filename=' . $label_data['file_name'] );
|
71 |
+
}
|
72 |
+
echo $label_data['content']; // phpcs:ignore
|
73 |
+
die();
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Output shipping label.
|
78 |
+
*
|
79 |
+
* @internal
|
80 |
+
*/
|
81 |
+
public function dispatch_label_if_requested() {
|
82 |
+
if ( ! empty( $_GET['flexible_shipping_get_label'] ) && ! empty( $_GET['nonce'] ) ) {
|
83 |
+
$nonce = sanitize_text_field( wp_unslash( $_GET['nonce'] ) );
|
84 |
+
if ( ! wp_verify_nonce( $nonce, 'flexible_shipping_get_label' ) ) {
|
85 |
+
echo esc_html( __( 'Invalid nonce!', 'flexible-shipping' ) );
|
86 |
+
} else {
|
87 |
+
try {
|
88 |
+
$this->dispatch_label_and_die( sanitize_key( $_GET['flexible_shipping_get_label'] ) );
|
89 |
+
} catch ( Exception $e ) {
|
90 |
+
wp_die( esc_html( $e->getMessage() ), esc_html( __( 'Label error', 'flexible-shipping' ) ) );
|
91 |
+
}
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
}
|
classes/wp-wpdesk-fs-shipment/shipment/class-shipment.php
CHANGED
@@ -1,476 +1,504 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
use Psr\Log\LoggerInterface;
|
4 |
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
112 |
-
$this->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
}
|
114 |
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
|
144 |
-
/**
|
145 |
-
* @return mixed
|
146 |
-
*/
|
147 |
-
public function get_id() {
|
148 |
-
return $this->id;
|
149 |
-
}
|
150 |
-
|
151 |
-
/**
|
152 |
-
* @return mixed
|
153 |
-
*/
|
154 |
-
public function get_post() {
|
155 |
-
return $this->post;
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
* @return WC_Order
|
160 |
-
*/
|
161 |
-
public function get_order() {
|
162 |
-
if ( $this->order == null ) {
|
163 |
-
$this->order = wc_get_order( $this->post->post_parent );
|
164 |
-
}
|
165 |
-
return $this->order;
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* @return int
|
170 |
-
*/
|
171 |
-
public function get_order_id() {
|
172 |
-
return $this->post->post_parent;
|
173 |
-
}
|
174 |
-
|
175 |
-
/**
|
176 |
-
* @return string
|
177 |
-
*/
|
178 |
-
public function get_order_metabox_context() {
|
179 |
-
return $this->order_metabox_context;
|
180 |
-
}
|
181 |
-
|
182 |
-
/**
|
183 |
-
* @param string $order_metabox_context
|
184 |
-
*/
|
185 |
-
public function set_order_metabox_context( $order_metabox_context ) {
|
186 |
-
$this->order_metabox_context = $order_metabox_context;
|
187 |
-
}
|
188 |
-
|
189 |
-
/**
|
190 |
-
* @param string $meta_key
|
191 |
-
* @param null|sting $default
|
192 |
-
* @return array|string|null
|
193 |
-
*/
|
194 |
-
public function get_meta( $meta_key = '', $default = null ) {
|
195 |
-
$this->load_meta_data();
|
196 |
-
if ( $meta_key == '' ) {
|
197 |
-
return $this->meta_data;
|
198 |
-
}
|
199 |
-
if ( isset( $this->meta_data[$meta_key] ) ) {
|
200 |
-
return maybe_unserialize( $this->meta_data[$meta_key][0] );
|
201 |
-
}
|
202 |
-
else {
|
203 |
-
return $default;
|
204 |
-
}
|
205 |
-
return null;
|
206 |
-
}
|
207 |
-
|
208 |
-
/**
|
209 |
-
* @param string $meta_key
|
210 |
-
* @param int|string|array|object|null $value
|
211 |
-
*/
|
212 |
-
public function set_meta( $meta_key, $value ) {
|
213 |
-
$this->load_meta_data();
|
214 |
-
if ( !isset( $this->meta_data[$meta_key] ) ) {
|
215 |
-
$this->meta_data[$meta_key] = array();
|
216 |
-
}
|
217 |
-
$this->meta_data[$meta_key][0] = $value;
|
218 |
-
$this->meta_data_save_keys[$meta_key] = $meta_key;
|
219 |
-
}
|
220 |
-
|
221 |
-
/**
|
222 |
-
* @param string $meta_key
|
223 |
-
*/
|
224 |
-
public function delete_meta( $meta_key ) {
|
225 |
-
unset( $this->meta_data[$meta_key] );
|
226 |
-
$this->meta_data_save_keys[$meta_key] = $meta_key;
|
227 |
-
}
|
228 |
-
|
229 |
-
/**
|
230 |
-
* Saves shipment data to database.
|
231 |
-
*/
|
232 |
-
public function save() {
|
233 |
-
if ( $this->save_post ) {
|
234 |
-
wp_update_post($this->post);
|
235 |
-
$this->fs_log( 'debug', 'Shipment post saved', [ 'post' => $this->post ] );
|
236 |
-
$this->save_post = false;
|
237 |
-
}
|
238 |
-
foreach ( $this->meta_data_save_keys as $key ) {
|
239 |
-
if ( isset( $this->meta_data[$key] ) ) {
|
240 |
-
update_post_meta( $this->id, $key, $this->meta_data[$key][0] );
|
241 |
-
$this->fs_log( 'debug', 'Shipment meta data saved', [ 'key' => $key, 'value' => $this->meta_data[$key][0] ] );
|
242 |
-
}
|
243 |
-
else {
|
244 |
-
delete_post_meta( $this->id, $key );
|
245 |
-
$this->fs_log( 'debug', 'Shipment meta data deleted', [ 'key' => $key ] );
|
246 |
-
}
|
247 |
-
unset( $this->meta_data_save_keys[$key] );
|
248 |
-
}
|
249 |
-
if ( $this->status_changed ) {
|
250 |
-
do_action( 'flexible_shipping_shipment_status_updated', $this->old_status, $this->post->post_status, $this );
|
251 |
-
$this->status_changed = false;
|
252 |
-
$this->old_status = null;
|
253 |
-
}
|
254 |
-
}
|
255 |
-
|
256 |
-
/**
|
257 |
-
* Loads all meta data from postmeta
|
258 |
-
*/
|
259 |
-
public function load_meta_data() {
|
260 |
-
if ( !$this->meta_data_loaded ) {
|
261 |
-
$this->meta_data = get_post_meta( $this->id );
|
262 |
-
$this->meta_data_loaded = true;
|
263 |
-
}
|
264 |
-
}
|
265 |
-
|
266 |
-
/**
|
267 |
-
* @return string|null
|
268 |
-
* Returns integration assigned to shipment
|
269 |
-
*/
|
270 |
-
public function get_integration() {
|
271 |
-
return $this->get_meta( '_integration' );
|
272 |
-
}
|
273 |
-
|
274 |
-
/**
|
275 |
-
* @return string
|
276 |
-
* Returns URL for admin metabox for this shipment
|
277 |
-
*/
|
278 |
-
public function get_order_metabox_url() {
|
279 |
-
return admin_url( 'post.php?post=' . $this->get_order_id() . '&action=edit#shipment_meta_box_' . $this->get_id() );
|
280 |
-
}
|
281 |
-
|
282 |
-
/**
|
283 |
-
* @return string
|
284 |
-
*/
|
285 |
-
public function get_status() {
|
286 |
-
return $this->post->post_status;
|
287 |
-
}
|
288 |
-
|
289 |
-
/**
|
290 |
-
* @return string
|
291 |
-
*/
|
292 |
-
public function get_status_for_shipping_column() {
|
293 |
-
$statuses = array(
|
294 |
-
self::STATUS_FS_NEW => 'new',
|
295 |
-
self::STATUS_FS_CREATED => 'created',
|
296 |
-
self::STATUS_FS_CONFIRMED => 'confirmed',
|
297 |
-
self::STATUS_FS_FAILED => 'error',
|
298 |
-
self::STATUS_FS_MANIFEST => 'manifest',
|
299 |
-
);
|
300 |
-
return $statuses[$this->get_status()];
|
301 |
-
}
|
302 |
-
|
303 |
-
/**
|
304 |
-
* @return null|string
|
305 |
-
* Returns URL for label
|
306 |
-
*/
|
307 |
-
public function get_label_url() {
|
308 |
-
if ( in_array( $this->get_status(), array( self::STATUS_FS_NEW, self::STATUS_FS_CREATED, self::STATUS_FS_FAILED ) ) ) {
|
309 |
-
return null;
|
310 |
-
}
|
311 |
-
$label_url = '?flexible_shipping_get_label=' . $this->get_id() . '&nonce=' . wp_create_nonce( 'flexible_shipping_get_label' ) ;
|
312 |
-
return site_url( $label_url );
|
313 |
-
}
|
314 |
-
|
315 |
-
/**
|
316 |
-
* @param string $new_status
|
317 |
-
*/
|
318 |
-
public function update_status( $new_status ) {
|
319 |
-
$this->old_status = $this->post->post_status;
|
320 |
-
$this->post->post_status = $new_status;
|
321 |
-
$this->save_post = true;
|
322 |
-
$this->status_changed = true;
|
323 |
-
}
|
324 |
-
|
325 |
-
public function add_to_manifest( WPDesk_Flexible_Shipping_Manifest $manifest ) {
|
326 |
-
$this->set_meta( '_manifest', $manifest->get_id() );
|
327 |
-
}
|
328 |
-
|
329 |
-
public function label_avaliable() {
|
330 |
-
if ( in_array( $this->get_status(), array( self::STATUS_FS_CONFIRMED, self::STATUS_FS_MANIFEST ) ) ) {
|
331 |
-
return true;
|
332 |
-
}
|
333 |
-
return false;
|
334 |
-
}
|
335 |
-
|
336 |
-
/**
|
337 |
-
* Displays shipping column in orders list view.
|
338 |
-
* Must be overwritten!
|
339 |
-
*/
|
340 |
-
public function shipping_column() {
|
341 |
-
echo _( 'Please override shipping_column method!', 'flexible-shipping' );
|
342 |
-
echo '<pre>';
|
343 |
-
print_r( $this->post );
|
344 |
-
echo '</pre>';
|
345 |
-
echo '<pre>';
|
346 |
-
print_r( $this->meta_data );
|
347 |
-
echo '</pre>';
|
348 |
-
}
|
349 |
-
|
350 |
-
/**
|
351 |
-
* Is status fs-new?
|
352 |
-
*
|
353 |
-
* @return bool
|
354 |
-
*/
|
355 |
-
public function is_status_fs_new() {
|
356 |
-
return self::STATUS_FS_NEW === $this->get_status();
|
357 |
-
}
|
358 |
-
|
359 |
-
/**
|
360 |
-
* Is status fs-created?
|
361 |
-
*
|
362 |
-
* @return bool
|
363 |
-
*/
|
364 |
-
public function is_status_fs_created() {
|
365 |
-
return self::STATUS_FS_CREATED === $this->get_status();
|
366 |
-
}
|
367 |
-
|
368 |
-
/**
|
369 |
-
* Is status fs-confirmed?
|
370 |
-
*
|
371 |
-
* @return bool
|
372 |
-
*/
|
373 |
-
public function is_status_fs_confirmed() {
|
374 |
-
return self::STATUS_FS_CONFIRMED === $this->get_status();
|
375 |
-
}
|
376 |
-
|
377 |
-
/**
|
378 |
-
* Is status fs-failed?
|
379 |
-
*
|
380 |
-
* @return bool
|
381 |
-
*/
|
382 |
-
public function is_status_fs_failed() {
|
383 |
-
return self::STATUS_FS_FAILED === $this->get_status();
|
384 |
-
}
|
385 |
-
|
386 |
-
/**
|
387 |
-
* Is status fs-manifest?
|
388 |
-
*
|
389 |
-
* @return bool
|
390 |
-
*/
|
391 |
-
public function is_status_fs_manifest() {
|
392 |
-
return self::STATUS_FS_MANIFEST === $this->get_status();
|
393 |
-
}
|
394 |
-
|
395 |
-
/**
|
396 |
-
* Set created via.
|
397 |
-
*
|
398 |
-
* @param string $created_via Created via.
|
399 |
-
*/
|
400 |
-
public function set_created_via( $created_via ) {
|
401 |
-
$this->set_meta( self::CREATED_VIA, $created_via );
|
402 |
-
}
|
403 |
-
|
404 |
-
/**
|
405 |
-
* Set created via checkout.
|
406 |
-
*/
|
407 |
-
public function set_created_via_checkout() {
|
408 |
-
$this->set_created_via( 'checkout' );
|
409 |
-
}
|
410 |
-
|
411 |
-
/**
|
412 |
-
* Set created via add shipment.
|
413 |
-
*/
|
414 |
-
public function set_created_via_add_shipment() {
|
415 |
-
$this->set_created_via( 'add_shipment' );
|
416 |
-
}
|
417 |
-
|
418 |
-
/**
|
419 |
-
* Get created via.
|
420 |
-
*
|
421 |
-
* @return string
|
422 |
-
*/
|
423 |
-
public function get_created_via() {
|
424 |
-
return $this->get_meta( self::CREATED_VIA, self::NOT_SET );
|
425 |
-
}
|
426 |
-
|
427 |
-
/**
|
428 |
-
* Set sent via.
|
429 |
-
*
|
430 |
-
* @param string $sent_via
|
431 |
-
*/
|
432 |
-
public function set_sent_via( $sent_via ) {
|
433 |
-
$this->set_meta( self::SENT_VIA, $sent_via );
|
434 |
-
}
|
435 |
-
|
436 |
-
/**
|
437 |
-
* Set sent via bulk.
|
438 |
-
*/
|
439 |
-
public function set_sent_via_bulk() {
|
440 |
-
$this->set_sent_via( self::SENT_VIA_BULK );
|
441 |
-
}
|
442 |
-
|
443 |
-
/**
|
444 |
-
* Set sent via auto.
|
445 |
-
*/
|
446 |
-
public function set_sent_via_auto() {
|
447 |
-
$this->set_sent_via( self::SENT_VIA_AUTO );
|
448 |
-
}
|
449 |
-
|
450 |
-
/**
|
451 |
-
* Set sent via metabox.
|
452 |
-
*/
|
453 |
-
public function set_sent_via_metabox() {
|
454 |
-
$this->set_sent_via( self::SENT_VIA_METABOX );
|
455 |
-
}
|
456 |
-
|
457 |
-
/**
|
458 |
-
* Get sent via.
|
459 |
-
*
|
460 |
-
* @return string
|
461 |
-
*/
|
462 |
-
public function get_sent_via() {
|
463 |
-
return $this->get_meta( self::SENT_VIA, self::NOT_SET );
|
464 |
-
}
|
465 |
-
|
466 |
-
/**
|
467 |
-
* Get meta shipping method.
|
468 |
-
*
|
469 |
-
* @return WC_Order_Item_Shipping
|
470 |
-
*/
|
471 |
-
protected function get_meta_shipping_method() {
|
472 |
-
return $this->get_meta( '_shipping_method' );
|
473 |
-
}
|
474 |
-
|
475 |
-
}
|
476 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Shipment.
|
4 |
+
*
|
5 |
+
* @package Flexible Shipping
|
6 |
+
*/
|
7 |
|
8 |
use Psr\Log\LoggerInterface;
|
9 |
|
10 |
+
/**
|
11 |
+
* Can handle shipment functionality.
|
12 |
+
*/
|
13 |
+
abstract class WPDesk_Flexible_Shipping_Shipment {
|
14 |
+
|
15 |
+
const STATUS_FS_NEW = 'fs-new';
|
16 |
+
const STATUS_FS_CREATED = 'fs-created';
|
17 |
+
const STATUS_FS_CONFIRMED = 'fs-confirmed';
|
18 |
+
const STATUS_FS_FAILED = 'fs-failed';
|
19 |
+
const STATUS_FS_MANIFEST = 'fs-manifest';
|
20 |
+
|
21 |
+
const CREATED_VIA = 'created_via';
|
22 |
+
|
23 |
+
const SENT_VIA_METABOX = 'metabox';
|
24 |
+
const SENT_VIA_BULK = 'bulk';
|
25 |
+
const SENT_VIA_AUTO = 'auto';
|
26 |
+
|
27 |
+
const SENT_VIA = '_sent_via';
|
28 |
+
|
29 |
+
const NOT_SET = 'not_set';
|
30 |
+
|
31 |
+
const LABEL_ACTION_DOWNLOAD = 'download';
|
32 |
+
const LABEL_ACTION_OPEN = 'open';
|
33 |
+
/**
|
34 |
+
* Logger provided by Flexible Shipping plugin.
|
35 |
+
*
|
36 |
+
* @var LoggerInterface
|
37 |
+
*/
|
38 |
+
protected static $fs_logger;
|
39 |
+
/**
|
40 |
+
* @var int
|
41 |
+
*/
|
42 |
+
private $id;
|
43 |
+
/**
|
44 |
+
* @var WP_Post
|
45 |
+
* Post assigned to shipment
|
46 |
+
*/
|
47 |
+
private $post;
|
48 |
+
/**
|
49 |
+
* @var null|WC_Order
|
50 |
+
* WC_Order assigned to shipment
|
51 |
+
*/
|
52 |
+
private $order = null;
|
53 |
+
/**
|
54 |
+
* @var bool
|
55 |
+
* True if assigned post ich changed. Used when saving post
|
56 |
+
*/
|
57 |
+
private $save_post = false;
|
58 |
+
/**
|
59 |
+
* @var null
|
60 |
+
* Holds old status when shipment status is changed
|
61 |
+
*/
|
62 |
+
private $old_status = null;
|
63 |
+
/**
|
64 |
+
* @var bool
|
65 |
+
* True when status changing
|
66 |
+
*/
|
67 |
+
private $status_changed = false;
|
68 |
+
/**
|
69 |
+
* @var array
|
70 |
+
* Shipment metadata (from postmeta table)
|
71 |
+
*/
|
72 |
+
private $meta_data = array();
|
73 |
+
/**
|
74 |
+
* @var bool
|
75 |
+
* True when shipment metadata loaded
|
76 |
+
*/
|
77 |
+
private $meta_data_loaded = false;
|
78 |
+
/**
|
79 |
+
* @var array
|
80 |
+
* Holds changed metadata keys. Used when saving shipment
|
81 |
+
*/
|
82 |
+
private $meta_data_save_keys = array();
|
83 |
+
/**
|
84 |
+
* @var string
|
85 |
+
* Context for order metabox
|
86 |
+
*/
|
87 |
+
private $order_metabox_context = 'side';
|
88 |
+
|
89 |
+
/**
|
90 |
+
* WPDesk_Flexible_Shipping_Shipment constructor.
|
91 |
+
*
|
92 |
+
* @param int|WP_Post|WPDesk_Flexible_Shipping_Shipment $shipment Shipment or shipment ID.
|
93 |
+
* @param WC_Order|null $order Order.
|
94 |
+
*/
|
95 |
+
public function __construct( $shipment, $order = null ) {
|
96 |
+
if ( is_numeric( $shipment ) ) {
|
97 |
+
$this->id = absint( $shipment );
|
98 |
+
$this->post = get_post( $this->id );
|
99 |
+
} elseif ( $shipment instanceof WPDesk_Flexible_Shipping_Shipment ) {
|
100 |
+
$this->id = absint( $shipment->get_id() );
|
101 |
+
$this->post = $shipment->get_post();
|
102 |
+
} elseif ( isset( $shipment->ID ) ) {
|
103 |
+
$this->id = absint( $shipment->ID );
|
104 |
+
$this->post = $shipment;
|
105 |
+
}
|
106 |
+
$this->order = $order;
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* @return mixed
|
111 |
+
*/
|
112 |
+
public function get_id() {
|
113 |
+
return $this->id;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* @return mixed
|
118 |
+
*/
|
119 |
+
public function get_post() {
|
120 |
+
return $this->post;
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* Set logger. This logger is set by Flexible Shipping plugin.
|
125 |
+
*
|
126 |
+
* @param LoggerInterface $fs_logger .
|
127 |
+
*/
|
128 |
+
public static function set_fs_logger( LoggerInterface $fs_logger ) {
|
129 |
+
static::$fs_logger = $fs_logger;
|
130 |
+
}
|
131 |
+
|
132 |
+
/**
|
133 |
+
* @return string
|
134 |
+
*/
|
135 |
+
public function get_order_metabox_context() {
|
136 |
+
return $this->order_metabox_context;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* @param string $order_metabox_context .
|
141 |
+
*/
|
142 |
+
public function set_order_metabox_context( $order_metabox_context ) {
|
143 |
+
$this->order_metabox_context = $order_metabox_context;
|
144 |
+
}
|
145 |
+
|
146 |
+
/**
|
147 |
+
* @param string $meta_key .
|
148 |
+
*/
|
149 |
+
public function delete_meta( $meta_key ) {
|
150 |
+
unset( $this->meta_data[ $meta_key ] );
|
151 |
+
$this->meta_data_save_keys[ $meta_key ] = $meta_key;
|
152 |
+
}
|
153 |
+
|
154 |
+
/**
|
155 |
+
* Saves shipment data to database.
|
156 |
+
*/
|
157 |
+
public function save() {
|
158 |
+
if ( $this->save_post ) {
|
159 |
+
wp_update_post( $this->post );
|
160 |
+
$this->fs_log( 'debug', 'Shipment post saved', array( 'post' => $this->post ) );
|
161 |
+
$this->save_post = false;
|
162 |
+
}
|
163 |
+
foreach ( $this->meta_data_save_keys as $key ) {
|
164 |
+
if ( isset( $this->meta_data[ $key ] ) ) {
|
165 |
+
update_post_meta( $this->id, $key, $this->meta_data[ $key ][0] );
|
166 |
+
$this->fs_log(
|
167 |
+
'debug',
|
168 |
+
'Shipment meta data saved',
|
169 |
+
array(
|
170 |
+
'key' => $key,
|
171 |
+
'value' => $this->meta_data[ $key ][0],
|
172 |
+
)
|
173 |
+
);
|
174 |
+
} else {
|
175 |
+
delete_post_meta( $this->id, $key );
|
176 |
+
$this->fs_log( 'debug', 'Shipment meta data deleted', array( 'key' => $key ) );
|
177 |
}
|
178 |
+
unset( $this->meta_data_save_keys[ $key ] );
|
179 |
+
}
|
180 |
+
if ( $this->status_changed ) {
|
181 |
+
do_action( 'flexible_shipping_shipment_status_updated', $this->old_status, $this->post->post_status, $this );
|
182 |
+
$this->status_changed = false;
|
183 |
+
$this->old_status = null;
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
/**
|
188 |
+
* Writes log message to log provided by Flexible Shipping plugin.
|
189 |
+
*
|
190 |
+
* @param mixed $level .
|
191 |
+
* @param string $message .
|
192 |
+
* @param array $context .
|
193 |
+
*/
|
194 |
+
private function fs_log( $level, $message, array $context = array() ) {
|
195 |
+
if ( static::$fs_logger ) {
|
196 |
+
$context['order_id'] = $this->get_order()->get_id();
|
197 |
+
$context['shipment_id'] = $this->get_id();
|
198 |
+
$current_user = wp_get_current_user();
|
199 |
+
$context['user_id'] = $current_user->ID;
|
200 |
+
if ( isset( $_SERVER['REQUEST_URI'] ) ) {
|
201 |
+
$context['request_uri'] = sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) );
|
202 |
+
}
|
203 |
+
static::$fs_logger->log( $level, $message, $context );
|
204 |
+
}
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* @return WC_Order
|
209 |
+
*/
|
210 |
+
public function get_order() {
|
211 |
+
if ( null === $this->order ) {
|
212 |
+
$this->order = wc_get_order( $this->post->post_parent );
|
213 |
}
|
214 |
|
215 |
+
return $this->order;
|
216 |
+
}
|
217 |
+
|
218 |
+
/**
|
219 |
+
* @return string|null
|
220 |
+
* Returns integration assigned to shipment
|
221 |
+
*/
|
222 |
+
public function get_integration() {
|
223 |
+
return $this->get_meta( '_integration' );
|
224 |
+
}
|
225 |
+
|
226 |
+
/**
|
227 |
+
* @param string $meta_key .
|
228 |
+
* @param null|sting $default .
|
229 |
+
*
|
230 |
+
* @return array|string|null
|
231 |
+
*/
|
232 |
+
public function get_meta( $meta_key = '', $default = null ) {
|
233 |
+
$this->load_meta_data();
|
234 |
+
if ( '' === $meta_key ) {
|
235 |
+
return $this->meta_data;
|
236 |
+
}
|
237 |
+
if ( isset( $this->meta_data[ $meta_key ] ) ) {
|
238 |
+
return maybe_unserialize( $this->meta_data[ $meta_key ][0] );
|
239 |
+
} else {
|
240 |
+
return $default;
|
241 |
}
|
242 |
|
243 |
+
return null;
|
244 |
+
}
|
245 |
+
|
246 |
+
/**
|
247 |
+
* Loads all meta data from postmeta
|
248 |
+
*/
|
249 |
+
public function load_meta_data() {
|
250 |
+
if ( ! $this->meta_data_loaded ) {
|
251 |
+
$this->meta_data = get_post_meta( $this->id );
|
252 |
+
$this->meta_data_loaded = true;
|
253 |
+
}
|
254 |
+
}
|
255 |
+
|
256 |
+
/**
|
257 |
+
* @return string
|
258 |
+
* Returns URL for admin metabox for this shipment
|
259 |
+
*/
|
260 |
+
public function get_order_metabox_url() {
|
261 |
+
return admin_url( 'post.php?post=' . $this->get_order_id() . '&action=edit#shipment_meta_box_' . $this->get_id() );
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* @return int
|
266 |
+
*/
|
267 |
+
public function get_order_id() {
|
268 |
+
return $this->post->post_parent;
|
269 |
+
}
|
270 |
+
|
271 |
+
/**
|
272 |
+
* @return string
|
273 |
+
*/
|
274 |
+
public function get_status_for_shipping_column() {
|
275 |
+
$statuses = array(
|
276 |
+
self::STATUS_FS_NEW => 'new',
|
277 |
+
self::STATUS_FS_CREATED => 'created',
|
278 |
+
self::STATUS_FS_CONFIRMED => 'confirmed',
|
279 |
+
self::STATUS_FS_FAILED => 'error',
|
280 |
+
self::STATUS_FS_MANIFEST => 'manifest',
|
281 |
+
);
|
282 |
+
|
283 |
+
return $statuses[ $this->get_status() ];
|
284 |
+
}
|
285 |
+
|
286 |
+
/**
|
287 |
+
* @return string
|
288 |
+
*/
|
289 |
+
public function get_status() {
|
290 |
+
return $this->post->post_status;
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* @return null|string
|
295 |
+
* Returns URL for label
|
296 |
+
*/
|
297 |
+
public function get_label_url() {
|
298 |
+
if ( in_array(
|
299 |
+
$this->get_status(),
|
300 |
+
array(
|
301 |
+
self::STATUS_FS_NEW,
|
302 |
+
self::STATUS_FS_CREATED,
|
303 |
+
self::STATUS_FS_FAILED,
|
304 |
+
)
|
305 |
+
) ) {
|
306 |
+
return null;
|
307 |
}
|
308 |
+
$label_url = '?flexible_shipping_get_label=' . $this->get_id() . '&nonce=' . wp_create_nonce( 'flexible_shipping_get_label' );
|
309 |
+
$label_url .= '&action=' . $this->get_label_action();
|
310 |
+
|
311 |
+
return site_url( $label_url );
|
312 |
+
}
|
313 |
+
|
314 |
+
/**
|
315 |
+
* Should open label?
|
316 |
+
* By default label should be downloaded. Integration can override this method when label should be opened in browser.
|
317 |
+
*
|
318 |
+
* @return bool
|
319 |
+
*/
|
320 |
+
protected function get_label_action() {
|
321 |
+
return self::LABEL_ACTION_DOWNLOAD;
|
322 |
+
}
|
323 |
+
|
324 |
+
/**
|
325 |
+
* @param string $new_status .
|
326 |
+
*/
|
327 |
+
public function update_status( $new_status ) {
|
328 |
+
$this->old_status = $this->post->post_status;
|
329 |
+
$this->post->post_status = $new_status;
|
330 |
+
$this->save_post = true;
|
331 |
+
$this->status_changed = true;
|
332 |
+
}
|
333 |
+
|
334 |
+
/**
|
335 |
+
* @param WPDesk_Flexible_Shipping_Manifest $manifest .
|
336 |
+
*/
|
337 |
+
public function add_to_manifest( WPDesk_Flexible_Shipping_Manifest $manifest ) {
|
338 |
+
$this->set_meta( '_manifest', $manifest->get_id() );
|
339 |
+
}
|
340 |
+
|
341 |
+
/**
|
342 |
+
* @param string $meta_key .
|
343 |
+
* @param int|string|array|object|null $value .
|
344 |
+
*/
|
345 |
+
public function set_meta( $meta_key, $value ) {
|
346 |
+
$this->load_meta_data();
|
347 |
+
if ( ! isset( $this->meta_data[ $meta_key ] ) ) {
|
348 |
+
$this->meta_data[ $meta_key ] = array();
|
349 |
+
}
|
350 |
+
$this->meta_data[ $meta_key ][0] = $value;
|
351 |
+
$this->meta_data_save_keys[ $meta_key ] = $meta_key;
|
352 |
+
}
|
353 |
+
|
354 |
+
/**
|
355 |
+
* @return bool
|
356 |
+
*/
|
357 |
+
public function label_avaliable() {
|
358 |
+
if ( in_array( $this->get_status(), array( self::STATUS_FS_CONFIRMED, self::STATUS_FS_MANIFEST ) ) ) {
|
359 |
+
return true;
|
360 |
+
}
|
361 |
+
|
362 |
+
return false;
|
363 |
+
}
|
364 |
+
|
365 |
+
/**
|
366 |
+
* Displays shipping column in orders list view.
|
367 |
+
* Must be overwritten!
|
368 |
+
*/
|
369 |
+
public function shipping_column() {
|
370 |
+
echo esc_html( __( 'Please override shipping_column method!', 'flexible-shipping' ) );
|
371 |
+
echo '<pre>';
|
372 |
+
print_r( $this->post );
|
373 |
+
echo '</pre>';
|
374 |
+
echo '<pre>';
|
375 |
+
print_r( $this->meta_data );
|
376 |
+
echo '</pre>';
|
377 |
+
}
|
378 |
+
|
379 |
+
/**
|
380 |
+
* Is status fs-new?
|
381 |
+
*
|
382 |
+
* @return bool
|
383 |
+
*/
|
384 |
+
public function is_status_fs_new() {
|
385 |
+
return self::STATUS_FS_NEW === $this->get_status();
|
386 |
+
}
|
387 |
+
|
388 |
+
/**
|
389 |
+
* Is status fs-created?
|
390 |
+
*
|
391 |
+
* @return bool
|
392 |
+
*/
|
393 |
+
public function is_status_fs_created() {
|
394 |
+
return self::STATUS_FS_CREATED === $this->get_status();
|
395 |
+
}
|
396 |
+
|
397 |
+
/**
|
398 |
+
* Is status fs-confirmed?
|
399 |
+
*
|
400 |
+
* @return bool
|
401 |
+
*/
|
402 |
+
public function is_status_fs_confirmed() {
|
403 |
+
return self::STATUS_FS_CONFIRMED === $this->get_status();
|
404 |
+
}
|
405 |
+
|
406 |
+
/**
|
407 |
+
* Is status fs-failed?
|
408 |
+
*
|
409 |
+
* @return bool
|
410 |
+
*/
|
411 |
+
public function is_status_fs_failed() {
|
412 |
+
return self::STATUS_FS_FAILED === $this->get_status();
|
413 |
+
}
|
414 |
+
|
415 |
+
/**
|
416 |
+
* Is status fs-manifest?
|
417 |
+
*
|
418 |
+
* @return bool
|
419 |
+
*/
|
420 |
+
public function is_status_fs_manifest() {
|
421 |
+
return self::STATUS_FS_MANIFEST === $this->get_status();
|
422 |
+
}
|
423 |
+
|
424 |
+
/**
|
425 |
+
* Set created via checkout.
|
426 |
+
*/
|
427 |
+
public function set_created_via_checkout() {
|
428 |
+
$this->set_created_via( 'checkout' );
|
429 |
+
}
|
430 |
+
|
431 |
+
/**
|
432 |
+
* Set created via.
|
433 |
+
*
|
434 |
+
* @param string $created_via Created via.
|
435 |
+
*/
|
436 |
+
public function set_created_via( $created_via ) {
|
437 |
+
$this->set_meta( self::CREATED_VIA, $created_via );
|
438 |
+
}
|
439 |
+
|
440 |
+
/**
|
441 |
+
* Set created via add shipment.
|
442 |
+
*/
|
443 |
+
public function set_created_via_add_shipment() {
|
444 |
+
$this->set_created_via( 'add_shipment' );
|
445 |
+
}
|
446 |
+
|
447 |
+
/**
|
448 |
+
* Get created via.
|
449 |
+
*
|
450 |
+
* @return string
|
451 |
+
*/
|
452 |
+
public function get_created_via() {
|
453 |
+
return $this->get_meta( self::CREATED_VIA, self::NOT_SET );
|
454 |
+
}
|
455 |
+
|
456 |
+
/**
|
457 |
+
* Set sent via bulk.
|
458 |
+
*/
|
459 |
+
public function set_sent_via_bulk() {
|
460 |
+
$this->set_sent_via( self::SENT_VIA_BULK );
|
461 |
+
}
|
462 |
+
|
463 |
+
/**
|
464 |
+
* Set sent via.
|
465 |
+
*
|
466 |
+
* @param string $sent_via .
|
467 |
+
*/
|
468 |
+
public function set_sent_via( $sent_via ) {
|
469 |
+
$this->set_meta( self::SENT_VIA, $sent_via );
|
470 |
+
}
|
471 |
+
|
472 |
+
/**
|
473 |
+
* Set sent via auto.
|
474 |
+
*/
|
475 |
+
public function set_sent_via_auto() {
|
476 |
+
$this->set_sent_via( self::SENT_VIA_AUTO );
|
477 |
+
}
|
478 |
+
|
479 |
+
/**
|
480 |
+
* Set sent via metabox.
|
481 |
+
*/
|
482 |
+
public function set_sent_via_metabox() {
|
483 |
+
$this->set_sent_via( self::SENT_VIA_METABOX );
|
484 |
+
}
|
485 |
+
|
486 |
+
/**
|
487 |
+
* Get sent via.
|
488 |
+
*
|
489 |
+
* @return string
|
490 |
+
*/
|
491 |
+
public function get_sent_via() {
|
492 |
+
return $this->get_meta( self::SENT_VIA, self::NOT_SET );
|
493 |
+
}
|
494 |
+
|
495 |
+
/**
|
496 |
+
* Get meta shipping method.
|
497 |
+
*
|
498 |
+
* @return WC_Order_Item_Shipping
|
499 |
+
*/
|
500 |
+
protected function get_meta_shipping_method() {
|
501 |
+
return $this->get_meta( '_shipping_method' );
|
502 |
+
}
|
503 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
504 |
}
|
classes/wp-wpdesk-fs-shipment/shipment/cpt-shipment.php
CHANGED
@@ -23,7 +23,6 @@ class WPDesk_Flexible_Shipping_Shipment_CPT {
|
|
23 |
public function hooks() {
|
24 |
|
25 |
add_action( 'init', array( $this, 'register_post_types' ), 20 );
|
26 |
-
add_action( 'init', array( $this, 'flexible_shipping_get_label' ), 9999999 );
|
27 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 20, 2 );
|
28 |
|
29 |
$last_priority = PHP_INT_MAX;
|
@@ -183,28 +182,6 @@ class WPDesk_Flexible_Shipping_Shipment_CPT {
|
|
183 |
}
|
184 |
}
|
185 |
|
186 |
-
public function flexible_shipping_get_label() {
|
187 |
-
if ( !empty( $_GET['flexible_shipping_get_label'] ) && !empty( $_GET['nonce'] ) ) {
|
188 |
-
$nonce = sanitize_text_field( $_GET['nonce'] );
|
189 |
-
if ( !wp_verify_nonce( $nonce, 'flexible_shipping_get_label' ) ) {
|
190 |
-
echo __( 'Invalid nonce!', 'flexible-shipping' );
|
191 |
-
exit;
|
192 |
-
}
|
193 |
-
try {
|
194 |
-
$shipment_id = sanitize_key( $_GET['flexible_shipping_get_label'] );
|
195 |
-
$shipment = fs_get_shipment( $shipment_id );
|
196 |
-
$label_data = $shipment->get_label();
|
197 |
-
header( "Content-type: application/octet-stream" );
|
198 |
-
header( "Content-Disposition: attachment; filename=" . $label_data['file_name'] );
|
199 |
-
echo $label_data['content'];
|
200 |
-
}
|
201 |
-
catch ( Exception $e ) {
|
202 |
-
echo $e->getMessage();
|
203 |
-
}
|
204 |
-
exit();
|
205 |
-
}
|
206 |
-
}
|
207 |
-
|
208 |
/**
|
209 |
* Get Flexible Shipping method from order shipping method meta data.
|
210 |
*
|
23 |
public function hooks() {
|
24 |
|
25 |
add_action( 'init', array( $this, 'register_post_types' ), 20 );
|
|
|
26 |
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 20, 2 );
|
27 |
|
28 |
$last_priority = PHP_INT_MAX;
|
182 |
}
|
183 |
}
|
184 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
/**
|
186 |
* Get Flexible Shipping method from order shipping method meta data.
|
187 |
*
|
composer.lock
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
-
"content-hash": "
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "psr/log",
|
@@ -464,20 +464,23 @@
|
|
464 |
},
|
465 |
{
|
466 |
"name": "codeception/lib-innerbrowser",
|
467 |
-
"version": "1.3.
|
468 |
"source": {
|
469 |
"type": "git",
|
470 |
"url": "https://github.com/Codeception/lib-innerbrowser.git",
|
471 |
-
"reference": "
|
472 |
},
|
473 |
"dist": {
|
474 |
"type": "zip",
|
475 |
-
"url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/
|
476 |
-
"reference": "
|
477 |
"shasum": ""
|
478 |
},
|
479 |
"require": {
|
480 |
"codeception/codeception": "*@dev",
|
|
|
|
|
|
|
481 |
"php": ">=5.6.0 <8.0",
|
482 |
"symfony/browser-kit": ">=2.7 <6.0",
|
483 |
"symfony/dom-crawler": ">=2.7 <6.0"
|
@@ -513,7 +516,7 @@
|
|
513 |
"keywords": [
|
514 |
"codeception"
|
515 |
],
|
516 |
-
"time": "2020-
|
517 |
},
|
518 |
{
|
519 |
"name": "codeception/module-asserts",
|
@@ -717,24 +720,27 @@
|
|
717 |
},
|
718 |
{
|
719 |
"name": "codeception/module-phpbrowser",
|
720 |
-
"version": "1.0.
|
721 |
"source": {
|
722 |
"type": "git",
|
723 |
"url": "https://github.com/Codeception/module-phpbrowser.git",
|
724 |
-
"reference": "
|
725 |
},
|
726 |
"dist": {
|
727 |
"type": "zip",
|
728 |
-
"url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/
|
729 |
-
"reference": "
|
730 |
"shasum": ""
|
731 |
},
|
732 |
"require": {
|
733 |
-
"codeception/codeception": "
|
734 |
-
"codeception/lib-innerbrowser": "^1.
|
735 |
-
"guzzlehttp/guzzle": "^6.3.0",
|
736 |
"php": ">=5.6.0 <8.0"
|
737 |
},
|
|
|
|
|
|
|
738 |
"require-dev": {
|
739 |
"codeception/module-rest": "dev-master | ^1.0",
|
740 |
"codeception/util-robohelpers": "dev-master"
|
@@ -767,20 +773,20 @@
|
|
767 |
"functional-testing",
|
768 |
"http"
|
769 |
],
|
770 |
-
"time": "
|
771 |
},
|
772 |
{
|
773 |
"name": "codeception/module-rest",
|
774 |
-
"version": "1.2.
|
775 |
"source": {
|
776 |
"type": "git",
|
777 |
"url": "https://github.com/Codeception/module-rest.git",
|
778 |
-
"reference": "
|
779 |
},
|
780 |
"dist": {
|
781 |
"type": "zip",
|
782 |
-
"url": "https://api.github.com/repos/Codeception/module-rest/zipball/
|
783 |
-
"reference": "
|
784 |
"shasum": ""
|
785 |
},
|
786 |
"require": {
|
@@ -818,7 +824,7 @@
|
|
818 |
"codeception",
|
819 |
"rest"
|
820 |
],
|
821 |
-
"time": "2020-
|
822 |
},
|
823 |
{
|
824 |
"name": "codeception/module-webdriver",
|
@@ -1052,16 +1058,16 @@
|
|
1052 |
},
|
1053 |
{
|
1054 |
"name": "composer/composer",
|
1055 |
-
"version": "1.10.
|
1056 |
"source": {
|
1057 |
"type": "git",
|
1058 |
"url": "https://github.com/composer/composer.git",
|
1059 |
-
"reference": "
|
1060 |
},
|
1061 |
"dist": {
|
1062 |
"type": "zip",
|
1063 |
-
"url": "https://api.github.com/repos/composer/composer/zipball/
|
1064 |
-
"reference": "
|
1065 |
"shasum": ""
|
1066 |
},
|
1067 |
"require": {
|
@@ -1142,7 +1148,7 @@
|
|
1142 |
"type": "tidelift"
|
1143 |
}
|
1144 |
],
|
1145 |
-
"time": "2020-
|
1146 |
},
|
1147 |
{
|
1148 |
"name": "composer/semver",
|
@@ -1207,16 +1213,16 @@
|
|
1207 |
},
|
1208 |
{
|
1209 |
"name": "composer/spdx-licenses",
|
1210 |
-
"version": "1.5.
|
1211 |
"source": {
|
1212 |
"type": "git",
|
1213 |
"url": "https://github.com/composer/spdx-licenses.git",
|
1214 |
-
"reference": "
|
1215 |
},
|
1216 |
"dist": {
|
1217 |
"type": "zip",
|
1218 |
-
"url": "https://api.github.com/repos/composer/spdx-licenses/zipball/
|
1219 |
-
"reference": "
|
1220 |
"shasum": ""
|
1221 |
},
|
1222 |
"require": {
|
@@ -1263,7 +1269,21 @@
|
|
1263 |
"spdx",
|
1264 |
"validator"
|
1265 |
],
|
1266 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1267 |
},
|
1268 |
{
|
1269 |
"name": "composer/xdebug-handler",
|
@@ -2205,16 +2225,16 @@
|
|
2205 |
},
|
2206 |
{
|
2207 |
"name": "lucatume/wp-browser",
|
2208 |
-
"version": "2.6.
|
2209 |
"source": {
|
2210 |
"type": "git",
|
2211 |
"url": "https://github.com/lucatume/wp-browser.git",
|
2212 |
-
"reference": "
|
2213 |
},
|
2214 |
"dist": {
|
2215 |
"type": "zip",
|
2216 |
-
"url": "https://api.github.com/repos/lucatume/wp-browser/zipball/
|
2217 |
-
"reference": "
|
2218 |
"shasum": ""
|
2219 |
},
|
2220 |
"require": {
|
@@ -2284,7 +2304,7 @@
|
|
2284 |
"codeception",
|
2285 |
"wordpress"
|
2286 |
],
|
2287 |
-
"time": "2020-
|
2288 |
},
|
2289 |
{
|
2290 |
"name": "matthiasmullie/minify",
|
@@ -3189,24 +3209,24 @@
|
|
3189 |
},
|
3190 |
{
|
3191 |
"name": "phpoption/phpoption",
|
3192 |
-
"version": "1.7.
|
3193 |
"source": {
|
3194 |
"type": "git",
|
3195 |
"url": "https://github.com/schmittjoh/php-option.git",
|
3196 |
-
"reference": "
|
3197 |
},
|
3198 |
"dist": {
|
3199 |
"type": "zip",
|
3200 |
-
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/
|
3201 |
-
"reference": "
|
3202 |
"shasum": ""
|
3203 |
},
|
3204 |
"require": {
|
3205 |
"php": "^5.5.9 || ^7.0 || ^8.0"
|
3206 |
},
|
3207 |
"require-dev": {
|
3208 |
-
"bamarni/composer-bin-plugin": "^1.
|
3209 |
-
"phpunit/phpunit": "^4.8.35 || ^5.
|
3210 |
},
|
3211 |
"type": "library",
|
3212 |
"extra": {
|
@@ -3250,7 +3270,7 @@
|
|
3250 |
"type": "tidelift"
|
3251 |
}
|
3252 |
],
|
3253 |
-
"time": "2020-
|
3254 |
},
|
3255 |
{
|
3256 |
"name": "phpspec/prophecy",
|
@@ -4468,16 +4488,16 @@
|
|
4468 |
},
|
4469 |
{
|
4470 |
"name": "seld/phar-utils",
|
4471 |
-
"version": "1.1.
|
4472 |
"source": {
|
4473 |
"type": "git",
|
4474 |
"url": "https://github.com/Seldaek/phar-utils.git",
|
4475 |
-
"reference": "
|
4476 |
},
|
4477 |
"dist": {
|
4478 |
"type": "zip",
|
4479 |
-
"url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/
|
4480 |
-
"reference": "
|
4481 |
"shasum": ""
|
4482 |
},
|
4483 |
"require": {
|
@@ -4508,7 +4528,7 @@
|
|
4508 |
"keywords": [
|
4509 |
"phar"
|
4510 |
],
|
4511 |
-
"time": "2020-
|
4512 |
},
|
4513 |
{
|
4514 |
"name": "squizlabs/php_codesniffer",
|
@@ -5132,16 +5152,16 @@
|
|
5132 |
},
|
5133 |
{
|
5134 |
"name": "symfony/polyfill-ctype",
|
5135 |
-
"version": "v1.
|
5136 |
"source": {
|
5137 |
"type": "git",
|
5138 |
"url": "https://github.com/symfony/polyfill-ctype.git",
|
5139 |
-
"reference": "
|
5140 |
},
|
5141 |
"dist": {
|
5142 |
"type": "zip",
|
5143 |
-
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/
|
5144 |
-
"reference": "
|
5145 |
"shasum": ""
|
5146 |
},
|
5147 |
"require": {
|
@@ -5153,7 +5173,7 @@
|
|
5153 |
"type": "library",
|
5154 |
"extra": {
|
5155 |
"branch-alias": {
|
5156 |
-
"dev-master": "1.
|
5157 |
},
|
5158 |
"thanks": {
|
5159 |
"name": "symfony/polyfill",
|
@@ -5204,25 +5224,26 @@
|
|
5204 |
"type": "tidelift"
|
5205 |
}
|
5206 |
],
|
5207 |
-
"time": "2020-
|
5208 |
},
|
5209 |
{
|
5210 |
"name": "symfony/polyfill-intl-idn",
|
5211 |
-
"version": "v1.
|
5212 |
"source": {
|
5213 |
"type": "git",
|
5214 |
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
5215 |
-
"reference": "
|
5216 |
},
|
5217 |
"dist": {
|
5218 |
"type": "zip",
|
5219 |
-
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/
|
5220 |
-
"reference": "
|
5221 |
"shasum": ""
|
5222 |
},
|
5223 |
"require": {
|
5224 |
"php": ">=5.3.3",
|
5225 |
-
"symfony/polyfill-
|
|
|
5226 |
"symfony/polyfill-php72": "^1.10"
|
5227 |
},
|
5228 |
"suggest": {
|
@@ -5231,7 +5252,7 @@
|
|
5231 |
"type": "library",
|
5232 |
"extra": {
|
5233 |
"branch-alias": {
|
5234 |
-
"dev-master": "1.
|
5235 |
},
|
5236 |
"thanks": {
|
5237 |
"name": "symfony/polyfill",
|
@@ -5255,6 +5276,10 @@
|
|
5255 |
"name": "Laurent Bassin",
|
5256 |
"email": "laurent@bassin.info"
|
5257 |
},
|
|
|
|
|
|
|
|
|
5258 |
{
|
5259 |
"name": "Symfony Community",
|
5260 |
"homepage": "https://symfony.com/contributors"
|
@@ -5284,20 +5309,101 @@
|
|
5284 |
"type": "tidelift"
|
5285 |
}
|
5286 |
],
|
5287 |
-
"time": "2020-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5288 |
},
|
5289 |
{
|
5290 |
"name": "symfony/polyfill-mbstring",
|
5291 |
-
"version": "v1.
|
5292 |
"source": {
|
5293 |
"type": "git",
|
5294 |
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
5295 |
-
"reference": "
|
5296 |
},
|
5297 |
"dist": {
|
5298 |
"type": "zip",
|
5299 |
-
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/
|
5300 |
-
"reference": "
|
5301 |
"shasum": ""
|
5302 |
},
|
5303 |
"require": {
|
@@ -5309,7 +5415,7 @@
|
|
5309 |
"type": "library",
|
5310 |
"extra": {
|
5311 |
"branch-alias": {
|
5312 |
-
"dev-master": "1.
|
5313 |
},
|
5314 |
"thanks": {
|
5315 |
"name": "symfony/polyfill",
|
@@ -5361,20 +5467,97 @@
|
|
5361 |
"type": "tidelift"
|
5362 |
}
|
5363 |
],
|
5364 |
-
"time": "2020-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5365 |
},
|
5366 |
{
|
5367 |
"name": "symfony/polyfill-php72",
|
5368 |
-
"version": "v1.
|
5369 |
"source": {
|
5370 |
"type": "git",
|
5371 |
"url": "https://github.com/symfony/polyfill-php72.git",
|
5372 |
-
"reference": "
|
5373 |
},
|
5374 |
"dist": {
|
5375 |
"type": "zip",
|
5376 |
-
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/
|
5377 |
-
"reference": "
|
5378 |
"shasum": ""
|
5379 |
},
|
5380 |
"require": {
|
@@ -5383,7 +5566,11 @@
|
|
5383 |
"type": "library",
|
5384 |
"extra": {
|
5385 |
"branch-alias": {
|
5386 |
-
"dev-master": "1.
|
|
|
|
|
|
|
|
|
5387 |
}
|
5388 |
},
|
5389 |
"autoload": {
|
@@ -5430,7 +5617,7 @@
|
|
5430 |
"type": "tidelift"
|
5431 |
}
|
5432 |
],
|
5433 |
-
"time": "2020-
|
5434 |
},
|
5435 |
{
|
5436 |
"name": "symfony/process",
|
@@ -5570,22 +5757,22 @@
|
|
5570 |
},
|
5571 |
{
|
5572 |
"name": "vlucas/phpdotenv",
|
5573 |
-
"version": "v4.1.
|
5574 |
"source": {
|
5575 |
"type": "git",
|
5576 |
"url": "https://github.com/vlucas/phpdotenv.git",
|
5577 |
-
"reference": "
|
5578 |
},
|
5579 |
"dist": {
|
5580 |
"type": "zip",
|
5581 |
-
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/
|
5582 |
-
"reference": "
|
5583 |
"shasum": ""
|
5584 |
},
|
5585 |
"require": {
|
5586 |
"php": "^5.5.9 || ^7.0 || ^8.0",
|
5587 |
"phpoption/phpoption": "^1.7.3",
|
5588 |
-
"symfony/polyfill-ctype": "^1.
|
5589 |
},
|
5590 |
"require-dev": {
|
5591 |
"bamarni/composer-bin-plugin": "^1.4.1",
|
@@ -5640,7 +5827,7 @@
|
|
5640 |
"type": "tidelift"
|
5641 |
}
|
5642 |
],
|
5643 |
-
"time": "2020-
|
5644 |
},
|
5645 |
{
|
5646 |
"name": "vria/nodiacritic",
|
@@ -5692,20 +5879,20 @@
|
|
5692 |
},
|
5693 |
{
|
5694 |
"name": "webmozart/assert",
|
5695 |
-
"version": "1.9.
|
5696 |
"source": {
|
5697 |
"type": "git",
|
5698 |
"url": "https://github.com/webmozart/assert.git",
|
5699 |
-
"reference": "
|
5700 |
},
|
5701 |
"dist": {
|
5702 |
"type": "zip",
|
5703 |
-
"url": "https://api.github.com/repos/webmozart/assert/zipball/
|
5704 |
-
"reference": "
|
5705 |
"shasum": ""
|
5706 |
},
|
5707 |
"require": {
|
5708 |
-
"php": "^5.3.3 || ^7.0",
|
5709 |
"symfony/polyfill-ctype": "^1.8"
|
5710 |
},
|
5711 |
"conflict": {
|
@@ -5737,20 +5924,20 @@
|
|
5737 |
"check",
|
5738 |
"validate"
|
5739 |
],
|
5740 |
-
"time": "2020-
|
5741 |
},
|
5742 |
{
|
5743 |
"name": "wp-cli/cache-command",
|
5744 |
-
"version": "v2.0.
|
5745 |
"source": {
|
5746 |
"type": "git",
|
5747 |
"url": "https://github.com/wp-cli/cache-command.git",
|
5748 |
-
"reference": "
|
5749 |
},
|
5750 |
"dist": {
|
5751 |
"type": "zip",
|
5752 |
-
"url": "https://api.github.com/repos/wp-cli/cache-command/zipball/
|
5753 |
-
"reference": "
|
5754 |
"shasum": ""
|
5755 |
},
|
5756 |
"require": {
|
@@ -5806,20 +5993,20 @@
|
|
5806 |
],
|
5807 |
"description": "Manages object and transient caches.",
|
5808 |
"homepage": "https://github.com/wp-cli/cache-command",
|
5809 |
-
"time": "
|
5810 |
},
|
5811 |
{
|
5812 |
"name": "wp-cli/checksum-command",
|
5813 |
-
"version": "v2.0.
|
5814 |
"source": {
|
5815 |
"type": "git",
|
5816 |
"url": "https://github.com/wp-cli/checksum-command.git",
|
5817 |
-
"reference": "
|
5818 |
},
|
5819 |
"dist": {
|
5820 |
"type": "zip",
|
5821 |
-
"url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/
|
5822 |
-
"reference": "
|
5823 |
"shasum": ""
|
5824 |
},
|
5825 |
"require": {
|
@@ -5861,20 +6048,20 @@
|
|
5861 |
],
|
5862 |
"description": "Verifies file integrity by comparing to published checksums.",
|
5863 |
"homepage": "https://github.com/wp-cli/checksum-command",
|
5864 |
-
"time": "
|
5865 |
},
|
5866 |
{
|
5867 |
"name": "wp-cli/config-command",
|
5868 |
-
"version": "v2.0.
|
5869 |
"source": {
|
5870 |
"type": "git",
|
5871 |
"url": "https://github.com/wp-cli/config-command.git",
|
5872 |
-
"reference": "
|
5873 |
},
|
5874 |
"dist": {
|
5875 |
"type": "zip",
|
5876 |
-
"url": "https://api.github.com/repos/wp-cli/config-command/zipball/
|
5877 |
-
"reference": "
|
5878 |
"shasum": ""
|
5879 |
},
|
5880 |
"require": {
|
@@ -5930,24 +6117,24 @@
|
|
5930 |
],
|
5931 |
"description": "Generates and reads the wp-config.php file.",
|
5932 |
"homepage": "https://github.com/wp-cli/config-command",
|
5933 |
-
"time": "
|
5934 |
},
|
5935 |
{
|
5936 |
"name": "wp-cli/core-command",
|
5937 |
-
"version": "v2.0.
|
5938 |
"source": {
|
5939 |
"type": "git",
|
5940 |
"url": "https://github.com/wp-cli/core-command.git",
|
5941 |
-
"reference": "
|
5942 |
},
|
5943 |
"dist": {
|
5944 |
"type": "zip",
|
5945 |
-
"url": "https://api.github.com/repos/wp-cli/core-command/zipball/
|
5946 |
-
"reference": "
|
5947 |
"shasum": ""
|
5948 |
},
|
5949 |
"require": {
|
5950 |
-
"composer/semver": "^1.4",
|
5951 |
"wp-cli/wp-cli": "^2.4"
|
5952 |
},
|
5953 |
"require-dev": {
|
@@ -5997,20 +6184,20 @@
|
|
5997 |
],
|
5998 |
"description": "Downloads, installs, updates, and manages a WordPress installation.",
|
5999 |
"homepage": "https://github.com/wp-cli/core-command",
|
6000 |
-
"time": "
|
6001 |
},
|
6002 |
{
|
6003 |
"name": "wp-cli/cron-command",
|
6004 |
-
"version": "v2.0.
|
6005 |
"source": {
|
6006 |
"type": "git",
|
6007 |
"url": "https://github.com/wp-cli/cron-command.git",
|
6008 |
-
"reference": "
|
6009 |
},
|
6010 |
"dist": {
|
6011 |
"type": "zip",
|
6012 |
-
"url": "https://api.github.com/repos/wp-cli/cron-command/zipball/
|
6013 |
-
"reference": "
|
6014 |
"shasum": ""
|
6015 |
},
|
6016 |
"require": {
|
@@ -6060,20 +6247,20 @@
|
|
6060 |
],
|
6061 |
"description": "Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.",
|
6062 |
"homepage": "https://github.com/wp-cli/cron-command",
|
6063 |
-
"time": "
|
6064 |
},
|
6065 |
{
|
6066 |
"name": "wp-cli/db-command",
|
6067 |
-
"version": "v2.0.
|
6068 |
"source": {
|
6069 |
"type": "git",
|
6070 |
"url": "https://github.com/wp-cli/db-command.git",
|
6071 |
-
"reference": "
|
6072 |
},
|
6073 |
"dist": {
|
6074 |
"type": "zip",
|
6075 |
-
"url": "https://api.github.com/repos/wp-cli/db-command/zipball/
|
6076 |
-
"reference": "
|
6077 |
"shasum": ""
|
6078 |
},
|
6079 |
"require": {
|
@@ -6130,20 +6317,20 @@
|
|
6130 |
],
|
6131 |
"description": "Performs basic database operations using credentials stored in wp-config.php.",
|
6132 |
"homepage": "https://github.com/wp-cli/db-command",
|
6133 |
-
"time": "2020-
|
6134 |
},
|
6135 |
{
|
6136 |
"name": "wp-cli/embed-command",
|
6137 |
-
"version": "v2.0.
|
6138 |
"source": {
|
6139 |
"type": "git",
|
6140 |
"url": "https://github.com/wp-cli/embed-command.git",
|
6141 |
-
"reference": "
|
6142 |
},
|
6143 |
"dist": {
|
6144 |
"type": "zip",
|
6145 |
-
"url": "https://api.github.com/repos/wp-cli/embed-command/zipball/
|
6146 |
-
"reference": "
|
6147 |
"shasum": ""
|
6148 |
},
|
6149 |
"require": {
|
@@ -6193,24 +6380,24 @@
|
|
6193 |
],
|
6194 |
"description": "Inspects oEmbed providers, clears embed cache, and more.",
|
6195 |
"homepage": "https://github.com/wp-cli/embed-command",
|
6196 |
-
"time": "
|
6197 |
},
|
6198 |
{
|
6199 |
"name": "wp-cli/entity-command",
|
6200 |
-
"version": "v2.0.
|
6201 |
"source": {
|
6202 |
"type": "git",
|
6203 |
"url": "https://github.com/wp-cli/entity-command.git",
|
6204 |
-
"reference": "
|
6205 |
},
|
6206 |
"dist": {
|
6207 |
"type": "zip",
|
6208 |
-
"url": "https://api.github.com/repos/wp-cli/entity-command/zipball/
|
6209 |
-
"reference": "
|
6210 |
"shasum": ""
|
6211 |
},
|
6212 |
"require": {
|
6213 |
-
"wp-cli/wp-cli": "
|
6214 |
},
|
6215 |
"require-dev": {
|
6216 |
"wp-cli/cache-command": "^1 || ^2",
|
@@ -6399,20 +6586,20 @@
|
|
6399 |
],
|
6400 |
"description": "Manage WordPress comments, menus, options, posts, sites, terms, and users.",
|
6401 |
"homepage": "https://github.com/wp-cli/entity-command",
|
6402 |
-
"time": "
|
6403 |
},
|
6404 |
{
|
6405 |
"name": "wp-cli/eval-command",
|
6406 |
-
"version": "v2.0.
|
6407 |
"source": {
|
6408 |
"type": "git",
|
6409 |
"url": "https://github.com/wp-cli/eval-command.git",
|
6410 |
-
"reference": "
|
6411 |
},
|
6412 |
"dist": {
|
6413 |
"type": "zip",
|
6414 |
-
"url": "https://api.github.com/repos/wp-cli/eval-command/zipball/
|
6415 |
-
"reference": "
|
6416 |
"shasum": ""
|
6417 |
},
|
6418 |
"require": {
|
@@ -6453,20 +6640,20 @@
|
|
6453 |
],
|
6454 |
"description": "Executes arbitrary PHP code or files.",
|
6455 |
"homepage": "https://github.com/wp-cli/eval-command",
|
6456 |
-
"time": "2020-
|
6457 |
},
|
6458 |
{
|
6459 |
"name": "wp-cli/export-command",
|
6460 |
-
"version": "v2.0.
|
6461 |
"source": {
|
6462 |
"type": "git",
|
6463 |
"url": "https://github.com/wp-cli/export-command.git",
|
6464 |
-
"reference": "
|
6465 |
},
|
6466 |
"dist": {
|
6467 |
"type": "zip",
|
6468 |
-
"url": "https://api.github.com/repos/wp-cli/export-command/zipball/
|
6469 |
-
"reference": "
|
6470 |
"shasum": ""
|
6471 |
},
|
6472 |
"require": {
|
@@ -6511,25 +6698,25 @@
|
|
6511 |
],
|
6512 |
"description": "Exports WordPress content to a WXR file.",
|
6513 |
"homepage": "https://github.com/wp-cli/export-command",
|
6514 |
-
"time": "
|
6515 |
},
|
6516 |
{
|
6517 |
"name": "wp-cli/extension-command",
|
6518 |
-
"version": "v2.0.
|
6519 |
"source": {
|
6520 |
"type": "git",
|
6521 |
"url": "https://github.com/wp-cli/extension-command.git",
|
6522 |
-
"reference": "
|
6523 |
},
|
6524 |
"dist": {
|
6525 |
"type": "zip",
|
6526 |
-
"url": "https://api.github.com/repos/wp-cli/extension-command/zipball/
|
6527 |
-
"reference": "
|
6528 |
"shasum": ""
|
6529 |
},
|
6530 |
"require": {
|
6531 |
-
"composer/semver": "^1.4",
|
6532 |
-
"wp-cli/wp-cli": "
|
6533 |
},
|
6534 |
"require-dev": {
|
6535 |
"wp-cli/entity-command": "^1.3 || ^2",
|
@@ -6603,20 +6790,20 @@
|
|
6603 |
],
|
6604 |
"description": "Manages plugins and themes, including installs, activations, and updates.",
|
6605 |
"homepage": "https://github.com/wp-cli/extension-command",
|
6606 |
-
"time": "2020-
|
6607 |
},
|
6608 |
{
|
6609 |
"name": "wp-cli/i18n-command",
|
6610 |
-
"version": "v2.2.
|
6611 |
"source": {
|
6612 |
"type": "git",
|
6613 |
"url": "https://github.com/wp-cli/i18n-command.git",
|
6614 |
-
"reference": "
|
6615 |
},
|
6616 |
"dist": {
|
6617 |
"type": "zip",
|
6618 |
-
"url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/
|
6619 |
-
"reference": "
|
6620 |
"shasum": ""
|
6621 |
},
|
6622 |
"require": {
|
@@ -6660,20 +6847,20 @@
|
|
6660 |
],
|
6661 |
"description": "Provides internationalization tools for WordPress projects.",
|
6662 |
"homepage": "https://github.com/wp-cli/i18n-command",
|
6663 |
-
"time": "2020-
|
6664 |
},
|
6665 |
{
|
6666 |
"name": "wp-cli/import-command",
|
6667 |
-
"version": "v2.0.
|
6668 |
"source": {
|
6669 |
"type": "git",
|
6670 |
"url": "https://github.com/wp-cli/import-command.git",
|
6671 |
-
"reference": "
|
6672 |
},
|
6673 |
"dist": {
|
6674 |
"type": "zip",
|
6675 |
-
"url": "https://api.github.com/repos/wp-cli/import-command/zipball/
|
6676 |
-
"reference": "
|
6677 |
"shasum": ""
|
6678 |
},
|
6679 |
"require": {
|
@@ -6716,20 +6903,20 @@
|
|
6716 |
],
|
6717 |
"description": "Imports content from a given WXR file.",
|
6718 |
"homepage": "https://github.com/wp-cli/import-command",
|
6719 |
-
"time": "
|
6720 |
},
|
6721 |
{
|
6722 |
"name": "wp-cli/language-command",
|
6723 |
-
"version": "v2.0.
|
6724 |
"source": {
|
6725 |
"type": "git",
|
6726 |
"url": "https://github.com/wp-cli/language-command.git",
|
6727 |
-
"reference": "
|
6728 |
},
|
6729 |
"dist": {
|
6730 |
"type": "zip",
|
6731 |
-
"url": "https://api.github.com/repos/wp-cli/language-command/zipball/
|
6732 |
-
"reference": "
|
6733 |
"shasum": ""
|
6734 |
},
|
6735 |
"require": {
|
@@ -6791,20 +6978,20 @@
|
|
6791 |
],
|
6792 |
"description": "Installs, activates, and manages language packs.",
|
6793 |
"homepage": "https://github.com/wp-cli/language-command",
|
6794 |
-
"time": "
|
6795 |
},
|
6796 |
{
|
6797 |
"name": "wp-cli/maintenance-mode-command",
|
6798 |
-
"version": "v2.0.
|
6799 |
"source": {
|
6800 |
"type": "git",
|
6801 |
"url": "https://github.com/wp-cli/maintenance-mode-command.git",
|
6802 |
-
"reference": "
|
6803 |
},
|
6804 |
"dist": {
|
6805 |
"type": "zip",
|
6806 |
-
"url": "https://api.github.com/repos/wp-cli/maintenance-mode-command/zipball/
|
6807 |
-
"reference": "
|
6808 |
"shasum": ""
|
6809 |
},
|
6810 |
"require": {
|
@@ -6848,20 +7035,20 @@
|
|
6848 |
],
|
6849 |
"description": "Activates, deactivates or checks the status of the maintenance mode of a site.",
|
6850 |
"homepage": "https://github.com/wp-cli/maintenance-mode-command",
|
6851 |
-
"time": "
|
6852 |
},
|
6853 |
{
|
6854 |
"name": "wp-cli/media-command",
|
6855 |
-
"version": "v2.0.
|
6856 |
"source": {
|
6857 |
"type": "git",
|
6858 |
"url": "https://github.com/wp-cli/media-command.git",
|
6859 |
-
"reference": "
|
6860 |
},
|
6861 |
"dist": {
|
6862 |
"type": "zip",
|
6863 |
-
"url": "https://api.github.com/repos/wp-cli/media-command/zipball/
|
6864 |
-
"reference": "
|
6865 |
"shasum": ""
|
6866 |
},
|
6867 |
"require": {
|
@@ -6906,7 +7093,7 @@
|
|
6906 |
],
|
6907 |
"description": "Imports files as attachments, regenerates thumbnails, or lists registered image sizes.",
|
6908 |
"homepage": "https://github.com/wp-cli/media-command",
|
6909 |
-
"time": "2020-
|
6910 |
},
|
6911 |
{
|
6912 |
"name": "wp-cli/mustangostang-spyc",
|
@@ -6958,22 +7145,22 @@
|
|
6958 |
},
|
6959 |
{
|
6960 |
"name": "wp-cli/package-command",
|
6961 |
-
"version": "v2.0.
|
6962 |
"source": {
|
6963 |
"type": "git",
|
6964 |
"url": "https://github.com/wp-cli/package-command.git",
|
6965 |
-
"reference": "
|
6966 |
},
|
6967 |
"dist": {
|
6968 |
"type": "zip",
|
6969 |
-
"url": "https://api.github.com/repos/wp-cli/package-command/zipball/
|
6970 |
-
"reference": "
|
6971 |
"shasum": ""
|
6972 |
},
|
6973 |
"require": {
|
6974 |
"composer/composer": ">=1.2.0 <1.7.0 || ^1.7.1",
|
6975 |
"ext-json": "*",
|
6976 |
-
"wp-cli/wp-cli": "
|
6977 |
},
|
6978 |
"require-dev": {
|
6979 |
"wp-cli/scaffold-command": "^1 || ^2",
|
@@ -7015,7 +7202,7 @@
|
|
7015 |
],
|
7016 |
"description": "Lists, installs, and removes WP-CLI packages.",
|
7017 |
"homepage": "https://github.com/wp-cli/package-command",
|
7018 |
-
"time": "2020-
|
7019 |
},
|
7020 |
{
|
7021 |
"name": "wp-cli/php-cli-tools",
|
@@ -7069,16 +7256,16 @@
|
|
7069 |
},
|
7070 |
{
|
7071 |
"name": "wp-cli/rewrite-command",
|
7072 |
-
"version": "v2.0.
|
7073 |
"source": {
|
7074 |
"type": "git",
|
7075 |
"url": "https://github.com/wp-cli/rewrite-command.git",
|
7076 |
-
"reference": "
|
7077 |
},
|
7078 |
"dist": {
|
7079 |
"type": "zip",
|
7080 |
-
"url": "https://api.github.com/repos/wp-cli/rewrite-command/zipball/
|
7081 |
-
"reference": "
|
7082 |
"shasum": ""
|
7083 |
},
|
7084 |
"require": {
|
@@ -7122,20 +7309,20 @@
|
|
7122 |
],
|
7123 |
"description": "Lists or flushes the site's rewrite rules, updates the permalink structure.",
|
7124 |
"homepage": "https://github.com/wp-cli/rewrite-command",
|
7125 |
-
"time": "
|
7126 |
},
|
7127 |
{
|
7128 |
"name": "wp-cli/role-command",
|
7129 |
-
"version": "v2.0.
|
7130 |
"source": {
|
7131 |
"type": "git",
|
7132 |
"url": "https://github.com/wp-cli/role-command.git",
|
7133 |
-
"reference": "
|
7134 |
},
|
7135 |
"dist": {
|
7136 |
"type": "zip",
|
7137 |
-
"url": "https://api.github.com/repos/wp-cli/role-command/zipball/
|
7138 |
-
"reference": "
|
7139 |
"shasum": ""
|
7140 |
},
|
7141 |
"require": {
|
@@ -7184,24 +7371,24 @@
|
|
7184 |
],
|
7185 |
"description": "Adds, removes, lists, and resets roles and capabilities.",
|
7186 |
"homepage": "https://github.com/wp-cli/role-command",
|
7187 |
-
"time": "
|
7188 |
},
|
7189 |
{
|
7190 |
"name": "wp-cli/scaffold-command",
|
7191 |
-
"version": "v2.0.
|
7192 |
"source": {
|
7193 |
"type": "git",
|
7194 |
"url": "https://github.com/wp-cli/scaffold-command.git",
|
7195 |
-
"reference": "
|
7196 |
},
|
7197 |
"dist": {
|
7198 |
"type": "zip",
|
7199 |
-
"url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/
|
7200 |
-
"reference": "
|
7201 |
"shasum": ""
|
7202 |
},
|
7203 |
"require": {
|
7204 |
-
"php": "^5.
|
7205 |
"wp-cli/wp-cli": "dev-master"
|
7206 |
},
|
7207 |
"require-dev": {
|
@@ -7247,20 +7434,20 @@
|
|
7247 |
],
|
7248 |
"description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.",
|
7249 |
"homepage": "https://github.com/wp-cli/scaffold-command",
|
7250 |
-
"time": "2020-
|
7251 |
},
|
7252 |
{
|
7253 |
"name": "wp-cli/search-replace-command",
|
7254 |
-
"version": "v2.0.
|
7255 |
"source": {
|
7256 |
"type": "git",
|
7257 |
"url": "https://github.com/wp-cli/search-replace-command.git",
|
7258 |
-
"reference": "
|
7259 |
},
|
7260 |
"dist": {
|
7261 |
"type": "zip",
|
7262 |
-
"url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/
|
7263 |
-
"reference": "
|
7264 |
"shasum": ""
|
7265 |
},
|
7266 |
"require": {
|
@@ -7303,20 +7490,20 @@
|
|
7303 |
],
|
7304 |
"description": "Searches/replaces strings in the database.",
|
7305 |
"homepage": "https://github.com/wp-cli/search-replace-command",
|
7306 |
-
"time": "
|
7307 |
},
|
7308 |
{
|
7309 |
"name": "wp-cli/server-command",
|
7310 |
-
"version": "v2.0.
|
7311 |
"source": {
|
7312 |
"type": "git",
|
7313 |
"url": "https://github.com/wp-cli/server-command.git",
|
7314 |
-
"reference": "
|
7315 |
},
|
7316 |
"dist": {
|
7317 |
"type": "zip",
|
7318 |
-
"url": "https://api.github.com/repos/wp-cli/server-command/zipball/
|
7319 |
-
"reference": "
|
7320 |
"shasum": ""
|
7321 |
},
|
7322 |
"require": {
|
@@ -7356,20 +7543,20 @@
|
|
7356 |
],
|
7357 |
"description": "Launches PHP's built-in web server for a specific WordPress installation.",
|
7358 |
"homepage": "https://github.com/wp-cli/server-command",
|
7359 |
-
"time": "
|
7360 |
},
|
7361 |
{
|
7362 |
"name": "wp-cli/shell-command",
|
7363 |
-
"version": "v2.0.
|
7364 |
"source": {
|
7365 |
"type": "git",
|
7366 |
"url": "https://github.com/wp-cli/shell-command.git",
|
7367 |
-
"reference": "
|
7368 |
},
|
7369 |
"dist": {
|
7370 |
"type": "zip",
|
7371 |
-
"url": "https://api.github.com/repos/wp-cli/shell-command/zipball/
|
7372 |
-
"reference": "
|
7373 |
"shasum": ""
|
7374 |
},
|
7375 |
"require": {
|
@@ -7410,20 +7597,20 @@
|
|
7410 |
],
|
7411 |
"description": "Opens an interactive PHP console for running and testing PHP code.",
|
7412 |
"homepage": "https://github.com/wp-cli/shell-command",
|
7413 |
-
"time": "
|
7414 |
},
|
7415 |
{
|
7416 |
"name": "wp-cli/super-admin-command",
|
7417 |
-
"version": "v2.0.
|
7418 |
"source": {
|
7419 |
"type": "git",
|
7420 |
"url": "https://github.com/wp-cli/super-admin-command.git",
|
7421 |
-
"reference": "
|
7422 |
},
|
7423 |
"dist": {
|
7424 |
"type": "zip",
|
7425 |
-
"url": "https://api.github.com/repos/wp-cli/super-admin-command/zipball/
|
7426 |
-
"reference": "
|
7427 |
"shasum": ""
|
7428 |
},
|
7429 |
"require": {
|
@@ -7467,20 +7654,20 @@
|
|
7467 |
],
|
7468 |
"description": "Lists, adds, or removes super admin users on a multisite installation.",
|
7469 |
"homepage": "https://github.com/wp-cli/super-admin-command",
|
7470 |
-
"time": "
|
7471 |
},
|
7472 |
{
|
7473 |
"name": "wp-cli/widget-command",
|
7474 |
-
"version": "v2.1.
|
7475 |
"source": {
|
7476 |
"type": "git",
|
7477 |
"url": "https://github.com/wp-cli/widget-command.git",
|
7478 |
-
"reference": "
|
7479 |
},
|
7480 |
"dist": {
|
7481 |
"type": "zip",
|
7482 |
-
"url": "https://api.github.com/repos/wp-cli/widget-command/zipball/
|
7483 |
-
"reference": "
|
7484 |
"shasum": ""
|
7485 |
},
|
7486 |
"require": {
|
@@ -7530,7 +7717,7 @@
|
|
7530 |
],
|
7531 |
"description": "Adds, moves, and removes widgets; lists sidebars.",
|
7532 |
"homepage": "https://github.com/wp-cli/widget-command",
|
7533 |
-
"time": "2020-
|
7534 |
},
|
7535 |
{
|
7536 |
"name": "wp-cli/wp-cli",
|
@@ -7538,12 +7725,12 @@
|
|
7538 |
"source": {
|
7539 |
"type": "git",
|
7540 |
"url": "https://github.com/wp-cli/wp-cli.git",
|
7541 |
-
"reference": "
|
7542 |
},
|
7543 |
"dist": {
|
7544 |
"type": "zip",
|
7545 |
-
"url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/
|
7546 |
-
"reference": "
|
7547 |
"shasum": ""
|
7548 |
},
|
7549 |
"require": {
|
@@ -7561,7 +7748,7 @@
|
|
7561 |
"wp-cli/entity-command": "^1.2 || ^2",
|
7562 |
"wp-cli/extension-command": "^1.1 || ^2",
|
7563 |
"wp-cli/package-command": "^1 || ^2",
|
7564 |
-
"wp-cli/wp-cli-tests": "^2.1"
|
7565 |
},
|
7566 |
"suggest": {
|
7567 |
"ext-readline": "Include for a better --prompt implementation",
|
@@ -7596,7 +7783,7 @@
|
|
7596 |
"cli",
|
7597 |
"wordpress"
|
7598 |
],
|
7599 |
-
"time": "2020-
|
7600 |
},
|
7601 |
{
|
7602 |
"name": "wp-cli/wp-cli-bundle",
|
@@ -7670,16 +7857,16 @@
|
|
7670 |
},
|
7671 |
{
|
7672 |
"name": "wp-cli/wp-config-transformer",
|
7673 |
-
"version": "v1.2.
|
7674 |
"source": {
|
7675 |
"type": "git",
|
7676 |
"url": "https://github.com/wp-cli/wp-config-transformer.git",
|
7677 |
-
"reference": "
|
7678 |
},
|
7679 |
"dist": {
|
7680 |
"type": "zip",
|
7681 |
-
"url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/
|
7682 |
-
"reference": "
|
7683 |
"shasum": ""
|
7684 |
},
|
7685 |
"require": {
|
@@ -7687,7 +7874,7 @@
|
|
7687 |
},
|
7688 |
"require-dev": {
|
7689 |
"composer/composer": "^1.5.6",
|
7690 |
-
"phpunit/phpunit": "^6.5.5",
|
7691 |
"wp-coding-standards/wpcs": "^0.14.0 || ^1.0.0 || ^2.0.0"
|
7692 |
},
|
7693 |
"type": "library",
|
@@ -7707,7 +7894,7 @@
|
|
7707 |
}
|
7708 |
],
|
7709 |
"description": "Programmatically edit a wp-config.php file.",
|
7710 |
-
"time": "
|
7711 |
},
|
7712 |
{
|
7713 |
"name": "wp-coding-standards/wpcs",
|
@@ -8578,16 +8765,16 @@
|
|
8578 |
},
|
8579 |
{
|
8580 |
"name": "wpdesk/wp-wpdesk-tracker-user-feedback",
|
8581 |
-
"version": "1.0.0
|
8582 |
"source": {
|
8583 |
"type": "git",
|
8584 |
"url": "https://gitlab.com/wpdesk/wp-wpdesk-tracker-user-feedback.git",
|
8585 |
-
"reference": "
|
8586 |
},
|
8587 |
"dist": {
|
8588 |
"type": "zip",
|
8589 |
-
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-wpdesk-tracker-user-feedback/repository/archive.zip?sha=
|
8590 |
-
"reference": "
|
8591 |
"shasum": ""
|
8592 |
},
|
8593 |
"require": {
|
@@ -8627,7 +8814,7 @@
|
|
8627 |
"email": "grzegorz@wpdesk.pl"
|
8628 |
}
|
8629 |
],
|
8630 |
-
"time": "2020-07-
|
8631 |
},
|
8632 |
{
|
8633 |
"name": "zordius/lightncandy",
|
4 |
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
5 |
"This file is @generated automatically"
|
6 |
],
|
7 |
+
"content-hash": "da5905517e3f56c360e8d418653e95ee",
|
8 |
"packages": [
|
9 |
{
|
10 |
"name": "psr/log",
|
464 |
},
|
465 |
{
|
466 |
"name": "codeception/lib-innerbrowser",
|
467 |
+
"version": "1.3.2",
|
468 |
"source": {
|
469 |
"type": "git",
|
470 |
"url": "https://github.com/Codeception/lib-innerbrowser.git",
|
471 |
+
"reference": "7bdcee4cf654cfeeedd00405edd4f06f85255659"
|
472 |
},
|
473 |
"dist": {
|
474 |
"type": "zip",
|
475 |
+
"url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/7bdcee4cf654cfeeedd00405edd4f06f85255659",
|
476 |
+
"reference": "7bdcee4cf654cfeeedd00405edd4f06f85255659",
|
477 |
"shasum": ""
|
478 |
},
|
479 |
"require": {
|
480 |
"codeception/codeception": "*@dev",
|
481 |
+
"ext-dom": "*",
|
482 |
+
"ext-json": "*",
|
483 |
+
"ext-mbstring": "*",
|
484 |
"php": ">=5.6.0 <8.0",
|
485 |
"symfony/browser-kit": ">=2.7 <6.0",
|
486 |
"symfony/dom-crawler": ">=2.7 <6.0"
|
516 |
"keywords": [
|
517 |
"codeception"
|
518 |
],
|
519 |
+
"time": "2020-07-05T14:21:45+00:00"
|
520 |
},
|
521 |
{
|
522 |
"name": "codeception/module-asserts",
|
720 |
},
|
721 |
{
|
722 |
"name": "codeception/module-phpbrowser",
|
723 |
+
"version": "1.0.1",
|
724 |
"source": {
|
725 |
"type": "git",
|
726 |
"url": "https://github.com/Codeception/module-phpbrowser.git",
|
727 |
+
"reference": "c1962657504a2a476b8dbd1f1ee05e0c912e5645"
|
728 |
},
|
729 |
"dist": {
|
730 |
"type": "zip",
|
731 |
+
"url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/c1962657504a2a476b8dbd1f1ee05e0c912e5645",
|
732 |
+
"reference": "c1962657504a2a476b8dbd1f1ee05e0c912e5645",
|
733 |
"shasum": ""
|
734 |
},
|
735 |
"require": {
|
736 |
+
"codeception/codeception": "*@dev",
|
737 |
+
"codeception/lib-innerbrowser": "^1.3.2",
|
738 |
+
"guzzlehttp/guzzle": "^6.3.0|^7.0.0",
|
739 |
"php": ">=5.6.0 <8.0"
|
740 |
},
|
741 |
+
"conflict": {
|
742 |
+
"codeception/codeception": "<4.0"
|
743 |
+
},
|
744 |
"require-dev": {
|
745 |
"codeception/module-rest": "dev-master | ^1.0",
|
746 |
"codeception/util-robohelpers": "dev-master"
|
773 |
"functional-testing",
|
774 |
"http"
|
775 |
],
|
776 |
+
"time": "2020-07-05T15:29:32+00:00"
|
777 |
},
|
778 |
{
|
779 |
"name": "codeception/module-rest",
|
780 |
+
"version": "1.2.1",
|
781 |
"source": {
|
782 |
"type": "git",
|
783 |
"url": "https://github.com/Codeception/module-rest.git",
|
784 |
+
"reference": "3664989d35003e182631cd9f4bc055fec009f5be"
|
785 |
},
|
786 |
"dist": {
|
787 |
"type": "zip",
|
788 |
+
"url": "https://api.github.com/repos/Codeception/module-rest/zipball/3664989d35003e182631cd9f4bc055fec009f5be",
|
789 |
+
"reference": "3664989d35003e182631cd9f4bc055fec009f5be",
|
790 |
"shasum": ""
|
791 |
},
|
792 |
"require": {
|
824 |
"codeception",
|
825 |
"rest"
|
826 |
],
|
827 |
+
"time": "2020-07-05T15:40:45+00:00"
|
828 |
},
|
829 |
{
|
830 |
"name": "codeception/module-webdriver",
|
1058 |
},
|
1059 |
{
|
1060 |
"name": "composer/composer",
|
1061 |
+
"version": "1.10.9",
|
1062 |
"source": {
|
1063 |
"type": "git",
|
1064 |
"url": "https://github.com/composer/composer.git",
|
1065 |
+
"reference": "83c3250093d5491600a822e176b107a945baf95a"
|
1066 |
},
|
1067 |
"dist": {
|
1068 |
"type": "zip",
|
1069 |
+
"url": "https://api.github.com/repos/composer/composer/zipball/83c3250093d5491600a822e176b107a945baf95a",
|
1070 |
+
"reference": "83c3250093d5491600a822e176b107a945baf95a",
|
1071 |
"shasum": ""
|
1072 |
},
|
1073 |
"require": {
|
1148 |
"type": "tidelift"
|
1149 |
}
|
1150 |
],
|
1151 |
+
"time": "2020-07-16T10:57:00+00:00"
|
1152 |
},
|
1153 |
{
|
1154 |
"name": "composer/semver",
|
1213 |
},
|
1214 |
{
|
1215 |
"name": "composer/spdx-licenses",
|
1216 |
+
"version": "1.5.4",
|
1217 |
"source": {
|
1218 |
"type": "git",
|
1219 |
"url": "https://github.com/composer/spdx-licenses.git",
|
1220 |
+
"reference": "6946f785871e2314c60b4524851f3702ea4f2223"
|
1221 |
},
|
1222 |
"dist": {
|
1223 |
"type": "zip",
|
1224 |
+
"url": "https://api.github.com/repos/composer/spdx-licenses/zipball/6946f785871e2314c60b4524851f3702ea4f2223",
|
1225 |
+
"reference": "6946f785871e2314c60b4524851f3702ea4f2223",
|
1226 |
"shasum": ""
|
1227 |
},
|
1228 |
"require": {
|
1269 |
"spdx",
|
1270 |
"validator"
|
1271 |
],
|
1272 |
+
"funding": [
|
1273 |
+
{
|
1274 |
+
"url": "https://packagist.com",
|
1275 |
+
"type": "custom"
|
1276 |
+
},
|
1277 |
+
{
|
1278 |
+
"url": "https://github.com/composer",
|
1279 |
+
"type": "github"
|
1280 |
+
},
|
1281 |
+
{
|
1282 |
+
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
|
1283 |
+
"type": "tidelift"
|
1284 |
+
}
|
1285 |
+
],
|
1286 |
+
"time": "2020-07-15T15:35:07+00:00"
|
1287 |
},
|
1288 |
{
|
1289 |
"name": "composer/xdebug-handler",
|
2225 |
},
|
2226 |
{
|
2227 |
"name": "lucatume/wp-browser",
|
2228 |
+
"version": "2.6.5",
|
2229 |
"source": {
|
2230 |
"type": "git",
|
2231 |
"url": "https://github.com/lucatume/wp-browser.git",
|
2232 |
+
"reference": "a14506d589935de7ad9bb0aabaecf56cc2d8f9b9"
|
2233 |
},
|
2234 |
"dist": {
|
2235 |
"type": "zip",
|
2236 |
+
"url": "https://api.github.com/repos/lucatume/wp-browser/zipball/a14506d589935de7ad9bb0aabaecf56cc2d8f9b9",
|
2237 |
+
"reference": "a14506d589935de7ad9bb0aabaecf56cc2d8f9b9",
|
2238 |
"shasum": ""
|
2239 |
},
|
2240 |
"require": {
|
2304 |
"codeception",
|
2305 |
"wordpress"
|
2306 |
],
|
2307 |
+
"time": "2020-07-16T08:24:48+00:00"
|
2308 |
},
|
2309 |
{
|
2310 |
"name": "matthiasmullie/minify",
|
3209 |
},
|
3210 |
{
|
3211 |
"name": "phpoption/phpoption",
|
3212 |
+
"version": "1.7.5",
|
3213 |
"source": {
|
3214 |
"type": "git",
|
3215 |
"url": "https://github.com/schmittjoh/php-option.git",
|
3216 |
+
"reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525"
|
3217 |
},
|
3218 |
"dist": {
|
3219 |
"type": "zip",
|
3220 |
+
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525",
|
3221 |
+
"reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525",
|
3222 |
"shasum": ""
|
3223 |
},
|
3224 |
"require": {
|
3225 |
"php": "^5.5.9 || ^7.0 || ^8.0"
|
3226 |
},
|
3227 |
"require-dev": {
|
3228 |
+
"bamarni/composer-bin-plugin": "^1.4.1",
|
3229 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0"
|
3230 |
},
|
3231 |
"type": "library",
|
3232 |
"extra": {
|
3270 |
"type": "tidelift"
|
3271 |
}
|
3272 |
],
|
3273 |
+
"time": "2020-07-20T17:29:33+00:00"
|
3274 |
},
|
3275 |
{
|
3276 |
"name": "phpspec/prophecy",
|
4488 |
},
|
4489 |
{
|
4490 |
"name": "seld/phar-utils",
|
4491 |
+
"version": "1.1.1",
|
4492 |
"source": {
|
4493 |
"type": "git",
|
4494 |
"url": "https://github.com/Seldaek/phar-utils.git",
|
4495 |
+
"reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796"
|
4496 |
},
|
4497 |
"dist": {
|
4498 |
"type": "zip",
|
4499 |
+
"url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8674b1d84ffb47cc59a101f5d5a3b61e87d23796",
|
4500 |
+
"reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796",
|
4501 |
"shasum": ""
|
4502 |
},
|
4503 |
"require": {
|
4528 |
"keywords": [
|
4529 |
"phar"
|
4530 |
],
|
4531 |
+
"time": "2020-07-07T18:42:57+00:00"
|
4532 |
},
|
4533 |
{
|
4534 |
"name": "squizlabs/php_codesniffer",
|
5152 |
},
|
5153 |
{
|
5154 |
"name": "symfony/polyfill-ctype",
|
5155 |
+
"version": "v1.18.0",
|
5156 |
"source": {
|
5157 |
"type": "git",
|
5158 |
"url": "https://github.com/symfony/polyfill-ctype.git",
|
5159 |
+
"reference": "1c302646f6efc070cd46856e600e5e0684d6b454"
|
5160 |
},
|
5161 |
"dist": {
|
5162 |
"type": "zip",
|
5163 |
+
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/1c302646f6efc070cd46856e600e5e0684d6b454",
|
5164 |
+
"reference": "1c302646f6efc070cd46856e600e5e0684d6b454",
|
5165 |
"shasum": ""
|
5166 |
},
|
5167 |
"require": {
|
5173 |
"type": "library",
|
5174 |
"extra": {
|
5175 |
"branch-alias": {
|
5176 |
+
"dev-master": "1.18-dev"
|
5177 |
},
|
5178 |
"thanks": {
|
5179 |
"name": "symfony/polyfill",
|
5224 |
"type": "tidelift"
|
5225 |
}
|
5226 |
],
|
5227 |
+
"time": "2020-07-14T12:35:20+00:00"
|
5228 |
},
|
5229 |
{
|
5230 |
"name": "symfony/polyfill-intl-idn",
|
5231 |
+
"version": "v1.18.0",
|
5232 |
"source": {
|
5233 |
"type": "git",
|
5234 |
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
5235 |
+
"reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe"
|
5236 |
},
|
5237 |
"dist": {
|
5238 |
"type": "zip",
|
5239 |
+
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/bc6549d068d0160e0f10f7a5a23c7d1406b95ebe",
|
5240 |
+
"reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe",
|
5241 |
"shasum": ""
|
5242 |
},
|
5243 |
"require": {
|
5244 |
"php": ">=5.3.3",
|
5245 |
+
"symfony/polyfill-intl-normalizer": "^1.10",
|
5246 |
+
"symfony/polyfill-php70": "^1.10",
|
5247 |
"symfony/polyfill-php72": "^1.10"
|
5248 |
},
|
5249 |
"suggest": {
|
5252 |
"type": "library",
|
5253 |
"extra": {
|
5254 |
"branch-alias": {
|
5255 |
+
"dev-master": "1.18-dev"
|
5256 |
},
|
5257 |
"thanks": {
|
5258 |
"name": "symfony/polyfill",
|
5276 |
"name": "Laurent Bassin",
|
5277 |
"email": "laurent@bassin.info"
|
5278 |
},
|
5279 |
+
{
|
5280 |
+
"name": "Trevor Rowbotham",
|
5281 |
+
"email": "trevor.rowbotham@pm.me"
|
5282 |
+
},
|
5283 |
{
|
5284 |
"name": "Symfony Community",
|
5285 |
"homepage": "https://symfony.com/contributors"
|
5309 |
"type": "tidelift"
|
5310 |
}
|
5311 |
],
|
5312 |
+
"time": "2020-07-14T12:35:20+00:00"
|
5313 |
+
},
|
5314 |
+
{
|
5315 |
+
"name": "symfony/polyfill-intl-normalizer",
|
5316 |
+
"version": "v1.18.0",
|
5317 |
+
"source": {
|
5318 |
+
"type": "git",
|
5319 |
+
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
5320 |
+
"reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e"
|
5321 |
+
},
|
5322 |
+
"dist": {
|
5323 |
+
"type": "zip",
|
5324 |
+
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
|
5325 |
+
"reference": "37078a8dd4a2a1e9ab0231af7c6cb671b2ed5a7e",
|
5326 |
+
"shasum": ""
|
5327 |
+
},
|
5328 |
+
"require": {
|
5329 |
+
"php": ">=5.3.3"
|
5330 |
+
},
|
5331 |
+
"suggest": {
|
5332 |
+
"ext-intl": "For best performance"
|
5333 |
+
},
|
5334 |
+
"type": "library",
|
5335 |
+
"extra": {
|
5336 |
+
"branch-alias": {
|
5337 |
+
"dev-master": "1.18-dev"
|
5338 |
+
},
|
5339 |
+
"thanks": {
|
5340 |
+
"name": "symfony/polyfill",
|
5341 |
+
"url": "https://github.com/symfony/polyfill"
|
5342 |
+
}
|
5343 |
+
},
|
5344 |
+
"autoload": {
|
5345 |
+
"psr-4": {
|
5346 |
+
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
|
5347 |
+
},
|
5348 |
+
"files": [
|
5349 |
+
"bootstrap.php"
|
5350 |
+
],
|
5351 |
+
"classmap": [
|
5352 |
+
"Resources/stubs"
|
5353 |
+
]
|
5354 |
+
},
|
5355 |
+
"notification-url": "https://packagist.org/downloads/",
|
5356 |
+
"license": [
|
5357 |
+
"MIT"
|
5358 |
+
],
|
5359 |
+
"authors": [
|
5360 |
+
{
|
5361 |
+
"name": "Nicolas Grekas",
|
5362 |
+
"email": "p@tchwork.com"
|
5363 |
+
},
|
5364 |
+
{
|
5365 |
+
"name": "Symfony Community",
|
5366 |
+
"homepage": "https://symfony.com/contributors"
|
5367 |
+
}
|
5368 |
+
],
|
5369 |
+
"description": "Symfony polyfill for intl's Normalizer class and related functions",
|
5370 |
+
"homepage": "https://symfony.com",
|
5371 |
+
"keywords": [
|
5372 |
+
"compatibility",
|
5373 |
+
"intl",
|
5374 |
+
"normalizer",
|
5375 |
+
"polyfill",
|
5376 |
+
"portable",
|
5377 |
+
"shim"
|
5378 |
+
],
|
5379 |
+
"funding": [
|
5380 |
+
{
|
5381 |
+
"url": "https://symfony.com/sponsor",
|
5382 |
+
"type": "custom"
|
5383 |
+
},
|
5384 |
+
{
|
5385 |
+
"url": "https://github.com/fabpot",
|
5386 |
+
"type": "github"
|
5387 |
+
},
|
5388 |
+
{
|
5389 |
+
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
5390 |
+
"type": "tidelift"
|
5391 |
+
}
|
5392 |
+
],
|
5393 |
+
"time": "2020-07-14T12:35:20+00:00"
|
5394 |
},
|
5395 |
{
|
5396 |
"name": "symfony/polyfill-mbstring",
|
5397 |
+
"version": "v1.18.0",
|
5398 |
"source": {
|
5399 |
"type": "git",
|
5400 |
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
5401 |
+
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a"
|
5402 |
},
|
5403 |
"dist": {
|
5404 |
"type": "zip",
|
5405 |
+
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/a6977d63bf9a0ad4c65cd352709e230876f9904a",
|
5406 |
+
"reference": "a6977d63bf9a0ad4c65cd352709e230876f9904a",
|
5407 |
"shasum": ""
|
5408 |
},
|
5409 |
"require": {
|
5415 |
"type": "library",
|
5416 |
"extra": {
|
5417 |
"branch-alias": {
|
5418 |
+
"dev-master": "1.18-dev"
|
5419 |
},
|
5420 |
"thanks": {
|
5421 |
"name": "symfony/polyfill",
|
5467 |
"type": "tidelift"
|
5468 |
}
|
5469 |
],
|
5470 |
+
"time": "2020-07-14T12:35:20+00:00"
|
5471 |
+
},
|
5472 |
+
{
|
5473 |
+
"name": "symfony/polyfill-php70",
|
5474 |
+
"version": "v1.18.0",
|
5475 |
+
"source": {
|
5476 |
+
"type": "git",
|
5477 |
+
"url": "https://github.com/symfony/polyfill-php70.git",
|
5478 |
+
"reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3"
|
5479 |
+
},
|
5480 |
+
"dist": {
|
5481 |
+
"type": "zip",
|
5482 |
+
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
|
5483 |
+
"reference": "0dd93f2c578bdc9c72697eaa5f1dd25644e618d3",
|
5484 |
+
"shasum": ""
|
5485 |
+
},
|
5486 |
+
"require": {
|
5487 |
+
"paragonie/random_compat": "~1.0|~2.0|~9.99",
|
5488 |
+
"php": ">=5.3.3"
|
5489 |
+
},
|
5490 |
+
"type": "library",
|
5491 |
+
"extra": {
|
5492 |
+
"branch-alias": {
|
5493 |
+
"dev-master": "1.18-dev"
|
5494 |
+
},
|
5495 |
+
"thanks": {
|
5496 |
+
"name": "symfony/polyfill",
|
5497 |
+
"url": "https://github.com/symfony/polyfill"
|
5498 |
+
}
|
5499 |
+
},
|
5500 |
+
"autoload": {
|
5501 |
+
"psr-4": {
|
5502 |
+
"Symfony\\Polyfill\\Php70\\": ""
|
5503 |
+
},
|
5504 |
+
"files": [
|
5505 |
+
"bootstrap.php"
|
5506 |
+
],
|
5507 |
+
"classmap": [
|
5508 |
+
"Resources/stubs"
|
5509 |
+
]
|
5510 |
+
},
|
5511 |
+
"notification-url": "https://packagist.org/downloads/",
|
5512 |
+
"license": [
|
5513 |
+
"MIT"
|
5514 |
+
],
|
5515 |
+
"authors": [
|
5516 |
+
{
|
5517 |
+
"name": "Nicolas Grekas",
|
5518 |
+
"email": "p@tchwork.com"
|
5519 |
+
},
|
5520 |
+
{
|
5521 |
+
"name": "Symfony Community",
|
5522 |
+
"homepage": "https://symfony.com/contributors"
|
5523 |
+
}
|
5524 |
+
],
|
5525 |
+
"description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
|
5526 |
+
"homepage": "https://symfony.com",
|
5527 |
+
"keywords": [
|
5528 |
+
"compatibility",
|
5529 |
+
"polyfill",
|
5530 |
+
"portable",
|
5531 |
+
"shim"
|
5532 |
+
],
|
5533 |
+
"funding": [
|
5534 |
+
{
|
5535 |
+
"url": "https://symfony.com/sponsor",
|
5536 |
+
"type": "custom"
|
5537 |
+
},
|
5538 |
+
{
|
5539 |
+
"url": "https://github.com/fabpot",
|
5540 |
+
"type": "github"
|
5541 |
+
},
|
5542 |
+
{
|
5543 |
+
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
5544 |
+
"type": "tidelift"
|
5545 |
+
}
|
5546 |
+
],
|
5547 |
+
"time": "2020-07-14T12:35:20+00:00"
|
5548 |
},
|
5549 |
{
|
5550 |
"name": "symfony/polyfill-php72",
|
5551 |
+
"version": "v1.18.0",
|
5552 |
"source": {
|
5553 |
"type": "git",
|
5554 |
"url": "https://github.com/symfony/polyfill-php72.git",
|
5555 |
+
"reference": "639447d008615574653fb3bc60d1986d7172eaae"
|
5556 |
},
|
5557 |
"dist": {
|
5558 |
"type": "zip",
|
5559 |
+
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/639447d008615574653fb3bc60d1986d7172eaae",
|
5560 |
+
"reference": "639447d008615574653fb3bc60d1986d7172eaae",
|
5561 |
"shasum": ""
|
5562 |
},
|
5563 |
"require": {
|
5566 |
"type": "library",
|
5567 |
"extra": {
|
5568 |
"branch-alias": {
|
5569 |
+
"dev-master": "1.18-dev"
|
5570 |
+
},
|
5571 |
+
"thanks": {
|
5572 |
+
"name": "symfony/polyfill",
|
5573 |
+
"url": "https://github.com/symfony/polyfill"
|
5574 |
}
|
5575 |
},
|
5576 |
"autoload": {
|
5617 |
"type": "tidelift"
|
5618 |
}
|
5619 |
],
|
5620 |
+
"time": "2020-07-14T12:35:20+00:00"
|
5621 |
},
|
5622 |
{
|
5623 |
"name": "symfony/process",
|
5757 |
},
|
5758 |
{
|
5759 |
"name": "vlucas/phpdotenv",
|
5760 |
+
"version": "v4.1.8",
|
5761 |
"source": {
|
5762 |
"type": "git",
|
5763 |
"url": "https://github.com/vlucas/phpdotenv.git",
|
5764 |
+
"reference": "572af79d913627a9d70374d27a6f5d689a35de32"
|
5765 |
},
|
5766 |
"dist": {
|
5767 |
"type": "zip",
|
5768 |
+
"url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/572af79d913627a9d70374d27a6f5d689a35de32",
|
5769 |
+
"reference": "572af79d913627a9d70374d27a6f5d689a35de32",
|
5770 |
"shasum": ""
|
5771 |
},
|
5772 |
"require": {
|
5773 |
"php": "^5.5.9 || ^7.0 || ^8.0",
|
5774 |
"phpoption/phpoption": "^1.7.3",
|
5775 |
+
"symfony/polyfill-ctype": "^1.17"
|
5776 |
},
|
5777 |
"require-dev": {
|
5778 |
"bamarni/composer-bin-plugin": "^1.4.1",
|
5827 |
"type": "tidelift"
|
5828 |
}
|
5829 |
],
|
5830 |
+
"time": "2020-07-14T19:22:52+00:00"
|
5831 |
},
|
5832 |
{
|
5833 |
"name": "vria/nodiacritic",
|
5879 |
},
|
5880 |
{
|
5881 |
"name": "webmozart/assert",
|
5882 |
+
"version": "1.9.1",
|
5883 |
"source": {
|
5884 |
"type": "git",
|
5885 |
"url": "https://github.com/webmozart/assert.git",
|
5886 |
+
"reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
|
5887 |
},
|
5888 |
"dist": {
|
5889 |
"type": "zip",
|
5890 |
+
"url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
|
5891 |
+
"reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
|
5892 |
"shasum": ""
|
5893 |
},
|
5894 |
"require": {
|
5895 |
+
"php": "^5.3.3 || ^7.0 || ^8.0",
|
5896 |
"symfony/polyfill-ctype": "^1.8"
|
5897 |
},
|
5898 |
"conflict": {
|
5924 |
"check",
|
5925 |
"validate"
|
5926 |
],
|
5927 |
+
"time": "2020-07-08T17:02:28+00:00"
|
5928 |
},
|
5929 |
{
|
5930 |
"name": "wp-cli/cache-command",
|
5931 |
+
"version": "v2.0.4",
|
5932 |
"source": {
|
5933 |
"type": "git",
|
5934 |
"url": "https://github.com/wp-cli/cache-command.git",
|
5935 |
+
"reference": "f6c2678c960b60bddaded01d5a33eb0a012451f6"
|
5936 |
},
|
5937 |
"dist": {
|
5938 |
"type": "zip",
|
5939 |
+
"url": "https://api.github.com/repos/wp-cli/cache-command/zipball/f6c2678c960b60bddaded01d5a33eb0a012451f6",
|
5940 |
+
"reference": "f6c2678c960b60bddaded01d5a33eb0a012451f6",
|
5941 |
"shasum": ""
|
5942 |
},
|
5943 |
"require": {
|
5993 |
],
|
5994 |
"description": "Manages object and transient caches.",
|
5995 |
"homepage": "https://github.com/wp-cli/cache-command",
|
5996 |
+
"time": "2020-06-12T00:17:09+00:00"
|
5997 |
},
|
5998 |
{
|
5999 |
"name": "wp-cli/checksum-command",
|
6000 |
+
"version": "v2.0.4",
|
6001 |
"source": {
|
6002 |
"type": "git",
|
6003 |
"url": "https://github.com/wp-cli/checksum-command.git",
|
6004 |
+
"reference": "6b2648b01cd016044e2862afc96d3cb2028f2fee"
|
6005 |
},
|
6006 |
"dist": {
|
6007 |
"type": "zip",
|
6008 |
+
"url": "https://api.github.com/repos/wp-cli/checksum-command/zipball/6b2648b01cd016044e2862afc96d3cb2028f2fee",
|
6009 |
+
"reference": "6b2648b01cd016044e2862afc96d3cb2028f2fee",
|
6010 |
"shasum": ""
|
6011 |
},
|
6012 |
"require": {
|
6048 |
],
|
6049 |
"description": "Verifies file integrity by comparing to published checksums.",
|
6050 |
"homepage": "https://github.com/wp-cli/checksum-command",
|
6051 |
+
"time": "2020-06-10T13:24:38+00:00"
|
6052 |
},
|
6053 |
{
|
6054 |
"name": "wp-cli/config-command",
|
6055 |
+
"version": "v2.0.6",
|
6056 |
"source": {
|
6057 |
"type": "git",
|
6058 |
"url": "https://github.com/wp-cli/config-command.git",
|
6059 |
+
"reference": "f204bc62c557adb08f32a84683cc1dbfd23e6d96"
|
6060 |
},
|
6061 |
"dist": {
|
6062 |
"type": "zip",
|
6063 |
+
"url": "https://api.github.com/repos/wp-cli/config-command/zipball/f204bc62c557adb08f32a84683cc1dbfd23e6d96",
|
6064 |
+
"reference": "f204bc62c557adb08f32a84683cc1dbfd23e6d96",
|
6065 |
"shasum": ""
|
6066 |
},
|
6067 |
"require": {
|
6117 |
],
|
6118 |
"description": "Generates and reads the wp-config.php file.",
|
6119 |
"homepage": "https://github.com/wp-cli/config-command",
|
6120 |
+
"time": "2020-06-11T00:17:12+00:00"
|
6121 |
},
|
6122 |
{
|
6123 |
"name": "wp-cli/core-command",
|
6124 |
+
"version": "v2.0.10",
|
6125 |
"source": {
|
6126 |
"type": "git",
|
6127 |
"url": "https://github.com/wp-cli/core-command.git",
|
6128 |
+
"reference": "a2eb072919b252b3c8859f4c9b68fdbb9601099d"
|
6129 |
},
|
6130 |
"dist": {
|
6131 |
"type": "zip",
|
6132 |
+
"url": "https://api.github.com/repos/wp-cli/core-command/zipball/a2eb072919b252b3c8859f4c9b68fdbb9601099d",
|
6133 |
+
"reference": "a2eb072919b252b3c8859f4c9b68fdbb9601099d",
|
6134 |
"shasum": ""
|
6135 |
},
|
6136 |
"require": {
|
6137 |
+
"composer/semver": "^1.4 || ^2 || ^3",
|
6138 |
"wp-cli/wp-cli": "^2.4"
|
6139 |
},
|
6140 |
"require-dev": {
|
6184 |
],
|
6185 |
"description": "Downloads, installs, updates, and manages a WordPress installation.",
|
6186 |
"homepage": "https://github.com/wp-cli/core-command",
|
6187 |
+
"time": "2020-07-05T13:48:05+00:00"
|
6188 |
},
|
6189 |
{
|
6190 |
"name": "wp-cli/cron-command",
|
6191 |
+
"version": "v2.0.5",
|
6192 |
"source": {
|
6193 |
"type": "git",
|
6194 |
"url": "https://github.com/wp-cli/cron-command.git",
|
6195 |
+
"reference": "f4e1d02642fc56d84504dd012aeb64adee0aae8c"
|
6196 |
},
|
6197 |
"dist": {
|
6198 |
"type": "zip",
|
6199 |
+
"url": "https://api.github.com/repos/wp-cli/cron-command/zipball/f4e1d02642fc56d84504dd012aeb64adee0aae8c",
|
6200 |
+
"reference": "f4e1d02642fc56d84504dd012aeb64adee0aae8c",
|
6201 |
"shasum": ""
|
6202 |
},
|
6203 |
"require": {
|
6247 |
],
|
6248 |
"description": "Tests, runs, and deletes WP-Cron events; manages WP-Cron schedules.",
|
6249 |
"homepage": "https://github.com/wp-cli/cron-command",
|
6250 |
+
"time": "2020-07-04T07:16:56+00:00"
|
6251 |
},
|
6252 |
{
|
6253 |
"name": "wp-cli/db-command",
|
6254 |
+
"version": "v2.0.9",
|
6255 |
"source": {
|
6256 |
"type": "git",
|
6257 |
"url": "https://github.com/wp-cli/db-command.git",
|
6258 |
+
"reference": "05c4765f39644ffd90728cd7dd2cfdf7b8d2d9da"
|
6259 |
},
|
6260 |
"dist": {
|
6261 |
"type": "zip",
|
6262 |
+
"url": "https://api.github.com/repos/wp-cli/db-command/zipball/05c4765f39644ffd90728cd7dd2cfdf7b8d2d9da",
|
6263 |
+
"reference": "05c4765f39644ffd90728cd7dd2cfdf7b8d2d9da",
|
6264 |
"shasum": ""
|
6265 |
},
|
6266 |
"require": {
|
6317 |
],
|
6318 |
"description": "Performs basic database operations using credentials stored in wp-config.php.",
|
6319 |
"homepage": "https://github.com/wp-cli/db-command",
|
6320 |
+
"time": "2020-06-11T00:17:12+00:00"
|
6321 |
},
|
6322 |
{
|
6323 |
"name": "wp-cli/embed-command",
|
6324 |
+
"version": "v2.0.6",
|
6325 |
"source": {
|
6326 |
"type": "git",
|
6327 |
"url": "https://github.com/wp-cli/embed-command.git",
|
6328 |
+
"reference": "7186d8f969de31324dd2b54a18e5718f2c5db3e5"
|
6329 |
},
|
6330 |
"dist": {
|
6331 |
"type": "zip",
|
6332 |
+
"url": "https://api.github.com/repos/wp-cli/embed-command/zipball/7186d8f969de31324dd2b54a18e5718f2c5db3e5",
|
6333 |
+
"reference": "7186d8f969de31324dd2b54a18e5718f2c5db3e5",
|
6334 |
"shasum": ""
|
6335 |
},
|
6336 |
"require": {
|
6380 |
],
|
6381 |
"description": "Inspects oEmbed providers, clears embed cache, and more.",
|
6382 |
"homepage": "https://github.com/wp-cli/embed-command",
|
6383 |
+
"time": "2020-07-05T19:16:43+00:00"
|
6384 |
},
|
6385 |
{
|
6386 |
"name": "wp-cli/entity-command",
|
6387 |
+
"version": "v2.0.9",
|
6388 |
"source": {
|
6389 |
"type": "git",
|
6390 |
"url": "https://github.com/wp-cli/entity-command.git",
|
6391 |
+
"reference": "39fcea433182d21d5d9e291cf5df32a771cc6d11"
|
6392 |
},
|
6393 |
"dist": {
|
6394 |
"type": "zip",
|
6395 |
+
"url": "https://api.github.com/repos/wp-cli/entity-command/zipball/39fcea433182d21d5d9e291cf5df32a771cc6d11",
|
6396 |
+
"reference": "39fcea433182d21d5d9e291cf5df32a771cc6d11",
|
6397 |
"shasum": ""
|
6398 |
},
|
6399 |
"require": {
|
6400 |
+
"wp-cli/wp-cli": "dev-master"
|
6401 |
},
|
6402 |
"require-dev": {
|
6403 |
"wp-cli/cache-command": "^1 || ^2",
|
6586 |
],
|
6587 |
"description": "Manage WordPress comments, menus, options, posts, sites, terms, and users.",
|
6588 |
"homepage": "https://github.com/wp-cli/entity-command",
|
6589 |
+
"time": "2020-07-05T11:27:27+00:00"
|
6590 |
},
|
6591 |
{
|
6592 |
"name": "wp-cli/eval-command",
|
6593 |
+
"version": "v2.0.7",
|
6594 |
"source": {
|
6595 |
"type": "git",
|
6596 |
"url": "https://github.com/wp-cli/eval-command.git",
|
6597 |
+
"reference": "390627d0cb5d991ad341c367de1e8e4534edc5ad"
|
6598 |
},
|
6599 |
"dist": {
|
6600 |
"type": "zip",
|
6601 |
+
"url": "https://api.github.com/repos/wp-cli/eval-command/zipball/390627d0cb5d991ad341c367de1e8e4534edc5ad",
|
6602 |
+
"reference": "390627d0cb5d991ad341c367de1e8e4534edc5ad",
|
6603 |
"shasum": ""
|
6604 |
},
|
6605 |
"require": {
|
6640 |
],
|
6641 |
"description": "Executes arbitrary PHP code or files.",
|
6642 |
"homepage": "https://github.com/wp-cli/eval-command",
|
6643 |
+
"time": "2020-06-13T00:17:03+00:00"
|
6644 |
},
|
6645 |
{
|
6646 |
"name": "wp-cli/export-command",
|
6647 |
+
"version": "v2.0.4",
|
6648 |
"source": {
|
6649 |
"type": "git",
|
6650 |
"url": "https://github.com/wp-cli/export-command.git",
|
6651 |
+
"reference": "d1b280be8a7d806e345bb4c6965bc85ef0a8bb8a"
|
6652 |
},
|
6653 |
"dist": {
|
6654 |
"type": "zip",
|
6655 |
+
"url": "https://api.github.com/repos/wp-cli/export-command/zipball/d1b280be8a7d806e345bb4c6965bc85ef0a8bb8a",
|
6656 |
+
"reference": "d1b280be8a7d806e345bb4c6965bc85ef0a8bb8a",
|
6657 |
"shasum": ""
|
6658 |
},
|
6659 |
"require": {
|
6698 |
],
|
6699 |
"description": "Exports WordPress content to a WXR file.",
|
6700 |
"homepage": "https://github.com/wp-cli/export-command",
|
6701 |
+
"time": "2020-06-13T00:17:03+00:00"
|
6702 |
},
|
6703 |
{
|
6704 |
"name": "wp-cli/extension-command",
|
6705 |
+
"version": "v2.0.11",
|
6706 |
"source": {
|
6707 |
"type": "git",
|
6708 |
"url": "https://github.com/wp-cli/extension-command.git",
|
6709 |
+
"reference": "a0c97ca7e7d449f5dba21beeb711e6b097f6911d"
|
6710 |
},
|
6711 |
"dist": {
|
6712 |
"type": "zip",
|
6713 |
+
"url": "https://api.github.com/repos/wp-cli/extension-command/zipball/a0c97ca7e7d449f5dba21beeb711e6b097f6911d",
|
6714 |
+
"reference": "a0c97ca7e7d449f5dba21beeb711e6b097f6911d",
|
6715 |
"shasum": ""
|
6716 |
},
|
6717 |
"require": {
|
6718 |
+
"composer/semver": "^1.4 || ^2 || ^3",
|
6719 |
+
"wp-cli/wp-cli": "dev-master"
|
6720 |
},
|
6721 |
"require-dev": {
|
6722 |
"wp-cli/entity-command": "^1.3 || ^2",
|
6790 |
],
|
6791 |
"description": "Manages plugins and themes, including installs, activations, and updates.",
|
6792 |
"homepage": "https://github.com/wp-cli/extension-command",
|
6793 |
+
"time": "2020-07-05T19:17:08+00:00"
|
6794 |
},
|
6795 |
{
|
6796 |
"name": "wp-cli/i18n-command",
|
6797 |
+
"version": "v2.2.5",
|
6798 |
"source": {
|
6799 |
"type": "git",
|
6800 |
"url": "https://github.com/wp-cli/i18n-command.git",
|
6801 |
+
"reference": "b02ecdc9a57f9633740c254d19749118b7411f0f"
|
6802 |
},
|
6803 |
"dist": {
|
6804 |
"type": "zip",
|
6805 |
+
"url": "https://api.github.com/repos/wp-cli/i18n-command/zipball/b02ecdc9a57f9633740c254d19749118b7411f0f",
|
6806 |
+
"reference": "b02ecdc9a57f9633740c254d19749118b7411f0f",
|
6807 |
"shasum": ""
|
6808 |
},
|
6809 |
"require": {
|
6847 |
],
|
6848 |
"description": "Provides internationalization tools for WordPress projects.",
|
6849 |
"homepage": "https://github.com/wp-cli/i18n-command",
|
6850 |
+
"time": "2020-07-08T15:20:38+00:00"
|
6851 |
},
|
6852 |
{
|
6853 |
"name": "wp-cli/import-command",
|
6854 |
+
"version": "v2.0.3",
|
6855 |
"source": {
|
6856 |
"type": "git",
|
6857 |
"url": "https://github.com/wp-cli/import-command.git",
|
6858 |
+
"reference": "5c5762401b570b95a61152411c4120cd69419001"
|
6859 |
},
|
6860 |
"dist": {
|
6861 |
"type": "zip",
|
6862 |
+
"url": "https://api.github.com/repos/wp-cli/import-command/zipball/5c5762401b570b95a61152411c4120cd69419001",
|
6863 |
+
"reference": "5c5762401b570b95a61152411c4120cd69419001",
|
6864 |
"shasum": ""
|
6865 |
},
|
6866 |
"require": {
|
6903 |
],
|
6904 |
"description": "Imports content from a given WXR file.",
|
6905 |
"homepage": "https://github.com/wp-cli/import-command",
|
6906 |
+
"time": "2020-06-11T00:17:12+00:00"
|
6907 |
},
|
6908 |
{
|
6909 |
"name": "wp-cli/language-command",
|
6910 |
+
"version": "v2.0.6",
|
6911 |
"source": {
|
6912 |
"type": "git",
|
6913 |
"url": "https://github.com/wp-cli/language-command.git",
|
6914 |
+
"reference": "569be810e057cf9df7d7924e62ebe569e440f6b1"
|
6915 |
},
|
6916 |
"dist": {
|
6917 |
"type": "zip",
|
6918 |
+
"url": "https://api.github.com/repos/wp-cli/language-command/zipball/569be810e057cf9df7d7924e62ebe569e440f6b1",
|
6919 |
+
"reference": "569be810e057cf9df7d7924e62ebe569e440f6b1",
|
6920 |
"shasum": ""
|
6921 |
},
|
6922 |
"require": {
|
6978 |
],
|
6979 |
"description": "Installs, activates, and manages language packs.",
|
6980 |
"homepage": "https://github.com/wp-cli/language-command",
|
6981 |
+
"time": "2020-06-12T00:17:09+00:00"
|
6982 |
},
|
6983 |
{
|
6984 |
"name": "wp-cli/maintenance-mode-command",
|
6985 |
+
"version": "v2.0.3",
|
6986 |
"source": {
|
6987 |
"type": "git",
|
6988 |
"url": "https://github.com/wp-cli/maintenance-mode-command.git",
|
6989 |
+
"reference": "5409778b62daf93e2192f43e2774c5d263d7297d"
|
6990 |
},
|
6991 |
"dist": {
|
6992 |
"type": "zip",
|
6993 |
+
"url": "https://api.github.com/repos/wp-cli/maintenance-mode-command/zipball/5409778b62daf93e2192f43e2774c5d263d7297d",
|
6994 |
+
"reference": "5409778b62daf93e2192f43e2774c5d263d7297d",
|
6995 |
"shasum": ""
|
6996 |
},
|
6997 |
"require": {
|
7035 |
],
|
7036 |
"description": "Activates, deactivates or checks the status of the maintenance mode of a site.",
|
7037 |
"homepage": "https://github.com/wp-cli/maintenance-mode-command",
|
7038 |
+
"time": "2020-06-11T00:17:12+00:00"
|
7039 |
},
|
7040 |
{
|
7041 |
"name": "wp-cli/media-command",
|
7042 |
+
"version": "v2.0.9",
|
7043 |
"source": {
|
7044 |
"type": "git",
|
7045 |
"url": "https://github.com/wp-cli/media-command.git",
|
7046 |
+
"reference": "830e72a2cbd3eeec95a97df2c1c17d925d86790d"
|
7047 |
},
|
7048 |
"dist": {
|
7049 |
"type": "zip",
|
7050 |
+
"url": "https://api.github.com/repos/wp-cli/media-command/zipball/830e72a2cbd3eeec95a97df2c1c17d925d86790d",
|
7051 |
+
"reference": "830e72a2cbd3eeec95a97df2c1c17d925d86790d",
|
7052 |
"shasum": ""
|
7053 |
},
|
7054 |
"require": {
|
7093 |
],
|
7094 |
"description": "Imports files as attachments, regenerates thumbnails, or lists registered image sizes.",
|
7095 |
"homepage": "https://github.com/wp-cli/media-command",
|
7096 |
+
"time": "2020-06-11T00:17:12+00:00"
|
7097 |
},
|
7098 |
{
|
7099 |
"name": "wp-cli/mustangostang-spyc",
|
7145 |
},
|
7146 |
{
|
7147 |
"name": "wp-cli/package-command",
|
7148 |
+
"version": "v2.0.7",
|
7149 |
"source": {
|
7150 |
"type": "git",
|
7151 |
"url": "https://github.com/wp-cli/package-command.git",
|
7152 |
+
"reference": "b36bfb1125d2f8489f06ce738256f253c99d98ec"
|
7153 |
},
|
7154 |
"dist": {
|
7155 |
"type": "zip",
|
7156 |
+
"url": "https://api.github.com/repos/wp-cli/package-command/zipball/b36bfb1125d2f8489f06ce738256f253c99d98ec",
|
7157 |
+
"reference": "b36bfb1125d2f8489f06ce738256f253c99d98ec",
|
7158 |
"shasum": ""
|
7159 |
},
|
7160 |
"require": {
|
7161 |
"composer/composer": ">=1.2.0 <1.7.0 || ^1.7.1",
|
7162 |
"ext-json": "*",
|
7163 |
+
"wp-cli/wp-cli": "dev-master"
|
7164 |
},
|
7165 |
"require-dev": {
|
7166 |
"wp-cli/scaffold-command": "^1 || ^2",
|
7202 |
],
|
7203 |
"description": "Lists, installs, and removes WP-CLI packages.",
|
7204 |
"homepage": "https://github.com/wp-cli/package-command",
|
7205 |
+
"time": "2020-06-13T00:17:03+00:00"
|
7206 |
},
|
7207 |
{
|
7208 |
"name": "wp-cli/php-cli-tools",
|
7256 |
},
|
7257 |
{
|
7258 |
"name": "wp-cli/rewrite-command",
|
7259 |
+
"version": "v2.0.5",
|
7260 |
"source": {
|
7261 |
"type": "git",
|
7262 |
"url": "https://github.com/wp-cli/rewrite-command.git",
|
7263 |
+
"reference": "5115c82d6c339ac783d5ee9c7d3ce2949ac25a4b"
|
7264 |
},
|
7265 |
"dist": {
|
7266 |
"type": "zip",
|
7267 |
+
"url": "https://api.github.com/repos/wp-cli/rewrite-command/zipball/5115c82d6c339ac783d5ee9c7d3ce2949ac25a4b",
|
7268 |
+
"reference": "5115c82d6c339ac783d5ee9c7d3ce2949ac25a4b",
|
7269 |
"shasum": ""
|
7270 |
},
|
7271 |
"require": {
|
7309 |
],
|
7310 |
"description": "Lists or flushes the site's rewrite rules, updates the permalink structure.",
|
7311 |
"homepage": "https://github.com/wp-cli/rewrite-command",
|
7312 |
+
"time": "2020-06-12T00:17:09+00:00"
|
7313 |
},
|
7314 |
{
|
7315 |
"name": "wp-cli/role-command",
|
7316 |
+
"version": "v2.0.4",
|
7317 |
"source": {
|
7318 |
"type": "git",
|
7319 |
"url": "https://github.com/wp-cli/role-command.git",
|
7320 |
+
"reference": "9f2172988dee5bbeb98e54f291254bee94a556a6"
|
7321 |
},
|
7322 |
"dist": {
|
7323 |
"type": "zip",
|
7324 |
+
"url": "https://api.github.com/repos/wp-cli/role-command/zipball/9f2172988dee5bbeb98e54f291254bee94a556a6",
|
7325 |
+
"reference": "9f2172988dee5bbeb98e54f291254bee94a556a6",
|
7326 |
"shasum": ""
|
7327 |
},
|
7328 |
"require": {
|
7371 |
],
|
7372 |
"description": "Adds, removes, lists, and resets roles and capabilities.",
|
7373 |
"homepage": "https://github.com/wp-cli/role-command",
|
7374 |
+
"time": "2020-06-11T00:17:12+00:00"
|
7375 |
},
|
7376 |
{
|
7377 |
"name": "wp-cli/scaffold-command",
|
7378 |
+
"version": "v2.0.10",
|
7379 |
"source": {
|
7380 |
"type": "git",
|
7381 |
"url": "https://github.com/wp-cli/scaffold-command.git",
|
7382 |
+
"reference": "4ce62ca2e8df6ba0d49ce89c1f945f4827ce9344"
|
7383 |
},
|
7384 |
"dist": {
|
7385 |
"type": "zip",
|
7386 |
+
"url": "https://api.github.com/repos/wp-cli/scaffold-command/zipball/4ce62ca2e8df6ba0d49ce89c1f945f4827ce9344",
|
7387 |
+
"reference": "4ce62ca2e8df6ba0d49ce89c1f945f4827ce9344",
|
7388 |
"shasum": ""
|
7389 |
},
|
7390 |
"require": {
|
7391 |
+
"php": "^5.6 || ^7.0",
|
7392 |
"wp-cli/wp-cli": "dev-master"
|
7393 |
},
|
7394 |
"require-dev": {
|
7434 |
],
|
7435 |
"description": "Generates code for post types, taxonomies, blocks, plugins, child themes, etc.",
|
7436 |
"homepage": "https://github.com/wp-cli/scaffold-command",
|
7437 |
+
"time": "2020-07-04T07:42:02+00:00"
|
7438 |
},
|
7439 |
{
|
7440 |
"name": "wp-cli/search-replace-command",
|
7441 |
+
"version": "v2.0.7",
|
7442 |
"source": {
|
7443 |
"type": "git",
|
7444 |
"url": "https://github.com/wp-cli/search-replace-command.git",
|
7445 |
+
"reference": "1104e4fb7dd83e85dedb8a98ed8f0ac30639694b"
|
7446 |
},
|
7447 |
"dist": {
|
7448 |
"type": "zip",
|
7449 |
+
"url": "https://api.github.com/repos/wp-cli/search-replace-command/zipball/1104e4fb7dd83e85dedb8a98ed8f0ac30639694b",
|
7450 |
+
"reference": "1104e4fb7dd83e85dedb8a98ed8f0ac30639694b",
|
7451 |
"shasum": ""
|
7452 |
},
|
7453 |
"require": {
|
7490 |
],
|
7491 |
"description": "Searches/replaces strings in the database.",
|
7492 |
"homepage": "https://github.com/wp-cli/search-replace-command",
|
7493 |
+
"time": "2020-06-10T13:24:39+00:00"
|
7494 |
},
|
7495 |
{
|
7496 |
"name": "wp-cli/server-command",
|
7497 |
+
"version": "v2.0.5",
|
7498 |
"source": {
|
7499 |
"type": "git",
|
7500 |
"url": "https://github.com/wp-cli/server-command.git",
|
7501 |
+
"reference": "945b6843d9f130c378869e3277a33af3fceea78d"
|
7502 |
},
|
7503 |
"dist": {
|
7504 |
"type": "zip",
|
7505 |
+
"url": "https://api.github.com/repos/wp-cli/server-command/zipball/945b6843d9f130c378869e3277a33af3fceea78d",
|
7506 |
+
"reference": "945b6843d9f130c378869e3277a33af3fceea78d",
|
7507 |
"shasum": ""
|
7508 |
},
|
7509 |
"require": {
|
7543 |
],
|
7544 |
"description": "Launches PHP's built-in web server for a specific WordPress installation.",
|
7545 |
"homepage": "https://github.com/wp-cli/server-command",
|
7546 |
+
"time": "2020-06-16T00:17:21+00:00"
|
7547 |
},
|
7548 |
{
|
7549 |
"name": "wp-cli/shell-command",
|
7550 |
+
"version": "v2.0.5",
|
7551 |
"source": {
|
7552 |
"type": "git",
|
7553 |
"url": "https://github.com/wp-cli/shell-command.git",
|
7554 |
+
"reference": "f655611701ed331c336932091860e66839a535f3"
|
7555 |
},
|
7556 |
"dist": {
|
7557 |
"type": "zip",
|
7558 |
+
"url": "https://api.github.com/repos/wp-cli/shell-command/zipball/f655611701ed331c336932091860e66839a535f3",
|
7559 |
+
"reference": "f655611701ed331c336932091860e66839a535f3",
|
7560 |
"shasum": ""
|
7561 |
},
|
7562 |
"require": {
|
7597 |
],
|
7598 |
"description": "Opens an interactive PHP console for running and testing PHP code.",
|
7599 |
"homepage": "https://github.com/wp-cli/shell-command",
|
7600 |
+
"time": "2020-06-12T00:17:09+00:00"
|
7601 |
},
|
7602 |
{
|
7603 |
"name": "wp-cli/super-admin-command",
|
7604 |
+
"version": "v2.0.4",
|
7605 |
"source": {
|
7606 |
"type": "git",
|
7607 |
"url": "https://github.com/wp-cli/super-admin-command.git",
|
7608 |
+
"reference": "a4b93491afb74a7e4836ab4ab5c2d8c42fa5e3d1"
|
7609 |
},
|
7610 |
"dist": {
|
7611 |
"type": "zip",
|
7612 |
+
"url": "https://api.github.com/repos/wp-cli/super-admin-command/zipball/a4b93491afb74a7e4836ab4ab5c2d8c42fa5e3d1",
|
7613 |
+
"reference": "a4b93491afb74a7e4836ab4ab5c2d8c42fa5e3d1",
|
7614 |
"shasum": ""
|
7615 |
},
|
7616 |
"require": {
|
7654 |
],
|
7655 |
"description": "Lists, adds, or removes super admin users on a multisite installation.",
|
7656 |
"homepage": "https://github.com/wp-cli/super-admin-command",
|
7657 |
+
"time": "2020-06-10T13:24:39+00:00"
|
7658 |
},
|
7659 |
{
|
7660 |
"name": "wp-cli/widget-command",
|
7661 |
+
"version": "v2.1.1",
|
7662 |
"source": {
|
7663 |
"type": "git",
|
7664 |
"url": "https://github.com/wp-cli/widget-command.git",
|
7665 |
+
"reference": "1ba59443fc07608450155c7770fe459ddfbc412f"
|
7666 |
},
|
7667 |
"dist": {
|
7668 |
"type": "zip",
|
7669 |
+
"url": "https://api.github.com/repos/wp-cli/widget-command/zipball/1ba59443fc07608450155c7770fe459ddfbc412f",
|
7670 |
+
"reference": "1ba59443fc07608450155c7770fe459ddfbc412f",
|
7671 |
"shasum": ""
|
7672 |
},
|
7673 |
"require": {
|
7717 |
],
|
7718 |
"description": "Adds, moves, and removes widgets; lists sidebars.",
|
7719 |
"homepage": "https://github.com/wp-cli/widget-command",
|
7720 |
+
"time": "2020-06-16T00:17:21+00:00"
|
7721 |
},
|
7722 |
{
|
7723 |
"name": "wp-cli/wp-cli",
|
7725 |
"source": {
|
7726 |
"type": "git",
|
7727 |
"url": "https://github.com/wp-cli/wp-cli.git",
|
7728 |
+
"reference": "49c3cba49ecd40cfac75f30d4e5be996c0b120be"
|
7729 |
},
|
7730 |
"dist": {
|
7731 |
"type": "zip",
|
7732 |
+
"url": "https://api.github.com/repos/wp-cli/wp-cli/zipball/49c3cba49ecd40cfac75f30d4e5be996c0b120be",
|
7733 |
+
"reference": "49c3cba49ecd40cfac75f30d4e5be996c0b120be",
|
7734 |
"shasum": ""
|
7735 |
},
|
7736 |
"require": {
|
7748 |
"wp-cli/entity-command": "^1.2 || ^2",
|
7749 |
"wp-cli/extension-command": "^1.1 || ^2",
|
7750 |
"wp-cli/package-command": "^1 || ^2",
|
7751 |
+
"wp-cli/wp-cli-tests": "^2.1.14"
|
7752 |
},
|
7753 |
"suggest": {
|
7754 |
"ext-readline": "Include for a better --prompt implementation",
|
7783 |
"cli",
|
7784 |
"wordpress"
|
7785 |
],
|
7786 |
+
"time": "2020-07-05T21:55:14+00:00"
|
7787 |
},
|
7788 |
{
|
7789 |
"name": "wp-cli/wp-cli-bundle",
|
7857 |
},
|
7858 |
{
|
7859 |
"name": "wp-cli/wp-config-transformer",
|
7860 |
+
"version": "v1.2.7",
|
7861 |
"source": {
|
7862 |
"type": "git",
|
7863 |
"url": "https://github.com/wp-cli/wp-config-transformer.git",
|
7864 |
+
"reference": "bae1e975ed1277470e3dcc7fd0ef99c2d4f4c7a8"
|
7865 |
},
|
7866 |
"dist": {
|
7867 |
"type": "zip",
|
7868 |
+
"url": "https://api.github.com/repos/wp-cli/wp-config-transformer/zipball/bae1e975ed1277470e3dcc7fd0ef99c2d4f4c7a8",
|
7869 |
+
"reference": "bae1e975ed1277470e3dcc7fd0ef99c2d4f4c7a8",
|
7870 |
"shasum": ""
|
7871 |
},
|
7872 |
"require": {
|
7874 |
},
|
7875 |
"require-dev": {
|
7876 |
"composer/composer": "^1.5.6",
|
7877 |
+
"phpunit/phpunit": "^6.5.5 || ^7.0.0",
|
7878 |
"wp-coding-standards/wpcs": "^0.14.0 || ^1.0.0 || ^2.0.0"
|
7879 |
},
|
7880 |
"type": "library",
|
7894 |
}
|
7895 |
],
|
7896 |
"description": "Programmatically edit a wp-config.php file.",
|
7897 |
+
"time": "2020-07-05T12:30:35+00:00"
|
7898 |
},
|
7899 |
{
|
7900 |
"name": "wp-coding-standards/wpcs",
|
8765 |
},
|
8766 |
{
|
8767 |
"name": "wpdesk/wp-wpdesk-tracker-user-feedback",
|
8768 |
+
"version": "1.0.0",
|
8769 |
"source": {
|
8770 |
"type": "git",
|
8771 |
"url": "https://gitlab.com/wpdesk/wp-wpdesk-tracker-user-feedback.git",
|
8772 |
+
"reference": "02a6d77dc89a16079e4f0678cbc399d25be6b361"
|
8773 |
},
|
8774 |
"dist": {
|
8775 |
"type": "zip",
|
8776 |
+
"url": "https://gitlab.com/api/v4/projects/wpdesk%2Fwp-wpdesk-tracker-user-feedback/repository/archive.zip?sha=02a6d77dc89a16079e4f0678cbc399d25be6b361",
|
8777 |
+
"reference": "02a6d77dc89a16079e4f0678cbc399d25be6b361",
|
8778 |
"shasum": ""
|
8779 |
},
|
8780 |
"require": {
|
8814 |
"email": "grzegorz@wpdesk.pl"
|
8815 |
}
|
8816 |
],
|
8817 |
+
"time": "2020-07-20T12:34:07+00:00"
|
8818 |
},
|
8819 |
{
|
8820 |
"name": "zordius/lightncandy",
|
flexible-shipping.php
CHANGED
@@ -3,14 +3,14 @@
|
|
3 |
* Plugin Name: Flexible Shipping
|
4 |
* Plugin URI: https://wordpress.org/plugins/flexible-shipping/
|
5 |
* Description: Create additional shipment methods in WooCommerce and enable pricing based on cart weight or total.
|
6 |
-
* Version: 3.
|
7 |
* Author: WP Desk
|
8 |
* Author URI: https://www.wpdesk.net/
|
9 |
* Text Domain: flexible-shipping
|
10 |
* Domain Path: /lang/
|
11 |
* Requires at least: 4.5
|
12 |
* Tested up to: 5.4.2
|
13 |
-
* WC requires at least:
|
14 |
* WC tested up to: 4.4
|
15 |
* Requires PHP: 5.6
|
16 |
*
|
@@ -38,7 +38,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
38 |
} // Exit if accessed directly
|
39 |
|
40 |
/* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
|
41 |
-
$plugin_version = '3.
|
42 |
|
43 |
$plugin_name = 'Flexible Shipping';
|
44 |
$product_id = 'Flexible Shipping';
|
3 |
* Plugin Name: Flexible Shipping
|
4 |
* Plugin URI: https://wordpress.org/plugins/flexible-shipping/
|
5 |
* Description: Create additional shipment methods in WooCommerce and enable pricing based on cart weight or total.
|
6 |
+
* Version: 3.11.0
|
7 |
* Author: WP Desk
|
8 |
* Author URI: https://www.wpdesk.net/
|
9 |
* Text Domain: flexible-shipping
|
10 |
* Domain Path: /lang/
|
11 |
* Requires at least: 4.5
|
12 |
* Tested up to: 5.4.2
|
13 |
+
* WC requires at least: 4.0
|
14 |
* WC tested up to: 4.4
|
15 |
* Requires PHP: 5.6
|
16 |
*
|
38 |
} // Exit if accessed directly
|
39 |
|
40 |
/* THIS VARIABLE CAN BE CHANGED AUTOMATICALLY */
|
41 |
+
$plugin_version = '3.11.0';
|
42 |
|
43 |
$plugin_name = 'Flexible Shipping';
|
44 |
$product_id = 'Flexible Shipping';
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://flexibleshipping.com/table-rate/
|
|
4 |
Tags: table rate, table rate shipping, conditional shipping, shipping method, woocommerce shipping, flexible shipping, woocommerce table rate shipping, cart based shipping, weight shipping, weight based shipping, totals based shipping, order based shipping, shipping zones, shipping classes, shipping, free shipping, advanced shipping
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.4.2
|
7 |
-
Stable tag: 3.
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
@@ -163,6 +163,9 @@ If you are upgrading from the old Flexible Shipping version (1.3.2, woo-flexible
|
|
163 |
|
164 |
== Changelog ==
|
165 |
|
|
|
|
|
|
|
166 |
= 3.10.0 - 2020-07-15 =
|
167 |
* Added ability to test New Table Interface
|
168 |
|
4 |
Tags: table rate, table rate shipping, conditional shipping, shipping method, woocommerce shipping, flexible shipping, woocommerce table rate shipping, cart based shipping, weight shipping, weight based shipping, totals based shipping, order based shipping, shipping zones, shipping classes, shipping, free shipping, advanced shipping
|
5 |
Requires at least: 4.5
|
6 |
Tested up to: 5.4.2
|
7 |
+
Stable tag: 3.11.0
|
8 |
Requires PHP: 5.6
|
9 |
License: GPLv3 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
163 |
|
164 |
== Changelog ==
|
165 |
|
166 |
+
= 3.11.0 - 2020-07-30 =
|
167 |
+
* Added ability to open shipment label in new tab - works with some integrations
|
168 |
+
|
169 |
= 3.10.0 - 2020-07-15 =
|
170 |
* Added ability to test New Table Interface
|
171 |
|
src/WPDesk/FS/Helpers/ShippingMethod.php
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Helpers for Shipping method.
|
4 |
+
*
|
5 |
+
* @package WPDesk\FS\TableRate\NewRulesTablePointer
|
6 |
+
*/
|
7 |
+
|
8 |
+
namespace WPDesk\FS\Helpers;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Collection of helpers for Shipping method.
|
12 |
+
*/
|
13 |
+
class ShippingMethod {
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Pattern of option with Flexible Shipping methods.
|
17 |
+
*
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
const FS_METHODS_OPTION_PREFIX = 'flexible_shipping_methods_%d';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Checks if there are Flexible Shipping methods in the Shipping Zones.
|
24 |
+
*
|
25 |
+
* @param string $method_name Name of Shipping method.
|
26 |
+
*
|
27 |
+
* @return bool Status.
|
28 |
+
*/
|
29 |
+
public static function check_if_method_exists_in_zones( $method_name ) {
|
30 |
+
$zones = \WC_Shipping_Zones::get_zones();
|
31 |
+
foreach ( $zones as $zone ) {
|
32 |
+
$zone_instance = \WC_Shipping_Zones::get_zone( $zone['zone_id'] );
|
33 |
+
|
34 |
+
if ( self::check_if_method_exists_in_zone( $method_name, $zone_instance ) === true ) {
|
35 |
+
return true;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
return false;
|
40 |
+
}
|
41 |
+
|
42 |
+
/**
|
43 |
+
* Checks if there are Flexible Shipping methods in the Shipping Zone.
|
44 |
+
*
|
45 |
+
* @param string $method_name Name of Shipping method.
|
46 |
+
* @param \WC_Shipping_Zone $zone_instance Instance of Shipping Zone.
|
47 |
+
*
|
48 |
+
* @return bool Status.
|
49 |
+
*/
|
50 |
+
private static function check_if_method_exists_in_zone( $method_name, $zone_instance ) {
|
51 |
+
$zone_methods = $zone_instance->get_shipping_methods();
|
52 |
+
foreach ( $zone_methods as $zone_method ) {
|
53 |
+
if ( $zone_method->id !== $method_name ) {
|
54 |
+
continue;
|
55 |
+
}
|
56 |
+
|
57 |
+
$option_key = sprintf( self::FS_METHODS_OPTION_PREFIX, $zone_method->instance_id );
|
58 |
+
$shipping_methods = get_option( $option_key, array() );
|
59 |
+
if ( $shipping_methods ) {
|
60 |
+
return true;
|
61 |
+
}
|
62 |
+
}
|
63 |
+
|
64 |
+
return false;
|
65 |
+
}
|
66 |
+
|
67 |
+
}
|
src/WPDesk/FS/TableRate/NewRulesTablePointer/RulesPointerMessage.php
CHANGED
@@ -12,6 +12,9 @@ use FSVendor\WPDesk\Pointer\PointerConditions;
|
|
12 |
use FSVendor\WPDesk\Pointer\PointerMessage;
|
13 |
use FSVendor\WPDesk\Pointer\PointerPosition;
|
14 |
use FSVendor\WPDesk\Pointer\PointersScripts;
|
|
|
|
|
|
|
15 |
|
16 |
/**
|
17 |
* Can display new rules pointer message.
|
@@ -22,12 +25,6 @@ class RulesPointerMessage implements Hookable {
|
|
22 |
|
23 |
const NEW_RULES_TABLE_PARAMETER = 'new_rules_table';
|
24 |
|
25 |
-
/**
|
26 |
-
* Pattern of option with Flexible Shipping methods.
|
27 |
-
* @var string
|
28 |
-
*/
|
29 |
-
const FS_METHODS_OPTION_PREFIX = 'flexible_shipping_methods_%d';
|
30 |
-
|
31 |
/**
|
32 |
* @var RulesPointerOption
|
33 |
*/
|
@@ -36,7 +33,7 @@ class RulesPointerMessage implements Hookable {
|
|
36 |
/**
|
37 |
* RulesPointerMessage constructor.
|
38 |
*
|
39 |
-
* @param RulesPointerOption $rules_pointer_option .
|
40 |
*/
|
41 |
public function __construct( RulesPointerOption $rules_pointer_option ) {
|
42 |
$this->rules_pointer_option = $rules_pointer_option;
|
@@ -54,9 +51,9 @@ class RulesPointerMessage implements Hookable {
|
|
54 |
*/
|
55 |
private function should_show_pointer() {
|
56 |
if ( ! ( new \FSVendor\WPDesk_Tracker_Persistence_Consent() )->is_active()
|
57 |
-
||
|
58 |
|| wpdesk_is_plugin_active( 'flexible-shipping-pro/flexible-shipping-pro.php' )
|
59 |
-
|| !
|
60 |
return false;
|
61 |
}
|
62 |
|
@@ -64,56 +61,21 @@ class RulesPointerMessage implements Hookable {
|
|
64 |
}
|
65 |
|
66 |
/**
|
67 |
-
*
|
68 |
*
|
69 |
-
* @
|
70 |
*/
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
$zone_instance = \WC_Shipping_Zones::get_zone( $zone['zone_id'] );
|
75 |
-
|
76 |
-
if ( $this->check_is_fs_methods_exists_in_zone( $zone_instance ) === true ) {
|
77 |
-
return true;
|
78 |
-
}
|
79 |
-
}
|
80 |
-
|
81 |
-
return false;
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* Checks if there are Flexible Shipping methods in the Shipping Zone.
|
86 |
-
*
|
87 |
-
* @param \WC_Shipping_Zone $zone_instance Instance of Shipping Zone.
|
88 |
-
*
|
89 |
-
* @return bool Status.
|
90 |
-
*/
|
91 |
-
private function check_is_fs_methods_exists_in_zone( $zone_instance ) {
|
92 |
-
$zone_methods = $zone_instance->get_shipping_methods();
|
93 |
-
foreach ( $zone_methods as $zone_method ) {
|
94 |
-
if ( $zone_method->id !== 'flexible_shipping' ) {
|
95 |
-
continue;
|
96 |
-
}
|
97 |
-
|
98 |
-
$option_key = sprintf( self::FS_METHODS_OPTION_PREFIX, $zone_method->instance_id );
|
99 |
-
$shipping_methods = get_option( $option_key, array() );
|
100 |
-
if ( $shipping_methods ) {
|
101 |
-
return true;
|
102 |
-
}
|
103 |
}
|
104 |
|
105 |
-
|
106 |
}
|
107 |
|
108 |
/**
|
109 |
-
*
|
110 |
*/
|
111 |
-
public function add_pointer_messages() {
|
112 |
-
if ( $this->should_show_pointer() ) {
|
113 |
-
$this->create_pointer_message();
|
114 |
-
}
|
115 |
-
}
|
116 |
-
|
117 |
private function create_pointer_message() {
|
118 |
$enable_new_rules_table_link = admin_url( 'admin.php' );
|
119 |
foreach ( $_GET as $parameter => $value ) {
|
@@ -121,10 +83,11 @@ class RulesPointerMessage implements Hookable {
|
|
121 |
}
|
122 |
$enable_new_rules_table_link = add_query_arg( self::NEW_RULES_TABLE_PARAMETER, '1', $enable_new_rules_table_link );
|
123 |
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
|
|
128 |
|
129 |
$pointer_conditions = new PointerConditions( 'woocommerce_page_wc-settings', 'manage_woocommerce' );
|
130 |
$pointer_message = new PointerMessage(
|
@@ -136,7 +99,10 @@ class RulesPointerMessage implements Hookable {
|
|
136 |
'wp-pointer',
|
137 |
330,
|
138 |
$pointer_conditions,
|
139 |
-
array(
|
|
|
|
|
|
|
140 |
);
|
141 |
}
|
142 |
|
12 |
use FSVendor\WPDesk\Pointer\PointerMessage;
|
13 |
use FSVendor\WPDesk\Pointer\PointerPosition;
|
14 |
use FSVendor\WPDesk\Pointer\PointersScripts;
|
15 |
+
use FSVendor\WPDesk\View\Renderer\SimplePhpRenderer;
|
16 |
+
use FSVendor\WPDesk\View\Resolver\DirResolver;
|
17 |
+
use WPDesk\FS\Helpers\ShippingMethod;
|
18 |
|
19 |
/**
|
20 |
* Can display new rules pointer message.
|
25 |
|
26 |
const NEW_RULES_TABLE_PARAMETER = 'new_rules_table';
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/**
|
29 |
* @var RulesPointerOption
|
30 |
*/
|
33 |
/**
|
34 |
* RulesPointerMessage constructor.
|
35 |
*
|
36 |
+
* @param RulesPointerOption $rules_pointer_option Class object.
|
37 |
*/
|
38 |
public function __construct( RulesPointerOption $rules_pointer_option ) {
|
39 |
$this->rules_pointer_option = $rules_pointer_option;
|
51 |
*/
|
52 |
private function should_show_pointer() {
|
53 |
if ( ! ( new \FSVendor\WPDesk_Tracker_Persistence_Consent() )->is_active()
|
54 |
+
|| RulesPointerOption::is_option_set()
|
55 |
|| wpdesk_is_plugin_active( 'flexible-shipping-pro/flexible-shipping-pro.php' )
|
56 |
+
|| ! ShippingMethod::check_if_method_exists_in_zones( 'flexible_shipping' ) ) {
|
57 |
return false;
|
58 |
}
|
59 |
|
61 |
}
|
62 |
|
63 |
/**
|
64 |
+
* Add pointer messages if it should be visible.
|
65 |
*
|
66 |
+
* @internal
|
67 |
*/
|
68 |
+
public function add_pointer_messages() {
|
69 |
+
if ( ! $this->should_show_pointer() ) {
|
70 |
+
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
}
|
72 |
|
73 |
+
$this->create_pointer_message();
|
74 |
}
|
75 |
|
76 |
/**
|
77 |
+
* Creates pointer message.
|
78 |
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
private function create_pointer_message() {
|
80 |
$enable_new_rules_table_link = admin_url( 'admin.php' );
|
81 |
foreach ( $_GET as $parameter => $value ) {
|
83 |
}
|
84 |
$enable_new_rules_table_link = add_query_arg( self::NEW_RULES_TABLE_PARAMETER, '1', $enable_new_rules_table_link );
|
85 |
|
86 |
+
$template_args = array(
|
87 |
+
'enable_new_rules_table_link' => $enable_new_rules_table_link,
|
88 |
+
);
|
89 |
+
$renderer = new SimplePhpRenderer( new DirResolver( __DIR__ . '/views' ) );
|
90 |
+
$content = $renderer->render( 'html-rule-pointer-message', $template_args );
|
91 |
|
92 |
$pointer_conditions = new PointerConditions( 'woocommerce_page_wc-settings', 'manage_woocommerce' );
|
93 |
$pointer_message = new PointerMessage(
|
99 |
'wp-pointer',
|
100 |
330,
|
101 |
$pointer_conditions,
|
102 |
+
array(
|
103 |
+
'margin-left' => '10px',
|
104 |
+
'font-weight' => 'initial',
|
105 |
+
)
|
106 |
);
|
107 |
}
|
108 |
|
src/WPDesk/FS/TableRate/NewRulesTablePointer/RulesPointerOption.php
CHANGED
@@ -34,7 +34,7 @@ class RulesPointerOption implements Hookable {
|
|
34 |
public function update_option_on_enabling_new_rules_table() {
|
35 |
if ( current_user_can( 'manage_woocommerce' )
|
36 |
&& isset( $_GET[ RulesPointerMessage::NEW_RULES_TABLE_PARAMETER ] )
|
37 |
-
&&
|
38 |
) {
|
39 |
update_option( self::OPTION_NAME, '1' );
|
40 |
$this->update_shipping_method_settings();
|
@@ -59,7 +59,7 @@ class RulesPointerOption implements Hookable {
|
|
59 |
* @param mixed $_meta_value Metadata value. Serialized if non-scalar.
|
60 |
*/
|
61 |
public function update_option_on_pointer_dismiss( $meta_id, $object_id, $meta_key, $_meta_value ) {
|
62 |
-
if ( 'dismissed_wp_pointers' === $meta_key && !
|
63 |
$dismissed = explode( ',', (string) $_meta_value );
|
64 |
if ( in_array( RulesPointerMessage::POINTER_ID, $dismissed ) ) {
|
65 |
update_option( self::OPTION_NAME, '1' );
|
@@ -68,10 +68,12 @@ class RulesPointerOption implements Hookable {
|
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
-
*
|
|
|
|
|
72 |
*/
|
73 |
-
public function is_option_set() {
|
74 |
return 1 === intval( get_option( self::OPTION_NAME, '0' ) );
|
75 |
}
|
76 |
|
77 |
-
}
|
34 |
public function update_option_on_enabling_new_rules_table() {
|
35 |
if ( current_user_can( 'manage_woocommerce' )
|
36 |
&& isset( $_GET[ RulesPointerMessage::NEW_RULES_TABLE_PARAMETER ] )
|
37 |
+
&& ! self::is_option_set()
|
38 |
) {
|
39 |
update_option( self::OPTION_NAME, '1' );
|
40 |
$this->update_shipping_method_settings();
|
59 |
* @param mixed $_meta_value Metadata value. Serialized if non-scalar.
|
60 |
*/
|
61 |
public function update_option_on_pointer_dismiss( $meta_id, $object_id, $meta_key, $_meta_value ) {
|
62 |
+
if ( 'dismissed_wp_pointers' === $meta_key && ! self::is_option_set() ) {
|
63 |
$dismissed = explode( ',', (string) $_meta_value );
|
64 |
if ( in_array( RulesPointerMessage::POINTER_ID, $dismissed ) ) {
|
65 |
update_option( self::OPTION_NAME, '1' );
|
68 |
}
|
69 |
|
70 |
/**
|
71 |
+
* Checks if pointer is active.
|
72 |
+
*
|
73 |
+
* @return bool Option status.
|
74 |
*/
|
75 |
+
public static function is_option_set() {
|
76 |
return 1 === intval( get_option( self::OPTION_NAME, '0' ) );
|
77 |
}
|
78 |
|
79 |
+
}
|
src/WPDesk/FS/TableRate/NewRulesTablePointer/ShippingMethodNewRuleTableSetting.php
CHANGED
@@ -23,8 +23,11 @@ class ShippingMethodNewRuleTableSetting {
|
|
23 |
const VALUE_NO = 'no';
|
24 |
const VALUE_YES = 'yes';
|
25 |
|
|
|
|
|
|
|
26 |
private function should_add_field_to_settings() {
|
27 |
-
return
|
28 |
}
|
29 |
|
30 |
/**
|
@@ -45,11 +48,19 @@ class ShippingMethodNewRuleTableSetting {
|
|
45 |
return $settings;
|
46 |
}
|
47 |
|
|
|
|
|
|
|
|
|
|
|
48 |
public function is_enabled() {
|
49 |
$settings = get_option( self::SHIPPING_METHOD_SETTINGS_OPTION, array() );
|
50 |
return isset( $settings[ self::SETTINGS_OPTION ] ) && $settings[ self::SETTINGS_OPTION ] === self::VALUE_YES;
|
51 |
}
|
52 |
|
|
|
|
|
|
|
53 |
public function watch_settings_change() {
|
54 |
add_action( 'update_option_' . self::SHIPPING_METHOD_SETTINGS_OPTION, array( $this, 'update_option_if_settings_changed' ), 10, 3 );
|
55 |
}
|
@@ -79,10 +90,21 @@ class ShippingMethodNewRuleTableSetting {
|
|
79 |
* Display settings JavaScript.
|
80 |
*/
|
81 |
public function settings_script() {
|
82 |
-
if (
|
83 |
-
|
84 |
-
include __DIR__ . '/views/html-flexible-shipping-settings-script.php';
|
85 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
}
|
23 |
const VALUE_NO = 'no';
|
24 |
const VALUE_YES = 'yes';
|
25 |
|
26 |
+
/**
|
27 |
+
* @return bool
|
28 |
+
*/
|
29 |
private function should_add_field_to_settings() {
|
30 |
+
return RulesPointerOption::is_option_set() && ! wpdesk_is_plugin_active( 'flexible-shipping-pro/flexible-shipping-pro.php' );
|
31 |
}
|
32 |
|
33 |
/**
|
48 |
return $settings;
|
49 |
}
|
50 |
|
51 |
+
/**
|
52 |
+
* Is new rules table enabled?
|
53 |
+
*
|
54 |
+
* @return bool
|
55 |
+
*/
|
56 |
public function is_enabled() {
|
57 |
$settings = get_option( self::SHIPPING_METHOD_SETTINGS_OPTION, array() );
|
58 |
return isset( $settings[ self::SETTINGS_OPTION ] ) && $settings[ self::SETTINGS_OPTION ] === self::VALUE_YES;
|
59 |
}
|
60 |
|
61 |
+
/**
|
62 |
+
* Adds action to watch option update.
|
63 |
+
*/
|
64 |
public function watch_settings_change() {
|
65 |
add_action( 'update_option_' . self::SHIPPING_METHOD_SETTINGS_OPTION, array( $this, 'update_option_if_settings_changed' ), 10, 3 );
|
66 |
}
|
90 |
* Display settings JavaScript.
|
91 |
*/
|
92 |
public function settings_script() {
|
93 |
+
if ( ! RulesPointerOption::is_option_set() ) {
|
94 |
+
return;
|
|
|
95 |
}
|
96 |
+
|
97 |
+
$trigger = self::TRIGGER;
|
98 |
+
include __DIR__ . '/views/html-flexible-shipping-settings-script.php';
|
99 |
+
}
|
100 |
+
|
101 |
+
/**
|
102 |
+
* Checks if pointer was turned off.
|
103 |
+
*
|
104 |
+
* @return bool Option status.
|
105 |
+
*/
|
106 |
+
public static function was_option_disabled() {
|
107 |
+
return 1 === intval( get_option( self::OPTION_NEW_RULES_DISABLED, '0' ) );
|
108 |
}
|
109 |
|
110 |
}
|
src/WPDesk/FS/TableRate/NewRulesTablePointer/views/html-flexible-shipping-settings-script.php
CHANGED
@@ -8,21 +8,22 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
8 |
?><script type="text/javascript">
|
9 |
jQuery(document).ready(function(){
|
10 |
|
11 |
-
|
|
|
12 |
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
|
27 |
-
|
28 |
-
</script>
|
8 |
?><script type="text/javascript">
|
9 |
jQuery(document).ready(function(){
|
10 |
|
11 |
+
var trigger = '<?php echo esc_attr( $trigger ); ?>';
|
12 |
+
var proceed = false;
|
13 |
|
14 |
+
jQuery(".woocommerce-save-button").on('click', function(e){
|
15 |
+
if (!proceed && !jQuery('#woocommerce_flexible_shipping_info_enable_new_rules_table').is(':checked') ) {
|
16 |
+
e.preventDefault();
|
17 |
+
jQuery(document).trigger(trigger);
|
18 |
+
}
|
19 |
+
});
|
20 |
+
jQuery(document).on(trigger + '_proceed', function(){
|
21 |
+
proceed = true;
|
22 |
+
jQuery(".woocommerce-save-button").trigger('click');
|
23 |
+
});
|
24 |
+
if ( window.location.hash === '#woocommerce_flexible_shipping_info_enable_new_rules_table' ) {
|
25 |
+
jQuery('#woocommerce_flexible_shipping_info_enable_new_rules_table').closest('tr').css('background-color', '#ccc');
|
26 |
+
}
|
27 |
|
28 |
+
});
|
29 |
+
</script>
|
src/WPDesk/FS/TableRate/NewRulesTableTracker.php
CHANGED
@@ -1,15 +1,19 @@
|
|
1 |
<?php
|
2 |
/**
|
|
|
3 |
*
|
|
|
4 |
*/
|
5 |
|
6 |
namespace WPDesk\FS\TableRate;
|
7 |
|
8 |
-
|
9 |
use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
10 |
use WPDesk\FS\TableRate\NewRulesTablePointer\RulesPointerOption;
|
11 |
use WPDesk\FS\TableRate\NewRulesTablePointer\ShippingMethodNewRuleTableSetting;
|
12 |
|
|
|
|
|
|
|
13 |
class NewRulesTableTracker implements Hookable {
|
14 |
|
15 |
const NEW_USERS_AFTER_THIS_DATE = '2020-07-07 01:00:00';
|
@@ -17,6 +21,9 @@ class NewRulesTableTracker implements Hookable {
|
|
17 |
const PRIORITY_AFTER_FS_TRACKER = 12;
|
18 |
const TRACKER_DATA_FLEXIBLE_SHIPPING = 'flexible_shipping';
|
19 |
|
|
|
|
|
|
|
20 |
public function hooks() {
|
21 |
add_filter( 'wpdesk_tracker_data', array( $this, 'append_new_rules_table_data_to_tracker' ), self::PRIORITY_AFTER_FS_TRACKER );
|
22 |
}
|
@@ -33,7 +40,7 @@ class NewRulesTableTracker implements Hookable {
|
|
33 |
/**
|
34 |
* Activation date according to wpdesk helper.
|
35 |
*
|
36 |
-
* @return int timestamp
|
37 |
*/
|
38 |
private function activation_date_according_to_wpdesk_helper() {
|
39 |
$option_name = 'plugin_activation_flexible-shipping/flexible-shipping.php';
|
@@ -46,6 +53,11 @@ class NewRulesTableTracker implements Hookable {
|
|
46 |
return strtotime( $activation_date );
|
47 |
}
|
48 |
|
|
|
|
|
|
|
|
|
|
|
49 |
private function get_new_rules_table_enabled() {
|
50 |
$shipping_method_settings = get_option( ShippingMethodNewRuleTableSetting::SHIPPING_METHOD_SETTINGS_OPTION, array() );
|
51 |
if ( isset( $shipping_method_settings[ ShippingMethodNewRuleTableSetting::SETTINGS_OPTION ] ) ) {
|
@@ -54,6 +66,14 @@ class NewRulesTableTracker implements Hookable {
|
|
54 |
return 'no';
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
private function append_user_feedback_data( $data, $user_feedback ) {
|
58 |
if ( isset( $user_feedback['selected_option'] ) ) {
|
59 |
$data['feedback_option'] = $user_feedback['selected_option'];
|
@@ -65,13 +85,20 @@ class NewRulesTableTracker implements Hookable {
|
|
65 |
return $data;
|
66 |
}
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
public function append_new_rules_table_data_to_tracker( $data ) {
|
69 |
$new_rules_table_data = array();
|
70 |
|
71 |
$new_rules_table_data['new_installation'] = $this->is_new_installation() ? 'yes' : 'no';
|
72 |
-
$new_rules_table_data['pointer_clicked'] =
|
73 |
-
$new_rules_table_data['table_enabled']
|
74 |
-
$new_rules_table_data['was_disabled'] =
|
75 |
|
76 |
$user_feedback = get_option( UserFeedback::USER_FEEDBACK_OPTION );
|
77 |
|
@@ -84,4 +111,4 @@ class NewRulesTableTracker implements Hookable {
|
|
84 |
return $data;
|
85 |
}
|
86 |
|
87 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Tracker data.
|
4 |
*
|
5 |
+
* @package WPDesk\FS\TableRate
|
6 |
*/
|
7 |
|
8 |
namespace WPDesk\FS\TableRate;
|
9 |
|
|
|
10 |
use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
11 |
use WPDesk\FS\TableRate\NewRulesTablePointer\RulesPointerOption;
|
12 |
use WPDesk\FS\TableRate\NewRulesTablePointer\ShippingMethodNewRuleTableSetting;
|
13 |
|
14 |
+
/**
|
15 |
+
* Can add new rates table data to tracked data.
|
16 |
+
*/
|
17 |
class NewRulesTableTracker implements Hookable {
|
18 |
|
19 |
const NEW_USERS_AFTER_THIS_DATE = '2020-07-07 01:00:00';
|
21 |
const PRIORITY_AFTER_FS_TRACKER = 12;
|
22 |
const TRACKER_DATA_FLEXIBLE_SHIPPING = 'flexible_shipping';
|
23 |
|
24 |
+
/**
|
25 |
+
* Hooks.
|
26 |
+
*/
|
27 |
public function hooks() {
|
28 |
add_filter( 'wpdesk_tracker_data', array( $this, 'append_new_rules_table_data_to_tracker' ), self::PRIORITY_AFTER_FS_TRACKER );
|
29 |
}
|
40 |
/**
|
41 |
* Activation date according to wpdesk helper.
|
42 |
*
|
43 |
+
* @return int Activation date timestamp.
|
44 |
*/
|
45 |
private function activation_date_according_to_wpdesk_helper() {
|
46 |
$option_name = 'plugin_activation_flexible-shipping/flexible-shipping.php';
|
53 |
return strtotime( $activation_date );
|
54 |
}
|
55 |
|
56 |
+
/**
|
57 |
+
* Checks if new tables are activated.
|
58 |
+
*
|
59 |
+
* @return string Status "yes" for true or "no" for false.
|
60 |
+
*/
|
61 |
private function get_new_rules_table_enabled() {
|
62 |
$shipping_method_settings = get_option( ShippingMethodNewRuleTableSetting::SHIPPING_METHOD_SETTINGS_OPTION, array() );
|
63 |
if ( isset( $shipping_method_settings[ ShippingMethodNewRuleTableSetting::SETTINGS_OPTION ] ) ) {
|
66 |
return 'no';
|
67 |
}
|
68 |
|
69 |
+
/**
|
70 |
+
* Adds info about New Table Interface to user feedback.
|
71 |
+
*
|
72 |
+
* @param array $data Stats about New Table Interface.
|
73 |
+
* @param array $user_feedback User feedback.
|
74 |
+
*
|
75 |
+
* @return array Updated $data array.
|
76 |
+
*/
|
77 |
private function append_user_feedback_data( $data, $user_feedback ) {
|
78 |
if ( isset( $user_feedback['selected_option'] ) ) {
|
79 |
$data['feedback_option'] = $user_feedback['selected_option'];
|
85 |
return $data;
|
86 |
}
|
87 |
|
88 |
+
/**
|
89 |
+
* Adds data to the tracker about New Table Interface.
|
90 |
+
*
|
91 |
+
* @param array $data Original data sent to tracker.
|
92 |
+
*
|
93 |
+
* @return array Updated $data array.
|
94 |
+
*/
|
95 |
public function append_new_rules_table_data_to_tracker( $data ) {
|
96 |
$new_rules_table_data = array();
|
97 |
|
98 |
$new_rules_table_data['new_installation'] = $this->is_new_installation() ? 'yes' : 'no';
|
99 |
+
$new_rules_table_data['pointer_clicked'] = RulesPointerOption::is_option_set() ? 'yes' : 'no';
|
100 |
+
$new_rules_table_data['table_enabled'] = $this->get_new_rules_table_enabled();
|
101 |
+
$new_rules_table_data['was_disabled'] = ShippingMethodNewRuleTableSetting::was_option_disabled() ? 'yes' : 'no';
|
102 |
|
103 |
$user_feedback = get_option( UserFeedback::USER_FEEDBACK_OPTION );
|
104 |
|
111 |
return $data;
|
112 |
}
|
113 |
|
114 |
+
}
|
src/WPDesk/FS/TableRate/RulesSettingsField.php
CHANGED
@@ -1,14 +1,18 @@
|
|
1 |
<?php
|
2 |
/**
|
|
|
|
|
3 |
* @package WPDesk\FS\TableRate
|
4 |
*/
|
5 |
|
6 |
namespace WPDesk\FS\TableRate;
|
7 |
|
8 |
use FSVendor\WPDesk\Forms\Field;
|
|
|
|
|
9 |
|
10 |
/**
|
11 |
-
*
|
12 |
*/
|
13 |
class RulesSettingsField {
|
14 |
|
@@ -35,10 +39,10 @@ class RulesSettingsField {
|
|
35 |
/**
|
36 |
* RulesSettings constructor.
|
37 |
*
|
38 |
-
* @param string $
|
39 |
* @param string $field_key .
|
40 |
-
* @param string $
|
41 |
-
* @param array
|
42 |
*/
|
43 |
public function __construct( $settings_field_id, $field_key, $settings_field_name, $data ) {
|
44 |
$this->settings_field_id = $settings_field_id;
|
@@ -53,11 +57,12 @@ class RulesSettingsField {
|
|
53 |
* @return string
|
54 |
*/
|
55 |
public function render() {
|
56 |
-
|
57 |
-
$
|
58 |
-
|
59 |
-
|
60 |
-
|
|
|
61 |
}
|
62 |
|
63 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* New rules settings table.
|
4 |
+
*
|
5 |
* @package WPDesk\FS\TableRate
|
6 |
*/
|
7 |
|
8 |
namespace WPDesk\FS\TableRate;
|
9 |
|
10 |
use FSVendor\WPDesk\Forms\Field;
|
11 |
+
use FSVendor\WPDesk\View\Renderer\SimplePhpRenderer;
|
12 |
+
use FSVendor\WPDesk\View\Resolver\DirResolver;
|
13 |
|
14 |
/**
|
15 |
+
* Can display new rules settings table.
|
16 |
*/
|
17 |
class RulesSettingsField {
|
18 |
|
39 |
/**
|
40 |
* RulesSettings constructor.
|
41 |
*
|
42 |
+
* @param string $settings_field_id .
|
43 |
* @param string $field_key .
|
44 |
+
* @param string $settings_field_name .
|
45 |
+
* @param array $data Rules for shipping method.
|
46 |
*/
|
47 |
public function __construct( $settings_field_id, $field_key, $settings_field_name, $data ) {
|
48 |
$this->settings_field_id = $settings_field_id;
|
57 |
* @return string
|
58 |
*/
|
59 |
public function render() {
|
60 |
+
$renderer = new SimplePhpRenderer( new DirResolver( __DIR__ . '/views' ) );
|
61 |
+
$template_args = array(
|
62 |
+
'field_key' => $this->field_key,
|
63 |
+
'data' => $this->data,
|
64 |
+
);
|
65 |
+
return $renderer->render( 'shipping-method-settings-rules', $template_args );
|
66 |
}
|
67 |
|
68 |
}
|
src/WPDesk/FS/TableRate/UserFeedback.php
CHANGED
@@ -1,38 +1,57 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
namespace WPDesk\FS\TableRate;
|
4 |
|
5 |
use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
6 |
use FSVendor\WPDesk\Tracker\UserFeedback\AjaxUserFeedbackDataHandler;
|
|
|
7 |
use FSVendor\WPDesk\Tracker\UserFeedback\TrackerFactory;
|
8 |
use FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData;
|
9 |
use FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackOption;
|
10 |
use WPDesk\FS\TableRate\NewRulesTablePointer\RulesPointerOption;
|
11 |
use WPDesk\FS\TableRate\NewRulesTablePointer\ShippingMethodNewRuleTableSetting;
|
12 |
|
|
|
|
|
|
|
13 |
class UserFeedback implements Hookable {
|
14 |
|
15 |
const THICKBOX_ID = 'new-rules-table';
|
16 |
const USER_FEEDBACK_OPTION = 'flexible_shipping_new_rules_feedback';
|
17 |
|
|
|
|
|
|
|
18 |
public function hooks() {
|
19 |
-
if (
|
20 |
-
$user_feedback = $this->
|
21 |
$user_feedback->hooks();
|
22 |
}
|
23 |
add_action( 'wpdesk_tracker_user_feedback_data_handled', array( $this, 'save_user_feedback' ) );
|
24 |
}
|
25 |
|
26 |
/**
|
27 |
-
*
|
|
|
|
|
28 |
*/
|
29 |
public function save_user_feedback( $payload ) {
|
30 |
-
if ( is_array( $payload ) && isset( $payload[ AjaxUserFeedbackDataHandler::FEEDBACK_ID ] ) && $payload[ AjaxUserFeedbackDataHandler::FEEDBACK_ID ]
|
31 |
update_option( self::USER_FEEDBACK_OPTION, $payload );
|
32 |
}
|
33 |
}
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
36 |
$user_feedback_data = new UserFeedbackData(
|
37 |
self::THICKBOX_ID,
|
38 |
__( 'You are disabling new rules table', 'flexible-shipping' ),
|
@@ -40,14 +59,16 @@ class UserFeedback implements Hookable {
|
|
40 |
__( 'What should we do to improve your experience?', 'flexible-shipping' ),
|
41 |
'woocommerce_page_wc-settings'
|
42 |
);
|
43 |
-
$user_feedback_data->add_feedback_option(
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
|
|
|
|
49 |
|
50 |
-
return TrackerFactory::
|
51 |
}
|
52 |
|
53 |
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* User feedback.
|
4 |
+
*
|
5 |
+
* @package WPDesk\FS\TableRate
|
6 |
+
*/
|
7 |
|
8 |
namespace WPDesk\FS\TableRate;
|
9 |
|
10 |
use FSVendor\WPDesk\PluginBuilder\Plugin\Hookable;
|
11 |
use FSVendor\WPDesk\Tracker\UserFeedback\AjaxUserFeedbackDataHandler;
|
12 |
+
use FSVendor\WPDesk\Tracker\UserFeedback\Tracker;
|
13 |
use FSVendor\WPDesk\Tracker\UserFeedback\TrackerFactory;
|
14 |
use FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData;
|
15 |
use FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackOption;
|
16 |
use WPDesk\FS\TableRate\NewRulesTablePointer\RulesPointerOption;
|
17 |
use WPDesk\FS\TableRate\NewRulesTablePointer\ShippingMethodNewRuleTableSetting;
|
18 |
|
19 |
+
/**
|
20 |
+
* Can display and handle user feedback when disabling new rules settings table.
|
21 |
+
*/
|
22 |
class UserFeedback implements Hookable {
|
23 |
|
24 |
const THICKBOX_ID = 'new-rules-table';
|
25 |
const USER_FEEDBACK_OPTION = 'flexible_shipping_new_rules_feedback';
|
26 |
|
27 |
+
/**
|
28 |
+
* Hooks.
|
29 |
+
*/
|
30 |
public function hooks() {
|
31 |
+
if ( RulesPointerOption::is_option_set() ) {
|
32 |
+
$user_feedback = $this->prepare_user_feedback_tracker();
|
33 |
$user_feedback->hooks();
|
34 |
}
|
35 |
add_action( 'wpdesk_tracker_user_feedback_data_handled', array( $this, 'save_user_feedback' ) );
|
36 |
}
|
37 |
|
38 |
/**
|
39 |
+
* Saves user feedback for lated sending by Tracker.
|
40 |
+
*
|
41 |
+
* @param array $payload Tracker request data.
|
42 |
*/
|
43 |
public function save_user_feedback( $payload ) {
|
44 |
+
if ( is_array( $payload ) && isset( $payload[ AjaxUserFeedbackDataHandler::FEEDBACK_ID ] ) && self::THICKBOX_ID === $payload[ AjaxUserFeedbackDataHandler::FEEDBACK_ID ] ) {
|
45 |
update_option( self::USER_FEEDBACK_OPTION, $payload );
|
46 |
}
|
47 |
}
|
48 |
|
49 |
+
/**
|
50 |
+
* Prepares tracker for save user feedback.
|
51 |
+
*
|
52 |
+
* @return Tracker
|
53 |
+
*/
|
54 |
+
private function prepare_user_feedback_tracker() {
|
55 |
$user_feedback_data = new UserFeedbackData(
|
56 |
self::THICKBOX_ID,
|
57 |
__( 'You are disabling new rules table', 'flexible-shipping' ),
|
59 |
__( 'What should we do to improve your experience?', 'flexible-shipping' ),
|
60 |
'woocommerce_page_wc-settings'
|
61 |
);
|
62 |
+
$user_feedback_data->add_feedback_option(
|
63 |
+
new UserFeedbackOption(
|
64 |
+
'have_comment',
|
65 |
+
'',
|
66 |
+
true,
|
67 |
+
__( 'Comment', 'flexible-shipping' )
|
68 |
+
)
|
69 |
+
);
|
70 |
|
71 |
+
return TrackerFactory::create_custom_tracker_with_null_sender( $user_feedback_data );
|
72 |
}
|
73 |
|
74 |
}
|
src/WPDesk/FS/TableRate/views/shipping-method-settings-rules.php
CHANGED
@@ -71,7 +71,7 @@ $count_rules = 0;
|
|
71 |
<?php
|
72 |
$fs_pro_link = get_locale() === 'pl_PL' ? 'https://www.wpdesk.pl/sklep/flexible-shipping-pro-woocommerce/' : 'https://flexibleshipping.com/table-rate/';
|
73 |
|
74 |
-
if ( !
|
75 |
?>
|
76 |
<p><?php printf( __( 'Check %sFlexible Shipping PRO →%s to add advanced rules based on shipment classes, product/item count or additional handling fees/insurance.', 'flexible-shipping' ), '<a href="' . $fs_pro_link . '?utm_campaign=flexible-shipping&utm_source=user-site&utm_medium=link&utm_term=flexible-shipping-pro&utm_content=fs-shippingzone-addnew-rules" target="_blank">', '</a>' ); ?></p>
|
77 |
<?php endif; ?>
|
71 |
<?php
|
72 |
$fs_pro_link = get_locale() === 'pl_PL' ? 'https://www.wpdesk.pl/sklep/flexible-shipping-pro-woocommerce/' : 'https://flexibleshipping.com/table-rate/';
|
73 |
|
74 |
+
if ( ! wpdesk_is_plugin_active( 'flexible-shipping-pro/flexible-shipping-pro.php' ) ):
|
75 |
?>
|
76 |
<p><?php printf( __( 'Check %sFlexible Shipping PRO →%s to add advanced rules based on shipment classes, product/item count or additional handling fees/insurance.', 'flexible-shipping' ), '<a href="' . $fs_pro_link . '?utm_campaign=flexible-shipping&utm_source=user-site&utm_medium=link&utm_term=flexible-shipping-pro&utm_content=fs-shippingzone-addnew-rules" target="_blank">', '</a>' ); ?></p>
|
77 |
<?php endif; ?>
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit052cd55d6ab2bb805b5c19888ea1afd6::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -211,6 +211,7 @@ return array(
|
|
211 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Thickbox' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Thickbox.php',
|
212 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Tracker' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Tracker.php',
|
213 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\TrackerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/TrackerFactory.php',
|
|
|
214 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\AjaxUserFeedbackDataHandler' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/AjaxUserFeedbackDataHandler.php',
|
215 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Scripts' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Scripts.php',
|
216 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Thickbox' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Thickbox.php',
|
@@ -296,6 +297,7 @@ return array(
|
|
296 |
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
|
297 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
298 |
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
|
|
299 |
'WPDesk\\FS\\Rate\\FirstRateNotice' => $baseDir . '/classes/wp-wpdesk-fs-shipment/rate-notices/first-rate-notice.php',
|
300 |
'WPDesk\\FS\\Rate\\Flexible_Shipping_Order_Counter' => $baseDir . '/classes/wp-wpdesk-fs-shipment/rate-notices/order-counter.php',
|
301 |
'WPDesk\\FS\\Rate\\RateNotice' => $baseDir . '/classes/wp-wpdesk-fs-shipment/rate-notices/abstract-rate.php',
|
@@ -386,6 +388,7 @@ return array(
|
|
386 |
'WPDesk_Flexible_Shipping_Shipping_Manifest_CPT' => $baseDir . '/classes/wp-wpdesk-fs-shipment/manifest/cpt-shipping-manifest.php',
|
387 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Dimension' => $baseDir . '/classes/table-rate/class-shortcode-unit-dimension.php',
|
388 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Weight' => $baseDir . '/classes/table-rate/class-shortcode-unit-weight.php',
|
|
|
389 |
'WPDesk_Flexible_Shipping_Tracker' => $baseDir . '/classes/tracker/tracker.php',
|
390 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_File_Exception' => $baseDir . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-file-exception.php',
|
391 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_Zip_File_Exception' => $baseDir . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-zip-file-exception.php',
|
211 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Thickbox' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Thickbox.php',
|
212 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Tracker' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Tracker.php',
|
213 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\TrackerFactory' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/TrackerFactory.php',
|
214 |
+
'FSVendor\\WPDesk\\Tracker\\Sender\\NullSender' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/Sender/NullSender.php',
|
215 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\AjaxUserFeedbackDataHandler' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/AjaxUserFeedbackDataHandler.php',
|
216 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Scripts' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Scripts.php',
|
217 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Thickbox' => $baseDir . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Thickbox.php',
|
297 |
'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
|
298 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
299 |
'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
|
300 |
+
'WPDesk\\FS\\Helpers\\ShippingMethod' => $baseDir . '/src/WPDesk/FS/Helpers/ShippingMethod.php',
|
301 |
'WPDesk\\FS\\Rate\\FirstRateNotice' => $baseDir . '/classes/wp-wpdesk-fs-shipment/rate-notices/first-rate-notice.php',
|
302 |
'WPDesk\\FS\\Rate\\Flexible_Shipping_Order_Counter' => $baseDir . '/classes/wp-wpdesk-fs-shipment/rate-notices/order-counter.php',
|
303 |
'WPDesk\\FS\\Rate\\RateNotice' => $baseDir . '/classes/wp-wpdesk-fs-shipment/rate-notices/abstract-rate.php',
|
388 |
'WPDesk_Flexible_Shipping_Shipping_Manifest_CPT' => $baseDir . '/classes/wp-wpdesk-fs-shipment/manifest/cpt-shipping-manifest.php',
|
389 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Dimension' => $baseDir . '/classes/table-rate/class-shortcode-unit-dimension.php',
|
390 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Weight' => $baseDir . '/classes/table-rate/class-shortcode-unit-weight.php',
|
391 |
+
'WPDesk_Flexible_Shipping_Single_Label_File_Dispatcher' => $baseDir . '/classes/wp-wpdesk-fs-shipment/label/class-single-label-file-dispatcher.php',
|
392 |
'WPDesk_Flexible_Shipping_Tracker' => $baseDir . '/classes/tracker/tracker.php',
|
393 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_File_Exception' => $baseDir . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-file-exception.php',
|
394 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_Zip_File_Exception' => $baseDir . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-zip-file-exception.php',
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInitafb063eabe97243cd9e95aa0d780ed05
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit052cd55d6ab2bb805b5c19888ea1afd6
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit052cd55d6ab2bb805b5c19888ea1afd6', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit052cd55d6ab2bb805b5c19888ea1afd6', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit052cd55d6ab2bb805b5c19888ea1afd6::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
@@ -243,6 +243,7 @@ class ComposerStaticInitafb063eabe97243cd9e95aa0d780ed05
|
|
243 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Thickbox' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Thickbox.php',
|
244 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Tracker' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Tracker.php',
|
245 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\TrackerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/TrackerFactory.php',
|
|
|
246 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\AjaxUserFeedbackDataHandler' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/AjaxUserFeedbackDataHandler.php',
|
247 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Scripts' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Scripts.php',
|
248 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Thickbox' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Thickbox.php',
|
@@ -328,6 +329,7 @@ class ComposerStaticInitafb063eabe97243cd9e95aa0d780ed05
|
|
328 |
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
|
329 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
330 |
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
|
|
331 |
'WPDesk\\FS\\Rate\\FirstRateNotice' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/rate-notices/first-rate-notice.php',
|
332 |
'WPDesk\\FS\\Rate\\Flexible_Shipping_Order_Counter' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/rate-notices/order-counter.php',
|
333 |
'WPDesk\\FS\\Rate\\RateNotice' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/rate-notices/abstract-rate.php',
|
@@ -418,6 +420,7 @@ class ComposerStaticInitafb063eabe97243cd9e95aa0d780ed05
|
|
418 |
'WPDesk_Flexible_Shipping_Shipping_Manifest_CPT' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/manifest/cpt-shipping-manifest.php',
|
419 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Dimension' => __DIR__ . '/../..' . '/classes/table-rate/class-shortcode-unit-dimension.php',
|
420 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Weight' => __DIR__ . '/../..' . '/classes/table-rate/class-shortcode-unit-weight.php',
|
|
|
421 |
'WPDesk_Flexible_Shipping_Tracker' => __DIR__ . '/../..' . '/classes/tracker/tracker.php',
|
422 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_File_Exception' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-file-exception.php',
|
423 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_Zip_File_Exception' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-zip-file-exception.php',
|
@@ -435,10 +438,10 @@ class ComposerStaticInitafb063eabe97243cd9e95aa0d780ed05
|
|
435 |
public static function getInitializer(ClassLoader $loader)
|
436 |
{
|
437 |
return \Closure::bind(function () use ($loader) {
|
438 |
-
$loader->prefixLengthsPsr4 =
|
439 |
-
$loader->prefixDirsPsr4 =
|
440 |
-
$loader->fallbackDirsPsr4 =
|
441 |
-
$loader->classMap =
|
442 |
|
443 |
}, null, ClassLoader::class);
|
444 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit052cd55d6ab2bb805b5c19888ea1afd6
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'W' =>
|
243 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Thickbox' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Thickbox.php',
|
244 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\Tracker' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/Tracker.php',
|
245 |
'FSVendor\\WPDesk\\Tracker\\Deactivation\\TrackerFactory' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-deactivation/src/WPDesk/Tracker/Deactivation/TrackerFactory.php',
|
246 |
+
'FSVendor\\WPDesk\\Tracker\\Sender\\NullSender' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/Sender/NullSender.php',
|
247 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\AjaxUserFeedbackDataHandler' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/AjaxUserFeedbackDataHandler.php',
|
248 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Scripts' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Scripts.php',
|
249 |
'FSVendor\\WPDesk\\Tracker\\UserFeedback\\Thickbox' => __DIR__ . '/../..' . '/vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Thickbox.php',
|
329 |
'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
|
330 |
'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
|
331 |
'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
|
332 |
+
'WPDesk\\FS\\Helpers\\ShippingMethod' => __DIR__ . '/../..' . '/src/WPDesk/FS/Helpers/ShippingMethod.php',
|
333 |
'WPDesk\\FS\\Rate\\FirstRateNotice' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/rate-notices/first-rate-notice.php',
|
334 |
'WPDesk\\FS\\Rate\\Flexible_Shipping_Order_Counter' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/rate-notices/order-counter.php',
|
335 |
'WPDesk\\FS\\Rate\\RateNotice' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/rate-notices/abstract-rate.php',
|
420 |
'WPDesk_Flexible_Shipping_Shipping_Manifest_CPT' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/manifest/cpt-shipping-manifest.php',
|
421 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Dimension' => __DIR__ . '/../..' . '/classes/table-rate/class-shortcode-unit-dimension.php',
|
422 |
'WPDesk_Flexible_Shipping_Shorcode_Unit_Weight' => __DIR__ . '/../..' . '/classes/table-rate/class-shortcode-unit-weight.php',
|
423 |
+
'WPDesk_Flexible_Shipping_Single_Label_File_Dispatcher' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/label/class-single-label-file-dispatcher.php',
|
424 |
'WPDesk_Flexible_Shipping_Tracker' => __DIR__ . '/../..' . '/classes/tracker/tracker.php',
|
425 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_File_Exception' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-file-exception.php',
|
426 |
'WPDesk_Flexible_Shipping_Unable_To_Create_Tmp_Zip_File_Exception' => __DIR__ . '/../..' . '/classes/wp-wpdesk-fs-shipment/exception/class-shipment-unable-to-create-tmp-zip-file-exception.php',
|
438 |
public static function getInitializer(ClassLoader $loader)
|
439 |
{
|
440 |
return \Closure::bind(function () use ($loader) {
|
441 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit052cd55d6ab2bb805b5c19888ea1afd6::$prefixLengthsPsr4;
|
442 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit052cd55d6ab2bb805b5c19888ea1afd6::$prefixDirsPsr4;
|
443 |
+
$loader->fallbackDirsPsr4 = ComposerStaticInit052cd55d6ab2bb805b5c19888ea1afd6::$fallbackDirsPsr4;
|
444 |
+
$loader->classMap = ComposerStaticInit052cd55d6ab2bb805b5c19888ea1afd6::$classMap;
|
445 |
|
446 |
}, null, ClassLoader::class);
|
447 |
}
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/composer.json
CHANGED
@@ -31,9 +31,6 @@
|
|
31 |
}
|
32 |
},
|
33 |
"autoload-dev": {
|
34 |
-
"psr-4": {
|
35 |
-
"FSVendor\\WPDesk\\Tracker\\UserFeedback\\": "src\/WPDesk\/Tracker\/UserFeedback\/"
|
36 |
-
},
|
37 |
"classmap": [
|
38 |
"tests\/"
|
39 |
]
|
31 |
}
|
32 |
},
|
33 |
"autoload-dev": {
|
|
|
|
|
|
|
34 |
"classmap": [
|
35 |
"tests\/"
|
36 |
]
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/Sender/NullSender.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Null sender.
|
5 |
+
*
|
6 |
+
* @package WPDesk\Tracker\Sender
|
7 |
+
*/
|
8 |
+
namespace FSVendor\WPDesk\Tracker\Sender;
|
9 |
+
|
10 |
+
/**
|
11 |
+
* Can send data to nowhere.
|
12 |
+
*/
|
13 |
+
class NullSender implements \WPDesk_Tracker_Sender
|
14 |
+
{
|
15 |
+
/**
|
16 |
+
* Does nothing.
|
17 |
+
*
|
18 |
+
* @param array $payload .
|
19 |
+
*
|
20 |
+
* @return array|void
|
21 |
+
*/
|
22 |
+
public function send_payload(array $payload)
|
23 |
+
{
|
24 |
+
// Do nothing
|
25 |
+
}
|
26 |
+
}
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/AjaxUserFeedbackDataHandler.php
CHANGED
@@ -22,9 +22,9 @@ class AjaxUserFeedbackDataHandler implements \FSVendor\WPDesk\PluginBuilder\Plug
|
|
22 |
private $sender;
|
23 |
/**
|
24 |
* @param UserFeedbackData $user_feedback_data .
|
25 |
-
* @param \WPDesk_Tracker_Sender
|
26 |
*/
|
27 |
-
public function __construct(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $sender
|
28 |
{
|
29 |
$this->user_feedback_data = $user_feedback_data;
|
30 |
$this->sender = $sender;
|
@@ -34,7 +34,7 @@ class AjaxUserFeedbackDataHandler implements \FSVendor\WPDesk\PluginBuilder\Plug
|
|
34 |
*/
|
35 |
public function hooks()
|
36 |
{
|
37 |
-
\add_action('wp_ajax_' . self::AJAX_ACTION . $this->user_feedback_data->get_thickbox_id(), array($this, '
|
38 |
}
|
39 |
/**
|
40 |
* Prepare payload.
|
@@ -43,7 +43,7 @@ class AjaxUserFeedbackDataHandler implements \FSVendor\WPDesk\PluginBuilder\Plug
|
|
43 |
*
|
44 |
* @return array
|
45 |
*/
|
46 |
-
private function
|
47 |
{
|
48 |
$payload = array('click_action' => 'user_feedback', self::FEEDBACK_ID => $this->user_feedback_data->get_thickbox_id(), 'selected_option' => $request[self::REQUEST_SELECTED_OPTION]);
|
49 |
if (!empty($request[self::REQUEST_ADDITIONAL_INFO])) {
|
@@ -56,21 +56,19 @@ class AjaxUserFeedbackDataHandler implements \FSVendor\WPDesk\PluginBuilder\Plug
|
|
56 |
*
|
57 |
* @param array $payload
|
58 |
*/
|
59 |
-
private function
|
60 |
{
|
61 |
$this->sender->send_payload($payload);
|
62 |
}
|
63 |
/**
|
64 |
* Handle AJAX request.
|
65 |
*/
|
66 |
-
public function
|
67 |
{
|
68 |
\check_ajax_referer(self::AJAX_ACTION . $this->user_feedback_data->get_thickbox_id());
|
69 |
if (isset($_REQUEST[self::REQUEST_SELECTED_OPTION])) {
|
70 |
-
$payload = $this->
|
71 |
-
|
72 |
-
$this->sendPayloadToWpdesk($this->preparePayload($_REQUEST));
|
73 |
-
}
|
74 |
\do_action('wpdesk_tracker_user_feedback_data_handled', $payload);
|
75 |
}
|
76 |
}
|
22 |
private $sender;
|
23 |
/**
|
24 |
* @param UserFeedbackData $user_feedback_data .
|
25 |
+
* @param \WPDesk_Tracker_Sender $sender
|
26 |
*/
|
27 |
+
public function __construct(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $sender)
|
28 |
{
|
29 |
$this->user_feedback_data = $user_feedback_data;
|
30 |
$this->sender = $sender;
|
34 |
*/
|
35 |
public function hooks()
|
36 |
{
|
37 |
+
\add_action('wp_ajax_' . self::AJAX_ACTION . $this->user_feedback_data->get_thickbox_id(), array($this, 'handle_ajax_request'));
|
38 |
}
|
39 |
/**
|
40 |
* Prepare payload.
|
43 |
*
|
44 |
* @return array
|
45 |
*/
|
46 |
+
private function prepare_payload(array $request)
|
47 |
{
|
48 |
$payload = array('click_action' => 'user_feedback', self::FEEDBACK_ID => $this->user_feedback_data->get_thickbox_id(), 'selected_option' => $request[self::REQUEST_SELECTED_OPTION]);
|
49 |
if (!empty($request[self::REQUEST_ADDITIONAL_INFO])) {
|
56 |
*
|
57 |
* @param array $payload
|
58 |
*/
|
59 |
+
private function send_payload_to_wpdesk(array $payload)
|
60 |
{
|
61 |
$this->sender->send_payload($payload);
|
62 |
}
|
63 |
/**
|
64 |
* Handle AJAX request.
|
65 |
*/
|
66 |
+
public function handle_ajax_request()
|
67 |
{
|
68 |
\check_ajax_referer(self::AJAX_ACTION . $this->user_feedback_data->get_thickbox_id());
|
69 |
if (isset($_REQUEST[self::REQUEST_SELECTED_OPTION])) {
|
70 |
+
$payload = $this->prepare_payload($_REQUEST);
|
71 |
+
$this->send_payload_to_wpdesk($this->prepare_payload($_REQUEST));
|
|
|
|
|
72 |
\do_action('wpdesk_tracker_user_feedback_data_handled', $payload);
|
73 |
}
|
74 |
}
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Scripts.php
CHANGED
@@ -12,7 +12,7 @@ class Scripts
|
|
12 |
* Constructor.
|
13 |
*
|
14 |
* @param UserFeedbackData $user_feedback_data .
|
15 |
-
* @param string|null $view_file .
|
16 |
*/
|
17 |
public function __construct(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $view_file = null)
|
18 |
{
|
12 |
* Constructor.
|
13 |
*
|
14 |
* @param UserFeedbackData $user_feedback_data .
|
15 |
+
* @param string|null $view_file If null given default scrips file is used.
|
16 |
*/
|
17 |
public function __construct(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $view_file = null)
|
18 |
{
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Thickbox.php
CHANGED
@@ -12,7 +12,7 @@ class Thickbox
|
|
12 |
* Constructor.
|
13 |
*
|
14 |
* @param UserFeedbackData $user_feedback_data .
|
15 |
-
* @param string|null $view_file .
|
16 |
*/
|
17 |
public function __construct(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $view_file = null)
|
18 |
{
|
12 |
* Constructor.
|
13 |
*
|
14 |
* @param UserFeedbackData $user_feedback_data .
|
15 |
+
* @param string|null $view_file If null given default thickbox file is used.
|
16 |
*/
|
17 |
public function __construct(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $view_file = null)
|
18 |
{
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/Tracker.php
CHANGED
@@ -44,8 +44,8 @@ class Tracker implements \FSVendor\WPDesk\PluginBuilder\Plugin\Hookable
|
|
44 |
*/
|
45 |
public function hooks()
|
46 |
{
|
47 |
-
\add_action('admin_print_footer_scripts-' . $this->user_feedback_data->get_hook_suffix(), [$this, '
|
48 |
-
\add_action('admin_footer-' . $this->user_feedback_data->get_hook_suffix(), [$this, '
|
49 |
\add_action('admin_enqueue_scripts', [$this, 'enqueue_thickbox']);
|
50 |
$this->ajax->hooks();
|
51 |
}
|
@@ -60,15 +60,15 @@ class Tracker implements \FSVendor\WPDesk\PluginBuilder\Plugin\Hookable
|
|
60 |
/**
|
61 |
* Print user feedback scripts.
|
62 |
*/
|
63 |
-
public function
|
64 |
{
|
65 |
-
echo $this->scripts->
|
66 |
}
|
67 |
/**
|
68 |
* Print user feedback thickbox.
|
69 |
*/
|
70 |
-
public function
|
71 |
{
|
72 |
-
echo $this->thickbox->
|
73 |
}
|
74 |
}
|
44 |
*/
|
45 |
public function hooks()
|
46 |
{
|
47 |
+
\add_action('admin_print_footer_scripts-' . $this->user_feedback_data->get_hook_suffix(), [$this, 'print_user_feedback_scripts']);
|
48 |
+
\add_action('admin_footer-' . $this->user_feedback_data->get_hook_suffix(), [$this, 'print_user_feedback_thickbox']);
|
49 |
\add_action('admin_enqueue_scripts', [$this, 'enqueue_thickbox']);
|
50 |
$this->ajax->hooks();
|
51 |
}
|
60 |
/**
|
61 |
* Print user feedback scripts.
|
62 |
*/
|
63 |
+
public function print_user_feedback_scripts()
|
64 |
{
|
65 |
+
echo $this->scripts->get_content();
|
66 |
}
|
67 |
/**
|
68 |
* Print user feedback thickbox.
|
69 |
*/
|
70 |
+
public function print_user_feedback_thickbox()
|
71 |
{
|
72 |
+
echo $this->thickbox->get_content();
|
73 |
}
|
74 |
}
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/TrackerFactory.php
CHANGED
@@ -2,6 +2,7 @@
|
|
2 |
|
3 |
namespace FSVendor\WPDesk\Tracker\UserFeedback;
|
4 |
|
|
|
5 |
/**
|
6 |
* Can create tracker.
|
7 |
*/
|
@@ -11,13 +12,13 @@ class TrackerFactory
|
|
11 |
* Create custom tracker.
|
12 |
*
|
13 |
* @param PluginData $user_feedback_data .
|
14 |
-
* @param Scripts|null $scripts .
|
15 |
-
* @param Thickbox|null $thickbox .
|
16 |
* @param AjaxUserFeedbackDataHandler|null $ajax
|
17 |
*
|
18 |
* @return Tracker
|
19 |
*/
|
20 |
-
public static function
|
21 |
{
|
22 |
if (empty($scripts)) {
|
23 |
$scripts = new \FSVendor\WPDesk\Tracker\UserFeedback\Scripts($user_feedback_data);
|
@@ -43,7 +44,7 @@ class TrackerFactory
|
|
43 |
*
|
44 |
* @return Tracker
|
45 |
*/
|
46 |
-
public static function
|
47 |
{
|
48 |
if (empty($scripts)) {
|
49 |
$scripts = new \FSVendor\WPDesk\Tracker\UserFeedback\Scripts($user_feedback_data);
|
@@ -52,7 +53,7 @@ class TrackerFactory
|
|
52 |
$thickbox = new \FSVendor\WPDesk\Tracker\UserFeedback\Thickbox($user_feedback_data);
|
53 |
}
|
54 |
if (empty($ajax)) {
|
55 |
-
$ajax = new \FSVendor\WPDesk\Tracker\UserFeedback\AjaxUserFeedbackDataHandler($user_feedback_data);
|
56 |
}
|
57 |
return new \FSVendor\WPDesk\Tracker\UserFeedback\Tracker($user_feedback_data, $scripts, $thickbox, $ajax);
|
58 |
}
|
2 |
|
3 |
namespace FSVendor\WPDesk\Tracker\UserFeedback;
|
4 |
|
5 |
+
use FSVendor\WPDesk\Tracker\Sender\NullSender;
|
6 |
/**
|
7 |
* Can create tracker.
|
8 |
*/
|
12 |
* Create custom tracker.
|
13 |
*
|
14 |
* @param PluginData $user_feedback_data .
|
15 |
+
* @param Scripts|null $scripts If null given default scrips file is used.
|
16 |
+
* @param Thickbox|null $thickbox If null given default thickbox file is used.
|
17 |
* @param AjaxUserFeedbackDataHandler|null $ajax
|
18 |
*
|
19 |
* @return Tracker
|
20 |
*/
|
21 |
+
public static function create_custom_tracker(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $scripts = null, $thickbox = null, $ajax = null)
|
22 |
{
|
23 |
if (empty($scripts)) {
|
24 |
$scripts = new \FSVendor\WPDesk\Tracker\UserFeedback\Scripts($user_feedback_data);
|
44 |
*
|
45 |
* @return Tracker
|
46 |
*/
|
47 |
+
public static function create_custom_tracker_with_null_sender(\FSVendor\WPDesk\Tracker\UserFeedback\UserFeedbackData $user_feedback_data, $scripts = null, $thickbox = null, $ajax = null)
|
48 |
{
|
49 |
if (empty($scripts)) {
|
50 |
$scripts = new \FSVendor\WPDesk\Tracker\UserFeedback\Scripts($user_feedback_data);
|
53 |
$thickbox = new \FSVendor\WPDesk\Tracker\UserFeedback\Thickbox($user_feedback_data);
|
54 |
}
|
55 |
if (empty($ajax)) {
|
56 |
+
$ajax = new \FSVendor\WPDesk\Tracker\UserFeedback\AjaxUserFeedbackDataHandler($user_feedback_data, new \FSVendor\WPDesk\Tracker\Sender\NullSender());
|
57 |
}
|
58 |
return new \FSVendor\WPDesk\Tracker\UserFeedback\Tracker($user_feedback_data, $scripts, $thickbox, $ajax);
|
59 |
}
|
vendor_prefixed/wpdesk/wp-wpdesk-tracker-user-feedback/src/WPDesk/Tracker/UserFeedback/UserFeedbackContent.php
CHANGED
@@ -20,7 +20,7 @@ trait UserFeedbackContent
|
|
20 |
*
|
21 |
* @return string
|
22 |
*/
|
23 |
-
public function
|
24 |
{
|
25 |
$thickbox_id = $this->user_feedback_data->get_thickbox_id();
|
26 |
$thickbox_title = $this->user_feedback_data->get_thickbox_title();
|
20 |
*
|
21 |
* @return string
|
22 |
*/
|
23 |
+
public function get_content()
|
24 |
{
|
25 |
$thickbox_id = $this->user_feedback_data->get_thickbox_id();
|
26 |
$thickbox_title = $this->user_feedback_data->get_thickbox_title();
|