PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 5.0.09
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v5.0.09
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/factories/FrmFieldFactory.php +30 -43 6.275.0.09 View file →
@@ -12,9 +12,9 @@
12 12 * Create an instance of an FrmFieldValueSelector object
13 13 *
14 14 * @since 2.03.05
15 15 *
16 - * @param int $field_id
16 + * @param int $field_id
17 17 * @param array $args
18 18 *
19 19 * @return FrmFieldValueSelector
20 20 */
@@ -34,16 +34,14 @@
34 34
35 35 /**
36 36 * @since 3.0
37 37 *
38 - * @param array|object $field
39 - *
40 - * @return FrmFieldType
38 + * @param object|array $field
41 39 */
42 40 public static function get_field_factory( $field ) {
43 41 if ( is_object( $field ) ) {
44 42 $field_info = self::get_field_object( $field );
45 - } elseif ( ! empty( $field['id'] ) ) {
43 + } elseif ( isset( $field['id'] ) && $field['id'] ) {
46 44 $field_info = self::get_field_object( $field['id'] );
47 45 } else {
48 46 $field_info = self::get_field_type( $field['type'], $field );
49 47 }
@@ -50,13 +48,8 @@
50 48
51 49 return $field_info;
52 50 }
53 51
54 - /**
55 - * @param int|object|string $field
56 - *
57 - * @return FrmFieldType
58 - */
59 52 public static function get_field_object( $field ) {
60 53 if ( ! is_object( $field ) ) {
61 54 $field = FrmField::getOne( $field );
62 55 }
@@ -66,16 +59,22 @@
66 59
67 60 /**
68 61 * @since 3.0
69 62 *
70 - * @param string $field_type
71 - * @param array|int|object $field
63 + * @param string $field_type
64 + * @param int|array|object $field
72 65 *
73 - * @return FrmFieldType
66 + * @return stdClass
74 67 */
75 68 public static function get_field_type( $field_type, $field = 0 ) {
76 69 $class = self::get_field_type_class( $field_type );
77 - return empty( $class ) ? new FrmFieldDefault( $field, $field_type ) : new $class( $field, $field_type );
70 + if ( empty( $class ) ) {
71 + $field = new FrmFieldDefault( $field, $field_type );
72 + } else {
73 + $field = new $class( $field, $field_type );
74 + }
75 +
76 + return $field;
78 77 }
79 78
80 79 /**
81 80 * @since 3.0
@@ -85,30 +84,26 @@
85 84 * @return string
86 85 */
87 86 private static function get_field_type_class( $field_type ) {
88 87 $type_classes = array(
89 - 'text' => 'FrmFieldText',
90 - 'textarea' => 'FrmFieldTextarea',
91 - 'select' => 'FrmFieldSelect',
92 - 'radio' => 'FrmFieldRadio',
93 - 'checkbox' => 'FrmFieldCheckbox',
94 - 'number' => 'FrmFieldNumber',
95 - 'phone' => 'FrmFieldPhone',
96 - 'url' => 'FrmFieldUrl',
97 - 'website' => 'FrmFieldUrl',
98 - 'email' => 'FrmFieldEmail',
99 - 'user_id' => 'FrmFieldUserID',
100 - 'html' => 'FrmFieldHTML',
101 - 'hidden' => 'FrmFieldHidden',
102 - 'captcha' => 'FrmFieldCaptcha',
103 - 'name' => 'FrmFieldName',
104 - 'credit_card' => 'FrmFieldCreditCard',
105 - // Submit button field.
106 - FrmSubmitHelper::FIELD_TYPE => 'FrmFieldSubmit',
107 - FrmFieldGdprHelper::FIELD_TYPE => FrmFieldGdprHelper::get_gdpr_field_class( $field_type ),
88 + 'text' => 'FrmFieldText',
89 + 'textarea' => 'FrmFieldTextarea',
90 + 'select' => 'FrmFieldSelect',
91 + 'radio' => 'FrmFieldRadio',
92 + 'checkbox' => 'FrmFieldCheckbox',
93 + 'number' => 'FrmFieldNumber',
94 + 'phone' => 'FrmFieldPhone',
95 + 'url' => 'FrmFieldUrl',
96 + 'website' => 'FrmFieldUrl',
97 + 'email' => 'FrmFieldEmail',
98 + 'user_id' => 'FrmFieldUserID',
99 + 'html' => 'FrmFieldHTML',
100 + 'hidden' => 'FrmFieldHidden',
101 + 'captcha' => 'FrmFieldCaptcha',
102 + 'name' => 'FrmFieldName',
108 103 );
109 104
110 - $class = $type_classes[ $field_type ] ?? '';
105 + $class = isset( $type_classes[ $field_type ] ) ? $type_classes[ $field_type ] : '';
111 106
112 107 return apply_filters( 'frm_get_field_type_class', $class, $field_type );
113 108 }
114 109
@@ -113,12 +108,8 @@
113 108 }
114 109
115 110 /**
116 111 * @since 3.0
117 - *
118 - * @param string $type
119 - *
120 - * @return mixed
121 112 */
122 113 public static function field_has_html( $type ) {
123 114 $has_html = self::field_has_property( $type, 'has_html' );
124 115
@@ -127,15 +118,11 @@
127 118 }
128 119
129 120 /**
130 121 * @since 3.0
131 - *
132 - * @param string $type
133 - * @param string $property
134 - *
135 - * @return mixed
136 122 */
137 123 public static function field_has_property( $type, $property ) {
138 124 $field = self::get_field_type( $type );
125 +
139 126 return $field->{$property};
140 127 }
141 128 }