function widget_newsletter($args) { $options = get_option('newsletter'); // $args is an array of strings that help widgets to conform to // the active theme: before_widget, before_title, after_widget, // and after_title are the array keys. Default tags: li and h2. extract($args); // Each widget can store its own options. We keep strings here. $optionsw = get_option('newsletter_widget'); $title = $optionsw['title']; $text = $optionsw['text']; $form = $optionsw['form']; // These lines generate our output. Widgets can be very complex // but as you can see here, they can also be very, very simple. echo $before_widget . $before_title . $title . $after_title; if (newsletter_has_extras('1.0.2') && $form != '') { $buffer .= str_replace('{newsletter_url}', $options['url'], newsletter_extras_get_form($form)); } else { if (isset($options['noname'])) { $buffer = str_replace('{newsletter_url}', $options['url'], newsletter_label('widget_form_noname')); } else { $buffer = str_replace('{newsletter_url}', $options['url'], newsletter_label('widget_form')); } } $buffer = str_replace('{text}', $optionsw['text'], $buffer); $buffer = str_replace('{count}', newsletter_subscribers_count(), $buffer); //if (defined('NEWSLETTER_EXTRAS')) echo $buffer; //else echo $buffer . '<div style="text-align:right;padding:0 10px;margin:0;"><a style="font-size:9px;color:#bbb;text-decoration:none" href="http://www.satollo.net">by satollo.net</a></div>'; echo $buffer; echo $after_widget; }
function newsletter_call($attrs, $content = null) { global $newsletter_step, $newsletter_subscriber; $options = get_option('newsletter'); $buffer = ''; // When a user is starting the subscription process if ($newsletter_step == 'subscription') { $buffer .= $options['subscription_text']; if (newsletter_has_extras('1.0.2') && isset($attrs['form'])) { $buffer .= str_replace('{newsletter_url}', $options['url'], newsletter_extras_get_form($attrs['form'])); } else { if (isset($options['noname'])) { $buffer .= newsletter_label('subscription_form_noname'); } else { $buffer .= newsletter_label('subscription_form'); } //if (!defined('NEWSLETTER_EXTRAS')) // $buffer .= '<div style="text-align:right;padding:0 10px;margin:0;"><a style="font-size:9px;color:#bbb;text-decoration:none" href="http://www.satollo.net">by satollo.net</a></div>'; } } // When a user asked to subscribe and the connfirmation request has been sent if ($newsletter_step == 'subscribed') { $text = newsletter_replace($options['subscribed_text'], $newsletter_subscriber); $buffer .= $text; } if ($newsletter_step == 'confirmed') { $text = newsletter_replace($options['confirmed_text'], $newsletter_subscriber); $buffer .= $text; if (isset($options['confirmed_tracking'])) { ob_start(); eval('?>' . $options['confirmed_tracking']); $buffer .= ob_get_clean(); } } // Here we are when an unsubscription is requested. There are two kind of unsubscription: the // ones with email and token, so the user has only to confire and the ones without // data, so the user is requested to insert his email. In the latter case an email // will be sent to the user with alink to confirm the email removal. if ($newsletter_step == 'unsubscription' || $newsletter_step == 'unsubscription_error') { $newsletter_subscriber = newsletter_get_subscriber($_REQUEST['ni']); $buffer = newsletter_replace($options['unsubscription_text'], $newsletter_subscriber); $url = newsletter_add_qs($options['url'], 'na=uc&ni=' . $newsletter_subscriber->id . '&nt=' . $_REQUEST['nt']); $buffer = newsletter_replace_url($buffer, 'UNSUBSCRIPTION_CONFIRM_URL', $url); } // Last message shown to user to say good bye if ($newsletter_step == 'unsubscribed') { $text = $options['unsubscribed_text']; $text = newsletter_replace($text, $newsletter_subscriber); $buffer .= $text; } return '<div class="newsletter">' . $buffer . '</div>'; }