src/Controller/HomeController.php line 45

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Startlink;
  4. use App\Helpers\Mysql\MysqlStartlink;
  5. use App\Helpers\Odbc\OdbcKundenstamm;
  6. use App\Helpers\Storage\StorageHelper;
  7. use App\Repository\CategoryRepository;
  8. use App\Repository\ColourRepository;
  9. use App\Repository\ConnectionRepository;
  10. use App\Repository\DuplexprintingRepository;
  11. use App\Repository\FieldofuseRepository;
  12. use App\Repository\InkRepository;
  13. use App\Repository\ManufacturerRepository;
  14. use App\Repository\ModelRepository;
  15. use App\Repository\OperatingSystemRepository;
  16. use App\Repository\PapersizeRepository;
  17. use App\Repository\PaperstockRepository;
  18. use App\Repository\PfunctionsRepository;
  19. use App\Repository\PrinterseriesRepository;
  20. use App\Repository\PrinterspeedRepository;
  21. use App\Repository\ProductRepository;
  22. use App\Repository\ResolutionsRepository;
  23. use App\Repository\StartlinkRepository;
  24. use App\Service\BasketService;
  25. use App\Service\MailService;
  26. use App\Service\SessionService;
  27. use ContainerYXH9NkN\getDebug_Security_Firewall_Authenticator_MainService;
  28. use mysql_xdevapi\Schema;
  29. use Symfony\Bridge\Doctrine\ManagerRegistry;
  30. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  31. use Symfony\Component\HttpFoundation\Request;
  32. use Symfony\Component\HttpFoundation\Response;
  33. use Symfony\Component\Routing\Annotation\Route;
  34. class HomeController extends BaseController
  35. {
  36.     /**
  37.      * @Route("/", name="home")
  38.      */
  39.     public function home(SessionService $sessionServiceProductRepository $productRepositoryRequest $request,MysqlStartlink $mysqlStartlink): Response
  40.     {
  41.         //MailService::send('michael.reymann@bendata.de', 'test terra', 'test_terra bodd');
  42.         $products $productRepository->findAll();
  43.         $user $sessionService->getLoggedUser();
  44.         $kundenstamm = new OdbcKundenstamm();
  45.         $loggedIn $user !== null;
  46.         if ($loggedIn) {
  47.             $kndstammData $kundenstamm->getUserFormatted($user->getCustCode());
  48.             $kndgr $kndstammData->getKGR();
  49.         } else $kndgr "1";
  50.         $wochentag date("w"time());
  51.         $startBild $mysqlStartlink->findOneWithRawSql($wochentag,$kndgr);
  52.         if ($startBild !== null) {
  53.             $start StorageHelper::getUploadsURLPath($startBild->getBildname());
  54.         } else {
  55.             $start StorageHelper::getUploadsURLPath("Startbild_2025.jpg");
  56.         }
  57.         if (! file_exists(StorageHelper::getUploadsFullPath($start))) {
  58.             $start StorageHelper::getUploadsURLPath("Startbild_2025.jpg");
  59.         }
  60.         return $this->baseRender('base.html.twig',
  61.             [
  62.                 "products" => [],
  63.                 "start" => $start,
  64.             ]
  65.         );
  66.     }
  67.     /**
  68.      * @Route("/save-entity", name="saveeentity")
  69.      */
  70.     public function saveEntity(SessionService $sessionServiceMysqlStartlink $mysqlStartlink): Response
  71.     {
  72.         $startlink = new Startlink();
  73.         $startlink->setLink("teestlink" rand(1,100));
  74.         $startlink->setKndgr(rand(1,99));
  75.         $startlink->setAktiv(0);
  76.         $startlink->setBildname("testbildname" rand(1,1000));
  77.         $startlink->setRefkey("key" .rand(1,100));
  78.         $mysqlStartlink->add($startlinktrue);
  79.         $data $mysqlStartlink->findLastAppearance();
  80.         //var_dump($data->getId());
  81.         //var_dump($data->getLink());
  82.         //var_dump($data->getKndgr());
  83.         //var_dump($data->getBildname());
  84.         //var_dump($data->getAktiv());
  85.         // Hier laden
  86.         echo "Daten vor dem Speichern: <br>";
  87.         $startlink $mysqlStartlink->findWithRawSql(1);
  88.         echo "id: " $startlink->getId() . "<br>";
  89.         echo "link: " $startlink->getLink() . "<br>";
  90.         // speichern
  91.         // Änderungen machen um diese später zu sehen
  92.         $startlink->setLink("testlink" rand(1,100));
  93.         $mysqlStartlink->add($startlinktrue);
  94.         $startlink $mysqlStartlink->findWithRawSql(1);
  95.         echo "Daten nach Speichern: <br>";
  96.         echo "id: " $startlink->getId() . "<br>";
  97.         echo "link: " $startlink->getLink() . "<br>";
  98.         exit();
  99.         return $this->baseRender('base.html.twig',
  100.             [
  101.                 "products" => []
  102.             ]
  103.         );
  104.     }
  105.     /**
  106.      * @Route("/shop", name="shop")
  107.      */
  108.     public function shop(SessionService $sessionServiceProductRepository $productRepositoryRequest $request): Response
  109.     {
  110.         $products $productRepository->findAll();
  111.         return $this->baseRender('home/index.html.twig',
  112.             [
  113.                 "products" => $products
  114.             ]
  115.         );
  116.     }
  117.     /**
  118.      * @Route("/product/{id}", name="product", methods={"GET"})
  119.      */
  120.     public function product(int $idSessionService $sessionServiceProductRepository $productRepositoryRequest $requestBasketService $basketService): Response
  121.     {
  122.         $product $productRepository->findOneBy(["id" => $id]);
  123.         return $this->baseRender('home/product.html.twig',
  124.             [
  125.                 "product" => $product,
  126.                 "basket" => $basketService->getBasketData()
  127.             ]
  128.         );
  129.     }
  130.     /**
  131.      * @Route("/product/add/{id}", name="product_add", methods={"POST"})
  132.      */
  133.     public function productAdd(int $idSessionService $sessionServiceRequest $request): Response
  134.     {
  135.         $user $sessionService->getLoggedUser();
  136.         $number $request->get("number");
  137.         $sessionService->setSessionBasket($id$number);
  138.         var_dump($sessionService->getSessionVar("basket"));
  139.         $loggedIn $user !== null;
  140.         return $this->json(["status" => $id]);
  141.     }
  142.     /**
  143.      * @Route("/basket", name="basket", methods={"GET"})
  144.      */
  145.     public function basket(SessionService $sessionServiceBasketService $basketService): Response
  146.     {
  147.         $basket $basketService->getBasketData();
  148.         return $this->baseRender('home/basket.html.twig',
  149.             [
  150.                 "sum" => $basket["sum"],
  151.                 "products" => $basket["products"]
  152.             ]
  153.         );
  154.     }
  155.     /**
  156.      * @Route("/sum", name="sum", methods={"GET"})
  157.      */
  158.     public function sum(SessionService $sessionServiceBasketService $basketService): Response
  159.     {
  160.         $user $sessionService->getLoggedUser();
  161.         return $this->json($basketService->getBasketData()["sum"]);
  162.     }
  163.     /**
  164.      * @Route("/basket/remove/{id}", name="basket_remove", methods={"POST"})
  165.      */
  166.     public function basketRemove($idSessionService $sessionServiceBasketService $basketService): Response
  167.     {
  168.         $user $sessionService->getLoggedUser();
  169.         $loggedIn $user !== null;
  170.         $basket $basketService->removeItem($id);
  171.         return $this->json(
  172.             [
  173.                 "flash" => $sessionService->getSessionFlash(),
  174.                 "logged_in" => $loggedIn,
  175.                 "user" => $user,
  176.                 "sum" => $basket["sum"],
  177.                 "products" => $basket["products"]
  178.             ]
  179.         );
  180.     }
  181.     /**
  182.      * @Route("/allproducts", name="all_products", methods={"GET"})
  183.      */
  184.     public function allProducts(SessionService $sessionService,  ProductRepository $productRepository): Response
  185.     {
  186.         $user $sessionService->getLoggedUser();
  187.         $products $productRepository->findAll();;
  188.         return $this->json(
  189.             [
  190.                 "products" => $products
  191.             ]
  192.         );
  193.     }
  194.     /**
  195.      * @Route("/basket/addone/{id}", name="basket_add", methods={"POST"})
  196.      */
  197.     public function basketAddOne($idSessionService $sessionServiceBasketService $basketService): Response
  198.     {
  199.         $user $sessionService->getLoggedUser();
  200.         $loggedIn $user !== null;
  201.         $basket $basketService->addItem($id);
  202.         return $this->json(
  203.             [
  204.                 "flash" => $sessionService->getSessionFlash(),
  205.                 "logged_in" => $loggedIn,
  206.                 "user" => $user,
  207.                 "sum" => $basket["sum"],
  208.                 "products" => $basket["products"]
  209.             ]
  210.         );
  211.     }
  212.     /**
  213.      * @Route("/kontakt", name="kontakt")
  214.      */
  215.     public function kontakt(SessionService $sessionService): Response
  216.     {
  217.         return $this->baseRender('content/kontakt.html.twig',);
  218.     }
  219.     /**
  220.      * @Route("/ueber-bendata", name="ueber")
  221.      */
  222.     public function about(SessionService $sessionService): Response
  223.     {
  224.         return $this->baseRender('content/ueber.html.twig',);
  225.     }
  226.     /**
  227.      * @param CategoryRepository $categoryRepository
  228.      * @return Response
  229.      */
  230.     public function ListCategory(CategoryRepository $categoryRepository): Response
  231.     {
  232.         $categories $categoryRepository->findAll();
  233.         return $this->baseRender('home/includes/categories.html.twig', [
  234.             'categories' => $categories,
  235.             'options' => [
  236.                 'name' => 'category',
  237.                 'title' => 'Category',
  238.             ]]);
  239.     }
  240.     /**
  241.      * @param ColourRepository $colourRepository
  242.      * @return Response
  243.      */
  244.     public function ListColour(ColourRepository $colourRepository): Response
  245.     {
  246.         $elements $colourRepository->findAll();
  247.         return $this->baseRender('home/includes/elements.html.twig', [
  248.             'elements' => $elements,
  249.             'options' => [
  250.                 'name' => 'colour',
  251.                 'title' => 'Colour',
  252.             ]]);
  253.     }
  254.     /**
  255.      * @param ConnectionRepository $connectionRepository
  256.      * @return Response
  257.      */
  258.     public function ListConnection(ConnectionRepository $connectionRepository): Response
  259.     {
  260.         $elements $connectionRepository->findAll();
  261.         return $this->baseRender('home/includes/elements.html.twig', [
  262.             'elements' => $elements,
  263.             'options' => [
  264.                 'name' => 'connection',
  265.                 'title' => 'Connection',
  266.             ]]);
  267.     }
  268.     /**
  269.      * @param DuplexprintingRepository $duplexprintingRepository
  270.      * @return Response
  271.      */
  272.     public function ListDuplexprinting(DuplexprintingRepository $duplexprintingRepository): Response
  273.     {
  274.         $elements $duplexprintingRepository->findAll();
  275.         return $this->baseRender('home/includes/elements.html.twig', [
  276.             'elements' => $elements,
  277.             'options' => [
  278.                 'name' => 'duplexprinting',
  279.                 'title' => 'Duplex Printing',
  280.             ]]);
  281.     }
  282.     /**
  283.      * @param FieldofuseRepository $fieldofuseRepository
  284.      * @return Response
  285.      */
  286.     public function ListFielofuse(FieldofuseRepository $fieldofuseRepository): Response
  287.     {
  288.         $elements $fieldofuseRepository->findAll();
  289.         return $this->baseRender('home/includes/elements.html.twig', [
  290.             'elements' => $elements,
  291.             'options' => [
  292.                 'name' => 'fieldofuse',
  293.                 'title' => 'Field of use',
  294.             ]]);
  295.     }
  296.     /**
  297.      * @param InkRepository $inkRepository
  298.      * @return Response
  299.      */
  300.     public function ListInk(InkRepository $inkRepository): Response
  301.     {
  302.         $elements $inkRepository->findAll();
  303.         return $this->baseRender('home/includes/elements.html.twig', [
  304.             'elements' => $elements,
  305.             'options' => [
  306.                 'name' => 'ink',
  307.                 'title' => 'Ink',
  308.             ]]);
  309.     }
  310.     /**
  311.      * @param ManufacturerRepository $manufacturerRepository
  312.      * @return Response
  313.      */
  314.     public function ListManufacturer(ManufacturerRepository $manufacturerRepository): Response
  315.     {
  316.         $elements $manufacturerRepository->findAll();
  317.         return $this->baseRender('home/includes/elements.html.twig', [
  318.             'elements' => $elements,
  319.             'options' => [
  320.                 'name' => 'manufacturer',
  321.                 'title' => 'Manufacturer',
  322.             ]]);
  323.     }
  324.     /**
  325.      * @param ModelRepository $modelRepository
  326.      * @return Response
  327.      */
  328.     public function ListModel(ModelRepository $modelRepository): Response
  329.     {
  330.         $elements $modelRepository->findAll();
  331.         return $this->baseRender('home/includes/elements.html.twig', [
  332.             'elements' => $elements,
  333.             'options' => [
  334.                 'name' => 'model',
  335.                 'title' => 'Printer Model',
  336.             ]]);
  337.     }
  338.     /**
  339.      * @param OperatingSystemRepository $operatingSystemRepository
  340.      * @return Response
  341.      */
  342.     public function ListOperatingSystem(OperatingSystemRepository $operatingSystemRepository): Response
  343.     {
  344.         $elements $operatingSystemRepository->findAll();
  345.         return $this->baseRender('home/includes/elements.html.twig', [
  346.             'elements' => $elements,
  347.             'options' => [
  348.                 'name' => 'operatingsystem',
  349.                 'title' => 'Operating System',
  350.             ]]);
  351.     }
  352.     /**
  353.      * @param PapersizeRepository $papersizeRepository
  354.      * @return Response
  355.      */
  356.     public function ListPapersize(PapersizeRepository $papersizeRepository): Response
  357.     {
  358.         $elements $papersizeRepository->findAll();
  359.         return $this->baseRender('home/includes/elements.html.twig', [
  360.             'elements' => $elements,
  361.             'options' => [
  362.                 'name' => 'size',
  363.                 'title' => 'Paper Size',
  364.             ]]);
  365.     }
  366.     /**
  367.      * @param PaperstockRepository $paperstockRepository
  368.      * @return Response
  369.      */
  370.     public function ListPaperstock(PaperstockRepository $paperstockRepository): Response
  371.     {
  372.         $elements $paperstockRepository->findAll();
  373.         return $this->baseRender('home/includes/elements.html.twig', [
  374.             'elements' => $elements,
  375.             'options' => [
  376.                 'name' => 'stock',
  377.                 'title' => 'Paper Stock',
  378.             ]]);
  379.     }
  380.     /**
  381.      * @param PfunctionsRepository $pfunctionsRepository
  382.      * @return Response
  383.      */
  384.     public function ListPfunctions(PfunctionsRepository $pfunctionsRepository): Response
  385.     {
  386.         $elements $pfunctionsRepository->findAll();
  387.         return $this->baseRender('home/includes/elements.html.twig', [
  388.             'elements' => $elements,
  389.             'options' => [
  390.                 'name' => 'functions',
  391.                 'title' => 'Functions',
  392.             ]]);
  393.     }
  394.     /**
  395.      * @param PrinterseriesRepository $printerseriesRepository
  396.      * @return Response
  397.      */
  398.     public function ListPrinterseries(PrinterseriesRepository $printerseriesRepository): Response
  399.     {
  400.         $elements $printerseriesRepository->findAll();
  401.         return $this->baseRender('home/includes/elements.html.twig', [
  402.             'elements' => $elements,
  403.             'options' => [
  404.                 'name' => 'series',
  405.                 'title' => 'Printer Series',
  406.             ]]);
  407.     }
  408.     /**
  409.      * @param PrinterspeedRepository $printerspeedRepository
  410.      * @return Response
  411.      */
  412.     public function ListPrinterspeed(PrinterspeedRepository $printerspeedRepository): Response
  413.     {
  414.         $elements $printerspeedRepository->findAll();
  415.         return $this->baseRender('home/includes/elements.html.twig', [
  416.             'elements' => $elements,
  417.             'options' => [
  418.                 'name' => 'speed',
  419.                 'title' => 'Print speed',
  420.             ]]);
  421.     }
  422.     /**
  423.      * @param ResolutionsRepository $resolutionsRepository
  424.      * @return Response
  425.      */
  426.     public function ListResolutions(ResolutionsRepository $resolutionsRepository): Response
  427.     {
  428.         $elements $resolutionsRepository->findAll();
  429.         return $this->baseRender('home/includes/elements.html.twig', [
  430.             'elements' => $elements,
  431.             'options' => [
  432.                 'name' => 'resolution',
  433.                 'title' => 'Resolution',
  434.             ]]);
  435.     }
  436. }