display('Name'), $academy_fse_theme->display('Name'), 'manage_options', 'academy-fse', 'academy_fse_do_admin_page' ); } add_action('admin_menu', 'academy_fse_admin_menu_page'); /** * Enqueue getting started styles and scripts */ function academy_fse_widgets_backend_enqueue() { wp_enqueue_style('academy-fse-getting-started', get_template_directory_uri() . '/about-theme/about-theme.css'); wp_enqueue_script('academy-fse-plugin-installer', get_template_directory_uri() . '/about-theme/admin.js', array('jquery'), null, true); wp_localize_script('academy-fse-plugin-installer', 'academy_fse_ajax_object', array( 'ajax_url' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('academy_fse_install_plugin_nonce'), )); } add_action('admin_enqueue_scripts', 'academy_fse_widgets_backend_enqueue'); /** * Class Titan_Notice_Handler */ class Titan_Notice_Handler { public static $nonce; /** * Empty Constructor */ public function __construct() { // Activation notice add_action('switch_theme', array($this, 'flush_dismiss_status')); add_action('admin_init', array($this, 'getting_started_notice_dismissed')); add_action('admin_notices', array($this, 'academy_fse_theme_info_welcome_admin_notice'), 3); add_action('wp_ajax_academy_fse_getting_started', array($this, 'academy_fse_getting_started')); add_action('wp_ajax_academy_fse_dismiss_notice', function () { check_ajax_referer('academy_fse_dismiss', 'security'); update_option('academy_fse_notice_dismissed', true); wp_die(); }); } /** * Display an admin notice linking to the about page */ public function academy_fse_theme_info_welcome_admin_notice() { $ablocks_installed = is_plugin_active('ablocks/ablocks.php'); $academy_lms_installed = is_plugin_active('academy/academy.php'); $current_screen = get_current_screen(); $academy_fse_theme = wp_get_theme(); if (is_admin() && !get_user_meta(get_current_user_id(), 'gs_notice_dismissed') && $current_screen->base != 'appearance_page_academy-fse') { ?>

get('Name'))) ?>

base != 'appearance_page_academy-fse') { ?>

get('Name'))) ?>

Name); ?>

get('Description')))); ?>

$plugin_slug)); if (is_wp_error($api)) { wp_send_json_error($api->get_error_message()); } $upgrader = new Plugin_Upgrader(new WP_Ajax_Upgrader_Skin()); $result = $upgrader->install($api->download_link); if (is_wp_error($result)) { wp_send_json_error($result->get_error_message()); } $plugin_file = $plugin_slug . '/' . $plugin_slug . '.php'; if (file_exists(WP_PLUGIN_DIR . '/' . $plugin_file)) { activate_plugin(WP_PLUGIN_DIR . '/' . $plugin_file); wp_send_json_success('Plugin installed and activated successfully!'); } else { wp_send_json_error('Plugin file not found.'); } } add_action('wp_ajax_academy_fse_install_plugin', 'academy_fse_install_plugin'); ?>