/** * [run description] * @return [type] [description] */ public function run() { // init $_log = $this->_log; // get user input $inputException = array(); $fetchInputResult = $this->fetchInput($inputException); $this->_feedback->setCallback($this->input['callback']); if (!$fetchInputResult) { $feed = ""; $feed = Feedback::getFeed(false, $inputException, array(), $output_format, $input['callback']); BaseView::renderJson($error_message); return true; } // check token $AccessibilityCheck = new AccessibilityCheck(); if ($AccessibilityCheck->isTokenIllegal($UnsubscribeRequest)) { $feed = ""; $feed = Feedback::getBaseFeed(false, FeedbackInfo::ILLEGAL_TOKEN, array(), $this->output_format, $this->input['callback']); BaseView::renderJson($feed); return true; } // storage data $this->initDatabaseModel(); if (!$this->AllSubscribeStorage->unsubByUidSubid($UnsubscribeRequest)) { $feed = ""; $feed = Feedback::getBaseFeed(false, FeedbackInfo::UNSUB_FAILED_BY_STORAGE, null, $this->output_format, $this->input['callback']); BaseView::renderJson($feed); return true; } // cache data if (!$this->UserSubscribeCache->removeUserSub($UnsubscribeRequest)) { $feed = ""; $feed = Feedback::getBaseFeed(false, FeedbackInfo::UNSUB_FAILED_BY_CACHE, null, $this->output_format, $this->input['callback']); BaseView::renderJson($feed); return true; } // decrease cache num $this->SubscribeNumCache->decreaseSubNum($UnsubscribeRequest); // feedback ok $feed = ""; $feed = Feedback::getBaseFeed(true, FeedbackInfo::OK, null, $this->output_format, $this->input['callback']); BaseView::renderJson($feed); return true; }