Example #1
0
 function evt__generar()
 {
     //Genero PDF
     $this->generar_pdf();
     //Genero XMLs
     $xml_juegos = toba::proyecto()->get_path_temp() . '/entrada_juegos.xml';
     $xml = new toba_xml_tablas();
     $xml->set_tablas($this->s__datos_juegos, "juegos");
     $xml->guardar($xml_juegos);
     $xml_deportes = toba::proyecto()->get_path_temp() . '/entrada_deportes.xml';
     $xml = new toba_xml_tablas();
     $xml->set_tablas($this->s__datos_deportes, "deportes");
     $xml->guardar($xml_deportes);
     //Agrego XMLs a PDF
     toba_firma_digital::pdf_add_attachments($this->s__pdf['path'], array($xml_juegos, $xml_deportes));
     $this->set_pantalla("pant_firma");
 }
Example #2
0
 function generar_pdf()
 {
     $datos = $this->get_datos_persona();
     $temp = rand();
     $datos_persona = array();
     $datos_persona['id'] = $datos['id'];
     $datos_persona['nombre'] = $datos['nombre'];
     $datos_persona['fecha_nac'] = $datos['fecha_nac'];
     //Generar PDF
     require_once toba_dir() . '/php/3ros/ezpdf/class.ezpdf.php';
     $pdf = new Cezpdf();
     $pdf->selectFont(toba_dir() . '/php/3ros/ezpdf/fonts/Helvetica.afm');
     $pdf->ezText('Ejemplo Firma Digital. Tiene un attachment XML', 14);
     $pdf->ezText('');
     $pdf->ezText("ID: {$datos['id']}", 14);
     $pdf->ezText("Nombre: {$datos['nombre']}", 14);
     $pdf->ezText("Fecha Nacimiento: {$datos['fecha_nac']}", 14);
     //Guardarlo en un archivo temporal
     $pdf_persona = toba::proyecto()->get_path_temp() . "/{$temp}.pdf";
     file_put_contents($pdf_persona, $pdf->ezOutput(0));
     //Generar XML
     $xml_persona = toba::proyecto()->get_path_temp() . "/{$temp}.xml";
     $xml = new toba_xml_tablas();
     $xml->set_tablas($datos_persona, "persona");
     $xml->guardar($xml_persona);
     //Agrego XMLs a PDF
     toba_firma_digital::pdf_add_attachments($pdf_persona, array($xml_persona));
     //Actualizo tabla
     $this->guardar_pdf_en_tabla($pdf_persona, false);
     //Retorno PDF y borro temporales
     $retorno = file_get_contents($pdf_persona);
     unlink($pdf_persona);
     unlink($xml_persona);
     return $retorno;
 }
Example #3
0
 function exportar_perfiles_produccion()
 {
     $dir_perfiles = $this->get_dir_permisos_produccion();
     //-- Borra los perfiles anteriormente guardados, si existen
     if (file_exists($dir_perfiles)) {
         toba_manejador_archivos::eliminar_directorio($dir_perfiles);
     }
     //-- Perfiles Funcionales
     toba_logger::instancia()->debug("Exportación a xml de perfiles funcionales '{$this->identificador}'");
     toba_manejador_archivos::crear_arbol_directorios($dir_perfiles);
     $items = array();
     //-- Util para recuperar la descripción asociada al item (si es que la tiene) en las siguientes etapas
     $tablas = $this->get_lista_tablas_perfil_funcional();
     $proyecto = $this->db->quote($this->identificador);
     foreach ($this->get_indice_grupos_acceso() as $permiso) {
         toba_logger::instancia()->debug("PERFIL  {$permiso}");
         $where = "usuario_grupo_acc IN (SELECT gc.usuario_grupo_acc FROM apex_usuario_grupo_acc AS gc WHERE gc.proyecto = {$proyecto} AND gc.usuario_grupo_acc = '{$permiso}' AND gc.permite_edicion = 1)";
         $datos = array();
         foreach ($tablas as $tabla) {
             $contenido = $this->get_contenido_tabla_datos($tabla, $where);
             if (!empty($contenido)) {
                 $datos[$tabla] = $contenido;
             }
         }
         if (!empty($datos)) {
             $archivo = $dir_perfiles . "/perfil_{$permiso}.xml";
             $xml = new toba_xml_tablas();
             $xml->set_tablas($datos);
             $xml->guardar($archivo);
             $items = array_merge($items, $datos['apex_usuario_grupo_acc_item']);
         }
         unset($datos);
         $this->manejador_interface->progreso_avanzar();
     }
     //-- Se guarda la descripción de las operaciones del proyecto
     $items = $this->get_descripcion_items($items);
     $archivo = $this->get_dir_instalacion_proyecto() . "/items.xml";
     $xml = new toba_xml_tablas();
     $xml->set_tablas($items, 'items');
     $xml->guardar($archivo);
     //--- Perfiles de datos
     toba_logger::instancia()->debug("Exportación a xml de perfiles de datos '{$this->identificador}'");
     $tablas = $this->get_lista_tablas_perfil_datos();
     $datos = array();
     foreach ($tablas as $tabla) {
         $contenido = $this->get_contenido_tabla_datos($tabla);
         if (!empty($contenido)) {
             $datos[$tabla] = $contenido;
         }
     }
     if (!empty($datos)) {
         $archivo = $dir_perfiles . "/perfiles_datos.xml";
         $xml = new toba_xml_tablas();
         $xml->set_tablas($datos);
         $xml->guardar($archivo);
     }
     unset($datos);
     $this->manejador_interface->progreso_avanzar();
     //--- Restricciones Funcionales
     toba_logger::instancia()->debug("Exportación a xml de restricciones funcionales '{$this->identificador}'");
     $tablas = $this->get_lista_tablas_restricciones();
     $datos = array();
     $where = "restriccion_funcional IN (SELECT res.restriccion_funcional FROM apex_restriccion_funcional AS res WHERE res.permite_edicion = 1)";
     foreach ($tablas as $tabla) {
         $contenido = $this->get_contenido_tabla_datos($tabla, $where);
         if (!empty($contenido)) {
             $datos[$tabla] = $contenido;
         }
     }
     if (!empty($datos)) {
         $archivo = $dir_perfiles . "/restricciones_funcionales.xml";
         $xml = new toba_xml_tablas();
         $xml->set_tablas($datos);
         $xml->guardar($archivo);
     }
     unset($datos);
     $this->manejador_interface->progreso_avanzar();
     //-- Configuración de Menues
     toba_logger::instancia()->debug("Exportación a xml de menues de aplicacion '{$this->identificador}'");
     $tablas = $this->get_lista_tablas_menu();
     $datos = array();
     foreach ($tablas as $tabla) {
         $contenido = $this->get_contenido_tabla($tabla);
         if (!empty($contenido)) {
             $datos[$tabla] = $contenido;
         }
     }
     if (!empty($datos)) {
         $archivo = $dir_perfiles . '/menues_aplicacion.xml';
         $xml = new toba_xml_tablas();
         $xml->set_tablas($datos);
         $xml->guardar($archivo);
     }
     unset($datos);
     $this->manejador_interface->progreso_avanzar();
 }