get( 'Name' ) );
// Check if it's been dismissed...
if ( ! get_option('dismissed-get_started', FALSE ) ) {
// Added the class "notice-get-started-class" so jQuery pick it up and pass via AJAX,
// and added "data-notice" attribute in order to track multiple / different notices
// multiple dismissible notice states ?>
',
'' );
?>
',
'
',
''
);
?>
sanitize_key( wp_unslash( 'crafthemes-demo-import' ) ),
'fields' => array(
'sections' => false,
),
) );
$skin = new WP_Ajax_Upgrader_Skin();
$upgrader = new Plugin_Upgrader( $skin );
$result = $upgrader->install( $api->download_link );
}
// Activate plugin.
if ( current_user_can( 'activate_plugin' ) ) {
$result = activate_plugin( 'crafthemes-demo-import/crafthemes-demo-import.php' );
}
}
/*******************************************************************************
* Custom Plugin Installer
*******************************************************************************/
add_action( 'wp_ajax_install_act_plugin_custom', 'periar_install_plugin_custom' );
function periar_install_plugin_custom() {
/**
* Install Plugin.
*/
include_once ABSPATH . '/wp-admin/includes/file.php';
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
include_once ABSPATH . 'wp-admin/includes/plugin-install.php';
$plugin_name = '';
if ( isset( $_POST['plugin'] ) ) {
$plugin_name = sanitize_text_field( wp_unslash( $_POST['plugin'] ) );
}
$api = plugins_api( 'plugin_information', array(
'slug' => sanitize_key( wp_unslash( $plugin_name ) ),
'fields' => array(
'sections' => false,
),
) );
// Install plugin if not installed
if ( ! file_exists( WP_PLUGIN_DIR . '/' . $plugin_name ) ) {
if ( strpos( $plugin_name , 'premium' ) ) {
$premium_plugin_url = 'https://www.crafthemes.com/xml/eae/update/' . $plugin_name . '.zip';
$upgrader = new Plugin_Upgrader();
$result = $upgrader->install( $premium_plugin_url );
} else {
$skin = new WP_Ajax_Upgrader_Skin();
$upgrader = new Plugin_Upgrader( $skin );
$result = $upgrader->install( $api->download_link );
}
}
// Activate plugin
if ( strpos( $plugin_name , 'premium' ) ) {
if ( current_user_can( 'activate_plugin' ) && is_plugin_inactive( $plugin_name . '/' . $plugin_name . '.php' ) ) {
$eae_free_slug = str_replace( '-premium', '', $plugin_name );
activate_plugin( $plugin_name . '/' . $plugin_name . '.php' );
}
} else {
$install_status = install_plugin_install_status( $api );
// If user can activate plugin and if the plugin is not active
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 ) ) {
$status['errorCode'] = $result->get_error_code();
$status['errorMessage'] = $result->get_error_message();
wp_send_json_error( $status );
}
}
}
}
/*******************************************************************************
* Enqueue script
*******************************************************************************/
if ( ! function_exists( 'periar_getting_started_admin_scripts' ) ) :
function periar_getting_started_admin_scripts() {
wp_enqueue_media();
wp_enqueue_script( 'periar-jquery-getting-started-script', get_template_directory_uri() . '/inc/get-started-notice/jquery-admin-ajax-call.js', array( 'jquery' ), '', true );
wp_localize_script( 'periar-jquery-getting-started-script', 'ct_ajax_object',
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) )
);
}
endif;
add_action( 'admin_enqueue_scripts', 'periar_getting_started_admin_scripts' );
add_action( 'customize_controls_enqueue_scripts', 'periar_getting_started_admin_scripts' );