/** * 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 = []; $content_id = $request->input('content_id', 0); $type = $request->input('type', ''); $current_list = $request->input('current_list', ''); $new_list_name = $request->input('new_list_name', ''); $list_visibility = $request->input('list_visibility', ''); $content = Content::find($content_id); if (!$username || !$content) { return \Response::json(['success' => false, 'message' => 'Cannot save playlist.']); } if ($type == 'playlist') { $playlist = Playlist::ofUsername($username)->find($current_list); if ($playlist) { if ($playlist->contents->contains($content->id)) { $response['success'] = false; $response['message'] = $content->title . ' already in playlist ' . $playlist->name . '.'; } else { $playlist->contents()->attach($content->id); $response['success'] = true; $response['message'] = $content->title . ' successfully added in playlist ' . $playlist->name . '.'; } } else { $response['success'] = false; $response['message'] = 'Please select a playlist.'; } } if ($type == 'new-list') { $playlist = new Playlist(); $playlist->username = $username; $playlist->name = $new_list_name; $playlist->visibility = $list_visibility; $playlist->save(); $playlist->contents()->attach($content->id); $response['success'] = true; $response['message'] = $new_list_name . ' successfully created!'; } return \Response::json($response); }
public function view($id, $slug = '') { $network = $this->network; $data = $this->data; $content = Content::find($id); if (!$content) { return redirect('/'); } $job = new UpdateViewCount($id); $this->dispatch($job); $site = $content->sites()->ofNetwork($network->id)->first(); $theme = $site->theme != '' ? $site->theme : $network->theme; $theme = check_for_tour_theme($theme); Theme::setActive($theme); $data['page_title'] = $content->title; $data['content'] = $content; $data['photos'] = $content->files()->photos()->get(); $data['videos'] = $content->files()->videos()->get(); $data['similar'] = Content::ofNetwork($this->network->id)->similar($content)->published()->take(12)->get(); $data['type'] = 'stream'; $data['site'] = $site; $data['content_sites'] = $content->sites()->ofNetwork($network->id)->orderBy('name', 'asc')->get(); $data['content_tags'] = $content->tags()->ofNetwork($network->id)->orderBy('name', 'asc')->get(); $data['content_models'] = $content->models()->ofNetwork($network->id)->orderBy('name', 'asc')->get(); $data['content_dvds'] = $content->dvds()->ofNetwork($network->id)->orderBy('title', 'asc')->get(); $this->breadcrumbs->addCrumb('Updates', url('updates')); $this->breadcrumbs->addCrumb($content->title); $username = \Request::server('PHP_AUTH_USER', 'sampleuser'); $data['has_rated'] = $content->ratings()->where('username', $username)->first(); $data['is_favorite'] = $username && Favorite::ofUsername($username)->hasFavorite('Content', $content->id)->count() ? 1 : 0; if (\Request::input('pl')) { $param = explode(':', \Request::input('pl')); if (isset($param[0]) && $param[0] == 'dvd') { $data['on_dvd'] = true; $dvd = $content->dvds()->find(isset($param[1]) ? $param[1] : 0); $data['dvd'] = $dvd; $data['dvd_contents'] = $dvd->contents()->get(); } if (isset($param[0]) && $param[0] == 'member') { $data['on_playlist'] = true; $playlist = Playlist::find(isset($param[1]) ? $param[1] : 0); $data['playlist'] = $playlist; $data['playlist_contents'] = $playlist->contents()->get(); } } $data['playlists'] = Playlist::ofUsername($username)->get(); $data['piwik_tracker_ids'] = config('yppmembers.use_piwik') && $site->piwik_id != 0 ? array_merge($data['piwik_tracker_ids'], [$site->piwik_id]) : $data['piwik_tracker_ids']; return Theme::view('content.view', $data); }