Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php namespace Webkul\Shop\Http\Controllers\API; use Illuminate\Http\Resources\Json\Jso..
Decoded Output download
<?php
namespace Webkul\Shop\Http\Controllers\API;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\Response;
use Webkul\Checkout\Facades\Cart;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Payment\Facades\Payment;
use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Sales\Transformers\OrderResource;
use Webkul\Shipping\Facades\Shipping;
use Webkul\Shop\Http\Requests\CartAddressRequest;
use Webkul\Shop\Http\Resources\CartResource;
class OnepageController extends APIController
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(
protected OrderRepository $orderRepository,
protected CustomerRepository $customerRepository
) {
}
/**
* Return cart summary.
*/
public function summary(): JsonResource
{
$cart = Cart::getCart();
return new CartResource($cart);
}
/**
* Store address.
*/
public function storeAddress(CartAddressRequest $cartAddressRequest): JsonResource
{
$params = $cartAddressRequest->all();
if (
! auth()->guard('customer')->check()
&& ! Cart::getCart()->hasGuestCheckoutItems()
) {
return new JsonResource([
'redirect' => true,
'data' => route('shop.customer.session.index'),
]);
}
if (Cart::hasError()) {
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.cart.index'),
]);
}
Cart::saveAddresses($params);
$cart = Cart::getCart();
Cart::collectTotals();
if ($cart->haveStockableItems()) {
if (! $rates = Shipping::collectRates()) {
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.cart.index'),
]);
}
return new JsonResource([
'redirect' => false,
'data' => $rates,
]);
}
return new JsonResource([
'redirect' => false,
'data' => Payment::getSupportedPaymentMethods(),
]);
}
/**
* Store shipping method.
*
* @return \Illuminate\Http\Response
*/
public function storeShippingMethod()
{
$validatedData = $this->validate(request(), [
'shipping_method' => 'required',
]);
if (
Cart::hasError()
|| ! $validatedData['shipping_method']
|| ! Cart::saveShippingMethod($validatedData['shipping_method'])
) {
return response()->json([
'redirect_url' => route('shop.checkout.cart.index'),
], Response::HTTP_FORBIDDEN);
}
Cart::collectTotals();
return response()->json(Payment::getSupportedPaymentMethods());
}
/**
* Store payment method.
*
* @return array
*/
public function storePaymentMethod()
{
$validatedData = $this->validate(request(), [
'payment' => 'required',
]);
if (
Cart::hasError()
|| ! $validatedData['payment']
|| ! Cart::savePaymentMethod($validatedData['payment'])
) {
return response()->json([
'redirect_url' => route('shop.checkout.cart.index'),
], Response::HTTP_FORBIDDEN);
}
Cart::collectTotals();
$cart = Cart::getCart();
return [
'cart' => new CartResource($cart),
];
}
/**
* Store order
*/
public function storeOrder()
{
if (Cart::hasError()) {
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.cart.index'),
]);
}
Cart::collectTotals();
try {
$this->validateOrder();
} catch (\Exception $e) {
return response()->json([
'message' => $e->getMessage(),
], 500);
}
$cart = Cart::getCart();
if ($redirectUrl = Payment::getRedirectUrl($cart)) {
return new JsonResource([
'redirect' => true,
'redirect_url' => $redirectUrl,
]);
}
$data = (new OrderResource($cart))->jsonSerialize();
$order = $this->orderRepository->create($data);
Cart::deActivateCart();
session()->flash('order_id', $order->id);
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.onepage.success'),
]);
}
/**
* Check for minimum order.
*
* @return \Illuminate\Http\Response
*/
public function checkMinimumOrder()
{
$minimumOrderAmount = (float) core()->getConfigData('sales.order_settings.minimum_order.minimum_order_amount') ?: 0;
$cart = Cart::getCart();
$status = $cart->checkMinimumOrder();
return response()->json([
'status' => ! $status ? false : true,
'message' => ! $status
? trans('shop::app.checkout.cart.minimum-order-message', [
'amount' => core()->currency($minimumOrderAmount),
])
: 'Success',
]);
}
/**
* Validate order before creation.
*
* @return void|\Exception
*/
public function validateOrder()
{
$cart = Cart::getCart();
$minimumOrderAmount = core()->getConfigData('sales.order_settings.minimum_order.minimum_order_amount') ?: 0;
if (
auth()->guard('customer')->check()
&& auth()->guard('customer')->user()->is_suspended
) {
throw new \Exception(trans('shop::app.checkout.cart.suspended-account-message'));
}
if (
auth()->guard('customer')->user()
&& ! auth()->guard('customer')->user()->status
) {
throw new \Exception(trans('shop::app.checkout.cart.inactive-account-message'));
}
if (! $cart->checkMinimumOrder()) {
throw new \Exception(trans('shop::app.checkout.cart.minimum-order-message', ['amount' => core()->currency($minimumOrderAmount)]));
}
if ($cart->haveStockableItems() && ! $cart->shipping_address) {
throw new \Exception(trans('shop::app.checkout.onepage.address.check-shipping-address'));
}
if (! $cart->billing_address) {
throw new \Exception(trans('shop::app.checkout.onepage.address.check-billing-address'));
}
if (
$cart->haveStockableItems()
&& ! $cart->selected_shipping_rate
) {
throw new \Exception(trans('shop::app.checkout.cart.specify-shipping-method'));
}
if (! $cart->payment) {
throw new \Exception(trans('shop::app.checkout.cart.specify-payment-method'));
}
}
}
?>
Did this file decode correctly?
Original Code
<?php
namespace Webkul\Shop\Http\Controllers\API;
use Illuminate\Http\Resources\Json\JsonResource;
use Illuminate\Http\Response;
use Webkul\Checkout\Facades\Cart;
use Webkul\Customer\Repositories\CustomerRepository;
use Webkul\Payment\Facades\Payment;
use Webkul\Sales\Repositories\OrderRepository;
use Webkul\Sales\Transformers\OrderResource;
use Webkul\Shipping\Facades\Shipping;
use Webkul\Shop\Http\Requests\CartAddressRequest;
use Webkul\Shop\Http\Resources\CartResource;
class OnepageController extends APIController
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct(
protected OrderRepository $orderRepository,
protected CustomerRepository $customerRepository
) {
}
/**
* Return cart summary.
*/
public function summary(): JsonResource
{
$cart = Cart::getCart();
return new CartResource($cart);
}
/**
* Store address.
*/
public function storeAddress(CartAddressRequest $cartAddressRequest): JsonResource
{
$params = $cartAddressRequest->all();
if (
! auth()->guard('customer')->check()
&& ! Cart::getCart()->hasGuestCheckoutItems()
) {
return new JsonResource([
'redirect' => true,
'data' => route('shop.customer.session.index'),
]);
}
if (Cart::hasError()) {
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.cart.index'),
]);
}
Cart::saveAddresses($params);
$cart = Cart::getCart();
Cart::collectTotals();
if ($cart->haveStockableItems()) {
if (! $rates = Shipping::collectRates()) {
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.cart.index'),
]);
}
return new JsonResource([
'redirect' => false,
'data' => $rates,
]);
}
return new JsonResource([
'redirect' => false,
'data' => Payment::getSupportedPaymentMethods(),
]);
}
/**
* Store shipping method.
*
* @return \Illuminate\Http\Response
*/
public function storeShippingMethod()
{
$validatedData = $this->validate(request(), [
'shipping_method' => 'required',
]);
if (
Cart::hasError()
|| ! $validatedData['shipping_method']
|| ! Cart::saveShippingMethod($validatedData['shipping_method'])
) {
return response()->json([
'redirect_url' => route('shop.checkout.cart.index'),
], Response::HTTP_FORBIDDEN);
}
Cart::collectTotals();
return response()->json(Payment::getSupportedPaymentMethods());
}
/**
* Store payment method.
*
* @return array
*/
public function storePaymentMethod()
{
$validatedData = $this->validate(request(), [
'payment' => 'required',
]);
if (
Cart::hasError()
|| ! $validatedData['payment']
|| ! Cart::savePaymentMethod($validatedData['payment'])
) {
return response()->json([
'redirect_url' => route('shop.checkout.cart.index'),
], Response::HTTP_FORBIDDEN);
}
Cart::collectTotals();
$cart = Cart::getCart();
return [
'cart' => new CartResource($cart),
];
}
/**
* Store order
*/
public function storeOrder()
{
if (Cart::hasError()) {
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.cart.index'),
]);
}
Cart::collectTotals();
try {
$this->validateOrder();
} catch (\Exception $e) {
return response()->json([
'message' => $e->getMessage(),
], 500);
}
$cart = Cart::getCart();
if ($redirectUrl = Payment::getRedirectUrl($cart)) {
return new JsonResource([
'redirect' => true,
'redirect_url' => $redirectUrl,
]);
}
$data = (new OrderResource($cart))->jsonSerialize();
$order = $this->orderRepository->create($data);
Cart::deActivateCart();
session()->flash('order_id', $order->id);
return new JsonResource([
'redirect' => true,
'redirect_url' => route('shop.checkout.onepage.success'),
]);
}
/**
* Check for minimum order.
*
* @return \Illuminate\Http\Response
*/
public function checkMinimumOrder()
{
$minimumOrderAmount = (float) core()->getConfigData('sales.order_settings.minimum_order.minimum_order_amount') ?: 0;
$cart = Cart::getCart();
$status = $cart->checkMinimumOrder();
return response()->json([
'status' => ! $status ? false : true,
'message' => ! $status
? trans('shop::app.checkout.cart.minimum-order-message', [
'amount' => core()->currency($minimumOrderAmount),
])
: 'Success',
]);
}
/**
* Validate order before creation.
*
* @return void|\Exception
*/
public function validateOrder()
{
$cart = Cart::getCart();
$minimumOrderAmount = core()->getConfigData('sales.order_settings.minimum_order.minimum_order_amount') ?: 0;
if (
auth()->guard('customer')->check()
&& auth()->guard('customer')->user()->is_suspended
) {
throw new \Exception(trans('shop::app.checkout.cart.suspended-account-message'));
}
if (
auth()->guard('customer')->user()
&& ! auth()->guard('customer')->user()->status
) {
throw new \Exception(trans('shop::app.checkout.cart.inactive-account-message'));
}
if (! $cart->checkMinimumOrder()) {
throw new \Exception(trans('shop::app.checkout.cart.minimum-order-message', ['amount' => core()->currency($minimumOrderAmount)]));
}
if ($cart->haveStockableItems() && ! $cart->shipping_address) {
throw new \Exception(trans('shop::app.checkout.onepage.address.check-shipping-address'));
}
if (! $cart->billing_address) {
throw new \Exception(trans('shop::app.checkout.onepage.address.check-billing-address'));
}
if (
$cart->haveStockableItems()
&& ! $cart->selected_shipping_rate
) {
throw new \Exception(trans('shop::app.checkout.cart.specify-shipping-method'));
}
if (! $cart->payment) {
throw new \Exception(trans('shop::app.checkout.cart.specify-payment-method'));
}
}
}
Function Calls
None |
Stats
MD5 | c90821f1abcad2e97df1300f9c553b60 |
Eval Count | 0 |
Decode Time | 106 ms |