Example #1
0
 public function getShortlink($id)
 {
     $playlist = Playlist::find($id);
     if (!$playlist || !$playlist->canView(Auth::user())) {
         App::abort(404);
     }
     return Redirect::action('PlaylistsController@getPlaylist', [$id, $playlist->slug]);
 }
 /**
  * @throws \Exception
  * @return CommandResponse
  */
 public function execute()
 {
     $rules = ['content' => 'required', 'track_id' => 'exists:tracks,id', 'albums_id' => 'exists:albums,id', 'playlist_id' => 'exists:playlists,id', 'profile_id' => 'exists:users,id'];
     $validator = Validator::make($this->_input, $rules);
     if ($validator->fails()) {
         return CommandResponse::fail($validator);
     }
     $comment = new Comment();
     $comment->user_id = Auth::user()->id;
     $comment->content = $this->_input['content'];
     if ($this->_type == 'track') {
         $column = 'track_id';
     } else {
         if ($this->_type == 'user') {
             $column = 'profile_id';
         } else {
             if ($this->_type == 'album') {
                 $column = 'album_id';
             } else {
                 if ($this->_type == 'playlist') {
                     $column = 'playlist_id';
                 } else {
                     App::abort(500);
                 }
             }
         }
     }
     $comment->{$column} = $this->_id;
     $comment->save();
     // Recount the track's comments, if this is a track comment
     if ($this->_type === 'track') {
         $entity = Track::find($this->_id);
     } elseif ($this->_type === 'album') {
         $entity = Album::find($this->_id);
     } elseif ($this->_type === 'playlist') {
         $entity = Playlist::find($this->_id);
     } elseif ($this->_type === 'user') {
         $entity = User::find($this->_id);
     } else {
         App::abort(400, 'This comment is being added to an invalid entity!');
     }
     $entity->comment_count = Comment::where($column, $this->_id)->count();
     $entity->save();
     return CommandResponse::succeed(Comment::mapPublic($comment));
 }
Example #3
0
 function __construct($playlistId, $input)
 {
     $this->_input = $input;
     $this->_playlistId = $playlistId;
     $this->_playlist = Playlist::find($playlistId);
 }
 function __construct($playlistId, $trackId)
 {
     $this->_playlist = Playlist::find($playlistId);
     $this->_track = Track::find($trackId);
 }
 function __construct($playlistId)
 {
     $this->_playlistId = $playlistId;
     $this->_playlist = Playlist::find($playlistId);
 }