/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $playlist = Playlist::find($request->input('id')); if ($request->input('img') && $request->input('type')) { $type = $request->input('type'); $img = $request->input('img'); $palette = null; // try { $ext = 'jpg'; $loadFunc = 'loadJpeg'; if ($type === 'image/png') { $ext = 'png'; $loadFunc = 'loadPng'; } elseif ($type === 'image/gif') { $ext = 'gif'; $loadFunc = 'loadGif'; } $imgBlob = file_get_contents($img); $imgFile = storage_path('../public/img/playlists/' . sha1($imgBlob) . '.' . $ext); file_put_contents($imgFile, $imgBlob); $colorExtractor = new ColorExtractor(); $palette = $colorExtractor->{$loadFunc}($imgFile)->extract(3); // choose two colors from the palette as the fg and bg $playlist->bg = $palette[2]; $playlist->fg = $palette[0]; $playlist->img = basename($imgFile); // } catch(Exception $ex) {} } $playlist->save(); return response()->json(['playlist' => $playlist]); }
public function run() { DB::table('playlist_user')->delete(); $user = \App\User::find(1); $user->playlists()->attach(\App\Playlist::find(1)); $user->playlists()->attach(\App\Playlist::find(2)); $user->playlists()->attach(\App\Playlist::find(3)); }
public function run() { DB::table('card_playlist')->delete(); $playlist = \App\Playlist::find(1); $playlist->cards()->attach(\App\Card::find(1)); $playlist->cards()->attach(\App\Card::find(2)); $playlist->cards()->attach(\App\Card::find(3)); $playlist->cards()->attach(\App\Card::find(4)); $playlist->cards()->attach(\App\Card::find(5)); $playlist = \App\Playlist::find(2); $playlist->cards()->attach(\App\Card::find(2)); $playlist->cards()->attach(\App\Card::find(3)); $playlist->cards()->attach(\App\Card::find(5)); $playlist = \App\Playlist::find(3); $playlist->cards()->attach(\App\Card::find(1)); $playlist->cards()->attach(\App\Card::find(2)); $playlist->cards()->attach(\App\Card::find(4)); }
public function getList($id) { $playlist = \App\Playlist::find($id); $cards = $playlist->cards; return json_encode($cards); }
public function editPlaylist($id, Request $request) { $playlist = Playlist::find($id); $pName = $playlist->playlist_name; $userID = Auth::user()['id']; $playlistTrackIDs = DB::select('SELECT track_id FROM playlist_songs where playlist_id = ?', [$id]); $userTracks = DB::select('SELECT * FROM music where band_id = ?', [$userID]); $tracksData = array(); foreach ($userTracks as $track) { $inArray = false; foreach ($playlistTrackIDs as $trackID) { if ($track->id == $trackID->track_id) { $inArray = true; } } if ($inArray) { $tracksData[$track->id . "_on"] = $track; } else { $tracksData[$track->id . "_off"] = $track; } } $tracksData = $tracksData; return view('editplaylist', ['playlistName' => $pName, 'playlistID' => $id, 'data' => $tracksData, 'page_name' => 'editplaylist']); }
/** * AJAX Only Method * Updates the indexes of a selected playlist and the effected playlist * that has been jumped over. If the request was not made by a AJAX request * HTTP 401 will be returned. * @param Illuminate\Http\Request $request * @param int $playlistID ID of the playlist to modify * @return Illuminate\Http\Response */ public function updateIndexes(Request $request, $playlistID) { if ($request->ajax() == false) { abort(401, 'Unauthorized'); } // Get ids from request $selectedID = $request->input('itemID'); $effectedID = $request->input('effectedID'); $playlist = Playlist::find($playlistID); // Can't find the playlist don't continue if (isset($playlist) == false) { abort(404); } foreach ($playlist->Adverts as $advert) { if ($advert->id == $selectedID) { $advert->pivot->advert_index = $request->input('newIndex'); $advert->pivot->save(); } else { if ($advert->id == $effectedID) { $advert->pivot->advert_index = $request->input('effectedIndex'); $advert->pivot->save(); } } } return response('Success', 200); }
public function exportForm($playlist_id, $orderBy = 'videos.artist', $order = 'asc') { $playlist = Playlist::find($playlist_id); $videos = PlaylistVideo::where('playlist_id', $playlist->id)->with('likes', 'video')->where('validation', '1'); if ($orderBy == 'score') { $order = $order == 'asc' ? 'desc' : 'asc'; } else { $videos = $videos->select('playlist_video.*'); $videos = $videos->join('videos', 'playlist_video.video_id', '=', 'videos.id'); } $videos = $videos->orderBy($orderBy, $order)->paginate(25); return view('playlists.export', compact('playlist', 'videos')); }