UnknownSec Bypass
403
:
/
mnt
/
lmsestudio-instance-vol002
/
lms_5e4e19fde65e
/
app
/
Http
/
Controllers
/
Cart
/ [
drwxr-xr-x
]
Menu
Upload
Mass depes
Mass delete
Terminal
Info server
About
name :
FreeController.php
<?php namespace EstudioLMS\Http\Controllers\Cart; use EstudioLMS\Cart\Cart; use EstudioLMS\Helpers\CartHelper; use EstudioLMS\Http\Controllers\Controller; use EstudioLMS\Repositories\Config\ConfigRepository; use EstudioLMS\Repositories\Courses\Course\CourseRepository; use EstudioLMS\Services\Hires\HireServices; use Illuminate\Http\Request; use mjanssen\BreadcrumbsBundle\Breadcrumbs; use Symfony\Component\HttpFoundation\Session\SessionInterface; /** * Class FreeController * @package EstudioLMS\Http\Controllers\Cart */ class FreeController extends Controller { /** * @var Breadcrumbs */ private $breadcrumbs; /** * @var HireServices */ private $hireServices; /** * @var Cart */ private $cart; /** * @var SessionInterface */ private $session; /** * @var CartHelper */ private $cartHelper; /** * @var CourseRepository */ private $course; /** * @var ConfigRepository */ private $configRepository; /** * FreeController constructor. * @param Breadcrumbs $breadcrumbs * @param HireServices $hireServices * @param Cart $cart * @param SessionInterface $session * @param CartHelper $cartHelper * @param CourseRepository $course * @param ConfigRepository $configRepository */ public function __construct( Breadcrumbs $breadcrumbs, HireServices $hireServices, Cart $cart, SessionInterface $session, CartHelper $cartHelper, CourseRepository $course, ConfigRepository $configRepository ) { $this->middleware('student', ['only' => ['hireFreeCourse']]); $this->breadcrumbs = $breadcrumbs; $this->hireServices = $hireServices; $this->cart = $cart; $this->session = $session; $this->cartHelper = $cartHelper; $this->course = $course; $this->configRepository = $configRepository; } /** * @param Request $request * @return \Illuminate\View\View */ public function hireFreeCourse(Request $request) { $config = $this->configRepository->firstRecord(); $cart = $this->getCart(); $title = 'Contratação de Curso'; $this->breadcrumbs->addBreadcrumb('Home', route('index')); $this->breadcrumbs->addBreadcrumb('Carrinho de Compras', route('cart.list')); $bread = $this->breadcrumbs->generate(); $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 { if(!empty($cart->get('coupon_code'))) { $result = $this->hireServices->freeCourse($data, false); } else { $result = $this->hireServices->freeCourse($data); } } return view('checkout.result', $result, compact('title', 'bread')); } /** * Envia o curso escolhido para o carrinho de compras * * * @param Request $request * @return \Illuminate\Http\RedirectResponse */ 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(); $price = 0.00; $extraAmount = 0.00; $cart->addItem( $course['id'], $course['name'], $data['select_plan'], $plan['name'], $price, $image, 0.00, $extraAmount ); $this->session->set('cart', $cart); return redirect()->route('cart.hire.free'); } /** * Envia o curso escolhido para o carrinho de compras via url * * * @param $data * @return void */ public function addItemUrl($data) { $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(); $price = 0.00; $extraAmount = 0.00; $cart->addItem( $course['id'], $course['name'], $data['select_plan'], $plan['name'], $price, $image, 0.00, $extraAmount ); $this->session->set('cart', $cart); } /** * @param $courseId * @param $planId * @return \Illuminate\Http\RedirectResponse */ public function hireFreeCourseUrl($courseId, $planId) { $data = ['course_id' => $courseId, 'select_plan' => $planId]; $this->addItemUrl($data); return redirect()->route('cart.hire.free'); //$result = $this->hireServices->freeCourse($data); //return redirect()->action('Cart\FreeController@result')->with('result', $result); } public function freeByCoupon() { return redirect()->route('cart.hire.free'); } /** * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function result() { $result = \Session::get('result'); $result = ['success' => $result['success'], 'mensagem' => $result['mensagem']]; $title = 'Contratação de Curso'; $this->breadcrumbs->addBreadcrumb('Home', route('index')); $this->breadcrumbs->addBreadcrumb('Carrinho de Compras', route('cart.list')); $bread = $this->breadcrumbs->generate(); if ($result['success']) { return view('cart.result', $result, compact('title', 'bread')); } return view('cart.result', $result, compact('title', 'bread')); } /** * 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; } /** * @return \Illuminate\Http\RedirectResponse */ public function clearCart() { $cart = $this->getCart(); $cart->destroy(); $this->session->set('cart', $cart); return redirect()->route('index'); } }
Copyright © 2026 - UnknownSec