Ejemplo n.º 1
1
 public static function getById($id)
 {
     $favorites = Favorite::where('user_id', $id)->get();
     $ad_ids_array = [];
     foreach ($favorites as $favorite) {
         $ad_ids_array[] = $favorite->ad_id;
     }
     $ads = Ad::whereIn('id', $ad_ids_array)->paginate(20);
     return $ads;
 }
 public function updateFavoriteList(Request $request)
 {
     $data = $request->all();
     $questionResult = $data['question_id'];
     $result = explode(',', $questionResult);
     for ($i = 0; $i < count($result); $i++) {
         Favorite::where('user_id', $data['user_id'])->where('question_id', $result[$i])->delete();
     }
     $Favoritelist = Favorite::where('user_id', $data['user_id'])->get();
     for ($i = 0; $i < count($Favoritelist); $i++) {
         $Favoritelist[$i]['question'] = Question::where('id', $Favoritelist[$i]['question_id'])->first();
         $Favoritelist[$i]['question']['favorite'] = 1;
         $Favoritelist[$i]['question']['practice'] = 0;
         $Favoritelist[$i]['question']['delete'] = 0;
     }
     return response()->json(['RetCode' => '1', 'Content' => $Favoritelist]);
 }
Ejemplo n.º 3
0
 public function removefavorite($id)
 {
     if (Auth::check()) {
         Favorite::where('ad_id', $id)->where('user_id', Auth::user()->id)->delete();
     } else {
         return redirect()->back();
     }
 }
 public function checkFavorite()
 {
     $userId = $this->request->input('userid');
     $friendId = $this->request->input('friendid');
     $UData = User::where('id', $friendId)->first();
     if ($UData) {
         $Favorite = Favorite::where('favorite_person', $friendId)->where('favorite_by', $userId)->first();
         if ($Favorite) {
             $Response = array('success' => '1');
         } else {
             $Response = array('success' => '0');
         }
         return json_encode($Response);
     } else {
         echo 'not found';
     }
 }
 public function uploadResult(Request $request)
 {
     $data = $request->all();
     $questionResult = $data['question'];
     $result = explode(',', $questionResult);
     for ($i = 0; $i < count($result); $i++) {
         $saveResult = explode('-', $result[$i]);
         Result::create(['user_id' => $data['user_id'], 'question_id' => $saveResult[0], 'answer' => $saveResult[1], 'second' => $saveResult[2]]);
         if ($saveResult[3] == '1') {
             $FavoriteRecord = Favorite::where('user_id', $data['user_id'])->where('question_id', $saveResult[0])->first();
             if ($FavoriteRecord == null || $FavoriteRecord == 'null') {
                 Favorite::create(['user_id' => $data['user_id'], 'question_id' => $saveResult[0]]);
             }
         } else {
             if ($saveResult[3] == '0') {
                 Favorite::where('user_id', $data['user_id'])->where('question_id', $saveResult[0])->delete();
             }
         }
     }
     $UserRecord = UserRecord::where('user_id', $data['user_id'])->get();
     $StageRecord = $UserRecord->where('stages_id', $data['stages_id'])->first();
     $CrementRecord = UserRecord::where('user_id', $data['user_id'])->where('stages_id', $data['stages_id'])->max('stage_score');
     $Crement = $data['score'] - $CrementRecord;
     $User = User::where('id', $data['user_id'])->first();
     if (count($UserRecord) == 0 || $StageRecord == 'null' || $StageRecord == null) {
         $User->increment('score', $data['score']);
     } else {
         if ($Crement > 0) {
             $User->increment('score', $Crement);
         }
     }
     $UserSrcoreRecord = Score::where('user_id', $data['user_id'])->where('category_id', floor($data['stages_id'] / 100));
     if (count($UserSrcoreRecord->get()) == 0) {
         Score::create(['user_id' => $data['user_id'], 'user_name' => $User['name'], 'category_id' => floor($data['stages_id'] / 100), 'score' => $data['score']]);
     } else {
         if ($Crement > 0) {
             $UserSrcoreRecord->first()->increment('score', $Crement);
         }
     }
     UserRecord::create(['user_id' => $data['user_id'], 'stages_id' => $data['stages_id'], 'accuracy' => $data['accuracy'], 'accuracy_detail' => $data['accuracy_detail'], 'status' => $data['status'], 'status_detail' => $data['status_detail'], 'stage_score' => $data['score']]);
     return response()->json(['RetCode' => '1']);
 }
Ejemplo n.º 6
0
 public static function isUserFavoritedTopic(User $user, Topic $topic)
 {
     return Favorite::where('user_id', $user->id)->where('topic_id', $topic->id)->first();
 }
Ejemplo n.º 7
0
 public function update2(Request $request, $drama_id)
 {
     $validator = Validator::make($request->all(), ['content' => 'required_with:title', 'visible' => 'required_with:content', 'type' => 'required|in:0,1,2,3,4', 'rating' => 'in:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5', 'title' => 'max:255']);
     if ($validator->fails()) {
         return response($validator->messages(), 422);
     }
     $favorite = Favorite::where('user_id', $request->user()->id)->where('drama_id', $drama_id)->first();
     $oldType = $favorite->type;
     $favorite->type = $request->input('type');
     if ($favorite->type == 0) {
         $favorite->rating = 0;
     } else {
         $favorite->rating = $request->input('rating');
     }
     $favorite->tags = $request->input('tags');
     if ($favorite->save()) {
         DB::table('users')->where('id', $favorite->user_id)->decrement('favorite' . $oldType);
         DB::table('users')->where('id', $favorite->user_id)->increment('favorite' . $favorite->type);
         $tags_old = DB::table('tagmaps')->where('drama_id', $favorite->drama_id)->where('user_id', $favorite->user_id)->lists('tag_id');
         if ($request->input('tags')) {
             $tagsinput = explode(',', $request->input('tags'));
         } else {
             $tagsinput = [];
         }
         $tags_new = [];
         foreach ($tagsinput as $tag) {
             $tags_new[] = Tag::firstOrCreate(['name' => $tag])->id;
         }
         $adds = array_diff($tags_new, $tags_old);
         $add_maps = [];
         foreach ($adds as $tag) {
             $add_maps[] = ['drama_id' => $favorite->drama_id, 'user_id' => $favorite->user_id, 'tag_id' => $tag];
         }
         $removes = array_diff($tags_old, $tags_new);
         DB::table('tagmaps')->insert($add_maps);
         DB::table('tagmaps')->where('drama_id', $favorite->drama_id)->where('user_id', $favorite->user_id)->whereIn('tag_id', $removes)->delete();
         $review = Review::where('user_id', $favorite->user_id)->where('drama_id', $drama_id)->where('episode_id', 0)->first();
         if ($review) {
             $review->title = $request->input('title');
             $review->content = $request->input('content');
             $review->visible = $request->input('visible');
             if (!$review->save()) {
                 return response('收藏修改成功,评论修改失败', 422);
             }
         } else {
             if ($request->has('content')) {
                 $review = new Review();
                 $review->user_id = $favorite->user_id;
                 $review->drama_id = $drama_id;
                 $review->title = $request->input('title');
                 $review->content = $request->input('content');
                 $review->visible = $request->input('visible');
                 if ($review->save()) {
                     DB::table('users')->where('id', $review->user_id)->increment('reviews');
                     DB::table('dramas')->where('id', $review->drama_id)->increment('reviews');
                 } else {
                     return response('收藏修改成功,添加评论失败', 422);
                 }
             }
         }
         return ['result' => 'success'];
     } else {
         return response('修改失败', 422);
     }
 }
Ejemplo n.º 8
0
 public function update2(Request $request, $drama_id)
 {
     $this->validate($request, ['content' => 'required_with:title', 'visible' => 'required_with:content', 'type' => 'required|in:0,1,2,3,4', 'rating' => 'in:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5', 'title' => 'max:255']);
     $favorite = Favorite::where('user_id', $request->user()->id)->where('drama_id', $drama_id)->first();
     $oldType = $favorite->type;
     $favorite->type = $request->input('type');
     if ($favorite->type == 0) {
         $favorite->rating = 0;
     } else {
         $favorite->rating = $request->input('rating');
     }
     $favorite->tags = $request->input('tags');
     //修改收藏
     if ($favorite->save()) {
         DB::table('users')->where('id', $favorite->user_id)->decrement('favorite' . $oldType);
         DB::table('users')->where('id', $favorite->user_id)->increment('favorite' . $favorite->type);
         //获取用户当前标签
         $tags_old = DB::table('tagmaps')->where('drama_id', $favorite->drama_id)->where('user_id', $favorite->user_id)->lists('tag_id');
         //获取输入标签
         if ($request->input('tags')) {
             $tagsinput = explode(',', $request->input('tags'));
         } else {
             $tagsinput = [];
         }
         //防止出现空字符串标签
         $tags_new = [];
         foreach ($tagsinput as $tag) {
             $tags_new[] = Tag::firstOrCreate(['name' => $tag])->id;
         }
         //得到新输入标签中有而过去无的新增标签映射
         $adds = array_diff($tags_new, $tags_old);
         $add_maps = [];
         foreach ($adds as $tag) {
             $add_maps[] = ['drama_id' => $favorite->drama_id, 'user_id' => $favorite->user_id, 'tag_id' => $tag];
         }
         //得到过去有而现在无的移除标签
         $removes = array_diff($tags_old, $tags_new);
         DB::table('tagmaps')->insert($add_maps);
         DB::table('tagmaps')->where('drama_id', $favorite->drama_id)->where('user_id', $favorite->user_id)->whereIn('tag_id', $removes)->delete();
         $review = Review::where('user_id', $favorite->user_id)->where('drama_id', $drama_id)->where('episode_id', 0)->first();
         if ($review) {
             $review->title = $request->input('title');
             $review->content = $request->input('content');
             $review->visible = $request->input('visible');
             if (!$review->save()) {
                 return redirect()->back()->withInput()->withErrors('收藏修改成功,评论修改失败');
             }
         } else {
             if ($request->has('content')) {
                 $review = new Review();
                 $review->user_id = $favorite->user_id;
                 $review->drama_id = $drama_id;
                 $review->title = $request->input('title');
                 $review->content = $request->input('content');
                 $review->visible = $request->input('visible');
                 if ($review->save()) {
                     DB::table('users')->where('id', $review->user_id)->increment('reviews');
                     DB::table('dramas')->where('id', $review->drama_id)->increment('reviews');
                 } else {
                     return redirect()->back()->withInput()->withErrors('收藏修改成功,评论添加失败');
                 }
             }
         }
         return redirect()->route('drama.show', [$drama_id]);
     } else {
         return redirect()->back()->withInput()->withErrors('修改失败');
     }
 }
Ejemplo n.º 9
0
Archivo: Ad.php Proyecto: elberd/maoh
 /**
  * Check is the ad authenticated user's favorite.
  *
  * @return boolean
  */
 public function isTheUsersFavorite()
 {
     if ($user = Auth::user()) {
         // todo: change to relation
         $count = Favorite::where('ad_id', $this->id)->where('user_id', $user->id)->count();
         if ($count > 0) {
             return true;
         }
     }
     return false;
 }