"; // if any $html .= "
\n"; //action='{$_SERVER['REQUEST_URI']}' $html .= "\n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= "
$optin_msg
$optout_msg
\n"; $html .= "
\n"; } else { // For NOT-REGISTERED, PUBBLIC SUBSCRIBER $html = "
"; // if any $html .= "
\n"; $html .= "\n"; $html .= " \n"; $html .= " "; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= " \n"; $html .= "
".__("Name", "alo-easymail")."
".__("E-mail", "alo-easymail")."
\n"; $html .= "\n"; $html .= "
\n"; } // and output it return $html; } //============= Widget Class ============================================== class ALO_Easymail_Widget extends WP_Widget { // this constructor cannot be __construct!! causes 500 server error function ALO_Easymail_Widget() { /* Widget settings. NOTE: Class name must be lower case*/ $widget_ops = array( 'classname' => 'alo_easymail_widget', 'description' => __('Allow users to opt in/out of email', 'alo_easymail') ); /* Widget control settings. */ $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'alo-easymail-widget' ); /* Create the widget. */ $this->WP_Widget( 'alo-easymail-widget', __('ALO Easymail Widget', 'alo_easymail'), $widget_ops, $control_ops ); } /** * Display the widget on the screen. */ /* args array [name] => Sidebar 1 [id] => sidebar-1 [description] => [before_widget] =>
  • [after_widget] =>
  • [before_title] =>

    [after_title] =>

    [widget_id] => example-widget-4 [widget_name] => Example Widget */ function widget( $args, $instance ) { global $user_ID, $user_email, $wpdb; extract( $args ); // add ALO: hide the widget in subscriber page if ( is_page(get_option('ALO_em_subsc_page')) ) return; // Our variables from the widget settings. $title = apply_filters('widget_title', $instance['title'] ); // Get the the user's optin setting //if (ALO_easymail_get_optin()=='yes'){ if (ALO_em_is_subscriber($user_email)){ $optin_checked = "checked='checked'"; $optout_checked = ""; } else{ $optin_checked = ""; $optout_checked = "checked='checked'"; } // Before widget (defined by themes). echo $before_widget; // Display the widget title if one was input (before and after defined by themes). if ( $title ) echo $before_title . $title . $after_title; // get the message optin/out messages // mod ALO: we need them also outside widget $optin_msg = get_option('ALO_em_optin_msg'); $optout_msg = get_option('ALO_em_optout_msg'); //$optin_msg = $instance['alo_easymail_optin_msg']; //$optout_msg = $instance['alo_easymail_optout_msg']; // add ALO: print the form echo ALO_em_show_widget_form (); // and output it echo $html; // After widget (defined by themes). echo $after_widget; } /** * Update the widget settings. */ function update( $new_instance, $old_instance ) { $instance = $old_instance; // Strip tags for title and name to remove HTML $instance['title'] = strip_tags( $new_instance['title'] ); //$instance['alo_easymail_optin_msg'] = strip_tags( $new_instance['alo_easymail_optin_msg'] ); //$instance['alo_easymail_optout_msg'] = strip_tags( $new_instance['alo_easymail_optout_msg'] ); // add ALO: add option text to use form outside widget //update_option( "ALO_em_optin_msg", strip_tags( $new_instance['alo_easymail_optin_msg']) /*$instance['alo_easymail_optin_msg']*/ ); //update_option( "ALO_em_optout_msg", strip_tags( $new_instance['alo_easymail_optout_msg']) /*$instance['alo_easymail_optout_msg']*/ ); return $instance; } /** * Displays the widget settings controls on the widget panel. * Make use of the get_field_id() and get_field_name() function * This handles the confusing stuff. */ function form( $instance ) { /* Set up some default widget settings. */ $defaults = array( 'title' => __('Newsletter', 'alo_easymail') /*, 'alo_easymail_optin_msg' => __('Yes, I would like to receive the Newsletter', 'alo_easymail'), 'alo_easymail_optout_msg' => __('No, please do not email me', 'alo_easymail')*/ ); $instance = wp_parse_args( (array) $instance, $defaults ); $html = ""; $html .= "\r\n".''; $html .= "\r\n".'

    '; $html .= "\r\n".' '; $html .= "\r\n".' '; $html .= "\r\n".'

    '; /* $html .= "\r\n".''; $html .= "\r\n".'

    '; $html .= "\r\n".' '; $html .= "\r\n".' '; $html .= "\r\n".'

    '; $html .= "\r\n".''; $html .= "\r\n".'

    '; $html .= "\r\n".' '; $html .= "\r\n".' '; $html .= "\r\n".'

    '; */ echo $html; } }//=========== End Widget Class ========================================== ?>