mivita/app/Http/Middleware/Checkout.php
Kevin Adametz 446bc4561b checkout, register, payment,
checkout correction,
register wizard,
payment packege,
2019-03-02 00:08:11 +01:00

54 lines
No EOL
1.6 KiB
PHP
Executable file

<?php
namespace App\Http\Middleware;
use App\Models\ShoppingInstance;
use App\Models\UserShop;
use Closure;
use Auth;
use phpDocumentor\Reflection\DocBlock\Tags\Uses;
use App\Services\Util;
use Yard;
class Checkout
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if($identifier = ShoppingInstance::where('identifier', $request->route('identifier'))->first()){
//user shop
$user_shop = $identifier->user_shop;
if($user_shop && $user_shop->active == 1){
Util::setPostRoute('user.');
\Session::put('user_shop', $user_shop);
\Session::put('isCheckout', true);
if($identifier->auth_user_id){
\Session::put('auth_user', $identifier->auth_user);
}
}
Yard::instance('shopping')->destroy();
//restore yard
Yard::instance('shopping')->restore($request->route('identifier'));
Yard::instance('shopping')->setShippingCountryWithPrice($identifier->country_id);
ShoppingInstance::where('identifier', $request->route('identifier'))->delete();
$request->route()->forgetParameter('identifier');
return $next($request);
}
if(\Session::has('user_shop') && \Session::has('isCheckout') && Yard::instance('shopping')->count()){
return $next($request);
}
return redirect(config('app.url'));
}
}