]> git.llucax.com Git - mecon/samurai.git/blob - src/www/include/lib/SA/Sistemas.php
(no commit message)
[mecon/samurai.git] / src / www / include / lib / SA / Sistemas.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                           SAMURAI                                  |
5 // +--------------------------------------------------------------------+
6 // |   Sistema de Administracion y Matenimiento de Usuarios Relativo A  |
7 // |                             Intranet                               |
8 // |                      Ministerio de Economía                        |
9 // +--------------------------------------------------------------------+
10 // | Creado: fri mar 21 ART 2003                                        |
11 // | Autor:  Martin Marrese <mmarre@mecon.gov.ar>                       |
12 // +--------------------------------------------------------------------+
13 // 
14 // $Id$
15 // 
16 // $URL$
17 // $Rev$
18 // $Date$
19 // $Author$
20
21 require_once 'PEAR.php';
22 require_once 'DB.php';
23 require_once 'HTML/Tabla.php';
24
25 /**
26  * Manejo de sistemas.
27  *
28  * Libreria para le manejo de los sistemas de intranet.
29  *
30  * @version $Rev$
31  * @author  $Author$
32  */
33
34 class SA_Sistemas extends PEAR {
35     
36     /**
37      * Datos del sistema
38      *
39      * @var integer
40      */
41     var $_id_sistema;
42
43     /**
44      * Base de Datos
45      *
46      * Object DB
47      */
48     var $_dbh;
49     
50     /**
51     * Consultas sql
52     *
53     * @var array
54     */
55     var $_sql;
56
57     /**
58     * Valores de Configuracion particular
59     *
60     * @var array
61     */
62     var $_conf;
63
64     
65     /**
66      * Constructor. 
67      *
68      * Recibe como parametro el identificador del sistema
69      *
70      * @access public
71      */
72     function SA_Sistemas ($id_sistema, $dbh) 
73     {
74         $this->_id_sistema  = $id_sistema;
75         $this->_dbh         = $dbh;
76         $this->_sql         = include 'lib/SA/Sistemas/sql_Conf.php'; // Obtengo las consultas SQL
77         $this->_conf        = include 'lib/SA/Sistemas/Conf.php'; // Obtengo los valores particulares de configuracion
78     }
79
80     /**
81     * Devuelve un array con los datos del sistema. 
82     *
83     * Funcion que devuelve un hasharray con los datos del sistema,
84     * en donde cada clave es un campo de la tabla sistema.
85     *
86     * @return $datos
87     *
88     * @access public
89     */
90     function datos()
91     {
92         $sql = $this->_sql['obtener_datos_sistema'];
93         $sql.= $this->_sql['obtener_datos_sistema2'];
94         $tmp = array ('0'=>$this->_id_sistema);
95         $result = $this->_dbh->getAll($sql, $tmp,DB_FETCHMODE_OBJECT);
96         return $result;
97     }
98
99     /**
100     * Devuelve un array con los datos de todos los  sistemas. 
101     *
102     * Funcion que devuelve un hasharray con todos los datos de los
103     * sistemas cargados en base, en donde cada clave es un campo 
104     * de la tabla sistema.
105     *
106     * @return $datos
107     *
108     * @access public
109     */
110     function datosTodos()
111     {
112         $sql = $this->_sql['obtener_datos_sistema'];
113         $sql.= $this->_sql['obtener_datos_sistema3'];
114         $result = $this->_dbh->getAll($sql, '',DB_FETCHMODE_OBJECT);
115         return $result;
116     }
117     
118     /**
119     * Devuelve en HTML un tabla con los datos de los sistemas. 
120     *
121     * @return $tabla
122     *
123     * @access public
124     */
125     function htmlTablaCompleta()
126     {
127         $TABLE  = new Tabla();
128         $row = array ('Id','Nombre','Descripcion','Modificar','Eliminar');
129         $TABLE->agregarFilaCabecera($row);
130         // Ver si esta parte la puedo evitar usando alguna funcion de html_table {{{
131         //Cargo los sistemas
132         $datos = $this->datosTodos();
133         //Genero las filas con los datos de los sistemas
134         foreach ($datos as $dato) {
135             $add_link = '&id='.$dato['0']; // texto a agregar al path del link
136             //            ID         NOMBRE     DESC       MODIF                     
137             $row = array ($dato['0'],$dato['1'],$dato['2'],$this->htmlLinkAbm('link_modif',$add_link),$this->htmlLinkAbm('link_elim',$add_link));            
138             $TABLE->agregarFila($row);
139             $TABLE->align($TABLE->getRowCount() - 1,2,'left');
140             
141         }
142         // }}} html_table
143         return $TABLE->toHtml();
144     }
145
146     /**
147     * Devuelve en HTML el link con la imagen al abm
148     *
149     * Recibe como parametro el nombre del link que se quiere mostrar
150     *
151     * @param $nombre_link nombre del link en el archivo configuracion
152     * @param $extra_link  texto extra para agregar al link dela pagina
153     *
154     * @return $link
155     *
156     * @access public
157     */
158     function htmlLinkAbm ($nombre, $add_link = '')
159     {
160         $link='<a href="'.$this->_conf[$nombre]['link_path'].$add_link.'"><img alt="'.$this->_conf[$nombre]['imagen_nombre'].'" src="'.$this->_conf[$nombre]['imagen_path'].'" border="0">'.$this->_conf[$nombre]['link_texto'].'</a>';
161         return $link;
162     }
163
164     /**
165     * Devuelve en HTML un tabla con los datos del sistema seleccionado.
166     *
167     * @param int $id_sistema
168     * @param int $accion
169     *
170     * @return $tabla
171     *
172     * @access public
173     */
174     function htmlDatosSistema($id, $accion)
175     {
176         $TABLE  = new Tabla();
177
178         //TODO: IMPORTANTE, ME TENGO QUE FIJAR QUE ACCION VOY A REALIZAR ANTES
179         //DE INTENTAR CARGAR LOS DATOS DEL SISTEMA...........SI, SI, SOY UN GIL
180         //TENGO QUE TRADUCIR LAS FECHAS
181
182         //Cargo los datos del sistema
183         $datos = $this->datosSistema($id);
184         //Genero las filas con los datos del sistema
185         $row = array ('Id Sistema',$datos['0']['0']);
186         $TABLE->agregarFila($row);
187         $row = array ('Nombre Sistema',$datos['0']['1']);
188         $TABLE->agregarFila($row);
189         $row = array ('Descripcion',$datos['0']['2']);
190         $TABLE->agregarFila($row);
191
192         
193         $row = array ('Fecha Inicio',$datos['0']['3']);
194         $TABLE->agregarFila($row);
195         $row = array ('Fecha Fin',$datos['0']['4']);
196         $TABLE->agregarFila($row);
197         $row = array ('Fecha Implementacion',$datos['0']['5']);
198         $TABLE->agregarFila($row);
199         
200         $row = array ('Contacto',$datos['0']['6']);
201         $TABLE->agregarFila($row);
202
203         
204         $row = array ('Fecha Ultima Modificacion',$datos['0']['7']);        
205         $TABLE->agregarFila($row);
206                
207         $TABLE->setColCabecera(0);      //Seteo la columna 0 como cabecera vertical de mi tabla
208         $TABLE->setColAlign(1, 'left'); //Seteo la alineacion de la columna 1 
209        
210         return $TABLE->toHtml();
211     }
212
213     /**
214     * Devuelve un array con los datos del sistema. 
215     *
216     * Funcion que devuelve un hasharray con todos los datos del
217     * sistema pasado por parametro, en donde cada clave es un campo 
218     * de la tabla sistema.
219     *
220     * @return $datos
221     *
222     * @access public
223     */
224     function datosSistema($id)
225     {
226         $tmp = array ($id);
227         $sql = $this->_sql['obtener_datos_sistema'];
228         $sql.= $this->_sql['obtener_datos_sistema2'];
229         $sql.= $this->_sql['obtener_datos_sistema3'];
230         $result = $this->_dbh->getAll($sql,$tmp);
231         return $result;
232     }
233  
234 }
235
236 ?>