public function store() { // return Input::all(); $emailRule = Auth::guest() ? 'required' : ''; $rules = ['name' => 'required|min:6', 'url' => 'required|url|min:11', 'email' => $emailRule]; $messages = ['name.required' => Config::get('site.validate.name.required'), 'name.min' => Config::get('site.validate.name.min'), 'url.required' => Config::get('site.validate.url.required'), 'url.url' => Config::get('site.validate.url.url'), 'url.min' => Config::get('site.validate.url.min'), 'email.required' => Config::get('site.validate.email.required')]; $validator = Validator::make(Input::all(), $rules, $messages); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } // Extracts the YouTube ID from various URL structures $name = Input::get('name'); $url = Input::get('url'); if (preg_match('%(?:youtube(?:-nocookie)?\\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\\.be/)([^"&?/ ]{11})%i', $url, $match)) { $id = $match[1]; $image_url = "http://img.youtube.com/vi/{$id}/hqdefault.jpg"; } else { return Redirect::back()->withMessage(Config::get('site.message.youtube-failed')); } $storedMP4 = MP4::whereName(Input::get('name'))->first(); if ($storedMP4) { if (Request::ajax()) { $response = []; $response['success'] = true; $response['url'] = "/mp4/{$storedMP3->id}"; return $response; } return Redirect::to("mp4/{$storedMP4->id}"); } // Check if there's a user logged in. If not, use the admin ID. $admin_id = User::whereAdmin(1)->first()->id; $user_id = Auth::check() ? Auth::user()->id : $admin_id; // Insert the infos in the database $mp4 = new MP4(); $mp4->name = Input::get('name'); $mp4->youtube_id = $id; $mp4->image = $image_url; $mp4->user_id = $user_id; $mp4->category_id = Input::get('cat'); $mp4->description = Input::get('description'); $mp4->save(); if (App::environment() == 'production') { TKPM::tweet($mp4, 'mp4'); } if (Auth::guest() && Input::has('email')) { $mp4->userEmail = Input::get('email'); $data = ['mp4' => $mp4, 'subject' => 'Felisitasyon!!! Ou fèk mete yon nouvo mizik']; TKPM::sendMail('emails.user.guest4', $data, 'guest4'); } else { // Send a email to the new user letting them know their video has been uploaded $data = ['mp4' => $mp4, 'subject' => 'Felisitasyon!!! Ou fèk mete yon nouvo videyo']; TKPM::sendMail('emails.user.mp4', $data, 'mp4'); } Cache::flush(); return Redirect::to('mp4/' . $mp4->id); }
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ò.'); } }
public function deleteUser($id = null) { $del = Input::get('del'); if (!empty($id) && Auth::user()->is_admin()) { $admin = Auth::user(); $user = User::find($id); $mp3s = $user->mp3s()->get(); $mp4s = $user->mp4s()->get(); foreach ($mp3s as $mp3) { $mp3->user_id = $admin->id; $mp3->save(); Vote::whereObj('MP3')->whereObjId($mp3->id)->whereUserId($user->id)->delete(); } foreach ($mp4s as $mp4) { $mp4->user_id = $admin->id; $mp4->save(); Vote::whereObj('MP4')->whereObjId($mp4->id)->whereUserId($user->id)->delete(); } $user->delete(); return Redirect::back(); } $user = Auth::user(); $admin = User::whereAdmin(1)->first(); $mp3s = $user->mp3s()->get(); $mp4s = $user->mp4s()->get(); foreach ($mp3s as $mp3) { Vote::whereObj('MP3')->whereObjId($mp3->id)->whereUserId($user->id)->delete(); if ($del) { $mp3->delete(); File::delete(Config::get('site.mp3_upload_path') . '/' . $mp3->mp3name); File::delete(Config::get('site.image_upload_path') . '/' . $mp3->image); File::delete(Config::get('site.image_upload_path') . '/thumbs/' . $mp3->image); File::delete(Config::get('site.image_upload_path') . '/tiny/' . $mp3->image); } else { $mp3->user_id = $admin->id; $mp3->save(); } } foreach ($mp4s as $mp4) { Vote::whereObj('MP4')->whereObjId($mp4->id)->whereUserId($user->id)->delete(); if ($del) { $mp4->delete(); } else { $mp4->user_id = $admin->id; $mp4->save(); } } Auth::logout(); $user->delete(); Cache::flush(); $aff = ''; if ($del) { $aff = 'Mizik ak Videyo ou yo efase tou avèk siskè. Ou ka <a href="/register">kreye yon nouvo kont</a> nenpòt lè ou vle.'; } return Redirect::to('/')->withMessage('Kont ou an efase avèk sikè. ' . $aff); }