PluginProbe ʕ •ᴥ•ʔ
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping / 6.11.0
Weight Based Shipping Table Rate for WooCommerce – Flexible Shipping v6.11.0
6.12.1 6.12.0 6.11.0 6.10.0 6.9.1 6.9.0 6.8.1 6.8.0 6.7.4 6.7.3 6.7.2 6.7.0 4.21.7 4.22.0 4.22.1 4.23.0 4.23.1 4.23.2 4.23.3 4.24.0 4.24.1 4.24.10 4.24.11 4.24.12 4.24.13 4.24.14 4.24.15 4.24.16 4.24.17 4.24.18 4.24.19 4.24.2 4.24.4 4.24.6 4.24.7 4.24.8 4.24.9 4.25.0 4.25.1 4.25.2 4.25.4 4.25.5 4.25.6 4.25.7 4.25.8 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 4.8.0 4.8.1 4.8.3 4.8.4 4.8.5 4.9.0 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 5.1.0 5.1.1 5.1.2 5.1.3 5.2.0 5.3.0 5.3.1 5.3.3 5.3.4 5.3.5 6.0.0 6.1.0 6.1.1 6.1.2 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.3.0 trunk 6.4.0 1.4 6.4.1 1.4.1 6.4.2 1.5 6.4.3 1.6 6.4.5 1.6.1 6.5.0 1.6.2 6.5.1 1.7 6.5.2 1.8 6.5.3 1.9 6.5.4 1.9.1 6.5.5 1.9.10 6.5.6 1.9.11 6.5.7 1.9.12 6.5.8 1.9.2 6.6.0 1.9.3 6.6.1 1.9.4 6.6.2 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0 2.0.1 2.1 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.6 3.0.7 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.10.0 3.11.0 3.11.1 3.11.2 3.11.3 3.11.4 3.12.0 3.13.0 3.14.0 3.14.1 3.14.2 3.14.3 3.14.4 3.15.0 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.2.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.8.0 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.15 3.9.16 3.9.17 3.9.18 3.9.19 3.9.2 3.9.20 3.9.21 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.9 4.0.0 4.0.1 4.0.10 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.11.0 4.11.1 4.11.2 4.11.3 4.11.4 4.11.5 4.11.6 4.11.7 4.11.8 4.11.9 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.14.0 4.14.1 4.14.2 4.15.0 4.16.0 4.16.1 4.16.2 4.17.0 4.18.0 4.18.1 4.18.2 4.18.3 4.18.4 4.18.5 4.18.6 4.19.0 4.19.1 4.2.0 4.20.0 4.20.1 4.20.2 4.20.3 4.21.0 4.21.1 4.21.2 4.21.3 4.21.4 4.21.5
flexible-shipping / src / WPDesk / FS / HookProvider / Admin / DocsChatSettingsProvider.php
flexible-shipping / src / WPDesk / FS / HookProvider / Admin Last commit date
DocsChatSettingsProvider.php 2 weeks ago
DocsChatSettingsProvider.php
62 lines
1 <?php
2
3 declare( strict_types=1 );
4
5 namespace WPDesk\FS\HookProvider\Admin;
6
7 use FSVendor\Octolize\Docs\Chat\ChatSettings;
8 use FSVendor\Octolize\Docs\Chat\ChatSettingsProvider as ChatSettingsProviderInterface;
9 use FSVendor\Octolize\Docs\Chat\ConsentSettings;
10
11 /**
12 * Provides Flexible Shipping settings and context for the docs chat.
13 */
14 final class DocsChatSettingsProvider implements ChatSettingsProviderInterface {
15
16 private string $plugin_name;
17
18 public function __construct( string $plugin_name ) {
19 $this->plugin_name = $plugin_name;
20 }
21
22 /**
23 * @param array<string, mixed> $settings Current chat settings.
24 * @param array<string, mixed> $request_data Request data.
25 *
26 * @return array<string, mixed>
27 */
28 public function prepare_settings( array $settings, array $request_data ): array {
29 $chat_settings = new ChatSettings();
30 $chat_settings->set_consent_settings( $this->prepare_consent_settings() );
31 $chat_settings->set_plugin( $this->plugin_name );
32 $chat_settings->set_plugin_settings( ( new \WPDesk_Flexible_Shipping_Settings() )->settings );
33
34 $instance_id = $request_data['instance_id'] ?? '';
35 $chat_settings->set_current_page( $instance_id ? 'Shipping method' : 'Plugin Settings' );
36
37 if ( $instance_id ) {
38 $shipping_method = \WC_Shipping_Zones::get_shipping_method( (int) $instance_id );
39 if ( $shipping_method instanceof \WC_Shipping_Method ) {
40 $chat_settings->set_shipping_method_settings( $shipping_method->instance_settings );
41 }
42 }
43
44 return array_merge( $settings, $chat_settings->get_settings() );
45 }
46
47 private function prepare_consent_settings(): ConsentSettings {
48 $consent_settings = new ConsentSettings();
49 $consent_settings->set_title( __( 'Do you consent to sending data to the chat?', 'flexible-shipping' ) );
50 $consent_settings->set_message( __( 'To start the chat, we need to send your inputs and technical data to the chat service.', 'flexible-shipping' ) );
51 $consent_settings->set_accept( __( 'Accept', 'flexible-shipping' ) );
52 $consent_settings->set_decline( __( 'Decline', 'flexible-shipping' ) );
53 $consent_settings->set_privacy_policy_url( ' ' );
54 $consent_settings->set_privacy_link_label( ' ' );
55 $consent_settings->set_support_url( 'https://wordpress.org/support/plugin/flexible-shipping/' );
56 $consent_settings->set_support_text( __( 'If you don’t want to give consent, you can contact our support using this: ', 'flexible-shipping' ) );
57 $consent_settings->set_support_link_label( __( 'support forum', 'flexible-shipping' ) );
58
59 return $consent_settings;
60 }
61 }
62