attach_ajax_actions(); $api = new Blocksy_Admin_Dashboard_API(); $api->attach_ajax_actions(); } if ( $this->is_dashboard_page() ) { add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_static' ] ); } if ( $this->is_dashboard_page() ) { add_action( 'admin_print_scripts', function () { global $wp_filter; if ( is_user_admin() ) { if ( isset( $wp_filter['user_admin_notices'] ) ) { unset( $wp_filter['user_admin_notices'] ); } } elseif ( isset( $wp_filter['admin_notices'] ) ) { unset( $wp_filter['admin_notices'] ); } if ( isset( $wp_filter['all_admin_notices'] ) ) { unset( $wp_filter['all_admin_notices'] ); } } ); } } public function load_system_status() { $system_status = new Blocksy_System_Status(); wp_send_json_success( $system_status->output() ); } public function enqueue_static() { $theme = wp_get_theme(); $dependencies = [ 'underscore', 'wp-util', 'ct-events', 'ct-options-scripts' ]; wp_enqueue_script( 'ct-dashboard-scripts', get_template_directory_uri() . '/admin/dashboard/static/bundle/main.js', $dependencies, $theme->get( 'Version' ), false ); if ( defined( 'WP_DEBUG' ) ) { wp_localize_script( 'ct-dashboard-scripts', 'WP_DEBUG', [ 'debug' => true ] ); } $manager = new Blocksy_Plugin_Manager(); $plugins_config = $manager->get_config(); wp_localize_script( 'ct-dashboard-scripts', 'ctDashboardLocalizations', [ 'ajax_url' => admin_url( 'admin-ajax.php' ), 'customizer_url' => admin_url('/customize.php?autofocus'), 'theme_version' => $theme->get( 'Version' ), 'theme_name' => $theme->get( 'Name' ), 'is_child_theme' => is_child_theme(), 'child_theme_exists' => isset(wp_get_themes()['blocksy-child']), 'home_url' => home_url(), 'clean_install_plugins' => $plugins_config, ] ); wp_enqueue_style( 'ct-dashboard-styles', get_template_directory_uri() . '/admin/dashboard/static/bundle/main.css', [], $theme->get( 'Version' ) ); } public function setup_framework_page() { $welcome_page_options = [ 'title' => __( 'Blocksy', 'blocksy' ), 'menu-title' => __( 'Blocksy', 'blocksy' ), 'permision' => 'activate_plugins', 'top-level-handle' => $this->page_slug, 'callback' => [ $this, 'welcome_page_template' ], 'icon-url' => get_template_directory_uri() . '/admin/dashboard/static/img/navigation.svg', 'position' => 2, ]; $result = apply_filters( 'blocksy_add_menu_page', false, $welcome_page_options ); if (! $result) { add_theme_page( $welcome_page_options['title'], $welcome_page_options['menu-title'], $welcome_page_options['permision'], $welcome_page_options['top-level-handle'], $welcome_page_options['callback'] ); } } public function welcome_page_template() { if ( ! current_user_can( 'manage_options' ) ) { wp_die( esc_html( __( 'You do not have sufficient permissions to access this page.', 'blocksy' ) ) ); } echo '
'; } } new Blocksy_Dashboard_Page();