File "class-mailchimp-line-item.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/.wp-cli/wp-content/plugins/mailchimp-for-woocommerce_bk/includes/api/assets/class-mailchimp-line-item.php
File size: 3.71 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Created by Vextras.
*
* Name: Ryan Hungate
* Email: ryan@vextras.com
* Date: 3/8/16
* Time: 2:16 PM
*/
class MailChimp_WooCommerce_LineItem {
protected $id;
protected $product_id;
protected $product_variant_id;
protected $quantity;
protected $price;
protected $fallback_title = null;
protected $fallback_sku = null;
/**
* @return array
*/
public function getValidation() {
return array(
'id' => 'required|string',
'product_id' => 'required|string',
'product_variant_id' => 'required|string',
'quantity' => 'required|integer',
'price' => 'required|numeric',
);
}
/**
* @param $id
* @param $product_id
* @param $variant_id
* @param $quantity
* @param $price
* @return MailChimp_WooCommerce_LineItem
*/
public static function make( $id, $product_id, $variant_id, $quantity, $price ) {
$item = new MailChimp_WooCommerce_LineItem();
$item->id = $id;
$item->product_id = $product_id;
$item->product_variant_id = $variant_id;
$item->quantity = $quantity;
$item->price = $price;
return $item;
}
/**
* @return mixed
*/
public function getId() {
return $this->id;
}
/**
* @param mixed $id
* @return MailChimp_WooCommerce_LineItem
*/
public function setId( $id ) {
$this->id = $id;
return $this;
}
/**
* @return mixed
*/
public function getProductId() {
return $this->product_id;
}
/**
* @param mixed $product_id
* @return MailChimp_WooCommerce_LineItem
*/
public function setProductId( $product_id ) {
$this->product_id = $product_id;
return $this;
}
/**
* @return mixed
*/
public function getProductVariantId() {
return $this->product_variant_id;
}
/**
* @param mixed $product_variant_id
* @return MailChimp_WooCommerce_LineItem
*/
public function setProductVariantId( $product_variant_id ) {
$this->product_variant_id = $product_variant_id;
return $this;
}
/**
* @return mixed
*/
public function getQuantity() {
return $this->quantity;
}
/**
* @param mixed $quantity
* @return MailChimp_WooCommerce_LineItem
*/
public function setQuantity( $quantity ) {
$this->quantity = $quantity;
return $this;
}
/**
* @return mixed
*/
public function getPrice() {
return $this->price;
}
/**
* @param mixed $price
* @return MailChimp_WooCommerce_LineItem
*/
public function setPrice( $price ) {
$this->price = $price;
return $this;
}
/**
* @param $fallback
* @return $this
*/
public function setFallbackTitle( $fallback ) {
$this->fallback_title = $fallback;
return $this;
}
/**
* @return null
*/
public function getFallbackTitle() {
return $this->fallback_title;
}
/**
* @param $fallback
* @return $this
*/
public function setFallbackSku( $fallback ) {
$this->fallback_sku = $fallback;
return $this;
}
/**
* @return null
*/
public function getFallbackSku() {
return $this->fallback_sku;
}
/**
* @return array
*/
public function toArray() {
return mailchimp_array_remove_empty(
array(
'id' => (string) $this->id,
'product_id' => (string) $this->product_id,
'product_variant_id' => (string) $this->product_variant_id,
'quantity' => (int) $this->quantity,
'price' => (string) $this->price,
)
);
}
/**
* @param array $data
* @return MailChimp_WooCommerce_LineItem
*/
public function fromArray( array $data ) {
$singles = array(
'id',
'product_id',
'product_variant_id',
'quantity',
'price',
);
foreach ( $singles as $key ) {
if ( array_key_exists( $key, $data ) ) {
$this->$key = $data[ $key ];
}
}
return $this;
}
}