function zn_mailchimp_subscribe()
{
    $return = array();
    if (isset($_POST['email']) && isset($_POST['mailchimp_list'])) {
        if ($mailchimp_api = zget_option('mailchimp_api', 'general_options')) {
            if (is_email($_POST['email'])) {
                require_once THEME_BASE . '/framework/classes/class-mailchimp.php';
                $mailchimp = new ZnMailChimp($mailchimp_api);
                $email = $_POST['email'];
                $mailchimp_data = array('id' => $_POST['mailchimp_list'], 'email' => array('email' => $_POST['email']));
                // NAME FIELD
                if (isset($_POST['name'])) {
                    $mailchimp_data['merge_vars']['NAME'] = $_POST['name'];
                }
                // WEBSITE FIELD
                if (isset($_POST['website'])) {
                    $mailchimp_data['merge_vars']['WEBSITE'] = $_POST['website'];
                }
                $message = $mailchimp->call('lists/subscribe', $mailchimp_data);
                if (!empty($message['error'])) {
                    $return['error'] = true;
                    $return['message'] = '<div class="alert alert-success alert-dismissable">' . $message['error'] . '</div>';
                } else {
                    //print_z($mailchimp_data);
                    $return['message'] = '<div class="alert alert-success alert-dismissable">' . __('Thank you for subscribing !', 'zn_framework') . '</div>';
                }
            } else {
                $return['error'] = true;
                $return['message'] = '<div class="alert alert-danger alert-dismissable">' . __('Please enter a valid email address !', 'zn_framework') . '</div>';
            }
        }
    }
    wp_send_json($return);
}
function generate_mailchimp_lists($option_id = 'mailchimp_api', $option_page = 'advanced', $refresh = false)
{
    //	delete_option('zn_mailchimp_lists');
    $loaded_lists = get_option('zn_mailchimp_lists');
    if ($loaded_lists && $refresh == false) {
        return $loaded_lists;
    } elseif ($mailchimp_api = zget_option($option_id, $option_page)) {
        require_once THEME_BASE . '/framework/classes/class-mailchimp.php';
        $mailchimp = new ZnMailChimp($mailchimp_api);
        $lists = $mailchimp->call('lists/list');
        $loaded_lists = array();
        if (isset($lists['data']) && is_array($lists['data'])) {
            foreach ($lists['data'] as $key => $list) {
                $loaded_lists[$list['id']] = $list['name'];
            }
        }
        add_option('zn_mailchimp_lists', $loaded_lists, '', false);
        return $loaded_lists;
    } else {
        return array();
    }
}