PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / 4.1.41
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager v4.1.41
4.1.41 4.1.40 4.1.39 4.1.38 trunk 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.3.3 1.4 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.10 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.2 1.8.3 1.9.0 1.9.1 1.9.2 1.9.3 2.0.0 2.0.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.4 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.10 2.4.11 2.4.12 2.4.13 2.4.14 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.6.0 2.7.0 2.7.1 2.8.0 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.10 3.0.11 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.3.0 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.10 3.5.11 3.5.12 3.5.13 3.5.14 3.5.15 3.5.16 3.5.17 3.5.18 3.5.19 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.5.7 3.5.8 3.5.9 3.6.0 4.0.0 4.1.0 4.1.1 4.1.10 4.1.11 4.1.12 4.1.13 4.1.14 4.1.15 4.1.16 4.1.17 4.1.18 4.1.19 4.1.2 4.1.20 4.1.21 4.1.22 4.1.23 4.1.24 4.1.25 4.1.26 4.1.27 4.1.28 4.1.29 4.1.3 4.1.30 4.1.31 4.1.32 4.1.34 4.1.35 4.1.36 4.1.37 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9
flexible-checkout-fields / src / Settings / Form / SettingsPageForm.php
flexible-checkout-fields / src / Settings / Form Last commit date
EditFieldsForm.php 2 weeks ago FormAbstract.php 2 weeks ago FormIntegration.php 2 weeks ago FormInterface.php 2 weeks ago SettingsPageForm.php 2 weeks ago
SettingsPageForm.php
85 lines
1 <?php
2
3 namespace WPDesk\FCF\Free\Settings\Form;
4
5 use WPDesk\FCF\Free\Settings\Option\OptionIntegration;
6 use WPDesk\FCF\Free\Settings\Option\OptionInterface;
7 use WPDesk\FCF\Free\Settings\Option\SettingJqueryOption;
8 use WPDesk\FCF\Free\Settings\Option\SettingSectionsAdvOption;
9
10 /**
11 * {@inheritdoc}
12 */
13 class SettingsPageForm extends FormAbstract implements FormInterface {
14
15 const FORM_TYPE = 'settings';
16
17 /**
18 * {@inheritdoc}
19 */
20 public function get_form_type(): string {
21 return self::FORM_TYPE;
22 }
23
24 /**
25 * {@inheritdoc}
26 */
27 public function get_form_data( array $form_data, string $form_key = '' ): array {
28 $section_fields = [];
29
30 $options = ( new SettingJqueryOption() )->get_children();
31 foreach ( $options as $option ) {
32 $option_status = get_option( $option->get_option_name(), 0 );
33 $section_fields[ $option->get_option_name() ] = ( $option_status ) ? '1' : '0';
34 }
35
36 $option_objects = $this->get_options_list();
37 foreach ( $option_objects as $field_option ) {
38 $form_data = $field_option['update_field_callback'](
39 $form_data,
40 $section_fields
41 );
42 }
43
44 return $form_data;
45 }
46
47 /**
48 * Returns list of option objects.
49 *
50 * @return OptionInterface[] List of options.
51 */
52 public function get_options_list(): array {
53 return [
54 ( new OptionIntegration( new SettingJqueryOption() ) )->get_field_settings(),
55 ( new OptionIntegration( new SettingSectionsAdvOption() ) )->get_field_settings(),
56 ];
57 }
58
59 /**
60 * Saves settings for form.
61 *
62 * @param array $params Params for endpoint.
63 *
64 * @return bool Status of process.
65 * @throws \Exception .
66 */
67 public function save_form_data( array $params ): bool {
68 $settings_options = [];
69
70 $option_objects = $this->get_options_list();
71 foreach ( $option_objects as $field_option ) {
72 $settings_options = $field_option['save_field_callback'](
73 $settings_options,
74 $params['form_fields']
75 );
76 }
77
78 foreach ( $settings_options as $option => $option_status ) {
79 update_option( $option, ( $option_status ) ? '1' : '0', true );
80 }
81
82 return true;
83 }
84 }
85