array('User-Agent' => 'Analytics Spam Blocker;' . get_option('siteurl')), 'sslverify' => false); $instance = ($request == 'register') ? 'reg' : $subscription['instance']; $auth = base64_encode($instance.':'.get_option('siteurl')); if($request == 'register') { $do = '&do=reg'; } else if($request == 'unregister') { $do = '&do=unreg'; } else if($request == 'check') { $do = '&do=chk'; } else if($request == 'report') { $report = base64_encode(serialize($report)); $do = '&do=rep&report='.$report; } else { //Everything else $do = ''; } $raw_response = wp_remote_get('https://ajdg.solutions/api/spam-blocker/2/?auth='.$auth.$do, $args); if($uninstall) return; if(!is_wp_error($raw_response)) { $response = json_decode($raw_response['body'], true); $result['status'] = $response['status']; if($result['status'] == "reg") { // Registration $result['instance'] = (isset($response['instance'])) ? $response['instance'] : ''; $result['registered'] = $now; update_option('asb_subscription', $result); update_option('asb_error', false); asb_schedule_updates(); unset($response, $result); asb_return('analytics-spam-blocker', 200); exit; } else if($result['status'] == "chk") { // Fetched new domains $current = get_option('asb_domains'); $result['updated'] = (isset($response['updated'])) ? $response['updated'] : 0; $result['domains'] = (isset($response['domains'])) ? $response['domains'] : $current['domains']; $result['stats'] = (isset($response['stats'])) ? $response['stats'] : array('active_subscribers' => 'n/a', 'active_sites' => 'n/a', 'reported_sites' => 'n/a', 'reports_submitted' => 'n/a', 'reports_user' => 'n/a'); // Maybe update htaccess if($result['updated'] > $current['updated']) asb_edit_htaccess($result['domains']); // Get stats $stats = $result['stats']; unset($result['stats']); update_option('asb_domains', $result); update_option('asb_stats', $stats); update_option('asb_error', false); unset($response, $current, $result, $stats); } else if($result['status'] == "rep") { // Reported domain update_option('asb_error', false); unset($response, $reports); asb_return('analytics-spam-blocker', 201); exit; } else { // Everything else $result['error'] = $response['error'].' ('.date_i18n(get_option('date_format')." H:i", $now).')'; update_option('asb_error', $result); unset($response, $result); } } else { $result['status'] = $raw_response->get_error_code(); $result['error'] = $raw_response->get_error_message().' ('.date_i18n(get_option('date_format')." H:i", $now).')'; update_option('asb_error', $result); } } ?>