src/Controller/BaseSite/Site/IndexController.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\Controller\BaseSite\Site;
  3. use App\Entity\LeadNumbers;
  4. use App\Form\BaseSite\Site\LeadSupportFormType;
  5. use App\Repository\BaseSite\Plan\FeatureRepository;
  6. use App\Repository\BaseSite\Plan\PlanRepository;
  7. use App\Repository\Shop\Product\ProductRepository;
  8. use App\Repository\Shop\Shop\ShopRepository;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
  11. use Symfony\Component\Form\Extension\Core\Type\IntegerType;
  12. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\Routing\Annotation\Route;
  15. class IndexController extends AbstractController
  16. {
  17.     #[Route(path'/'name'base_home'host'poooshe.com')]
  18.     public function index(Request $requestShopRepository $shopRepositoryProductRepository $productRepositoryPlanRepository $planRepositoryFeatureRepository $featureRepository)
  19.     {
  20.         $masterPlan $planRepository->findOneBy(['active' => 1'isTrial' => 0'isSystematic' => 1], ['price' => 'ASC']);
  21.         $form $this->createFormBuilder();
  22.         $features $featureRepository->findBy(['active' => true]);
  23.         $form->add('duration'IntegerType::class, [
  24.             'label' => 'مدت بسته (بر حسب ماه)',
  25.             'mapped' => false,
  26.             'required' => true,
  27.             'data' => 1,
  28.             'attr' => ['class' => 'feature-input''min' => 1'data-feature-key' => 'duration''max' => 12]
  29.         ]);
  30.         foreach ($featureRepository->findBy(['active' => 1'valueType' => 'activable']) as $feature) {
  31.             $form->add($feature->getFeatureKey(), CheckboxType::class, [
  32.                 'label' => $feature->getName() . ($feature->getPricePerUnit() == ' (رایگان) ' ''),
  33.                 'required' => false,
  34.                 'disabled' => ($feature->getPricePerUnit() == 0),
  35.                 'data' => ($feature->getPricePerUnit() == 0),
  36.                 'help' => $feature->getDetails() ?: '',
  37.                 'row_attr' => [
  38.                     'class' => 'form-switch'
  39.                 ],
  40.                 'mapped' => false,
  41.                 'attr' => ['class' => 'feature-input''data-feature-key' => $feature->getFeatureKey()]
  42.             ]);
  43.         }
  44.         foreach ($featureRepository->findBy(['active' => 1'valueType' => 'valuable']) as $feature) {
  45.             $form->add($feature->getFeatureKey(), NumberType::class, [
  46.                 'label' => $feature->getName() . ' (' $feature->getUnit() . ')',
  47.                 'required' => false,
  48.                 'mapped' => false,
  49.                 'attr' => ['class' => 'feature-input''data-feature-key' => $feature->getFeatureKey()]
  50.             ]);
  51.         }
  52.         $form $form->getForm();
  53.         $form->handleRequest($request);
  54.         return $this->render('base_site/site/v2/index.html.twig', [
  55.             'todayOrders' => 0,
  56.             'todaySites' => 0,
  57.             'todayUsers' => 0,
  58.             'totalSites' => count($shopRepository->findAll()) + 113,
  59.             'totalProducts' => count($productRepository->findAll()) + 1341,
  60.             'form' => $form->createView(),
  61.             'features' => $features,
  62.             'masterPlan' => $masterPlan,
  63.         ]);
  64.     }
  65.     #[Route(path'/'name'redorectCloudfolder_IR'host'cloudfolder.ir')]
  66.     public function redorectCloudfolder_IR(Request $requestShopRepository $shopRepositoryProductRepository $productRepository)
  67.     {
  68.         return $this->redirect('https://poooshe.com'308);
  69.     }
  70.     #[Route(path'/'name'redorectPoooshe_IR'host'poooshe.ir')]
  71.     public function redorectPoooshe_IR(Request $requestShopRepository $shopRepositoryProductRepository $productRepository)
  72.     {
  73.         return $this->redirect('https://poooshe.com'308);
  74.     }
  75.     #[Route(path'/check'name'check')]
  76.     public function check(Request $requestShopRepository $shopRepositoryProductRepository $productRepository)
  77.     {
  78.         return $this->render('check.html.twig', []);
  79.     }
  80. }