Exemplo n.º 1
0
 public function download()
 {
     $url = Input::get('url');
     $mp3 = MP3::whereUrl($url)->first();
     if ($mp3) {
         $mp3->count += 1;
         $mp3->save();
         $count = MP3::sum('count');
         $response = ['success' => true, 'link' => $mp3->link, 'count' => $count, 'title' => $mp3->title];
         return $response;
     }
     if (!empty($url)) {
         $meta = Keeng::getMeta($url);
         // return $meta;
         if ($meta) {
             $mp3 = new MP3();
             $mp3->title = $meta['title'];
             $mp3->url = $url;
             $mp3->link = $meta['link'];
             $mp3->count = 1;
             $mp3->save();
             $count = MP3::sum('count');
             $response = ['success' => true, 'url' => $url, 'link' => $meta['link'], 'count' => $count, 'title' => $meta['title']];
             return $response;
         }
         return ['success' => false];
     }
 }
Exemplo n.º 2
0
 public function store()
 {
     // return Input::all();
     $email_rule = Auth::guest() ? 'required' : '';
     $rules = ['name' => 'required|min:6', 'mp3' => 'required|mimes:mpga|max:64000000', 'image' => 'required|image', 'email' => $email_rule];
     $messages = ['name.required' => Config::get('site.validate.name.required'), 'name.min' => Config::get('site.validate.name.min'), 'mp3.required' => Config::get('site.validate.mp3.required'), 'mp3.mimes' => Config::get('site.validate.mp3.mimes'), 'mp3.size' => Config::get('site.validate.mp3.size'), 'image.required' => Config::get('site.validate.image.required'), 'image.image' => Config::get('site.validate.image.image'), 'email.required' => Config::get('site.validate.email.required')];
     $validator = Validator::make(Input::all(), $rules, $messages);
     if ($validator->fails()) {
         if (Request::ajax()) {
             $response = [];
             $response['success'] = false;
             $response['errors'] = $validator->messages();
             return $response;
         }
         return Redirect::to('/mp3/up')->withErrors($validator)->withInput();
     }
     $storedMP3 = MP3::whereName(Input::get('name'))->first();
     if ($storedMP3) {
         if (Request::ajax()) {
             $response = [];
             $response['success'] = true;
             $response['url'] = $storedMP3->price == 'paid' ? "/mp3/{$storedMP3->id}/edit" : "/mp3/{$storedMP3->id}";
             return $response;
         }
         return Redirect::to("mp3/{$storedMP3->id}");
     }
     /****** MP3 Uploading *******/
     $price = Input::get('price');
     $name = Input::get('name');
     $mp3 = Input::file('mp3');
     $mp3_size = TKPM::size($mp3->getClientsize());
     $mp3_ext = $mp3->getClientOriginalExtension();
     $mp3_name = Str::slug($name, '-') . '-' . Str::random(32) . '.' . $mp3_ext;
     $mp3_upload_path = Config::get('site.mp3_upload_path');
     $mp3_success = $mp3->move($mp3_upload_path, $mp3_name);
     /************ Image Uploading *****************/
     $img = Input::file('image');
     $img_type = $img->getMimeType();
     $img_ext = $img->getClientOriginalExtension();
     $img_name = Str::slug($name, '-') . '-' . Str::random(32) . '.' . $img_ext;
     $img_upload_path = Config::get('site.image_upload_path');
     $img_success = $img->move($img_upload_path, $img_name);
     if ($img_success) {
         TKPM::image($img_name, 250, 250, 'thumbs');
         TKPM::image($img_name, 100, null, 'thumbs/tiny');
         TKPM::image($img_name, 640, 360, 'show');
     }
     $admin_id = User::whereAdmin(1)->first()->id;
     $user_id = Auth::check() ? Auth::user()->id : $admin_id;
     if ($mp3_success && $img_success) {
         $mp3 = new MP3();
         $mp3->name = ucwords($name);
         $mp3->mp3name = $mp3_name;
         $mp3->image = $img_name;
         $mp3->user_id = $user_id;
         $mp3->category_id = Input::get('cat');
         $mp3->size = $mp3_size;
         if ($price == 'free') {
             $mp3->publish = 1;
         }
         $mp3->price = $price;
         if (!$price) {
             $mp3->publish = 1;
             $mp3->price = 'free';
         }
         $mp3->description = Input::get('description');
         $mp3->save();
         /************** GETID3 **************/
         TKPM::tag($mp3, $img_name, $img_type);
         /******* Flush the cache ********/
         Cache::flush();
         if ($mp3->price == 'paid') {
             // Send an email to the new user letting them know their music has been uploaded
             $data = ['mp3' => $mp3, 'subject' => 'Felisitasyon!!! Ou fèk mete yon nouvo mizik pou vann.'];
             TKPM::sendMail('emails.user.buy', $data, 'mp3');
         } elseif (Auth::guest() && Input::has('email')) {
             $mp3->userEmail = Input::get('email');
             $data = ['mp3' => $mp3, 'subject' => 'Felisitasyon!!! Ou fèk mete yon nouvo mizik'];
             TKPM::sendMail('emails.user.guest3', $data, 'guest3');
         } else {
             // Send an email to the new user letting them know their music has been uploaded
             $data = ['mp3' => $mp3, 'subject' => 'Felisitasyon!!! Ou fèk mete yon nouvo mizik'];
             TKPM::sendMail('emails.user.mp3', $data, 'mp3');
         }
         if (!App::isLocal()) {
             TKPM::tweet($mp3, 'mp3');
         }
         if (Request::ajax()) {
             $response = [];
             $response['success'] = true;
             $response['url'] = $price == 'paid' ? "/mp3/{$mp3->id}/edit" : "/mp3/{$mp3->id}";
             return $response;
         }
         Cache::forget('latest.musics');
         if ($price == 'paid') {
             return Redirect::to("mp3/{$mp3->id}/edit");
         }
         return Redirect::to('mp3/' . $mp3->id);
     } else {
         if (Request::ajax()) {
             $response = [];
             $response['success'] = false;
             $response['message'] = 'Nou regrèt men nou pa reyisi mete mizik ou a. Eseye ankò.';
             return $response;
         }
         return Redirect::to(Request::url())->with('message', 'Nou regrèt men nou pa reyisi mete mizik ou a. Eseye ankò.');
     }
 }