181 lines
3.6 KiB
PHP
181 lines
3.6 KiB
PHP
<?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;
|
|
|
|
/**
|
|
* @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;
|
|
}
|
|
|
|
/**
|
|
* @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;
|
|
}
|
|
}
|