/** * Payments */ public function checkout() { $ids = session('likes', []); $total = 0; foreach ($ids as $id) { $movie = Movies::find($id); $total = $total + $movie->price; } $payer = PayPal::Payer(); $payer->setPaymentMethod('paypal'); $amount = PayPal::Amount(); $amount->setCurrency('EUR'); $amount->setTotal($total); $transaction = PayPal::Transaction(); $transaction->setAmount($amount); $transaction->setDescription("Récapitulatif total des " . count($ids) . " films commandés"); $redirectUrls = PayPal::RedirectUrls(); $redirectUrls->setReturnUrl(route('cart_done')); $redirectUrls->setCancelUrl(route('cart_cancel')); $payment = PayPal::Payment(); $payment->setIntent('sale'); $payment->setPayer($payer); $payment->setRedirectUrls($redirectUrls); $payment->setTransactions(array($transaction)); //response de Paypal $response = $payment->create($this->_apiContext); $redirectUrl = $response->links[1]->href; //redirect to Plateform Paypal return Redirect::to($redirectUrl); }
/** * Fonction de like des films, enregistré en session * Session : mécanisme de stockage temporelle * BDD: mécanisme de stockage atemporelle * @param Request $request */ public function like($id, $action) { // je recupère le film (objet MOvies) $movie = Movies::find($id); // je recupère ma variable likes en session // et je fixe un tableau par défaut // si j'ai rien en sessions likes $likes = session("likes", []); // si l'action est "like" if ($action == "like") { // J'ajoute mon movie dans le tableaux des likes en session $likes[$id] = $movie->id; Session::flash('danger', "Le film {$movie->title} a bien été liké"); } else { // je supprime le like dans le tableaux des likes // unset() supprimer un element dans un tableau en PHP unset($likes[$id]); Session::flash('success', "Le film {$movie->title} a bien été disliké"); } //j'enregistre en session mon nouveau tableaux des likes Session::put("likes", $likes); // une redirection avec message flash return Redirect::route('movies_index'); }
<thead> <tr> <th>Id</th> <th>Image</th> <th>Titre</th> <th>Description</th> <th>Montant HT</th> <th>Montant TTC</th> <th>Quantité</th> <th>Action</th> </tr> </thead> <tbody> @forelse(session('likes', []) as $like) <?php $movie = \App\Http\Models\Movies::find($like); ?> <tr> <td>{{ $movie->id }}</td> <td><img src="{{ $movie->image }}" class="img-responsive col-md-5" /></td> <td><a>{{ $movie->title }}</a></td> <td>{{ str_limit(strip_tags($movie->description),250,'...') }}</td> <td><i>{{ $movie->price }} €</i></td> <td><b>{{ $movie->price * 1.19 }}€</b></td> <td>1</td> <td><a href="" class="btn btn-sm btn-danger"><i class="fa fa-times"></i> Supprimer</a> </td> </tr> @empty <tr> <div class="alert alert-danger">
/** * Fonction de like des films, enregistré en session * Session : mécanisme de stockage temporelle * BDD: mécanisme de stockage atemporelle. * * @param Request $request */ public function like($id, $action) { $movie = Movies::find($id); $likes = session('likes', []); // si l'action est "like" if ($action == 'like') { // J'ajoute mon movie dans le tableaux des likes en session $likes[$id] = $movie->id; Session::flash('danger', "Le film {$movie->title} a bien été liké"); } else { // je supprime le like dans le tableaux des likes // unset() supprimer un element dans un tableau en PHP unset($likes[$id]); Session::flash('success', "Le film {$movie->title} a bien été disliké"); } //j'enregistre en session mon nouveau tableaux des likes Session::put('likes', $likes); // une redirection avec message flash return Redirect::route('movies_index'); }
/** * action like enregistré en session * stockage temporel */ public function like($id, $action) { //recuperation du film concerné $movie = Movies::find($id); //recuperation de la variable likes en session //et fixation d'un tableau par defaut //si rien en session likes $likes = session("likes", []); //si l'action est 'like' if ($action == "like") { //j'ajoute le movie dans le tableau des likes //en créant une clé qui a la valeur de l'id du film //pour pouvoir le retrouver $likes[$id] = $movie->id; Session::flash('warning', "Le film {$movie->title} est désormais liké"); } else { //suppression du like dans le tableau unset($likes[$id]); Session::flash('warning', "Le film {$movie->title} est désormais disliké"); } //enregistrement en session du nouveau tableau des likes Session::put("likes", $likes); //redirection return Redirect::route('movies_index'); }
public function like($id, $action) { $movies = Movies::find($id); $likes = session('likes', []); if ($action == "like") { $likes[$id] = $movies->id; } else { unset($likes[$id]); } Session::put("likes", $likes); Session::flash('success', "Le film {$movies->title} a été like"); return Redirect::route('movies_index'); }