: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
<%% if ( this.hasOption( "preview" ) ) { %%>
<li><a class="et-pb-right-click-preview" href="#">%14$s</a></li>
et_core_esc_previously( $rename_module_menu ),
et_core_esc_previously( $enable_disable_menu ),
et_core_esc_previously( $lock_unlock_menu ),
et_builder_i18n( 'Expand' ),
esc_html__( 'Collapse', 'et_builder' ), //#5
et_core_esc_previously( $copy_module_menu ),
et_core_esc_previously( $paste_after_menu ),
et_core_esc_previously( $save_to_lib_menu ),
esc_html__( 'Undo', 'et_builder' ),
esc_html__( 'Redo', 'et_builder' ), //#10
et_core_esc_previously( $paste_menu_item ),
et_core_esc_previously( $paste_app_menu_item ),
et_core_esc_previously( et_pb_allowed_modules_list() ),
esc_html__( 'Preview', 'et_builder' ),
et_core_esc_previously( $start_ab_testing_menu ), // #15
et_core_esc_previously( $end_ab_testing_menu ),
et_core_esc_previously( $disable_global_menu )
// "Rename Module Admin Label" Modal Window Template
'<script type="text/template" id="et-builder-prompt-modal-rename_admin_label">
<div class="et_pb_prompt_modal">
<a href="#" class="et_pb_prompt_dont_proceed et-pb-modal-close">
<div class="et_pb_prompt_buttons">
<input type="submit" class="et_pb_prompt_proceed" value="%2$s" />
et_builder_i18n( 'Cancel' ),
esc_attr__( 'Save', 'et_builder' )
// "Rename Module Admin Label" Modal Content Template
'<script type="text/template" id="et-builder-prompt-modal-rename_admin_label-text">
<input type="text" value="" id="et_pb_new_admin_label" class="regular-text" />
esc_html__( 'Rename', 'et_builder' ),
esc_html__( 'Enter a new name for this module', 'et_builder' )
// Builder's Main Buttons
$save_to_lib_button = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'save_library' ) ? sprintf(
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-save" title="%1$s">
esc_attr__( 'Save to Library', 'et_builder' ),
esc_html__( 'Save to Library', 'et_builder' )
$load_from_lib_button = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'load_layout' ) && et_pb_is_allowed( 'add_library' ) && et_pb_is_allowed( 'add_module' ) ? sprintf(
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-load" title="%1$s">
esc_attr__( 'Load From Library', 'et_builder' ),
esc_html__( 'Load Layout', 'et_builder' )
$clear_layout_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-clear" title="%1$s">
esc_attr__( 'Clear Layout', 'et_builder' ),
esc_html__( 'Clear Layout', 'et_builder' )
// Builder's History Buttons
$history_button = sprintf(
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-history" title="%1$s">
<span class="icon"></span><span class="label">%2$s</span>
esc_attr__( 'See History', 'et_builder' ),
esc_html__( 'See History', 'et_builder' )
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-redo" title="%1$s">
<span class="icon"></span><span class="label">%2$s</span>
esc_attr__( 'Redo', 'et_builder' ),
esc_html__( 'Redo', 'et_builder' )
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-undo" title="%1$s">
<span class="icon"></span><span class="label">%2$s</span>
esc_attr__( 'Undo', 'et_builder' ),
esc_html__( 'Undo', 'et_builder' )
$view_ab_stats_button = sprintf(
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-view-ab-stats" title="%1$s">
<span class="icon"></span><span class="label">%2$s</span>
esc_attr__( 'View Stats', 'et_builder' ),
esc_html__( 'View Stats', 'et_builder' )
$settings_button = sprintf(
'<a href="#" class="et-pb-layout-buttons et-pb-layout-buttons-settings" title="%1$s">
<span class="icon"></span><span class="label">%2$s</span>
esc_attr__( 'Settings', 'et_builder' ),
esc_html__( 'Settings', 'et_builder' )
'<script type="text/template" id="et-builder-app-template">
<div id="et_pb_layout_controls">
<div id="et-pb-histories-visualizer-overlay"></div>
<ol id="et-pb-histories-visualizer"></ol>
et_core_esc_previously( $save_to_lib_button ),
et_core_esc_previously( $load_from_lib_button ),
et_core_esc_previously( $clear_layout_button ),
et_core_esc_previously( $history_button ),
et_core_esc_previously( $redo_button ),
et_core_esc_previously( $undo_button ),
et_core_esc_previously( $view_ab_stats_button ),
et_core_esc_previously( $settings_button )
// App Settings Buttons Template
$builder_button_ab_testing_conditional = '( typeof et_pb_ab_goal === "undefined" || et_pb_ab_goal === "off" || typeof et_pb_ab_subject !== "undefined" )';
$is_ab_active = isset( $post->ID ) && 'on' === get_post_meta( $post->ID, '_et_pb_use_ab_testing', true );
$view_stats_active_class = $is_ab_active ? 'active' : '';
$view_stats_button = et_pb_is_allowed( 'ab_testing' ) ? sprintf(
'<a href="#" class="et-pb-app-view-ab-stats-button %1$s" title="%2$s">
<object type="image/svg+xml" data="%3$s/images/stats.svg"></object>
<span class="label">%2$s</span>
esc_attr( $view_stats_active_class ),
esc_attr__( 'View Split Testing Stats', 'et_builder' ),
esc_url( ET_BUILDER_URI )
$portability_class = 'et-pb-app-portability-button';
$portability_class .= ' et-core-disabled';
$page_settings_button = et_pb_is_allowed( 'page_options' ) ? sprintf(
'<a href="#" class="et-pb-app-settings-button" title="%1$s">
<object type="image/svg+xml" data="%3$s/images/menu.svg"></object>
<span class="label">%2$s</span>
esc_attr__( 'Settings', 'et_builder' ),
esc_html__( 'Settings', 'et_builder' ),
esc_url( ET_BUILDER_URI )
'<script type="text/template" id="et-builder-app-settings-button-template">
et_core_esc_previously( $page_settings_button ),
et_core_esc_previously( et_builder_portability_link( 'et_builder', array( 'class' => $portability_class ) ) ),
et_core_esc_previously( $view_stats_button )
// do not display settings on global sections if not allowed for current user
$global_settings_logic = ! et_pb_is_allowed( 'edit_global_library' ) ? ' && typeof et_pb_global_module === "undefined"' : '';
$section_settings_button = sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type || \'\' === et_pb_template_type )%3$s ) { %%>
<a href="#" class="et-pb-settings et-pb-settings-section" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Settings', 'et_builder' ),
esc_html__( 'Settings', 'et_builder' ),
et_core_esc_previously( $global_settings_logic )
$section_clone_button = sprintf(
<a href="#" class="et-pb-clone et-pb-clone-section" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Clone Section', 'et_builder' ),
esc_html__( 'Clone Section', 'et_builder' ),
'<% if ( ' . et_core_esc_previously( $builder_button_ab_testing_conditional ) . ' ) { %>',
$section_remove_button = sprintf(
<a href="#" class="et-pb-remove et-pb-remove-section" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Delete Section', 'et_builder' ),
esc_html__( 'Delete Section', 'et_builder' ),
'<% if ( ' . et_core_esc_previously( $builder_button_ab_testing_conditional ) . ' ) { %>',
$section_unlock_button = sprintf(
'<a href="#" class="et-pb-unlock" title="%1$s"><span>%2$s</span></a>',
esc_attr__( 'Unlock Section', 'et_builder' ),
esc_html__( 'Unlock Section', 'et_builder' )
$settings_controls = sprintf(
'<div class="et-pb-controls">
<%% if ( typeof et_pb_template_type === \'undefined\' || ( \'section\' !== et_pb_template_type && \'row\' !== et_pb_template_type && \'module\' !== et_pb_template_type ) ) { %%>
<a href="#" class="et-pb-expand" title="%4$s"><span>%5$s</span></a>
et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? et_core_esc_previously( $section_settings_button ) : '',
et_pb_is_allowed( 'add_module' ) ? et_core_esc_previously( $section_clone_button ) : '',
et_pb_is_allowed( 'add_module' ) ? et_core_esc_previously( $section_remove_button ) : '',
esc_attr__( 'Expand Section', 'et_builder' ),
esc_html__( 'Expand Section', 'et_builder' ),
et_pb_is_allowed( 'lock_module' ) ? et_core_esc_previously( $section_unlock_button ) : ''
$settings_controls = apply_filters( 'et_builder_section_settings_controls', $settings_controls );
$add_from_lib_section = et_pb_is_allowed( 'divi_library' ) && et_pb_is_allowed( 'add_library' ) ? sprintf(
'<span class="et-pb-section-add-saved">%1$s</span>',
esc_html__( 'Add From Library', 'et_builder' )
$add_standard_section_button = sprintf(
'<span class="et-pb-section-add-main">%1$s</span>',
esc_html__( 'Standard Section', 'et_builder' )
$add_standard_section_button = apply_filters( 'et_builder_add_main_section_button', $add_standard_section_button );
$add_fullwidth_section_button = sprintf(
'<span class="et-pb-section-add-fullwidth">%1$s</span>',
esc_html__( 'Fullwidth Section', 'et_builder' )
$add_fullwidth_section_button = apply_filters( 'et_builder_add_fullwidth_section_button', $add_fullwidth_section_button );
$add_specialty_section_button = sprintf(
'<span class="et-pb-section-add-specialty">%1$s</span>',
esc_html__( 'Specialty Section', 'et_builder' )
$add_specialty_section_button = apply_filters( 'et_builder_add_specialty_section_button', $add_specialty_section_button );
$settings_add_controls = sprintf(
'<%% if ( typeof et_pb_template_type === \'undefined\' || ( \'section\' !== et_pb_template_type && \'row\' !== et_pb_template_type && \'module\' !== et_pb_template_type ) ) { %%>
<a href="#" class="et-pb-section-add">
et_core_esc_previously( $add_standard_section_button ),
et_core_esc_previously( $add_fullwidth_section_button ),
et_core_esc_previously( $add_specialty_section_button ),
et_core_esc_previously( $add_from_lib_section )
$settings_add_controls = et_pb_is_allowed( 'add_module' ) ? apply_filters( 'et_builder_section_add_controls', $settings_add_controls ) : '';
$insert_first_row_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<a href="#" class="et-pb-insert-row">
esc_html__( 'Insert Row(s)', 'et_builder' )
$disable_sort_logic = ! et_pb_is_allowed( 'move_module' ) ? ' et-pb-disable-sort' : '';
$disable_global_sort_logic = ! et_pb_is_allowed( 'edit_global_library' )
? '<%= typeof et_pb_global_module !== \'undefined\' ? \' et-pb-disable-sort\' : \'\' %>'
'<script type="text/template" id="et-builder-section-template">
<div class="et-pb-right-click-trigger-overlay"></div>
<div class="et-pb-section-content et-pb-data-cid%3$s%4$s<%%= typeof et_pb_template_type !== \'undefined\' && \'module\' === et_pb_template_type ? \' et_pb_hide_insert\' : \'\' %%>" data-cid="<%%= cid %%>" data-skip="<%%= typeof( et_pb_skip_module ) === \'undefined\' ? \'false\' : \'true\' %%>">
<div class="et-pb-locked-overlay et-pb-locked-overlay-section"></div>
<span class="et-pb-section-title"><%%= admin_label.replace( /%%22/g, """ ).replace( /%%91/g, "[" ).replace( /%%93/g, "]" ) %%></span>
et_core_esc_previously( $settings_controls ),
et_core_esc_previously( $settings_add_controls ),
et_core_intentionally_unescaped( $disable_sort_logic, 'fixed_string' ),
et_core_intentionally_unescaped( $disable_global_sort_logic, 'fixed_string' ),
et_core_esc_previously( $insert_first_row_button )
$row_settings_button = sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' )%3$s ) { %%>
<a href="#" class="et-pb-settings et-pb-settings-row" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Settings', 'et_builder' ),
esc_html__( 'Settings', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && ( typeof et_pb_global_module === "undefined" || "" === et_pb_global_module ) && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent )' : '' // do not display settings button on global rows if not allowed for current user
$row_clone_button = sprintf(
<a href="#" class="et-pb-clone et-pb-clone-row" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Clone Row', 'et_builder' ),
esc_html__( 'Clone Row', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) && '. $builder_button_ab_testing_conditional .' ) { %>' : '<% if ( ' . $builder_button_ab_testing_conditional . ' ) { %>', // do not display clone button on rows within global sections if not allowed for current user
$row_remove_button = sprintf(
<a href="#" class="et-pb-remove et-pb-remove-row" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Delete Row', 'et_builder' ),
esc_html__( 'Delete Row', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) && '. $builder_button_ab_testing_conditional .') { %>' : '<% if ( ' . $builder_button_ab_testing_conditional . ' ) { %>', // do not display clone button on rows within global sections if not allowed for current user
$row_change_structure_button = sprintf(
<a href="#" class="et-pb-change-structure" title="%1$s"><span>%2$s</span></a>
esc_attr__( 'Change Structure', 'et_builder' ),
esc_html__( 'Change Structure', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? '<% if ( ( typeof et_pb_global_module === "undefined" || "" === et_pb_global_module ) && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) ) { %>' : '', // do not display change structure button on global rows if not allowed for current user
! et_pb_is_allowed( 'edit_global_library' ) ? '<% } %>' : ''
$row_unlock_button = sprintf(
'<a href="#" class="et-pb-unlock" title="%1$s"><span>%2$s</span></a>',
esc_attr__( 'Unlock Row', 'et_builder' ),
esc_html__( 'Unlock Row', 'et_builder' )
'<div class="et-pb-controls">
<%% if ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type ) { %%>
if ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' ) { %%>
if ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type ) { %%>
<a href="#" class="et-pb-expand" title="%5$s"><span>%6$s</span></a>
et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? $row_settings_button : '',
et_pb_is_allowed( 'add_module' ) ? $row_clone_button : '',
et_pb_is_allowed( 'add_module' ) ? $row_remove_button : '',
et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? $row_change_structure_button : '',
esc_attr__( 'Expand Row', 'et_builder' ),
esc_html__( 'Expand Row', 'et_builder' ),
et_pb_is_allowed( 'lock_module' ) ? $row_unlock_button : ''
$settings = apply_filters( 'et_builder_row_settings_controls', $settings );
'class="et-pb-row-content et-pb-data-cid%1$s%2$s <%%= typeof et_pb_template_type !== \'undefined\' && \'module\' === et_pb_template_type ? \' et_pb_hide_insert\' : \'\' %%>"',
! et_pb_is_allowed( 'move_module' ) ? ' et-pb-disable-sort' : '',
! et_pb_is_allowed( 'edit_global_library' )
? sprintf( '<%%= typeof et_pb_global_parent !== \'undefined\' || typeof et_pb_global_module !== \'undefined\' ? \' et-pb-disable-sort\' : \'\' %%>' )
$data_skip = 'data-skip="<%= typeof( et_pb_skip_module ) === \'undefined\' ? \'false\' : \'true\' %>"';
$add_row_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || \'section\' === et_pb_template_type )%2$s ) { %%>
<a href="#" class="et-pb-row-add">
esc_html__( 'Add Row', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && typeof et_pb_global_parent === "undefined"' : '' // do not display add row buton on global sections if not allowed for current user
$insert_column_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<a href="#" class="et-pb-insert-column">
esc_html__( 'Insert Column(s)', 'et_builder' )
'<script type="text/template" id="et-builder-row-template">
<div class="et-pb-right-click-trigger-overlay"></div>
<div data-cid="<%%= cid %%>" %2$s %3$s>
<div class="et-pb-row-container"></div>
<div class="et-pb-locked-overlay et-pb-locked-overlay-row"></div>
<span class="et-pb-row-title"><%%= admin_label.replace( /%%22/g, """ ).replace( /%%91/g, "[" ).replace( /%%93/g, "]" ) %%></span>
et_core_esc_previously( $settings ),
et_core_intentionally_unescaped( $row_class, 'fixed_string' ),
et_core_intentionally_unescaped( $data_skip, 'fixed_string' ),
et_core_esc_previously( $insert_column_button ),
et_core_esc_previously( $add_row_button )
$clone_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' )%3$s && _.contains(%4$s, module_type) && '. $builder_button_ab_testing_conditional .' ) { %%>
<a href="#" class="et-pb-clone et-pb-clone-module" title="%1$s">
esc_attr__( 'Clone Module', 'et_builder' ),
esc_html__( 'Clone Module', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent )' : '',
et_pb_allowed_modules_list()
$remove_button = et_pb_is_allowed( 'add_module' ) ? sprintf(
'<%% if ( ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' )%3$s && (_.contains(%4$s, module_type) || "removed" === component_status) && '. $builder_button_ab_testing_conditional .' ) { %%>
<a href="#" class="et-pb-remove et-pb-remove-module" title="%1$s">
esc_attr__( 'Remove Module', 'et_builder' ),
esc_html__( 'Remove Module', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' && ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent )' : '',
et_pb_allowed_modules_list()
$unlock_button = et_pb_is_allowed( 'lock_module' ) ? sprintf(
'<%% if ( typeof et_pb_template_type === \'undefined\' || et_pb_template_type !== \'module\' ) { %%>
<a href="#" class="et-pb-unlock" title="%1$s">
esc_html__( 'Unlock Module', 'et_builder' ),
esc_attr__( 'Unlock Module', 'et_builder' )
$settings_button = et_pb_is_allowed( 'edit_module' ) && ( et_pb_is_allowed( 'general_settings' ) || et_pb_is_allowed( 'advanced_settings' ) || et_pb_is_allowed( 'custom_css_settings' ) ) ? sprintf(
'<%% if (%3$s _.contains( %4$s, module_type ) ) { %%>
<a href="#" class="et-pb-settings" title="%1$s">
esc_attr__( 'Module Settings', 'et_builder' ),
esc_html__( 'Module Settings', 'et_builder' ),
! et_pb_is_allowed( 'edit_global_library' ) ? ' ( typeof et_pb_global_parent === "undefined" || "" === et_pb_global_parent ) && ( typeof et_pb_global_module === "undefined" || "" === et_pb_global_module ) &&' : '',
et_pb_allowed_modules_list()
'<script type="text/template" id="et-builder-block-module-template">
<span class="et-pb-module-title"><%%= admin_label.replace( /%%22/g, """ ).replace( /%%91/g, "[" ).replace( /%%93/g, "]" ) %%></span>