53 lines
1.5 KiB
PHP
53 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* Additional services.
|
|
*
|
|
* @package PaczkomatyInpost
|
|
*/
|
|
|
|
/**
|
|
* Handles additional services functionality on shipment.
|
|
*/
|
|
class WPDesk_Paczkomaty_Additional_Service extends WPDesk_Paczkomaty_Abstract_Shipment_Field_Checkbox {
|
|
|
|
/**
|
|
* Additional service.
|
|
*
|
|
* @var string
|
|
*/
|
|
private $additional_service;
|
|
|
|
/**
|
|
* WPDesk_Paczkomaty_Notification constructor.
|
|
*
|
|
* @param string $field_name .
|
|
* @param string $meta_name .
|
|
* @param WPDesk_Flexible_Shipping_Shipment_Paczkomaty $shipment .
|
|
* @param string $additional_service .
|
|
*/
|
|
public function __construct( $field_name, $meta_name, $shipment, $additional_service ) {
|
|
parent::__construct( $field_name, $meta_name, $shipment );
|
|
$this->additional_service = $additional_service;
|
|
}
|
|
|
|
/**
|
|
* .
|
|
*
|
|
* @param stdClass $shipment_data .
|
|
*
|
|
* @return stdClass
|
|
* @throws WPDesk_Paczkomaty_ShipX_Exception .
|
|
*/
|
|
public function modify_shipment_data( $shipment_data ) {
|
|
if ( WPDesk_Flexible_Shipping_Shipment_Paczkomaty::SERVICE_KURIER === $this->shipment->get_inpost_service() ) {
|
|
if ( intval( $this->shipment->get_meta( $this->meta_name, '0' ) ) === 1 ) {
|
|
if ( ! isset( $shipment_data->additional_services ) ) {
|
|
$shipment_data->additional_services = array();
|
|
}
|
|
$shipment_data->additional_services[] = $this->additional_service;
|
|
}
|
|
}
|
|
return $shipment_data;
|
|
}
|
|
|
|
} |