name = esc_html__( 'Section', 'et_builder' ); $this->slug = 'et_pb_section'; $this->fb_support = true; $this->whitelisted_fields = array( 'background_color', 'inner_shadow', 'parallax_1', 'parallax_2', 'parallax_3', 'parallax_method_1', 'parallax_method_2', 'parallax_method_3', 'module_id', 'module_class', 'make_fullwidth', 'use_custom_width', 'width_unit', 'custom_width_px', 'custom_width_percent', 'make_equal', 'use_custom_gutter', 'gutter_width', 'columns', 'fullwidth', 'specialty', 'background_color_1', 'background_color_2', 'background_color_3', 'bg_img_1', 'bg_img_2', 'bg_img_3', 'padding_top_1', 'padding_right_1', 'padding_bottom_1', 'padding_left_1', 'padding_top_2', 'padding_right_2', 'padding_bottom_2', 'padding_left_2', 'padding_top_3', 'padding_right_3', 'padding_bottom_3', 'padding_left_3', 'padding_1_tablet', 'padding_2_tablet', 'padding_3_tablet', 'padding_1_phone', 'padding_2_phone', 'padding_3_phone', 'padding_1_last_edited', 'padding_2_last_edited', 'padding_3_last_edited', 'admin_label', 'module_id_1', 'module_id_2', 'module_id_3', 'module_class_1', 'module_class_2', 'module_class_3', 'custom_css_before_1', 'custom_css_before_2', 'custom_css_before_3', 'custom_css_main_1', 'custom_css_main_2', 'custom_css_main_3', 'custom_css_after_1', 'custom_css_after_2', 'custom_css_after_3', 'background_size_1', 'background_position_1', 'background_repeat_1', 'background_blend_1', 'use_background_color_gradient_1', 'background_color_gradient_start_1', 'background_color_gradient_end_1', 'background_color_gradient_type_1', 'background_color_gradient_direction_1', 'background_color_gradient_direction_radial_1', 'background_color_gradient_start_position_1', 'background_color_gradient_end_position_1', 'background_color_gradient_overlays_image_1', 'background_size_2', 'background_position_2', 'background_repeat_2', 'background_blend_2', 'use_background_color_gradient_2', 'background_color_gradient_start_2', 'background_color_gradient_end_2', 'background_color_gradient_type_2', 'background_color_gradient_direction_2', 'background_color_gradient_direction_radial_2', 'background_color_gradient_start_position_2', 'background_color_gradient_end_position_2', 'background_color_gradient_overlays_image_2', 'background_size_3', 'background_position_3', 'background_repeat_3', 'background_blend_3', 'use_background_color_gradient_3', 'background_color_gradient_start_3', 'background_color_gradient_end_3', 'background_color_gradient_type_3', 'background_color_gradient_direction_3', 'background_color_gradient_direction_radial_3', 'background_color_gradient_start_position_3', 'background_color_gradient_end_position_3', 'background_color_gradient_overlays_image_3', 'background_video_mp4_1', 'background_video_webm_1', 'background_video_width_1', 'background_video_height_1', 'allow_player_pause_1', 'background_video_pause_outside_viewport_1', '__video_background_1', 'background_video_mp4_2', 'background_video_webm_2', 'background_video_width_2', 'background_video_height_2', 'allow_player_pause_2', 'background_video_pause_outside_viewport_2', '__video_background_2', 'background_video_mp4_3', 'background_video_webm_3', 'background_video_width_3', 'background_video_height_3', 'allow_player_pause_3', 'background_video_pause_outside_viewport_3', '__video_background_3', 'prev_background_color', 'next_background_color', ); $this->options_toggles = array( 'general' => array( 'toggles' => array( 'background' => array( 'title' => esc_html__( 'Background', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), ), ), ), ), 'advanced' => array( 'toggles' => array( 'layout' => esc_html__( 'Layout', 'et_builder' ), 'width' => array( 'title' => esc_html__( 'Sizing', 'et_builder' ), 'priority' => 65, ), 'custom_margin_padding' => array( 'title' => esc_html__( 'Spacing', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), ), 'priority' => 70, ), ), ), 'custom_css' => array( 'toggles' => array( 'classes' => array( 'title' => esc_html__( 'CSS ID & Classes', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), ), ), 'custom_css' => array( 'title' => esc_html__( 'Custom CSS', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), ), ), ), ), ); $this->advanced_options = array( 'background' => array( 'use_background_color' => false, 'use_background_image' => true, 'use_background_color_gradient' => true, 'use_background_video' => true, 'css' => array( 'important' => 'all', 'main' => 'div.et_pb_section%%order_class%%', ), ), 'custom_margin_padding' => array(), 'max_width' => array( 'css' => array( 'module_alignment' => '%%order_class%%', ), 'options' => array( 'module_alignment' => array( 'label' => esc_html__( 'Section Alignment', 'et_builder' ), ), ), ), 'border' => array(), 'filters' => array(), ); $this->fields_defaults = array( 'background_color' => array( '', 'only_default_setting' ), 'allow_player_pause' => array( 'off' ), 'background_video_pause_outside_viewport' => array( 'on' ), 'inner_shadow' => array( 'off' ), 'parallax' => array( 'off' ), 'parallax_method' => array( 'on' ), 'parallax_1' => array( 'off' ), 'parallax_method_1' => array( 'on' ), 'parallax_2' => array( 'off' ), 'parallax_method_2' => array( 'on' ), 'parallax_3' => array( 'off' ), 'parallax_method_3' => array( 'on' ), 'padding_mobile' => array( '' ), 'make_fullwidth' => array( 'off' ), 'use_custom_width' => array( 'off' ), 'width_unit' => array( 'on' ), 'custom_width_px' => array( '1080px', 'only_default_setting' ), 'custom_width_percent' => array( '80%', 'only_default_setting' ), 'make_equal' => array( 'off' ), 'use_custom_gutter' => array( 'off' ), 'gutter_width' => array( '' ), 'fullwidth' => array( 'off' ), 'specialty' => array( 'off' ), 'custom_padding_tablet' => array( '' ), 'custom_padding_phone' => array( '' ), ); } function get_fields() { $fields = array( 'background_color' => array( 'label' => esc_html__( 'Background Color', 'et_builder' ), 'type' => 'color-alpha', 'default' => '#ffffff', 'depends_show_if' => 'off', 'description' => esc_html__( 'Define a custom background color for your module, or leave blank to use the default color.', 'et_builder' ), 'additional_code' => '', 'toggle_slug' => 'background', ), 'inner_shadow' => array( 'label' => esc_html__( 'Show Inner Shadow', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'configuration', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'description' => esc_html__( 'Here you can select whether or not your section has an inner shadow. This can look great when you have colored backgrounds or background images.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'layout', ), 'make_fullwidth' => array( 'label' => esc_html__( 'Make This Section Fullwidth', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'depends_show_if' => 'off', 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'use_custom_width' => array( 'label' => esc_html__( 'Use Custom Width', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'affects' => array( 'make_fullwidth', 'custom_width', 'width_unit', ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'width_unit' => array( 'label' => esc_html__( 'Unit', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'on' => esc_html__( 'px', 'et_builder' ), 'off' => '%', ), 'default' => 'on', 'button_options' => array( 'button_type' => 'equal', ), 'depends_show_if' => 'on', 'affects' => array( 'custom_width_px', 'custom_width_percent', ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'custom_width_px' => array( 'label' => esc_html__( 'Custom Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'depends_show_if_not' => 'off', 'validate_unit' => true, 'fixed_unit' => 'px', 'range_settings' => array( 'min' => 500, 'max' => 2600, 'step' => 1, ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'custom_width_percent' => array( 'label' => esc_html__( 'Custom Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'depends_show_if' => 'off', 'validate_unit' => true, 'fixed_unit' => '%', 'range_settings' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'make_equal' => array( 'label' => esc_html__( 'Equalize Column Heights', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'use_custom_gutter' => array( 'label' => esc_html__( 'Use Custom Gutter Width', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'affects' => array( 'gutter_width', ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', ), 'gutter_width' => array( 'label' => esc_html__( 'Gutter Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'range_settings' => array( 'min' => 1, 'max' => 4, 'step' => 1, ), 'depends_show_if' => 'on', 'tab_slug' => 'advanced', 'toggle_slug' => 'width', 'specialty_only' => 'yes', 'validate_unit' => false, 'fixed_range' => true, ), 'columns_background' => array( 'type' => 'column_settings_background', 'option_category' => 'configuration', 'toggle_slug' => 'background', 'specialty_only' => 'yes', ), 'columns_padding' => array( 'type' => 'column_settings_padding', 'option_category' => 'configuration', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', 'specialty_only' => 'yes', ), 'fullwidth' => array( 'type' => 'skip', ), 'specialty' => array( 'type' => 'skip', ), 'parallax_1' => array( 'type' => 'skip', ), 'parallax_2' => array( 'type' => 'skip', ), 'parallax_3' => array( 'type' => 'skip', ), 'parallax_method_1' => array( 'type' => 'skip', ), 'parallax_method_2' => array( 'type' => 'skip', ), 'parallax_method_3' => array( 'type' => 'skip', ), 'background_color_1' => array( 'type' => 'skip', ), 'background_color_2' => array( 'type' => 'skip', ), 'background_color_3' => array( 'type' => 'skip', ), 'bg_img_1' => array( 'type' => 'skip', ), 'bg_img_2' => array( 'type' => 'skip', ), 'bg_img_3' => array( 'type' => 'skip', ), 'background_size_1' => array( 'type' => 'skip', ), 'background_size_2' => array( 'type' => 'skip', ), 'background_size_3' => array( 'type' => 'skip', ), 'background_position_1' => array( 'type' => 'skip', ), 'background_position_2' => array( 'type' => 'skip', ), 'background_position_3' => array( 'type' => 'skip', ), 'background_repeat_1' => array( 'type' => 'skip', ), 'background_repeat_2' => array( 'type' => 'skip', ), 'background_repeat_3' => array( 'type' => 'skip', ), 'background_blend_1' => array( 'type' => 'skip', ), 'background_blend_2' => array( 'type' => 'skip', ), 'background_blend_3' => array( 'type' => 'skip', ), 'padding_top_1' => array( 'type' => 'skip', ), 'padding_right_1' => array( 'type' => 'skip', ), 'padding_bottom_1' => array( 'type' => 'skip', ), 'padding_left_1' => array( 'type' => 'skip', ), 'padding_top_2' => array( 'type' => 'skip', ), 'padding_right_2' => array( 'type' => 'skip', ), 'padding_bottom_2' => array( 'type' => 'skip', ), 'padding_left_2' => array( 'type' => 'skip', ), 'padding_top_3' => array( 'type' => 'skip', ), 'padding_right_3' => array( 'type' => 'skip', ), 'padding_bottom_3' => array( 'type' => 'skip', ), 'padding_left_3' => array( 'type' => 'skip', ), 'padding_1_tablet' => array( 'type' => 'skip', ), 'padding_2_tablet' => array( 'type' => 'skip', ), 'padding_3_tablet' => array( 'type' => 'skip', ), 'padding_1_phone' => array( 'type' => 'skip', ), 'padding_2_phone' => array( 'type' => 'skip', ), 'padding_3_phone' => array( 'type' => 'skip', ), 'padding_1_last_edited' => array( 'type' => 'skip', ), 'padding_2_last_edited' => array( 'type' => 'skip', ), 'padding_3_last_edited' => array( 'type' => 'skip', ), 'module_id_1' => array( 'type' => 'skip', ), 'module_id_2' => array( 'type' => 'skip', ), 'module_id_3' => array( 'type' => 'skip', ), 'module_class_1' => array( 'type' => 'skip', ), 'module_class_2' => array( 'type' => 'skip', ), 'module_class_3' => array( 'type' => 'skip', ), 'custom_css_before_1' => array( 'type' => 'skip', ), 'custom_css_before_2' => array( 'type' => 'skip', ), 'custom_css_before_3' => array( 'type' => 'skip', ), 'custom_css_main_1' => array( 'type' => 'skip', ), 'custom_css_main_2' => array( 'type' => 'skip', ), 'custom_css_main_3' => array( 'type' => 'skip', ), 'custom_css_after_1' => array( 'type' => 'skip', ), 'custom_css_after_2' => array( 'type' => 'skip', ), 'custom_css_after_3' => array( 'type' => 'skip', ), 'use_background_color_gradient_1' => array( 'type' => 'skip', ), 'use_background_color_gradient_2' => array( 'type' => 'skip', ), 'use_background_color_gradient_3' => array( 'type' => 'skip', ), 'background_color_gradient_start_1' => array( 'type' => 'skip', ), 'background_color_gradient_start_2' => array( 'type' => 'skip', ), 'background_color_gradient_start_3' => array( 'type' => 'skip', ), 'background_color_gradient_end_1' => array( 'type' => 'skip', ), 'background_color_gradient_end_2' => array( 'type' => 'skip', ), 'background_color_gradient_end_3' => array( 'type' => 'skip', ), 'background_color_gradient_type_1' => array( 'type' => 'skip', ), 'background_color_gradient_type_2' => array( 'type' => 'skip', ), 'background_color_gradient_type_3' => array( 'type' => 'skip', ), 'background_color_gradient_direction_1' => array( 'type' => 'skip', ), 'background_color_gradient_direction_2' => array( 'type' => 'skip', ), 'background_color_gradient_direction_3' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_1' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_2' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_3' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_1' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_2' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_3' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_1' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_2' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_3' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_1' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_2' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_3' => array( 'type' => 'skip', ), 'background_video_mp4_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_webm_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_width_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_height_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'allow_player_pause_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_pause_outside_viewport_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), '__video_background_1' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_1', 'background_video_webm_1', 'background_video_width_1', 'background_video_height_1', ), 'computed_minimum' => array( 'background_video_mp4_1', 'background_video_webm_1', ), ), 'background_video_mp4_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_webm_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_width_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_height_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'allow_player_pause_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_pause_outside_viewport_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), '__video_background_2' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_2', 'background_video_webm_2', 'background_video_width_2', 'background_video_height_2', ), 'computed_minimum' => array( 'background_video_mp4_2', 'background_video_webm_2', ), ), 'background_video_mp4_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_webm_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_width_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_height_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'allow_player_pause_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_pause_outside_viewport_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), '__video_background_3' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_3', 'background_video_webm_3', 'background_video_width_3', 'background_video_height_3', ), 'computed_minimum' => array( 'background_video_mp4_3', 'background_video_webm_3', ), ), 'columns_css' => array( 'type' => 'column_settings_css', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'custom_css', 'priority' => '20', ), 'disabled_on' => array( 'label' => esc_html__( 'Disable on', 'et_builder' ), 'type' => 'multiple_checkboxes', 'options' => array( 'phone' => esc_html__( 'Phone', 'et_builder' ), 'tablet' => esc_html__( 'Tablet', 'et_builder' ), 'desktop' => esc_html__( 'Desktop', 'et_builder' ), ), 'additional_att' => 'disable_on', 'option_category' => 'configuration', 'description' => esc_html__( 'This will disable the module on selected devices', 'et_builder' ), 'tab_slug' => 'custom_css', 'toggle_slug' => 'visibility', ), 'admin_label' => array( 'label' => esc_html__( 'Admin Label', 'et_builder' ), 'type' => 'text', 'description' => esc_html__( 'This will change the label of the section in the builder for easy identification when collapsed.', 'et_builder' ), 'toggle_slug' => 'admin_label', ), 'module_id' => array( 'label' => esc_html__( 'CSS ID', 'et_builder' ), 'type' => 'text', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', 'option_class' => 'et_pb_custom_css_regular', ), 'module_class' => array( 'label' => esc_html__( 'CSS Class', 'et_builder' ), 'type' => 'text', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', 'option_class' => 'et_pb_custom_css_regular', ), 'columns_css_fields' => array( 'type' => 'column_settings_css_fields', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', ), 'custom_padding_last_edited' => array( 'type' => 'skip', 'tab_slug' => 'advanced', 'specialty_only' => 'yes', ), '__video_background' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Section', 'get_video_background' ), 'computed_depends_on' => array( 'background_video_mp4', 'background_video_webm', 'background_video_width', 'background_video_height', ), 'computed_minimum' => array( 'background_video_mp4', 'background_video_webm', ), ), 'prev_background_color' => array( 'type' => 'skip', ), 'next_background_color' => array( 'type' => 'skip', ), ); return $fields; } function shortcode_callback( $atts, $content = null, $function_name ) { $module_id = $this->shortcode_atts['module_id']; $module_class = $this->shortcode_atts['module_class']; $background_image = $this->shortcode_atts['background_image']; $background_color = $this->shortcode_atts['background_color']; $background_video_mp4 = $this->shortcode_atts['background_video_mp4']; $background_video_webm = $this->shortcode_atts['background_video_webm']; $inner_shadow = $this->shortcode_atts['inner_shadow']; $parallax = $this->shortcode_atts['parallax']; $parallax_method = $this->shortcode_atts['parallax_method']; $fullwidth = $this->shortcode_atts['fullwidth']; $specialty = $this->shortcode_atts['specialty']; $background_color_1 = $this->shortcode_atts['background_color_1']; $background_color_2 = $this->shortcode_atts['background_color_2']; $background_color_3 = $this->shortcode_atts['background_color_3']; $bg_img_1 = $this->shortcode_atts['bg_img_1']; $bg_img_2 = $this->shortcode_atts['bg_img_2']; $bg_img_3 = $this->shortcode_atts['bg_img_3']; $background_size_1 = $this->shortcode_atts['background_size_1']; $background_size_2 = $this->shortcode_atts['background_size_2']; $background_size_3 = $this->shortcode_atts['background_size_3']; $background_position_1 = $this->shortcode_atts['background_position_1']; $background_position_2 = $this->shortcode_atts['background_position_2']; $background_position_3 = $this->shortcode_atts['background_position_3']; $background_repeat_1 = $this->shortcode_atts['background_repeat_1']; $background_repeat_2 = $this->shortcode_atts['background_repeat_2']; $background_repeat_3 = $this->shortcode_atts['background_repeat_3']; $background_blend_1 = $this->shortcode_atts['background_blend_1']; $background_blend_2 = $this->shortcode_atts['background_blend_2']; $background_blend_3 = $this->shortcode_atts['background_blend_3']; $parallax_1 = $this->shortcode_atts['parallax_1']; $parallax_2 = $this->shortcode_atts['parallax_2']; $parallax_3 = $this->shortcode_atts['parallax_3']; $parallax_method_1 = $this->shortcode_atts['parallax_method_1']; $parallax_method_2 = $this->shortcode_atts['parallax_method_2']; $parallax_method_3 = $this->shortcode_atts['parallax_method_3']; $padding_top_1 = $this->shortcode_atts['padding_top_1']; $padding_right_1 = $this->shortcode_atts['padding_right_1']; $padding_bottom_1 = $this->shortcode_atts['padding_bottom_1']; $padding_left_1 = $this->shortcode_atts['padding_left_1']; $padding_top_2 = $this->shortcode_atts['padding_top_2']; $padding_right_2 = $this->shortcode_atts['padding_right_2']; $padding_bottom_2 = $this->shortcode_atts['padding_bottom_2']; $padding_left_2 = $this->shortcode_atts['padding_left_2']; $padding_top_3 = $this->shortcode_atts['padding_top_3']; $padding_right_3 = $this->shortcode_atts['padding_right_3']; $padding_bottom_3 = $this->shortcode_atts['padding_bottom_3']; $padding_left_3 = $this->shortcode_atts['padding_left_3']; $padding_1_tablet = $this->shortcode_atts['padding_1_tablet']; $padding_2_tablet = $this->shortcode_atts['padding_2_tablet']; $padding_3_tablet = $this->shortcode_atts['padding_3_tablet']; $padding_1_phone = $this->shortcode_atts['padding_1_phone']; $padding_2_phone = $this->shortcode_atts['padding_2_phone']; $padding_3_phone = $this->shortcode_atts['padding_3_phone']; $padding_1_last_edited = $this->shortcode_atts['padding_1_last_edited']; $padding_2_last_edited = $this->shortcode_atts['padding_2_last_edited']; $padding_3_last_edited = $this->shortcode_atts['padding_3_last_edited']; $gutter_width = $this->shortcode_atts['gutter_width']; $use_custom_width = $this->shortcode_atts['use_custom_width']; $custom_width_px = $this->shortcode_atts['custom_width_px']; $custom_width_percent = $this->shortcode_atts['custom_width_percent']; $width_unit = $this->shortcode_atts['width_unit']; $make_equal = $this->shortcode_atts['make_equal']; $make_fullwidth = $this->shortcode_atts['make_fullwidth']; $global_module = $this->shortcode_atts['global_module']; $use_custom_gutter = $this->shortcode_atts['use_custom_gutter']; $module_id_1 = $this->shortcode_atts['module_id_1']; $module_id_2 = $this->shortcode_atts['module_id_2']; $module_id_3 = $this->shortcode_atts['module_id_3']; $module_class_1 = $this->shortcode_atts['module_class_1']; $module_class_2 = $this->shortcode_atts['module_class_2']; $module_class_3 = $this->shortcode_atts['module_class_3']; $custom_css_before_1 = $this->shortcode_atts['custom_css_before_1']; $custom_css_before_2 = $this->shortcode_atts['custom_css_before_2']; $custom_css_before_3 = $this->shortcode_atts['custom_css_before_3']; $custom_css_main_1 = $this->shortcode_atts['custom_css_main_1']; $custom_css_main_2 = $this->shortcode_atts['custom_css_main_2']; $custom_css_main_3 = $this->shortcode_atts['custom_css_main_3']; $custom_css_after_1 = $this->shortcode_atts['custom_css_after_1']; $custom_css_after_2 = $this->shortcode_atts['custom_css_after_2']; $custom_css_after_3 = $this->shortcode_atts['custom_css_after_3']; $use_background_color_gradient_1 = $this->shortcode_atts['use_background_color_gradient_1']; $use_background_color_gradient_2 = $this->shortcode_atts['use_background_color_gradient_2']; $use_background_color_gradient_3 = $this->shortcode_atts['use_background_color_gradient_3']; $background_color_gradient_type_1 = $this->shortcode_atts['background_color_gradient_type_1']; $background_color_gradient_type_2 = $this->shortcode_atts['background_color_gradient_type_2']; $background_color_gradient_type_3 = $this->shortcode_atts['background_color_gradient_type_3']; $background_color_gradient_direction_1 = $this->shortcode_atts['background_color_gradient_direction_1']; $background_color_gradient_direction_2 = $this->shortcode_atts['background_color_gradient_direction_2']; $background_color_gradient_direction_3 = $this->shortcode_atts['background_color_gradient_direction_3']; $background_color_gradient_direction_radial_1 = $this->shortcode_atts['background_color_gradient_direction_radial_1']; $background_color_gradient_direction_radial_2 = $this->shortcode_atts['background_color_gradient_direction_radial_2']; $background_color_gradient_direction_radial_3 = $this->shortcode_atts['background_color_gradient_direction_radial_3']; $background_color_gradient_start_1 = $this->shortcode_atts['background_color_gradient_start_1']; $background_color_gradient_start_2 = $this->shortcode_atts['background_color_gradient_start_2']; $background_color_gradient_start_3 = $this->shortcode_atts['background_color_gradient_start_3']; $background_color_gradient_end_1 = $this->shortcode_atts['background_color_gradient_end_1']; $background_color_gradient_end_2 = $this->shortcode_atts['background_color_gradient_end_2']; $background_color_gradient_end_3 = $this->shortcode_atts['background_color_gradient_end_3']; $background_color_gradient_start_position_1 = $this->shortcode_atts['background_color_gradient_start_position_1']; $background_color_gradient_start_position_2 = $this->shortcode_atts['background_color_gradient_start_position_2']; $background_color_gradient_start_position_3 = $this->shortcode_atts['background_color_gradient_start_position_3']; $background_color_gradient_end_position_1 = $this->shortcode_atts['background_color_gradient_end_position_1']; $background_color_gradient_end_position_2 = $this->shortcode_atts['background_color_gradient_end_position_2']; $background_color_gradient_end_position_3 = $this->shortcode_atts['background_color_gradient_end_position_3']; $background_color_gradient_overlays_image_1 = $this->shortcode_atts['background_color_gradient_overlays_image_1']; $background_color_gradient_overlays_image_2 = $this->shortcode_atts['background_color_gradient_overlays_image_2']; $background_color_gradient_overlays_image_3 = $this->shortcode_atts['background_color_gradient_overlays_image_3']; $background_video_mp4_1 = $this->shortcode_atts['background_video_mp4_1']; $background_video_mp4_2 = $this->shortcode_atts['background_video_mp4_2']; $background_video_mp4_3 = $this->shortcode_atts['background_video_mp4_3']; $background_video_webm_1 = $this->shortcode_atts['background_video_webm_1']; $background_video_webm_2 = $this->shortcode_atts['background_video_webm_2']; $background_video_webm_3 = $this->shortcode_atts['background_video_webm_3']; $background_video_width_1 = $this->shortcode_atts['background_video_width_1']; $background_video_width_2 = $this->shortcode_atts['background_video_width_2']; $background_video_width_3 = $this->shortcode_atts['background_video_width_3']; $background_video_height_1 = $this->shortcode_atts['background_video_height_1']; $background_video_height_2 = $this->shortcode_atts['background_video_height_2']; $background_video_height_3 = $this->shortcode_atts['background_video_height_3']; $allow_player_pause_1 = $this->shortcode_atts['allow_player_pause_1']; $allow_player_pause_2 = $this->shortcode_atts['allow_player_pause_2']; $allow_player_pause_3 = $this->shortcode_atts['allow_player_pause_3']; $background_video_pause_outside_viewport_1 = $this->shortcode_atts['background_video_pause_outside_viewport_1']; $background_video_pause_outside_viewport_2 = $this->shortcode_atts['background_video_pause_outside_viewport_2']; $background_video_pause_outside_viewport_3 = $this->shortcode_atts['background_video_pause_outside_viewport_3']; if ( '' !== $global_module ) { $global_content = et_pb_load_global_module( $global_module ); if ( '' !== $global_content ) { return do_shortcode( et_pb_fix_shortcodes( wpautop( $global_content ) ) ); } } $module_class = ET_Builder_Element::add_module_order_class( $module_class, $function_name ); $gutter_class = ''; if ( 'on' === $specialty ) { global $et_pb_all_column_settings, $et_pb_rendering_column_content, $et_pb_rendering_column_content_row; $et_pb_all_column_settings_backup = $et_pb_all_column_settings; $et_pb_all_column_settings = ! isset( $et_pb_all_column_settings ) ? array() : $et_pb_all_column_settings; $module_class .= 'on' === $make_equal ? ' et_pb_equal_columns' : ''; if ( 'on' === $use_custom_gutter && '' !== $gutter_width ) { $gutter_width = '0' === $gutter_width ? '1' : $gutter_width; // set the gutter to 1 if 0 entered by user $gutter_class .= ' et_pb_gutters' . $gutter_width; } $et_pb_columns_counter = 0; $et_pb_column_backgrounds = array( array( 'color' => $background_color_1, 'image' => $bg_img_1, 'image_size' => $background_size_1, 'image_position' => $background_position_1, 'image_repeat' => $background_repeat_1, 'image_blend' => $background_blend_1, ), array( 'color' => $background_color_2, 'image' => $bg_img_2, 'image_size' => $background_size_2, 'image_position' => $background_position_2, 'image_repeat' => $background_repeat_2, 'image_blend' => $background_blend_2, ), array( 'color' => $background_color_3, 'image' => $bg_img_3, 'image_size' => $background_size_3, 'image_position' => $background_position_3, 'image_repeat' => $background_repeat_3, 'image_blend' => $background_blend_3, ), ); $et_pb_column_backgrounds_gradient = array( array( 'active' => $use_background_color_gradient_1, 'type' => $background_color_gradient_type_1, 'direction' => $background_color_gradient_direction_1, 'radial_direction' => $background_color_gradient_direction_radial_1, 'color_start' => $background_color_gradient_start_1, 'color_end' => $background_color_gradient_end_1, 'start_position' => $background_color_gradient_start_position_1, 'end_position' => $background_color_gradient_end_position_1, 'overlays_image' => $background_color_gradient_overlays_image_1, ), array( 'active' => $use_background_color_gradient_2, 'type' => $background_color_gradient_type_2, 'direction' => $background_color_gradient_direction_2, 'radial_direction' => $background_color_gradient_direction_radial_2, 'color_start' => $background_color_gradient_start_2, 'color_end' => $background_color_gradient_end_2, 'start_position' => $background_color_gradient_start_position_2, 'end_position' => $background_color_gradient_end_position_2, 'overlays_image' => $background_color_gradient_overlays_image_2, ), array( 'active' => $use_background_color_gradient_3, 'type' => $background_color_gradient_type_3, 'direction' => $background_color_gradient_direction_3, 'radial_direction' => $background_color_gradient_direction_radial_3, 'color_start' => $background_color_gradient_start_3, 'color_end' => $background_color_gradient_end_3, 'start_position' => $background_color_gradient_start_position_3, 'end_position' => $background_color_gradient_end_position_3, 'overlays_image' => $background_color_gradient_overlays_image_3, ), ); $et_pb_column_backgrounds_video = array( array( 'background_video_mp4' => $background_video_mp4_1, 'background_video_webm' => $background_video_webm_1, 'background_video_width' => $background_video_width_1, 'background_video_height' => $background_video_height_1, 'background_video_allow_pause' => $allow_player_pause_1, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_1, ), array( 'background_video_mp4' => $background_video_mp4_2, 'background_video_webm' => $background_video_webm_2, 'background_video_width' => $background_video_width_2, 'background_video_height' => $background_video_height_2, 'background_video_allow_pause' => $allow_player_pause_2, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_2, ), array( 'background_video_mp4' => $background_video_mp4_3, 'background_video_webm' => $background_video_webm_3, 'background_video_width' => $background_video_width_3, 'background_video_height' => $background_video_height_3, 'background_video_allow_pause' => $allow_player_pause_3, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_3, ), ); $et_pb_column_paddings = array( array( 'padding-top' => $padding_top_1, 'padding-right' => $padding_right_1, 'padding-bottom' => $padding_bottom_1, 'padding-left' => $padding_left_1, ), array( 'padding-top' => $padding_top_2, 'padding-right' => $padding_right_2, 'padding-bottom' => $padding_bottom_2, 'padding-left' => $padding_left_2, ), array( 'padding-top' => $padding_top_3, 'padding-right' => $padding_right_3, 'padding-bottom' => $padding_bottom_3, 'padding-left' => $padding_left_3, ), ); $et_pb_column_paddings_mobile = array( array( 'tablet' => explode( '|', $padding_1_tablet ), 'phone' => explode( '|', $padding_1_phone ), 'last_edited' => $padding_1_last_edited, ), array( 'tablet' => explode( '|', $padding_2_tablet ), 'phone' => explode( '|', $padding_2_phone ), 'last_edited' => $padding_2_last_edited, ), array( 'tablet' => explode( '|', $padding_3_tablet ), 'phone' => explode( '|', $padding_3_phone ), 'last_edited' => $padding_3_last_edited, ), ); $et_pb_column_parallax = array( array( $parallax_1, $parallax_method_1 ), array( $parallax_2, $parallax_method_2 ), array( $parallax_3, $parallax_method_3 ), ); if ( 'on' === $make_fullwidth && 'off' === $use_custom_width ) { $module_class .= ' et_pb_specialty_fullwidth'; } if ( 'on' === $use_custom_width ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%% > .et_pb_row', 'declaration' => sprintf( 'max-width:%1$s !important; %2$s', 'on' === $width_unit ? esc_attr( sprintf( '%1$spx', intval( $custom_width_px ) ) ) : esc_attr( sprintf( '%1$s%%', intval( $custom_width_percent ) ) ), 'on' !== $width_unit ? esc_attr( sprintf( 'width: %1$s%%;', intval( $custom_width_percent ) ) ) : '' ), ) ); } $et_pb_column_css = array( 'css_class' => array( $module_class_1, $module_class_2, $module_class_3 ), 'css_id' => array( $module_id_1, $module_id_2, $module_id_3 ), 'custom_css_before' => array( $custom_css_before_1, $custom_css_before_2, $custom_css_before_3 ), 'custom_css_main' => array( $custom_css_main_1, $custom_css_main_2, $custom_css_main_3 ), 'custom_css_after' => array( $custom_css_after_1, $custom_css_after_2, $custom_css_after_3 ), ); $internal_columns_settings_array = array( 'keep_column_padding_mobile' => 'on', 'et_pb_column_backgrounds' => $et_pb_column_backgrounds, 'et_pb_column_backgrounds_gradient' => $et_pb_column_backgrounds_gradient, 'et_pb_column_backgrounds_video' => $et_pb_column_backgrounds_video, 'et_pb_column_parallax' => $et_pb_column_parallax, 'et_pb_columns_counter' => $et_pb_columns_counter, 'et_pb_column_paddings' => $et_pb_column_paddings, 'et_pb_column_paddings_mobile' => $et_pb_column_paddings_mobile, 'et_pb_column_css' => $et_pb_column_css, ); $current_row_position = $et_pb_rendering_column_content ? 'internal_row' : 'regular_row'; $et_pb_all_column_settings[ $current_row_position ] = $internal_columns_settings_array; if ( $et_pb_rendering_column_content ) { $et_pb_rendering_column_content_row = true; } } $background_video = ''; if ( '' !== $background_video_mp4 || '' !== $background_video_webm ) { $background_video = $this->video_background(); } if ( '' !== $background_color && 'rgba(255,255,255,0)' !== $background_color ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%.et_pb_section', 'declaration' => sprintf( 'background-color:%s !important;', esc_attr( $background_color ) ), ) ); } $is_transparent_background = 'rgba(255,255,255,0)' === $background_color || ( et_is_builder_plugin_active() && '' === $background_color ); if ( '' !== $background_video_mp4 || '' !== $background_video_webm || ( '' !== $background_color && ! $is_transparent_background ) || '' !== $background_image ) { $module_class .= ' et_pb_with_background'; } // CSS Filters $module_class .= $this->generate_css_filters( $function_name ); // build up the classes used. $classes = array( 'et_pb_section' ); if ( '' !== $module_class ) { // previously was a single string with spaces. $classes = array_merge( $classes, explode( ' ', trim( $module_class ) ) ); } if ( '' !== $background_video ) { $classes[] = 'et_pb_section_video'; $classes[] = 'et_pb_preload'; } if ( 'off' !== $inner_shadow && ! ( '' !== $background_image && 'on' === $parallax && 'off' === $parallax_method ) ) { $classes[] = 'et_pb_inner_shadow'; } if ( 'on' === $parallax ) { $classes[] = 'et_pb_section_parallax'; } if ( 'off' !== $fullwidth ) { $classes[] = 'et_pb_fullwidth_section'; } if ( 'on' === $specialty ) { $classes[] = 'et_section_specialty'; } else { $classes[] = 'et_section_regular'; } if ( $is_transparent_background ) { $classes[] = 'et_section_transparent'; } // Setup for SVG. $bottom = ''; $top = ''; $divider = ET_Builder_Module_Fields_Factory::get( 'Divider' ); // pass section number for background color usage. $divider->count = $this->shortcode_callback_num(); // Check if style is not default. if ( '' !== $this->shortcode_atts['bottom_divider_style'] ) { // get an svg for using in ::before $divider->process_svg( 'bottom', $this->shortcode_atts ); // apply responsive styling $bottom_divider_responsive = et_pb_get_responsive_status( $this->shortcode_atts['bottom_divider_height_last_edited'] ) || et_pb_get_responsive_status( $this->shortcode_atts['bottom_divider_repeat_last_edited'] ); if ( $bottom_divider_responsive ) { $divider->process_svg( 'bottom', $this->shortcode_atts, 'tablet' ); $divider->process_svg( 'bottom', $this->shortcode_atts, 'phone' ); } // get the placeholder for the bottom $bottom = $divider->get_svg( 'bottom' ); // add a corresponding class $classes = array_merge( $classes, $divider->classes ); } // Check if style is not default. if ( '' !== $this->shortcode_atts['top_divider_style'] ) { // process the top section divider. $divider->process_svg( 'top', $this->shortcode_atts ); // apply responsive styling $top_divider_responsive = et_pb_get_responsive_status( $this->shortcode_atts['top_divider_height_last_edited'] ) || et_pb_get_responsive_status( $this->shortcode_atts['top_divider_repeat_last_edited'] ); if ( $top_divider_responsive ) { $divider->process_svg( 'top', $this->shortcode_atts, 'tablet' ); $divider->process_svg( 'top', $this->shortcode_atts, 'phone' ); } // get the placeholder for the top $top = $divider->get_svg( 'top' ); // add a corresponding class $classes = array_merge( $classes, $divider->classes ); } // Make sure no duplicate classes. $classes = array_unique( $classes ); /** * List of CSS classes for the section * * @param $classes List of CSS classes to be filtered. * @param $this->shortcode_callback_num() The instance number, or rather the section number. */ $classes = array_map( 'esc_attr', (array) apply_filters( 'et_builder_section_classes', $classes, $this->shortcode_callback_num() ) ); $output = sprintf( ' %9$s %7$s %2$s %5$s %1$s %6$s %10$s ', do_shortcode( et_pb_fix_shortcodes( $content ) ), // 1 $background_video, // 2 implode( ' ', $classes ), // 3 ( '' !== $module_id ? sprintf( ' id="%1$s"', esc_attr( $module_id ) ) : '' ), // 4 ( 'on' === $specialty ? sprintf( '
', $gutter_class ) : '' ), // 5 ( 'on' === $specialty ? '
' : '' ), // 6 ( '' !== $background_image && 'on' === $parallax ? sprintf( '
', esc_attr( $background_image ), ( 'off' === $parallax_method ? ' et_pb_parallax_css' : '' ), ( ( 'off' !== $inner_shadow && 'off' === $parallax_method ) ? ' et_pb_inner_shadow' : '' ) ) : '' ), // 7 $this->get_module_data_attributes(), // 8 et_esc_previously( $top ), // 9 et_esc_previously( $bottom ) // 10 ); if ( 'on' === $specialty ) { // reset the global column settings to make sure they are not affected by internal content $et_pb_all_column_settings = $et_pb_all_column_settings_backup; if ( $et_pb_rendering_column_content_row ) { $et_pb_rendering_column_content_row = false; } } return $output; } public function process_box_shadow( $function_name ) { parent::process_box_shadow( $function_name ); /** * @var ET_Builder_Module_Field_BoxShadow $boxShadow */ $boxShadow = ET_Builder_Module_Fields_Factory::get( 'BoxShadow' ); $style = $boxShadow->get_value( $this->shortcode_atts ); if ( ! empty( $style ) && 'none' !== $style && false === strpos( $style, 'inset' ) ) { // Make section z-index higher if it has outer box shadow #4762 self::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => 'z-index: 10;' ) ); } } private function _keep_box_shadow_compatibility( $function_name ) { /** * @var ET_Builder_Module_Field_BoxShadow $box_shadow */ $box_shadow = ET_Builder_Module_Fields_Factory::get( 'BoxShadow' ); $utils = ET_Core_Data_Utils::instance(); $atts = $this->shortcode_atts; $style = $box_shadow->get_value( $atts ); if ( ! empty( $style ) && ! is_admin() && version_compare( $utils->array_get( $atts, '_builder_version', '3.0.93' ), '3.0.94', 'lt' ) && ! $box_shadow->is_inset( $box_shadow->get_value( $atts ) ) ) { $class = '.' . self::get_module_order_class( $function_name ); return sprintf( '', sprintf( '%1$s { z-index: 11; %2$s }', esc_html( $class ), esc_html( $style ) ) ); } return ''; } } new ET_Builder_Section; class ET_Builder_Row extends ET_Builder_Structure_Element { function init() { $this->name = esc_html__( 'Row', 'et_builder' ); $this->slug = 'et_pb_row'; $this->fb_support = true; $this->advanced_options = array( 'background' => array( 'use_background_color' => true, 'use_background_image' => true, 'use_background_color_gradient' => true, 'use_background_video' => true, ), 'max_width' => array( 'use_max_width' => false, 'css' => array( 'module_alignment' => '%%order_class%%.et_pb_row', ), 'options' => array( 'module_alignment' => array( 'label' => esc_html__( 'Row Alignment', 'et_builder' ), ), ), 'toggle_slug' => 'alignment', 'toggle_title' => esc_html__( 'Alignment', 'et_builder' ), 'toggle_priority' => 50, ), 'custom_margin_padding' => array( 'use_padding' => false, 'custom_margin' => array( 'priority' => 1, ), 'css' => array( 'main' => '%%order_class%%.et_pb_row', 'important' => 'all', ), ), 'border' => array(), 'filters' => array(), ); $this->options_toggles = array( 'general' => array( 'toggles' => array( 'background' => array( 'title' => esc_html__( 'Background', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), 'column_4' => array( 'name' => esc_html__( 'Column 4', 'et_builder' ) ), ), ), ), ), 'advanced' => array( 'toggles' => array( 'width' => array( 'title' => esc_html__( 'Sizing', 'et_builder' ), 'priority' => 65, ), 'custom_margin_padding' => array( 'title' => esc_html__( 'Spacing', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), 'column_4' => array( 'name' => esc_html__( 'Column 4', 'et_builder' ) ), ), 'priority' => 70, ), ), ), 'custom_css' => array( 'toggles' => array( 'classes' => array( 'title' => esc_html__( 'CSS ID & Classes', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), 'column_4' => array( 'name' => esc_html__( 'Column 4', 'et_builder' ) ), ), ), 'custom_css' => array( 'title' => esc_html__( 'Custom CSS', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => array( 'name' => esc_html__( 'Column 1', 'et_builder' ) ), 'column_2' => array( 'name' => esc_html__( 'Column 2', 'et_builder' ) ), 'column_3' => array( 'name' => esc_html__( 'Column 3', 'et_builder' ) ), 'column_4' => array( 'name' => esc_html__( 'Column 4', 'et_builder' ) ), ), ), ), ), ); $this->whitelisted_fields = array( 'make_fullwidth', 'use_custom_width', 'width_unit', 'custom_width_px', 'custom_width_percent', 'use_custom_gutter', 'gutter_width', 'custom_padding', 'custom_padding_tablet', 'custom_padding_phone', 'custom_padding_last_edited', 'padding_mobile', 'column_padding_mobile', 'module_id', 'module_class', 'make_equal', 'columns', 'background_color_1', 'background_color_2', 'background_color_3', 'background_color_4', 'bg_img_1', 'bg_img_2', 'bg_img_3', 'bg_img_4', 'padding_top_1', 'padding_right_1', 'padding_bottom_1', 'padding_left_1', 'padding_top_2', 'padding_right_2', 'padding_bottom_2', 'padding_left_2', 'padding_top_3', 'padding_right_3', 'padding_bottom_3', 'padding_left_3', 'padding_top_4', 'padding_right_4', 'padding_bottom_4', 'padding_left_4', 'padding_1_tablet', 'padding_2_tablet', 'padding_3_tablet', 'padding_4_tablet', 'padding_1_phone', 'padding_2_phone', 'padding_3_phone', 'padding_4_phone', 'padding_1_last_edited', 'padding_2_last_edited', 'padding_3_last_edited', 'padding_4_last_edited', 'admin_label', 'parallax_1', 'parallax_method_1', 'parallax_2', 'parallax_method_2', 'parallax_3', 'parallax_method_3', 'parallax_4', 'parallax_method_4', 'module_id_1', 'module_id_2', 'module_id_3', 'module_id_4', 'module_class_1', 'module_class_2', 'module_class_3', 'module_class_4', 'custom_css_before_1', 'custom_css_before_2', 'custom_css_before_3', 'custom_css_before_4', 'custom_css_main_1', 'custom_css_main_2', 'custom_css_main_3', 'custom_css_main_4', 'custom_css_after_1', 'custom_css_after_2', 'custom_css_after_3', 'custom_css_after_4', 'background_size_1', 'background_position_1', 'background_repeat_1', 'background_blend_1', 'use_background_color_gradient_1', 'background_color_gradient_start_1', 'background_color_gradient_end_1', 'background_color_gradient_type_1', 'background_color_gradient_direction_1', 'background_color_gradient_direction_radial_1', 'background_color_gradient_start_position_1', 'background_color_gradient_end_position_1', 'background_color_gradient_overlays_image_1', 'background_size_2', 'background_position_2', 'background_repeat_2', 'background_blend_2', 'use_background_color_gradient_2', 'background_color_gradient_start_2', 'background_color_gradient_end_2', 'background_color_gradient_type_2', 'background_color_gradient_direction_2', 'background_color_gradient_direction_radial_2', 'background_color_gradient_start_position_2', 'background_color_gradient_end_position_2', 'background_color_gradient_overlays_image_2', 'background_size_3', 'background_position_3', 'background_repeat_3', 'background_blend_3', 'use_background_color_gradient_3', 'background_color_gradient_start_3', 'background_color_gradient_end_3', 'background_color_gradient_type_3', 'background_color_gradient_direction_3', 'background_color_gradient_direction_radial_3', 'background_color_gradient_start_position_3', 'background_color_gradient_end_position_3', 'background_color_gradient_overlays_image_3', 'background_size_4', 'background_position_4', 'background_repeat_4', 'background_blend_4', 'use_background_color_gradient_4', 'background_color_gradient_start_4', 'background_color_gradient_end_4', 'background_color_gradient_type_4', 'background_color_gradient_direction_4', 'background_color_gradient_direction_radial_4', 'background_color_gradient_start_position_4', 'background_color_gradient_end_position_4', 'background_color_gradient_overlays_image_4', 'background_video_mp4_1', 'background_video_webm_1', 'background_video_width_1', 'background_video_height_1', 'allow_player_pause_1', 'background_video_pause_outside_viewport_1', '__video_background_1', 'background_video_mp4_2', 'background_video_webm_2', 'background_video_width_2', 'background_video_height_2', 'allow_player_pause_2', 'background_video_pause_outside_viewport_2', '__video_background_2', 'background_video_mp4_3', 'background_video_webm_3', 'background_video_width_3', 'background_video_height_3', 'allow_player_pause_3', 'background_video_pause_outside_viewport_3', '__video_background_3', 'background_video_mp4_4', 'background_video_webm_4', 'background_video_width_4', 'background_video_height_4', 'allow_player_pause_4', 'background_video_pause_outside_viewport_4', '__video_background_4', ); $this->fields_defaults = array( 'make_fullwidth' => array( 'off' ), 'use_custom_width' => array( 'off' ), 'width_unit' => array( 'on' ), 'custom_width_px' => array( '1080px', 'only_default_setting' ), 'custom_width_percent' => array( '80%', 'only_default_setting' ), 'use_custom_gutter' => array( 'off' ), 'gutter_width' => array( et_get_option( 'gutter_width', 3 ) ), 'padding_mobile' => array( '' ), 'column_padding_mobile' => array( '' ), 'background_color' => array( '', 'only_default_setting' ), 'allow_player_pause' => array( 'off' ), 'parallax' => array( 'off' ), 'parallax_method' => array( 'on' ), 'make_equal' => array( 'off' ), 'parallax_1' => array( 'off' ), 'parallax_method_1' => array( 'on' ), 'parallax_2' => array( 'off' ), 'parallax_method_2' => array( 'on' ), 'parallax_3' => array( 'off' ), 'parallax_method_3' => array( 'on' ), 'parallax_4' => array( 'off' ), 'parallax_method_4' => array( 'on' ), 'custom_padding_tablet' => array( '' ), 'custom_padding_phone' => array( '' ), ); } function get_fields() { $fields = array( 'make_fullwidth' => array( 'label' => esc_html__( 'Make This Row Fullwidth', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'depends_show_if' => 'off', 'description' => esc_html__( 'Enable this option to extend the width of this row to the edge of the browser window.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'use_custom_width' => array( 'label' => esc_html__( 'Use Custom Width', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'affects' => array( 'make_fullwidth', 'custom_width', 'width_unit', ), 'description' => esc_html__( 'Change to Yes if you would like to adjust the width of this row to a non-standard width.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'width_unit' => array( 'label' => esc_html__( 'Unit', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'on' => esc_html__( 'px', 'et_builder' ), 'off' => '%', ), 'default' => 'on', 'button_options' => array( 'button_type' => 'equal', ), 'depends_show_if' => 'on', 'affects' => array( 'custom_width_px', 'custom_width_percent', ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'custom_width_px' => array( 'label' => esc_html__( 'Custom Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'depends_show_if_not' => 'off', 'validate_unit' => true, 'fixed_unit' => 'px', 'range_settings' => array( 'min' => 500, 'max' => 2600, 'step' => 1, ), 'description' => esc_html__( 'Define custom width for this Row', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'custom_width_percent' => array( 'label' => esc_html__( 'Custom Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'depends_show_if' => 'off', 'validate_unit' => true, 'fixed_unit' => '%', 'range_settings' => array( 'min' => 0, 'max' => 100, 'step' => 1, ), 'description' => esc_html__( 'Define custom width for this Row', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'use_custom_gutter' => array( 'label' => esc_html__( 'Use Custom Gutter Width', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'affects' => array( 'gutter_width', ), 'description' => esc_html__( 'Enable this option to define custom gutter width for this row.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'gutter_width' => array( 'label' => esc_html__( 'Gutter Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'range_settings' => array( 'min' => 1, 'max' => 4, 'step' => 1, ), 'depends_show_if' => 'on', 'description' => esc_html__( 'Adjust the spacing between each column in this row.', 'et_builder' ), 'validate_unit' => false, 'fixed_range' => true, 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'custom_padding' => array( 'label' => esc_html__( 'Custom Padding', 'et_builder' ), 'type' => 'custom_padding', 'mobile_options' => true, 'option_category' => 'layout', 'description' => esc_html__( 'Adjust padding to specific values, or leave blank to use the default padding.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'custom_padding_tablet' => array( 'type' => 'skip', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'custom_padding_phone' => array( 'type' => 'skip', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'padding_mobile' => array( 'label' => esc_html__( 'Keep Custom Padding on Mobile', 'et_builder' ), 'type' => 'skip', // Remaining attribute for backward compatibility 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'custom_margin' => array( 'label' => esc_html__( 'Custom Margin', 'et_builder' ), 'type' => 'custom_margin', 'option_category' => 'layout', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'make_equal' => array( 'label' => esc_html__( 'Equalize Column Heights', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'background_color' => array( 'label' => esc_html__( 'Background Color', 'et_builder' ), 'type' => 'color-alpha', 'custom_color' => true, 'toggle_slug' => 'background', ), 'columns_background' => array( 'type' => 'column_settings_background', 'option_category' => 'configuration', 'toggle_slug' => 'background', ), 'columns_padding' => array( 'type' => 'column_settings_padding', 'option_category' => 'configuration', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'column_padding_mobile' => array( 'label' => esc_html__( 'Keep Column Padding on Mobile', 'et_builder' ), 'type' => 'skip', // Remaining attribute for backward compatibility ), 'background_color_1' => array( 'type' => 'skip', ), 'background_color_2' => array( 'type' => 'skip', ), 'background_color_3' => array( 'type' => 'skip', ), 'background_color_4' => array( 'type' => 'skip', ), 'bg_img_1' => array( 'type' => 'skip', ), 'bg_img_2' => array( 'type' => 'skip', ), 'bg_img_3' => array( 'type' => 'skip', ), 'bg_img_4' => array( 'type' => 'skip', ), 'padding_top_1' => array( 'type' => 'skip', ), 'padding_right_1' => array( 'type' => 'skip', ), 'padding_bottom_1' => array( 'type' => 'skip', ), 'padding_left_1' => array( 'type' => 'skip', ), 'padding_top_2' => array( 'type' => 'skip', ), 'padding_right_2' => array( 'type' => 'skip', ), 'padding_bottom_2' => array( 'type' => 'skip', ), 'padding_left_2' => array( 'type' => 'skip', ), 'padding_top_3' => array( 'type' => 'skip', ), 'padding_right_3' => array( 'type' => 'skip', ), 'padding_bottom_3' => array( 'type' => 'skip', ), 'padding_left_3' => array( 'type' => 'skip', ), 'padding_top_4' => array( 'type' => 'skip', ), 'padding_right_4' => array( 'type' => 'skip', ), 'padding_bottom_4' => array( 'type' => 'skip', ), 'padding_left_4' => array( 'type' => 'skip', ), 'parallax_1' => array( 'type' => 'skip', ), 'parallax_method_1' => array( 'type' => 'skip', ), 'parallax_2' => array( 'type' => 'skip', ), 'parallax_method_2' => array( 'type' => 'skip', ), 'parallax_3' => array( 'type' => 'skip', ), 'parallax_method_3' => array( 'type' => 'skip', ), 'parallax_4' => array( 'type' => 'skip', ), 'parallax_method_4' => array( 'type' => 'skip', ), 'background_size_1' => array( 'type' => 'skip', ), 'background_size_2' => array( 'type' => 'skip', ), 'background_size_3' => array( 'type' => 'skip', ), 'background_size_4' => array( 'type' => 'skip', ), 'background_position_1' => array( 'type' => 'skip', ), 'background_position_2' => array( 'type' => 'skip', ), 'background_position_3' => array( 'type' => 'skip', ), 'background_position_4' => array( 'type' => 'skip', ), 'background_repeat_1' => array( 'type' => 'skip', ), 'background_repeat_2' => array( 'type' => 'skip', ), 'background_repeat_3' => array( 'type' => 'skip', ), 'background_repeat_4' => array( 'type' => 'skip', ), 'background_blend_1' => array( 'type' => 'skip', ), 'background_blend_2' => array( 'type' => 'skip', ), 'background_blend_3' => array( 'type' => 'skip', ), 'background_blend_4' => array( 'type' => 'skip', ), 'use_background_color_gradient_1' => array( 'type' => 'skip', ), 'use_background_color_gradient_2' => array( 'type' => 'skip', ), 'use_background_color_gradient_3' => array( 'type' => 'skip', ), 'use_background_color_gradient_4' => array( 'type' => 'skip', ), 'background_color_gradient_start_1' => array( 'type' => 'skip', ), 'background_color_gradient_start_2' => array( 'type' => 'skip', ), 'background_color_gradient_start_3' => array( 'type' => 'skip', ), 'background_color_gradient_start_4' => array( 'type' => 'skip', ), 'background_color_gradient_end_1' => array( 'type' => 'skip', ), 'background_color_gradient_end_2' => array( 'type' => 'skip', ), 'background_color_gradient_end_3' => array( 'type' => 'skip', ), 'background_color_gradient_end_4' => array( 'type' => 'skip', ), 'background_color_gradient_type_1' => array( 'type' => 'skip', ), 'background_color_gradient_type_2' => array( 'type' => 'skip', ), 'background_color_gradient_type_3' => array( 'type' => 'skip', ), 'background_color_gradient_type_4' => array( 'type' => 'skip', ), 'background_color_gradient_direction_1' => array( 'type' => 'skip', ), 'background_color_gradient_direction_2' => array( 'type' => 'skip', ), 'background_color_gradient_direction_3' => array( 'type' => 'skip', ), 'background_color_gradient_direction_4' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_1' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_2' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_3' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_4' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_1' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_2' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_3' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_4' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_1' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_2' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_3' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_4' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_1' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_2' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_3' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_4' => array( 'type' => 'skip', ), 'background_video_mp4_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_webm_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_width_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_height_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'allow_player_pause_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_pause_outside_viewport_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), '__video_background_1' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_1', 'background_video_webm_1', 'background_video_width_1', 'background_video_height_1', ), 'computed_minimum' => array( 'background_video_mp4_1', 'background_video_webm_1', ), ), 'background_video_mp4_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_webm_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_width_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_height_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'allow_player_pause_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_pause_outside_viewport_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), '__video_background_2' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_2', 'background_video_webm_2', 'background_video_width_2', 'background_video_height_2', ), 'computed_minimum' => array( 'background_video_mp4_2', 'background_video_webm_2', ), ), 'background_video_mp4_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_webm_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_width_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_height_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'allow_player_pause_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_pause_outside_viewport_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), '__video_background_3' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_3', 'background_video_webm_3', 'background_video_width_3', 'background_video_height_3', ), 'computed_minimum' => array( 'background_video_mp4_3', 'background_video_webm_3', ), ), 'background_video_mp4_4' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_4', ), ), 'background_video_webm_4' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_4', ), ), 'background_video_width_4' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_4', ), ), 'background_video_height_4' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_4', ), ), 'allow_player_pause_4' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_4', ), ), 'background_video_pause_outside_viewport_4' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_4', ), ), '__video_background_4' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_4', 'background_video_webm_4', 'background_video_width_4', 'background_video_height_4', ), 'computed_minimum' => array( 'background_video_mp4_4', 'background_video_webm_4', ), ), 'padding_1_tablet' => array( 'type' => 'skip', ), 'padding_2_tablet' => array( 'type' => 'skip', ), 'padding_3_tablet' => array( 'type' => 'skip', ), 'padding_4_tablet' => array( 'type' => 'skip', ), 'padding_1_phone' => array( 'type' => 'skip', ), 'padding_2_phone' => array( 'type' => 'skip', ), 'padding_3_phone' => array( 'type' => 'skip', ), 'padding_4_phone' => array( 'type' => 'skip', ), 'padding_1_last_edited' => array( 'type' => 'skip', ), 'padding_2_last_edited' => array( 'type' => 'skip', ), 'padding_3_last_edited' => array( 'type' => 'skip', ), 'padding_4_last_edited' => array( 'type' => 'skip', ), 'module_id_1' => array( 'type' => 'skip', ), 'module_id_2' => array( 'type' => 'skip', ), 'module_id_3' => array( 'type' => 'skip', ), 'module_id_4' => array( 'type' => 'skip', ), 'module_class_1' => array( 'type' => 'skip', ), 'module_class_2' => array( 'type' => 'skip', ), 'module_class_3' => array( 'type' => 'skip', ), 'module_class_4' => array( 'type' => 'skip', ), 'custom_css_before_1' => array( 'type' => 'skip', ), 'custom_css_before_2' => array( 'type' => 'skip', ), 'custom_css_before_3' => array( 'type' => 'skip', ), 'custom_css_before_4' => array( 'type' => 'skip', ), 'custom_css_main_1' => array( 'type' => 'skip', ), 'custom_css_main_2' => array( 'type' => 'skip', ), 'custom_css_main_3' => array( 'type' => 'skip', ), 'custom_css_main_4' => array( 'type' => 'skip', ), 'custom_css_after_1' => array( 'type' => 'skip', ), 'custom_css_after_2' => array( 'type' => 'skip', ), 'custom_css_after_3' => array( 'type' => 'skip', ), 'custom_css_after_4' => array( 'type' => 'skip', ), 'columns_css' => array( 'type' => 'column_settings_css', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'custom_css', 'priority' => '20', ), 'disabled_on' => array( 'label' => esc_html__( 'Disable on', 'et_builder' ), 'type' => 'multiple_checkboxes', 'options' => array( 'phone' => esc_html__( 'Phone', 'et_builder' ), 'tablet' => esc_html__( 'Tablet', 'et_builder' ), 'desktop' => esc_html__( 'Desktop', 'et_builder' ), ), 'additional_att' => 'disable_on', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'visibility', 'description' => esc_html__( 'This will disable the module on selected devices', 'et_builder' ), ), 'admin_label' => array( 'label' => esc_html__( 'Admin Label', 'et_builder' ), 'type' => 'text', 'description' => esc_html__( 'This will change the label of the row in the builder for easy identification when collapsed.', 'et_builder' ), 'toggle_slug' => 'admin_label', ), 'module_id' => array( 'label' => esc_html__( 'CSS ID', 'et_builder' ), 'type' => 'text', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', 'option_class' => 'et_pb_custom_css_regular', ), 'module_class' => array( 'label' => esc_html__( 'CSS Class', 'et_builder' ), 'type' => 'text', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', 'option_class' => 'et_pb_custom_css_regular', ), 'columns_css_fields' => array( 'type' => 'column_settings_css_fields', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', ), 'custom_padding_last_edited' => array( 'type' => 'skip', 'tab_slug' => 'advanced', ), '__video_background' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Row', 'get_video_background' ), 'computed_depends_on' => array( 'background_video_mp4', 'background_video_webm', 'background_video_width', 'background_video_height', ), 'computed_minimum' => array( 'background_video_mp4', 'background_video_webm', ), ), ); return $fields; } function shortcode_callback( $atts, $content = null, $function_name ) { $module_id = $this->shortcode_atts['module_id']; $module_class = $this->shortcode_atts['module_class']; $custom_padding = $this->shortcode_atts['custom_padding']; $custom_padding_tablet = $this->shortcode_atts['custom_padding_tablet']; $custom_padding_phone = $this->shortcode_atts['custom_padding_phone']; $custom_padding_last_edited = $this->shortcode_atts['custom_padding_last_edited']; $column_padding_mobile = $this->shortcode_atts['column_padding_mobile']; $make_fullwidth = $this->shortcode_atts['make_fullwidth']; $make_equal = $this->shortcode_atts['make_equal']; $background_color_1 = $this->shortcode_atts['background_color_1']; $background_color_2 = $this->shortcode_atts['background_color_2']; $background_color_3 = $this->shortcode_atts['background_color_3']; $background_color_4 = $this->shortcode_atts['background_color_4']; $bg_img_1 = $this->shortcode_atts['bg_img_1']; $bg_img_2 = $this->shortcode_atts['bg_img_2']; $bg_img_3 = $this->shortcode_atts['bg_img_3']; $bg_img_4 = $this->shortcode_atts['bg_img_4']; $background_size_1 = $this->shortcode_atts['background_size_1']; $background_size_2 = $this->shortcode_atts['background_size_2']; $background_size_3 = $this->shortcode_atts['background_size_3']; $background_size_4 = $this->shortcode_atts['background_size_4']; $background_position_1 = $this->shortcode_atts['background_position_1']; $background_position_2 = $this->shortcode_atts['background_position_2']; $background_position_3 = $this->shortcode_atts['background_position_3']; $background_position_4 = $this->shortcode_atts['background_position_4']; $background_repeat_1 = $this->shortcode_atts['background_repeat_1']; $background_repeat_2 = $this->shortcode_atts['background_repeat_2']; $background_repeat_3 = $this->shortcode_atts['background_repeat_3']; $background_repeat_4 = $this->shortcode_atts['background_repeat_4']; $background_blend_1 = $this->shortcode_atts['background_blend_1']; $background_blend_2 = $this->shortcode_atts['background_blend_2']; $background_blend_3 = $this->shortcode_atts['background_blend_3']; $background_blend_4 = $this->shortcode_atts['background_blend_4']; $padding_top_1 = $this->shortcode_atts['padding_top_1']; $padding_right_1 = $this->shortcode_atts['padding_right_1']; $padding_bottom_1 = $this->shortcode_atts['padding_bottom_1']; $padding_left_1 = $this->shortcode_atts['padding_left_1']; $padding_top_2 = $this->shortcode_atts['padding_top_2']; $padding_right_2 = $this->shortcode_atts['padding_right_2']; $padding_bottom_2 = $this->shortcode_atts['padding_bottom_2']; $padding_left_2 = $this->shortcode_atts['padding_left_2']; $padding_top_3 = $this->shortcode_atts['padding_top_3']; $padding_right_3 = $this->shortcode_atts['padding_right_3']; $padding_bottom_3 = $this->shortcode_atts['padding_bottom_3']; $padding_left_3 = $this->shortcode_atts['padding_left_3']; $padding_top_4 = $this->shortcode_atts['padding_top_4']; $padding_right_4 = $this->shortcode_atts['padding_right_4']; $padding_bottom_4 = $this->shortcode_atts['padding_bottom_4']; $padding_left_4 = $this->shortcode_atts['padding_left_4']; $padding_1_tablet = $this->shortcode_atts['padding_1_tablet']; $padding_2_tablet = $this->shortcode_atts['padding_2_tablet']; $padding_3_tablet = $this->shortcode_atts['padding_3_tablet']; $padding_4_tablet = $this->shortcode_atts['padding_4_tablet']; $padding_1_phone = $this->shortcode_atts['padding_1_phone']; $padding_2_phone = $this->shortcode_atts['padding_2_phone']; $padding_3_phone = $this->shortcode_atts['padding_3_phone']; $padding_4_phone = $this->shortcode_atts['padding_4_phone']; $padding_1_last_edited = $this->shortcode_atts['padding_1_last_edited']; $padding_2_last_edited = $this->shortcode_atts['padding_2_last_edited']; $padding_3_last_edited = $this->shortcode_atts['padding_3_last_edited']; $padding_4_last_edited = $this->shortcode_atts['padding_4_last_edited']; $padding_mobile = $this->shortcode_atts['padding_mobile']; $gutter_width = $this->shortcode_atts['gutter_width']; $use_custom_width = $this->shortcode_atts['use_custom_width']; $custom_width_px = $this->shortcode_atts['custom_width_px']; $custom_width_percent = $this->shortcode_atts['custom_width_percent']; $width_unit = $this->shortcode_atts['width_unit']; $global_module = $this->shortcode_atts['global_module']; $use_custom_gutter = $this->shortcode_atts['use_custom_gutter']; $parallax_1 = $this->shortcode_atts['parallax_1']; $parallax_method_1 = $this->shortcode_atts['parallax_method_1']; $parallax_2 = $this->shortcode_atts['parallax_2']; $parallax_method_2 = $this->shortcode_atts['parallax_method_2']; $parallax_3 = $this->shortcode_atts['parallax_3']; $parallax_method_3 = $this->shortcode_atts['parallax_method_3']; $parallax_4 = $this->shortcode_atts['parallax_4']; $parallax_method_4 = $this->shortcode_atts['parallax_method_4']; $module_id_1 = $this->shortcode_atts['module_id_1']; $module_id_2 = $this->shortcode_atts['module_id_2']; $module_id_3 = $this->shortcode_atts['module_id_3']; $module_id_4 = $this->shortcode_atts['module_id_4']; $module_class_1 = $this->shortcode_atts['module_class_1']; $module_class_2 = $this->shortcode_atts['module_class_2']; $module_class_3 = $this->shortcode_atts['module_class_3']; $module_class_4 = $this->shortcode_atts['module_class_4']; $custom_css_before_1 = $this->shortcode_atts['custom_css_before_1']; $custom_css_before_2 = $this->shortcode_atts['custom_css_before_2']; $custom_css_before_3 = $this->shortcode_atts['custom_css_before_3']; $custom_css_before_4 = $this->shortcode_atts['custom_css_before_4']; $custom_css_main_1 = $this->shortcode_atts['custom_css_main_1']; $custom_css_main_2 = $this->shortcode_atts['custom_css_main_2']; $custom_css_main_3 = $this->shortcode_atts['custom_css_main_3']; $custom_css_main_4 = $this->shortcode_atts['custom_css_main_4']; $custom_css_after_1 = $this->shortcode_atts['custom_css_after_1']; $custom_css_after_2 = $this->shortcode_atts['custom_css_after_2']; $custom_css_after_3 = $this->shortcode_atts['custom_css_after_3']; $custom_css_after_4 = $this->shortcode_atts['custom_css_after_4']; $use_background_color_gradient_1 = $this->shortcode_atts['use_background_color_gradient_1']; $use_background_color_gradient_2 = $this->shortcode_atts['use_background_color_gradient_2']; $use_background_color_gradient_3 = $this->shortcode_atts['use_background_color_gradient_3']; $use_background_color_gradient_4 = $this->shortcode_atts['use_background_color_gradient_4']; $background_color_gradient_type_1 = $this->shortcode_atts['background_color_gradient_type_1']; $background_color_gradient_type_2 = $this->shortcode_atts['background_color_gradient_type_2']; $background_color_gradient_type_3 = $this->shortcode_atts['background_color_gradient_type_3']; $background_color_gradient_type_4 = $this->shortcode_atts['background_color_gradient_type_4']; $background_color_gradient_direction_1 = $this->shortcode_atts['background_color_gradient_direction_1']; $background_color_gradient_direction_2 = $this->shortcode_atts['background_color_gradient_direction_2']; $background_color_gradient_direction_3 = $this->shortcode_atts['background_color_gradient_direction_3']; $background_color_gradient_direction_4 = $this->shortcode_atts['background_color_gradient_direction_4']; $background_color_gradient_direction_radial_1 = $this->shortcode_atts['background_color_gradient_direction_radial_1']; $background_color_gradient_direction_radial_2 = $this->shortcode_atts['background_color_gradient_direction_radial_2']; $background_color_gradient_direction_radial_3 = $this->shortcode_atts['background_color_gradient_direction_radial_3']; $background_color_gradient_direction_radial_4 = $this->shortcode_atts['background_color_gradient_direction_radial_4']; $background_color_gradient_start_1 = $this->shortcode_atts['background_color_gradient_start_1']; $background_color_gradient_start_2 = $this->shortcode_atts['background_color_gradient_start_2']; $background_color_gradient_start_3 = $this->shortcode_atts['background_color_gradient_start_3']; $background_color_gradient_start_4 = $this->shortcode_atts['background_color_gradient_start_4']; $background_color_gradient_end_1 = $this->shortcode_atts['background_color_gradient_end_1']; $background_color_gradient_end_2 = $this->shortcode_atts['background_color_gradient_end_2']; $background_color_gradient_end_3 = $this->shortcode_atts['background_color_gradient_end_3']; $background_color_gradient_end_4 = $this->shortcode_atts['background_color_gradient_end_4']; $background_color_gradient_start_position_1 = $this->shortcode_atts['background_color_gradient_start_position_1']; $background_color_gradient_start_position_2 = $this->shortcode_atts['background_color_gradient_start_position_2']; $background_color_gradient_start_position_3 = $this->shortcode_atts['background_color_gradient_start_position_3']; $background_color_gradient_start_position_4 = $this->shortcode_atts['background_color_gradient_start_position_4']; $background_color_gradient_end_position_1 = $this->shortcode_atts['background_color_gradient_end_position_1']; $background_color_gradient_end_position_2 = $this->shortcode_atts['background_color_gradient_end_position_2']; $background_color_gradient_end_position_3 = $this->shortcode_atts['background_color_gradient_end_position_3']; $background_color_gradient_end_position_4 = $this->shortcode_atts['background_color_gradient_end_position_4']; $background_color_gradient_overlays_image_1 = $this->shortcode_atts['background_color_gradient_overlays_image_1']; $background_color_gradient_overlays_image_2 = $this->shortcode_atts['background_color_gradient_overlays_image_2']; $background_color_gradient_overlays_image_3 = $this->shortcode_atts['background_color_gradient_overlays_image_3']; $background_color_gradient_overlays_image_4 = $this->shortcode_atts['background_color_gradient_overlays_image_4']; $background_video_mp4_1 = $this->shortcode_atts['background_video_mp4_1']; $background_video_mp4_2 = $this->shortcode_atts['background_video_mp4_2']; $background_video_mp4_3 = $this->shortcode_atts['background_video_mp4_3']; $background_video_mp4_4 = $this->shortcode_atts['background_video_mp4_4']; $background_video_webm_1 = $this->shortcode_atts['background_video_webm_1']; $background_video_webm_2 = $this->shortcode_atts['background_video_webm_2']; $background_video_webm_3 = $this->shortcode_atts['background_video_webm_3']; $background_video_webm_4 = $this->shortcode_atts['background_video_webm_4']; $background_video_width_1 = $this->shortcode_atts['background_video_width_1']; $background_video_width_2 = $this->shortcode_atts['background_video_width_2']; $background_video_width_3 = $this->shortcode_atts['background_video_width_3']; $background_video_width_4 = $this->shortcode_atts['background_video_width_4']; $background_video_height_1 = $this->shortcode_atts['background_video_height_1']; $background_video_height_2 = $this->shortcode_atts['background_video_height_2']; $background_video_height_3 = $this->shortcode_atts['background_video_height_3']; $background_video_height_4 = $this->shortcode_atts['background_video_height_4']; $allow_player_pause_1 = $this->shortcode_atts['allow_player_pause_1']; $allow_player_pause_2 = $this->shortcode_atts['allow_player_pause_2']; $allow_player_pause_3 = $this->shortcode_atts['allow_player_pause_3']; $allow_player_pause_4 = $this->shortcode_atts['allow_player_pause_4']; $background_video_pause_outside_viewport_1 = $this->shortcode_atts['background_video_pause_outside_viewport_1']; $background_video_pause_outside_viewport_2 = $this->shortcode_atts['background_video_pause_outside_viewport_2']; $background_video_pause_outside_viewport_3 = $this->shortcode_atts['background_video_pause_outside_viewport_3']; $background_video_pause_outside_viewport_4 = $this->shortcode_atts['background_video_pause_outside_viewport_4']; global $et_pb_all_column_settings, $et_pb_rendering_column_content, $et_pb_rendering_column_content_row; $et_pb_all_column_settings = ! isset( $et_pb_all_column_settings ) ? array() : $et_pb_all_column_settings; $et_pb_all_column_settings_backup = $et_pb_all_column_settings; $keep_column_padding_mobile = $column_padding_mobile; if ( '' !== $global_module ) { $global_content = et_pb_load_global_module( $global_module, $function_name ); if ( '' !== $global_content ) { return do_shortcode( et_pb_fix_shortcodes( wpautop( $global_content ) ) ); } } $custom_padding_responsive_active = et_pb_get_responsive_status( $custom_padding_last_edited ); $padding_mobile_values = $custom_padding_responsive_active ? array( 'tablet' => explode( '|', $custom_padding_tablet ), 'phone' => explode( '|', $custom_padding_phone ), ) : array( 'tablet' => false, 'phone' => false, ); $et_pb_columns_counter = 0; $et_pb_column_backgrounds = array( array( 'color' => $background_color_1, 'image' => $bg_img_1, 'image_size' => $background_size_1, 'image_position' => $background_position_1, 'image_repeat' => $background_repeat_1, 'image_blend' => $background_blend_1, ), array( 'color' => $background_color_2, 'image' => $bg_img_2, 'image_size' => $background_size_2, 'image_position' => $background_position_2, 'image_repeat' => $background_repeat_2, 'image_blend' => $background_blend_2, ), array( 'color' => $background_color_3, 'image' => $bg_img_3, 'image_size' => $background_size_3, 'image_position' => $background_position_3, 'image_repeat' => $background_repeat_3, 'image_blend' => $background_blend_3, ), array( 'color' => $background_color_4, 'image' => $bg_img_4, 'image_size' => $background_size_4, 'image_position' => $background_position_4, 'image_repeat' => $background_repeat_4, 'image_blend' => $background_blend_4, ), ); $et_pb_column_backgrounds_gradient = array( array( 'active' => $use_background_color_gradient_1, 'type' => $background_color_gradient_type_1, 'direction' => $background_color_gradient_direction_1, 'radial_direction' => $background_color_gradient_direction_radial_1, 'color_start' => $background_color_gradient_start_1, 'color_end' => $background_color_gradient_end_1, 'start_position' => $background_color_gradient_start_position_1, 'end_position' => $background_color_gradient_end_position_1, 'overlays_image' => $background_color_gradient_overlays_image_1, ), array( 'active' => $use_background_color_gradient_2, 'type' => $background_color_gradient_type_2, 'direction' => $background_color_gradient_direction_2, 'radial_direction' => $background_color_gradient_direction_radial_2, 'color_start' => $background_color_gradient_start_2, 'color_end' => $background_color_gradient_end_2, 'start_position' => $background_color_gradient_start_position_2, 'end_position' => $background_color_gradient_end_position_2, 'overlays_image' => $background_color_gradient_overlays_image_2, ), array( 'active' => $use_background_color_gradient_3, 'type' => $background_color_gradient_type_3, 'direction' => $background_color_gradient_direction_3, 'radial_direction' => $background_color_gradient_direction_radial_3, 'color_start' => $background_color_gradient_start_3, 'color_end' => $background_color_gradient_end_3, 'start_position' => $background_color_gradient_start_position_3, 'end_position' => $background_color_gradient_end_position_3, 'overlays_image' => $background_color_gradient_overlays_image_3, ), array( 'active' => $use_background_color_gradient_4, 'type' => $background_color_gradient_type_4, 'direction' => $background_color_gradient_direction_4, 'radial_direction' => $background_color_gradient_direction_radial_4, 'color_start' => $background_color_gradient_start_4, 'color_end' => $background_color_gradient_end_4, 'start_position' => $background_color_gradient_start_position_4, 'end_position' => $background_color_gradient_end_position_4, 'overlays_image' => $background_color_gradient_overlays_image_4, ), ); $et_pb_column_backgrounds_video = array( array( 'background_video_mp4' => $background_video_mp4_1, 'background_video_webm' => $background_video_webm_1, 'background_video_width' => $background_video_width_1, 'background_video_height' => $background_video_height_1, 'background_video_allow_pause' => $allow_player_pause_1, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_1, ), array( 'background_video_mp4' => $background_video_mp4_2, 'background_video_webm' => $background_video_webm_2, 'background_video_width' => $background_video_width_2, 'background_video_height' => $background_video_height_2, 'background_video_allow_pause' => $allow_player_pause_2, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_2, ), array( 'background_video_mp4' => $background_video_mp4_3, 'background_video_webm' => $background_video_webm_3, 'background_video_width' => $background_video_width_3, 'background_video_height' => $background_video_height_3, 'background_video_allow_pause' => $allow_player_pause_3, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_3, ), array( 'background_video_mp4' => $background_video_mp4_4, 'background_video_webm' => $background_video_webm_4, 'background_video_width' => $background_video_width_4, 'background_video_height' => $background_video_height_4, 'background_video_allow_pause' => $allow_player_pause_4, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_4, ), ); $et_pb_column_paddings = array( array( 'padding-top' => $padding_top_1, 'padding-right' => $padding_right_1, 'padding-bottom' => $padding_bottom_1, 'padding-left' => $padding_left_1, ), array( 'padding-top' => $padding_top_2, 'padding-right' => $padding_right_2, 'padding-bottom' => $padding_bottom_2, 'padding-left' => $padding_left_2, ), array( 'padding-top' => $padding_top_3, 'padding-right' => $padding_right_3, 'padding-bottom' => $padding_bottom_3, 'padding-left' => $padding_left_3, ), array( 'padding-top' => $padding_top_4, 'padding-right' => $padding_right_4, 'padding-bottom' => $padding_bottom_4, 'padding-left' => $padding_left_4, ), ); $et_pb_column_paddings_mobile = array( array( 'tablet' => explode( '|', $padding_1_tablet ), 'phone' => explode( '|', $padding_1_phone ), 'last_edited' => $padding_1_last_edited, ), array( 'tablet' => explode( '|', $padding_2_tablet ), 'phone' => explode( '|', $padding_2_phone ), 'last_edited' => $padding_2_last_edited, ), array( 'tablet' => explode( '|', $padding_3_tablet ), 'phone' => explode( '|', $padding_3_phone ), 'last_edited' => $padding_3_last_edited, ), array( 'tablet' => explode( '|', $padding_4_tablet ), 'phone' => explode( '|', $padding_4_phone ), 'last_edited' => $padding_4_last_edited, ), ); $et_pb_column_parallax = array( array( $parallax_1, $parallax_method_1 ), array( $parallax_2, $parallax_method_2 ), array( $parallax_3, $parallax_method_3 ), array( $parallax_4, $parallax_method_4 ), ); $et_pb_column_css = array( 'css_class' => array( $module_class_1, $module_class_2, $module_class_3, $module_class_4 ), 'css_id' => array( $module_id_1, $module_id_2, $module_id_3, $module_id_4 ), 'custom_css_before' => array( $custom_css_before_1, $custom_css_before_2, $custom_css_before_3, $custom_css_before_4 ), 'custom_css_main' => array( $custom_css_main_1, $custom_css_main_2, $custom_css_main_3, $custom_css_main_4 ), 'custom_css_after' => array( $custom_css_after_1, $custom_css_after_2, $custom_css_after_3, $custom_css_after_4 ), ); $internal_columns_settings_array = array( 'keep_column_padding_mobile' => $keep_column_padding_mobile, 'et_pb_column_backgrounds' => $et_pb_column_backgrounds, 'et_pb_column_backgrounds_gradient' => $et_pb_column_backgrounds_gradient, 'et_pb_column_backgrounds_video' => $et_pb_column_backgrounds_video, 'et_pb_columns_counter' => $et_pb_columns_counter, 'et_pb_column_paddings' => $et_pb_column_paddings, 'et_pb_column_paddings_mobile' => $et_pb_column_paddings_mobile, 'et_pb_column_parallax' => $et_pb_column_parallax, 'et_pb_column_css' => $et_pb_column_css, ); $current_row_position = $et_pb_rendering_column_content ? 'internal_row' : 'regular_row'; $et_pb_all_column_settings[ $current_row_position ] = $internal_columns_settings_array; $module_class .= ' et_pb_row'; if ( $et_pb_rendering_column_content ) { $et_pb_rendering_column_content_row = true; } $module_class = ET_Builder_Element::add_module_order_class( $module_class, $function_name ); $module_class .= 'on' === $make_equal ? ' et_pb_equal_columns' : ''; if ( 'on' === $use_custom_gutter && '' !== $gutter_width ) { $gutter_width = '0' === $gutter_width ? '1' : $gutter_width; // set the gutter width to 1 if 0 entered by user $module_class .= ' et_pb_gutters' . $gutter_width; } $padding_values = explode( '|', $custom_padding ); if ( ! empty( $padding_values ) ) { // old version of Rows support only top and bottom padding, so we need to handle it along with the full padding in the recent version if ( 2 === count( $padding_values ) ) { $padding_settings = array( 'top' => isset( $padding_values[0] ) ? $padding_values[0] : '', 'bottom' => isset( $padding_values[1] ) ? $padding_values[1] : '', ); } else { $padding_settings = array( 'top' => isset( $padding_values[0] ) ? $padding_values[0] : '', 'right' => isset( $padding_values[1] ) ? $padding_values[1] : '', 'bottom' => isset( $padding_values[2] ) ? $padding_values[2] : '', 'left' => isset( $padding_values[3] ) ? $padding_values[3] : '', ); } foreach( $padding_settings as $padding_side => $value ) { if ( '' !== $value ) { $element_style = array( 'selector' => '%%order_class%%.et_pb_row', 'declaration' => sprintf( 'padding-%1$s: %2$s;', esc_html( $padding_side ), esc_html( $value ) ), ); // Backward compatibility. Keep Padding on Mobile is deprecated in favour of responsive inputs mechanism for custom padding // To ensure that it is compatibility with previous version of Divi, this option is now only used as last resort if no // responsive padding value is found, and padding_mobile value is saved (which is set to off by default) if ( in_array( $padding_mobile, array( 'on', 'off' ) ) && 'on' !== $padding_mobile && ! $custom_padding_responsive_active ) { $element_style['media_query'] = ET_Builder_Element::get_media_query( 'min_width_981' ); } ET_Builder_Element::set_style( $function_name, $element_style ); } } } if ( ! empty( $padding_mobile_values['tablet'] ) || ! empty( $padding_values['phone'] ) ) { $padding_mobile_values_processed = array(); foreach( array( 'tablet', 'phone' ) as $device ) { if ( empty( $padding_mobile_values[$device] ) ) { continue; } $padding_mobile_values_processed[ $device ] = array( 'padding-top' => isset( $padding_mobile_values[$device][0] ) ? $padding_mobile_values[$device][0] : '', 'padding-right' => isset( $padding_mobile_values[$device][1] ) ? $padding_mobile_values[$device][1] : '', 'padding-bottom' => isset( $padding_mobile_values[$device][2] ) ? $padding_mobile_values[$device][2] : '', 'padding-left' => isset( $padding_mobile_values[$device][3] ) ? $padding_mobile_values[$device][3] : '', ); } if ( ! empty( $padding_mobile_values_processed ) ) { et_pb_generate_responsive_css( $padding_mobile_values_processed, '%%order_class%%.et_pb_row', '', $function_name, ' !important; ' ); } } if ( 'on' === $make_fullwidth && 'off' === $use_custom_width ) { $module_class .= ' et_pb_row_fullwidth'; } if ( 'on' === $use_custom_width ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => sprintf( 'max-width:%1$s !important; %2$s', 'on' === $width_unit ? esc_attr( sprintf( '%1$spx', intval( $custom_width_px ) ) ) : esc_attr( sprintf( '%1$s%%', intval( $custom_width_percent ) ) ), 'on' !== $width_unit ? esc_attr( sprintf( 'width: %1$s%%;', intval( $custom_width_percent ) ) ) : '' ), ) ); } $parallax_image = $this->get_parallax_image_background(); $background_video = $this->video_background(); $inner_content = do_shortcode( et_pb_fix_shortcodes( $content ) ); $module_class .= '' == trim( $inner_content ) ? ' et_pb_row_empty' : ''; if ( $et_pb_rendering_column_content_row ) { $et_pb_rendering_column_content_row = false; } // reset the global column settings to make sure they are not affected by internal content $et_pb_all_column_settings = $et_pb_all_column_settings_backup; // CSS Filters $module_class .= $this->generate_css_filters( $function_name ); $output = sprintf( ' %1$s %8$s %5$s ', $inner_content, esc_attr( $module_class ), esc_html( $function_name ), ( '' !== $module_id ? sprintf( ' id="%1$s"', esc_attr( $module_id ) ) : '' ), $background_video, ( '' !== $background_video ? ' et_pb_section_video et_pb_preload' : '' ), ( '' !== $parallax_image ? ' et_pb_section_parallax' : '' ), $parallax_image ); return $output; } } new ET_Builder_Row; class ET_Builder_Row_Inner extends ET_Builder_Structure_Element { function init() { $this->name = esc_html__( 'Row', 'et_builder' ); $this->slug = 'et_pb_row_inner'; $this->fb_support = true; $this->advanced_options = array( 'background' => array( 'use_background_color' => true, 'use_background_image' => true, 'use_background_color_gradient' => true, 'use_background_video' => true, ), 'custom_margin_padding' => array( 'use_padding' => false, 'css' => array( 'main' => '%%order_class%%.et_pb_row_inner', 'important' => 'all', ), 'custom_margin' => array( 'priority' => 1, ), ), 'max_width' => array( 'options' => array( 'module_alignment' => array( 'label' => esc_html__( 'Row Alignment', 'et_builder' ), ), ), ), 'filters' => array(), ); $this->options_toggles = array( 'general' => array( 'toggles' => array( 'background' => array( 'title' => esc_html__( 'Background', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => esc_html__( 'Column 1', 'et_builder' ), 'column_2' => esc_html__( 'Column 2', 'et_builder' ), 'column_3' => esc_html__( 'Column 3', 'et_builder' ), ), ), ), ), 'advanced' => array( 'toggles' => array( 'width' => array( 'title' => esc_html__( 'Sizing', 'et_builder' ), 'priority' => 65, ), 'custom_margin_padding' => array( 'title' => esc_html__( 'Spacing', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => esc_html__( 'Column 1', 'et_builder' ), 'column_2' => esc_html__( 'Column 2', 'et_builder' ), 'column_3' => esc_html__( 'Column 3', 'et_builder' ), ), 'priority' => 70, ), ), ), 'custom_css' => array( 'toggles' => array( 'classes' => array( 'title' => esc_html__( 'CSS ID & Classes', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => esc_html__( 'Column 1', 'et_builder' ), 'column_2' => esc_html__( 'Column 2', 'et_builder' ), 'column_3' => esc_html__( 'Column 3', 'et_builder' ), ), ), 'custom_css' => array( 'title' => esc_html__( 'Custom CSS', 'et_builder' ), 'sub_toggles' => array( 'main' => '', 'column_1' => esc_html__( 'Column 1', 'et_builder' ), 'column_2' => esc_html__( 'Column 2', 'et_builder' ), 'column_3' => esc_html__( 'Column 3', 'et_builder' ), ), ), ), ), ); $this->whitelisted_fields = array( 'custom_padding', 'custom_padding_tablet', 'custom_padding_phone', 'custom_padding_last_edited', 'padding_mobile', 'column_padding_mobile', 'use_custom_gutter', 'gutter_width', 'module_id', 'module_class', 'make_equal', 'columns', 'background_color_1', 'background_color_2', 'background_color_3', 'bg_img_1', 'bg_img_2', 'bg_img_3', 'padding_top_1', 'padding_right_1', 'padding_bottom_1', 'padding_left_1', 'padding_top_2', 'padding_right_2', 'padding_bottom_2', 'padding_left_2', 'padding_top_3', 'padding_right_3', 'padding_bottom_3', 'padding_left_3', 'padding_1_tablet', 'padding_2_tablet', 'padding_3_tablet', 'padding_1_phone', 'padding_2_phone', 'padding_3_phone', 'padding_1_last_edited', 'padding_2_last_edited', 'padding_3_last_edited', 'parallax_1', 'parallax_method_1', 'parallax_2', 'parallax_method_2', 'parallax_3', 'parallax_method_3', 'background_size_1', 'background_position_1', 'background_repeat_1', 'background_blend_1', 'background_size_2', 'background_position_2', 'background_repeat_2', 'background_blend_2', 'background_size_3', 'background_position_3', 'background_repeat_3', 'background_blend_3', 'module_id_1', 'module_id_2', 'module_id_3', 'module_class_1', 'module_class_2', 'module_class_3', 'custom_css_before_1', 'custom_css_before_2', 'custom_css_before_3', 'custom_css_main_1', 'custom_css_main_2', 'custom_css_main_3', 'custom_css_after_1', 'custom_css_after_2', 'custom_css_after_3', 'admin_label', 'use_background_color_gradient_1', 'background_color_gradient_start_1', 'background_color_gradient_end_1', 'background_color_gradient_type_1', 'background_color_gradient_direction_1', 'background_color_gradient_direction_radial_1', 'background_color_gradient_start_position_1', 'background_color_gradient_end_position_1', 'background_color_gradient_overlays_image_1', 'use_background_color_gradient_2', 'background_color_gradient_start_2', 'background_color_gradient_end_2', 'background_color_gradient_type_2', 'background_color_gradient_direction_2', 'background_color_gradient_direction_radial_2', 'background_color_gradient_start_position_2', 'background_color_gradient_end_position_2', 'background_color_gradient_overlays_image_2', 'use_background_color_gradient_3', 'background_color_gradient_start_3', 'background_color_gradient_end_3', 'background_color_gradient_type_3', 'background_color_gradient_direction_3', 'background_color_gradient_direction_radial_3', 'background_color_gradient_start_position_3', 'background_color_gradient_end_position_3', 'background_color_gradient_overlays_image_3', 'background_video_mp4_1', 'background_video_webm_1', 'background_video_width_1', 'background_video_height_1', 'allow_player_pause_1', 'background_video_pause_outside_viewport_1', '__video_background_1', 'background_video_mp4_2', 'background_video_webm_2', 'background_video_width_2', 'background_video_height_2', 'allow_player_pause_2', 'background_video_pause_outside_viewport_2', '__video_background_2', 'background_video_mp4_3', 'background_video_webm_3', 'background_video_width_3', 'background_video_height_3', 'allow_player_pause_3', 'background_video_pause_outside_viewport_3', '__video_background_3', ); $this->fields_defaults = array( 'padding_mobile' => array( '' ), 'column_padding_mobile' => array( '' ), 'use_custom_gutter' => array( 'off' ), 'gutter_width' => array( '' ), 'make_equal' => array( 'off' ), 'background_color_1' => array( '' ), 'background_color_2' => array( '' ), 'background_color_3' => array( '' ), 'bg_img_1' => array( '' ), 'bg_img_2' => array( '' ), 'bg_img_3' => array( '' ), 'padding_top_1' => array( '' ), 'padding_right_1' => array( '' ), 'padding_bottom_1' => array( '' ), 'padding_left_1' => array( '' ), 'padding_top_2' => array( '' ), 'padding_right_2' => array( '' ), 'padding_bottom_2' => array( '' ), 'padding_left_2' => array( '' ), 'padding_top_3' => array( '' ), 'padding_right_3' => array( '' ), 'padding_bottom_3' => array( '' ), 'padding_left_3' => array( '' ), 'parallax_1' => array( 'off' ), 'parallax_method_1' => array( 'on' ), 'parallax_2' => array( 'off' ), 'parallax_method_2' => array( 'on' ), 'parallax_3' => array( 'off' ), 'parallax_method_3' => array( 'on' ), 'custom_padding_tablet' => array( '' ), 'custom_padding_phone' => array( '' ), ); } function get_fields() { $fields = array( 'custom_padding' => array( 'label' => esc_html__( 'Custom Padding', 'et_builder' ), 'type' => 'custom_padding', 'mobile_options' => true, 'option_category' => 'layout', 'description' => esc_html__( 'Adjust padding to specific values, or leave blank to use the default padding.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'custom_padding_tablet' => array( 'type' => 'skip', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'custom_padding_phone' => array( 'type' => 'skip', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'padding_mobile' => array( 'label' => esc_html__( 'Keep Custom Padding on Mobile', 'et_builder' ), 'type' => 'skip', // Remaining attribute for backward compatibility 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'use_custom_gutter' => array( 'label' => esc_html__( 'Use Custom Gutter Width', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'affects' => array( 'gutter_width', ), 'description' => esc_html__( 'Enable this option to define custom gutter width for this row.', 'et_builder' ), 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'gutter_width' => array( 'label' => esc_html__( 'Gutter Width', 'et_builder' ), 'type' => 'range', 'option_category' => 'layout', 'range_settings' => array( 'min' => 1, 'max' => 4, 'step' => 1, ), 'depends_show_if' => 'on', 'description' => esc_html__( 'Adjust the spacing between each column in this row.', 'et_builder' ), 'validate_unit' => false, 'fixed_range' => true, 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'make_equal' => array( 'label' => esc_html__( 'Equalize Column Heights', 'et_builder' ), 'type' => 'yes_no_button', 'option_category' => 'layout', 'options' => array( 'off' => esc_html__( 'No', 'et_builder' ), 'on' => esc_html__( 'Yes', 'et_builder' ), ), 'default' => 'off', 'tab_slug' => 'advanced', 'toggle_slug' => 'width', ), 'background_color' => array( 'label' => esc_html__( 'Background Color', 'et_builder' ), 'type' => 'color-alpha', 'custom_color' => true, 'toggle_slug' => 'background', ), 'columns_background' => array( 'type' => 'column_settings_background', 'option_category' => 'configuration', 'toggle_slug' => 'background', ), 'columns_padding' => array( 'type' => 'column_settings_padding', 'option_category' => 'configuration', 'tab_slug' => 'advanced', 'toggle_slug' => 'custom_margin_padding', ), 'column_padding_mobile' => array( 'label' => esc_html__( 'Keep Column Padding on Mobile', 'et_builder' ), 'type' => 'skip', // Remaining attribute for backward compatibility ), 'background_color_1' => array( 'type' => 'skip', ), 'background_color_2' => array( 'type' => 'skip', ), 'background_color_3' => array( 'type' => 'skip', ), 'bg_img_1' => array( 'type' => 'skip', ), 'bg_img_2' => array( 'type' => 'skip', ), 'bg_img_3' => array( 'type' => 'skip', ), 'padding_top_1' => array( 'type' => 'skip', ), 'padding_right_1' => array( 'type' => 'skip', ), 'padding_bottom_1' => array( 'type' => 'skip', ), 'padding_left_1' => array( 'type' => 'skip', ), 'padding_top_2' => array( 'type' => 'skip', ), 'padding_right_2' => array( 'type' => 'skip', ), 'padding_bottom_2' => array( 'type' => 'skip', ), 'padding_left_2' => array( 'type' => 'skip', ), 'padding_top_3' => array( 'type' => 'skip', ), 'padding_right_3' => array( 'type' => 'skip', ), 'padding_bottom_3' => array( 'type' => 'skip', ), 'padding_left_3' => array( 'type' => 'skip', ), 'parallax_1' => array( 'type' => 'skip', ), 'parallax_method_1' => array( 'type' => 'skip', ), 'parallax_2' => array( 'type' => 'skip', ), 'parallax_method_2' => array( 'type' => 'skip', ), 'parallax_3' => array( 'type' => 'skip', ), 'parallax_method_3' => array( 'type' => 'skip', ), 'background_size_1' => array( 'type' => 'skip', ), 'background_size_2' => array( 'type' => 'skip', ), 'background_size_3' => array( 'type' => 'skip', ), 'background_position_1' => array( 'type' => 'skip', ), 'background_position_2' => array( 'type' => 'skip', ), 'background_position_3' => array( 'type' => 'skip', ), 'background_repeat_1' => array( 'type' => 'skip', ), 'background_repeat_2' => array( 'type' => 'skip', ), 'background_repeat_3' => array( 'type' => 'skip', ), 'background_blend_1' => array( 'type' => 'skip', ), 'background_blend_2' => array( 'type' => 'skip', ), 'background_blend_3' => array( 'type' => 'skip', ), 'padding_1_tablet' => array( 'type' => 'skip', ), 'padding_2_tablet' => array( 'type' => 'skip', ), 'padding_3_tablet' => array( 'type' => 'skip', ), 'padding_1_phone' => array( 'type' => 'skip', ), 'padding_2_phone' => array( 'type' => 'skip', ), 'padding_3_phone' => array( 'type' => 'skip', ), 'padding_1_last_edited' => array( 'type' => 'skip', ), 'padding_2_last_edited' => array( 'type' => 'skip', ), 'padding_3_last_edited' => array( 'type' => 'skip', ), 'module_id_1' => array( 'type' => 'skip', ), 'module_id_2' => array( 'type' => 'skip', ), 'module_id_3' => array( 'type' => 'skip', ), 'module_class_1' => array( 'type' => 'skip', ), 'module_class_2' => array( 'type' => 'skip', ), 'module_class_3' => array( 'type' => 'skip', ), 'custom_css_before_1' => array( 'type' => 'skip', ), 'custom_css_before_2' => array( 'type' => 'skip', ), 'custom_css_before_3' => array( 'type' => 'skip', ), 'custom_css_main_1' => array( 'type' => 'skip', ), 'custom_css_main_2' => array( 'type' => 'skip', ), 'custom_css_main_3' => array( 'type' => 'skip', ), 'custom_css_after_1' => array( 'type' => 'skip', ), 'custom_css_after_2' => array( 'type' => 'skip', ), 'custom_css_after_3' => array( 'type' => 'skip', ), 'columns_css' => array( 'type' => 'column_settings_css', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'custom_css', 'priority' => '20', ), 'disabled_on' => array( 'label' => esc_html__( 'Disable on', 'et_builder' ), 'type' => 'multiple_checkboxes', 'options' => array( 'phone' => esc_html__( 'Phone', 'et_builder' ), 'tablet' => esc_html__( 'Tablet', 'et_builder' ), 'desktop' => esc_html__( 'Desktop', 'et_builder' ), ), 'additional_att' => 'disable_on', 'option_category' => 'configuration', 'description' => esc_html__( 'This will disable the module on selected devices', 'et_builder' ), 'tab_slug' => 'custom_css', 'toggle_slug' => 'visibility', ), 'admin_label' => array( 'label' => esc_html__( 'Admin Label', 'et_builder' ), 'type' => 'text', 'description' => esc_html__( 'This will change the label of the row in the builder for easy identification when collapsed.', 'et_builder' ), 'toggle_slug' => 'admin_label', ), 'module_id' => array( 'label' => esc_html__( 'CSS ID', 'et_builder' ), 'type' => 'text', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', 'option_class' => 'et_pb_custom_css_regular', ), 'module_class' => array( 'label' => esc_html__( 'CSS Class', 'et_builder' ), 'type' => 'text', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', 'option_class' => 'et_pb_custom_css_regular', ), 'custom_padding_last_edited' => array( 'type' => 'skip', 'tab_slug' => 'advanced', ), 'columns_css_fields' => array( 'type' => 'column_settings_css_fields', 'option_category' => 'configuration', 'tab_slug' => 'custom_css', 'toggle_slug' => 'classes', ), 'use_background_color_gradient_1' => array( 'type' => 'skip', ), 'use_background_color_gradient_2' => array( 'type' => 'skip', ), 'use_background_color_gradient_3' => array( 'type' => 'skip', ), 'background_color_gradient_start_1' => array( 'type' => 'skip', ), 'background_color_gradient_start_2' => array( 'type' => 'skip', ), 'background_color_gradient_start_3' => array( 'type' => 'skip', ), 'background_color_gradient_end_1' => array( 'type' => 'skip', ), 'background_color_gradient_end_2' => array( 'type' => 'skip', ), 'background_color_gradient_end_3' => array( 'type' => 'skip', ), 'background_color_gradient_type_1' => array( 'type' => 'skip', ), 'background_color_gradient_type_2' => array( 'type' => 'skip', ), 'background_color_gradient_type_3' => array( 'type' => 'skip', ), 'background_color_gradient_direction_1' => array( 'type' => 'skip', ), 'background_color_gradient_direction_2' => array( 'type' => 'skip', ), 'background_color_gradient_direction_3' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_1' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_2' => array( 'type' => 'skip', ), 'background_color_gradient_direction_radial_3' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_1' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_2' => array( 'type' => 'skip', ), 'background_color_gradient_start_position_3' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_1' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_2' => array( 'type' => 'skip', ), 'background_color_gradient_end_position_3' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_1' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_2' => array( 'type' => 'skip', ), 'background_color_gradient_overlays_image_3' => array( 'type' => 'skip', ), 'background_video_mp4_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_webm_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_width_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_height_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'allow_player_pause_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), 'background_video_pause_outside_viewport_1' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_1', ), ), '__video_background_1' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_1', 'background_video_webm_1', 'background_video_width_1', 'background_video_height_1', ), 'computed_minimum' => array( 'background_video_mp4_1', 'background_video_webm_1', ), ), 'background_video_mp4_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_webm_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_width_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_height_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'allow_player_pause_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), 'background_video_pause_outside_viewport_2' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_2', ), ), '__video_background_2' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_2', 'background_video_webm_2', 'background_video_width_2', 'background_video_height_2', ), 'computed_minimum' => array( 'background_video_mp4_2', 'background_video_webm_2', ), ), 'background_video_mp4_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_webm_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_width_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_height_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'allow_player_pause_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), 'background_video_pause_outside_viewport_3' => array( 'type' => 'skip', 'computed_affects' => array( '__video_background_3', ), ), '__video_background_3' => array( 'type' => 'computed', 'computed_callback' => array( 'ET_Builder_Column', 'get_column_video_background' ), 'computed_depends_on' => array( 'background_video_mp4_3', 'background_video_webm_3', 'background_video_width_3', 'background_video_height_3', ), 'computed_minimum' => array( 'background_video_mp4_3', 'background_video_webm_3', ), ), ); return $fields; } function shortcode_callback( $atts, $content = null, $function_name ) { $module_id = $this->shortcode_atts['module_id']; $module_class = $this->shortcode_atts['module_class']; $background_color_1 = $this->shortcode_atts['background_color_1']; $background_color_2 = $this->shortcode_atts['background_color_2']; $background_color_3 = $this->shortcode_atts['background_color_3']; $bg_img_1 = $this->shortcode_atts['bg_img_1']; $bg_img_2 = $this->shortcode_atts['bg_img_2']; $bg_img_3 = $this->shortcode_atts['bg_img_3']; $background_size_1 = $this->shortcode_atts['background_size_1']; $background_size_2 = $this->shortcode_atts['background_size_2']; $background_size_3 = $this->shortcode_atts['background_size_3']; $background_position_1 = $this->shortcode_atts['background_position_1']; $background_position_2 = $this->shortcode_atts['background_position_2']; $background_position_3 = $this->shortcode_atts['background_position_3']; $background_repeat_1 = $this->shortcode_atts['background_repeat_1']; $background_repeat_2 = $this->shortcode_atts['background_repeat_2']; $background_repeat_3 = $this->shortcode_atts['background_repeat_3']; $background_blend_1 = $this->shortcode_atts['background_blend_1']; $background_blend_2 = $this->shortcode_atts['background_blend_2']; $background_blend_3 = $this->shortcode_atts['background_blend_3']; $padding_top_1 = $this->shortcode_atts['padding_top_1']; $padding_right_1 = $this->shortcode_atts['padding_right_1']; $padding_bottom_1 = $this->shortcode_atts['padding_bottom_1']; $padding_left_1 = $this->shortcode_atts['padding_left_1']; $padding_top_2 = $this->shortcode_atts['padding_top_2']; $padding_right_2 = $this->shortcode_atts['padding_right_2']; $padding_bottom_2 = $this->shortcode_atts['padding_bottom_2']; $padding_left_2 = $this->shortcode_atts['padding_left_2']; $padding_top_3 = $this->shortcode_atts['padding_top_3']; $padding_right_3 = $this->shortcode_atts['padding_right_3']; $padding_bottom_3 = $this->shortcode_atts['padding_bottom_3']; $padding_left_3 = $this->shortcode_atts['padding_left_3']; $padding_1_tablet = $this->shortcode_atts['padding_1_tablet']; $padding_2_tablet = $this->shortcode_atts['padding_2_tablet']; $padding_3_tablet = $this->shortcode_atts['padding_3_tablet']; $padding_1_phone = $this->shortcode_atts['padding_1_phone']; $padding_2_phone = $this->shortcode_atts['padding_2_phone']; $padding_3_phone = $this->shortcode_atts['padding_3_phone']; $padding_1_last_edited = $this->shortcode_atts['padding_1_last_edited']; $padding_2_last_edited = $this->shortcode_atts['padding_2_last_edited']; $padding_3_last_edited = $this->shortcode_atts['padding_3_last_edited']; $gutter_width = $this->shortcode_atts['gutter_width']; $make_equal = $this->shortcode_atts['make_equal']; $custom_padding = $this->shortcode_atts['custom_padding']; $padding_mobile = $this->shortcode_atts['padding_mobile']; $custom_padding_tablet = $this->shortcode_atts['custom_padding_tablet']; $custom_padding_phone = $this->shortcode_atts['custom_padding_phone']; $custom_padding_last_edited = $this->shortcode_atts['custom_padding_last_edited']; $column_padding_mobile = $this->shortcode_atts['column_padding_mobile']; $global_module = $this->shortcode_atts['global_module']; $use_custom_gutter = $this->shortcode_atts['use_custom_gutter']; $parallax_1 = $this->shortcode_atts['parallax_1']; $parallax_method_1 = $this->shortcode_atts['parallax_method_1']; $parallax_2 = $this->shortcode_atts['parallax_2']; $parallax_method_2 = $this->shortcode_atts['parallax_method_2']; $parallax_3 = $this->shortcode_atts['parallax_3']; $parallax_method_3 = $this->shortcode_atts['parallax_method_3']; $module_id_1 = $this->shortcode_atts['module_id_1']; $module_id_2 = $this->shortcode_atts['module_id_2']; $module_id_3 = $this->shortcode_atts['module_id_3']; $module_class_1 = $this->shortcode_atts['module_class_1']; $module_class_2 = $this->shortcode_atts['module_class_2']; $module_class_3 = $this->shortcode_atts['module_class_3']; $custom_css_before_1 = $this->shortcode_atts['custom_css_before_1']; $custom_css_before_2 = $this->shortcode_atts['custom_css_before_2']; $custom_css_before_3 = $this->shortcode_atts['custom_css_before_3']; $custom_css_main_1 = $this->shortcode_atts['custom_css_main_1']; $custom_css_main_2 = $this->shortcode_atts['custom_css_main_2']; $custom_css_main_3 = $this->shortcode_atts['custom_css_main_3']; $custom_css_after_1 = $this->shortcode_atts['custom_css_after_1']; $custom_css_after_2 = $this->shortcode_atts['custom_css_after_2']; $custom_css_after_3 = $this->shortcode_atts['custom_css_after_3']; $use_background_color_gradient_1 = $this->shortcode_atts['use_background_color_gradient_1']; $use_background_color_gradient_2 = $this->shortcode_atts['use_background_color_gradient_2']; $use_background_color_gradient_3 = $this->shortcode_atts['use_background_color_gradient_3']; $background_color_gradient_type_1 = $this->shortcode_atts['background_color_gradient_type_1']; $background_color_gradient_type_2 = $this->shortcode_atts['background_color_gradient_type_2']; $background_color_gradient_type_3 = $this->shortcode_atts['background_color_gradient_type_3']; $background_color_gradient_direction_1 = $this->shortcode_atts['background_color_gradient_direction_1']; $background_color_gradient_direction_2 = $this->shortcode_atts['background_color_gradient_direction_2']; $background_color_gradient_direction_3 = $this->shortcode_atts['background_color_gradient_direction_3']; $background_color_gradient_direction_radial_1 = $this->shortcode_atts['background_color_gradient_direction_radial_1']; $background_color_gradient_direction_radial_2 = $this->shortcode_atts['background_color_gradient_direction_radial_2']; $background_color_gradient_direction_radial_3 = $this->shortcode_atts['background_color_gradient_direction_radial_3']; $background_color_gradient_start_1 = $this->shortcode_atts['background_color_gradient_start_1']; $background_color_gradient_start_2 = $this->shortcode_atts['background_color_gradient_start_2']; $background_color_gradient_start_3 = $this->shortcode_atts['background_color_gradient_start_3']; $background_color_gradient_end_1 = $this->shortcode_atts['background_color_gradient_end_1']; $background_color_gradient_end_2 = $this->shortcode_atts['background_color_gradient_end_2']; $background_color_gradient_end_3 = $this->shortcode_atts['background_color_gradient_end_3']; $background_color_gradient_start_position_1 = $this->shortcode_atts['background_color_gradient_start_position_1']; $background_color_gradient_start_position_2 = $this->shortcode_atts['background_color_gradient_start_position_2']; $background_color_gradient_start_position_3 = $this->shortcode_atts['background_color_gradient_start_position_3']; $background_color_gradient_end_position_1 = $this->shortcode_atts['background_color_gradient_end_position_1']; $background_color_gradient_end_position_2 = $this->shortcode_atts['background_color_gradient_end_position_2']; $background_color_gradient_end_position_3 = $this->shortcode_atts['background_color_gradient_end_position_3']; $background_color_gradient_overlays_image_1 = $this->shortcode_atts['background_color_gradient_overlays_image_1']; $background_color_gradient_overlays_image_2 = $this->shortcode_atts['background_color_gradient_overlays_image_2']; $background_color_gradient_overlays_image_3 = $this->shortcode_atts['background_color_gradient_overlays_image_3']; $background_video_mp4_1 = $this->shortcode_atts['background_video_mp4_1']; $background_video_mp4_2 = $this->shortcode_atts['background_video_mp4_2']; $background_video_mp4_3 = $this->shortcode_atts['background_video_mp4_3']; $background_video_webm_1 = $this->shortcode_atts['background_video_webm_1']; $background_video_webm_2 = $this->shortcode_atts['background_video_webm_2']; $background_video_webm_3 = $this->shortcode_atts['background_video_webm_3']; $background_video_width_1 = $this->shortcode_atts['background_video_width_1']; $background_video_width_2 = $this->shortcode_atts['background_video_width_2']; $background_video_width_3 = $this->shortcode_atts['background_video_width_3']; $background_video_height_1 = $this->shortcode_atts['background_video_height_1']; $background_video_height_2 = $this->shortcode_atts['background_video_height_2']; $background_video_height_3 = $this->shortcode_atts['background_video_height_3']; $allow_player_pause_1 = $this->shortcode_atts['allow_player_pause_1']; $allow_player_pause_2 = $this->shortcode_atts['allow_player_pause_2']; $allow_player_pause_3 = $this->shortcode_atts['allow_player_pause_3']; $background_video_pause_outside_viewport_1 = $this->shortcode_atts['background_video_pause_outside_viewport_1']; $background_video_pause_outside_viewport_2 = $this->shortcode_atts['background_video_pause_outside_viewport_2']; $background_video_pause_outside_viewport_3 = $this->shortcode_atts['background_video_pause_outside_viewport_3']; global $et_pb_all_column_settings_inner, $et_pb_rendering_column_content, $et_pb_rendering_column_content_row; $et_pb_all_column_settings_inner = ! isset( $et_pb_all_column_settings_inner ) ? array() : $et_pb_all_column_settings_inner; $et_pb_all_column_settings_backup = $et_pb_all_column_settings_inner; $keep_column_padding_mobile = $column_padding_mobile; if ( '' !== $global_module ) { $global_content = et_pb_load_global_module( $global_module, $function_name ); if ( '' !== $global_content ) { return do_shortcode( et_pb_fix_shortcodes( wpautop( $global_content ) ) ); } } $custom_padding_responsive_active = et_pb_get_responsive_status( $custom_padding_last_edited ); $padding_mobile_values = $custom_padding_responsive_active ? array( 'tablet' => explode( '|', $custom_padding_tablet ), 'phone' => explode( '|', $custom_padding_phone ), ) : array( 'tablet' => false, 'phone' => false, ); $et_pb_columns_inner_counter = 0; $et_pb_column_inner_backgrounds = array( array( 'color' => $background_color_1, 'image' => $bg_img_1, 'image_size' => $background_size_1, 'image_position' => $background_position_1, 'image_repeat' => $background_repeat_1, 'image_blend' => $background_blend_1, ), array( 'color' => $background_color_2, 'image' => $bg_img_2, 'image_size' => $background_size_2, 'image_position' => $background_position_2, 'image_repeat' => $background_repeat_2, 'image_blend' => $background_blend_2, ), array( 'color' => $background_color_3, 'image' => $bg_img_3, 'image_size' => $background_size_3, 'image_position' => $background_position_3, 'image_repeat' => $background_repeat_3, 'image_blend' => $background_blend_3, ), ); $et_pb_column_inner_backgrounds_gradient = array( array( 'active' => $use_background_color_gradient_1, 'type' => $background_color_gradient_type_1, 'direction' => $background_color_gradient_direction_1, 'radial_direction' => $background_color_gradient_direction_radial_1, 'color_start' => $background_color_gradient_start_1, 'color_end' => $background_color_gradient_end_1, 'start_position' => $background_color_gradient_start_position_1, 'end_position' => $background_color_gradient_end_position_1, 'overlays_image' => $background_color_gradient_overlays_image_1, ), array( 'active' => $use_background_color_gradient_2, 'type' => $background_color_gradient_type_2, 'direction' => $background_color_gradient_direction_2, 'radial_direction' => $background_color_gradient_direction_radial_2, 'color_start' => $background_color_gradient_start_2, 'color_end' => $background_color_gradient_end_2, 'start_position' => $background_color_gradient_start_position_2, 'end_position' => $background_color_gradient_end_position_2, 'overlays_image' => $background_color_gradient_overlays_image_2, ), array( 'active' => $use_background_color_gradient_3, 'type' => $background_color_gradient_type_3, 'direction' => $background_color_gradient_direction_3, 'radial_direction' => $background_color_gradient_direction_radial_3, 'color_start' => $background_color_gradient_start_3, 'color_end' => $background_color_gradient_end_3, 'start_position' => $background_color_gradient_start_position_3, 'end_position' => $background_color_gradient_end_position_3, 'overlays_image' => $background_color_gradient_overlays_image_3, ), ); $et_pb_column_inner_backgrounds_video = array( array( 'background_video_mp4' => $background_video_mp4_1, 'background_video_webm' => $background_video_webm_1, 'background_video_width' => $background_video_width_1, 'background_video_height' => $background_video_height_1, 'background_video_allow_pause' => $allow_player_pause_1, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_1, ), array( 'background_video_mp4' => $background_video_mp4_2, 'background_video_webm' => $background_video_webm_2, 'background_video_width' => $background_video_width_2, 'background_video_height' => $background_video_height_2, 'background_video_allow_pause' => $allow_player_pause_2, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_2, ), array( 'background_video_mp4' => $background_video_mp4_3, 'background_video_webm' => $background_video_webm_3, 'background_video_width' => $background_video_width_3, 'background_video_height' => $background_video_height_3, 'background_video_allow_pause' => $allow_player_pause_3, 'background_video_pause_outside_viewport' => $background_video_pause_outside_viewport_3, ), ); $et_pb_column_inner_paddings = array( array( 'padding-top' => $padding_top_1, 'padding-right' => $padding_right_1, 'padding-bottom' => $padding_bottom_1, 'padding-left' => $padding_left_1, ), array( 'padding-top' => $padding_top_2, 'padding-right' => $padding_right_2, 'padding-bottom' => $padding_bottom_2, 'padding-left' => $padding_left_2, ), array( 'padding-top' => $padding_top_3, 'padding-right' => $padding_right_3, 'padding-bottom' => $padding_bottom_3, 'padding-left' => $padding_left_3, ), ); $et_pb_column_parallax = array( array( $parallax_1, $parallax_method_1 ), array( $parallax_2, $parallax_method_2 ), array( $parallax_3, $parallax_method_3 ), ); $et_pb_column_inner_paddings_mobile = array( array( 'tablet' => explode( '|', $padding_1_tablet ), 'phone' => explode( '|', $padding_1_phone ), 'last_edited' => $padding_1_last_edited, ), array( 'tablet' => explode( '|', $padding_2_tablet ), 'phone' => explode( '|', $padding_2_phone ), 'last_edited' => $padding_2_last_edited, ), array( 'tablet' => explode( '|', $padding_3_tablet ), 'phone' => explode( '|', $padding_3_phone ), 'last_edited' => $padding_3_last_edited, ), ); $padding_values = explode( '|', $custom_padding ); if ( ! empty( $padding_values ) ) { // old version of Rows support only top and bottom padding, so we need to handle it along with the full padding in the recent version if ( 2 === count( $padding_values ) ) { $padding_settings = array( 'top' => isset( $padding_values[0] ) ? $padding_values[0] : '', 'bottom' => isset( $padding_values[1] ) ? $padding_values[1] : '', ); } else { $padding_settings = array( 'top' => isset( $padding_values[0] ) ? $padding_values[0] : '', 'right' => isset( $padding_values[1] ) ? $padding_values[1] : '', 'bottom' => isset( $padding_values[2] ) ? $padding_values[2] : '', 'left' => isset( $padding_values[3] ) ? $padding_values[3] : '', ); } foreach( $padding_settings as $padding_side => $value ) { if ( '' !== $value ) { $element_style = array( 'selector' => '.et_pb_column %%order_class%%', 'declaration' => sprintf( 'padding-%1$s: %2$s;', esc_html( $padding_side ), esc_html( $value ) ), ); // Backward compatibility. Keep Padding on Mobile is deprecated in favour of responsive inputs mechanism for custom padding // To ensure that it is compatibility with previous version of Divi, this option is now only used as last resort if no // responsive padding value is found, and padding_mobile value is saved (which is set to off by default) if ( in_array( $padding_mobile, array( 'on', 'off' ) ) && 'on' !== $padding_mobile && ! $custom_padding_responsive_active ) { $element_style['media_query'] = ET_Builder_Element::get_media_query( 'min_width_981' ); } ET_Builder_Element::set_style( $function_name, $element_style ); } } } if ( ! empty( $padding_mobile_values['tablet'] ) || ! empty( $padding_values['phone'] ) ) { $padding_mobile_values_processed = array(); foreach( array( 'tablet', 'phone' ) as $device ) { if ( empty( $padding_mobile_values[$device] ) ) { continue; } $padding_mobile_values_processed[ $device ] = array( 'padding-top' => isset( $padding_mobile_values[$device][0] ) ? $padding_mobile_values[$device][0] : '', 'padding-right' => isset( $padding_mobile_values[$device][1] ) ? $padding_mobile_values[$device][1] : '', 'padding-bottom' => isset( $padding_mobile_values[$device][2] ) ? $padding_mobile_values[$device][2] : '', 'padding-left' => isset( $padding_mobile_values[$device][3] ) ? $padding_mobile_values[$device][3] : '', ); } if ( ! empty( $padding_mobile_values_processed ) ) { et_pb_generate_responsive_css( $padding_mobile_values_processed, '.et_pb_column %%order_class%%', '', $function_name, ' !important; ' ); } } $et_pb_column_inner_css = array( 'css_class' => array( $module_class_1, $module_class_2, $module_class_3 ), 'css_id' => array( $module_id_1, $module_id_2, $module_id_3 ), 'custom_css_before' => array( $custom_css_before_1, $custom_css_before_2, $custom_css_before_3 ), 'custom_css_main' => array( $custom_css_main_1, $custom_css_main_2, $custom_css_main_3 ), 'custom_css_after' => array( $custom_css_after_1, $custom_css_after_2, $custom_css_after_3 ), ); $internal_columns_settings_array = array( 'keep_column_padding_mobile' => $keep_column_padding_mobile, 'et_pb_column_inner_backgrounds' => $et_pb_column_inner_backgrounds, 'et_pb_column_inner_backgrounds_gradient' => $et_pb_column_inner_backgrounds_gradient, 'et_pb_column_inner_backgrounds_video' => $et_pb_column_inner_backgrounds_video, 'et_pb_columns_inner_counter' => $et_pb_columns_inner_counter, 'et_pb_column_inner_paddings' => $et_pb_column_inner_paddings, 'et_pb_column_inner_paddings_mobile' => $et_pb_column_inner_paddings_mobile, 'et_pb_column_parallax' => $et_pb_column_parallax, 'et_pb_column_inner_css' => $et_pb_column_inner_css, ); $current_row_position = $et_pb_rendering_column_content ? 'internal_row' : 'regular_row'; $et_pb_all_column_settings_inner[ $current_row_position ] = $internal_columns_settings_array; $module_class .= ' et_pb_row_inner'; $module_class = ET_Builder_Element::add_module_order_class( $module_class, $function_name ); $inner_content = do_shortcode( et_pb_fix_shortcodes( $content ) ); $module_class .= '' == trim( $inner_content ) ? ' et_pb_row_empty' : ''; $module_class .= 'on' === $make_equal ? ' et_pb_equal_columns' : ''; if ( 'on' === $use_custom_gutter && '' !== $gutter_width ) { $gutter_width = '0' === $gutter_width ? '1' : $gutter_width; // set the gutter to 1 if 0 entered by user $module_class .= ' et_pb_gutters' . $gutter_width; } $parallax_image = $this->get_parallax_image_background(); $background_video = $this->video_background(); // reset the global column settings to make sure they are not affected by internal content $et_pb_all_column_settings_inner = $et_pb_all_column_settings_backup; // CSS Filters $module_class .= $this->generate_css_filters( $function_name ); $output = sprintf( ' %1$s %5$s %6$s ', $inner_content, esc_attr( $module_class ), esc_html( $function_name ), ( '' !== $module_id ? sprintf( ' id="%1$s"', esc_attr( $module_id ) ) : '' ), $parallax_image, $background_video, ( '' !== $background_video ? ' et_pb_section_video et_pb_preload' : '' ), ( '' !== $parallax_image ? ' et_pb_section_parallax' : '' ) ); return $output; } } new ET_Builder_Row_Inner; class ET_Builder_Column extends ET_Builder_Structure_Element { function init() { $this->name = esc_html__( 'Column', 'et_builder' ); $this->slug = 'et_pb_column'; $this->additional_shortcode_slugs = array( 'et_pb_column_inner' ); $this->fb_support = true; $this->whitelisted_fields = array( 'type', 'specialty_columns', 'saved_specialty_column_type', 'use_background_color_gradient', 'background_color_gradient_start', 'background_color_gradient_end', 'background_color_gradient_type', 'background_color_gradient_direction', 'background_color_gradient_direction_radial', 'background_color_gradient_start_position', 'background_color_gradient_end_position', 'background_color_gradient_overlays_image', 'background_video_mp4', 'background_video_webm', 'background_video_width', 'background_video_height', 'allow_player_pause', 'background_video_pause_outside_viewport', '__video_background', ); $this->fields_defaults = array( 'type' => array( '4_4' ), 'specialty_columns' => array( '' ), 'saved_specialty_column_type' => array( '' ), ); } function get_fields() { $fields = array( 'type' => array( 'type' => 'skip', ), 'specialty_columns' => array( 'type' => 'skip', ), 'saved_specialty_column_type' => array( 'type' => 'skip', ), ); return $fields; } function shortcode_callback( $atts, $content = null, $function_name ) { $type = $this->shortcode_atts['type']; $specialty_columns = $this->shortcode_atts['specialty_columns']; $saved_specialty_column_type = $this->shortcode_atts['saved_specialty_column_type']; global $et_pb_all_column_settings, $et_pb_all_column_settings_inner, $et_specialty_column_type, $et_pb_rendering_column_content, $et_pb_rendering_column_content_row, $et_pb_column_completion; $is_specialty_column = 'et_pb_column_inner' !== $function_name && '' !== $specialty_columns; $current_row_position = $et_pb_rendering_column_content_row ? 'internal_row' : 'regular_row'; if ( 'et_pb_column_inner' !== $function_name ) { $et_specialty_column_type = $type; $array_index = isset( $et_pb_all_column_settings[ $current_row_position ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_columns_counter'] : 0; $backgrounds_array = isset( $et_pb_all_column_settings[ $current_row_position ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_backgrounds'] : array(); $background_gradient = isset( $et_pb_all_column_settings[ $current_row_position ], $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_backgrounds_gradient'][ $array_index ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_backgrounds_gradient'][ $array_index ] : ''; $background_video = isset( $et_pb_all_column_settings[ $current_row_position ], $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_backgrounds_video'][ $array_index ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_backgrounds_video'][ $array_index ] : ''; $paddings_array = isset( $et_pb_all_column_settings[ $current_row_position ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_paddings'] : array(); $paddings_mobile_array = isset( $et_pb_all_column_settings[ $current_row_position ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_paddings_mobile'] : array(); $column_css_array = isset( $et_pb_all_column_settings[ $current_row_position ] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_css'] : array(); $keep_column_padding_mobile = isset( $et_pb_all_column_settings[ $current_row_position ] ) ? $et_pb_all_column_settings[ $current_row_position ]['keep_column_padding_mobile'] : 'on'; $column_parallax = isset( $et_pb_all_column_settings[ $current_row_position ] ) && isset( $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_parallax'] ) ? $et_pb_all_column_settings[ $current_row_position ]['et_pb_column_parallax'] : ''; if ( isset( $et_pb_all_column_settings[ $current_row_position ] ) ) { $et_pb_all_column_settings[ $current_row_position ]['et_pb_columns_counter']++; } } else { $array_index = $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_columns_inner_counter']; $backgrounds_array = $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_backgrounds']; $background_gradient = isset( $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_backgrounds_gradient'] ) ? $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_backgrounds_gradient'][ $array_index ] : ''; $background_video = isset( $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_backgrounds_video'] ) ? $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_backgrounds_video'][ $array_index ] : ''; $paddings_array = $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_paddings']; $column_css_array = $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_css']; $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_columns_inner_counter']++; $paddings_mobile_array = $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_inner_paddings_mobile']; $keep_column_padding_mobile = $et_pb_all_column_settings_inner[ $current_row_position ]['keep_column_padding_mobile']; $column_parallax = isset( $et_pb_all_column_settings_inner[ $current_row_position ] ) && isset( $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_parallax'] ) ? $et_pb_all_column_settings_inner[ $current_row_position ]['et_pb_column_parallax'] : ''; } // Get column type value in array $column_type = explode( '_', $type ); // Just in case for some reason column shortcode has no `type` attribute and causes unexpected $column_type values if ( isset( $column_type[0] ) && isset( $column_type[1] ) ) { // Get column progress. $column_progress = intval( $column_type[0] ) / intval( $column_type[1] ); if ( 0 === $array_index ) { $et_pb_column_completion = $column_progress; } else { $et_pb_column_completion = $et_pb_column_completion + $column_progress; } } // Last column is when sum of column type value equals to 1 $is_last_column = 1 == $et_pb_column_completion; $background_color = isset( $backgrounds_array[$array_index]['color'] ) ? $backgrounds_array[$array_index]['color'] : ''; $background_img = isset( $backgrounds_array[$array_index]['image'] ) ? $backgrounds_array[$array_index]['image'] : ''; $background_size = isset( $backgrounds_array[$array_index]['image_size'] ) ? $backgrounds_array[$array_index]['image_size'] : ''; $background_position = isset( $backgrounds_array[$array_index]['image_position'] ) ? $backgrounds_array[$array_index]['image_position'] : ''; $background_repeat = isset( $backgrounds_array[$array_index]['image_repeat'] ) ? $backgrounds_array[$array_index]['image_repeat'] : ''; $background_blend = isset( $backgrounds_array[$array_index]['image_blend'] ) ? $backgrounds_array[$array_index]['image_blend'] : ''; $background_gradient_overlays_image = isset( $background_gradient['overlays_image'] ) ? $background_gradient['overlays_image'] : ''; $padding_values = isset( $paddings_array[$array_index] ) ? $paddings_array[$array_index] : array(); $padding_mobile_values = isset( $paddings_mobile_array[$array_index] ) ? $paddings_mobile_array[$array_index] : array(); $padding_last_edited = isset( $padding_mobile_values['last_edited'] ) ? $padding_mobile_values['last_edited'] : 'off|desktop'; $padding_responsive_active = et_pb_get_responsive_status( $padding_last_edited ); $parallax_method = isset( $column_parallax[$array_index][0] ) && 'on' === $column_parallax[$array_index][0] ? $column_parallax[$array_index][1] : ''; $custom_css_class = isset( $column_css_array['css_class'][$array_index] ) ? ' ' . $column_css_array['css_class'][$array_index] : ''; $custom_css_id = isset( $column_css_array['css_id'][$array_index] ) ? $column_css_array['css_id'][$array_index] : ''; $custom_css_before = isset( $column_css_array['custom_css_before'][$array_index] ) ? $column_css_array['custom_css_before'][$array_index] : ''; $custom_css_main = isset( $column_css_array['custom_css_main'][$array_index] ) ? $column_css_array['custom_css_main'][$array_index] : ''; $custom_css_after = isset( $column_css_array['custom_css_after'][$array_index] ) ? $column_css_array['custom_css_after'][$array_index] : ''; $background_images = array(); if ( '' !== $background_gradient && 'on' === $background_gradient['active'] ) { $has_background_gradient = true; $default_gradient = apply_filters( 'et_pb_default_gradient', array( 'type' => ET_Global_Settings::get_value( 'all_background_gradient_type' ), 'direction' => ET_Global_Settings::get_value( 'all_background_gradient_direction' ), 'radial_direction' => ET_Global_Settings::get_value( 'all_background_gradient_direction_radial' ), 'color_start' => ET_Global_Settings::get_value( 'all_background_gradient_start' ), 'color_end' => ET_Global_Settings::get_value( 'all_background_gradient_end' ), 'start_position' => ET_Global_Settings::get_value( 'all_background_gradient_start_position' ), 'end_position' => ET_Global_Settings::get_value( 'all_background_gradient_end_position' ), ) ); $background_gradient = wp_parse_args( array_filter( $background_gradient ), $default_gradient ); $direction = $background_gradient['type'] === 'linear' ? $background_gradient['direction'] : "circle at {$background_gradient['radial_direction']}"; $start_gradient_position = et_sanitize_input_unit( $background_gradient['start_position'], false, '%' ); $end_gradient_position = et_sanitize_input_unit( $background_gradient['end_position'], false, '%'); $background_images[] = "{$background_gradient['type']}-gradient( {$direction}, {$background_gradient['color_start']} ${start_gradient_position}, {$background_gradient['color_end']} ${end_gradient_position} )"; } if ( '' !== $background_img && 'on' !== $parallax_method ) { $has_background_image = true; $background_images[] = sprintf( 'url(%s)', esc_attr( $background_img ) ); if ( '' !== $background_size ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => sprintf( 'background-size:%s;', esc_attr( $background_size ) ), ) ); } if ( '' !== $background_position ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => sprintf( 'background-position:%s;', esc_attr( str_replace( '_', ' ', $background_position ) ) ), ) ); } if ( '' !== $background_repeat ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => sprintf( 'background-repeat:%s;', esc_attr( $background_repeat ) ), ) ); } if ( '' !== $background_blend ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => sprintf( 'background-blend-mode:%s;', esc_attr( $background_blend ) ), ) ); } } if ( ! empty( $background_images ) ) { if ( 'on' !== $background_gradient_overlays_image ) { // The browsers stack the images in the opposite order to what you'd expect. $background_images = array_reverse( $background_images ); } $backgorund_images_declaration = sprintf( 'background-image: %1$s;', esc_html( implode( ', ', $background_images ) ) ); ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => esc_attr( $backgorund_images_declaration ), ) ); } if ( '' !== $background_color && 'rgba(0,0,0,0)' !== $background_color && ! isset( $has_background_gradient, $has_background_image ) ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => sprintf( 'background-color:%s;', esc_attr( $background_color ) ), ) ); } else if ( isset( $has_background_gradient, $has_background_image ) ) { // Force background-color: initial ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => 'background-color: initial;' ) ); } if ( ! empty( $padding_values ) ) { foreach( $padding_values as $position => $value ) { if ( '' !== $value ) { $element_style = array( 'selector' => '%%order_class%%', 'declaration' => sprintf( '%1$s:%2$s;', esc_html( $position ), esc_html( et_builder_process_range_value( $value ) ) ), ); // Backward compatibility. Keep Padding on Mobile is deprecated in favour of responsive inputs mechanism for custom padding // To ensure that it is compatibility with previous version of Divi, this option is now only used as last resort if no // responsive padding value is found, and padding_mobile value is saved (which is set to off by default) if ( in_array( $keep_column_padding_mobile, array( 'on', 'off' ) ) && 'on' !== $keep_column_padding_mobile && ! $padding_responsive_active ) { $element_style['media_query'] = ET_Builder_Element::get_media_query( 'min_width_981' ); } ET_Builder_Element::set_style( $function_name, $element_style ); } } } if ( $padding_responsive_active && ( ! empty( $padding_mobile_values['tablet'] ) || ! empty( $padding_values['phone'] ) ) ) { $padding_mobile_values_processed = array(); foreach( array( 'tablet', 'phone' ) as $device ) { if ( empty( $padding_mobile_values[$device] ) ) { continue; } $padding_mobile_values_processed[ $device ] = array( 'padding-top' => isset( $padding_mobile_values[$device][0] ) ? $padding_mobile_values[$device][0] : '', 'padding-right' => isset( $padding_mobile_values[$device][1] ) ? $padding_mobile_values[$device][1] : '', 'padding-bottom' => isset( $padding_mobile_values[$device][2] ) ? $padding_mobile_values[$device][2] : '', 'padding-left' => isset( $padding_mobile_values[$device][3] ) ? $padding_mobile_values[$device][3] : '', ); } if ( ! empty( $padding_mobile_values_processed ) ) { $padding_mobile_selector = 'et_pb_column_inner' !== $function_name ? '.et_pb_row > .et_pb_column%%order_class%%' : '.et_pb_row_inner > .et_pb_column%%order_class%%'; et_pb_generate_responsive_css( $padding_mobile_values_processed, $padding_mobile_selector, '', $function_name ); } } if ( '' !== $custom_css_before ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%:before', 'declaration' => trim( $custom_css_before ), ) ); } if ( '' !== $custom_css_main ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%', 'declaration' => trim( $custom_css_main ), ) ); } if ( '' !== $custom_css_after ) { ET_Builder_Element::set_style( $function_name, array( 'selector' => '%%order_class%%:after', 'declaration' => trim( $custom_css_after ), ) ); } if ( 'et_pb_column_inner' === $function_name ) { if ( '1_1' === $type ) { $type = '4_4'; } $et_specialty_column_type = '' !== $saved_specialty_column_type ? $saved_specialty_column_type : $et_specialty_column_type; switch ( $et_specialty_column_type ) { case '1_2': if ( '1_2' === $type ) { $type = '1_4'; } break; case '2_3': if ( '1_2' === $type ) { $type = '1_3'; } break; case '3_4': if ( '1_2' === $type ) { $type = '3_8'; } else if ( '1_3' === $type ) { $type = '1_4'; } break; } } $video_background = trim( $this->video_background( $background_video ) ); $inner_class = 'et_pb_column_inner' === $function_name ? ' et_pb_column_inner' : ''; $class = 'et_pb_column_' . $type . $inner_class . $custom_css_class; $class = ET_Builder_Element::add_module_order_class( $class, $function_name ); $inner_content = do_shortcode( et_pb_fix_shortcodes( $content ) ); $class .= '' == trim( $inner_content ) ? ' et_pb_column_empty' : ''; $class .= $is_specialty_column ? ' et_pb_specialty_column' : ''; // CSS Filters $class .= $this->generate_css_filters( $function_name ); $output = sprintf( '
%7$s %4$s %2$s
', esc_attr( $class ), $inner_content, ( '' !== $parallax_method ? ' et_pb_section_parallax' : '' ), ( '' !== $background_img && '' !== $parallax_method ? sprintf( '
', esc_attr( $background_img ), ( 'off' === $parallax_method ? ' et_pb_parallax_css' : '' ) ) : '' ), '' !== $custom_css_id ? sprintf( ' id="%1$s"', esc_attr( $custom_css_id ) ) : '', '' !== $video_background ? ' et_pb_section_video et_pb_preload' : '', $video_background, $is_last_column ? ' et-last-child' : '' ); return $output; } } new ET_Builder_Column;