Documentación GVHIDRA 3.1.5
Referencia de la Clase gvHidraList

Métodos públicos

 __construct ($nombreListaTpl, $source='', $conexionAlternativa='')
 getName ()
 setName ($nombre)
 hayDependencia ()
 setDependence ($listasCamposTpl, $listasCamposBD, $tipoDependencia=0)
 getConsulta ()
 setConsulta ($cadena)
 getOrden ()
 setOrden ($cadena)
 getClass ()
 setClass ($class)
 hayDSN ()
 getDSN ()
 setDSN ($dsn)
 getSeleccionado ()
 setSelected ($valor)
 setMultiple ($multiple)
 getMultiple ()
 setRadio ($radio)
 getRadio ()
 setSize ($size)
 getSize ()
 addOption ($valor, $descripcion)
 _procesarDefinicion ($nombre)
 construyeLista ($regFuenteDependencia= '')

Campos de datos

 $_nombre
 $_consulta
 $_datosDin
 $_datosEst
 $_dependencia
 $_orden
 $_seleccionado
 $_dsn
 $v_defLista
 $_seleccionadoDefecto

Métodos privados

 getArrayDependencia ()
 getTipoDependencia ()
 buildByQuery ($regFuenteDependencia)
 buildByClass ($regFuenteDependencia)

Atributos privados

 $_multiple = false
 $_radio = false
 $_size = 1
 $_classSource

Descripción detallada

Definición en la línea 54 del archivo gvHidraList.php.


Documentación del constructor y destructor

__construct ( nombreListaTpl,
source = '',
conexionAlternativa = '' 
)

Construye una nueva lista

Parámetros:
string$nombreListaTplNombre del campo de la TPl a cincular con la lista
string$sourceNombre de la definicin de lista (AppMainWindow)
string$conexionAlternativaDSN alternativo (null si se coge el de la CManejadora)
Devuelve:
void

Definición en la línea 97 del archivo gvHidraList.php.

                                                                                           {
                
                $this->_datosEst = array();
                $this->_seleccionado = '';
                
                $this->setName($nombreListaTpl);
                        
                if(!empty($source)) {
                        //Cargamos los datos de configuracion de la lista
                        $descSource = $this->_procesarDefinicion($source);
                        //Si la fuente es de DB
                        if(isset($descSource['query'])) {

                                $consulta = $descSource['query'];
                                //Como la consulta nos puede venir con Order By, se lo quitamos.
                                $posOrder = strpos(strtolower($consulta),"order by");                                                                           
                                if($posOrder===false){
                                        $this->setConsulta($consulta);
                                        $this->setOrden(" ORDER BY 2");
                                }
                                else {
                                        $this->setConsulta(substr($consulta,0,$posOrder));
                                        $this->setOrden(substr ($consulta,$posOrder));
                                }
                        }
                        //Si la fuente es una clase
                        elseif(isset($descSource['class'])) {
                                
                                $this->setClass($descSource['class']);                                  
                        }
                
                }
                //Ahora no se le puede pasar un array a esta funcin, pero por compatibilidad lo dejamos
                else {
                        $this->setConsulta ('');
                        $this->setClass('');
                }
                $this->setDSN($conexionAlternativa);
        }//Fin de constructor

Documentación de las funciones miembro

_procesarDefinicion ( nombre)

Definición en la línea 340 del archivo gvHidraList.php.

                                              { 

        $conf = ConfigFramework::getConfig();
        $res = $conf->getDefList($nombre);
        if($res == -1){
            throw new Exception("gvHidraList Error: La consulta '$nombre' no est definida en el fichero AppMainWindow.php.");
        }
        //Tenemos que indicar de que tipo es y el valor del parametro
        return $res;
        }//Fin de _procesarDefinicion
addOption ( valor,
descripcion 
)

Mtodo que aade opciones estticas a una lista.

Parámetros:
$valorindica el valor del option
$descripcionindica la descripcion del option
$posicionindica la posicion donde se aade la opcin
Devuelve:
array

Definición en la línea 334 del archivo gvHidraList.php.

                                                        {

                $nuevaOpcion = array("valor"=>$valor, "descripcion"=>$descripcion);
                array_push($this->_datosEst, $nuevaOpcion);
        }               
buildByClass ( regFuenteDependencia) [private]

Definición en la línea 433 del archivo gvHidraList.php.

                                                             {

                //Si la lista es esttica la aadimos directamente a datosPreInsertados                 
                //Vamos a comprobar si tiene dependencia
                
                //Creamos la instancia de la clase
                $class = $this->getClass();
                if(!class_exists($class))
                        throw new gvHidraException('Error-List Component:'.$this->getName().': la clase definida como fuente de datos no existe. Revise su definin y su inclusin. Concretamente la clase '.$class);
                  
                                                
                $dependence = array();          
                if ($this->hayDependencia()) {
                
                    //Tenemos que ver si el campos del que depende tiene valor
                    $v_Dependencia = $this->getArrayDependencia();
                    $tipoDependencia = $this->getTipoDependencia();
                    $valorSeleccionado = '';
                
                    foreach($v_Dependencia as $campoDependiente => $campoDependienteBd) {                                       
                        //Si el campo dependiente tiene valor
                        if(is_array($regFuenteDependencia[$campoDependiente])) {
                            $valorSeleccionado = $regFuenteDependencia[$campoDependiente]['seleccionado']; 
                        }
                        else {                                                                                                                                  
                            $valorSeleccionado = $regFuenteDependencia[$campoDependiente];
                        }                                       
                                if(($tipoDependencia==0) OR (!empty($valorSeleccionado))) {
                                        $dependence[$campoDependienteBd] = $valorSeleccionado;
                        }
                        $valorSeleccionado = '';
                    }
                    try { 
                            $instance = new $class;
                            if(count($dependence)>0) {
                                        
                                $res2= $instance->build($dependence,$tipoDependencia);
                            }
                            else {
                                if($tipoDependencia==1) {
                                        
                                        $res2= $instance->build($dependence,$tipoDependencia);
                                }
                                else {
                                        
                                        $res2 = array();
                                }
                            }
                    }
                        catch(Exception $e){
                                IgepDebug::setDebug('Error en gvHidraList '.$this->getName().' Mensaje: '.$e->getMessage());
                        }                   
                        
                }
                else {
                        try {
                                $instance = new $class;
                                $res2= $instance->build(null,null);
                        }
                        catch(Exception $e){
                                IgepDebug::setDebug('Error en gvHidraList '.$this->getName().' Mensaje: '.$e->getMessage());
                        }
                }               
                if (PEAR::isError($res2))
                    $res2 = array();
                
                return $res2;
        }
buildByQuery ( regFuenteDependencia) [private]

Definición en la línea 376 del archivo gvHidraList.php.

                                                             {
                
        //Si la lista es esttica la aadimos directamente a datosPreInsertados         
        //Comprobamos si tiene conexion especifica o no
        $conexionParticular = new IgepConexion($this->getDSN());                                                
        //Vamos a comprobar si tiene dependencia                                
        $strDependencia = '';           
        if ($this->hayDependencia()) {

            //Tenemos que ver si el campos del que depende tiene valor
            $v_Dependencia = $this->getArrayDependencia();
            $tipoDependencia = $this->getTipoDependencia(); 
            $valorSeleccionado = '';

            foreach($v_Dependencia as $campoDependiente => $campoDependienteBd) {                                       
                //Si el campo dependiente tiene valor                                                                           
                if(is_array($regFuenteDependencia[$campoDependiente])) {
                    $valorSeleccionado = $regFuenteDependencia[$campoDependiente]['seleccionado']; 
                }
                else {
                                        $valorSeleccionado = $regFuenteDependencia[$campoDependiente];
                }
                if(($tipoDependencia==0) OR (!empty($valorSeleccionado))) {
                    if($strDependencia != '')
                        $strDependencia.=' AND ';
                    $strDependencia.=  $campoDependienteBd." = '".$valorSeleccionado."'";
                }
                $valorSeleccionado = '';
            }
            if(!empty($strDependencia)) {
                if((strpos(strtolower($this->getConsulta()),'where')===false))
                    $strDependencia = ' WHERE '.$strDependencia;
                else
                    $strDependencia = ' AND '.$strDependencia;                  
                $consulta = $this->getConsulta().$strDependencia.$this->getOrden();
                $res2 = $conexionParticular->consultar($consulta);
            }
            else {
                                if($tipoDependencia==1) {
                                        $consulta = $this->getConsulta().$this->getOrden();;
                                        $res2 = $conexionParticular->consultar($consulta);
                                }
                                else
                        $res2 = array();
            }
        }
        else {
            $consulta = $this->getConsulta().$this->getOrden();
            $res2 = $conexionParticular->consultar($consulta);
        }               
        if (PEAR::isError($res2))
            $res2 = array();

                return $res2;
        }    
construyeLista ( regFuenteDependencia = '')

Definición en la línea 352 del archivo gvHidraList.php.

                                                                {
        //Debug:Indicamos que ejecutamos la consulta
        IgepDebug::setDebug(DEBUG_IGEP,'gvHidraList: Construyendo la lista '.$this->getName());
            
        $res2 = array();
        if ($this->getConsulta()!='') {

                        $res2 = $this->buildByQuery($regFuenteDependencia);
        }
                elseif ($this->getClass()!='') {

                        $res2 = $this->buildByClass($regFuenteDependencia);
        }

        $res2 = array_merge($this->_datosEst, $res2);
        
        if (count($res2)==0)
            $lista_resultanteNuevo = array('seleccionado'=>'', 'lista'=>array());
        else
            $lista_resultanteNuevo = array('seleccionado'=>$this->getSeleccionado(),'lista'=>$res2);                    
        return $lista_resultanteNuevo;
    }
getArrayDependencia ( ) [private]

Definición en la línea 160 del archivo gvHidraList.php.

                                               {
                return ($this->_dependencia);
        }
getClass ( )

Definición en la línea 213 del archivo gvHidraList.php.

                                   {
                return ($this->_classSource);
        }
getConsulta ( )

Definición en la línea 197 del archivo gvHidraList.php.

                                      {
                return ($this->_consulta);
        }
getDSN ( )

Definición en la línea 233 del archivo gvHidraList.php.

                          {
                return ($this->_dsn);
        }
getMultiple ( )

Devuelve el valor de la propiedad multiple. Esta propiedad indica si la lista es multiple o no.

Devuelve:
boolean

Definición en la línea 279 del archivo gvHidraList.php.

                                     {
                
                return $this->_multiple;
        }       
getName ( )

Definición en la línea 141 del archivo gvHidraList.php.

                                 {
                return $this->_nombre;          
        }//Fin de getname
getOrden ( )

Definición en la línea 205 del archivo gvHidraList.php.

                                   {
                return (' '.$this->_orden);
        }
getRadio ( )

Devuelve el valor de la propiedad radio. Esta propiedad indica si la lista se representa como radio.

Devuelve:
boolean

Definición en la línea 300 del archivo gvHidraList.php.

                                  {
                
                return $this->_radio;
        }       
getSeleccionado ( )

Definición en la línea 248 del archivo gvHidraList.php.

                                  {             
                return $this->_seleccionado; 
        }
getSize ( )

Devuelve el valor de la propiedad size. Esta propiedad indica los elementos visibles de la lista.

Devuelve:
integer

Definición en la línea 321 del archivo gvHidraList.php.

                                 {
                
                return $this->_size;
        }       
getTipoDependencia ( ) [private]

Definición en la línea 164 del archivo gvHidraList.php.

                                              {
                return ($this->_tipoDependencia);
        }
hayDependencia ( )

Definición en la línea 156 del archivo gvHidraList.php.

                                  {
                return (!empty($this->_dependencia));
        }
hayDSN ( )

Definición en la línea 229 del archivo gvHidraList.php.

                          {
                return (!empty($this->_dsn));
        }
setClass ( class)

Definición en la línea 217 del archivo gvHidraList.php.

                                        {
                $this->_classSource = $class; 
        }       
setConsulta ( cadena)

Definición en la línea 201 del archivo gvHidraList.php.

                                            {
                $this->_consulta = $cadena; 
        }       
setDependence ( listasCamposTpl,
listasCamposBD,
tipoDependencia = 0 
)

Mtodo que permite asigar dependencia en una List. Es decir, si tenemos una lista cuyos valores dependen del valor de otros campos, necesitamos indicarlo con este mtodo.

public

Parámetros:
array$listaCamposTplArray que contiene la lista de campos de la tpl de los cuales depende la ventana de Seleccin
array$listaCamposBdArray que, indexado en el mismo orden que el anterior, realiza la correspondencia de los campos del array anterior con los de la Base de Datos.
int$tipoDependenciainteger indica si es una dependencia fuerte->0 o dbil->1(si no tiene valor el campo dependiente lo ignora).

Definición en la línea 178 del archivo gvHidraList.php.

                                                                                           {

                $dependencia = array();
                if((!is_array($listasCamposTpl)) or (!is_array($listasCamposBD)) or (count($listasCamposTpl)!=count($listasCamposBD)))
                        throw new gvHidraException('Error en la introduccin de la dependencia de la lista que actua sobre el campo TPL '.$this->getName().' . Recuerde que debe introducir dos arrays.');
                $i=0;
                for($i=0;$i<count($listasCamposBD);$i++)
                        $dependencia[$listasCamposTpl[$i]] = $listasCamposBD[$i];               
                $this->_dependencia = $dependencia;
                $this->_tipoDependencia = $tipoDependencia;                             
        }//Fin de setDependence
setDSN ( dsn)

Definición en la línea 237 del archivo gvHidraList.php.

                              {
                $this->_dsn = $dsn;
        }
setMultiple ( multiple)

Fija la propiedad multiple a un valor. Esta propiedad indica si la lista es multiple o no.

Parámetros:
$multipleboolean
Devuelve:
none

Definición en la línea 266 del archivo gvHidraList.php.

                                              {
                
                $this->_multiple = $multiple;   
                //Si no ha fijado size, le damos valor por defecto 5
                if($this->_size==1)
                        $this->setSize(5);
        }
setName ( nombre)

Definición en la línea 145 del archivo gvHidraList.php.

                                        {
                $this->_nombre = $nombre;
        }//Fin de setname
setOrden ( cadena)

Definición en la línea 209 del archivo gvHidraList.php.

                                         {
                $this->_orden = $cadena; 
        }
setRadio ( radio)

Fija la propiedad radion a un valor. Esta propiedad indica si la lista se representa como radios o no.

Parámetros:
$radioboolean
Devuelve:
none

Definición en la línea 290 del archivo gvHidraList.php.

                                        {
                
                $this->_radio = $radio;
        }
setSelected ( valor)

Definición en la línea 252 del archivo gvHidraList.php.

                                    {
                $this->_seleccionado = $valor;          
        }
setSize ( size)

Fija la propiedad size. Esta propiedad indica los elementos visibles de la lista.

Parámetros:
$sizeinteger
Devuelve:
none

Definición en la línea 311 del archivo gvHidraList.php.

                                      {
                
                $this->_size = $size;
        }

Documentación de los campos

$_classSource [private]

Definición en la línea 87 del archivo gvHidraList.php.

$_consulta

Definición en la línea 57 del archivo gvHidraList.php.

$_datosDin

Definición en la línea 58 del archivo gvHidraList.php.

$_datosEst

Definición en la línea 59 del archivo gvHidraList.php.

$_dependencia

Definición en la línea 60 del archivo gvHidraList.php.

$_dsn

Definición en la línea 63 del archivo gvHidraList.php.

$_multiple = false [private]

Definición en la línea 73 del archivo gvHidraList.php.

$_nombre

Definición en la línea 56 del archivo gvHidraList.php.

$_orden

Definición en la línea 61 del archivo gvHidraList.php.

$_radio = false [private]

Definición en la línea 79 del archivo gvHidraList.php.

$_seleccionado

Definición en la línea 62 del archivo gvHidraList.php.

$_seleccionadoDefecto

Definición en la línea 66 del archivo gvHidraList.php.

$_size = 1 [private]

Definición en la línea 85 del archivo gvHidraList.php.

$v_defLista

Definición en la línea 64 del archivo gvHidraList.php.


La documentación para esta clase fue generada a partir del siguiente fichero: