Beispiel #1
0
 /**
  *	Compilacion de DATOS BASICOS
  */
 private function compilar_metadatos_generales_basicos()
 {
     //-- Datos basicos --
     $this->manejador_interface->mensaje('Info basica', false);
     $nombre_clase = 'toba_mc_gene__basicos';
     $archivo = $this->get_dir_generales_compilados() . '/' . $nombre_clase . '.php';
     $clase = new toba_clase_datos($nombre_clase);
     $datos = toba_proyecto_db::cargar_info_basica($this->get_id());
     $clase->agregar_metodo_datos('info_basica', $datos);
     $this->manejador_interface->progreso_avanzar();
     //-- Fuentes --
     foreach ($this->get_indice_fuentes() as $fuente) {
         $datos = toba_proyecto_db::get_info_fuente_datos($this->get_id(), $fuente);
         //-- Se busca la relacion entre nombre_tabla y dt
         $mapeo = toba_proyecto_db::get_mapeo_tabla_dt($this->get_id(), $fuente);
         $datos['mapeo_tablas_dt'] = $mapeo;
         $clase->agregar_metodo_datos('info_fuente__' . $fuente, $datos);
     }
     $this->manejador_interface->progreso_avanzar();
     //-- Permisos --
     foreach ($this->get_indice_permisos() as $permiso) {
         $datos = toba_proyecto_db::get_descripcion_permiso($this->get_id(), $permiso);
         $clase->agregar_metodo_datos('info_permiso__' . $permiso, $datos);
     }
     $this->manejador_interface->progreso_avanzar();
     //-- Indice de componentes --
     $datos = toba_proyecto_db::get_mapeo_componentes_indice($this->get_id());
     $clase->agregar_metodo_datos('info_indices_componentes', $datos);
     $this->manejador_interface->progreso_avanzar();
     //Creo el archivo
     $clase->guardar($archivo);
     $this->manejador_interface->progreso_fin();
 }
Beispiel #2
0
 function get_fuente_proyecto_alterno($id, $proyecto)
 {
     $parametros = toba_proyecto_db::get_info_fuente_datos($proyecto, $id);
     if (isset($parametros['subclase_archivo'])) {
         if (toba::proyecto()->get_id() != $proyecto) {
             //Si la fuente esta extendida, puede necesitar otros archivos del proyecto, agregar el include path
             $path_proyecto = toba::instancia()->get_path_proyecto($proyecto) . '/php';
             agregar_dir_include_path($path_proyecto);
         }
         $archivo = $parametros['subclase_archivo'];
     } else {
         $archivo = 'nucleo/lib/toba_fuente_datos.php';
     }
     if (isset($parametros['subclase_nombre'])) {
         $clase = $parametros['subclase_nombre'];
     } else {
         $clase = "toba_fuente_datos";
     }
     require_once $archivo;
     return new $clase($parametros);
 }
Beispiel #3
0
 function get_info_fuente_datos($id_fuente, $proyecto = null)
 {
     if (!isset($proyecto)) {
         $proyecto = $this->id;
     }
     if (toba::nucleo()->utilizar_metadatos_compilados($proyecto)) {
         $rs = $this->recuperar_datos_compilados('toba_mc_gene__basicos', 'info_fuente__' . $id_fuente);
     } else {
         if (!isset($proyecto)) {
             $proyecto = $this->id;
         }
         $rs = toba_proyecto_db::get_info_fuente_datos($proyecto, $id_fuente);
         //-- No se carga aqui la relacion entre tabla y dt por un tema de eficiencia, se hace con un lazyload en toba_fuente_datos
     }
     if (empty($rs)) {
         throw new toba_error("No se puede encontrar la fuente '{$id_fuente}' en el proyecto '{$proyecto}'");
     }
     return $rs;
 }