コード例 #1
0
 /**
  * Votes Down an API.
  * Immediate return to index.
  * @param integer $id
  * @return mixed
  */
 public function actionVotedown($id, $redirect = 'index')
 {
     $model = $this->findModel($id);
     $curUser = Yii::$app->getUser();
     $curUser = User::findOne($curUser->id);
     $votes_up = explode(',', $curUser->votes_up_apis);
     $votes_down = explode(',', $curUser->votes_down_apis);
     if (in_array($id, $votes_down, null)) {
         return $this->redirect([$redirect]);
     }
     if (($key = array_search($id, $votes_up, null)) !== false) {
         unset($votes_up[$key]);
         $model->votes_up = $model->votes_up - 1;
         $curUser->votes_up_apis = implode(',', $votes_up);
     }
     $votes_down[] = $id;
     $curUser->votes_down_apis = implode(',', $votes_down);
     $curUser->save();
     $model->votes_down = $model->votes_down + 1;
     $model->save();
     $changeAPI = new NotifAPIHelper();
     $followersNotified = $changeAPI->apiChangedDownvotes($id);
     // Elastic Search Update
     $esu = new ElasticSearchPut();
     $esu->setApi($model);
     $esu->MakeJSON();
     $esu->InsertUpdate();
     $changeUser = new NotifUserHelper();
     $myId = \Yii::$app->user->id;
     $changeUser->userChangedDownvotesApis($myId);
     return $this->redirect([$redirect]);
 }