function confirmar_acciones($tabla_nombre) { //Creo el datos relacion para editar la tabla. $id = toba_info_editores::get_dr_de_clase('toba_datos_tabla'); $componente = array('proyecto' => $id[0], 'componente' => $id[1]); $dr_sincro = toba_constructor::get_runtime($componente); $dr_sincro->inicializar(); //Veo donde esta la tabla if (isset($this->_tablas_actualizables[$tabla_nombre])) { //Tengo que actualizar el DT $id_dt = $this->get_id_objeto($tabla_nombre); $dr_sincro->cargar(array('proyecto' => $this->_proyecto, 'objeto' => $id_dt)); $dr_sincro->actualizar_campos(); $dr_sincro->tabla('prop_basicas')->set_fila_columna_valor(0, 'esquema', $this->_tabla_x_schema[$tabla_nombre]); //Aca aun falta quitar las columnas if (isset($this->_tablas_actualizables[$tabla_nombre]['B'])) { foreach (array_keys($this->_tablas_actualizables[$tabla_nombre]['B']) as $borrable) { $id_interno = $dr_sincro->tabla('columnas')->get_id_fila_condicion(array('columna' => $borrable)); $dr_sincro->tabla('columnas')->eliminar_fila(current($id_interno)); } } } else { //Es un DT nuevo $pms_proyecto = toba_info_editores::get_pms(toba_editor::get_proyecto_cargado()); $pm_default = current($pms_proyecto); $datos = array('nombre' => $tabla_nombre, 'proyecto' => $this->_proyecto, 'clase_proyecto' => 'toba', 'clase' => 'toba_datos_tabla', 'fuente_datos_proyecto' => $this->_proyecto, 'fuente_datos' => $this->_fuente, 'punto_montaje' => $pm_default['id']); $dr_sincro->tabla('base')->set($datos); $dr_sincro->tabla('prop_basicas')->set(array('ap' => 1, 'permite_actualizacion_automatica' => '1', 'punto_montaje' => $pm_default['id'])); $dr_sincro->tabla('prop_basicas')->set_fila_columna_valor(0, 'tabla', $tabla_nombre); $dr_sincro->tabla('prop_basicas')->set_fila_columna_valor(0, 'esquema', $this->_tabla_x_schema[$tabla_nombre]); $columnas = $this->get_columnas_base($tabla_nombre); foreach ($columnas as $col) { $datos_col = array(); $datos_col['columna'] = $col['nombre']; $datos_col['no_nulo_db'] = (int) $col['not_null']; $datos_col['pk'] = (int) $col['pk']; $datos_col['tipo'] = $col['tipo']; if ($col['secuencia'] != '') { $datos_col['secuencia'] = $col['secuencia']; } if ($col['tipo'] == 'C' && $col['longitud'] > 0) { $datos_col['largo'] = $col['longitud']; } $dr_sincro->tabla('columnas')->nueva_fila($datos_col); } } $dr_sincro->sincronizar(); unset($dr_sincro); }
function get_pm_personalizacion() { $resultado = null; $pms = toba_info_editores::get_pms(toba_editor::get_proyecto_cargado()); foreach ($pms as $pm) { if (trim($pm['etiqueta']) == 'personalizacion') { $resultado = $pm['id']; } } return $resultado; }
function get_pms($proyecto) { return toba_info_editores::get_pms($proyecto); }