public function listadoAction($aditionalFilter = '')
 {
     $pdf = new PDF("P", 'mm', "A4");
     $pdf->SetTopMargin(15);
     $pdf->SetLeftMargin(10);
     $pdf->AliasNbPages();
     $pdf->SetFillColor(210);
     $per = new Permisos();
     $em = new EntityManager($per->getConectionName());
     $query = "select t1.IdPerfil,t1.Permisos,t4.Perfil,t2.Titulo as Opcion,t3.Titulo as SubOpcion\n                from AgtPermisos as t1,menu as t2, submenu as t3, perfiles as t4\n                where t1.IDOpcion=t2.IDOpcion\n                and t1.IDOpcion=t3.IDOpcion\n                and t3.Id=t1.IDSubOpcion\n                and t1.IdPerfil=t4.Id\n                order by t1.IdPerfil,t1.IDOpcion,t1.IDSubOpcion;";
     $em->query($query);
     $rows = $em->fetchResult();
     $em->desConecta();
     unset($per);
     $perant = "";
     $opcant = "";
     foreach ($rows as $row) {
         if ($perant != $row['IDPerfil']) {
             $pdf->AddPage();
             $pdf->Cell(40, 5, $row['Perfil'], 0, 0, "L", 1);
         } else {
             $pdf->Cell(40, 5, "", 0, 0, "L", 0);
         }
         $pdf->SetFillColor(240);
         if ($opcant != $row['Opcion']) {
             $pdf->Cell(30, 5, $row['Opcion'], 0, 0, "L", 1);
         } else {
             $pdf->Cell(30, 5, "", 0, 0, "L", 0);
         }
         $perant = $row['IDPerfil'];
         $opcant = $row['Opcion'];
         $pdf->Cell(40, 5, $row['SubOpcion'], 0, 0, "L", 0);
         $permisos = array('C' => substr($row['Permisos'], 0, 1), 'I' => substr($row['Permisos'], 1, 1), 'B' => substr($row['Permisos'], 2, 1), 'A' => substr($row['Permisos'], 3, 1), 'L' => substr($row['Permisos'], 4, 1), 'E' => substr($row['Permisos'], 5, 1));
         $pdf->Cell(13, 5, $permisos['C'], 0, 0, "C", 0);
         $pdf->Cell(13, 5, $permisos['I'], 0, 0, "C", 1);
         $pdf->Cell(13, 5, $permisos['B'], 0, 0, "C", 0);
         $pdf->Cell(13, 5, $permisos['A'], 0, 0, "C", 1);
         $pdf->Cell(13, 5, $permisos['L'], 0, 0, "C", 0);
         $pdf->Cell(13, 5, $permisos['E'], 0, 1, "C", 1);
         $pdf->SetFillColor(210);
     }
     $archivo = "docs/docs" . $_SESSION['emp'] . "/pdfs/" . md5(date('d-m-Y H:i:s')) . ".pdf";
     $pdf->Output($archivo, 'F');
     $this->values['archivo'] = $archivo;
     return array('template' => '_global/listadoPdf.html.twig', 'values' => $this->values);
 }
Exemplo n.º 2
0
 /**
  * Subopciones para la opcion de primer rango indicada
  * Si no se indica el perfil de usuario, se muestran todas las posibles
  * en caso contrario se muestran sólo las asignadas a dicho perfil
  */
 public function getSubopciones($codigoApp, $idPerfil = '')
 {
     $modulos = new Modulos();
     $tablaModulos = $modulos->getDataBaseName() . "." . $modulos->getTableName();
     unset($modulos);
     $permisos = new Permisos();
     $tablaPermisos = $permisos->getDataBaseName() . "." . $permisos->getTableName();
     $conexion = $permisos->getConectionName();
     unset($permisos);
     $em = new EntityManager($conexion);
     if (is_resource($em->getDbLink())) {
         if ($idPerfil != '') {
             $query = "select DISTINCT t1.NombreModulo as Id,t2.Titulo as Value, t1.Funcionalidades \r\n                    from {$tablaPermisos} as t1, {$tablaModulos} as t2 \r\n                    where (t1.IDPerfil='{$idPerfil}' and t1.NombreModulo=t2.NombreModulo and Nivel='1' and CodigoApp='{$codigoApp}') \r\n                    order by t2.SortOrder";
         } else {
             $query = "select NombreModulo as Id, Titulo as Value from {$tablaModulos} where (CodigoApp='{$codigoApp}' and Nivel='1') order by SortOrder;";
         }
         $em->query($query);
         $rows = $em->fetchResult();
         $em->desConecta();
     } else {
         echo $em->getError();
     }
     if ($idPerfil == '') {
         $rows[] = array_push($rows, array('Id' => '0', 'Value' => ':: Indique una Opción'));
     }
     unset($em);
     return $rows;
 }