PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.12
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.12
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 +29 -31 6.296.12 View file →
@@ -25,9 +25,9 @@
25 25 $selector = apply_filters( 'frm_create_field_value_selector', $selector, $field_id, $args );
26 26 }
27 27
28 28 if ( ! is_object( $selector ) ) {
29 - return new FrmFieldValueSelector( $field_id, $args );
29 + $selector = new FrmFieldValueSelector( $field_id, $args );
30 30 }
31 31
32 32 return $selector;
33 33 }
@@ -35,15 +35,13 @@
35 35 /**
36 36 * @since 3.0
37 37 *
38 38 * @param array|object $field
39 - *
40 - * @return FrmFieldType
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 }
@@ -73,9 +71,15 @@
73 71 * @return FrmFieldType
74 72 */
75 73 public static function get_field_type( $field_type, $field = 0 ) {
76 74 $class = self::get_field_type_class( $field_type );
77 - return $class ? new $class( $field, $field_type ) : new FrmFieldDefault( $field, $field_type );
75 + if ( empty( $class ) ) {
76 + $field = new FrmFieldDefault( $field, $field_type );
77 + } else {
78 + $field = new $class( $field, $field_type );
79 + }
80 +
81 + return $field;
78 82 }
79 83
80 84 /**
81 85 * @since 3.0
@@ -85,30 +89,29 @@
85 89 * @return string
86 90 */
87 91 private static function get_field_type_class( $field_type ) {
88 92 $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',
93 + 'text' => 'FrmFieldText',
94 + 'textarea' => 'FrmFieldTextarea',
95 + 'select' => 'FrmFieldSelect',
96 + 'radio' => 'FrmFieldRadio',
97 + 'checkbox' => 'FrmFieldCheckbox',
98 + 'number' => 'FrmFieldNumber',
99 + 'phone' => 'FrmFieldPhone',
100 + 'url' => 'FrmFieldUrl',
101 + 'website' => 'FrmFieldUrl',
102 + 'email' => 'FrmFieldEmail',
103 + 'user_id' => 'FrmFieldUserID',
104 + 'html' => 'FrmFieldHTML',
105 + 'hidden' => 'FrmFieldHidden',
106 + 'captcha' => 'FrmFieldCaptcha',
107 + 'name' => 'FrmFieldName',
108 + 'credit_card' => 'FrmFieldCreditCard',
105 109 // Submit button field.
106 - FrmSubmitHelper::FIELD_TYPE => 'FrmFieldSubmit',
107 - FrmFieldGdprHelper::FIELD_TYPE => FrmFieldGdprHelper::get_gdpr_field_class( $field_type ),
110 + FrmSubmitHelper::FIELD_TYPE => 'FrmFieldSubmit',
108 111 );
109 112
110 - $class = $type_classes[ $field_type ] ?? '';
113 + $class = isset( $type_classes[ $field_type ] ) ? $type_classes[ $field_type ] : '';
111 114
112 115 return apply_filters( 'frm_get_field_type_class', $class, $field_type );
113 116 }
114 117
@@ -113,17 +116,13 @@
113 116 }
114 117
115 118 /**
116 119 * @since 3.0
117 - *
118 - * @param string $type
119 - *
120 - * @return mixed
121 120 */
122 121 public static function field_has_html( $type ) {
123 122 $has_html = self::field_has_property( $type, 'has_html' );
124 123
125 - // This hook is here for reverse compatibility since 3.0
124 + // this hook is here for reverse compatibility since 3.0
126 125 return apply_filters( 'frm_show_custom_html', $has_html, $type );
127 126 }
128 127
129 128 /**
@@ -130,12 +129,11 @@
130 129 * @since 3.0
131 130 *
132 131 * @param string $type
133 132 * @param string $property
134 - *
135 - * @return mixed
136 133 */
137 134 public static function field_has_property( $type, $property ) {
138 135 $field = self::get_field_type( $type );
136 +
139 137 return $field->{$property};
140 138 }
141 139 }