/** * Get VaultPress site data including, among other things, the date of the last backup if it was completed. * * @since 4.3.0 * * @return mixed|WP_Error VaultPress site data. Otherwise, a WP_Error instance with the corresponding error. */ public function get_vaultpress_data() { if (!class_exists('VaultPress')) { return new WP_Error('not_active', esc_html__('The requested Jetpack module is not active.', 'jetpack'), array('status' => 404)); } $vaultpress = new VaultPress(); if (!$vaultpress->is_registered()) { return rest_ensure_response(array('code' => 'not_registered', 'message' => esc_html__('You need to register for VaultPress.', 'jetpack'))); } $data = json_decode(base64_decode($vaultpress->contact_service('plugin_data'))); if (is_wp_error($data)) { return $data; } else { if (!$data->backups->last_backup) { return rest_ensure_response(array('code' => 'success', 'message' => esc_html__('VaultPress is active and will back up your site soon.', 'jetpack'), 'data' => $data)); } else { return rest_ensure_response(array('code' => 'success', 'message' => esc_html(sprintf(__('Your site was successfully backed-up %s ago.', 'jetpack'), human_time_diff($data->backups->last_backup, current_time('timestamp')))), 'data' => $data)); } } }