Esempio n. 1
0
 /**
  * The content vote
  *
  * @param string $contentId
  * @param string $voteType
  * @param string $route
  *
  * @return Response
  */
 public function getVote($contentId, $voteType, $route)
 {
     $Content = Content::findOrFail($contentId);
     $ContentVote = (new ContentVote())->where(['entity_Id' => $contentId, 'user_id' => Auth::user()->id])->first();
     //
     if ($voteType === 'vote_up') {
         if ($ContentVote) {
             if ($ContentVote->value !== ContentVote::VALUE_UP) {
                 $ContentVote->value = ContentVote::VALUE_UP;
                 $ret = $ContentVote->save();
                 event(new \App\Events\ContentWasVote($Content, 'vote_up_changed'));
             }
         } else {
             $ContentVote = new ContentVote();
             $ContentVote->user_id = Auth::user()->id;
             $ContentVote->entity_id = $contentId;
             $ContentVote->value = ContentVote::VALUE_UP;
             $ret = $ContentVote->save();
             event(new \App\Events\ContentWasVote($Content, 'vote_up'));
         }
         //
     } else {
         if ($voteType === 'vote_up_cancel') {
             $ret = $ContentVote->delete();
             event(new \App\Events\ContentWasVote($Content, 'vote_up_cancel'));
             //
         } else {
             if ($voteType === 'vote_down') {
                 if ($ContentVote) {
                     if ($ContentVote->value !== ContentVote::VALUE_DOWN) {
                         $ContentVote->value = ContentVote::VALUE_DOWN;
                         $ret = $ContentVote->save();
                         event(new \App\Events\ContentWasVote($Content, 'vote_down_changed'));
                     }
                 } else {
                     $ContentVote = new ContentVote();
                     $ContentVote->user_id = Auth::user()->id;
                     $ContentVote->entity_id = $contentId;
                     $ContentVote->value = ContentVote::VALUE_DOWN;
                     $ret = $ContentVote->save();
                     event(new \App\Events\ContentWasVote($Content, 'vote_down'));
                 }
                 //
             } else {
                 if ($voteType === 'vote_down_cancel') {
                     $ret = $ContentVote->delete();
                     event(new \App\Events\ContentWasVote($Content, 'vote_down_cancel'));
                 }
             }
         }
     }
     if (isset($ret) && $ret) {
         Flash::success(trans('app.Successful operation'));
         return redirect()->route($route, ['id' => $contentId]);
     } else {
         Flash::error(trans('app.Operation failed'));
         return redirect()->route($route, ['id' => $contentId]);
     }
 }
Esempio n. 2
0
 /**
  *
  */
 public function myVote()
 {
     return ContentVote::where(['entity_id' => $this->id, 'user_id' => Auth::user()->id])->first();
 }