src/Controller/administradorController.php line 90

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Component\HttpFoundation\Cookie;
  4. use Symfony\Component\HttpFoundation\Request;
  5. use Symfony\Component\HttpFoundation\Response;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Symfony\Component\HttpFoundation\JsonResponse;
  8. use Symfony\Component\HttpFoundation\RedirectResponse;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\Validator\Validator\ValidatorInterface;
  11. use App\Service\cryptService;
  12. use App\Entity\administradorEntity;
  13. use Doctrine\Persistence\ManagerRegistry;
  14. use App\Resource\Util\Util;
  15. use App\Resource\Dbal\Error;
  16. use App\Resource\Error\errorDisplay;
  17. use App\Resource\Util\fotoGeneral;
  18. use App\Resource\Util\modelSftp;
  19. class administradorController extends AbstractController {
  20.     
  21.     use Util;
  22.     use Error;
  23.     /**
  24.      * @Route("/administrador", name="administrador")
  25.      * @param Request $request
  26.      * @return Response
  27.      */
  28.     public function administrador() {
  29.         return $this->render('administrador.html.twig', [
  30.             'title' => 'Sistema de información de pasantías - administrador',
  31.         ]);
  32.     }
  33.     
  34.     /**
  35.      * @Route("/administrador/getArchivo", name="administrador-getArchivo")
  36.      * @param Request $request
  37.      * @return Response
  38.      */
  39.     public function getArchivo(Request $request ) {
  40.         try {
  41.             $nombre $request->query->get("url");
  42.             $tipo   $request->query->get("tipo");
  43.             if($tipo === 'presentacion'){
  44.                 $a file_get_contents('https://sid.ufpso.edu.co/archivos/pdf/' trim($nombre));
  45.             }else{
  46.                 $sftp = new modelSftp(); 
  47.                 $a $sftp->getFile("/data/$tipo/"$nombre ,false);
  48.             }
  49.             return new Response(
  50.                 $a,  // read from output buffer
  51.                 200,
  52.                 array(
  53.                     'Content-Type' => 'application/pdf',
  54.                     'Content-Disposition' => 'attachment; filename="'.$nombre.'"',
  55.                     "Cache.Control: max-age=0",
  56.                     "Data-Name: $nombre"
  57.                 )
  58.             );
  59.         } catch (\Exception $e) {
  60.             $data = (method_exists($e'getErrorCode')) ? $this->languageError($e->getErrorCode()) : $e->getMessage();
  61.             return new JsonResponse([
  62.                 'success' => false,
  63.                 'data' => $data
  64.             ]);
  65.         }
  66.     }
  67.     /**
  68.      * @Route("/administrador/{react}", name="administrador-react")
  69.      * @param Request $request
  70.      * @return Response
  71.      */
  72.     public function administradorReact(Request $request ,cryptService $responManagerRegistry $doctrineValidatorInterface $validator) {
  73.         
  74.         return $this->render('administrador.html.twig', [
  75.             'title' => 'Sistema de información de pasantías - administrador',
  76.         ]);
  77.     }
  78.     
  79.     /**
  80.      * @Route("/api/administrador/getEstudianteInfo", name="api-administrador-getEstudianteInfo")
  81.      * @param Request $request
  82.      * @return Response
  83.      */
  84.     public function getEstudianteInfo(Request $request ,cryptService $responManagerRegistry $doctrineValidatorInterface $validator) {
  85.         $error = new ErrorDisplay($request->query->all(), $validator);
  86.         /** @var \App\Entity\administradorEntity */
  87.         $entity $error->paramValidate(["codigo"], administradorEntity::class);
  88.         if (method_exists($entity"getstatusCode")) {
  89.             /** @var JsonResponse $entity */
  90.             return $entity;
  91.         }
  92.         /** @var  \App\Repository\administradorRepository */
  93.         $repository $doctrine->getRepository(administradorEntity::class, 'default');
  94.         $repository->conexionBD($this->getUser());
  95.         return new JsonResponse($respon->setResponse(
  96.             [
  97.                 'estudiante' => $repository->getEstudianteInfo($entity->getCodigo()), 
  98.                 "pasantia" => $repository->getInfoPasantia($entity->getCodigo()),
  99.                 'foto' => (new fotoGeneral())->getFotoEstudiante($entity->getCodigo())
  100.             ]
  101.         ));
  102.     }
  103.     /**
  104.      * @Route("/api/administrador/getEstudianteAll", name="api-administrador-getEstudianteAll")
  105.      * @param Request $request
  106.      * @return Response
  107.      */
  108.     public function getEstudianteAll(Request $request ,cryptService $responManagerRegistry $doctrineValidatorInterface $validator) {
  109.         $error = new ErrorDisplay($request->query->all(), $validator);
  110.         /** @var \App\Entity\administradorEntity */
  111.         $entity $error->paramValidate(["nombre"], administradorEntity::class);
  112.         if (method_exists($entity"getstatusCode")) {
  113.             /** @var JsonResponse $entity */
  114.             return $entity;
  115.         }
  116.         /** @var  \App\Repository\administradorRepository */
  117.         $repository $doctrine->getRepository(administradorEntity::class, 'default');
  118.         $repository->conexionBD($this->getUser());
  119.         return new JsonResponse($respon->setResponse(
  120.             [
  121.                 'data' => $repository->getEstudianteAll($entity->getNombre()), 
  122.             ]
  123.         ));
  124.     }
  125. }