/**
  * Modify user (form)
  */
 public function modify_check($id)
 {
     $user = User::find($id);
     if (!$user) {
         return Redirect::route('members')->with('mError', 'Cet utilisateur est introuvable !');
     }
     if (!Auth::user()->isSuperAdmin() && $id != Auth::id()) {
         App::abort(403, 'Unauthorized action.');
         return false;
     }
     $validator = Validator::make(Input::all(), User::$rules);
     if (!$validator->fails()) {
         // Vérifier que l'adresse email soit unique (peut-être à améliorer... directement dans l'entity ?)
         $check = User::where('email', '=', $user->email)->where('id', '!=', $user->id)->first();
         if (!$check) {
             $user->email = Input::get('email');
             $user->firstname = Input::get('firstname');
             $user->lastname = Input::get('lastname');
             if (Input::get('password')) {
                 $user->password = Hash::make(Input::get('password'));
             }
             $user->bio_short = Input::get('bio_short');
             $user->bio_long = Input::get('bio_long');
             $user->twitter = Input::get('twitter');
             $user->website = Input::get('website');
             $user->phone = Input::get('phone');
             $user->social_github = Input::get('social_github');
             $user->social_instagram = Input::get('social_instagram');
             $user->social_linkedin = Input::get('social_linkedin');
             $user->social_facebook = Input::get('social_facebook');
             if (Auth::user()->isSuperAdmin()) {
                 $user->is_member = Input::get('is_member', false);
             }
             if (Input::get('birthday')) {
                 $birthday = explode('/', Input::get('birthday'));
                 $user->birthday = $birthday[2] . '-' . $birthday[1] . '-' . $birthday[0];
             } else {
                 $user->birthday = '';
             }
             if (!$user->role) {
                 $user->role = 'member';
             }
             $need_to_move_file = false;
             if (Input::hasFile('avatar')) {
                 // remove previous
                 if ($user->avatar) {
                     try {
                         Croppa::delete(sprintf('/uploads/users/%d/%s', $user->id, $user->avatar));
                     } catch (\League\Flysystem\FileNotFoundException $e) {
                     }
                 }
                 $filename = Str::random(8) . '.' . File::extension(Input::file('avatar')->getClientOriginalName());
                 $user->avatar = $filename;
                 $need_to_move_file = true;
             }
             if ($user->save()) {
                 if ($need_to_move_file) {
                     $target_folder = public_path() . '/uploads/users/' . $user->id;
                     if (!is_dir($target_folder)) {
                         mkdir($target_folder);
                     }
                     Input::file('avatar')->move($target_folder, $filename);
                 }
                 return Redirect::route('user_profile', $user->id)->with('mSuccess', 'Cet utilisateur a bien été modifié');
             } else {
                 return Redirect::route('user_modify', $user->id)->with('mError', 'Impossible de modifier cet utilisateur');
             }
         }
     } else {
         return Redirect::route('user_modify', $user->id)->with('mError', 'Il y a des erreurs')->withErrors($validator->messages())->withInput();
     }
 }
 /**
  * Remove a log
  * @return Response request response
  */
 public function postDelete($id)
 {
     $category = Category::find($id);
     // If no item in database
     if (empty($category) || empty($category->id)) {
         return Redirect::route('admin.categories')->with('message', Lang::get('admin/categories.edit.inexistant'));
     }
     try {
         $category->delete();
         Croppa::delete('uploads/categories/thumbs/' . $id . '.png');
         Croppa::delete('uploads/categories/covers/' . $id . '.png');
     } catch (Exception $e) {
         return Redirect::back()->with('message', Lang::get('admin/categories.new.error_delete'))->withInput();
     }
     return Redirect::route('admin.categories')->with('message', Lang::get('admin/categories.delete.message', array('title' => Input::get('title'))));
 }
 public function postUpdate($id)
 {
     $campaign = Campaign::find($id);
     // If no item in database
     if (empty($campaign) || empty($campaign->id)) {
         return Redirect::route('public.campaigns')->with('message', Lang::get('campaigns.edit.inexistant'));
     }
     if (!($campaign->vendor->id == Auth::user()->id || Auth::user()->role()->first()->name_tag == 'admin')) {
         return Redirect::back()->with('message', Lang::get('campaigns.edit.unauthorized'));
     }
     $validator = Validator::make(Input::all(), Campaign::$rules);
     $data = Input::all();
     $data['item_price'] = intval(Input::get('item_price', 0) * 100);
     if ($validator->passes()) {
         $campaign->fill($data)->save();
         $cover = Input::file('cover', null);
         if (null !== $cover) {
             Croppa::delete('uploads/campaigns/covers/' . $id . '.png');
             $destination_path = 'uploads/campaigns/covers';
             $file_name = $campaign->id;
             $path_parts = explode('.', $cover->getClientOriginalName());
             $ext = $path_parts[count($path_parts) - 1];
             $cover_passes = Input::file('cover')->move($destination_path, $file_name . '.png');
         } else {
             $cover_passes = true;
         }
         if (is_bool($cover_passes) && $cover_passes == false) {
             return Redirect::back()->with('message', Lang::get('campaigns.cover.bad_upload_error'))->withInput();
         }
         $thumb = Input::file('thumb', null);
         if (null !== $thumb) {
             Croppa::delete('uploads/campaigns/thumbs/' . $id . '.png');
             $destination_path = 'uploads/campaigns/thumbs';
             $file_name = $campaign->id;
             $path_parts = explode('.', $thumb->getClientOriginalName());
             $ext = $path_parts[count($path_parts) - 1];
             $thumb_passes = Input::file('thumb')->move($destination_path, $file_name . '.png');
         } else {
             $thumb_passes = true;
         }
         if (is_bool($thumb_passes) && $thumb_passes == false) {
             return Redirect::back()->with('message', Lang::get('campaigns.thumb.bad_upload_error'))->withInput();
         }
         return Redirect::back()->with('message', Lang::get('campaigns.edit.message', array('title' => Input::get('title'))));
     } else {
         return Redirect::back()->with('message', Lang::get('campaigns.edit.error'))->withErrors($validator)->withInput();
     }
 }