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: core.php
$bfb_settings = get_option( 'et_bfb_settings' );
[5500] Fix | Delete
$enabled = isset( $bfb_settings['enable_bfb'] ) && 'on' === $bfb_settings['enable_bfb'];
[5501] Fix | Delete
$toggled = isset( $bfb_settings['toggle_bfb'] ) && 'on' === $bfb_settings['toggle_bfb'];
[5502] Fix | Delete
[5503] Fix | Delete
if ( $enabled || $toggled ) {
[5504] Fix | Delete
return;
[5505] Fix | Delete
}
[5506] Fix | Delete
[5507] Fix | Delete
// Enable BFB for all users.
[5508] Fix | Delete
et_builder_toggle_bfb( true );
[5509] Fix | Delete
[5510] Fix | Delete
// set the flag to not force toggle BFB more than once.
[5511] Fix | Delete
et_update_option( '', 'on', true, 'et_bfb_settings', 'toggle_bfb' );
[5512] Fix | Delete
[5513] Fix | Delete
set_transient( 'et_builder_show_bfb_welcome_modal', true, 0 );
[5514] Fix | Delete
}
[5515] Fix | Delete
endif;
[5516] Fix | Delete
add_action( 'after_switch_theme', 'et_builder_prepare_bfb' );
[5517] Fix | Delete
add_action( 'upgrader_process_complete', 'et_builder_prepare_bfb' );
[5518] Fix | Delete
add_action( 'activated_plugin', 'et_builder_prepare_bfb', 10, 0 );
[5519] Fix | Delete
add_action( 'deactivated_plugin', 'et_builder_prepare_bfb', 10, 0 );
[5520] Fix | Delete
[5521] Fix | Delete
/**
[5522] Fix | Delete
* Add the divi builder body class.
[5523] Fix | Delete
*
[5524] Fix | Delete
* @param $classes
[5525] Fix | Delete
*
[5526] Fix | Delete
* @return array
[5527] Fix | Delete
*/
[5528] Fix | Delete
function et_builder_add_body_class( $classes ) {
[5529] Fix | Delete
$classes[] = 'et-db';
[5530] Fix | Delete
[5531] Fix | Delete
return $classes;
[5532] Fix | Delete
}
[5533] Fix | Delete
add_filter( 'body_class', 'et_builder_add_body_class' );
[5534] Fix | Delete
[5535] Fix | Delete
/**
[5536] Fix | Delete
* Add builder inner content wrapper classes.
[5537] Fix | Delete
*
[5538] Fix | Delete
* @since 3.10
[5539] Fix | Delete
*
[5540] Fix | Delete
* @param $classes
[5541] Fix | Delete
*
[5542] Fix | Delete
* @return array
[5543] Fix | Delete
*/
[5544] Fix | Delete
function et_builder_add_builder_inner_content_class( $classes ) {
[5545] Fix | Delete
$page_custom_gutter = get_post_meta( get_the_ID(), '_et_pb_gutter_width', true );
[5546] Fix | Delete
$valid_gutter_width = array( '1', '2', '3', '4' );
[5547] Fix | Delete
$gutter_width = in_array( $page_custom_gutter, $valid_gutter_width ) ? $page_custom_gutter : '3';
[5548] Fix | Delete
$classes[] = "et_pb_gutters{$gutter_width}";
[5549] Fix | Delete
[5550] Fix | Delete
return $classes;
[5551] Fix | Delete
}
[5552] Fix | Delete
add_filter( 'et_builder_inner_content_class', 'et_builder_add_builder_inner_content_class' );
[5553] Fix | Delete
[5554] Fix | Delete
/**
[5555] Fix | Delete
* Get the opening wrappers for builder-powered content.
[5556] Fix | Delete
*
[5557] Fix | Delete
* @since 4.0
[5558] Fix | Delete
*
[5559] Fix | Delete
* @return string
[5560] Fix | Delete
*/
[5561] Fix | Delete
function et_builder_get_builder_content_opening_wrapper() {
[5562] Fix | Delete
$outer_class = apply_filters( 'et_builder_outer_content_class', array( 'et-boc' ) );
[5563] Fix | Delete
$outer_classes = implode( ' ', $outer_class );
[5564] Fix | Delete
$outer_id = apply_filters( 'et_builder_outer_content_id', 'et-boc' );
[5565] Fix | Delete
[5566] Fix | Delete
$is_dbp = et_is_builder_plugin_active();
[5567] Fix | Delete
$dbp_compat_wrapper_open = $is_dbp ? '<div id="et_builder_outer_content" class="et_builder_outer_content">' : '';
[5568] Fix | Delete
[5569] Fix | Delete
return sprintf(
[5570] Fix | Delete
'<div id="%1$s" class="%2$s">
[5571] Fix | Delete
%3$s
[5572] Fix | Delete
',
[5573] Fix | Delete
esc_attr( $outer_id ),
[5574] Fix | Delete
esc_attr( $outer_classes ),
[5575] Fix | Delete
et_core_intentionally_unescaped( $dbp_compat_wrapper_open, 'fixed_string' )
[5576] Fix | Delete
);
[5577] Fix | Delete
}
[5578] Fix | Delete
[5579] Fix | Delete
/**
[5580] Fix | Delete
* Get the opening wrappers for individual builder-powered layouts.
[5581] Fix | Delete
*
[5582] Fix | Delete
* @since 4.0
[5583] Fix | Delete
*
[5584] Fix | Delete
* @return string
[5585] Fix | Delete
*/
[5586] Fix | Delete
function et_builder_get_layout_opening_wrapper() {
[5587] Fix | Delete
$post_type = get_post_type();
[5588] Fix | Delete
$layout_class = array( 'et-l' );
[5589] Fix | Delete
$el = 'div';
[5590] Fix | Delete
$layout_id = '';
[5591] Fix | Delete
[5592] Fix | Delete
switch ( $post_type ) {
[5593] Fix | Delete
case ET_THEME_BUILDER_HEADER_LAYOUT_POST_TYPE:
[5594] Fix | Delete
$el = 'header';
[5595] Fix | Delete
$layout_class[] = 'et-l--header';
[5596] Fix | Delete
break;
[5597] Fix | Delete
[5598] Fix | Delete
case ET_THEME_BUILDER_BODY_LAYOUT_POST_TYPE:
[5599] Fix | Delete
$layout_class[] = 'et-l--body';
[5600] Fix | Delete
break;
[5601] Fix | Delete
[5602] Fix | Delete
case ET_THEME_BUILDER_FOOTER_LAYOUT_POST_TYPE:
[5603] Fix | Delete
$el = 'footer';
[5604] Fix | Delete
$layout_class[] = 'et-l--footer';
[5605] Fix | Delete
break;
[5606] Fix | Delete
[5607] Fix | Delete
default:
[5608] Fix | Delete
$layout_class[] = 'et-l--post';
[5609] Fix | Delete
break;
[5610] Fix | Delete
}
[5611] Fix | Delete
[5612] Fix | Delete
$layout_id = apply_filters( 'et_builder_layout_id', $layout_id, $post_type );
[5613] Fix | Delete
$layout_id = !empty( $layout_id ) ? sprintf( 'id="%s" ', esc_attr( $layout_id ) ) : '';
[5614] Fix | Delete
$layout_class = apply_filters( 'et_builder_layout_class', $layout_class );
[5615] Fix | Delete
$layout_classes = implode( ' ', $layout_class );
[5616] Fix | Delete
$inner_class = apply_filters( 'et_builder_inner_content_class', array( 'et_builder_inner_content' ) );
[5617] Fix | Delete
$inner_classes = implode( ' ', $inner_class );
[5618] Fix | Delete
[5619] Fix | Delete
return sprintf(
[5620] Fix | Delete
'<%3$s %4$sclass="%1$s">
[5621] Fix | Delete
<div class="%2$s">
[5622] Fix | Delete
',
[5623] Fix | Delete
esc_attr( $layout_classes ),
[5624] Fix | Delete
esc_attr( $inner_classes ),
[5625] Fix | Delete
esc_attr( $el ),
[5626] Fix | Delete
et_core_esc_previously( $layout_id )
[5627] Fix | Delete
);
[5628] Fix | Delete
}
[5629] Fix | Delete
[5630] Fix | Delete
/**
[5631] Fix | Delete
* Get the closing wrappers for individual builder-powered layouts.
[5632] Fix | Delete
*
[5633] Fix | Delete
* @since 4.0
[5634] Fix | Delete
*
[5635] Fix | Delete
* @return string
[5636] Fix | Delete
*/
[5637] Fix | Delete
function et_builder_get_layout_closing_wrapper() {
[5638] Fix | Delete
$post_type = get_post_type();
[5639] Fix | Delete
$el = 'div';
[5640] Fix | Delete
[5641] Fix | Delete
switch ( $post_type ) {
[5642] Fix | Delete
case ET_THEME_BUILDER_HEADER_LAYOUT_POST_TYPE:
[5643] Fix | Delete
$el = 'header';
[5644] Fix | Delete
break;
[5645] Fix | Delete
[5646] Fix | Delete
case ET_THEME_BUILDER_FOOTER_LAYOUT_POST_TYPE:
[5647] Fix | Delete
$el = 'footer';
[5648] Fix | Delete
break;
[5649] Fix | Delete
}
[5650] Fix | Delete
[5651] Fix | Delete
return sprintf('
[5652] Fix | Delete
</div><!-- .et_builder_inner_content -->
[5653] Fix | Delete
</%1$s><!-- .et-l -->
[5654] Fix | Delete
', esc_attr( $el ) );
[5655] Fix | Delete
}
[5656] Fix | Delete
[5657] Fix | Delete
/**
[5658] Fix | Delete
* Get the closing wrappers for builder-powered content.
[5659] Fix | Delete
*
[5660] Fix | Delete
* @since 4.0
[5661] Fix | Delete
*
[5662] Fix | Delete
* @return string
[5663] Fix | Delete
*/
[5664] Fix | Delete
function et_builder_get_builder_content_closing_wrapper() {
[5665] Fix | Delete
$is_dbp = et_is_builder_plugin_active();
[5666] Fix | Delete
$dbp_compat_wrapper_close = $is_dbp ? '</div><!-- .et_builder_outer_content -->' : '';
[5667] Fix | Delete
[5668] Fix | Delete
return sprintf(
[5669] Fix | Delete
'
[5670] Fix | Delete
%1$s
[5671] Fix | Delete
</div><!-- #et-boc -->
[5672] Fix | Delete
',
[5673] Fix | Delete
et_core_intentionally_unescaped( $dbp_compat_wrapper_close, 'fixed_string' )
[5674] Fix | Delete
);
[5675] Fix | Delete
}
[5676] Fix | Delete
[5677] Fix | Delete
/**
[5678] Fix | Delete
* Wrap post builder content.
[5679] Fix | Delete
*
[5680] Fix | Delete
* @since 3.10
[5681] Fix | Delete
*
[5682] Fix | Delete
* @param $content
[5683] Fix | Delete
*
[5684] Fix | Delete
* @return string
[5685] Fix | Delete
*/
[5686] Fix | Delete
function et_builder_add_builder_content_wrapper( $content ) {
[5687] Fix | Delete
$is_bfb_new_page = isset( $_GET['is_new_page'] ) && '1' === $_GET['is_new_page'];
[5688] Fix | Delete
$has_layout_block = has_block( 'divi/layout', get_the_ID() );
[5689] Fix | Delete
[5690] Fix | Delete
if ( ! et_pb_is_pagebuilder_used( get_the_ID() ) && ! is_et_pb_preview() && ! $is_bfb_new_page && ! $has_layout_block ) {
[5691] Fix | Delete
return $content;
[5692] Fix | Delete
}
[5693] Fix | Delete
[5694] Fix | Delete
// Divi builder layout should only be used in singular template unless we are rendering
[5695] Fix | Delete
// a theme builder layout as they can appear on any page.
[5696] Fix | Delete
if ( ! is_singular() && ! $is_bfb_new_page && ! et_theme_builder_is_layout_post_type( get_post_type( get_the_ID() ) ) ) {
[5697] Fix | Delete
return $content;
[5698] Fix | Delete
}
[5699] Fix | Delete
[5700] Fix | Delete
$content = et_builder_get_layout_opening_wrapper() . $content . et_builder_get_layout_closing_wrapper();
[5701] Fix | Delete
[5702] Fix | Delete
/**
[5703] Fix | Delete
* Filter whether to add the outer builder content wrapper or not.
[5704] Fix | Delete
*
[5705] Fix | Delete
* @since 4.0
[5706] Fix | Delete
*
[5707] Fix | Delete
* @param bool $wrap
[5708] Fix | Delete
*/
[5709] Fix | Delete
$wrap = apply_filters( 'et_builder_add_outer_content_wrap', true );
[5710] Fix | Delete
[5711] Fix | Delete
if ( $wrap ) {
[5712] Fix | Delete
$content = et_builder_get_builder_content_opening_wrapper() . $content . et_builder_get_builder_content_closing_wrapper();
[5713] Fix | Delete
}
[5714] Fix | Delete
[5715] Fix | Delete
return $content;
[5716] Fix | Delete
}
[5717] Fix | Delete
add_filter( 'the_content', 'et_builder_add_builder_content_wrapper' );
[5718] Fix | Delete
add_filter( 'et_builder_render_layout', 'et_builder_add_builder_content_wrapper' );
[5719] Fix | Delete
[5720] Fix | Delete
/**
[5721] Fix | Delete
* Wraps a copy of a css selector and then returns both selectors.
[5722] Fix | Delete
* Wrapping a copy of a selector instead of the original is necessary for selectors
[5723] Fix | Delete
* that target elements both inside AND outside the wrapper element.
[5724] Fix | Delete
*
[5725] Fix | Delete
* @since 3.10
[5726] Fix | Delete
*
[5727] Fix | Delete
* @param string $selector CSS selector to wrap.
[5728] Fix | Delete
* @param string $suffix Selector partial to add to the wrapped selector after the wrapper (a space will be added first).
[5729] Fix | Delete
* @param boolean $clone Duplicate the selector, wrap the duplicate, and then return both selectors. Default `true`.
[5730] Fix | Delete
*
[5731] Fix | Delete
* @return string
[5732] Fix | Delete
*/
[5733] Fix | Delete
function et_builder_maybe_wrap_css_selector( $selector, $suffix = '', $clone = true ) {
[5734] Fix | Delete
static $should_wrap_selectors = [];
[5735] Fix | Delete
[5736] Fix | Delete
$post_id = ET_Builder_Element::get_theme_builder_layout_id();
[5737] Fix | Delete
[5738] Fix | Delete
if ( ! isset( $should_wrap_selectors[ $post_id ] ) ) {
[5739] Fix | Delete
$is_builder_used = et_pb_is_pagebuilder_used( $post_id ) || has_block( 'divi/layout', get_the_ID() );
[5740] Fix | Delete
$should_wrap_selectors[ $post_id ] = et_is_builder_plugin_active() || et_builder_is_custom_post_type_archive() || ( $is_builder_used && ( et_builder_post_is_of_custom_post_type( $post_id ) || et_theme_builder_is_layout_post_type( get_post_type( $post_id ) ) ) );
[5741] Fix | Delete
}
[5742] Fix | Delete
[5743] Fix | Delete
if ( is_bool( $suffix ) ) {
[5744] Fix | Delete
$clone = $suffix;
[5745] Fix | Delete
$suffix = '';
[5746] Fix | Delete
}
[5747] Fix | Delete
[5748] Fix | Delete
if ( ! $should_wrap_selectors[ $post_id ] ) {
[5749] Fix | Delete
return trim( "{$selector} {$suffix}" );
[5750] Fix | Delete
}
[5751] Fix | Delete
[5752] Fix | Delete
$wrapper = ET_BUILDER_CSS_PREFIX;
[5753] Fix | Delete
$result = '';
[5754] Fix | Delete
[5755] Fix | Delete
if ( $clone ) {
[5756] Fix | Delete
$result .= $suffix ? "{$selector} {$suffix}, " : "{$selector}, ";
[5757] Fix | Delete
}
[5758] Fix | Delete
[5759] Fix | Delete
if ( $suffix ) {
[5760] Fix | Delete
// $suffix param allows caller to split selector into two parts (1. outside builder and 2. inside builder)
[5761] Fix | Delete
// so that it can be wrapped properly. It was implemented before the regex solution below.
[5762] Fix | Delete
if ( preg_match( '/et_fb_preview|et_fb_desktop_mode/', $selector ) ) {
[5763] Fix | Delete
// Selector targets html element using a custom class
[5764] Fix | Delete
$result .= "{$selector} {$wrapper} {$suffix}";
[5765] Fix | Delete
} else {
[5766] Fix | Delete
// Selector targets body element either directly or using a custom class
[5767] Fix | Delete
$result .= "{$selector}{$wrapper} {$suffix}";
[5768] Fix | Delete
}
[5769] Fix | Delete
[5770] Fix | Delete
} else if ( preg_match('/^(html[^ ]*)?(?: *)(body[^ ]*)?(?: *)(.*?)(?: *)([^ ]*\.et[_-](?:pb|fb)[_-].+)/', $selector, $matches ) ) {
[5771] Fix | Delete
// The selector includes elements outside builder content so we can't just prepend the wrapper to it.
[5772] Fix | Delete
list( $_, $html, $body, $outside_builder, $inside_builder ) = $matches;
[5773] Fix | Delete
[5774] Fix | Delete
$parts = array_filter( array(
[5775] Fix | Delete
$html,
[5776] Fix | Delete
// Intentionally glued together to produce "body.et-db", for example.
[5777] Fix | Delete
$body . ET_BUILDER_CSS_WRAPPER_PREFIX,
[5778] Fix | Delete
$outside_builder,
[5779] Fix | Delete
ET_BUILDER_CSS_LAYOUT_PREFIX,
[5780] Fix | Delete
$inside_builder
[5781] Fix | Delete
) );
[5782] Fix | Delete
$result .= implode( ' ', $parts );
[5783] Fix | Delete
[5784] Fix | Delete
} else {
[5785] Fix | Delete
$result .= "{$wrapper} {$selector}";
[5786] Fix | Delete
}
[5787] Fix | Delete
[5788] Fix | Delete
return trim( $result );
[5789] Fix | Delete
}
[5790] Fix | Delete
[5791] Fix | Delete
/**
[5792] Fix | Delete
* Wrapper for {@see et_builder_maybe_wrap_css_selector()} to support multiple selectors
[5793] Fix | Delete
* at once (eg. selector1, selector2, selector3)
[5794] Fix | Delete
*
[5795] Fix | Delete
* @since 3.10
[5796] Fix | Delete
*
[5797] Fix | Delete
* @param string $selector CSS selectors to wrap.
[5798] Fix | Delete
* @param bool $clone {@see et_builder_maybe_wrap_css_selector()}
[5799] Fix | Delete
*
[5800] Fix | Delete
* @return string
[5801] Fix | Delete
*/
[5802] Fix | Delete
function et_builder_maybe_wrap_css_selectors( $selector, $clone = true ) {
[5803] Fix | Delete
static $should_wrap_selectors = [];
[5804] Fix | Delete
[5805] Fix | Delete
$post_id = ET_Builder_Element::get_theme_builder_layout_id();
[5806] Fix | Delete
$wrap_post_id = $post_id;
[5807] Fix | Delete
[5808] Fix | Delete
if ( ! isset( $should_wrap_selectors[ $post_id ] ) ) {
[5809] Fix | Delete
if ( et_theme_builder_is_layout_post_type( get_post_type( $post_id ) ) ) {
[5810] Fix | Delete
$main_post_id = ET_Post_Stack::get_main_post_id();
[5811] Fix | Delete
[5812] Fix | Delete
if ( $main_post_id ) {
[5813] Fix | Delete
$wrap_post_id = $main_post_id;
[5814] Fix | Delete
}
[5815] Fix | Delete
}
[5816] Fix | Delete
[5817] Fix | Delete
// GB editor + layout block is considered using builder
[5818] Fix | Delete
$is_builder_used = et_pb_is_pagebuilder_used( $wrap_post_id ) || has_block( 'divi/layout', get_the_ID() );
[5819] Fix | Delete
$should_wrap_selectors[ $post_id ] = et_is_builder_plugin_active() || et_builder_is_custom_post_type_archive() || ( $is_builder_used && et_builder_post_is_of_custom_post_type( $wrap_post_id ) );
[5820] Fix | Delete
}
[5821] Fix | Delete
[5822] Fix | Delete
if ( ! $should_wrap_selectors[ $post_id ] ) {
[5823] Fix | Delete
return $selector;
[5824] Fix | Delete
}
[5825] Fix | Delete
[5826] Fix | Delete
$selectors = explode( ',', $selector );
[5827] Fix | Delete
$result = array();
[5828] Fix | Delete
[5829] Fix | Delete
foreach ( $selectors as $css_selector ) {
[5830] Fix | Delete
$result[] = et_builder_maybe_wrap_css_selector( $css_selector, $clone );
[5831] Fix | Delete
}
[5832] Fix | Delete
[5833] Fix | Delete
return implode( ',', $result );
[5834] Fix | Delete
}
[5835] Fix | Delete
[5836] Fix | Delete
[5837] Fix | Delete
function _et_pb_code_module_unprep_content( $content ) {
[5838] Fix | Delete
// before we swap out the placeholders,
[5839] Fix | Delete
// remove all the <p> tags and \n that wpautop added!
[5840] Fix | Delete
$content = preg_replace( '/\n/smi', '', $content );
[5841] Fix | Delete
$content = preg_replace( '/<p>/smi', '', $content );
[5842] Fix | Delete
$content = preg_replace( '/<\/p>/smi', '', $content );
[5843] Fix | Delete
[5844] Fix | Delete
$content = str_replace( '<!–- [et_pb_br_holder] -–>', '<br />', $content );
[5845] Fix | Delete
[5846] Fix | Delete
// convert the <pee tags back to <p
[5847] Fix | Delete
// see et_pb_prep_code_module_for_wpautop()
[5848] Fix | Delete
$content = str_replace( '<pee', '<p', $content );
[5849] Fix | Delete
$content = str_replace( '</pee>', '</p> ', $content );
[5850] Fix | Delete
[5851] Fix | Delete
return $content;
[5852] Fix | Delete
}
[5853] Fix | Delete
[5854] Fix | Delete
function _et_pb_code_module_unprep_content_regex_cb( $matches ) {
[5855] Fix | Delete
$prepped_content = $matches[1];
[5856] Fix | Delete
[5857] Fix | Delete
$prepped_content = _et_pb_code_module_unprep_content( $prepped_content );
[5858] Fix | Delete
[5859] Fix | Delete
return str_replace( $matches[1], $prepped_content, $matches[0] );
[5860] Fix | Delete
}
[5861] Fix | Delete
[5862] Fix | Delete
function et_pb_unprep_code_module_for_wpautop( $content ) {
[5863] Fix | Delete
$content = preg_replace_callback('/\[et_pb_code.*?\](.*)\[\/et_pb_code\]/mis', '_et_pb_code_module_unprep_content_regex_cb', $content );
[5864] Fix | Delete
$content = preg_replace_callback('/\[et_pb_fullwidth_code.*?\](.*)\[\/et_pb_fullwidth_code\]/mis', '_et_pb_code_module_unprep_content_regex_cb', $content );
[5865] Fix | Delete
[5866] Fix | Delete
return $content;
[5867] Fix | Delete
}
[5868] Fix | Delete
[5869] Fix | Delete
function _et_pb_code_module_prep_content( $content ) {
[5870] Fix | Delete
// convert <br /> tags into placeholder so wpautop will leave them alone
[5871] Fix | Delete
$content = preg_replace( '|<br[\s]?[\/]?>|', '<!–- [et_pb_br_holder] -–>', $content );
[5872] Fix | Delete
[5873] Fix | Delete
// convert <p> tag to <pee> tag, so wpautop will leave them alone,
[5874] Fix | Delete
// *and* so that we can clearly spot the <p> tags that wpautop adds
[5875] Fix | Delete
// so we can quickly remove them.
[5876] Fix | Delete
$content = preg_replace( '|<p |', '<pee ', $content );
[5877] Fix | Delete
$content = preg_replace( '|<p>|', '<pee>', $content );
[5878] Fix | Delete
$content = preg_replace( '|<\/p>|', '</pee>', $content );
[5879] Fix | Delete
[5880] Fix | Delete
return $content;
[5881] Fix | Delete
}
[5882] Fix | Delete
[5883] Fix | Delete
function _et_pb_code_module_prep_content_regex_cb( $matches ) {
[5884] Fix | Delete
$prepped_content = $matches[1];
[5885] Fix | Delete
[5886] Fix | Delete
$prepped_content = _et_pb_code_module_prep_content( $prepped_content );
[5887] Fix | Delete
[5888] Fix | Delete
return str_replace( $matches[1], $prepped_content, $matches[0] );
[5889] Fix | Delete
}
[5890] Fix | Delete
[5891] Fix | Delete
function et_pb_prep_code_module_for_wpautop( $content ) {
[5892] Fix | Delete
$content = preg_replace_callback('/\[et_pb_code(?:(?![^\]]*\/\])[^\]]*)\](.*?)\[\/et_pb_code\]/mis', '_et_pb_code_module_prep_content_regex_cb', $content );
[5893] Fix | Delete
$content = preg_replace_callback('/\[et_pb_fullwidth_code(?:(?![^\]]*\/\])[^\]]*)\](.*?)\[\/et_pb_fullwidth_code\]/mis', '_et_pb_code_module_prep_content_regex_cb', $content );
[5894] Fix | Delete
[5895] Fix | Delete
return $content;
[5896] Fix | Delete
}
[5897] Fix | Delete
[5898] Fix | Delete
function et_fb_dynamic_asset_exists( $prefix, $post_type = false ) {
[5899] Fix | Delete
// Get post type if it isn't being defined
[5900] Fix | Delete
if ( ! $post_type ) {
[5901] Fix | Delete
if ( wp_doing_ajax() ) {
[5902] Fix | Delete
$post_type = isset( $_REQUEST['et_post_type'] ) ? $_REQUEST['et_post_type'] : 'post';
[5903] Fix | Delete
$post_type = sanitize_text_field( $post_type );
[5904] Fix | Delete
} else {
[5905] Fix | Delete
global $post;
[5906] Fix | Delete
[5907] Fix | Delete
$post_type = isset( $post->post_type ) ? $post->post_type : 'post';
[5908] Fix | Delete
}
[5909] Fix | Delete
}
[5910] Fix | Delete
[5911] Fix | Delete
$post_type = apply_filters( 'et_builder_cache_post_type', $post_type, $prefix );
[5912] Fix | Delete
[5913] Fix | Delete
$prefix = esc_attr( $prefix );
[5914] Fix | Delete
$cache = sprintf( '%s/%s', ET_Core_PageResource::get_cache_directory(), get_locale() );
[5915] Fix | Delete
$files = glob( sprintf( '%s/%s-%s-*.js', $cache, $prefix, $post_type ) );
[5916] Fix | Delete
[5917] Fix | Delete
return is_array( $files ) && count( $files ) > 0;
[5918] Fix | Delete
}
[5919] Fix | Delete
[5920] Fix | Delete
if ( ! function_exists( 'et_fb_delete_builder_assets' ) ):
[5921] Fix | Delete
function et_fb_delete_builder_assets() {
[5922] Fix | Delete
$cache = ET_Core_PageResource::get_cache_directory();
[5923] Fix | Delete
[5924] Fix | Delete
// Old cache location, make sure we clean that one too
[5925] Fix | Delete
$old_files = glob( sprintf( '%s/*.js', $cache ) );
[5926] Fix | Delete
$old_files = is_array( $old_files ) ? $old_files : array();
[5927] Fix | Delete
// New, per language location
[5928] Fix | Delete
$new_files = glob( sprintf( '%s/*/*.js', $cache ) );
[5929] Fix | Delete
$new_files = is_array( $new_files ) ? $new_files : array();
[5930] Fix | Delete
[5931] Fix | Delete
// Modules cache
[5932] Fix | Delete
$modules_files = glob( sprintf( '%s/*/*.data', $cache ) );
[5933] Fix | Delete
$modules_files = is_array( $modules_files ) ? $modules_files : array();
[5934] Fix | Delete
[5935] Fix | Delete
foreach ( array_merge( $old_files, $new_files, $modules_files ) as $file ) {
[5936] Fix | Delete
@unlink( $file );
[5937] Fix | Delete
}
[5938] Fix | Delete
[5939] Fix | Delete
// Images data cache.
[5940] Fix | Delete
$image_cache_keys = array(
[5941] Fix | Delete
'image_srcset_sizes',
[5942] Fix | Delete
'image_responsive_metadata',
[5943] Fix | Delete
'attachment_id_by_url',
[5944] Fix | Delete
'attachment_size_by_url',
[5945] Fix | Delete
);
[5946] Fix | Delete
[5947] Fix | Delete
foreach ( $image_cache_keys as $image_cache_key ) {
[5948] Fix | Delete
@unlink( ET_Core_Cache_File::get_cache_file_name( $image_cache_key ) );
[5949] Fix | Delete
}
[5950] Fix | Delete
[5951] Fix | Delete
/**
[5952] Fix | Delete
* Clear AJAX cache
[5953] Fix | Delete
*
[5954] Fix | Delete
* @since 4.0.10
[5955] Fix | Delete
*/
[5956] Fix | Delete
do_action( 'et_builder_ajax_cache_clear' );
[5957] Fix | Delete
}
[5958] Fix | Delete
[5959] Fix | Delete
// Since Google data is included in static helpers, we have to delete assets
[5960] Fix | Delete
// whenever the option is updated to avoid Builder reloads.
[5961] Fix | Delete
add_action( 'update_option_et_google_api_settings', 'et_fb_delete_builder_assets' );
[5962] Fix | Delete
endif;
[5963] Fix | Delete
[5964] Fix | Delete
if ( ! function_exists( 'et_fb_enqueue_open_sans' ) ):
[5965] Fix | Delete
/**
[5966] Fix | Delete
* @deprecated See {@see et_builder_enqueue_open_sans()}
[5967] Fix | Delete
*/
[5968] Fix | Delete
function et_fb_enqueue_open_sans() {
[5969] Fix | Delete
$protocol = is_ssl() ? 'https' : 'http';
[5970] Fix | Delete
$query_args = array(
[5971] Fix | Delete
'family' => 'Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800',
[5972] Fix | Delete
'subset' => 'latin,latin-ext',
[5973] Fix | Delete
);
[5974] Fix | Delete
[5975] Fix | Delete
wp_enqueue_style( 'et-fb-fonts', esc_url_raw( add_query_arg( $query_args, "{$protocol}://fonts.googleapis.com/css" ) ), array(), null );
[5976] Fix | Delete
}
[5977] Fix | Delete
endif;
[5978] Fix | Delete
[5979] Fix | Delete
/**
[5980] Fix | Delete
* Wrapper for et_core_portability_link() which does ET capability checks as well.
[5981] Fix | Delete
*
[5982] Fix | Delete
* @since 3.26
[5983] Fix | Delete
*
[5984] Fix | Delete
* @param string $context
[5985] Fix | Delete
* @param string|array $attributes
[5986] Fix | Delete
*
[5987] Fix | Delete
* @return string
[5988] Fix | Delete
*/
[5989] Fix | Delete
function et_builder_portability_link( $context, $attributes = array() ) {
[5990] Fix | Delete
global $shortname;
[5991] Fix | Delete
[5992] Fix | Delete
$product = (string) $shortname;
[5993] Fix | Delete
[5994] Fix | Delete
$context_caps = array(
[5995] Fix | Delete
'et_builder' => 'et_builder_portability',
[5996] Fix | Delete
'et_builder_layouts' => 'et_builder_layouts_portability',
[5997] Fix | Delete
"et_{$product}_mods" => "et_{$product}_mods_portability",
[5998] Fix | Delete
'et_pb_roles' => 'et_pb_roles_portability',
[5999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function