XylotrechusZ
<?php
defined( 'ABSPATH' ) || die;
// ThickBox JS and CSS
add_thickbox();
$blocks_list_saved = get_option( 'advgb_blocks_list' );
$advgb_blocks = [];
if ( gettype( $blocks_list_saved ) === 'array' ) {
foreach ( $blocks_list_saved as $block ) {
if ( strpos( $block['name'], 'advgb/' ) === false ) {
continue;
} else {
$block['icon'] = htmlentities( $block['icon'] );
array_push( $advgb_blocks, $block );
}
}
}
/**
* Sort array
*
* @param string $key Array key to sort
*
* @return Closure
*/
function sortBy( $key )
{
return function ( $a, $b ) use ( $key ) {
return strnatcmp( $a[$key], $b[$key] );
};
}
usort( $advgb_blocks, sortBy( 'title' ) );
$excluded_blocks_config = [
'advgb/container',
'advgb/accordion-item',
'advgb/accordion',
'advgb/tabs',
'advgb/tab',
'advgb/recent-posts',
'advgb/login-form',
'advgb/search-bar',
'advgb/countdown',
'advgb/feature-list',
'advgb/feature',
'advgb/pricing-table'
];
$new_titles = [
'advgb/accordions' => __( 'Accordion - PublishPress', 'advanced-gutenberg' ),
'advgb/button' => __( 'Button - PublishPress', 'advanced-gutenberg' ),
'advgb/icon' => __( 'Icon - PublishPress', 'advanced-gutenberg' ),
'advgb/image' => __( 'Image - PublishPress', 'advanced-gutenberg' ),
'advgb/list' => __( 'List - PublishPress', 'advanced-gutenberg' ),
'advgb/table' => __( 'Table - PublishPress', 'advanced-gutenberg' ),
'advgb/adv-tabs' => __( 'Tabs - PublishPress', 'advanced-gutenberg' ),
'advgb/video' => __( 'Video - PublishPress', 'advanced-gutenberg' ),
'advgb/columns' => __( 'Columns - PublishPress', 'advanced-gutenberg' ),
'advgb/column' => __( 'Column - PublishPress', 'advanced-gutenberg' ),
'advgb/contact-form' => __( 'Contact Form - PublishPress', 'advanced-gutenberg' ),
'advgb/count-up' => __( 'Count Up - PublishPress', 'advanced-gutenberg' ),
'advgb/images-slider' => __( 'Images Slider - PublishPress', 'advanced-gutenberg' ),
'advgb/infobox' => __( 'Info Box - PublishPress', 'advanced-gutenberg' ),
'advgb/map' => __( 'Map - PublishPress', 'advanced-gutenberg' ),
'advgb/newsletter' => __( 'Newsletter - PublishPress', 'advanced-gutenberg' ),
'advgb/social-links' => __( 'Social Links - PublishPress', 'advanced-gutenberg' ),
'advgb/summary' => __( 'Table of Contents - PublishPress', 'advanced-gutenberg' ),
'advgb/testimonial' => __( 'Testimonial - PublishPress', 'advanced-gutenberg' ),
'advgb/woo-products' => __( 'Woo Products - PublishPress', 'advanced-gutenberg' )
];
// Pro
if( defined( 'ADVANCED_GUTENBERG_PRO_LOADED' ) ) {
if ( method_exists( 'PPB_AdvancedGutenbergPro\Utils\Definitions', 'advgb_pro_default_block_settings' ) ) {
$excludedProBlocks = PPB_AdvancedGutenbergPro\Utils\Definitions::advgb_pro_default_block_settings( 'excluded_blocks' );
foreach ( $excludedProBlocks as $excludedProBlock ) {
array_push(
$excluded_blocks_config,
$excludedProBlock
);
}
}
}
?>
<div class="publishpress-admin wrap">
<header>
<h1 class="wp-heading-inline">
<?php esc_html_e( 'PublishPress Blocks', 'advanced-gutenberg' ) ?>
</h1>
</header>
<div class="wrap">
<div class="advgb-search-wrapper" style="padding-bottom: 20px;">
<input type="text"
class="advgb-search-input blocks-config-search"
placeholder="<?php esc_attr_e( 'Search blocks', 'advanced-gutenberg' ) ?>"
>
</div>
<ul class="blocks-config-list clearfix">
<?php foreach ( $advgb_blocks as $block ) : ?>
<?php $iconColor = '';
if ( in_array( $block['name'], $excluded_blocks_config ) ) {
continue;
}
if ( isset( $block['iconColor'] ) ) :
$iconColor = 'style="color:' . esc_attr( $block['iconColor'] ) . '"';
endif;
// Use new block title
if( isset( $new_titles[$block['name']] ) ) {
$block['title'] = $new_titles[$block['name']];
//$block['title'] = str_replace( 'PublishPress', '', $new_titles[$block['name']] ); // Remove 'PublishPress'
//$block['title'] = str_replace( '-', '', $block['title'] ); // Remove hyphen in RTL and LTR
}
?>
<li class="block-config-item advgb-settings-option" title="<?php echo esc_attr( __( $block['title'], 'advanced-gutenberg' ) ); ?>">
<span class="block-icon" <?php echo $iconColor ?>>
<?php echo html_entity_decode( html_entity_decode( stripslashes( $block['icon'] ) ) ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- already escaped ?>
</span>
<span class="block-title"><?php echo esc_html( __( $block['title'], 'advanced-gutenberg' ) ); ?></span>
<i class="dashicons dashicons-admin-generic block-config-button"
title="<?php esc_attr_e( 'Edit', 'advanced-gutenberg' ) ?>"
data-block="<?php echo esc_attr( $block['name'] ); ?>"
></i>
</li>
<?php endforeach; ?>
</ul>
<?php if ( count( $advgb_blocks ) === 0 ) : ?>
<div class="blocks-not-loaded" style="text-align: center">
<p>
<?php esc_html_e( 'No blocks available. Please go to a post edit (without saving either modifying anything). Then come back to Block Settings to see the blocks list.', 'advanced-gutenberg' ); ?>
</p>
</div>
<?php endif; ?>
</div>
</div>