File "class-mailchimp-promo-code.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/.wp-cli/wp-content/plugins/mailchimp-for-woocommerce_bk/includes/api/assets/class-mailchimp-promo-code.php
File size: 3.95 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Created by Vextras.
*
* Name: Ryan Hungate
* Email: ryan@vextras.com
* Date: 6/13/17
* Time: 1:19 PM
*/
class MailChimp_WooCommerce_PromoCode {
/**
* @var string
* @title Promo Rule Foreign ID
* @description A unique identifier for the promo code
*/
protected $id;
/**
* @var string
* @title Code
* @required
* @description The discount code
*/
protected $code;
/**
* @var string
* @title Promo Redemption Url
* @required
* @description The url that should be used in the promotion campaign. Eg. A url that applies promo code directly at checkout or a url that points to sale page. Use store url if promotion url is not available.
*/
protected $redemption_url;
/**
* @var string
* @title Description
* @default null
* @description Number of times promo code has been used.
*/
protected $usage_count;
/**
* @var boolean
* @title Enabled
* @default true
* @description Whether the promo code is currently enabled. ***
*/
protected $enabled;
/**
* @var DateTime
* @title Start Time
* @default null
* @description The date and time when the promotion starts in ISO 8601 format
*/
protected $created_at_foreign;
/**
* @var DateTime
* @title Start Time
* @default null
* @description The date and time when the promotion starts in ISO 8601 format
*/
protected $updated_at_foreign;
/**
* @var MailChimp_WooCommerce_PromoRule|null
*/
protected $promo_rule;
/**
* @return array
*/
public function getValidation() {
return array(
'id' => 'required',
'code' => 'required',
'redemption_url' => 'required',
'usage_count' => 'integer',
'created_at_foreign' => 'date',
'updated_at_foreign' => 'date',
);
}
/**
* @param MailChimp_WooCommerce_PromoRule $promo
* @return MailChimp_WooCommerce_PromoCode
*/
public function attachPromoRule( MailChimp_WooCommerce_PromoRule $promo ) {
$this->promo_rule = $promo;
return $this;
}
/**
* @return MailChimp_WooCommerce_PromoRule|null
*/
public function getAttachedPromoRule() {
return $this->promo_rule;
}
/**
* @return string
*/
public function getId() {
return $this->id;
}
/**
* @param null $id
* @return MailChimp_WooCommerce_PromoCode
*/
public function setId( $id ) {
$this->id = $id;
return $this;
}
/**
* @return string
*/
public function getCode() {
return $this->code;
}
/**
* @param $code
*
* @return $this
*/
public function setCode( $code ) {
$this->code = $code;
return $this;
}
/**
* @return string
*/
public function getRedemptionURL() {
return $this->redemption_url;
}
/**
* @param $url
*
* @return $this
*/
public function setRedemptionURL( $url ) {
$this->redemption_url = $url;
return $this;
}
public function getUsageCount() {
return $this->usage_count;
}
/**
* @param $count
*
* @return $this
*/
public function setUsageCount( $count ) {
$this->usage_count = $count;
return $this;
}
/**
* @param $enabled
*
* @return $this
*/
public function setEnabled( $enabled ) {
$this->enabled = (bool) $enabled;
return $this;
}
/**
* @return bool
*/
public function isEnabled() {
return (bool) $this->enabled;
}
/**
* @return array
*/
public function toArray() {
return mailchimp_array_remove_empty(
array(
'id' => (string) $this->getId(),
'code' => (string) $this->getCode(),
'redemption_url' => (string) $this->getRedemptionURL(),
'usage_count' => $this->getUsageCount(),
'enabled' => $this->isEnabled(),
)
);
}
/**
* @param array $data
*
* @return $this
*/
public function fromArray( array $data ) {
$singles = array(
'id',
'code',
'usage_count',
'enabled',
'redemption_url',
'created_at_foreign',
'updated_at_foreign',
);
foreach ( $singles as $key ) {
if ( array_key_exists( $key, $data ) ) {
$this->$key = $data[ $key ];
}
}
return $this;
}
}