function jetpack_jitm_ajax_callback()
{
// Check for nonce
if (!isset($_REQUEST['jitmNonce']) || !wp_verify_nonce($_REQUEST['jitmNonce'], 'jetpack-jitm-nonce')) {
wp_die('Module activation failed due to lack of appropriate permissions');
}
if (isset($_REQUEST['jitmActionToTake']) && 'activate' == $_REQUEST['jitmActionToTake']) {
$module_slug = $_REQUEST['jitmModule'];
Jetpack::log('activate', $module_slug);
Jetpack::activate_module($module_slug, false, false);
Jetpack::state('message', 'no_message');
//A Jetpack module is being activated through a JITM, track it
$this->stat('jitm', $module_slug . '-activated-' . JETPACK__VERSION);
$this->do_stats('server_side');
wp_send_json_success();
}
if (isset($_REQUEST['jitmActionToTake']) && 'dismiss' == $_REQUEST['jitmActionToTake']) {
// get the hide_jitm options array
$jetpack_hide_jitm = Jetpack_Options::get_option('hide_jitm');
$module_slug = $_REQUEST['jitmModule'];
if (!$jetpack_hide_jitm) {
$jetpack_hide_jitm = array($module_slug => 'hide');
} else {
$jetpack_hide_jitm[$module_slug] = 'hide';
}
Jetpack_Options::update_option('hide_jitm', $jetpack_hide_jitm);
//jitm is being dismissed forever, track it
$this->stat('jitm', $module_slug . '-dismissed-' . JETPACK__VERSION);
$this->do_stats('server_side');
wp_send_json_success();
}
if (isset($_REQUEST['jitmActionToTake']) && 'launch' == $_REQUEST['jitmActionToTake']) {
$module_slug = $_REQUEST['jitmModule'];
// User went to WordPress.com, track this
$this->stat('jitm', $module_slug . '-wordpress-tools-' . JETPACK__VERSION);
$this->do_stats('server_side');
wp_send_json_success();
}
if (isset($_REQUEST['jitmActionToTake']) && 'viewed' == $_REQUEST['jitmActionToTake']) {
$track = $_REQUEST['jitmModule'];
// User is viewing JITM, track it.
$this->stat('jitm', $track . '-viewed-' . JETPACK__VERSION);
$this->do_stats('server_side');
wp_send_json_success();
}
}