theme_name = $theme->get( 'Name' ); $this->theme_version = $theme->get( 'Version' ); $this->theme_slug = $theme->get_template(); $this->menu_name = isset( $this->config['menu_name'] ) ? $this->config['menu_name'] : sprintf( esc_html__( '%s', 'shopical' ), $this->theme_name ); $this->page_name = isset( $this->config['page_name'] ) ? $this->config['page_name'] : sprintf( esc_html__( '%s', 'shopical' ), $this->theme_name ); $this->page_slug = $this->theme_slug . '-details'; add_action( 'admin_menu', array( $this, 'shopical_register_info_page' ) ); add_action( 'admin_enqueue_scripts', array($this,'shopical_register_backend_scripts')); add_action( 'init', array($this,'shopical_load_files')); add_filter( 'admin_body_class',array($this,'shopical_body_classes') ); $current_user = wp_get_current_user(); $this->current_user_name = $current_user->user_login; } function shopical_body_classes( $classes ) { $classes = explode(' ', $classes); $classes = array_merge($classes, [ 'aft-admin-dashboard-notice' ]); return implode(' ', array_unique($classes)); } public function shopical_register_info_page() { // Add info page. add_theme_page( $this->menu_name, $this->page_name, 'activate_plugins', $this->page_slug, array( $this, 'shopical_render_page' ),1 ); } public function shopical_render_page(){?>
shopical_get_latest_changelog(); $dahboard_path = get_template_directory_uri().'/admin-dashboard/plugin-imgs'; $siteUrl = site_url( ); $theme = wp_get_theme(); wp_localize_script( 'aftheme-dashboard', 'afDashboardData', [ 'customizer_url' => admin_url('/customize.php?autofocus'), 'changelog'=>$changelog, 'dahboard_path'=>$dahboard_path, 'siteUrl'=>$siteUrl, 'aflogoUrl'=>get_template_directory_uri(), "themeUrl"=>(! is_child_theme())?get_template_directory_uri():get_stylesheet_directory_uri(), "themeName"=>$this->theme_name, "themeVesrion"=>$this->theme_version, "currentUser"=>$this->current_user_name ] ); wp_enqueue_script( 'plugin-installer', get_template_directory_uri(). '/admin-dashboard/dist/plugin_installer.build.js', array( 'jquery','aftheme-dashboard' )); wp_localize_script( 'plugin-installer', 'aft_installer_localize', array( 'ajax_url' => admin_url('admin-ajax.php'), 'admin_nonce' => wp_create_nonce('aft_installer_nonce'), 'install_now' => __('Are you sure you want to install this plugin?', 'shopical'), 'install_btn' => __('Install Now', 'shopical'), 'activate_btn' => __('Activate', 'shopical'), 'installed_btn' => __('Activated', 'shopical') )); } function shopical_get_latest_changelog(){ $readme = null; $access_type = get_filesystem_method(); if ($access_type === 'direct') { $creds = request_filesystem_credentials( site_url() . '/wp-admin/', '', false, false, [] ); if (WP_Filesystem($creds)) { global $wp_filesystem; $readme = $wp_filesystem->get_contents( get_template_directory() . '/changelog.txt' ); } $newchangelog = str_replace("###" ,"",$readme); $newchangelog = str_replace("Changes:" ,"",$newchangelog); $newchangelog = str_replace("*" ,"",$newchangelog); $newchangelogs =explode("###",$newchangelog); $changelog = ''; foreach(array_filter($newchangelogs) as $key=>$val){ if(!empty($val)){ $changelog .= $val; } } } return $changelog; } function shopical_load_files(){ require_once get_template_directory().'/admin-dashboard/rest-api/api-request.php'; require_once get_template_directory().'/admin-dashboard/rest-api/class-admin-notice.php'; require_once get_template_directory().'/admin-dashboard/rest-api/class-ajaxcall.php'; } } $aft_dashboard = new AF_themes_info; }