* @author Keka: * @author Vero: * @author Raquel: * @author Toni: * @package igep */ class IgepComunicaUsuario { /** * Instancia de IgepComunicacion * @access private * @var object IgepComunicacion */ var $comunica; /** * Datos utilizadaso en las inseciones para las listas * @access private * @var array datosPreinsertados */ var $datosPreinsertados; /** * Coleccion (array) de las listas definidas en el panel * @access private * @var array listasPanel */ var $listasPanel; /** * Objeto de la clase IgepMensaje que se creará en el caso de que el programador haga uso del método showMensaje * @access private * @var objeto obj_mensaje */ var $obj_mensaje = null; /** * Constructor. Recibe como parámetro una instancia viva de la clase * IgepComunicacion * * @access public * @param object $comunica */ function IgepComunicaUsuario(& $comunica, & $datosPreinsertados, & $listasPanel) { $this->comunica = & $comunica; $this->datosPreinsertados = & $datosPreinsertados; $this->listasPanel = & $listasPanel; } /** * Reinicializa el acceso a datos * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return none */ function reset($parametroOperacion='') { $this->comunica->reset($parametroOperacion); } /** * Fija la operación que va a ser origen de los datos * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return none */ function setOperacion($parametroOperacion) { $this->comunica->setOperacion($parametroOperacion); }//Fin function setOperacion /** * setIndice Cuando se trabaja con un conjunto de fichas múltiple, se utiliza para fijar la fila * (registro/tupla del conjunto) sobre la que estamos trabajando, por defecto, es la ficha que * se está visializando (esta activa) * * @access public * @param integer $indice Indice de 0..nRegs que indica la tuplas * @return none */ function setIndice($indice) { $this->comunica->int_filaActual = $indice; }//Fin function setOperacion /** * Permite cual es el origen de los datos actual * * @access public * @return string */ function getOperacion() { return $this->comunica->getOperacion(); }//Fin function getOperacion /** * Devuelve el valor del indice del cursor sobre el origen de datos actual * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return integer */ function getIndice($parametroOperacion='') { return $this->comunica->getIndice($parametroOperacion); } /** * Este método devuelve el registro activo sobre el origen de datos actual (cursor) * * @access public * @param $parametroOperacion el tipo de operación, si no se indica se coge el fijado para la instancia * @return array */ function currentTupla ($parametroOperacion=''){ return $this->comunica->currentTupla($parametroOperacion); }//Fin function currentTupla /** * getCampo devuelve el campo indicado como párametro del registro activo sobre el * origen de datos actual (cursor) * * @access public * @param string $nombreCampo Nombre del campo * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function getCampo($nombreCampo, $parametroOperacion='') { return $this->comunica->getCampo($nombreCampo, $parametroOperacion); }//Fin function getCampo /** * Alias para getCampo */ function getValue($nombreCampo, $parametroOperacion='') { return $this->comunica->getCampo($nombreCampo, $parametroOperacion); } /** * setCampo fija el valor pasado como parámetro sobre el campo indicado como párametro del * registro activo sobre el origen de datos actual (cursor) * * @access public * @param string $nombreCampo Nombre del campo * @param string $valorCampo Valor del campo * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function setCampo($nombreCampo, $valorCampo, $parametroOperacion='') { return $this->comunica->setCampo($nombreCampo, $valorCampo, $parametroOperacion); }//Fin function setCampo /** * Alias para setCampo */ function setValue($nombreCampo, $valorCampo, $parametroOperacion='') { return $this->comunica->setCampo($nombreCampo, $valorCampo, $parametroOperacion); }//Fin function setValue /** * nextTupla Avanza la posición del cursor sobre el origen de datos * actual (cursor) y devuelve el registro/tupla correspondiente * * @access public * @param string $nombreCampo Nombre del campo * @param string $valorCampo Valor del campo * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function nextTupla($parametroOperacion='') { return $this->comunica->nextTupla($parametroOperacion); }//Fin function nextTupla /** * fetchTupla devuelve el registro/tupla correspondiente y * avanza la posición del cursor sobre el origen de datos * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function fetchTupla($parametroOperacion='') { return $this->comunica->fetchTupla($parametroOperacion); }//Fin function nextTupla /** * setTupla sustituye el registro actual de la fuente de datos * prestablecida por el registro/tupla (array asociativo) pasado * como parámetro * * @access public * @param string $nombreCampo Nombre del campo * @param string $valorCampo Valor del campo * @param $parametroOperacion el tipo de operación, si no se indica se coge el fijado para la instancia * @return mixed */ function setTupla($tupla, $parametroOperacion='') { return $this->comunica->setTupla($tupla, $parametroOperacion); }//Fin function setTupla /** * getAllTuplas obtiene la matriz de registros correspondiente * al origen de datos pasado como argumento o prestablecido * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function getAllTuplas($parametroOperacion='') { return $this->comunica->getAllTuplas($parametroOperacion); }//Fin function getAllTuplas /** * getAllTuplasAntiguas obtiene la matriz de registros original correspondiente * al origen de datos pasado como argumento o prestablecido * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function getAllTuplasAntiguas($parametroOperacion='') { return $this->comunica->getAllTuplasAntiguas($parametroOperacion); }//Fin function getAllTuplasAntiguas /** * setAllTuplas establece obtiene la matriz de registros correspondiente * al origen de datos pasado como argumento o prestablecido * * @access public * @param matriz $vTuplas Conjunto de tuplas/registros a asignar * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function setAllTuplas($vTuplas, $parametroOperacion='') { return $this->comunica->setAllTuplas($vTuplas, $parametroOperacion); }//Fin de setAllTuplas /** * hayDatos indica si el origen de datos prestablecido * * @access public * @param $parametroOperacion Origen de datos (datos para insertar, para modificar, para borrar) * @return mixed */ function hayDatos($parametroOperacion='') { return $this->comunica->hayDatos($parametroOperacion); }//fin de hayDatos function getLista($nombreCampo, $parametroOperacion=''){ //Comprobamos si es una lista if(get_class($this->listasPanel[$nombreCampo])!='igeplista') return null; $objLista = & $this->listasPanel[$nombreCampo]; //Recogemos el valor del campo $valorSeleccionado = $this->getCampo($nombreCampo, $parametroOperacion); //Montamos la lista //Si no tiene dependencia cogemos el valor de camposPreInsertados if(!$objLista->hayDependencia()){ $listaResultado = $this->datosPreinsertados[$nombreCampo]; } else{ //Tenemos que construir la dependencia $tupla = $this->comunica->currentTupla($parametroOperacion); $listaResultado = $objLista->construyeLista($tupla); } $listaResultado['seleccionado'] = $valorSeleccionado; //Modificar aqui $objListaStruc = new _IgepEstructuraLista($listaResultado); return $objListaStruc; } function setLista($nombreCampo, $objListaStruc, $parametroOperacion= '') { //Modificar aqui $v_lista = $objListaStruc->getEstructuraListaIgep(); $this->comunica->setLista($nombreCampo, $v_lista, $parametroOperacion); } /** * Método que devuelve para una tupla dada la información de un campo de tipo 'FILE' * que se ha subido al servidor. * @param string nombreCampo Nombre del campo FILE del que se quiere obtener la información * @param string parametroOperacion Indica la operación sobre la que se quiere la tupla * @return array */ function getFileInfo($nombreCampo, $pametroOperacion =''){ return $this->comunica->getFileInfo($nombreCampo, $pametroOperacion); } /* --------------------------FUNCIONES AUXILIARES -------------------------- */ //Pasa a una fecha en formato IGEP(cristiano) a timestamp function strtotime_es($str_fechaHora) { $fechaHora = explode (" ", $str_fechaHora); $desFecha = explode("/",$fechaHora[0]); $d = $desFecha[0]; $m = $desFecha[1]; $a =$desFecha[2]; $strFechaHoraIngles = $a.'/'.$m.'/'.$d.' '.$fechaHora[1]; return strtotime($strFechaHoraIngles); }//Fin strtotime_es /* * Pasa a una fecha en formato timestamp a IGEP(cristiano), * indicando opcionalmente si tiene hora o no */ function timetostr_es($ts_fechaHora,$conhora='FECHA') { if ($conhora == 'FECHA') return date('d/m/Y',$ts_fechaHora); if ($conhora == 'FECHAHORA') return date('d/m/Y H:i:s',$ts_fechaHora); return '!!tipo fecha incorrecto!!'; } function comparaFechas($str_fechaHora1, $str_fechaHora2){ $fecha1 = $this->strtotime_es($str_fechaHora1); $fecha2 = $this->strtotime_es($str_fechaHora2); return ($fecha2-$fecha1); }//Fin de comparaFechas }//Fin de IgepComunicaUsuario ?>