src/Controller/DefaultController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\ZonaCalore;
  4. use App\Entity\ZonaSismica;
  5. use App\Repository\ZonaCaloreRepository;
  6. use App\Repository\ZonaSismicaRepository;
  7. use Doctrine\ORM\EntityManagerInterface;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class DefaultController extends AbstractController
  12. {
  13.     /**
  14.      * @Route("/", name="home")
  15.      */
  16.     public function index(): Response
  17.     {
  18.         $this->denyAccessUnlessGranted("ROLE_USER");
  19.         return $this->redirectToRoute("domanda_home");
  20.         return $this->render('default/index.html.twig', [
  21.             'controller_name' => 'DefaultController',
  22.         ]);
  23.     }
  24.     /**
  25.      * @Route("/importa/zone", name="importa_zone")
  26.      */
  27.     public function importaZone(ZonaSismicaRepository $zonaSismicaRepositoryZonaCaloreRepository $zonaCaloreRepositoryEntityManagerInterface $entityManager): Response
  28.     {
  29.         $zoneSismiche $zonaSismicaRepository->findAll();
  30.         $row 1;
  31.         if (($handle fopen("doc/sismica.csv""r")) !== FALSE) {
  32.             while (($data fgetcsv($handle1000",")) !== FALSE) {
  33.                 $num count($data);
  34.                 if ($num == && $data[0] != "Regione") {
  35.                     $find false;
  36.                     foreach ($zoneSismiche as $zonaSismica) {
  37.                         if ($zonaSismica->getNome() == trim($data[3])) {
  38.                             $find true;
  39.                             break;
  40.                         }
  41.                     }
  42.                     if (!$find) {
  43.                         $zonaSismica = new ZonaSismica();
  44.                         $zonaSismica->setRegione(trim($data[0]));
  45.                         $zonaSismica->setProvincia(trim($data[1]));
  46.                         $zonaSismica->setCodiceIstat(trim($data[2]));
  47.                         $zonaSismica->setNome(strtolower(trim($data[3])));
  48.                         $zonaSismica->setZona(intval(trim($data[4])));
  49.                         $entityManager->persist($zonaSismica);
  50.                     }
  51.                 }
  52.             }
  53.             $entityManager->flush();
  54.             fclose($handle);
  55.         }
  56.         $zoneCalore $zonaCaloreRepository->findAll();
  57.         $row 1;
  58.         if (($handle fopen("doc/calore.csv""r")) !== FALSE) {
  59.             while (($data fgetcsv($handle1000",")) !== FALSE) {
  60.                 $num count($data);
  61.                 if ($num == && $data[0] != "pr") {
  62.                     $find false;
  63.                     foreach ($zoneCalore as $zonaCalore) {
  64.                         if ($zonaCalore->getNome() == trim($data[4])) {
  65.                             $find true;
  66.                             break;
  67.                         }
  68.                     }
  69.                     if (!$find) {
  70.                         if (trim($data[4]) > "" && trim($data[1]) > "") {
  71.                             $data[4] = preg_replace("/\(.*\)/"""$data[4]);
  72.                             $zoneCalore = new ZonaCalore();
  73.                             $zoneCalore->setProvincia(trim($data[0]));
  74.                             $zoneCalore->setNome(strtolower(trim($data[4])));
  75.                             $zoneCalore->setZona(trim($data[1]));
  76.                             $entityManager->persist($zoneCalore);
  77.                         }
  78.                     }
  79.                 }
  80.             }
  81.             $entityManager->flush();
  82.             fclose($handle);
  83.         }
  84.         exit();
  85.     }
  86. }