static function get_vista_extendida($proyecto, $componente = null) { $sql = parent::get_vista_extendida($proyecto, $componente); $quote_proyecto = self::$db->quote($proyecto); if (isset($componente)) { $quote_componente = self::$db->quote($componente); } //------------- Info base de la estructura ---------------- $sql['_info_estructura']['sql'] = "SELECT\tproyecto \t,\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tobjeto ,\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tdebug\t\t,\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tap\t\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\t\tpunto_montaje,\n\t\t\t\t\t\t\t\t\t\t\t\t\tap_clase\t,\t\n\t\t\t\t\t\t\t\t\t\t\t\t\tap_archivo\t,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsinc_susp_constraints,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsinc_orden_automatico,\n\t\t\t\t\t\t\t\t\t\t\t\t\tsinc_lock_optimista\n\t\t\t\t\t\t\t\t\t\t FROM\t\tapex_objeto_datos_rel\n\t\t\t\t\t\t\t\t\t\t WHERE\t\tproyecto={$quote_proyecto} "; if (isset($componente)) { $sql['_info_estructura']['sql'] .= "\tAND\t\tobjeto={$quote_componente} "; } $sql['_info_estructura']['sql'] .= " ORDER BY objeto;"; $sql['_info_estructura']['registros'] = '1'; $sql['_info_estructura']['obligatorio'] = true; //------------ relaciones ---------------- $sql['_info_relaciones']['sql'] = "SELECT\tproyecto \t\t,\n\t\t\t\t\t\t\t\t\t\t\t\tobjeto \t\t ,\n\t\t\t\t\t\t\t\t\t\t\t\tasoc_id\t\t\t,\n\t\t\t\t\t\t\t\t\t\t\t--\tidentificador ,\n\t\t\t\t\t\t\t\t\t\t\t\tpadre_proyecto\t,\n\t\t\t\t\t\t\t\t\t\t\t\tpadre_objeto\t,\n\t\t\t\t\t\t\t\t\t\t\t\tpadre_id\t\t,\n\t\t\t\t\t\t\t\t\t\t\t---\tpadre_clave\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\thijo_proyecto\t,\n\t\t\t\t\t\t\t\t\t\t\t\thijo_objeto\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\thijo_id\t\t\t,\n\t\t\t\t\t\t\t\t\t\t---\t\thijo_clave\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\tcascada\t\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\torden\t\t\t\n\t\t\t\t\t\t\t\t\t FROM\t\tapex_objeto_datos_rel_asoc \n\t\t\t\t\t\t\t\t\t WHERE\t\tproyecto = {$quote_proyecto} "; if (isset($componente)) { $sql['_info_relaciones']['sql'] .= "\tAND\t\tobjeto={$quote_componente} "; } $sql['_info_relaciones']['sql'] .= " ORDER BY objeto, asoc_id;"; $sql['_info_relaciones']['registros'] = 'n'; $sql['_info_relaciones']['obligatorio'] = false; $sql['_info_dependencias'] = parent::get_vista_dependencias($proyecto, $componente); //------------- Tabla que mantenie las columnas que forman parte de la relacion----------------- $sql['_info_columnas_asoc_rel']['sql'] = "SELECT rca.asoc_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.proyecto,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.objeto,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.hijo_clave,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.hijo_objeto,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thijo.columna as col_hija,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.padre_objeto,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.padre_clave,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpadre.columna as col_padre\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tFROM\t\tapex_objeto_rel_columnas_asoc as rca,\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapex_objeto_datos_rel_asoc as dra,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapex_objeto_db_registros_col as padre,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tapex_objeto_db_registros_col as hijo\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trca.proyecto = {$quote_proyecto}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.proyecto = dra.proyecto\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.objeto = dra.objeto\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.asoc_id = dra.asoc_id\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.proyecto = padre.objeto_proyecto\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.padre_objeto = padre.objeto\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.padre_clave = padre.col_id\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.proyecto = hijo.objeto_proyecto\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.hijo_objeto = hijo.objeto\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tAND\t\t\t rca.hijo_clave = hijo.col_id\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t"; if (isset($componente)) { $sql['_info_columnas_asoc_rel']['sql'] .= "\tAND\t\trca.objeto={$quote_componente} "; } $sql['_info_columnas_asoc_rel']['sql'] .= " ORDER BY rca.asoc_id, rca.padre_objeto, rca.hijo_objeto, rca.padre_clave, rca.hijo_clave;"; $sql['_info_columnas_asoc_rel']['registros'] = 'n'; $sql['_info_columnas_asoc_rel']['obligatorio'] = false; return $sql; }
static function get_vista_extendida($proyecto, $componente = null) { $sql = parent::get_vista_extendida($proyecto, $componente); $proyecto = self::$db->quote($proyecto); if (isset($componente)) { $componente = self::$db->quote($componente); } //------------- Info base de la estructura ---------------- $sql['_info_estructura']['sql'] = "SELECT\tdt.tabla as tabla,\n\t\t\t\t\t\t\t\t\t\t\tdt.alias \tas alias,\n\t\t\t\t\t\t\t\t\t\t\tdt.min_registros \tas min_registros,\n\t\t\t\t\t\t\t\t\t\t\tdt.max_registros \tas max_registros,\n\t\t\t\t\t\t\t\t\t\t\tdt.ap\t\t\t\tas ap\t\t\t,\n\t\t\t\t\t\t\t\t\t\t\tdt.punto_montaje\tas punto_montaje,\n\t\t\t\t\t\t\t\t\t\t\tdt.ap_clase\t\t\tas ap_sub_clase\t,\t\n\t\t\t\t\t\t\t\t\t\t\tdt.ap_archivo\t as ap_sub_clase_archivo,\n\t\t\t\t\t\t\t\t\t\t\tdt.modificar_claves as ap_modificar_claves,\n\t\t\t\t\t\t\t\t\t\t\tap.clase\t\t\tas ap_clase,\n\t\t\t\t\t\t\t\t\t\t\tap.archivo\t\t\tas ap_clase_archivo,\n\t\t\t\t\t\t\t\t\t\t\tdt.tabla_ext\t\tas tabla_ext, \n\t\t\t\t\t\t\t\t\t\t\tdt.esquema\t\tas esquema, \n\t\t\t\t\t\t\t\t\t\t\tdt.esquema_ext\tas esquema_ext\n\t\t\t\t\t FROM\t\tapex_objeto_db_registros as dt\n\t\t\t\t \t\t\t\tLEFT OUTER JOIN apex_admin_persistencia ap ON dt.ap = ap.ap\n\t\t\t\t\t WHERE\t\tobjeto_proyecto={$proyecto} "; if (isset($componente)) { $sql['_info_estructura']['sql'] .= "\tAND\t\tobjeto={$componente} "; } $sql['_info_estructura']['sql'] .= " ORDER BY dt.objeto;"; $sql['_info_estructura']['registros'] = '1'; $sql['_info_estructura']['obligatorio'] = true; //------------ Columnas ---------------- $sql['_info_columnas']['sql'] = "SELECT\tobjeto_proyecto,\n\t\t\t\t\t\tobjeto \t\t\t,\t\n\t\t\t\t\t\tcol_id\t\t\t,\t\n\t\t\t\t\t\tcolumna\t\t\t,\t\n\t\t\t\t\t\ttipo\t\t\t,\t\n\t\t\t\t\t\tpk\t\t\t\t,\t\n\t\t\t\t\t\tsecuencia\t\t,\n\t\t\t\t\t\tlargo\t\t\t,\t\n\t\t\t\t\t\tno_nulo\t\t\t,\t\n\t\t\t\t\t\tno_nulo_db\t\t,\n\t\t\t\t\t\texterna\t\t\t,\n\t\t\t\t\t\ttabla\n\t\t\t\t\t FROM\t\tapex_objeto_db_registros_col \n\t\t\t\t\t WHERE\t\tobjeto_proyecto = {$proyecto} "; if (isset($componente)) { $sql['_info_columnas']['sql'] .= "\tAND\t\tobjeto={$componente} "; } $sql['_info_columnas']['sql'] .= " ORDER BY objeto, col_id;"; $sql['_info_columnas']['registros'] = 'n'; $sql['_info_columnas']['obligatorio'] = true; //------------ Externas ---------------- $sql['_info_externas']['sql'] = "SELECT\taore.objeto_proyecto,\n\t\t\t\t\t\taore.objeto \t\t\t,\n\t\t\t\t\t\taore.externa_id\t\t,\n\t\t\t\t\t\taore.tipo\t\t\t,\n\t\t\t\t\t\taore.sincro_continua\t,\n\t\t\t\t\t\taore.metodo\t\t\t,\n\t\t\t\t\t\taore.clase\t\t\t,\n\t\t\t\t\t\taore.include\t\t\t,\n\t\t\t\t\t\taore.sql,\n\t\t\t\t\t\taore.dato_estricto,\n\t\t\t\t\t\taore.carga_dt,\n\t\t\t\t\t\tcon.clase as carga_consulta_php,\n\t\t\t\t\t\taore.permite_carga_masiva,\n\t\t\t\t\t\taore.metodo_masivo\n\t\t\t\t\t FROM\t\tapex_objeto_db_registros_ext aore\n\t\t\t\t\tLEFT OUTER JOIN apex_consulta_php con ON\n\t\t\t\t\t\t\t\t\t\t\t\t(aore.objeto_proyecto = con.proyecto AND\n\t\t\t\t\t\t\t\t\t\t\t\taore.carga_consulta_php = con.consulta_php)\n\t\t\t\t\t WHERE\t\taore.objeto_proyecto = {$proyecto} "; if (isset($componente)) { $sql['_info_externas']['sql'] .= "\tAND\t\taore.objeto={$componente} "; } $sql['_info_externas']['sql'] .= " ORDER BY aore.objeto, aore.externa_id;"; $sql['_info_externas']['registros'] = 'n'; $sql['_info_externas']['obligatorio'] = false; //------------ Externas ---------------- $sql['_info_externas_col']['sql'] = "SELECT\text_col.objeto_proyecto,\n\t\t\t\t\t\text_col.objeto \t\t\t,\t\n\t\t\t\t\t\text_col.externa_id\t\t,\t\n\t\t\t\t\t\text_col.es_resultado\t,\n\t\t\t\t\t\tcol.columna\t\t\t\t\n\t\t\t\t\t FROM\t\n\t\t\t\t\t \t\tapex_objeto_db_registros_ext_col ext_col,\n\t\t\t\t\t \t\tapex_objeto_db_registros_col col\n\t\t\t\t\t WHERE\t\t\n\t\t\t\t\t \t\text_col.objeto_proyecto = {$proyecto} AND\n\t\t\t\t\t \t\tcol.objeto_proyecto = {$proyecto} AND\n\t\t\t\t\t \t\text_col.col_id = col.col_id\t\n\t\t\t\t\t \t"; if (isset($componente)) { $sql['_info_externas_col']['sql'] .= "\tAND\t\text_col.objeto={$componente} "; } $sql['_info_externas_col']['sql'] .= " ORDER BY ext_col.col_id;"; $sql['_info_externas_col']['registros'] = 'n'; $sql['_info_externas_col']['obligatorio'] = false; //------------ Valores Unicos ---------------- $sql['_info_valores_unicos']['sql'] = "SELECT\tcolumnas\n\t\t\t\t\t FROM\tapex_objeto_db_registros_uniq\n\t\t\t\t\t WHERE\tobjeto_proyecto = {$proyecto}"; if (isset($componente)) { $sql['_info_valores_unicos']['sql'] .= "\tAND\t\tobjeto={$componente} "; } $sql['_info_valores_unicos']['sql'] .= " ORDER BY columnas;"; $sql['_info_valores_unicos']['registros'] = 'n'; $sql['_info_valores_unicos']['obligatorio'] = false; //------------ FKS para el caso multitabla ---------------- $sql['_info_fks']['sql'] = "\n\t\t\tSELECT columna, columna_ext\n\t\t\tFROM apex_objeto_db_columna_fks\n\t\t\tWHERE objeto_proyecto = {$proyecto}\n\t\t"; if (isset($componente)) { $sql['_info_fks']['sql'] .= "\tAND\t\tobjeto={$componente} "; } $sql['_info_fks']['sql'] .= " ORDER BY columna;"; $sql['_info_fks']['registros'] = 'n'; $sql['_info_fks']['obligatorio'] = false; return $sql; }
static function get_vista_extendida($proyecto, $componente = null) { $sql = parent::get_vista_extendida($proyecto, $componente); $sql['_info_dependencias'] = parent::get_vista_dependencias($proyecto, $componente); //-- Componentes consumidos $sql['_info_consumo']['sql'] = "SELECT\td.identificador as\t\tidentificador,\n\t\t\t\t\t\t\t\t\t\t\t\to.proyecto as\t\t\t\t\tproyecto,\n\t\t\t\t\t\t\t\t\t\t\t\to.objeto as\t\t\t\t\t\tobjeto,\n\t\t\t\t\t\t\t\t\t\t\t\to.clase as\t\t\t\t\t\tclase,\n\t\t\t\t\t\t\t\t\t\t\t\tc.archivo as \t\t\t\t\tclase_archivo,\n\t\t\t\t\t\t\t\t\t\t\t\to.subclase as\t\t\t\t\tsubclase,\n\t\t\t\t\t\t\t\t\t\t\t\to.subclase_archivo as\t\t\tsubclase_archivo,\n\t\t\t\t\t\t\t\t\t\t\t\to.fuente_datos as \t\t\t\tfuente,\n\t\t\t\t\t\t\t\t\t\t\t\td.parametros_a as\t\t\t\tparametros_a,\n\t\t\t\t\t\t\t\t\t\t\t\td.parametros_b as\t\t\t\tparametros_b\n\t\t\t\t\t\t\t\t\t\tFROM\tapex_objeto o,\n\t\t\t\t\t\t\t\t\t\t\t\tapex_objeto_dep_consumo d,\n\t\t\t\t\t\t\t\t\t\t\t\tapex_clase c\n\t\t\t\t\t\t\t\t\t\tWHERE\to.objeto = d.objeto_proveedor\n\t\t\t\t\t\t\t\t\t\tAND\t\to.proyecto = d.proyecto\n\t\t\t\t\t\t\t\t\t\tAND\t\to.clase = c.clase\n\t\t\t\t\t\t\t\t\t\tAND\t\to.clase_proyecto = c.proyecto\n\t\t\t\t\t\t\t\t\t\tAND\t\td.proyecto='{$proyecto}'"; if (isset($componente)) { $sql['_info_consumo']['sql'] .= "\tAND\t\td.objeto_consumidor={$componente} "; } $sql['_info_consumo']['sql'] .= "\tORDER BY o.objeto;"; $sql['_info_consumo']['registros'] = 'n'; $sql['_info_consumo']['obligatorio'] = false; return $sql; }
static function get_vista_extendida($proyecto, $componente = null) { $sql = parent::get_vista_extendida($proyecto, $componente); $proyecto = self::$db->quote($proyecto); if (isset($componente)) { $componente = self::$db->quote($componente); } $sql['_info_eventos']['sql'] = "SELECT\tevento_id\t\t\t\tas evento_id,\n\t\t\t\t\t\t\t\t\t\t\t\tidentificador\t\t\tas identificador,\n\t\t\t\t\t\t\t\t\t\t\t\tetiqueta\t\t\t\tas etiqueta,\n\t\t\t\t\t\t\t\t\t\t\t\tmaneja_datos\t\t\tas maneja_datos,\n\t\t\t\t\t\t\t\t\t\t\t\tsobre_fila\t\t\t\tas sobre_fila,\n\t\t\t\t\t\t\t\t\t\t\t\tconfirmacion\t\t\tas confirmacion,\n\t\t\t\t\t\t\t\t\t\t\t\testilo\t\t\t\t\tas estilo,\n\t\t\t\t\t\t\t\t\t\t\t\timagen_recurso_origen\tas imagen_recurso_origen,\n\t\t\t\t\t\t\t\t\t\t\t\timagen\t\t\t\t\tas imagen,\n\t\t\t\t\t\t\t\t\t\t\t\ten_botonera\t\t\t\tas en_botonera,\n\t\t\t\t\t\t\t\t\t\t\t\tayuda\t\t\t\t\tas ayuda,\n\t\t\t\t\t\t\t\t\t\t\t\tci_predep\t\t\t\tas ci_predep,\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\timplicito\t\t\t\tas implicito,\t\n\t\t\t\t\t\t\t\t\t\t\t\tdefecto\t\t\t\t\tas defecto,\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tgrupo\t\t\t\t\tas grupo,\n\t\t\t\t\t\t\t\t\t\t\t\taccion\t\t\t\t\tas accion,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_imphtml_debug\tas accion_imphtml_debug,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_carpeta\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_item\t\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_objeto\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_popup\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_popup_param\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_celda\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_target\t\t,\n\t\t\t\t\t\t\t\t\t\t\t\taccion_vinculo_servicio ,\n\t\t\t\t\t\t\t\t\t\t\t\tes_seleccion_multiple ,\n\t\t\t\t\t\t\t\t\t\t\t\tes_autovinculo\n\t\t\t\t\t\t\t\t\tFROM\tapex_objeto_eventos\n\t\t\t\t\t\t\t\t\tWHERE\tproyecto={$proyecto} "; if (isset($componente)) { $sql['_info_eventos']['sql'] .= "\tAND\t\tobjeto={$componente} "; } $sql['_info_eventos']['sql'] .= " ORDER BY orden;"; $sql['_info_eventos']['registros'] = 'n'; $sql['_info_eventos']['obligatorio'] = false; // Puntos de control $sql['_info_puntos_control']['sql'] = "SELECT pe.pto_control, \n oe.identificador as evento\n FROM apex_ptos_control_x_evento pe,\n apex_objeto_eventos oe\n WHERE pe.proyecto = oe.proyecto\n AND pe.evento_id = oe.evento_id\n AND pe.proyecto = {$proyecto}"; if (isset($componente)) { $sql['_info_puntos_control']['sql'] .= "\tAND\t\toe.objeto={$componente} "; } $sql['_info_puntos_control']['sql'] .= " ORDER BY pto_control;"; $sql['_info_puntos_control']['registros'] = 'n'; $sql['_info_puntos_control']['obligatorio'] = false; return $sql; }
function get_objetos($opciones, $en_profundidad = false, $excluir_clases = array()) { //---Metodo de Consulta (DAO) $filtro_dao = ""; if (isset($opciones['dao']) && $opciones['dao'] != '') { $filtro_dao = $this->formar_filtro_dao($opciones['dao']); if (!isset($filtro_dao)) { return array(); } } //---Clase if (isset($opciones['clase'])) { $clases = array($opciones['clase']); } else { $clases = toba_info_editores::get_lista_tipo_componentes(); if (count($excluir_clases) > 0) { foreach (array_keys($clases) as $i) { if (in_array($clases[$i], $excluir_clases)) { unset($clases[$i]); } } } } //---ID $filtro_id = isset($opciones['id']) ? 'AND o.objeto = ' . quote($opciones['id']) : ''; //---INDICE $filtro_indice = isset($opciones['indice']) ? 'AND o.identificador = ' . quote($opciones['indice']) : ''; //----Extensiones $filtro_ext = ""; if (isset($opciones['extendidos'])) { if ($opciones['extendidos'] == 'SI') { $filtro_ext = "AND\t\to.subclase IS NOT NULL"; if (isset($opciones['subclase'])) { $sub_sana = toba_contexto_info::get_db()->quote("%{$opciones['subclase']}%"); $filtro_ext .= "\nAND o.subclase ILIKE {$sub_sana} "; } } else { $filtro_ext = "AND\t\to.subclase IS NULL"; } } //---Huerfanos $filtro_huerfano = ""; $proyecto = toba_contexto_info::get_db()->quote($this->proyecto); if (isset($opciones['huerfanos']) && $opciones['huerfanos'] == 1) { $filtro_huerfano = "AND\t\to.objeto NOT IN (SELECT objeto FROM apex_item_objeto WHERE proyecto = {$proyecto})"; $filtro_huerfano .= "AND\to.objeto NOT IN (SELECT objeto_proveedor FROM apex_objeto_dependencias WHERE proyecto = {$proyecto})"; } //---Nombre $filtro_nombre = ""; if (isset($opciones['nombre']) && $opciones['nombre'] != '') { $filtro_nombre = "AND\t\to.nombre ILIKE '%{$opciones['nombre']}%'"; } //---Tabla $filtro_tabla = ""; if (isset($opciones['tabla']) && $opciones['tabla'] != '') { $tabla_sana = toba_contexto_info::get_db()->quote("%{$opciones['tabla']}%"); $subselect = "\n\t\t\t\tSELECT \n\t\t\t\t\tobjeto,\n\t\t\t\t\tobjeto_proyecto\n\t\t\t\tFROM apex_objeto_db_registros\n\t\t\t\tWHERE \n\t\t\t\t\tobjeto_proyecto = {$proyecto}\n\t\t\t\t\tAND tabla ILIKE {$tabla_sana}"; $filtro_tabla = " AND (o.objeto, o.proyecto) IN ({$subselect})"; } //-- Se utiliza como sql básica aquella que brinda la definición de un componente toba_componente_def::set_db(toba_contexto_info::get_db()); $sql_base = toba_componente_def::get_vista_extendida($this->proyecto); $sql = $sql_base['_info']['sql']; $extras = " o.clase IN ('" . implode("', '", $clases) . "')\n\t\t\t\tAND \to.proyecto = {$proyecto}\n\t\t\t\t{$filtro_dao}\t\t\t\t\n\t\t\t\t{$filtro_id}\n\t\t\t\t{$filtro_indice}\n\t\t\t\t{$filtro_ext}\n\t\t\t\t{$filtro_huerfano}\n\t\t\t\t{$filtro_nombre}\n\t\t\t\t{$filtro_tabla}\n\t\t"; $sql = sql_concatenar_where($sql, array($extras)); $sql = sql_agregar_ordenamiento($sql, array(array('o.nombre', 'asc'))); //--- Recorrido toba_componente_def::set_db(toba_contexto_info::get_db()); $datos = toba_contexto_info::get_db()->consultar($sql); $this->objetos = array(); foreach ($datos as $dato) { $agregar = true; if (isset($opciones['extensiones_rotas']) && $opciones['extensiones_rotas'] == 1) { $agregar = $this->tiene_extension_rota($dato); } if ($agregar) { $clave = array('componente' => $dato['objeto'], 'proyecto' => $this->proyecto); if (!$en_profundidad) { $info = toba_constructor::get_info($clave, $dato['clase'], false, array('_info' => $dato)); } else { $info = toba_constructor::get_info($clave, $dato['clase'], true, null, true); } if (isset($this->explicaciones[$dato['objeto']])) { $explicacion = implode("<hr />", $this->explicaciones[$dato['objeto']]); $info->set_info_extra($explicacion); } $this->objetos[] = $info; } } return $this->objetos; }
function get_definicion_dependencia($id_componente, $proyecto = null) { $proyecto = isset($proyecto) ? $proyecto : $this->id; if (toba::nucleo()->utilizar_metadatos_compilados($this->id)) { $temp = toba_constructor::get_metadatos_compilados(array('proyecto' => $proyecto, 'componente' => $id_componente)); $rs = $temp['_info']; } else { //Busco la definicion del componente $sql = toba_componente_def::get_vista_extendida($proyecto, $id_componente); $rs = toba_proyecto_db::get_db()->consultar_fila($sql['_info']['sql']); } return $rs; }
static function set_db($db) { self::$db = $db; }