__('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 .= $option[$key[0]]['signup_message'] . ' '; $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'); ?>