_options = [ 'page_title' => __('Acadlix', 'acadlix'), 'menu_title' => __('Acadlix', 'acadlix'), 'capability' => $capability, 'menu_slug' => defined('ACADLIX_SLUG') ? ACADLIX_SLUG : 'acadlix', 'callback' => [$this, 'home_callback'], 'dashicon' => defined('ACADLIX_ASSETS_IMAGE_URL') ? ACADLIX_ASSETS_IMAGE_URL . 'acadlix-icon.svg' : 'dashicons-welcome-learn-more', 'position' => 40 ]; } public function get_position() { return $this->_options['position'] ?? 40; } public function add_submenu() { $page = add_menu_page( $this->_options['page_title'], $this->_options['menu_title'], $this->_options['capability'], $this->_options['menu_slug'], $this->_options['callback'], $this->_options['dashicon'], $this->_options['position'], ); add_submenu_page( $this->_options['menu_slug'], __('Home', 'acadlix'), __('Home', 'acadlix'), $this->_options['capability'], $this->_options['menu_slug'], $this->_options['callback'] ); add_action("admin_print_scripts-{$page}", [$this, 'admin_print_scripts']); } public function localize_options() { $current_user = wp_get_current_user(); $is_super = is_super_admin($current_user->ID); $capabilities = $current_user->exists() ? array_keys(array_filter((array) $current_user->allcaps)) : []; return [ 'api_url' => acadlix()->helper()->acadlix_get_api_url(), 'max_execution_time' => acadlix()->helper()->acadlix_max_execution_time(), 'nonce' => acadlix()->helper()->acadlix_get_wp_rest_nonce(), 'user_id' => get_current_user_id(), 'settings' => acadlix()->helper()->acadlix_get_all_options(), 'currency_symbol' => acadlix()->helper()->acadlix_currency_symbols()[acadlix()->helper()->acadlix_get_option('acadlix_currency')], 'acadlix_documentation_url' => ACADLIX_DOCUMENTATION_URL, 'acadlix_contact_us_url' => ACADLIX_CONTACT_US_URL, 'acadlix_youtube_channel_url' => ACADLIX_YOUTUBE_CHANNEL_URL, 'acadlix_whatsapp_url' => ACADLIX_WHATSAPP_URL, 'acadlix_support_url' => ACADLIX_SUPPORT_URL, 'admin_url' => admin_url(), 'default_img_url' => esc_url(ACADLIX_ASSETS_IMAGE_URL . "demo-course.jpg"), 'isActive' => acadlix()->license()->isActive ?? false, 'theme_settings' => acadlix()->helper()->acadlix_get_option('acadlix_theme_settings'), 'isSuperAdmin' => $is_super, 'capabilities' => $is_super ? ['*'] : $capabilities, ]; } public function admin_print_scripts() { if (function_exists('acadlix') && acadlix()->assets()) { acadlix()->assets()->manager()->load_assets('admin_home', $this->localize_options()); } } public function home_callback() { echo '