function process_group_request()
 {
     require_once WPPR_PLUGIN_DIR . '/models/group-model.php';
     $model = new Group_Model();
     check_ajax_referer('pr-home-actions', 'security');
     if (isset($_POST['action']) && !empty($_POST['action']) && (isset($_POST['user_id']) && !empty($_POST['user_id'])) && (isset($_POST['group_id']) && !empty($_POST['group_id'])) && (isset($_POST['security']) && !empty($_POST['security'])) && (isset($_POST['status']) && !empty($_POST['status']))) {
         $model->member_id = intval($_POST['user_id']);
         //requesting member
         $model->user_id = get_current_user_id();
         $model->group_id = intval($_POST['group_id']);
         $status_id = intval($_POST['status']);
         if (PR_Membership::is_valid_user($model->member_id) && $status_id) {
             if ($status_id == 1) {
                 //Approve
                 $result = $model->approve_group_join();
             } else {
                 $result = $model->disapprove_group_join();
             }
             if ($result) {
                 $result_code = 0;
                 $result_msg = 'success';
             } else {
                 $result_code = 1;
                 $result_msg = 'error';
             }
         }
     } else {
         $result_code = 2;
         $result_msg = 'invalid connection request';
     }
     wp_send_json(array('result_code' => $result_code, 'result_msg' => $result_msg, 'result_id' => $model->member_id));
     wp_die();
 }
 function connect_request()
 {
     $total_connections = 0;
     $privacy = 0;
     if (is_user_logged_in()) {
         if (isset($_POST['action']) && !empty($_POST['action']) && (isset($_POST['member_id']) && !empty($_POST['member_id'])) && (isset($_POST['security']) && !empty($_POST['security']))) {
             check_ajax_referer('pr-connect-request', 'security');
             $this->member_id = intval($_POST['member_id']);
             //whom the request is for
             $this->user_id = get_current_user_id();
             if (!$this->member_id) {
                 $result_code = 1;
                 $result_msg = 'invalid user or parameters';
             } else {
                 //validate member if valid
                 if (PR_Membership::is_valid_user($this->member_id)) {
                     require_once WPPR_PLUGIN_DIR . '/models/profile-model.php';
                     $model = new Profile_Model();
                     $privacy = $model->check_connection_privacy();
                     $model->user_id = $this->user_id;
                     $model->member_id = $this->member_id;
                     if ($privacy == 1) {
                         $result = $model->add_request();
                     } else {
                         $result = $model->process_connection();
                     }
                     $total_connections = get_user_meta($this->member_id, 'total_connections', true);
                     if (!is_wp_error($result)) {
                         $result_code = 0;
                         $result_msg = 'success';
                     }
                 } else {
                     $result_code = 2;
                     $result_msg = 'Oops, the user is invalid';
                 }
             }
         } else {
             $result_code = 3;
             $result_msg = 'The request is invalid';
         }
     } else {
         $result_code = 4;
         $result_msg = 'You are not logged in.';
     }
     wp_send_json(array('result_code' => $result_code, 'result_msg' => $result_msg, 'total_connections' => $total_connections, 'privacy_setting' => $privacy));
     wp_die();
 }