| 
					
				 | 
			
			
				@@ -4,6 +4,8 @@ namespace App\Http\Controllers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use App\Music; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 use Illuminate\Http\Request; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Illuminate\Support\Facades\Storage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+use Illuminate\Support\Str; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -16,22 +18,75 @@ class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // list all songs 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $songs = Music::all(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return view('home', ['song_list'=>$songs]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return view('home', ['song_list' => $songs]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function playlog(Music $music){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function playLog(Music $music) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // add one to played log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $music->played += 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $music->save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $music->played; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function dwlog(Music $music){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function dwLog(Music $music) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // add one to download log 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $music->downloads += 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $music->save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return $music->downloads; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public function null(Music $music){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function fileRefresh() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Scan for files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $fIndex = array(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $files = Storage::disk('local')->listContents('public/audio', true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //return $files; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Update storage index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $songs = Music::all(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach ($files as $f) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $fix_path = Str::replaceFirst('public/', 'storage/', $f['path']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // add NEW files to DB 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!Music::where('file_name', $fix_path)->first()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody = new Music(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->title = $f['filename']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->description = $f['filename']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->played = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->downloads = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->hidden = 0; // visible 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->file_name = $fix_path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if ($f['type'] == 'dir') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $melody->type = 'dir'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } elseif ($f['type'] == 'file') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if ($f['extension'] == 'txt') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $melody->type = 'txt'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $melody->description = Storage::disk('local')->read($f['path']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $melody->type = $f['extension']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $melody->save(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            $fIndex[] = $fix_path; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // Clean DB of OLD files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        $musicdB = Music::all(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        foreach ($musicdB as $song) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (!in_array($song->file_name, $fIndex)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $song->delete(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return $files; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public function null(Music $music) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -48,7 +103,7 @@ class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * Store a newly created resource in storage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param  \Illuminate\Http\Request  $request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param \Illuminate\Http\Request $request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return \Illuminate\Http\Response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function store(Request $request) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -59,7 +114,7 @@ class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * Display the specified resource. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param  \App\Music  $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param \App\Music $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return \Illuminate\Http\Response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function show(Music $music) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -70,7 +125,7 @@ class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * Show the form for editing the specified resource. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param  \App\Music  $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param \App\Music $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return \Illuminate\Http\Response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function edit(Music $music) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,8 +136,8 @@ class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * Update the specified resource in storage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param  \Illuminate\Http\Request  $request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param  \App\Music  $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param \Illuminate\Http\Request $request 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param \App\Music $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return \Illuminate\Http\Response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function update(Request $request, Music $music) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,7 +148,7 @@ class MusicController extends Controller 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * Remove the specified resource from storage. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     * @param  \App\Music  $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param \App\Music $music 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return \Illuminate\Http\Response 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public function destroy(Music $music) 
			 |