| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/laragon/www/quilla/wp-content/plugins/td-composer/includes/ |
Upload File : |
<?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 ( !$this->is_gutenberg_editor_active or !$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 );
}
}
});
}
}