168 lines
2.6 KiB
PHP
168 lines
2.6 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* Order Adjustment Object.
|
||
|
*
|
||
|
* @package EDD
|
||
|
* @subpackage Orders
|
||
|
* @copyright Copyright (c) 2018, Easy Digital Downloads, LLC
|
||
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
|
||
|
* @since 3.0
|
||
|
*/
|
||
|
namespace EDD\Orders;
|
||
|
|
||
|
use EDD\Refundable_Item;
|
||
|
|
||
|
// Exit if accessed directly
|
||
|
defined( 'ABSPATH' ) || exit;
|
||
|
|
||
|
/**
|
||
|
* Order_Adjustment Class.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
*
|
||
|
* @property int $id
|
||
|
* @property int $parent
|
||
|
* @property int $object_id
|
||
|
* @property string $object_type
|
||
|
* @property int|null $type_id
|
||
|
* @property string $type
|
||
|
* @property string $description
|
||
|
* @property float $subtotal
|
||
|
* @property float $tax
|
||
|
* @property float $total
|
||
|
* @property string $date_completed
|
||
|
* @property string $date_modified
|
||
|
*/
|
||
|
class Order_Adjustment extends \EDD\Database\Rows\Order_Adjustment {
|
||
|
|
||
|
use Refundable_Item;
|
||
|
|
||
|
/**
|
||
|
* Order Discount ID.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var int
|
||
|
*/
|
||
|
protected $id;
|
||
|
|
||
|
/**
|
||
|
* Parent ID. This is only used for order adjustments attached to refunds. The ID references the
|
||
|
* original adjustment that was refunded.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var int
|
||
|
*/
|
||
|
protected $parent;
|
||
|
|
||
|
/**
|
||
|
* Object ID.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var int
|
||
|
*/
|
||
|
protected $object_id;
|
||
|
|
||
|
/**
|
||
|
* Object type.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $object_type;
|
||
|
|
||
|
/**
|
||
|
* Type ID.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var int|null
|
||
|
*/
|
||
|
protected $type_id;
|
||
|
|
||
|
/**
|
||
|
* Type.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $type;
|
||
|
|
||
|
/**
|
||
|
* Description.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $description;
|
||
|
|
||
|
/**
|
||
|
* Subtotal.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var float
|
||
|
*/
|
||
|
protected $subtotal;
|
||
|
|
||
|
/**
|
||
|
* Tax.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var float
|
||
|
*/
|
||
|
protected $tax;
|
||
|
|
||
|
/**
|
||
|
* Total.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var float
|
||
|
*/
|
||
|
protected $total;
|
||
|
|
||
|
/**
|
||
|
* Date created.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $date_created;
|
||
|
|
||
|
/**
|
||
|
* Date modified.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
* @var string
|
||
|
*/
|
||
|
protected $date_modified;
|
||
|
|
||
|
/**
|
||
|
* Magic __toString method.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
*/
|
||
|
public function __toString() {
|
||
|
return $this->description;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieves order adjustment records that were refunded from this original adjustment.
|
||
|
*
|
||
|
* @since 3.0
|
||
|
*
|
||
|
* @return Order_Adjustment[]|false
|
||
|
*/
|
||
|
public function get_refunded_items() {
|
||
|
if ( null !== $this->refunded_items ) {
|
||
|
return $this->refunded_items;
|
||
|
}
|
||
|
|
||
|
// Only fees and credits are supported.
|
||
|
if ( ! in_array( $this->type, array( 'fee', 'credit' ) ) ) {
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
return edd_get_order_adjustments( array(
|
||
|
'parent' => $this->id
|
||
|
) );
|
||
|
}
|
||
|
}
|