/** * @see AbstractAction::execute() */ public function execute() { parent::execute(); $subscriber = new NewsletterSubscriber($this->subscriberID); //deletes user subscribers $sql = 'DELETE FROM wcf' . WCF_N . '_' . $this->activationTable . ' WHERE userID = ' . intval($subscriber->userID); WCF::getDB()->sendQuery($sql); //resets user setting $user = new UserEditor($subscriber->userID); $options = array('acceptNewsletter' => 0); $user->updateOptions($options); //deletes guest subscribers $sql = 'DELETE FROM wcf' . WCF_N . '_' . $this->guestActivationTable . ' WHERE subscriberID = ' . $this->subscriberID; WCF::getDB()->sendQuery($sql); //deletes unsubscribe tokens $sql = 'DELETE FROM wcf' . WCF_N . '_' . $this->unsubscriptionTable . ' WHERE subscriberID = ' . $this->subscriberID; WCF::getDB()->sendQuery($sql); $sql = 'DELETE FROM wcf' . WCF_N . '_' . $this->subscriberTable . ' WHERE subscriberID = ' . $this->subscriberID; WCF::getDB()->sendQuery($sql); $this->executed(); //clear cache $cacheName = 'newsletter-subscriber-' . PACKAGE_ID; WCF::getCache()->clear(WCF_DIR . 'cache/', 'cache.' . $cacheName . '.php'); HeaderUtil::redirect('index.php?page=NewsletterSubscriberList&result=success&packageID=' . PACKAGE_ID . SID_ARG_2ND_NOT_ENCODED); exit; }