| Server IP : 213.186.33.4 / Your IP : 216.73.216.146 Web Server : Apache System : Linux webm005.cluster103.gra.hosting.ovh.net 6.18.39-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Tue Jul 21 12:03:15 CEST 2026 x86_64 User : karinebmkh ( 644538) PHP Version : 8.4.22 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/karinebmkh/www2/wp-content/plugins/mailchimp-for-wp/includes/mailchimp/ |
Upload File : |
<?php
/**
* Represents a list in Mailchimp
*
* @access public
* @since 4.0
*/
class MC4WP_MailChimp_List
{
/**
* @var string ID of this list for API usage
*/
public $id;
/**
* @var string Web ID of this list in Mailchimp.com
*/
public $web_id = '';
/**
* @var string Name of this list
*/
public $name;
/**
* @var int Number of subscribers on this list
*/
public $subscriber_count = 0;
/**
* @var MC4WP_MailChimp_Merge_Field[]
*/
public $merge_fields = array();
/**
* @var MC4WP_MailChimp_Interest_Category[]
*/
public $interest_categories = array();
/**
* @var object
*/
public $campaign_defaults;
/**
* @param string $id
* @param string $name
* @param string $web_id (deprecated)
*/
public function __construct($id, $name, $web_id = '')
{
$this->id = $id;
$this->name = $name;
$this->web_id = $web_id;
// add email field
$email_field = new MC4WP_MailChimp_Merge_Field('Email Address', 'email', 'EMAIL', true);
$this->merge_fields[] = $email_field;
}
/**
* @param string $name
*
* @return mixed
*/
public function __get($name)
{
// for backwards compatibility with 3.x, channel these properties to their new names
if ($name === 'merge_vars') {
return $this->merge_fields;
} elseif ($name === 'groupings') {
return $this->interest_categories;
}
}
/**
* @param string $tag
* @return MC4WP_MailChimp_Merge_Field
*
* @throws Exception
*/
public function get_field_by_tag($tag)
{
// ensure uppercase tagname
$tag = strtoupper($tag);
// search merge vars
foreach ($this->merge_fields as $field) {
if ($field->tag !== $tag) {
continue;
}
return $field;
}
throw new Exception('Field tag not found.');
}
/**
*
* @since 4.0
*
* @param string $interest_id
* @return MC4WP_MailChimp_Interest_Category
*
* @throws Exception
*/
public function get_interest_category_by_interest_id($interest_id)
{
foreach ($this->interest_categories as $category) {
foreach ($category->interests as $id => $name) {
if ($id != $interest_id) {
continue;
}
return $category;
}
}
throw new Exception(sprintf('No interest with ID %s', $interest_id));
}
/**
* Get the interest grouping object for a given list.
*
* @param string $category_id ID of the Interest Grouping
*
* @return MC4WP_MailChimp_Interest_Category
*
* @throws Exception
*/
public function get_interest_category($category_id)
{
foreach ($this->interest_categories as $category) {
if ($category->id !== $category_id) {
continue;
}
return $category;
}
throw new Exception(sprintf('No interest category with ID %s', $category_id));
}
/**
* Get link to this list in Mailchimp
*
* @return string
*/
public function get_web_url()
{
return 'https://admin.mailchimp.com/lists/members/?id=' . $this->web_id;
}
/**
* Get the name of an interest category by its ID
*
* @deprecated 4.0
* @use MC4WP_MailChimp_List::get_interest_category
*
* @param string $category_id
*
* @return string
*/
public function get_interest_category_name($category_id)
{
$category = $this->get_interest_category($category_id);
return $category->name;
}
/**
* @deprecated 4.0
* @use MC4WP_MailChimp_List::get_field_by_tag
*
* @param string $tag
*
* @return string
*/
public function get_field_name_by_tag($tag)
{
$field = $this->get_field_by_tag($tag);
return $field->name;
}
}