File: /home/blushinc/loleverywhere.com/wp-content/plugins/td-composer/includes/tdc_guttenberg.php
<?php
/**
* Created by PhpStorm.
* User: lucian
* Date: 8/22/2018
* Time: 8:53 AM
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class tdc_guttenberg {
protected $is_gutenberg_editor_active = false;
protected $show_on_this_post_type = false;
protected $post_id = null;
protected $post_type = null;
public static function is_gutenberg() {
return function_exists( 'the_gutenberg_project' );
}
public function tdc_enqueue_assets() {
$this->is_gutenberg_editor_active = true;
$this->post_id = get_the_ID();
$this->post_type = get_post_type( $this->post_id );
$show_on_post_types = array( 'page' );
if ( $this->post_type and in_array( $this->post_type, $show_on_post_types ) ) {
$this->show_on_this_post_type = true;
}
$tdc_settings = [
'tdcEditLink' => tdc_util::get_edit_link( $this->post_id ),
];
if ( TDC_DEPLOY_MODE == 'deploy' ) {
wp_enqueue_script( 'js_files_for_gutenberg_editor', TDC_URL . '/assets/js/js_files_for_gutenberg_editor.min.js', array('jquery'), TD_COMPOSER, true );
wp_localize_script( 'js_files_for_gutenberg_editor', 'tdcGutenbergSettings', $tdc_settings );
} else {
wp_enqueue_script( 'tdcGutenberg', TDC_URL . '/assets/js/tdcGutenberg.js', array('jquery'), TD_COMPOSER, true );
wp_localize_script( 'tdcGutenberg', 'tdcGutenbergSettings', $tdc_settings );
}
}
public function tdc_add_admin_switch_button() {
if ( !tdc_check_domain::init()->is_domain_active() || !$this->is_gutenberg_editor_active || !$this->show_on_this_post_type ) {
return;
}
echo '
<script id="tdc-gutenberg-button-switch" type="text/html">
<div class="tdc-panel-button">
<div class="tdc-panel-icon"></div>
<div class="tdc-panel-link">
<a id="tdc-switch-button" href="' . tdc_util::get_edit_link( $this->post_id ) . '">' . td_util::get_wl_val('tds_wl_brand', 'TagDiv') . ' Composer</a>
</div>
</div>
</script>';
}
public function __construct() {
add_action( 'enqueue_block_editor_assets', [ $this, 'tdc_enqueue_assets' ] );
add_action( 'admin_footer', [ $this, 'tdc_add_admin_switch_button' ] );
// td yoast analyzer script
// @note works on pages, and it's used to render page content(theme shortcodes) to be analyzed by yoast's analyzer
add_action( 'admin_enqueue_scripts', function() {
if ( $this->is_gutenberg_editor_active && $this->show_on_this_post_type ) {
if ( TDC_DEPLOY_MODE == 'deploy' ) {
wp_enqueue_script( 'js_files_for_gutenberg_yoast_analyzer', TDC_URL . '/assets/js/js_files_for_gutenberg_yoast_analyzer.min.js', array( 'jquery', 'lodash' ), TD_COMPOSER, true );
} else {
wp_enqueue_script( 'tdcYoastAnalyzer', TDC_URL . '/assets/js/tdcYoastAnalyzer.js', array( 'jquery', 'lodash' ), TD_COMPOSER, true );
}
}
});
}
}