protected function get_path_tabla($path_inicial, $tabla)
 {
     $candidato = str_replace('%id%', $tabla, toba_personalizacion::template_archivo_tabla);
     $valido = toba_manejador_archivos::nombre_valido($candidato);
     return $path_inicial . $valido;
 }
Esempio n. 2
0
 /**
  *	En el modo compilado, carga los metadatos necesarios para la solicitud actual
  *	@ignore
  */
 protected function iniciar_contexto_solicitud($item)
 {
     if ($this->utilizar_metadatos_compilados()) {
         // Arbol de componentes de la operacion
         $id = toba_manejador_archivos::nombre_valido($item[1]);
         require_once self::get_directorio_compilacion() . '/oper/toba_mc_oper__' . $id . '.php';
         // Datos BASICOS
         require_once self::get_directorio_compilacion() . '/gene/toba_mc_gene__basicos.php';
         $grupos_acceso = toba::manejador_sesiones()->get_perfiles_funcionales_activos();
         foreach ($grupos_acceso as $grupo) {
             require_once self::get_directorio_compilacion() . '/gene/toba_mc_gene__grupo_' . $grupo . '.php';
         }
     }
 }
Esempio n. 3
0
 /**
  *	Retorna la definicion compilada de un componente
  */
 static function get_metadatos_compilados($id, $item = false)
 {
     //Chequea si no se redefinieron en runtime
     $extendidos = toba_cargador::instancia()->get_metadatos_redefinidos($id);
     if (isset($extendidos)) {
         return $extendidos;
     }
     if ($item) {
         $clase = 'toba_mc_item__' . toba_manejador_archivos::nombre_valido($id['componente']);
     } else {
         $clase = 'toba_mc_comp__' . $id['componente'];
     }
     return call_user_func(array($clase, 'get_metadatos'));
 }
Esempio n. 4
0
 /**
  * Setea la ruta a un archivo conteniendo el xml con los datos para el reporte
  * @param string $ruta_xml Ruta al archivo xml
  * @param string $xpath_data_search XPath al nodo que contiene los datos. Opcional
  */
 function set_archivo_xml($ruta_xml, $xpath_data_search = null)
 {
     $this->xml_path = toba_manejador_archivos::nombre_valido($ruta_xml);
     $this->xpath_data = $xpath_data_search;
     if (is_null($xpath_data_search)) {
         //Si esto no viene no puedo crear un JRXMLDataSource, paso a modo archivo
         $this->modo_archivo = true;
     }
 }
 protected function get_path_componente($path_inicial, $tipo, $id)
 {
     $candidato = str_replace('%id%', $id, toba_personalizacion::template_archivo_componente);
     $valido = toba_manejador_archivos::nombre_valido($candidato);
     return $path_inicial . $tipo . '/' . $valido;
 }
Esempio n. 6
0
 private function compilar_operaciones()
 {
     $this->manejador_interface->mensaje('Operaciones resumidas', false);
     foreach (toba_info_editores::get_lista_items() as $item) {
         $clases_creadas = array();
         //Indice para proteger no crear una dos veces
         $php = "<?php\n";
         $directorio = $this->get_dir_componentes_compilados() . '/oper';
         toba_manejador_archivos::crear_arbol_directorios($directorio);
         $nombre_archivo = toba_manejador_archivos::nombre_valido('toba_mc_oper__' . $item['id']);
         $arbol = toba_info_editores::get_arbol_componentes_item($item['proyecto'], $item['id']);
         foreach ($arbol as $componente) {
             $tipo = $componente['tipo'];
             $prefijo_clase = $tipo == 'toba_item' ? 'toba_mc_item__' : 'toba_mc_comp__';
             $nombre_clase = toba_manejador_archivos::nombre_valido($prefijo_clase . $componente['componente']);
             if (!in_array($nombre_clase, $clases_creadas)) {
                 $clase = new toba_clase_datos($nombre_clase);
                 $metadatos = toba_cargador::instancia()->get_metadatos_extendidos($componente, $tipo, $this->db);
                 $clase->agregar_metodo_datos('get_metadatos', $metadatos);
                 $php .= $clase->get_contenido();
                 $clases_creadas[] = $nombre_clase;
             }
         }
         $php .= "\n?>";
         file_put_contents($directorio . '/' . $nombre_archivo . '.php', $php);
         $this->manejador_interface->progreso_avanzar();
     }
     $this->manejador_interface->progreso_fin();
 }
Esempio n. 7
0
 function evt__form_basico_ws__modificacion($datos)
 {
     if (isset($this->s__seleccionado)) {
         $this->s__datos[$this->s__seleccionado] = $datos;
         if (isset($datos['cert_file']) && $datos['cert_file']['error'] == 0) {
             //Si se subio un archivo de certificado
             $nombre_archivo = toba_manejador_archivos::nombre_valido($datos['cert_file']['name']);
             $this->cert = toba::proyecto()->get_www_temp($nombre_archivo);
             move_uploaded_file($datos['cert_file']['tmp_name'], $this->cert['path']);
         }
     }
 }
Esempio n. 8
0
 /**
  * Asocia el proyecto y servicio con el nombre del archivo que contiene la clave publica
  * @param directorio
  * @param array $headers
  * @param cert_cliente
  */
 function generar_configuracion_servidor($cert_cliente, $headers = array())
 {
     $config = self::get_ini_server($this->proyecto, $this->get_id());
     if (!$config->existe_entrada('certificado')) {
         $cert = array();
         $cert['clave_servidor'] = '../../privada.key';
         //Se utiliza la clave de todo el proyecto
         $cert['cert_servidor'] = '../../publica.crt';
         //Se utiliza el cert de todo el proyecto
         $config->agregar_entrada('certificado', $cert);
     }
     //Armo ID de cliente
     $nombre = self::generar_id_entrada_cliente($headers);
     //Guarda el certificado del cliente
     $directorio = $this->get_dir_instalacion_servidor();
     $nombre_archivo = toba_manejador_archivos::nombre_valido(str_replace('=', '_', $nombre));
     copy($cert_cliente, $directorio . "/{$nombre_archivo}.crt");
     $datos = array();
     $datos['archivo'] = "./{$nombre_archivo}.crt";
     $datos['fingerprint'] = sha1(toba_servicio_web::decodificar_certificado($directorio . "/{$nombre_archivo}.crt"));
     if (!$config->existe_entrada($nombre)) {
         $config->agregar_entrada($nombre, $datos);
     } else {
         $config->set_datos_entrada($nombre, $datos);
     }
     if (!$config->existe_entrada('general', 'activo')) {
         $config->agregar_entrada('general', array('activo' => '0'));
         //Desactivo el WS por defecto
     }
     $config->guardar();
 }