__('Newsletter subscription form', 'AnyWP'));
parent::WP_Widget(false, __('AnyWP MailChimp', 'AnyWP'), $widget_ops);
}
function form($instance) {
$title = if_var_isset($instance['title'], '');
$api_key = if_var_isset($instance['api_key'], '');
$list_name = if_var_isset($instance['list_name'], '');
$signup_message = if_var_isset($instance['signup_message'], 'Join our newsletter');
$success_message = if_var_isset($instance['success_message'], 'Thank you for subscribing, please check your email for confirmation.');
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = $new_instance['title'];
$instance['api_key'] = $new_instance['api_key'];
$instance['list_name'] = $new_instance['list_name'];
$instance['signup_message'] = $new_instance['signup_message'];
$instance['success_message'] = $new_instance['success_message'];
return $instance;
}
function widget($args, $instance) {
extract($args, EXTR_SKIP);
echo $before_widget;
$title = if_var_isset($instance['title'], '');
if ($title != '') echo $before_title . $title . $after_title;
$sc = '[anywp_mailchimp_form ';
$sc .= 'api_key="' . if_var_isset($instance['api_key'], '') . '" ';
$sc .= 'list_name="' . if_var_isset($instance['list_name'], '') . '" ';
$sc .= 'signup_message="' . if_var_isset($instance['signup_message'], '') . '" ';
$sc .= 'success_message="' . if_var_isset($instance['success_message'], '') . '" ';
$sc .= ']';
echo do_shortcode($sc);
echo $after_widget;
}
}
if (! function_exists('if_var_isset')) {
function if_var_isset(&$check, $or = null) {
return (isset($check) ? $check : $or);
}
}
function anywp_mailchimp_newsletter($atts, $content = null) {
$option = get_option('widget_anywp_mailchimp');
if (! $option) return '';
$key = array_keys($option);
$result = '';
$result .= '';
$result .= '';
$result .= '
';
$result .= '';
return $result;
}
function anywp_ajax_newsletter() {
require_once(plugin_dir_path(__FILE__) . 'mailchimp-api.php');
}
function anywp_mailchimp_widget() {
register_widget('AnyWP_MailChimp');
}
function anywp_newsletter_enqueue_scripts() {
if (! is_admin()) {
wp_enqueue_script('jquery');
wp_enqueue_script('js_jquery_form', plugin_dir_url(__FILE__) . 'jquery.form.js', array('jquery'), false, false);
wp_enqueue_script('js_newsletter', plugin_dir_url(__FILE__) . 'anywp-mailchimp.js', array('jquery'), false, false);
wp_enqueue_style('css_newsletter', plugin_dir_url(__FILE__) . 'anywp-mailchimp.css', array(), false);
}
}
add_action('widgets_init', 'anywp_mailchimp_widget');
add_action('wp_ajax_newsletter', 'anywp_ajax_newsletter');
add_action('wp_ajax_nopriv_newsletter', 'anywp_ajax_newsletter');
add_action('wp_enqueue_scripts', 'anywp_newsletter_enqueue_scripts');
add_shortcode('anywp_mailchimp_form', 'anywp_mailchimp_newsletter');
?>