WordPress

Briefly unavailable for scheduled maintenance.
Check back in a some hours.
403WebShell
403Webshell
Server IP : 38.242.244.58  /  Your IP : 216.73.217.126
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux vmi1486879.contaboserver.net 5.4.0-166-generic #183-Ubuntu SMP Mon Oct 2 11:28:33 UTC 2023 x86_64
User : root ( 0)
PHP Version : 7.4.3-4ubuntu2.19
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/sura/src/Controller/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/sura/src/Controller/CartItemController.php
<?php

namespace App\Controller;

use App\Entity\Cart;
use App\Entity\CartItem;
use App\Form\CartItemType;
use App\Repository\CartItemRepository;
use App\Repository\CartRepository;
use App\Repository\StockRepository;
use Exception;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

/**
 * @Route("/cart_item")
 */
class CartItemController extends AbstractController
{
    /**
     * @Route("/", name="cart_item_index", methods={"GET"}, options={"expose"=true})
     * @param Request $request
     * @param CartItemRepository $cartItemRepository
     * @return Response
     */
    public function index( Request $request, CartItemRepository $cartItemRepository): Response
    {
        $current_user = $this->getUser();

        if($request->isXmlHttpRequest()){
            if($current_user->getCart())
            {
                $items = $cartItemRepository->findBy(['Cart'=>$current_user->getCart()]);
                $response= [];
                foreach ($items as $cartItem){

                    $response[]= [
                        'stock_id'=>$cartItem->getStock()->getId(),
                        'name' => $cartItem->getName(),
                        'thumbnail' => $cartItem->getThumbNailUrl(),
                        'size' => $cartItem->getSize(),
                        'exclusive_licence' => $cartItem->getExclusiveLicence(),
                        'price'=>$cartItem->getAmount(),
                        'isExclusive'=>$cartItem->getIsExclusive()

                    ];

                }

                return new JsonResponse($response);

            }
        }


        return $this->render('cart_item/index.html.twig', [
            'cart_items' => $cartItemRepository->findAll(),
        ]);
    }

    /**
     * @Route("/new", name="cart_item_new", methods={"GET","POST"})
     * @param Request $request
     * @param StockRepository $stockRepository
     * @return Response
     * @throws Exception
     */
    public function new(Request $request, CartItemRepository $cartItemRepository, StockRepository $stockRepository): Response
    {

        $current_user = $this->getUser();


        if($current_user->getCart()){
            $cart = $current_user->getCart();
        }else{
            $cart = new Cart();
            $cart->setBuyer($current_user);
            $cart->setCreateTime(new \DateTime());
        }

        if($request->isXmlHttpRequest())
        {
            $item = json_decode($request->getContent());

            $cartItemCheck = $cartItemRepository->findOneBy(["Stock"=>$stockRepository->find($item->id), 'CreateBy'=>$this->getUser()]);

            $cartItem = null;
            $entityManager = $this->getDoctrine()->getManager();

            if(!empty($cartItemCheck))
            {
//                return new JsonResponse(['message'=>'Item already exists in cart '.$cartItemCheck->getAmount()]);
                $cartItem = $cartItemCheck;
                $CRT = $cartItemCheck->getCart();
                $AMT = $cartItemCheck->getAmount();
                $CRT->setTotal($CRT->getTotal()-$AMT);
                $entityManager->persist($CRT);

            }else{
                $cartItem = new CartItem();
            }

            $cartItem->setCart($cart);
            $cartItem->setStock($stockRepository->find($item->id));
            $cartItem->setAmount($item->price);
            $cartItem->setCreateTime(new \DateTime());
            $cartItem->setCreateBy($current_user);
            $cartItem->setSize(($item->size));
            $cartItem->setIsExclusive($item->isExclusive);
            $cartItem->setName($item->name);
            $cartItem->setThumbNailUrl($item->thumb_url);
            $cartItem->setExclusiveLicence($item->exclusiveLicence);
            $cartItem->setExclusiveLicenceDuration((int)$item->exclusiveLicenceDuration);

            if($current_user->getCart()){
                $cart -> setTotal($cart->getTotal() + (float)$item->price);
            }else{
                $cart -> setTotal( (float)$item->price);
            }

            $entityManager->persist($cartItem);
            $entityManager->persist($cart);
            $entityManager->flush();
            return new JsonResponse(['message'=>'Item successfully added to cart']);
        }
        $cartItem = new CartItem();
        $form = $this->createForm(CartItemType::class, $cartItem);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($cartItem);
            $entityManager->flush();

            return $this->redirectToRoute('cart_item_index');
        }

        return $this->render('cart_item/new.html.twig', [
            'cart_item' => $cartItem,
            'form' => $form->createView(),
        ]);
    }

    /**
     * @Route("/{id}", name="cart_item_show", methods={"GET"})
     */
    public function show(CartItem $cartItem): Response
    {
        return $this->render('cart_item/show.html.twig', [
            'cart_item' => $cartItem,
        ]);
    }

    /**
     * @Route("/remove/{id}", name="cart_item_remove", methods={"GET","POST"})
     * @param Request $request
     * @param null $id
     * @param StockRepository $stockRepository
     * @param CartItemRepository $cartItemRepository
     * @return Response
     */
    public function remove(Request $request, $id=null,  StockRepository $stockRepository, CartItemRepository $cartItemRepository): Response
    {

        if($request->isXmlHttpRequest())
        {
            $stock = $stockRepository->find($request->request->get('id'));
            $cart_items = $cartItemRepository->findBy(['Stock'=>$stock]);
            foreach ($cart_items as $item)
            {
                $cart = $item->getCart();
                $cart->setTotal($cart->getTotal()-$item->getAmount());
                $em = $this->getDoctrine()->getManager();
                $em->remove($item);
                $em->flush();

            }

            return new JsonResponse(['message'=>'cart item removed succesfully']);

        }else{
            if(isset($id)){
                $stock = $stockRepository->find($id);
                $cart_items = $cartItemRepository->findBy(['Stock'=>$stock]);
                foreach ($cart_items as $item)
                {
                    $cart = $item->getCart();
                    $cart->setTotal($cart->getTotal()-$item->getAmount());
                    $em = $this->getDoctrine()->getManager();
                    $em->remove($item);
                    $em->flush();

                }

                return $this->redirectToRoute('membershp_membership_index');
            }


        }


    }

    /**
     * @Route("/{id}/edit", name="cart_item_edit", methods={"GET","POST"})
     * @param Request $request
     * @param CartItem $cartItem
     * @return Response
     */
    public function edit(Request $request, CartItem $cartItem): Response
    {
        $form = $this->createForm(CartItemType::class, $cartItem);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $this->getDoctrine()->getManager()->flush();

            return $this->redirectToRoute('cart_item_index');
        }

        return $this->render('cart_item/edit.html.twig', [
            'cart_item' => $cartItem,
            'form' => $form->createView(),
        ]);
    }

    /**
     * @Route("/{id}", name="cart_item_delete", methods={"DELETE"})
     */
    public function delete(Request $request, CartItem $cartItem): Response
    {
        if ($this->isCsrfTokenValid('delete'.$cartItem->getId(), $request->request->get('_token'))) {
            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->remove($cartItem);
            $entityManager->flush();
        }

        return $this->redirectToRoute('cart_item_index');
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit