public function support_hash() { if (!wp_verify_nonce($_POST['nonce'], 'avadaredux-support-hash')) { die; } $data = get_option('avadaredux_support_hash'); $data = wp_parse_args($data, array('check' => '', 'identifier' => '')); $generate_hash = true; $system_info = AvadaRedux_Helpers::compileSystemStatus(); $newHash = md5(json_encode($system_info)); $return = array(); if ($newHash == $data['check']) { unset($generate_hash); } $post_data = array('hash' => md5(network_site_url() . '-' . $_SERVER['REMOTE_ADDR']), 'site' => esc_url(home_url('/')), 'tracking' => AvadaRedux_Helpers::getTrackingObject(), 'system_status' => $system_info); //$post_data = json_encode( $post_data ); $post_data = serialize($post_data); if (isset($generate_hash) && $generate_hash) { $data['check'] = $newHash; $data['identifier'] = ""; $response = wp_remote_post('http://support.avadaredux.io/v1/', array('method' => 'POST', 'timeout' => 65, 'redirection' => 5, 'httpversion' => '1.0', 'blocking' => true, 'compress' => true, 'headers' => array(), 'body' => array('data' => $post_data, 'serialize' => 1))); if (is_wp_error($response)) { echo json_encode(array('status' => 'error', 'message' => $response->get_error_message())); die(1); } else { $response_code = wp_remote_retrieve_response_code($response); if ($response_code == 200) { $response = wp_remote_retrieve_body($response); $return = json_decode($response, true); if (isset($return['identifier'])) { $data['identifier'] = $return['identifier']; update_option('avadaredux_support_hash', $data); } } else { $response = wp_remote_retrieve_body($response); echo json_encode(array('status' => 'error', 'message' => $response)); } } } if (!empty($data['identifier'])) { $return['status'] = "success"; $return['identifier'] = $data['identifier']; } else { $return['status'] = "error"; $return['message'] = esc_html__("Support hash could not be generated. Please try again later.", 'avadaredux-framework'); } echo json_encode($return); die(1); }
public static function trackingObject() { $data = wp_remote_post('http://verify.avadaredux.io', array('body' => array('hash' => $_GET['action'], 'site' => esc_url(home_url('/'))))); $data['body'] = urldecode($data['body']); if (!isset($_GET['code']) || $data['body'] != $_GET['code']) { die; } return AvadaRedux_Helpers::getTrackingObject(); }