<?php
add_action('wp_ajax_blocksy_dismissed_notice_handler', function () {
update_option('dismissed-blocksy_plugin_notice', true);
wp_die();
});
add_action('wp_ajax_blocksy_notice_button_click', function () {
if (
! current_user_can('activate_plugins')
||
! current_user_can('install_plugins')
||
! isset($_REQUEST['nonce'])
||
! wp_verify_nonce($_REQUEST['nonce'], 'ct-ajax-nonce')
) {
wp_send_json_error();
}
remove_action(
'upgrader_process_complete',
['Language_Pack_Upgrader', 'async_upgrade'],
20
);
$manager = new Blocksy_Plugin_Manager();
$status_descriptor = $manager->get_companion_status();
if ($status_descriptor['status'] === 'active') {
wp_send_json_success([
'status' => 'active',
'pluginUrl' => admin_url('admin.php?page=ct-dashboard')
]);
}
if ($status_descriptor['status'] === 'uninstalled') {
$manager->download_and_install($status_descriptor['slug']);
$manager->plugin_activation($status_descriptor['slug']);
wp_send_json_success([
'status' => 'active',
'pluginUrl' => admin_url('admin.php?page=ct-dashboard')
]);
}
if ($status_descriptor['status'] === 'installed') {
$manager->plugin_activation($status_descriptor['slug']);
wp_send_json_success([
'status' => 'active',
'pluginUrl' => admin_url('admin.php?page=ct-dashboard')
]);
}
wp_die();
});
|