/**
  * 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);
 }