PluginProbe ʕ •ᴥ•ʔ
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager / 4.1.40
Flexible Checkout Fields for WooCommerce – WooCommerce Checkout Manager v4.1.40
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 / Integration / Integrator.php
flexible-checkout-fields / src / Integration Last commit date
Field.php 4 weeks ago FieldInterface.php 4 weeks ago Fields.php 4 weeks ago FieldsInterface.php 4 weeks ago Integrator.php 4 weeks ago IntegratorIntegration.php 4 weeks ago IntegratorInterface.php 4 weeks ago Section.php 4 weeks ago SectionInterface.php 4 weeks ago Sections.php 4 weeks ago SectionsInterface.php 4 weeks ago Value.php 4 weeks ago ValueInterface.php 4 weeks ago
Integrator.php
136 lines
1 <?php
2
3 namespace WPDesk\FCF\Free\Integration;
4
5 /**
6 * .
7 */
8 class Integrator implements IntegratorInterface {
9
10 /**
11 * Major version of integration script.
12 *
13 * @var int
14 */
15 const INTEGRATOR_VERSION = 1000;
16
17 /**
18 * Version of plugin.
19 *
20 * @var string
21 */
22 private $version_plugin = FLEXIBLE_CHECKOUT_FIELDS_VERSION;
23
24 /**
25 * Version of plugin core (for compatibility with dependent plugins).
26 *
27 * @var string
28 */
29 private $version_dev = FLEXIBLE_CHECKOUT_FIELDS_VERSION_DEV;
30
31 /**
32 * List of field sections.
33 *
34 * @var array
35 */
36 private $field_sections;
37
38 /**
39 * List of field groups.
40 *
41 * @var array
42 */
43 private $field_groups;
44
45 /**
46 * Class constructor.
47 *
48 * @param array $field_sections List of field sections.
49 * @param array $field_groups List of field groups.
50 */
51 public function __construct( array $field_sections, array $field_groups ) {
52 $this->field_sections = $field_sections;
53 $this->field_groups = $field_groups;
54 }
55
56 /**
57 * Returns version of integration script.
58 *
59 * @return string Integration script version.
60 * @example Use method to integration with plugin.
61 */
62 public function get_version(): string {
63 $version_major = explode( '.', $this->version_plugin )[0];
64 $version_minor = explode( '.', $this->version_plugin )[1];
65 $version_patch = explode( '.', $this->version_plugin )[2];
66
67 return sprintf(
68 '%d.%d.%d',
69 self::INTEGRATOR_VERSION,
70 ( ( $version_major * 1000 ) + $version_minor ),
71 $version_patch
72 );
73 }
74
75 /**
76 * Returns version of plugin core (do not use this method for plugin integration).
77 *
78 * @return string Plugin core version.
79 * @example Use method to create plugin dependent on this plugin.
80 */
81 public function get_version_dev(): string {
82 $version_dev_major = explode( '.', $this->version_dev )[0];
83 $version_dev_minor = explode( '.', $this->version_dev )[1];
84 $version_major = explode( '.', $this->version_plugin )[0];
85 $version_minor = explode( '.', $this->version_plugin )[1];
86
87 return sprintf(
88 '%d.%d.%d',
89 $version_dev_major,
90 $version_dev_minor,
91 ( ( $version_major * 1000 ) + $version_minor )
92 );
93 }
94
95 /**
96 * Returns list of available field sections.
97 *
98 * @return SectionInterface[] List of objects with section data.
99 */
100 public function get_available_field_sections(): array {
101 return ( new Sections( $this->field_sections ) )->get_available_field_sections();
102 }
103
104 /**
105 * Returns list of available fields.
106 *
107 * @param string $group_key Optionally key of field group.
108 *
109 * @return FieldInterface[] List of objects with field data.
110 */
111 public function get_available_fields( string $group_key = '' ): array {
112 return ( new Fields( $this->field_groups ) )->get_available_fields( $group_key );
113 }
114
115 /**
116 * Returns value of order field.
117 *
118 * @param string $field_key Field key.
119 * @param int $order_id ID of WC_Order.
120 *
121 * @return mixed Value of field, or null if not exists.
122 */
123 public function get_field_value( string $field_key, int $order_id ) {
124 return ( new Value() )->get_field_value( $field_key, $order_id );
125 }
126
127 /**
128 * Returns raw field settings.
129 *
130 * @return array<string, mixed> settings.
131 */
132 public function get_settings(): array {
133 return $this->field_groups;
134 }
135 }
136