/**
  * @see Action::execute()
  */
 public function execute()
 {
     parent::execute();
     // set last mark as read time
     WCF::getUser()->setLastMarkAllAsReadTime(TIME_NOW);
     // update subscriptions
     if (WCF::getUser()->userID) {
         require_once WBB_DIR . 'lib/data/thread/SubscribedThread.class.php';
         SubscribedThread::clearSubscriptions();
         $sql = "UPDATE\twbb" . WBB_N . "_board_subscription\n\t\t\t\tSET\temails = 0\n\t\t\t\tWHERE\tuserID = " . WCF::getUser()->userID;
         WCF::getDB()->registerShutdownUpdate($sql);
         $sql = "UPDATE\twbb" . WBB_N . "_thread_subscription\n\t\t\t\tSET\temails = 0\n\t\t\t\tWHERE\tuserID = " . WCF::getUser()->userID;
         WCF::getDB()->registerShutdownUpdate($sql);
     }
     // reset session
     WCF::getSession()->resetUserData();
     WCF::getSession()->unregister('lastSubscriptionsStatusUpdateTime');
     $this->executed();
     if (empty($_REQUEST['ajax'])) {
         HeaderUtil::redirect('index.php' . SID_ARG_1ST);
     }
     exit;
 }
 /**
  * Creates a new ModerationThreadsPage object.
  */
 public function __construct()
 {
     SubscribedThread::clearSubscriptions();
     parent::__construct();
 }