Skip to content

Instantly share code, notes, and snippets.

@nikitasinelnikov
Created January 30, 2025 10:22
Show Gist options
  • Save nikitasinelnikov/3f2616d9441e0930730bee38ecab9519 to your computer and use it in GitHub Desktop.
Save nikitasinelnikov/3f2616d9441e0930730bee38ecab9519 to your computer and use it in GitHub Desktop.
UM v2: Debug wp_remote_post() data.
function licenses_save() {
if ( empty( $_POST['um_options'] ) || empty( $_POST['licenses_settings'] ) ) {
return;
}
foreach ( $_POST['um_options'] as $key => $value ) {
$key = sanitize_key( $key );
$value = sanitize_text_field( $value );
$edd_action = '';
$license_key = '';
if ( empty( $this->previous_licenses[ $key ] ) && ! empty( $value ) || ( ! empty( $this->previous_licenses[ $key ] ) && ! empty( $value ) && $this->previous_licenses[ $key ] != $value ) ) {
$edd_action = 'activate_license';
$license_key = $value;
} elseif ( ! empty( $this->previous_licenses[ $key ] ) && empty( $value ) ) {
$edd_action = 'deactivate_license';
$license_key = $this->previous_licenses[ $key ];
} elseif ( ! empty( $this->previous_licenses[ $key ] ) && ! empty( $value ) ) {
$edd_action = 'check_license';
$license_key = $value;
}
if ( empty( $edd_action ) ) {
continue;
}
$item_name = false;
$version = false;
$author = false;
foreach ( $this->settings_structure['licenses']['fields'] as $field_data ) {
if ( $field_data['id'] == $key ) {
$item_name = ! empty( $field_data['item_name'] ) ? $field_data['item_name'] : false;
$version = ! empty( $field_data['version'] ) ? $field_data['version'] : false;
$author = ! empty( $field_data['author'] ) ? $field_data['author'] : false;
}
}
$api_params = array(
'edd_action' => $edd_action,
'license' => $license_key,
'item_name' => $item_name,
'version' => $version,
'author' => $author,
'url' => home_url(),
);
$request = wp_remote_post(
UM()->store_url,
array(
'timeout' => UM()->request_timeout,
'sslverify' => false,
'body' => $api_params,
)
);
if ( ! is_wp_error( $request ) ) {
var_dump( 'Valid no SSL' );
var_dump( 'Request params:' );
var_dump( $api_params );
var_dump( 'Response:' );
var_dump( $request );
exit;
$request = json_decode( wp_remote_retrieve_body( $request ) );
} else {
$request = wp_remote_post(
UM()->store_url,
array(
'timeout' => UM()->request_timeout,
'sslverify' => true,
'body' => $api_params,
)
);
var_dump( 'Maybe valid SSL' );
var_dump( 'Request params:' );
var_dump( $api_params );
var_dump( 'Response:' );
var_dump( $request );
exit;
if ( ! is_wp_error( $request ) ) {
$request = json_decode( wp_remote_retrieve_body( $request ) );
}
}
$request = ( $request ) ? maybe_unserialize( $request ) : false;
if ( in_array( $edd_action, array( 'activate_license', 'check_license' ), true ) ) {
update_option( "{$key}_edd_answer", $request );
} else {
delete_option( "{$key}_edd_answer" );
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment