/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $username = \Request::server('PHP_AUTH_USER', 'sampleuser'); $response = []; $type = $request->input('type', ''); $id = $request->input('id', ''); $model = null; switch ($type) { case 'Content': $model = Content::find($request->input('id')); break; case 'Dvd': $model = Dvd::find($request->input('id')); break; case 'Dvdseries': $model = Dvdseries::find($request->input('id')); break; case 'Model': $model = Model::find($request->input('id')); break; } if ($username && $id && $model) { if (Favorite::ofUsername($username)->hasFavorite($type, $id)->count()) { $response['success'] = false; $response['message'] = 'Already in your favorites.'; } else { $fav = new Favorite(); $fav->username = $username; $model->favorites()->save($fav); $response['success'] = true; $response['message'] = 'Successfully added to your favorites.'; } } return \Response::json($response); }
/** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $network = $this->network; $theme = $network->theme; Theme::setActive($theme); $data = $this->data; $dvd = Dvd::find($id); $data['page_title'] = $dvd->title; $data['dvd'] = $dvd; $data['models'] = $dvd->models()->get(); $data['series'] = $dvd->series()->get(); $contents = $dvd->contents()->get(); $data['contents'] = $contents; $data['similar'] = Dvd::ofNetwork($this->network->id)->similar($dvd)->take(12)->get(); $total_pics = 0; $total_vids = 0; $total_video_duration = 0; foreach ($contents as $content) { if ($content->has_photos) { $total_pics += $content->photos_count; } if ($content->has_videos) { $total_vids += $content->files()->videos()->count(); $total_video_duration += $content->files()->videos()->sum('duration'); } } $data['total_pics'] = $total_pics; $data['total_vids'] = $total_vids; $data['total_video_duration'] = YppContent::makeSecondsToTime($total_video_duration); $username = \Request::server('PHP_AUTH_USER', 'sampleuser'); $data['is_favorite'] = $username && Favorite::ofUsername($username)->hasFavorite('Dvd', $dvd->id)->count() ? 1 : 0; $this->breadcrumbs->addCrumb('DVD'); return Theme::view('dvd.show', $data); }