phpDocumentor
[ árbol de herencia: Seguridad ] [ índice: Seguridad ] [ índice general ]

toba_perfil_datos

El perfil de datos permite restringir los datos que surgen desde la base de datos en base a una dimensión dada (carrera, sexo, dependencia, etc.) El método filtrar analiza una consulta SQL dada, identificando las tablas que se relacionan con las dimensiones definidas en el proyecto y agregando clausulas WHERE necesarias para filtrar las mismas. Por ejemplo si es una consulta SQL de personas, tenemos una dimensión sexo y el usuario actual tiene definido un perfil de datos por el valor Masculino, agregará sexo='M' a las clausulas de la consulta.

Los perfiles de datos se definen en toba_usuarios (un usuario puede tener 0 o 1 perfil) Las dimensiones se definen por el proyecto en toba_editor



		
		

Ubicada en /nucleo/lib/toba_perfil_datos.php [line 17]


Métodos Propios
static void   get_restricciones_usuario()  
toba_perfil_datos   __construct()  
void   buscar_gatillos_from()  
void   buscar_tablas_gatillo_en_sql()  
void   cargar_info_dimensiones()  
void   cargar_info_restricciones()  
void   filtrar()   Agrega clausulas WHERE en un SQl de acuerdo al perfil de datos del usuario actual
void   filtrar_sql()  
void   get_alias_unico()   Provee alias de tablas unicos para la construccion de subquerys anidados.
void   get_clausula_from()  
void   get_gatillos_activos()   Devuelve la lista de gatillos que esta utilizando el esquema para filtrar SQLs
$value   get_id()   retorna el perfil de datos del usuario
void   get_info()   Estado del sistema de perfiles de datos para el usuario actual
void   get_lista_columnas_sql()  
$value   get_lista_dimensiones_restringidas()   Retorna un array con las dimensiones sobre las que se establecieron restricciones
$value   get_restricciones()   Retorna un array con las restricciones aplicadas sobre las dimensiones
array   get_restricciones_dimension()   Retorna las restricciones aplicadas sobre una dimensión específica
void   get_where_aplicacion_restriccion()  
void   get_where_dimension_gatillo()   Devuelve el WHERE correspondiente a un gatillo para una dimension particular
void   hay_combinaciones_de_querys()  
void   indexar_gatillos()  
$value   posee_dimension()   Indica si el perfil de datos del usuario posee una dimension en particular para una fuente datos dada.
$value   posee_restricciones()   Indica si el perfil de datos del usuario posee restricciones
void   probar_sqls()   Ejecuta el filtrado de SQL sobre un conjunto de SQLs
string   quitar_comentarios_sql()   Quita los comentarios de la sentencia SQL con formato -- o el tipico formato /* * /
void   reconocer_dimensiones_implicadas()   Arma la lista de dimensiones implicadas y el gatillo a utilizar por cada una

Constantes
static method get_restricciones_usuario  [línea 212]

  static void get_restricciones_usuario( $usuario, $proyecto  )

Parámetros:
   $usuario: 
   $proyecto: 


Constructor __construct  [línea 40]

  toba_perfil_datos __construct( )



buscar_gatillos_from  [línea 484]

  void buscar_gatillos_from( $sql_from, $fuente_datos  )

Parámetros:
   $sql_from: 
   $fuente_datos: 


buscar_tablas_gatillo_en_sql  [línea 430]

  void buscar_tablas_gatillo_en_sql( $sql, $fuente_datos  )

Parámetros:
   $sql: 
   $fuente_datos: 


cargar_info_dimensiones  [línea 83]

  void cargar_info_dimensiones( $fuente  )

Parámetros:
   $fuente: 


cargar_info_restricciones  [línea 72]

  void cargar_info_restricciones( )



filtrar  [línea 231]

  void filtrar( $sql, [ $fuente_datos = null], [ $dimensiones_desactivar = null]  )

Agrega clausulas WHERE en un SQl de acuerdo al perfil de datos del usuario actual
Parámetros:
   $sql: 
   $fuente_datos: 
   $dimensiones_desactivar: 


filtrar_sql  [línea 252]

  void filtrar_sql( $sql, [ $fuente_datos = null], [ $dimensiones_desactivar = null]  )

Parámetros:
   $sql: 
   $fuente_datos: 
   $dimensiones_desactivar: 


get_alias_unico  [línea 405]

  void get_alias_unico( )

Provee alias de tablas unicos para la construccion de subquerys anidados.


get_clausula_from  [línea 441]

  void get_clausula_from( $sql  )

Parámetros:
   $sql: 


get_gatillos_activos  [línea 203]

  void get_gatillos_activos( $fuente  )

Devuelve la lista de gatillos que esta utilizando el esquema para filtrar SQLs
Parámetros:
   $fuente: 


get_id  [línea 111]

  $value get_id( )

retorna el perfil de datos del usuario

Return:  string. Si el usuario no posee un perfil devuelve NULL


get_info  [línea 548]

  void get_info( $fuente_datos  )

Estado del sistema de perfiles de datos para el usuario actual
Parámetros:
   $fuente_datos: 


get_lista_columnas_sql  [línea 411]

  void get_lista_columnas_sql( $columnas, $alias  )

Parámetros:
   $columnas: 
   $alias: 


get_lista_dimensiones_restringidas  [línea 193]

  $value get_lista_dimensiones_restringidas( $fuente  )

Retorna un array con las dimensiones sobre las que se establecieron restricciones
Parámetros:
   $fuente: 

Return:  Retorna un array de dimensiones


get_restricciones  [línea 132]

  $value get_restricciones( $fuente  )

Retorna un array con las restricciones aplicadas sobre las dimensiones
Parámetros:
   $fuente: 

Return:  Retorna un array de dimensiones con un subarray de restricciones


get_restricciones_dimension  [línea 165]

  array get_restricciones_dimension( $fuente, string $nombre  )

Retorna las restricciones aplicadas sobre una dimensión específica
Parámetros:
string   $nombre:  Nombre de la dimension
   $fuente: 

Return:  Arreglo de restricciones si aplica, sino null


get_where_aplicacion_restriccion  [línea 378]

  void get_where_aplicacion_restriccion( $fuente_datos, $dimension, $columnas_aplicacion_restriccion, $alias_tabla  )

Parámetros:
   $fuente_datos: 
   $dimension: 
   $columnas_aplicacion_restriccion: 
   $alias_tabla: 


get_where_dimension_gatillo  [línea 319]

  void get_where_dimension_gatillo( $fuente_datos, $dimension, $tabla_gatillo, $alias_tabla  )

Devuelve el WHERE correspondiente a un gatillo para una dimension particular
Parámetros:
   $fuente_datos: 
   $dimension: 
   $tabla_gatillo: 
   $alias_tabla: 


hay_combinaciones_de_querys  [línea 528]

  void hay_combinaciones_de_querys( $sql  )

Parámetros:
   $sql: 


indexar_gatillos  [línea 90]

  void indexar_gatillos( $fuente  )

Parámetros:
   $fuente: 


posee_dimension  [línea 146]

  $value posee_dimension( varchar $dimension, [unknown_type $fuente_datos = null]  )

Indica si el perfil de datos del usuario posee una dimension en particular para una fuente datos dada.
Parámetros:
varchar   $dimension:  nombre de la dimension a consultar.
unknown_type   $fuente_datos:  fuente de datos donde deberia estar la dimension.

Return:  boolean


posee_restricciones  [línea 120]

  $value posee_restricciones( $fuente  )

Indica si el perfil de datos del usuario posee restricciones
Parámetros:
   $fuente: 

Return:  boolean


probar_sqls  [línea 568]

  void probar_sqls( $fuente_datos, $sqls, [ $contar_filas = false], [ $mostrar_filas = false]  )

Ejecuta el filtrado de SQL sobre un conjunto de SQLs
Parámetros:
   $fuente_datos: 
   $sqls: 
   $contar_filas: 
   $mostrar_filas: 


quitar_comentarios_sql  [línea 627]

  string quitar_comentarios_sql( string $sql  )

Quita los comentarios de la sentencia SQL con formato -- o el tipico formato /* * /
Parámetros:
string   $sql:  Sentencia a la que se le quiere quitar los comentarios

Access:  protected


reconocer_dimensiones_implicadas  [línea 292]

  void reconocer_dimensiones_implicadas( $tablas_encontradas, $fuente_datos  )

Arma la lista de dimensiones implicadas y el gatillo a utilizar por cada una

(Los gatillos tienen un orden de preferencia -el orden viene del sql de gatillos-, y no debe utilizarse mas de uno por dimension) (Un gatillo puede pertenecer a mas de una dimension)

Parámetros:
   $tablas_encontradas: 
   $fuente_datos: 




Desarrollado por SIU.
Documentación generada con phpDocumentor 1.4.3