Rest_Store_Settings::get_response( $request )
Source
File: includes/libs/rest-api/endpoints/plugin/rest-store-settings.class.php
public function get_response( \WP_REST_Request $request ) {
$options = $this->process_options(
Plugin::instance()->get_options_obj()->get_defaults(),
Plugin::instance()->get_options_obj()->get_options(),
$request->get_params()
);
// Update the options
Plugin::instance()->get_options_obj()->update_options( $options );
$player_options = $this->process_options(
Plugin::instance()->get_embed_options_obj()->get_defaults(),
Plugin::instance()->get_embed_options_obj()->get_options(),
$request->get_params()
);
// Update the player embed options
Plugin::instance()->get_embed_options_obj()->update_options( $player_options );
// Refresh the options.
$options = Plugin::instance()->get_options_obj()->get_options(true);
$settings_page_url = sprintf(
'edit.php?post_type=%s&page=%s',
Plugin::instance()->get_cpt()->get_post_type(),
'cvm_settings'
);
$oauth = new Vimeo_Oauth(
$options['vimeo_consumer_key'],
$options['vimeo_secret_key'],
$options['oauth_token'],
admin_url( $settings_page_url )
);
$success = false;
$message = '';
if( !empty( $options['vimeo_consumer_key'] ) && !empty( $options['vimeo_secret_key'] ) ){
if( empty( $options['oauth_token'] ) || ( isset( $options['oauth_secret'] ) && empty( $options['oauth_secret'] ) ) ){
$token = $oauth->get_unauth_token();
if( !is_wp_error( $token ) ){
$options['oauth_token'] = $token;
$success = true;
$message = __( 'Your Vimeo keys are successfully installed. You can now query public videos on Vimeo and import them as WordPress posts.', 'codeflavors-vimeo-video-post-lite' );
}else{
$options['vimeo_consumer_key'] = '';
$options['vimeo_secret_key'] = '';
$options['oauth_token'] = '';
$message = $token->get_error_message();
}
Plugin::instance()->get_options_obj()->update_options( $options );
}
}else{
$message = __( 'In order to be able to query Vimeo you must enter your Vimeo OAuth client and secret key.', 'codeflavors-vimeo-video-post-lite' );
}
wp_send_json([
'success' => $success,
'message' => $message
]);
}
