Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
 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;
 }
Ejemplo n.º 4
0
 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;
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 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;
 }
Ejemplo n.º 7
0
 static function set_db($db)
 {
     self::$db = $db;
 }