Example #1
0
 /**
  * Dashboard /login action
  *
  * @return void
  */
 public function login()
 {
     if (site()->user()) {
         go('dashboard');
     }
     // save the flashed redirect
     flash('login.redirect', flash('login.redirect'));
     if (r::is('post')) {
         if ($this->form->validates()) {
             $user = site()->user($this->form->data('username'));
             if ($user && $user->login($this->form->data('password'))) {
                 flash('messages.success', 'Logged in!');
                 if (get('_redirect')) {
                     go(get('_redirect'));
                 }
             } else {
                 $this->form->addErrors(['login' => 'Invalid username and password']);
             }
         }
         go('login');
     }
     $this->render('dashboard/login', ['pageTitle' => 'Login', 'form' => $this->form, 'page' => page()]);
 }
Example #2
0
<?php

use Crazy\Form;
return function ($site, $pages, $page) {
    $event = $page->parent();
    $order = new CrazyEventOrder($event);
    $form = new Form(['guest' => []]);
    if (r::is('post')) {
        // Add a new guest
        if (get('add_guest') && ($guest = get('guest'))) {
            if ($event->seatsAvailable(1 + count($order->guests()))) {
                $order->addGuest(htmlspecialchars($guest));
            } else {
                $form->addError('guest', 'Sorry, there are no more seats available.');
            }
        }
        // Remove a guest
        if ($removeId = get('remove_guest')) {
            // the field is submitted as "id-[$id]"
            $id = substr($removeId, 3);
            $order->removeGuest($id);
        }
        go($page->url());
    }
    return ['event' => $event, 'studio' => $order->studio(), 'form' => $form, 'order' => $order];
};
Example #3
0
<?php

use Crazy\Form;
return function ($site, $pages, $page) {
    $studio = $page->parent();
    $form = new Form(['_token' => ['rules' => ['required', csrf(get('_token'))], 'message' => 'Invalid security token. Please try again.'], 'name' => ['rules' => ['required'], 'message' => 'Name is required'], 'email' => ['rules' => ['required', 'email'], 'message' => 'Valid email is required'], 'phone' => [], 'message' => []]);
    if (r::is('post')) {
        if ($form->validates()) {
            flash('messages.success', "Thanks! We'll be back in touch very soon!");
            event('studio.contacted', array_merge(['studio' => $studio], $form->data()));
        }
        go($page->url());
    }
    return ['studio' => $studio, 'form' => $form];
};
Example #4
0
<?php

use Crazy\Form;
use Stripe\Stripe;
use Stripe\Charge;
return function ($site, $pages, $page) {
    $event = $page->parent();
    $studio = $event->studio();
    $promoForm = new Form(['coupon_code' => []]);
    $form = new Form(['_token' => ['rules' => ['required', csrf(get('_token'))], 'message' => 'Invalid security token. Please try again.'], 'name' => ['rules' => ['required'], 'message' => 'Name is required'], 'email' => ['rules' => ['required', 'email'], 'message' => 'Valid email is required'], 'phone' => ['rules' => ['required'], 'message' => 'Phone is required'], 'comments' => [], 'card_number' => ['rules' => ['required'], 'message' => 'Card number is required', 'flash' => false], 'exp_month' => ['rules' => ['required'], 'message' => 'Expiration month is required', 'flash' => false], 'exp_year' => ['rules' => ['required'], 'message' => 'Expiration year is required', 'flash' => false], 'cvc' => ['rules' => ['required', 'num'], 'message' => 'CVC is required', 'flash' => false], 'billing_name' => ['rules' => ['required'], 'message' => 'Cardholder name is required', 'flash' => false], 'billing_zip' => ['rules' => ['required'], 'message' => 'Cardholder ZIP is required', 'flash' => false]]);
    $order = new CrazyEventOrder($page->parent());
    // Redirect if no guests
    if (!$order->hasGuests()) {
        flash('messages.error', 'Please add at least one guest to continue.');
        go($order->event()->ticketsUrl());
    }
    // Handle the post submission
    if (r::is('post')) {
        if (get('coupon')) {
            // find the coupon with this code
            $coupon = $order->applyCoupon(get('coupon_code'));
            if (!$coupon) {
                $promoForm->addError('coupon_code', 'Sorry, that coupon is not available.');
            }
        } else {
            if ($form->validates()) {
                // Accept the payment
                try {
                    $stripeMode = env('STRIPE_API_MODE', 'test');
                    if ($stripeMode == 'test') {
                        Stripe::setApiKey(env('STRIPE_TEST_SECRET_KEY'));