Ejemplo n.º 1
0
 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();
 }