/** * Dado el nombre de una tabla de la fuente, retorna el id de su datos_tabla asociado * @param string $tabla * @return int */ function get_id_datos_tabla($tabla) { if (!isset($this->definicion['mapeo_tablas_dt'])) { //-- Lazyload de la relacion entre tabla y dt por un tema de eficiencia $this->definicion['mapeo_tablas_dt'] = toba_proyecto_db::get_mapeo_tabla_dt($this->definicion['proyecto'], $this->definicion['fuente_datos']); } if (isset($this->definicion['mapeo_tablas_dt'][$tabla])) { return $this->definicion['mapeo_tablas_dt'][$tabla]; } else { throw new toba_error("No se encuentra el datos_tabla asociado a la tabla {$tabla} en la fuente {$this->definicion['fuente_datos']}"); } }
/** * 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(); }