public function rechercher($id_campagne, Request $request)
 {
     $campagne = Campagne::find($id_campagne);
     $contenu = $request::get('recherche');
     if ($campagne != null) {
         return view('campagne', ['campagne' => $campagne, 'images' => Image::where('id_campagne', $id_campagne, false)->where(function ($query) use($contenu) {
             $query->where('titre_image', 'LIKE', '%' . $contenu . '%')->orWhere('description_image', 'LIKE', '%' . $contenu . '%');
         })->where('validation_image', 1, false)->orderByRaw('RAND()')->get(), 'elementRecherche' => $contenu]);
     } else {
         return Response("Campagne non trouvée");
     }
 }
 public function __construct($id_campagne)
 {
     $this->campagne = Campagne::find($id_campagne);
     // Si la campagne existe, on continue...
     if (!is_null($this->campagne)) {
         $this->C = $this->campagne->getNombreImages();
         $this->U = $this->campagne->choix_popularite;
         // On remplit le tableau des identifiants d'images
         $this->images = array();
         $this->campagne->retrieveImages()->each(function ($item, $key) {
             array_push($this->images, $item->id_image);
         });
         // On répartit les préférences des images entre elles
         $this->nombreVotants();
         $this->repartirPreferences();
     }
 }
 public function postForm(ImageRequest $request, $id_campagne)
 {
     // Création de l'instance Image (entité Eloquent ORM créée pour le projet)
     $Image = new Image();
     $Image->id_utilisateur = Auth::user()->getId();
     $Image->id_campagne = $id_campagne;
     $Image->titre_image = $request->input('titre_image');
     $Image->description_image = $request->input('description_image');
     $Image->validation_image = !Campagne::find($id_campagne)->aValider();
     // Création de l'objet $photo à partir de ce qu'on récupère de 'image' (Request)
     $photo = Input::file('image');
     $filename = time() . '_' . uniqid() . '.' . $photo->getClientOriginalExtension();
     $path = public_path('uploads\\' . $filename);
     $photo = CLImage::make($photo->getRealPath());
     $exif = $photo->exif() != null && array_key_exists('GPSLongitude', $photo->exif()) ? $photo->exif() : null;
     $photo->save($path);
     // Sauvegarde de l'image et calcul de la géolocalisation si disponible
     $Image->geo_image = $this->get_location($exif);
     $Image->lien_image = $filename;
     $Image->save();
     // Appel de la vue de redirection
     return Redirect('/campagne/' . $id_campagne);
     // return View::make('campagne', array('campagne'=> Campagne::find($id_campagne), 'images' => Image::all()->where('id_campagne', $id_campagne, false), 'message' => 'L\'image a été mise en ligne !'));
 }
 public function adminCampagnesEnCours()
 {
     if ($this->est_adm()) {
         return Campagne::where('date_fin_vote', '>=', DB::raw('NOW()'))->get();
     }
 }