function hook_wp_loaded() { global $newsletter, $wpdb; switch ($newsletter->action) { case 's': if (isset($this->options['antibot_disable']) || NewsletterModule::antibot_form_check()) { $user = NewsletterSubscription::instance()->subscribe(); if ($user->status == 'E') { NewsletterSubscription::instance()->show_message('error', $user->id); } if ($user->status == 'C') { NewsletterSubscription::instance()->show_message('confirmed', $user->id); } if ($user->status == 'A') { NewsletterSubscription::instance()->show_message('already_confirmed', $user->id); } if ($user->status == 'S') { NewsletterSubscription::instance()->show_message('confirmation', $user->id); } } else { NewsletterModule::request_to_antibot_form('Subscribe'); } die; case 'u': $user = NewsletterSubscription::instance()->get_user_from_request(); if ($user == null) { NewsletterSubscription::instance()->show_message('unsubscription_error', null); } else { NewsletterSubscription::instance()->show_message('unsubscription', $user); } die; break; case 'uc': if ($this->antibot_form_check()) { $user = NewsletterSubscription::instance()->unsubscribe(); if ($user->status == 'E') { NewsletterSubscription::instance()->show_message('unsubscription_error', $user); } else { NewsletterSubscription::instance()->show_message('unsubscribed', $user); } return; } else { $this->request_to_antibot_form('Unsubscribe'); } die; break; case 'p': case 'pe': $user = NewsletterSubscription::instance()->check_user(); if ($user == null) { die('No subscriber found.'); } NewsletterSubscription::instance()->show_message('profile', $user); die; break; case 'c': if ($this->antibot_form_check()) { $user = NewsletterSubscription::instance()->confirm(); if ($user->status == 'E') { NewsletterSubscription::instance()->show_message('error', $user->id); } else { setcookie('newsletter', $user->id . '-' . $user->token, time() + 60 * 60 * 24 * 365, '/'); NewsletterSubscription::instance()->show_message('confirmed', $user); } } else { $this->request_to_antibot_form('Confirm'); } die; break; case 'ul': $user = NewsletterSubscription::instance()->check_user(); if ($user == null || $user->status != 'C') { echo 'Subscriber not found, sorry.'; die; } $options = $this->get_options('lock'); setcookie('newsletter', $user->id . '-' . $user->token, time() + 60 * 60 * 24 * 365, '/'); header('Location: ' . $options['url']); die; break; default: return; } die; }