Файловый менеджер - Редактировать - /var/www/jonas-eriksen.dk/blog/wp-content/plugins/mailchimp-for-woocommerce/includes/api/assets/class-mailchimp-customer.php
Назад
<?php /** * Created by Vextras. * * Name: Ryan Hungate * Email: ryan@vextras.com * Date: 3/8/16 * Time: 2:16 PM */ class MailChimp_WooCommerce_Customer { protected $id = null; protected $email_address = null; protected $opt_in_status = null; protected $company = null; protected $first_name = null; protected $last_name = null; protected $orders_count = null; protected $total_spent = null; protected $address; protected $requires_double_optin = false; protected $original_subscriber_status = null; protected $wordpress_user = null; /** * @return array */ public function getValidation() { return array( 'id' => 'required', 'email_address' => 'required|email', 'opt_in_status' => 'required|boolean', 'company' => 'string', 'first_name' => 'string', 'last_name' => 'string', 'orders_count' => 'integer', 'total_spent' => 'integer', ); } /** * @return null */ public function getId() { return $this->id; } /** * @param null $id * @return MailChimp_WooCommerce_Customer */ public function setId($id) { $this->id = $id; return $this; } /** * @return null */ public function getEmailAddress() { return $this->email_address; } /** * @param null $email_address * @return MailChimp_WooCommerce_Customer */ public function setEmailAddress($email_address) { $this->email_address = $email_address; return $this; } /** * @return null */ public function getOptInStatus() { return $this->opt_in_status; } /** * @param null $opt_in_status * @return MailChimp_WooCommerce_Customer */ public function setOptInStatus($opt_in_status) { $this->opt_in_status = $opt_in_status; return $this; } /** * @return null */ public function getCompany() { return $this->company; } /** * @param null $company * @return MailChimp_WooCommerce_Customer */ public function setCompany($company) { $this->company = $company; return $this; } /** * @return null */ public function getFirstName() { return $this->first_name; } /** * @param null $first_name * @return MailChimp_WooCommerce_Customer */ public function setFirstName($first_name) { $this->first_name = $first_name; return $this; } /** * @return null */ public function getLastName() { return $this->last_name; } /** * @param null $last_name * @return MailChimp_WooCommerce_Customer */ public function setLastName($last_name) { $this->last_name = $last_name; return $this; } /** * @return null */ public function getOrdersCount() { return $this->orders_count; } /** * @param null $orders_count * @return MailChimp_WooCommerce_Customer */ public function setOrdersCount($orders_count) { $this->orders_count = $orders_count; return $this; } /** * @return null */ public function getTotalSpent() { return $this->total_spent; } /** * @param null $total_spent * @return MailChimp_WooCommerce_Customer */ public function setTotalSpent($total_spent) { $this->total_spent = $total_spent; return $this; } /** * @return MailChimp_WooCommerce_Address */ public function getAddress() { if (empty($this->address)) { $this->address = new MailChimp_WooCommerce_Address(); } return $this->address; } /** * @param MailChimp_WooCommerce_Address $address * @return MailChimp_WooCommerce_Customer */ public function setAddress(MailChimp_WooCommerce_Address $address) { $this->address = $address; return $this; } /** * @return bool */ public function requiresDoubleOptIn() { return $this->requires_double_optin; } /** * @param $bool * @return $this */ public function requireDoubleOptIn($bool) { $this->requires_double_optin = (bool) $bool; if ($this->requires_double_optin) { if (is_null($this->original_subscriber_status)) { $this->original_subscriber_status = $this->opt_in_status; } $this->opt_in_status = false; } return $this; } /** * @param $id * @return bool */ public function wasSubscribedOnOrder($id) { // we are saving the post meta for subscribers on each order... so if they have subscribed on checkout $subscriber_meta = get_post_meta($id, 'mailchimp_woocommerce_is_subscribed', true); $subscribed = $subscriber_meta === '' ? false : (bool) $subscriber_meta; return $this->original_subscriber_status = $subscribed; } /** * @return null|bool */ public function getOriginalSubscriberStatus() { return $this->original_subscriber_status; } /** * @return array */ public function getMergeFields() { return array( 'FNAME' => trim($this->getFirstName()), 'LNAME' => trim($this->getLastName()), ); } /** * @param $user * @return $this */ public function setWordpressUser($user) { if ($user instanceof \WP_User) { $this->wordpress_user = $user; } return $this; } /** * @return null|\WP_User */ public function getWordpressUser() { return $this->wordpress_user; } /** * @return array */ public function toArray() { $address = $this->getAddress()->toArray(); return mailchimp_array_remove_empty(array( 'id' => (string) $this->getId(), 'email_address' => (string) $this->getEmailAddress(), 'opt_in_status' => $this->getOptInStatus(), 'company' => (string) $this->getCompany(), 'first_name' => (string) $this->getFirstName(), 'last_name' => (string) $this->getLastName(), 'orders_count' => (int) $this->getOrdersCount(), 'total_spent' => floatval(number_format($this->getTotalSpent(), 2, '.', '')), 'address' => (empty($address) ? null : $address), )); } /** * @param array $data * @return MailChimp_WooCommerce_Customer */ public function fromArray(array $data) { $singles = array( 'id', 'email_address', 'opt_in_status', 'company', 'first_name', 'last_name', 'orders_count', 'total_spent', ); foreach ($singles as $key) { if (array_key_exists($key, $data)) { $this->$key = $data[$key]; } } if (array_key_exists('address', $data) && is_array($data['address'])) { $address = new MailChimp_WooCommerce_Address(); $this->address = $address->fromArray($data['address']); } return $this; } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Генерация страницы: 0.02 |
proxy
|
phpinfo
|
Настройка