コード例 #1
0
ファイル: catalogo_tablas.php プロジェクト: emma5021/toba
 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);
 }
コード例 #2
0
ファイル: ci_editores_toba.php プロジェクト: emma5021/toba
 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;
 }
コード例 #3
0
ファイル: ci_clonador_items.php プロジェクト: emma5021/toba
 function get_pms($proyecto)
 {
     return toba_info_editores::get_pms($proyecto);
 }