Files
old-experiments/backend/wordpress/wp-content/plugins/woocommerce-services/classes/class-wc-rest-connect-shipping-label-preview-controller.php
2018-06-29 14:40:28 +02:00

41 lines
1.1 KiB
PHP
Executable File

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( class_exists( 'WC_REST_Connect_Shipping_Label_Preview_Controller' ) ) {
return;
}
class WC_REST_Connect_Shipping_Label_Preview_Controller extends WC_REST_Connect_Base_Controller {
protected $rest_base = 'connect/label/preview';
public function get( $request ) {
$raw_params = $request->get_params();
$params = array();
$params[ 'paper_size' ] = $raw_params[ 'paper_size' ];
$this->settings_store->set_preferred_paper_size( $params[ 'paper_size' ] );
$params[ 'carrier' ] = 'usps';
$params[ 'labels' ] = array();
$captions = empty( $raw_params[ 'caption_csv' ] ) ? array() : explode( ',', $raw_params[ 'caption_csv' ] );
foreach ( $captions as $caption ) {
$params[ 'labels' ][] = array( 'caption' => urldecode( $caption ) );
}
$raw_response = $this->api_client->get_labels_preview_pdf( $params );
if ( is_wp_error( $raw_response ) ) {
$this->logger->log( $raw_response, __CLASS__ );
return $raw_response;
}
header( 'content-type: ' . $raw_response[ 'headers' ][ 'content-type' ] );
echo $raw_response[ 'body' ];
die();
}
}