PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.32
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.32
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/controllers/FrmFieldsController.php +37 -0 6.306.32 View file →
@@ -217,8 +217,14 @@
217 217 private static function get_classes_for_builder_field( $field, $display, $field_info ) {
218 218 $li_classes = $field_info->form_builder_classes( $display['type'] );
219 219 $li_classes .= ' frm_form_field frmstart ';
220 220
221 + $style_align_class = self::get_builder_field_style_align_class( $field, $field_info );
222 +
223 + if ( $style_align_class ) {
224 + $li_classes .= $style_align_class . ' ';
225 + }
226 +
221 227 if ( isset( $field['classes'] ) ) {
222 228 $li_classes .= trim( $field['classes'] ) . ' ';
223 229 }
224 230
@@ -228,8 +234,39 @@
228 234 return apply_filters( 'frm_build_field_class', $li_classes, $field );
229 235 }
230 236
231 237 return $li_classes;
238 + }
239 +
240 + /**
241 + * Apply the active style alignment to a radio or checkbox builder preview on load.
242 + *
243 + * The per-field alignment setting only exists in Pro, so on load the style setting is
244 + * used. When the field has an explicit alignment (Pro), the frm_build_field_class filter
245 + * applies it instead. When Pro is not installed, any saved alignment is treated as empty.
246 + *
247 + * @since 6.32
248 + *
249 + * @param array $field
250 + * @param FrmFieldType $field_info
251 + *
252 + * @return string
253 + */
254 + private static function get_builder_field_style_align_class( $field, $field_info ) {
255 + if ( ! $field || ! is_array( $field ) || ( ! FrmField::is_radio( $field ) && ! FrmField::is_checkbox( $field ) ) ) {
256 + return '';
257 + }
258 +
259 + $align = FrmAppHelper::pro_is_installed() ? FrmField::get_option( $field, 'align' ) : '';
260 +
261 + if ( $align ) {
262 + return '';
263 + }
264 +
265 + $align = FrmStylesHelper::get_align_from_active_style( $field );
266 + $field_info->prepare_align_class( $align );
267 +
268 + return $align;
232 269 }
233 270
234 271 public static function destroy() {
235 272 FrmAppHelper::permission_check( 'frm_edit_forms' );