UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_aca7ea368641
/
app
/
Http
/
Controllers
/
Cart
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
CartController.php
<?php namespace EstudioLMS\Http\Controllers\Cart; use Carbon\Carbon; use EstudioLMS\Cart\Cart; use EstudioLMS\Helpers\CartHelper; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Repositories\Config\ConfigRepository; use EstudioLMS\Repositories\Coupon\CouponRepository; use EstudioLMS\Repositories\Courses\Course\CourseRepository; use EstudioLMS\Repositories\Environment\HiredCourseRepository; use EstudioLMS\Repositories\Financial\PlanRepository; use EstudioLMS\Services\Hires\HireServices; use Illuminate\Contracts\Auth\Guard; use Illuminate\Http\Request; use mjanssen\BreadcrumbsBundle\Breadcrumbs; use Symfony\Component\HttpFoundation\Session\SessionInterface; /** * Class CartController * @package EstudioLMS\Http\Controllers\Cart */ class CartController extends Controller { /** * @var Cart */ private $cart; /** * @var SessionInterface */ private $session; /** * @var CourseRepository */ private $course; /** * @var Breadcrumbs */ private $breadcrumbs; /** * @var HireServices */ private $hireServices; /** * @var Guard */ private $auth; /** * @var HiredCourseRepository */ private $hiredCourse; /** * @var CouponRepository */ private $couponRepository; /** * @var CartHelper */ private $cartHelper; /** * @var PlanRepository */ private $plan; /** * @var ConfigRepository */ private $configRepository; /** * CartController constructor. * * * @param Cart $cart * @param SessionInterface $session * @param CourseRepository $course * @param Breadcrumbs $breadcrumbs * @param HireServices $hireServices * @param Guard $auth * @param HiredCourseRepository $hiredCourse * @param CouponRepository $couponRepository * @param CartHelper $cartHelper * @param PlanRepository $plan * @param ConfigRepository $configRepository */ public function __construct( Cart $cart, SessionInterface $session, CourseRepository $course, Breadcrumbs $breadcrumbs, HireServices $hireServices, Guard $auth, HiredCourseRepository $hiredCourse, CouponRepository $couponRepository, CartHelper $cartHelper, PlanRepository $plan, ConfigRepository $configRepository ) { $this->cart = $cart; $this->session = $session; $this->course = $course; $this->hireServices = $hireServices; $this->auth = $auth; $this->hiredCourse = $hiredCourse; $this->breadcrumbs = $breadcrumbs; $this->couponRepository = $couponRepository; $this->cartHelper = $cartHelper; $this->plan = $plan; $this->configRepository = $configRepository; } /** * @param Request $request * @return \Illuminate\View\View */ public function index(Request $request) { $config = $this->configRepository->firstRecord(); $cart = $this->getCart(); if ($cart->count() > 0 ) { if ($cart->get('price') == 0 ) { $data['course_id'] = $cart->get('course_id'); $data['select_plan'] = $cart->get('plan_id'); $courseNotAvailable = $this->course->checkIfCourseIsAvailable($cart->get('course_id')); if (is_null($courseNotAvailable)) { $result = ['success' => 'free_false', 'mensagem' => 'Curso não disponível']; } else { $result = $this->hireServices->freeCourse($data); } return view('checkout.result', $result, compact('title', 'bread')); } } if ($request->exists(['gateway_error'])) { $gateway_error = $request->get('gateway_error'); return redirect()->route('checkout.payment', compact('gateway_error')); } return redirect()->route('checkout.payment'); } /** * Pega o carrinho de compras da sessão caso exista, se não cria um novo carrinho * * * @return mixed */ private function getCart() { if ($this->session->has('cart')) { $cart = $this->session->get('cart'); } else { $cart = $this->cart; } return $cart; } /** * Envia o curso escolhido para o carrinho de compras * * * @param Request $request * @return \Illuminate\Http\RedirectResponse * @internal param $courseId */ public function addItem(Request $request) { $data = $request->all(); $cart = $this->getCart(); $this->clearCart(); $course = $this->course->with(['plans', 'material'])->find($data['course_id']); $image = '/courses/course/images/' . $course['main_image']; $plan = $course['plans']->where('id', (int)$data['select_plan'])->first(); if ($plan['pivot']['price'] > 0) { $price = $plan['pivot']['price'] + ($plan['pivot']['debit'] == 0 ? $plan['pivot']['registration'] : 0); $extraAmount = 0; $cart->addItem( $course['id'], $course['name'], $data['select_plan'], $plan, $price, $image, 0.00, $extraAmount ); } $this->session->set('cart', $cart); return redirect()->route('cart.list', compact('cart')); } /** * @return \Illuminate\Http\RedirectResponse */ public function clearCart() { $cart = $this->getCart(); $cart->destroy(); $this->session->set('cart', $cart); return redirect()->route('index'); } /** * Envia o curso escolhido para o carrinho de compras * * * @param $courseId * @param $planId * @param int $free * @return \Illuminate\Http\RedirectResponse */ public function addItemUrl($courseId, $planId, $free = 0) { $config = $this->configRepository->firstRecord(); $cart = $this->getCart(); $this->clearCart(); $course = $this->course->with(['plans', 'material'])->find($courseId); $image = '/courses/course/images/' . $course['main_image']; $plan = $course['plans']->where('id', (int)$planId)->first(); if ($plan['pivot']['price'] > 0) { $price = $plan['pivot']['price'] + ($plan['pivot']['debit'] == 0 ? $plan['pivot']['registration'] : 0); $extraAmount = 0; $cart->addItem( $course['id'], $course['name'], $planId, $plan, $price, $image, 0.00, $extraAmount ); } $this->session->set('cart', $cart); return redirect()->route('checkout.payment', compact('cart')); } }
Copyright © 2026 - UnknownSec