177 lines
2.7 KiB
PHP
177 lines
2.7 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
|
|
) );
|
|
}
|
|
|
|
/**
|
|
* Backwards compatibility for the `amount` property, which is now the `total`.
|
|
*
|
|
* @since 3.1.0.4
|
|
*/
|
|
public function get_amount() {
|
|
return $this->total;
|
|
}
|
|
}
|