예제 #1
0
 public function postAdd(ReviewRequest $request, Review $review)
 {
     try {
         $input = $request->all();
         $review->user_id = Auth::user()->id;
         $review->product_id = $input['product_id'];
         $review->rating = $input['rating'];
         $review->title = !empty($input['title']) ? $input['title'] : '';
         $review->description = !empty($input['description']) ? $input['description'] : '';
         $review->save();
         $reviewid = $review->id;
         $message = 'Create Success';
         $msg_type = 'success';
     } catch (Exception $e) {
         $reviewid = 0;
         $message = 'Create Error';
         $msg_type = 'danger';
         // return response()->json((['error'=>$e->getMessage()]), 422);
     }
     return $reviewid;
     // return redirect()->back()->with([
     //                                     'message' => $message,
     //                                     'type' => $msg_type,
     //                                 ]);
 }
예제 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $validator = Validator::make($request->all(), ['function' => 'required', 'user_id' => 'required', 'ratings' => 'required']);
     if ($validator->fails()) {
         if ($validator->errors()->has('function')) {
             return response()->json($validator->errors()->first('function'), 400);
         }
         if ($validator->errors()->has('user_id')) {
             return response()->json($validator->errors()->first('user_id'), 400);
         }
         if ($validator->errors()->has('ratings')) {
             return response()->json($validator->errors()->first('ratings'), 400);
         }
     }
     $review = Review::whereuser_id($request->user_id)->where('function', $request->function)->first();
     if ($review) {
         $review->ratings = $request->ratings;
         if ($request->review) {
             $review->feedback = $request->review;
         }
         $review->update();
     } else {
         $review = new Review();
         $review->user_id = $request->user_id;
         $review->ratings = $request->ratings;
         $review->function = $request->function;
         if ($request->review) {
             $review->feedback = $request->review;
         }
         $review->save();
     }
     return response()->json($review);
 }
예제 #3
0
 public function store(Request $request)
 {
     $validator = Validator::make($request->all(), ['drama_id' => 'required', 'content' => 'required', 'visible' => 'required', 'title' => 'max:255', 'episode_id' => 'exists:episodes,id']);
     if ($validator->fails()) {
         return response($validator->messages(), 422);
     }
     $review = new Review();
     $review->user_id = $request->user()->id;
     $review->drama_id = $request->input('drama_id');
     if ($request->has('episode_id')) {
         $review->episode_id = $request->input('episode_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');
         if ($review->episode_id) {
             DB::table('episodes')->where('id', $review->episode_id)->increment('reviews');
         }
         return ['result' => 'success'];
     } else {
         return response('添加失败', 422);
     }
 }
예제 #4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store($id, Request $request)
 {
     $comment = new Review();
     $comment->item_id = $request->input('news_id');
     $comment->fill($request->all());
     $comment->save();
     return Redirect::back();
 }
예제 #5
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function postReview(Request $request, $id)
 {
     $model = new Review();
     $model->staff_id = $id;
     $model->reviewer_id = Auth::user()->id;
     $model->point = $request->point;
     $model->comment = $request->content;
     $model->save();
     return redirect()->route('admin.index')->with('success', 'Added completely!');
 }
예제 #6
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $review = new Review();
     $id = Input::get('id');
     $review->product_id = $id;
     $review->name = Input::get('name');
     $review->email = Input::get('email');
     $review->message = Input::get('message');
     $review->save();
     return redirect()->route('product-details', $id);
 }
예제 #7
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $author = User::where('name', '=', 'Jamie Shepherd')->first();
     $node = Node::where('category', '=', 'films')->where('title', '=', 'Inception')->first();
     $review = new Review();
     $review->author = array('reference' => $author->_id, 'name' => $author->name, 'gravatar' => md5(strtolower(trim($author->email))));
     $review->node = array('reference' => $node->_id, 'title' => $node->title);
     $review->score = 7.9;
     $review->review = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.';
     $review->thumbs = 0;
     $review->save();
     $node->avg = number_format(round(Review::where('node.reference', $node->_id)->avg('score'), 1), 1);
     $node->increment('reviewCount');
     $node->save();
 }
예제 #8
0
 public function newReview(Request $request)
 {
     $this->validate($request, ['review_name' => 'required|max:255', 'file' => 'required']);
     $id = uniqid();
     $name = $request->input('review_name');
     $file = $request->file('file');
     $review = new Review();
     $review->id = $id;
     $review->name = $name;
     $review->save();
     if ($file->getMimeType() == 'application/zip') {
         $zip = zip_open($request->file('file')->getPathName());
         if (is_resource($zip)) {
             while ($zip_entry = zip_read($zip)) {
                 $name = zip_entry_name($zip_entry);
                 $size = zip_entry_filesize($zip_entry);
                 if (zip_entry_open($zip, $zip_entry, 'r')) {
                     $contents = zip_entry_read($zip_entry, $size);
                     $finfo = new \finfo(FILEINFO_MIME_TYPE);
                     $type = $finfo->buffer($contents);
                     if (in_array($type, File::$AcceptTypes) && File::IsValidNameName($name)) {
                         $dbFile = new File();
                         $dbFile->review_id = $id;
                         $dbFile->contents = $contents;
                         $dbFile->type = $type;
                         $dbFile->name = $name;
                         $dbFile->size = $size;
                         $dbFile->save();
                     }
                 }
                 zip_entry_close($zip_entry);
             }
         }
     } else {
         $dbFile = new File();
         $dbFile->review_id = $id;
         $dbFile->contents = file_get_contents($request->file('file')->getPathname());
         $dbFile->type = $file->getMimeType();
         $dbFile->name = $file->getClientOriginalName();
         $dbFile->size = $file->getClientSize();
         $dbFile->save();
     }
     return redirect('reviews/' . $id);
 }
예제 #9
0
 /**
  * @return \Illuminate\Http\JsonResponse
  */
 public function review()
 {
     header("Access-Control-Allow-Origin: *");
     $response = new YYResponse(FALSE, 'Something went wrong.');
     $validator = Validator::make(Request::all(), ['product_id' => 'required|integer', 'uid' => 'required|integer', 'rating' => 'required|integer']);
     if ($validator->fails()) {
         $response->errors = $validator->errors();
         return response()->json($response);
     }
     $review = Review::where(['uid' => Request::get('uid'), 'product_id' => Request::get('product_id')])->first();
     if (!$review) {
         $review = new Review();
     }
     $review->comment = Request::get('comment', null);
     $review->uid = Request::get('uid');
     $review->product_id = Request::get('product_id');
     $review->rating = Request::get('rating');
     if ($review->save()) {
         $response->state = true;
         $response->message = 'Review created.';
     }
     return response()->json(['state' => TRUE]);
 }
예제 #10
0
 public function handleRating($rating, $text = '')
 {
     $rating = intval($rating);
     $widget_type = $this->widget->widgetType;
     if ($this->hasRated() || ($rating < 0 || $rating > $widget_type->max)) {
         $this->failure = true;
     }
     if (!$this->failure) {
         // Insert new review
         $review = new Review();
         $review->rating = $rating;
         $review->text = "";
         if (!empty($text)) {
             $review->text = strip_tags(nl2br($text));
         }
         $review->resource_id = $this->resource->id;
         $review->visitor_id = $this->visitor->id;
         $review->published_at = Carbon::now();
         $review->save();
         return response()->view('api.success', array('api' => compact($this)))->header('Content-Type', 'application/json')->header('Access-Control-Allow-Origin', '*');
     }
     return response()->view('api.failure', array('api' => compact($this)))->header('Content-Type', 'application/json')->header('Access-Control-Allow-Origin', '*');
 }
예제 #11
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $this->validate($request, ['drama_id' => 'required', 'content' => 'required', 'visible' => 'required', 'title' => 'max:255', 'episode_id' => 'exists:episodes,id']);
     $review = new Review();
     $review->user_id = $request->user()->id;
     $review->drama_id = $request->input('drama_id');
     if ($request->has('episode_id')) {
         $review->episode_id = $request->input('episode_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');
         if ($review->episode_id) {
             DB::table('episodes')->where('id', $review->episode_id)->increment('reviews');
         }
         return redirect()->route('review.show', [$review]);
     } else {
         return redirect()->back()->withInput()->withErrors('添加失败');
     }
 }
예제 #12
0
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function create($category, $slug)
 {
     $node = Node::where('category', $category)->where('slug', $slug)->first();
     $score = 0.0;
     if (Input::get('score') == 10) {
         $score = 10;
     } else {
         $score = Input::get('score');
     }
     // If it's the first review, reward the user
     if (Review::where('node.reference', $node->_id)->count() == 0) {
         Auth::user()->points += 1000;
         Auth::user()->save();
     }
     // Create the review
     $review = new Review();
     $review->node = array('reference' => $node->_id, 'title' => $node->title);
     $review->author = array('reference' => Auth::user()->_id, 'name' => Auth::user()->name, 'gravatar' => md5(strtolower(trim(Auth::user()->email))));
     $review->score = (double) $score;
     $review->review = Input::get('review');
     $review->thumbs = 0;
     $review->spoilers = Input::has('spoilers');
     $review->save();
     if ($review->score < 4) {
         $node->increment('overall_negative');
     } else {
         if ($review->score < 7) {
             $node->increment('overall_mixed');
         } else {
             $node->increment('overall_positive');
         }
     }
     $node->avg = number_format(round(Review::where('node.reference', $node->_id)->avg('score'), 1), 1);
     $node->increment('reviewCount');
     $node->save();
     return back();
 }
예제 #13
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('修改失败');
     }
 }
예제 #14
0
 public function modAdd()
 {
     $film = Input::get('film');
     $user = Input::get('user');
     $review = Input::get('review');
     $vote = Input::get('vote');
     $check = DB::table('film_review')->where('fr_usr_id', $user)->where('fr_fl_id', $film)->first();
     if ($check) {
     } else {
         if (!$review == "") {
             // inserts the review
             $rev = new Review();
             // revie instance
             $rev->fr_fl_id = $film;
             $rev->fr_usr_id = $user;
             $rev->fr_review = $review;
             $rev->fr_vote = $vote;
             $rev->fr_date = \time();
             $rev->save();
             // saves review
             // insert a new user actions
             $act = new Activity();
             // notification instance
             $act->type_id = '2';
             // activity type 2 for review
             $act->subject_id = $user;
             // id of the user
             $act->object_type = 'film';
             // type of object
             $act->object_id = $film;
             // id of the object
             $act->action_date = \time();
             // time of the activity
             $act->save();
             // saves activity
         }
     }
     // gets the review details from the given id
     $latest = DB::table('film_review')->where('fr_usr_id', $user)->orderBy('fr_id', 'desc')->first();
     $user = user::find($user);
     return view('reviews.add', compact('latest', 'user'));
 }
예제 #15
0
 public function update2(Request $request, $episode_id)
 {
     $validator = Validator::make($request->all(), ['content' => 'required_with:title', 'visible' => 'required_with:content', 'type' => 'required|in:0,2,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 = Epfav::where('user_id', $request->user()->id)->where('episode_id', $episode_id)->first();
     $oldType = $favorite->type;
     $favorite->type = $request->input('type');
     if ($favorite->type == 0) {
         $favorite->rating = 0;
     } else {
         $favorite->rating = $request->input('rating');
     }
     $result = DB::table('epfavs')->where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->update(['type' => $favorite->type, 'rating' => $favorite->rating, 'updated_at' => date("Y-m-d H:i:s")]);
     if ($result) {
         DB::table('users')->where('id', $favorite->user_id)->decrement('epfav' . $oldType);
         DB::table('users')->where('id', $favorite->user_id)->increment('epfav' . $favorite->type);
         $review = Review::where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->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 = $request->input('drama_id');
                 $review->episode_id = $favorite->episode_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');
                     DB::table('episodes')->where('id', $review->episode_id)->increment('reviews');
                 } else {
                     return response('收藏修改成功,评论添加失败> <', 422);
                 }
             }
         }
         return ['result' => 'success'];
     } else {
         return response('修改失败> <', 422);
     }
 }
예제 #16
0
 /**
  * post review save
  *
  * @param  Request  $request
  * @return Response
  */
 public function postReview(Request $request)
 {
     $res = array();
     $res['success'] = false;
     if (!$request->ajax()) {
         dd("NO ASYNC REQUEST");
     }
     $this->validate($request, ['review' => 'required|max:255', 'user' => 'required']);
     $user = Auth::user();
     $review = new Review();
     $review->comment = $request->input('review');
     $review->user_id = $request->input('user');
     $review->reviewer_id = $user->id;
     $review->save();
     $res['success'] = true;
     return $res;
 }
예제 #17
0
 public function update2(Request $request, $episode_id)
 {
     $this->validate($request, ['content' => 'required_with:title', 'visible' => 'required_with:content', 'type' => 'required|in:0,2,4', 'rating' => 'in:0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5', 'title' => 'max:255']);
     $favorite = Epfav::where('user_id', $request->user()->id)->where('episode_id', $episode_id)->first();
     $oldType = $favorite->type;
     $favorite->type = $request->input('type');
     if ($favorite->type == 0) {
         $favorite->rating = 0;
     } else {
         $favorite->rating = $request->input('rating');
     }
     //修改收藏
     $result = DB::table('epfavs')->where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->update(['type' => $favorite->type, 'rating' => $favorite->rating, 'updated_at' => date("Y-m-d H:i:s")]);
     if ($result) {
         DB::table('users')->where('id', $favorite->user_id)->decrement('epfav' . $oldType);
         DB::table('users')->where('id', $favorite->user_id)->increment('epfav' . $favorite->type);
         $review = Review::where('user_id', $favorite->user_id)->where('episode_id', $episode_id)->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 = $request->input('drama_id');
                 $review->episode_id = $favorite->episode_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');
                     DB::table('episodes')->where('id', $review->episode_id)->increment('reviews');
                 } else {
                     return redirect()->back()->withInput()->withErrors('收藏修改成功,评论添加失败');
                 }
             }
         }
         return redirect()->route('episode.show', [$episode_id]);
     } else {
         return redirect()->back()->withInput()->withErrors('修改失败');
     }
 }
예제 #18
0
 public function postreview($id, Request $request)
 {
     $r = $request->all();
     if (empty($r['rating'])) {
         return "rating";
     }
     if (empty($r['title'])) {
         return "title";
     }
     if (empty($r['content'])) {
         return "content";
     }
     if (Auth::check()) {
         $users = Auth::user();
         $news = new Review();
         $news->cid_product = $id;
         $news->email = $users->email;
         $news->cid_user = $users->id;
         $news->title = $r['title'];
         $news->description = $r['content'];
         $news->created = date("Y-m-d H:i:s");
         $news->status = '1';
         $news->cid_parent = '0';
         $news->likes = '1';
         $news->unlikes = '0';
         $news->rate = $r['rating'];
         $news->save();
     } else {
         return '2';
     }
     return '1';
 }
예제 #19
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);
     }
 }
예제 #20
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $staff_id = (int) $request->staffId;
     $staff = Staff::find($staff_id);
     // is Leader
     // if is manager / != department / yourself
     // denied
     if (Gate::allows('check-leader')) {
         if ($staff->level->role->name == 'Manager' || $staff->department_id != Auth::user()->department_id || $staff->id == Auth::user()->id) {
             return redirect()->route('admin.staff.index')->with('message', 'Access is denied');
         }
     }
     // is Manager
     if (Gate::allows('check-manager')) {
         if ($staff->level->role->name == 'Manager') {
             return redirect()->route('admin.staff.index')->with('message', 'Access is denied');
         }
     }
     // is Developer
     // if is manager / != department / yourself
     // denied
     if (Gate::allows('check-developer')) {
         if ($staff->level->role->name == 'Manager' || $staff->department_id != Auth::user()->department_id || $staff->id == Auth::user()->id) {
             return redirect()->route('admin.department.index');
         }
         // if != leader of team
         $staff_team = StaffTeam::where('staff_id', Auth::user()->id)->get()->first();
         if (!empty($staff_team)) {
             $team = Team::where('id', $staff_team->team_id)->get()->first();
             if ($staff->level->role->name == 'TeamLeader' && $staff->id != $team->creator) {
                 return redirect()->route('admin.department.index');
             }
         } else {
             return redirect()->route('admin.department.index');
         }
     }
     $this->validate($request, ['point' => 'required|numeric', 'review' => 'required', 'staffId' => 'required|numeric', 'rActive' => 'required|numeric']);
     $review = ReView::where(['reviewer_id' => Auth::user()->id, 'staff_id' => $staff_id])->get()->first();
     // review less than 30 days!
     // denied
     if (isset($review) && !empty($review)) {
         $time = strtotime($review->created_at);
         $curtime = time();
         if ($curtime - $time < 3600 * 24 * 30) {
             return redirect()->route('admin.department.index')->with('message', 'less than 30 days!');
         }
     }
     $point = (int) $request->point;
     $reviewer = Auth::user()->id;
     $review = new Review();
     $review->staff_id = $staff_id;
     $review->reviewer_id = $reviewer;
     $review->point = $point;
     $review->comment = $request->review;
     $review->active = $request->rActive;
     $review->save();
     return redirect()->route('admin.review.show', $staff_id)->with('message', 'Create review complete!');
 }
예제 #21
0
 function postReviewTravel(Request $request)
 {
     $review = new Review();
     $photo = new PhotoGallery();
     //-----------------------upload image-----------------------//
     $file = Input::file('profile_picture');
     if ($file != null) {
         $destinationPath = 'img/';
         $filename = md5(microtime() . $file->getClientOriginalName()) . "." . $file->getClientOriginalExtension();
         Input::file('profile_picture')->move($destinationPath, $filename);
         $photo->link_item_id = $request->hidden_value;
         $photo->photo_url = '/' . $destinationPath . $filename;
         $review->title_picture = '/' . $destinationPath . $filename;
         $photo->save();
     }
     //----------------------------------------------------------//
     $last_id = 0;
     if (($count = DB::table('review')->count()) != 0) {
         $last_id = DB::table('review')->skip($count - 1)->first()->review_id;
     }
     $review->review_id = $last_id + 1;
     $review->title = $request->title;
     $review->content = $request->description;
     $review->link_item_id = $request->hidden_value;
     $review->link_user_id = $request->user_id;
     $review->save();
     $isAttracionReview = DB::table('item')->where('item_id', $request->hidden_value)->join('attraction', 'item.item_id', '=', 'attraction.link_item_id')->count();
     $isRestaurantReview = DB::table('item')->where('item_id', $request->hidden_value)->join('restaurant', 'item.item_id', '=', 'restaurant.link_item_id')->count();
     if ($isAttracionReview == 1) {
         return redirect('/page_travel/info/' . $request->hidden_value);
     } else {
         if ($isRestaurantReview == 1) {
             return redirect('/page_restaurant/info/' . $request->hidden_value);
         } else {
             return redirect('/page_event/info/' . $request->hidden_value);
         }
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $data = ['review_title' => 'model create ok', 'review_content' => 'happy after a day'];
     Review::save($data);
 }