url = admin_url('admin.php'); self::$_instance->url = add_query_arg( array('page' => 'agency-ecommerce-options'), self::$_instance->url ); self::$_instance->from_plugin = $from_plugin; self::$_instance->title = esc_html__('Agency Ecommerce Options', 'agency-ecommerce'); self::$_instance->setup(); add_action('admin_menu', array(self::$_instance, 'add_menu'), 5); add_action('admin_enqueue_scripts', array(self::$_instance, 'scripts')); add_action('agency_ecommerce_about_menu_tabs', array(self::$_instance, 'menu_tabs'), 5); add_action('agency_ecommerce_about_main', array(self::$_instance, 'box_links'), 15); add_action('agency_ecommerce_about_main', array(self::$_instance, 'premium_features'), 16); add_action('agency_ecommerce_about_sidebar', array(self::$_instance, 'box_plugins'), 10); add_action('agency_ecommerce_about_sidebar', array(self::$_instance, 'box_community'), 25); add_action('agency_ecommerce_about_sidebar', array(self::$_instance, 'box_documentation'), 30); add_action('admin_notices', array(self::$_instance, 'admin_notice')); add_action('admin_init', array(self::$_instance, 'admin_init')); add_action('wp_ajax_agency_ecommerce_getting_started', array(self::$_instance, 'getting_started')); // Tabs. add_action('agency_ecommerce_about_tab_changelog', array(self::$_instance, 'tab_changelog')); } return self::$_instance; } public function getting_started() { check_ajax_referer('agency_ecommerce_theme_starter_site_install_nonce', 'security'); $agency_ecommerce_all_plugins = agency_ecommerce_get_recommanded_plugins(); $installation_details = array( 'total_plugins' => count($agency_ecommerce_all_plugins), 'plugin' => array(), 'redirect' => admin_url('/themes.php?page=agency-ecommerce-options') ); if (class_exists('Mantrabrain_Starter_Sites')) { $installation_details['redirect'] = admin_url('/themes.php?page=starter-sites&browse=all'); } else { $installation_details['redirect'] = admin_url('/themes.php?page=agency-ecommerce-options'); } include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; include_once ABSPATH . 'wp-admin/includes/plugin-install.php'; foreach ($agency_ecommerce_all_plugins as $plugin_data) { $slug = isset($plugin_data['slug']) ? $plugin_data['slug'] : ''; $installation_details['plugin'][$slug] = false; $plugin = $slug . '/' . $slug . '.php'; if (current_user_can('install_plugins')) { if (is_plugin_active_for_network($plugin) || is_plugin_active($plugin)) { // Plugin is activated $installation_details['plugin'][$slug] = 'active'; } if (file_exists(WP_PLUGIN_DIR . '/' . $slug)) { $plugin_data = get_plugin_data(WP_PLUGIN_DIR . '/' . $plugin); $status['plugin'] = $plugin; $status['pluginName'] = $plugin_data['Name']; if (current_user_can('activate_plugin', $plugin) && is_plugin_inactive($plugin)) { $result = activate_plugin($plugin); if (!is_wp_error($result)) { $installation_details['plugin'][$slug] = 'active'; } } else if (is_plugin_active($plugin)) { $installation_details['plugin'][$slug] = 'active'; } } else { $api = plugins_api( 'plugin_information', array( 'slug' => sanitize_key(wp_unslash($slug)), 'fields' => array( 'sections' => false, ), ) ); if (!is_wp_error($api)) { $status['pluginName'] = $api->name; $skin = new WP_Ajax_Upgrader_Skin(); $upgrader = new Plugin_Upgrader($skin); $result = $upgrader->install($api->download_link); if (!is_wp_error($result) && !is_wp_error($skin->result) && !is_null($result)) { $install_status = install_plugin_install_status($api); if (!is_wp_error($install_status)) { $installation_details['plugin'][$slug] = 'installed'; if (current_user_can('activate_plugin', $install_status['file']) && is_plugin_inactive($install_status['file'])) { $result = activate_plugin($install_status['file']); if (!is_wp_error($result)) { $installation_details['plugin'][$slug] = 'active'; } } } } } } } } if ( isset($installation_details['plugin']['mantrabrain-starter-sites']) && 'active' === $installation_details['plugin']['mantrabrain-starter-sites'] ) { $installation_details['redirect'] = admin_url('/themes.php?page=starter-sites&browse=all'); } $is_redirect = isset($_POST['redirect']) && $_POST['redirect'] == 'no' ? false : true; if (!$is_redirect) { unset ($installation_details['redirect']); } wp_send_json($installation_details); } function add_url_args($args = array()) { return add_query_arg($args, self::$_instance->url); } /** * Add admin notice when active theme. */ function admin_notice() { global $pagenow; if (is_admin() && ('themes.php' == $pagenow) && isset($_GET['activated'])) { ?>
Mantra Brain Starter Sites is free WordPress plugin from which you can import ready made site within few clicks.', 'agency-ecommerce'); ?>
'mantrabrain-starter-sites', 'active_filename' => 'mantrabrain-starter-sites/mantrabrain-starter-sites.php', ); $plugin_info = wp_parse_args( $plugin_info, array( 'name' => '', 'active_filename' => '', ) ); $status = is_dir(WP_PLUGIN_DIR . '/' . $plugin_slug); $button_class = 'install-now'; if ($plugin_info['active_filename']) { $active_file_name = $plugin_info['active_filename']; } else { $active_file_name = $plugin_slug . '/' . $plugin_slug . '.php'; } if (class_exists('Mantrabrain_Starter_Sites')) { $view_site_txt = esc_html__('View Site Library / Install Demo', 'agency-ecommerce'); $sites_url = add_query_arg( array( 'page' => 'starter-sites', ), admin_url('themes.php') ); } else { $view_site_txt = esc_html__('Go to Agency Ecommerce Options', 'agency-ecommerce'); $sites_url = add_query_arg( array( 'page' => 'agency-ecommerce-options', ), admin_url('admin.php') ); } if (!is_plugin_active($active_file_name)) { $button_txt = esc_html__('Install Importer Plugin', 'agency-ecommerce'); if (!$status) { $install_url = wp_nonce_url( add_query_arg( array( 'action' => 'install-plugin', 'plugin' => $plugin_slug, ), network_admin_url('update.php') ), 'install-plugin_' . $plugin_slug ); } else { $install_url = add_query_arg( array( 'action' => 'active', 'plugin' => ($active_file_name), 'plugin_status' => 'all', 'paged' => '1', '_wpnonce' => wp_create_nonce('activate-plugin_' . $active_file_name), ), network_admin_url('plugins.php') ); $button_class = 'activate-now button-primary'; $button_txt = esc_html__('Active Now', 'agency-ecommerce'); } $detail_link = add_query_arg( array( 'tab' => 'plugin-information', 'plugin' => $plugin_slug, 'TB_iframe' => 'true', 'width' => '772', 'height' => '349', ), network_admin_url('plugin-install.php') ); echo '