| // +--------------------------------------------------------------------+ // // $Id$ // // $URL$ // $Rev$ // $Date$ // $Author$ require_once 'PEAR.php'; require_once 'DB.php'; require_once 'HTML/Tabla.php'; /** * Manejo de sistemas. * * Libreria para le manejo de los sistemas de intranet. * * @version $Rev$ * @author $Author$ */ class SA_Sistemas extends PEAR { /** * Datos del sistema * * @var integer */ var $_id_sistema; /** * Base de Datos * * Object DB */ var $_dbh; /** * Consultas sql * * @var array */ var $_sql; /** * Valores de Configuracion particular * * @var array */ var $_conf; /** * Constructor. * * Recibe como parametro el identificador del sistema * * @access public */ function SA_Sistemas ($id_sistema, $dbh) { $this->_id_sistema = $id_sistema; $this->_dbh = $dbh; $this->_sql = include 'lib/SA/Sistemas/sql_Conf.php'; // Obtengo las consultas SQL $this->_conf = include 'lib/SA/Sistemas/Conf.php'; // Obtengo los valores particulares de configuracion } /** * Devuelve un array con los datos del sistema. * * Funcion que devuelve un hasharray con los datos del sistema, * en donde cada clave es un campo de la tabla sistema. * * @return $datos * * @access public */ function datos() { $sql = $this->_sql['obtener_datos_sistema']; $sql.= $this->_sql['obtener_datos_sistema2']; $tmp = array ('0'=>$this->_id_sistema); $result = $this->_dbh->getAll($sql, $tmp,DB_FETCHMODE_OBJECT); return $result; } /** * Devuelve un array con los datos de todos los sistemas. * * Funcion que devuelve un hasharray con todos los datos de los * sistemas cargados en base, en donde cada clave es un campo * de la tabla sistema. * * @return $datos * * @access public */ function datosTodos() { $sql = $this->_sql['obtener_datos_sistema']; $sql.= $this->_sql['obtener_datos_sistema3']; $result = $this->_dbh->getAll($sql, '',DB_FETCHMODE_OBJECT); return $result; } /** * Devuelve en HTML un tabla con los datos de los sistemas. * * @return $tabla * * @access public */ function htmlTablaCompleta() { $TABLE = new Tabla(); $row = array ('Id','Nombre','Descripcion','Modificar','Eliminar'); $TABLE->agregarFilaCabecera($row); // Ver si esta parte la puedo evitar usando alguna funcion de html_table {{{ //Cargo los sistemas $datos = $this->datosTodos(); //Genero las filas con los datos de los sistemas foreach ($datos as $dato) { $add_link = '&id='.$dato['0']; // texto a agregar al path del link // ID NOMBRE DESC MODIF $row = array ($dato['0'],$dato['1'],$dato['2'],$this->htmlLinkAbm('link_modif',$add_link),$this->htmlLinkAbm('link_elim',$add_link)); $TABLE->agregarFila($row); $TABLE->align($TABLE->getRowCount() - 1,2,'left'); } // }}} html_table return $TABLE->toHtml(); } /** * Devuelve en HTML el link con la imagen al abm * * Recibe como parametro el nombre del link que se quiere mostrar * * @param $nombre_link nombre del link en el archivo configuracion * @param $extra_link texto extra para agregar al link dela pagina * * @return $link * * @access public */ function htmlLinkAbm ($nombre, $add_link = '') { $link=''.$this->_conf[$nombre]['imagen_nombre'].''.$this->_conf[$nombre]['link_texto'].''; return $link; } /** * Devuelve en HTML un tabla con los datos del sistema seleccionado. * * @param int $id_sistema * @param int $accion * * @return $tabla * * @access public */ function htmlDatosSistema($id, $accion) { $TABLE = new Tabla(); //TODO: IMPORTANTE, ME TENGO QUE FIJAR QUE ACCION VOY A REALIZAR ANTES //DE INTENTAR CARGAR LOS DATOS DEL SISTEMA...........SI, SI, SOY UN GIL //TENGO QUE TRADUCIR LAS FECHAS //Cargo los datos del sistema $datos = $this->datosSistema($id); //Genero las filas con los datos del sistema $row = array ('Id Sistema',$datos['0']['0']); $TABLE->agregarFila($row); $row = array ('Nombre Sistema',$datos['0']['1']); $TABLE->agregarFila($row); $row = array ('Descripcion',$datos['0']['2']); $TABLE->agregarFila($row); $row = array ('Fecha Inicio',$datos['0']['3']); $TABLE->agregarFila($row); $row = array ('Fecha Fin',$datos['0']['4']); $TABLE->agregarFila($row); $row = array ('Fecha Implementacion',$datos['0']['5']); $TABLE->agregarFila($row); $row = array ('Contacto',$datos['0']['6']); $TABLE->agregarFila($row); $row = array ('Fecha Ultima Modificacion',$datos['0']['7']); $TABLE->agregarFila($row); $TABLE->setColCabecera(0); //Seteo la columna 0 como cabecera vertical de mi tabla $TABLE->setColAlign(1, 'left'); //Seteo la alineacion de la columna 1 return $TABLE->toHtml(); } /** * Devuelve un array con los datos del sistema. * * Funcion que devuelve un hasharray con todos los datos del * sistema pasado por parametro, en donde cada clave es un campo * de la tabla sistema. * * @return $datos * * @access public */ function datosSistema($id) { $tmp = array ($id); $sql = $this->_sql['obtener_datos_sistema']; $sql.= $this->_sql['obtener_datos_sistema2']; $sql.= $this->_sql['obtener_datos_sistema3']; $result = $this->_dbh->getAll($sql,$tmp); return $result; } } ?>