public function store($id) { $courseID = Cursus::with('soortcursus')->FindOrfail($id)->soortcursus['id']; $userID = \Auth::user()->id; \App\subscription::firstOrCreate(['cursus_id' => $courseID, 'user_id' => $userID]); session()->flash('flash_message', 'Je hebt je succesvol aangemeld voor de cursus'); return redirect('subscribe'); }
public function destroy($id) { $cursus = Cursus::with('soortcursus')->FindOrfail($id); $soortcursusfind = Soortcursus::FindOrfail($id); $cursus->delete(); $soortcursusfind->delete(); session()->flash('flash_message', 'Je hebt de cursus succesvol verwijderd'); return redirect('courses'); }
public function show($slug, Cursus $cursus) { $decursus = $cursus->where('slug', $slug)->first(); $gateway = Omnipay::gateway('Mollie'); $gateway->setApiKey('test_N3BbdyKoizxGlYlbPqjUGE3eMpIZJC'); $paymeth = $gateway->fetchPaymentMethods()->send(); if ($paymeth->isSuccessful()) { $methods = $paymeth->getPaymentMethods(); } $issuer = $gateway->fetchIssuers()->send(); if ($issuer->isSuccessful()) { $issuers = $issuer->getIssuers(); } if ($decursus->slug == 'facebook-advertentie-geheimen') { return view('webinars.salespage.ads-geheimen', compact('methods', 'issuers')); } elseif ($decursus->slug == 'slimme-facebook-marketing-voor-sportscholen') { } // dd($decursus); }
public function productWebhook(Order $order, User $u, Product $p, Cursus $c) { // Mollie webhook // pak datum van vandaag en volgende maand $vandaag = Carbon::now("Europe/Amsterdam"); $volgende_maand = $vandaag->copy()->addMonth(); // initialize Mollie gateway $gateway = Omnipay::gateway('Mollie'); // $gateway->setApiKey('test_N3BbdyKoizxGlYlbPqjUGE3eMpIZJC'); // Pak transactionReference uit Mollie ping $data = array(); $data['id'] = $_POST['id']; // $data['pakket_id'] = $_GET['pakket_id']; // Pak order $order = $order->where('transaction_id', '=', $data['id'])->first(); // Pak bijbehorende user $user = $u->where('id', $order->user_id)->first(); // maak betaling compleet $complete = $gateway->completePurchase(['transactionReference' => $data['id']])->send(); // Haal status van betaling op en bewerk $fetch = $gateway->fetchTransaction(['transactionReference' => $data['id']])->send(); // ID's uit de meta pakken $product_id = $fetch->getMeta()['product_id']; $cursus_id = $fetch->getMeta()['cursus_id']; $plan_id = $fetch->getMeta()['plan_id']; $cursus = $c->where('id', $cursus_id)->first(); // Het product pakken om het juiste wefact product id te pakken $product = $p->where('id', $product_id)->first(); if ($product->prijs_aanbieding_tot > $vandaag) { $wefact_id = $product->wefact_product_id_aanbieding; } elseif ($product->prijs_herhaling_tot > $vandaag) { $wefact_id = $product->wefact_product_id_herhaling; } else { $wefact_id = $product->wefact_product_id_normaal; } if ($fetch->isOpen()) { // Als bestelling nog open is //////////////////////////// // Order status bijwerken // //////////////////////////// $order->status = $fetch->getStatus(); $order->save(); //////////////////////////////////////////////////////////////////////////////////// // Doe niks, wachten op een status verandering van open naar betaald of cancelled // //////////////////////////////////////////////////////////////////////////////////// } elseif ($fetch->isCancelled()) { // Als bestelling geannuleerd is. //////////////////////////// // Order status bijwerken // //////////////////////////// $order->status = $fetch->getStatus(); $order->save(); // Misschien een email dat we het jammer vinden dat geen bestelling is geplaatst ? ////////////////////////////////////////////////////////////////// // Verwijder de gebruiker zodat deze zich opnieuw kan aanmelden // ////////////////////////////////////////////////////////////////// // $user->delete(); } elseif ($fetch->isPaid()) { // Als bestelling eindelijk betaald is. //////////////////////////// // Order status bijwerken // //////////////////////////// $order->betaling_datum = $vandaag; $order->status = $fetch->getStatus(); $order->save(); /////////////////////////////////////////////// // Koppel TijdlijnActie cursus aan gebruiker // /////////////////////////////////////////////// if ($user->cursussen->contains($cursus_id)) { } else { $user->cursussen()->attach($cursus_id); } // ////////////////////////////////////// // // Wefact proces in werking stellen // // ////////////////////////////////////// // // Geef de gebruiker een random wachtwoord van 8 tekens if ($user->password == '' || $user->password == ' ') { $wachtwoord = str_random(8); $user->update(['password' => bcrypt($wachtwoord), 'plan_id' => $plan_id, 'role_id' => '4']); $data = array('voornaam' => $user->voornaam, 'achternaam' => $user->achternaam, 'email' => $user->email, 'wachtwoord' => $wachtwoord); /////////////////////////////////////////////////// // Stuur email naar emailadres met inloggegevens // /////////////////////////////////////////////////// Mail::send('includes.email.newmember', $data, function ($message) use($data) { // $message->from('*****@*****.**', 'Digitus Marketing'); $message->to($data['email'], $data['voornaam'] . ' ' . $data['achternaam'])->subject('Jouw inloggegevens'); }); } else { $wachtwoord = 'Je kunt je oude wachtwoord gebruiken.'; $u_p_id = $user->plan_id; $p_id = $plan_id; if ($u_p_id >= $p_id) { } else { $user->update(['plan_id' => $plan_id]); } $data = array('voornaam' => $user->voornaam, 'achternaam' => $user->achternaam, 'email' => $user->email, 'wachtwoord' => $wachtwoord, 'cursusnaam' => $cursus->naam); ///////////////////////////////////////////////////////////// // Stuur email naar emailadres met notificatie van upgrade // ///////////////////////////////////////////////////////////// Mail::send('includes.email.memberupgrade', $data, function ($message) use($data) { // $message->from('*****@*****.**', 'Digitus Marketing'); $message->to($data['email'], $data['voornaam'] . ' ' . $data['achternaam'])->subject('Digitus account ge-upgrade!'); }); } $email = $user->email; $this->findDebitor(array('searchat' => 'EmailAddress', 'searchfor' => $email), $wefact_id); $complete; } elseif ($fetch->isPaidOut()) { // Als bestelling is uit betaald. $order->betaling_datum = $vandaag; $order->status = $fetch->getStatus(); $order->save(); $complete; } elseif ($fetch->isExpired()) { // Als bestelling is verlopen. //////////////////////////// // Order status bijwerken // //////////////////////////// $order->status = $fetch->getStatus(); $order->save(); // Misschien een email dat we het jammer vinden dat geen bestelling is geplaatst ? ////////////////////////////////////////////////////////////////// // Verwijder de gebruiker zodat deze zich opnieuw kan aanmelden // ////////////////////////////////////////////////////////////////// // $user->delete(); } else { $order->status = $fetch->getStatus(); $order->save(); } }
public function getAllCursussenDesc() { return Cursus::all()->sortByDesc('id'); }