public function createOrDelete($id)
 {
     $topic = Topic::find($id);
     if (Favorite::isUserFavoritedTopic(Auth::user(), $topic)) {
         Auth::user()->favoriteTopics()->detach($topic->id);
     } else {
         Auth::user()->favoriteTopics()->attach($topic->id);
         Notification::notify('topic_favorite', Auth::user(), $topic->user, $topic);
     }
     flash()->success('hello!', lang('Operation succeeded.'));
     return Redirect::route('topics.show', $topic->id);
 }
Пример #2
0
 public function createOrDelete($id)
 {
     $topic = Topic::find($id);
     if (Favorite::isUserFavoritedTopic(auth()->user(), $topic)) {
         auth()->user()->favoriteTopics()->detach($topic->id);
     } else {
         auth()->user()->favoriteTopics()->attach($topic->id);
         Notification::notify('topic_favorite', auth()->user(), $topic->user, $topic);
     }
     Flash::success(lang('Operation succeeded.'));
     return redirect()->route('topics.show', $topic->id);
 }
 public function createOrDelete($id)
 {
     $topic = Topic::find($id);
     if (Attention::isUserAttentedTopic(Auth::user(), $topic)) {
         $message = lang('Successfully remove attention.');
         Auth::user()->attentTopics()->detach($topic->id);
     } else {
         $message = lang('Successfully_attention');
         Auth::user()->attentTopics()->attach($topic->id);
         Notification::notify('topic_attent', Auth::user(), $topic->user, $topic);
     }
     flash()->success('hello!', $message);
     return Redirect::route('topics.show', $topic->id);
 }
Пример #4
0
 public function createOrDelete($id)
 {
     $topic = Topic::find($id);
     if (Attention::isUserAttentedTopic(auth()->user(), $topic)) {
         $message = lang('Successfully remove attention.');
         auth()->user()->attentTopics()->detach($topic->id);
     } else {
         $message = lang('Successfully_attention');
         auth()->user()->attentTopics()->attach($topic->id);
         Notification::notify('topic_attent', auth()->user(), $topic->user, $topic);
     }
     Flash::success($message);
     return redirect()->route('topics.show', $topic->id);
 }
Пример #5
0
 public function replyUpVote(Reply $reply)
 {
     if ($reply->votes()->ByWhom(Auth::id())->WithType('upvote')->count()) {
         // click twice for remove upvote
         $reply->votes()->ByWhom(Auth::id())->WithType('upvote')->delete();
         $reply->decrement('vote_count', 1);
     } elseif ($reply->votes()->ByWhom(Auth::id())->WithType('downvote')->count()) {
         // user already clicked downvote once
         $reply->votes()->ByWhom(Auth::id())->WithType('downvote')->delete();
         $reply->votes()->create(['user_id' => Auth::id(), 'is' => 'upvote']);
         $reply->increment('vote_count', 2);
     } else {
         // first time click
         $reply->votes()->create(['user_id' => Auth::id(), 'is' => 'upvote']);
         $reply->increment('vote_count', 1);
         Notification::notify('reply_upvote', Auth::user(), $reply->user, $reply->topic, $reply);
     }
 }
Пример #6
0
 public function replyUpVote(Reply $reply)
 {
     if (auth()->id() == $reply->user_id) {
         return Flash::warning(lang('Can not vote your feedback'));
     }
     if ($reply->votes()->ByWhom(auth()->id())->WithType('upvote')->count()) {
         // click twice for remove upvote
         $reply->votes()->ByWhom(auth()->id())->WithType('upvote')->delete();
         $reply->decrement('vote_count', 1);
     } elseif ($reply->votes()->ByWhom(auth()->id())->WithType('downvote')->count()) {
         // user already clicked downvote once
         $reply->votes()->ByWhom(auth()->id())->WithType('downvote')->delete();
         $reply->votes()->create(['user_id' => auth()->id(), 'is' => 'upvote']);
         $reply->increment('vote_count', 2);
     } else {
         // first time click
         $reply->votes()->create(['user_id' => auth()->id(), 'is' => 'upvote']);
         $reply->increment('vote_count', 1);
         Notification::notify('reply_upvote', auth()->user(), $reply->user, $reply->topic, $reply);
     }
 }
Пример #7
0
 public function wiki($id)
 {
     $topic = Topic::findOrFail($id);
     $this->authorOrAdminPermissioinRequire($topic->user_id);
     $topic->is_wiki = !$topic->is_wiki;
     $topic->save();
     Flash::success(lang('Operation succeeded.'));
     Notification::notify('topic_mark_wiki', auth()->user(), $topic->user, $topic);
     return redirect()->route('topics.show', $topic->id);
 }