Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/includes/builder
File: class-et-builder-element.php
*
[15500] Fix | Delete
* @return array
[15501] Fix | Delete
*/
[15502] Fix | Delete
static function get_module_icons() {
[15503] Fix | Delete
[15504] Fix | Delete
/**
[15505] Fix | Delete
* Filters Module Icons displayed in Add Module modals.
[15506] Fix | Delete
*
[15507] Fix | Delete
* @param array $module_icons Array of all registered module icons.
[15508] Fix | Delete
*/
[15509] Fix | Delete
$module_icons = apply_filters( 'et_builder_module_icons', self::$module_icons );
[15510] Fix | Delete
[15511] Fix | Delete
// Loop module icons
[15512] Fix | Delete
foreach ( $module_icons as $key => $icons ) {
[15513] Fix | Delete
if ( isset( $icons['icon_path'] ) ) {
[15514] Fix | Delete
// Get svg content based on given svg's path
[15515] Fix | Delete
$icon_svg = et_()->WPFS()->exists( $icons['icon_path'] ) ? et_()->WPFS()->get_contents( $icons['icon_path'] ) : false;
[15516] Fix | Delete
[15517] Fix | Delete
if ( $icon_svg ) {
[15518] Fix | Delete
$module_icons[ $key ]['icon_svg'] = $icon_svg;
[15519] Fix | Delete
[15520] Fix | Delete
// Remove icon path attribute since it's no longer used
[15521] Fix | Delete
unset( $module_icons[ $key ]['icon_path'] );
[15522] Fix | Delete
}
[15523] Fix | Delete
}
[15524] Fix | Delete
}
[15525] Fix | Delete
[15526] Fix | Delete
return $module_icons;
[15527] Fix | Delete
}
[15528] Fix | Delete
[15529] Fix | Delete
/**
[15530] Fix | Delete
* Get combined array of child and parent modules for provided post_type
[15531] Fix | Delete
*
[15532] Fix | Delete
* @since 3.1
[15533] Fix | Delete
*
[15534] Fix | Delete
* @return array
[15535] Fix | Delete
*/
[15536] Fix | Delete
static function get_parent_and_child_modules( $post_type = '' ) {
[15537] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15538] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15539] Fix | Delete
[15540] Fix | Delete
return array_merge( $parent_modules, $child_modules );
[15541] Fix | Delete
}
[15542] Fix | Delete
[15543] Fix | Delete
/**
[15544] Fix | Delete
* Get a module instance for provided post type by its slug.
[15545] Fix | Delete
*
[15546] Fix | Delete
* @since 3.10
[15547] Fix | Delete
*
[15548] Fix | Delete
* @param string $slug
[15549] Fix | Delete
* @param string $post_type
[15550] Fix | Delete
*
[15551] Fix | Delete
* @return ET_Builder_Element|null
[15552] Fix | Delete
*/
[15553] Fix | Delete
public static function get_module( $slug, $post_type = 'post' ) {
[15554] Fix | Delete
$modules = self::get_parent_and_child_modules( $post_type );
[15555] Fix | Delete
[15556] Fix | Delete
return self::$_->array_get( $modules, $slug );
[15557] Fix | Delete
}
[15558] Fix | Delete
[15559] Fix | Delete
/**
[15560] Fix | Delete
* Outputs list of all module help videos array
[15561] Fix | Delete
*
[15562] Fix | Delete
* @since 3.1
[15563] Fix | Delete
*
[15564] Fix | Delete
* @return array
[15565] Fix | Delete
*/
[15566] Fix | Delete
static function get_help_videos() {
[15567] Fix | Delete
return self::$module_help_videos;
[15568] Fix | Delete
}
[15569] Fix | Delete
[15570] Fix | Delete
static function get_featured_image_background_modules( $post_type = '' ) {
[15571] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15572] Fix | Delete
$featured_image_background_modules = array();
[15573] Fix | Delete
[15574] Fix | Delete
foreach ( $parent_modules as $slug => $parent_module ) {
[15575] Fix | Delete
if ( ! empty( $parent_module->featured_image_background ) ) {
[15576] Fix | Delete
$featured_image_background_modules[] = $slug;
[15577] Fix | Delete
}
[15578] Fix | Delete
}
[15579] Fix | Delete
[15580] Fix | Delete
/**
[15581] Fix | Delete
* Filters list of modules with support of featured image as background.
[15582] Fix | Delete
*
[15583] Fix | Delete
* @since 3.1
[15584] Fix | Delete
*
[15585] Fix | Delete
* @param array[] $featured_image_background_modules List of modules with support of featured image as background.
[15586] Fix | Delete
*/
[15587] Fix | Delete
return apply_filters( 'et_pb_featured_image_background_modules', $featured_image_background_modules );
[15588] Fix | Delete
}
[15589] Fix | Delete
[15590] Fix | Delete
public static function get_toggles( $post_type ) {
[15591] Fix | Delete
static $toggles_array = array();
[15592] Fix | Delete
[15593] Fix | Delete
if ( $toggles_array ) {
[15594] Fix | Delete
return $toggles_array;
[15595] Fix | Delete
}
[15596] Fix | Delete
[15597] Fix | Delete
$modules = self::get_parent_and_child_modules( $post_type );
[15598] Fix | Delete
$custom_modules = array();
[15599] Fix | Delete
[15600] Fix | Delete
foreach ( $modules as $module_slug => $module ) {
[15601] Fix | Delete
if ( ! $module->_is_official_module ) {
[15602] Fix | Delete
$custom_modules[ $module_slug ] = $module;
[15603] Fix | Delete
}
[15604] Fix | Delete
[15605] Fix | Delete
foreach ( $module->settings_modal_toggles as $tab_slug => &$tab_data ) {
[15606] Fix | Delete
if ( ! isset( $tab_data['toggles'] ) ) {
[15607] Fix | Delete
continue;
[15608] Fix | Delete
}
[15609] Fix | Delete
[15610] Fix | Delete
$tab_data['toggles'] = self::et_pb_order_toggles_by_priority( $tab_data['toggles'] );
[15611] Fix | Delete
}
[15612] Fix | Delete
[15613] Fix | Delete
$toggles_array[ $module_slug ] = $module->settings_modal_toggles;
[15614] Fix | Delete
}
[15615] Fix | Delete
[15616] Fix | Delete
if ( $custom_modules ) {
[15617] Fix | Delete
// Add missing toggle definitions for any existing toggles used in custom modules
[15618] Fix | Delete
foreach ( $custom_modules as $module_slug => $module ) {
[15619] Fix | Delete
foreach ( $module->get_complete_fields() as $field_name => $field_info ) {
[15620] Fix | Delete
$tab_slug = self::$_->array_get( $field_info, 'tab_slug' );
[15621] Fix | Delete
$tab_slug = empty( $tab_slug ) ? 'general' : $tab_slug;
[15622] Fix | Delete
$toggle_slug = self::$_->array_get( $field_info, 'toggle_slug' );
[15623] Fix | Delete
[15624] Fix | Delete
if ( ! $toggle_slug || isset( $toggles_array[ $module_slug ][ $tab_slug ]['toggles'][ $toggle_slug ] ) ) {
[15625] Fix | Delete
continue;
[15626] Fix | Delete
}
[15627] Fix | Delete
[15628] Fix | Delete
// Find existing definition
[15629] Fix | Delete
foreach ( $toggles_array as $_module_slug => $tabs ) {
[15630] Fix | Delete
foreach ( $tabs as $tab => $toggles ) {
[15631] Fix | Delete
if ( isset( $toggles['toggles'][ $toggle_slug ] ) ) {
[15632] Fix | Delete
self::$_->array_set(
[15633] Fix | Delete
$toggles_array,
[15634] Fix | Delete
"{$module_slug}.{$tab_slug}.toggles.{$toggle_slug}",
[15635] Fix | Delete
$toggles['toggles'][ $toggle_slug ]
[15636] Fix | Delete
);
[15637] Fix | Delete
[15638] Fix | Delete
$toggles_array[ $module_slug ][ $tab_slug ]['toggles'] = self::et_pb_order_toggles_by_priority( $toggles_array[ $module_slug ][ $tab_slug ]['toggles'] );
[15639] Fix | Delete
[15640] Fix | Delete
break 2;
[15641] Fix | Delete
}
[15642] Fix | Delete
}
[15643] Fix | Delete
}
[15644] Fix | Delete
[15645] Fix | Delete
// Add missing unregistered toggles to the list
[15646] Fix | Delete
if ( ! isset( $toggles_array[ $module_slug ][ $tab_slug ]['toggles'][ $toggle_slug ] ) ) {
[15647] Fix | Delete
if ( ! isset( $toggles_array[ $module_slug ][ $tab_slug ] ) ) {
[15648] Fix | Delete
$toggles_array[ $module_slug ][ $tab_slug ] = array( 'toggles' => array( $toggle_slug ) );
[15649] Fix | Delete
} else {
[15650] Fix | Delete
$toggles_array[ $module_slug ][ $tab_slug ]['toggles'][] = $toggle_slug;
[15651] Fix | Delete
}
[15652] Fix | Delete
}
[15653] Fix | Delete
}
[15654] Fix | Delete
}
[15655] Fix | Delete
}
[15656] Fix | Delete
[15657] Fix | Delete
return $toggles_array;
[15658] Fix | Delete
}
[15659] Fix | Delete
[15660] Fix | Delete
public static function get_tabs( $post_type = '' ) {
[15661] Fix | Delete
$official_tabs = array( 'general' => '', 'advanced' => '', 'custom_css' => '' );
[15662] Fix | Delete
$tabs_array = array();
[15663] Fix | Delete
[15664] Fix | Delete
$modules = self::get_parent_and_child_modules( $post_type );
[15665] Fix | Delete
[15666] Fix | Delete
foreach( $modules as $module_slug => $module ) {
[15667] Fix | Delete
if ( '' === $post_type ) {
[15668] Fix | Delete
foreach( $module as $_module_slug => $_module ) {
[15669] Fix | Delete
// Backward compatibility with custom tabs registered via `et_builder_main_tabs` filter.
[15670] Fix | Delete
$bb_custom_tabs = array_diff_key( $_module->get_main_tabs(), $official_tabs );
[15671] Fix | Delete
$bb_custom_tabs_formatted = array();
[15672] Fix | Delete
[15673] Fix | Delete
// Prepare properly formatted array of tabs data
[15674] Fix | Delete
foreach ( $bb_custom_tabs as $tab_id => $tab_name ) {
[15675] Fix | Delete
$bb_custom_tabs_formatted[ $tab_id ] = array( 'name' => $tab_name );
[15676] Fix | Delete
}
[15677] Fix | Delete
[15678] Fix | Delete
// Add BB custom tabs to all modules
[15679] Fix | Delete
$tabs_array[ $_module_slug ] = $bb_custom_tabs_formatted;
[15680] Fix | Delete
[15681] Fix | Delete
if ( ! isset( $_module->settings_modal_tabs ) ) {
[15682] Fix | Delete
continue;
[15683] Fix | Delete
}
[15684] Fix | Delete
[15685] Fix | Delete
$tabs_array[ $_module_slug ] = array_merge( $tabs_array[ $_module_slug ], $_module->settings_modal_tabs );
[15686] Fix | Delete
}
[15687] Fix | Delete
} else {
[15688] Fix | Delete
// Backward compatibility with custom tabs registered via `et_builder_main_tabs` filter.
[15689] Fix | Delete
$bb_custom_tabs = array_diff_key( $module->get_main_tabs(), $official_tabs );
[15690] Fix | Delete
$bb_custom_tabs_formatted = array();
[15691] Fix | Delete
[15692] Fix | Delete
// Prepare properly formatted array of tabs data
[15693] Fix | Delete
foreach ( $bb_custom_tabs as $tab_id => $tab_name ) {
[15694] Fix | Delete
$bb_custom_tabs_formatted[ $tab_id ] = array( 'name' => $tab_name );
[15695] Fix | Delete
}
[15696] Fix | Delete
[15697] Fix | Delete
// Add BB custom tabs to all modules
[15698] Fix | Delete
$tabs_array[ $module_slug ] = $bb_custom_tabs_formatted;
[15699] Fix | Delete
[15700] Fix | Delete
if ( ! isset( $module->settings_modal_tabs ) ) {
[15701] Fix | Delete
continue;
[15702] Fix | Delete
}
[15703] Fix | Delete
[15704] Fix | Delete
$tabs_array[ $module_slug ] = array_merge( $tabs_array[ $module_slug ], $module->settings_modal_tabs );
[15705] Fix | Delete
}
[15706] Fix | Delete
}
[15707] Fix | Delete
[15708] Fix | Delete
return $tabs_array;
[15709] Fix | Delete
}
[15710] Fix | Delete
[15711] Fix | Delete
static function get_options_categories() {
[15712] Fix | Delete
$options_categories = array(
[15713] Fix | Delete
'edit_colors' => array(
[15714] Fix | Delete
'name' => esc_html__( 'Edit Colors', 'et_builder' ),
[15715] Fix | Delete
),
[15716] Fix | Delete
'edit_content' => array(
[15717] Fix | Delete
'name' => esc_html__( 'Edit Content', 'et_builder' ),
[15718] Fix | Delete
),
[15719] Fix | Delete
'edit_fonts' => array(
[15720] Fix | Delete
'name' => esc_html__( 'Edit Fonts', 'et_builder' ),
[15721] Fix | Delete
),
[15722] Fix | Delete
'edit_buttons' => array(
[15723] Fix | Delete
'name' => esc_html__( 'Edit Buttons', 'et_builder' ),
[15724] Fix | Delete
),
[15725] Fix | Delete
'edit_layout' => array(
[15726] Fix | Delete
'name' => esc_html__( 'Edit Layout', 'et_builder' ),
[15727] Fix | Delete
),
[15728] Fix | Delete
'edit_borders' => array(
[15729] Fix | Delete
'name' => esc_html__( 'Edit Borders', 'et_builder' ),
[15730] Fix | Delete
),
[15731] Fix | Delete
'edit_configuration' => array(
[15732] Fix | Delete
'name' => esc_html__( 'Edit Configuration', 'et_builder' ),
[15733] Fix | Delete
),
[15734] Fix | Delete
);
[15735] Fix | Delete
[15736] Fix | Delete
$options_categories = array_merge( $options_categories, self::get_custom_options_categories() );
[15737] Fix | Delete
[15738] Fix | Delete
return $options_categories;
[15739] Fix | Delete
}
[15740] Fix | Delete
[15741] Fix | Delete
static function get_custom_options_categories( $post_type = '' ) {
[15742] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15743] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15744] Fix | Delete
$custom_options_categories = array();
[15745] Fix | Delete
[15746] Fix | Delete
$_modules = array_merge_recursive( $parent_modules, $child_modules );
[15747] Fix | Delete
[15748] Fix | Delete
foreach( $_modules as $_module_slug => $_module ) {
[15749] Fix | Delete
if ( '' === $post_type ) {
[15750] Fix | Delete
foreach( $_module as $__module_slug => $__module ) {
[15751] Fix | Delete
if ( ! isset( $__module->options_categories ) ) {
[15752] Fix | Delete
continue;
[15753] Fix | Delete
}
[15754] Fix | Delete
[15755] Fix | Delete
$custom_options_categories = array_merge( $custom_options_categories, $__module->options_categories );
[15756] Fix | Delete
}
[15757] Fix | Delete
} else {
[15758] Fix | Delete
if ( ! isset( $_module->options_categories ) ) {
[15759] Fix | Delete
continue;
[15760] Fix | Delete
}
[15761] Fix | Delete
[15762] Fix | Delete
$custom_options_categories = array_merge( $custom_options_categories, $_module->options_categories );
[15763] Fix | Delete
}
[15764] Fix | Delete
}
[15765] Fix | Delete
[15766] Fix | Delete
return $custom_options_categories;
[15767] Fix | Delete
}
[15768] Fix | Delete
[15769] Fix | Delete
static function get_all_fields( $post_type = '' ) {
[15770] Fix | Delete
$_modules = self::get_parent_and_child_modules( $post_type );
[15771] Fix | Delete
[15772] Fix | Delete
$module_fields = array();
[15773] Fix | Delete
[15774] Fix | Delete
foreach( $_modules as $_module_slug => $_module ) {
[15775] Fix | Delete
[15776] Fix | Delete
// skip modules without fb support
[15777] Fix | Delete
if ( ! isset( $_module->vb_support ) || 'off' === $_module->vb_support ) {
[15778] Fix | Delete
continue;
[15779] Fix | Delete
}
[15780] Fix | Delete
[15781] Fix | Delete
$_module->set_fields();
[15782] Fix | Delete
$_module->_add_additional_fields();
[15783] Fix | Delete
$_module->_add_custom_css_fields();
[15784] Fix | Delete
$_module->_maybe_add_defaults();
[15785] Fix | Delete
[15786] Fix | Delete
$_module->_finalize_all_fields();
[15787] Fix | Delete
[15788] Fix | Delete
foreach ( $_module->fields_unprocessed as $field_key => $field ) {
[15789] Fix | Delete
// do not add the fields with 'skip' type. These fields used for rendering shortcode on Front End only
[15790] Fix | Delete
if ( isset( $field['type'] ) && 'skip' === $field['type'] ) {
[15791] Fix | Delete
continue;
[15792] Fix | Delete
}
[15793] Fix | Delete
[15794] Fix | Delete
$field['name'] = $field_key;
[15795] Fix | Delete
$module_fields[ $_module_slug ][ $field_key ] = $field;
[15796] Fix | Delete
}
[15797] Fix | Delete
}
[15798] Fix | Delete
[15799] Fix | Delete
return $module_fields;
[15800] Fix | Delete
}
[15801] Fix | Delete
[15802] Fix | Delete
static function get_general_fields( $post_type = '', $mode = 'all', $module_type = 'all' ) {
[15803] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15804] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15805] Fix | Delete
[15806] Fix | Delete
switch ( $mode ) {
[15807] Fix | Delete
case 'parent':
[15808] Fix | Delete
$_modules = $parent_modules;
[15809] Fix | Delete
break;
[15810] Fix | Delete
[15811] Fix | Delete
case 'child':
[15812] Fix | Delete
$_modules = $child_modules;
[15813] Fix | Delete
break;
[15814] Fix | Delete
[15815] Fix | Delete
default:
[15816] Fix | Delete
$_modules = array_merge( $parent_modules, $child_modules );
[15817] Fix | Delete
break;
[15818] Fix | Delete
}
[15819] Fix | Delete
[15820] Fix | Delete
$module_fields = array();
[15821] Fix | Delete
[15822] Fix | Delete
foreach( $_modules as $_module_slug => $_module ) {
[15823] Fix | Delete
// filter modules by slug if needed
[15824] Fix | Delete
if ( 'all' !== $module_type && $module_type !== $_module_slug ) {
[15825] Fix | Delete
continue;
[15826] Fix | Delete
}
[15827] Fix | Delete
[15828] Fix | Delete
foreach ( $_module->fields_unprocessed as $field_key => $field ) {
[15829] Fix | Delete
$is_option_template = self::$option_template->is_option_template_field( $field_key );
[15830] Fix | Delete
[15831] Fix | Delete
// Do not process field template
[15832] Fix | Delete
if ( ! $is_option_template && ( isset( $field['tab_slug'] ) && 'general' !== $field['tab_slug'] ) ) {
[15833] Fix | Delete
continue;
[15834] Fix | Delete
}
[15835] Fix | Delete
[15836] Fix | Delete
// Skip if current option template isn't eligible for `advanced` tab
[15837] Fix | Delete
if ( $is_option_template && ! self::$option_template->is_template_inside_tab( 'general', $field ) ) {
[15838] Fix | Delete
continue;
[15839] Fix | Delete
}
[15840] Fix | Delete
[15841] Fix | Delete
$module_fields[ $_module_slug ][ $field_key ] = $field;
[15842] Fix | Delete
}
[15843] Fix | Delete
[15844] Fix | Delete
// Some module types must be separated for the Global Presets.
[15845] Fix | Delete
// For example we keep all section types as `et_pb_section` however they need different Global Presets.
[15846] Fix | Delete
$additional_slugs = self::$global_presets_manager->get_module_additional_slugs( $_module_slug );
[15847] Fix | Delete
foreach ( $additional_slugs as $alias ) {
[15848] Fix | Delete
$module_fields[ $alias ] = $module_fields[ $_module_slug ];
[15849] Fix | Delete
}
[15850] Fix | Delete
}
[15851] Fix | Delete
[15852] Fix | Delete
if ( 'all' !== $module_type ) {
[15853] Fix | Delete
return $module_fields[ $module_type ];
[15854] Fix | Delete
}
[15855] Fix | Delete
[15856] Fix | Delete
return $module_fields;
[15857] Fix | Delete
}
[15858] Fix | Delete
[15859] Fix | Delete
static function get_settings_modal_tabs_fields( $post_type = '', $mode = 'all', $module_type = 'all' ) {
[15860] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15861] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15862] Fix | Delete
[15863] Fix | Delete
switch ( $mode ) {
[15864] Fix | Delete
case 'parent':
[15865] Fix | Delete
$_modules = $parent_modules;
[15866] Fix | Delete
break;
[15867] Fix | Delete
[15868] Fix | Delete
case 'child':
[15869] Fix | Delete
$_modules = $child_modules;
[15870] Fix | Delete
break;
[15871] Fix | Delete
[15872] Fix | Delete
default:
[15873] Fix | Delete
$_modules = array_merge( $parent_modules, $child_modules );
[15874] Fix | Delete
break;
[15875] Fix | Delete
}
[15876] Fix | Delete
[15877] Fix | Delete
$module_fields = array();
[15878] Fix | Delete
[15879] Fix | Delete
foreach( $_modules as $_module_slug => $_module ) {
[15880] Fix | Delete
// filter modules by slug if needed
[15881] Fix | Delete
if ( 'all' !== $module_type && $module_type !== $_module_slug ) {
[15882] Fix | Delete
continue;
[15883] Fix | Delete
}
[15884] Fix | Delete
[15885] Fix | Delete
foreach ( $_module->fields_unprocessed as $field_key => $field ) {
[15886] Fix | Delete
$this_tab_slug = isset( $field['tab_slug'] ) ? $field['tab_slug'] : false;
[15887] Fix | Delete
[15888] Fix | Delete
if ( ! $this_tab_slug || in_array( $this_tab_slug, array( 'general', 'advanced', 'custom_css' ) ) ) {
[15889] Fix | Delete
continue;
[15890] Fix | Delete
}
[15891] Fix | Delete
[15892] Fix | Delete
$field['name'] = $field_key;
[15893] Fix | Delete
$module_fields[ $_module_slug ][ $this_tab_slug ][ $field_key ] = $field;
[15894] Fix | Delete
}
[15895] Fix | Delete
}
[15896] Fix | Delete
[15897] Fix | Delete
if ( 'all' !== $module_type ) {
[15898] Fix | Delete
return $module_fields[ $module_type ];
[15899] Fix | Delete
}
[15900] Fix | Delete
[15901] Fix | Delete
return $module_fields;
[15902] Fix | Delete
}
[15903] Fix | Delete
[15904] Fix | Delete
static function get_child_module_titles( $post_type ) {
[15905] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15906] Fix | Delete
[15907] Fix | Delete
$child_modules_titles = array();
[15908] Fix | Delete
$child_modules_titles_fields = array( 'advanced_setting_title_text', 'child_title_fallback_var', 'child_title_var' );
[15909] Fix | Delete
[15910] Fix | Delete
foreach( $child_modules as $_module_slug => $_module ) {
[15911] Fix | Delete
foreach( $child_modules_titles_fields as $single_field ) {
[15912] Fix | Delete
if ( isset( $_module->$single_field ) ) {
[15913] Fix | Delete
$child_modules_titles[ $_module_slug ][ $single_field ] = $_module->$single_field ;
[15914] Fix | Delete
}
[15915] Fix | Delete
}
[15916] Fix | Delete
}
[15917] Fix | Delete
[15918] Fix | Delete
return $child_modules_titles;
[15919] Fix | Delete
}
[15920] Fix | Delete
[15921] Fix | Delete
static function get_advanced_fields( $post_type = '', $mode = 'all', $module_type = 'all' ) {
[15922] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15923] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15924] Fix | Delete
[15925] Fix | Delete
switch ( $mode ) {
[15926] Fix | Delete
case 'parent':
[15927] Fix | Delete
$_modules = $parent_modules;
[15928] Fix | Delete
break;
[15929] Fix | Delete
[15930] Fix | Delete
case 'child':
[15931] Fix | Delete
$_modules = $child_modules;
[15932] Fix | Delete
break;
[15933] Fix | Delete
[15934] Fix | Delete
default:
[15935] Fix | Delete
$_modules = array_merge( $parent_modules, $child_modules );
[15936] Fix | Delete
break;
[15937] Fix | Delete
}
[15938] Fix | Delete
[15939] Fix | Delete
$module_fields = array();
[15940] Fix | Delete
[15941] Fix | Delete
foreach( $_modules as $_module_slug => $_module ) {
[15942] Fix | Delete
// filter modules by slug if needed
[15943] Fix | Delete
if ( 'all' !== $module_type && $module_type !== $_module_slug ) {
[15944] Fix | Delete
continue;
[15945] Fix | Delete
}
[15946] Fix | Delete
[15947] Fix | Delete
foreach ( $_module->fields_unprocessed as $field_key => $field ) {
[15948] Fix | Delete
$is_option_template = self::$option_template->is_option_template_field( $field_key );
[15949] Fix | Delete
[15950] Fix | Delete
// Do not process field template
[15951] Fix | Delete
if ( ! $is_option_template && ( ! isset( $field['tab_slug'] ) || 'advanced' !== $field['tab_slug'] ) ) {
[15952] Fix | Delete
continue;
[15953] Fix | Delete
}
[15954] Fix | Delete
[15955] Fix | Delete
// Skip if current option template isn't eligible for `advanced` tab
[15956] Fix | Delete
if ( $is_option_template && ! self::$option_template->is_template_inside_tab( 'advanced', $field ) ) {
[15957] Fix | Delete
continue;
[15958] Fix | Delete
}
[15959] Fix | Delete
[15960] Fix | Delete
if ( isset( $field['default'] ) ) {
[15961] Fix | Delete
$module_fields[ $_module_slug ]['advanced_defaults'][ $field_key ] = $field['default'];
[15962] Fix | Delete
}
[15963] Fix | Delete
[15964] Fix | Delete
$module_fields[ $_module_slug ][ $field_key ] = $field;
[15965] Fix | Delete
}
[15966] Fix | Delete
[15967] Fix | Delete
if ( ! empty( $_module->advanced_fields ) ) {
[15968] Fix | Delete
$module_fields[ $_module_slug ]['advanced_common'] = $_module->advanced_fields;
[15969] Fix | Delete
[15970] Fix | Delete
if ( isset( $_module->advanced_fields['border']['border_styles'] ) ) {
[15971] Fix | Delete
$module_fields[ $_module_slug ]['border_styles'] = array_merge( $module_fields[ $_module_slug ]['border_styles'], $_module->advanced_fields['border']['border_styles'] );
[15972] Fix | Delete
}
[15973] Fix | Delete
[15974] Fix | Delete
if ( isset( $_module->advanced_fields['border']['border_radii'] ) ) {
[15975] Fix | Delete
$module_fileds[ $_module_slug ]['border_radii'] = array_merge( $module_fields[ $_module_slug ]['border_radii'], $_module->advanced_fields['border']['border_radii'] );
[15976] Fix | Delete
}
[15977] Fix | Delete
}
[15978] Fix | Delete
[15979] Fix | Delete
// Some module types must be separated for the Global Presets.
[15980] Fix | Delete
// For example we keep all section types as `et_pb_section` however they need different Global Presets.
[15981] Fix | Delete
$additional_slugs = self::$global_presets_manager->get_module_additional_slugs( $_module_slug );
[15982] Fix | Delete
foreach ( $additional_slugs as $alias ) {
[15983] Fix | Delete
$module_fields[ $alias ] = $module_fields[ $_module_slug ];
[15984] Fix | Delete
}
[15985] Fix | Delete
}
[15986] Fix | Delete
[15987] Fix | Delete
if ( 'all' !== $module_type ) {
[15988] Fix | Delete
return $module_fields[ $module_type ];
[15989] Fix | Delete
}
[15990] Fix | Delete
[15991] Fix | Delete
return $module_fields;
[15992] Fix | Delete
}
[15993] Fix | Delete
[15994] Fix | Delete
static function get_custom_css_fields( $post_type = '', $mode = 'all', $module_type = 'all' ) {
[15995] Fix | Delete
$parent_modules = self::get_parent_modules( $post_type );
[15996] Fix | Delete
$child_modules = self::get_child_modules( $post_type );
[15997] Fix | Delete
[15998] Fix | Delete
switch ( $mode ) {
[15999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function