get_subscriber_count() public method

Returns number of subscribers on given lists.
public get_subscriber_count ( array | string $list_ids ) : integer
$list_ids array | string Array of list ID's, or single string.
return integer Total # subscribers for given lists.
Exemplo n.º 1
0
 /**
  * Returns text with {variables} replaced.
  *
  * @param    string $string
  * @param array     $additional_replacements
  * @param array Array of list ID's (needed if {subscriber_count} is set
  *
  * @return string $text       The text with {variables} replaced.
  * replaced.
  */
 public static function replace_variables($string, $additional_replacements = array(), $list_ids = array())
 {
     // replace general vars
     $replacements = array('{ip}' => self::get_client_ip(), '{current_url}' => mc4wp_get_current_url(), '{current_path}' => !empty($_SERVER['REQUEST_URI']) ? esc_html($_SERVER['REQUEST_URI']) : '', '{date}' => date('m/d/Y'), '{time}' => date('H:i:s'), '{language}' => defined('ICL_LANGUAGE_CODE') ? ICL_LANGUAGE_CODE : get_locale(), '{email}' => self::get_known_email(), '{user_email}' => '', '{user_firstname}' => '', '{user_lastname}' => '', '{user_name}' => '', '{user_id}' => '');
     // setup replacements for logged-in users
     if (is_user_logged_in() && ($user = wp_get_current_user()) && $user instanceof WP_User) {
         // logged in user, replace vars by user vars
         $replacements['{user_email}'] = $user->user_email;
         $replacements['{user_firstname}'] = $user->first_name;
         $replacements['{user_lastname}'] = $user->last_name;
         $replacements['{user_name}'] = $user->display_name;
         $replacements['{user_id}'] = $user->ID;
     }
     // merge with additional replacements
     $replacements = array_merge($replacements, $additional_replacements);
     // subscriber count? only fetch these if the tag is actually used
     if (stristr($string, '{subscriber_count}') !== false) {
         $mailchimp = new MC4WP_MailChimp();
         $subscriber_count = $mailchimp->get_subscriber_count($list_ids);
         $replacements['{subscriber_count}'] = $subscriber_count;
     }
     // perform the replacement
     $string = str_ireplace(array_keys($replacements), array_values($replacements), $string);
     // replace dynamic variables
     if (stristr($string, '{data_') !== false) {
         $string = preg_replace_callback('/\\{data_([\\w-.]+)( default=\\"([^"]*)\\"){0,1}\\}/', array('MC4WP_Tools', 'replace_request_data_variables'), $string);
     }
     return $string;
 }
Exemplo n.º 2
0
/**
 * Returns text with {variables} replaced.
 *
 * @param   string  $text
 * @param   array   $list_ids Array of list id's
 * @return  string $text with {variables} replaced.
 */
function mc4wp_replace_variables($text, $list_ids = array())
{
    // get current WPML language or general site language
    $language = defined('ICL_LANGUAGE_CODE') ? ICL_LANGUAGE_CODE : get_locale();
    // replace general vars
    $needles = array('{ip}', '{current_url}', '{date}', '{time}', '{language}');
    $replacements = array($_SERVER['REMOTE_ADDR'], mc4wp_get_current_url(), date('m/d/Y'), date('H:i:s'), $language);
    $text = str_ireplace($needles, $replacements, $text);
    // subscriber count? only fetch these if the tag is actually used
    if (stristr($text, '{subscriber_count}') !== false) {
        $mailchimp = new MC4WP_MailChimp();
        $subscriber_count = $mailchimp->get_subscriber_count($list_ids);
        $text = str_ireplace('{subscriber_count}', $subscriber_count, $text);
    }
    // replace {email} tag
    if (isset($_GET['mc4wp_email'])) {
        $email = esc_attr($_GET['mc4wp_email']);
    } elseif (isset($_COOKIE['mc4wp_email'])) {
        $email = esc_attr($_COOKIE['mc4wp_email']);
    } else {
        $email = '';
    }
    $text = str_ireplace('{email}', $email, $text);
    // replace user variables
    $needles = array('{user_email}', '{user_firstname}', '{user_lastname}', '{user_name}', '{user_id}');
    if (is_user_logged_in() && ($user = wp_get_current_user()) && $user instanceof WP_User) {
        // logged in user, replace vars by user vars
        $replacements = array($user->user_email, $user->user_firstname, $user->user_lastname, $user->display_name, $user->ID);
        $text = str_ireplace($needles, $replacements, $text);
    } else {
        // no logged in user, replace vars with empty string
        $text = str_ireplace($needles, '', $text);
    }
    return $text;
}
Exemplo n.º 3
0
 /**
  * Returns the number of subscribers on the selected lists (for the form context)
  *
  * @return int
  */
 public function get_subscriber_count()
 {
     $mailchimp = new MC4WP_MailChimp();
     return $mailchimp->get_subscriber_count($this->form->get_lists());
 }
 /**
  * Returns the number of subscribers on the selected lists (for the form context)
  *
  * @return int
  */
 public function get_subscriber_count()
 {
     $mailchimp = new MC4WP_MailChimp();
     $count = $mailchimp->get_subscriber_count($this->integration->get_lists());
     return number_format($count);
 }