Files
dostavka_vodi/wp-content/plugins/ultimate-addons-for-gutenberg/lib/class-uagb-ast-block-templates.php
User A0264400 a766acdc90 first commit
2026-04-01 23:20:16 +03:00

123 lines
2.8 KiB
PHP

<?php
/**
* Init
*
* @since 1.0.0
* @package Ast Block Templates
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'UAGB_Ast_Block_Templates' ) ) :
/**
* Admin
*/
class UAGB_Ast_Block_Templates {
/**
* Instance
*
* @since 1.0.0
* @var (Object) UAGB_Ast_Block_Templates
*/
private static $instance = null;
/**
* Get Instance
*
* @since 1.0.0
*
* @return object Class object.
*/
public static function get_instance() {
if ( ! isset( self::$instance ) ) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor.
*
* @since 1.0.0
*/
private function __construct() {
$this->version_check();
add_action( 'init', array( $this, 'load' ), 999 );
add_filter( 'ast_block_templates_localize_vars', array( $this, 'update_vars' ) );
}
/**
* Add support to change template button text.
*
* @since 1.21.0
* @param array $vars localize array of button.
*/
public function update_vars( $vars = array() ) {
if ( defined( 'ASTRA_SITES_VER' ) ) {
return $vars;
}
$vars['button_text'] = __( 'Design Library', 'ultimate-addons-for-gutenberg' );
$vars['display_button_logo'] = true;
$vars['popup_logo_uri'] = UAGB_URL . 'admin-core/assets/images/uag-logo.svg';
$vars['button_logo'] = UAGB_URL . 'admin-core/assets/images/btn-spectra.svg';
$vars['button_class'] = 'uagb-template-button-logo';
return $vars;
}
/**
* Version Check
*
* @return void
*/
public function version_check() {
$file = realpath( dirname( __FILE__ ) . '/gutenberg-templates/version.json' );
// Is file exist?
if ( is_file( $file ) ) {
// @codingStandardsIgnoreStart
$file_data = json_decode( file_get_contents( $file ), true );
// @codingStandardsIgnoreEnd
global $ast_block_templates_version, $ast_block_templates_init;
$path = realpath( dirname( __FILE__ ) . '/gutenberg-templates/ast-block-templates.php' );
$version = isset( $file_data['ast-block-templates'] ) ? $file_data['ast-block-templates'] : 0;
if ( null === $ast_block_templates_version ) {
$ast_block_templates_version = '1.0.0';
}
// Compare versions.
if ( version_compare( $version, $ast_block_templates_version, '>' ) ) {
$ast_block_templates_version = $version;
$ast_block_templates_init = $path;
}
}
}
/**
* Load latest plugin
*
* @return void
*/
public function load() {
global $ast_block_templates_version, $ast_block_templates_init;
if ( is_file( realpath( $ast_block_templates_init ) ) ) {
include_once realpath( $ast_block_templates_init );
}
}
}
/**
* Kicking this off by calling 'get_instance()' method
*/
UAGB_Ast_Block_Templates::get_instance();
endif;