]> git.llucax.com Git - mecon/samurai.git/blob - sistema/www/consultas/usuarios.php
2036587ec88ca907031fa4f9ee2b1dbd356e3938
[mecon/samurai.git] / sistema / www / consultas / usuarios.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
3 // +----------------------------------------------------------------------+
4 // | PHP Version 4                                                        |
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group                                |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license,      |
9 // | that is bundled with this package in the file LICENSE, and is        |
10 // | available at through the world-wide-web at                           |
11 // | http://www.php.net/license/2_02.txt.                                 |
12 // | If you did not receive a copy of the PHP license and are unable to   |
13 // | obtain it through the world-wide-web, please send a note to          |
14 // | license@php.net so we can mail you a copy immediately.               |
15 // +----------------------------------------------------------------------+
16 // | Created: jue oct  2 13:03:34 ART 2003
17 // | Author:  Martin Marrese <mmarre@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
19 //
20 // $Id$
21 // 
22
23 //Require_once {{{
24     //PEAR{{{
25     require_once 'HTML/Table.php';
26     //}}}
27     //Mecon {{{
28     require_once 'MECON/HTML/Tabla.php';
29     require_once 'MECON/HTML/Image.php';
30     require_once 'MECON/HTML/Link.php';
31     require_once 'MECON/Usuario.php';
32     require_once 'MECON/Dependencia.php';
33     require_once 'MECON/HTML/QuickForm.php';
34     //}}}
35     //Samurai {{{
36     require_once 'SAMURAI/Sistema.php';
37     require_once 'SAMURAI/Usuario.php';
38     require_once 'SAMURAI/Perfil.php';
39     require_once 'SAMURAI/Permiso.php';
40     //}}}
41 //}}}
42
43 //VERIFICO SI SE TIENE ACCESO A LA PAGINA{{{
44 $SAMURAI_PERM->setSistema(SAMURAI_PERM);
45 if (!$SAMURAI_PERM->tiene(SAMURAI_PERM_DEVELOPER)) {
46     $SAMURAI_PERM->chequear(SAMURAI_PERM_DEVELOPER);
47 }
48 $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM);
49 //}}}
50
51 //Obtengo la accion y el id del usuario {{{
52     $accion     = (@$_REQUEST['accion'])     ? $_REQUEST['accion']     : 'listado';
53     $subaccion  = (@$_REQUEST['subaccion'])  ? $_REQUEST['subaccion']  : null;
54     $login      = (@$_REQUEST['login'])      ? $_REQUEST['login']      : null; 
55     $filtro     = (@$_REQUEST['filtro'])     ? $_REQUEST['filtro']     : null; 
56     $id_sistema2 = (@$_REQUEST['id_sistema2']) ? $_REQUEST['id_sistema2'] : null; 
57     $id_perfil  = (@$_REQUEST['id_perfil'])  ? $_REQUEST['id_perfil']  : null; 
58 //}}}
59
60 //Creo la tabla volver {{{
61     $T_VOLVER     =& new HTML_Table('width="760"');
62     $IMG_VOLVER   =& new MECON_HTML_Image('/MECON/images/general_anterior.gif');
63     $LINK_VOLVER  =& new MECON_HTML_Link('', $IMG_VOLVER);
64 //}}}
65     
66 //Filtrar Usuarios {{{
67 if (@!$accion || $accion == 'filtrar') {
68     //Creo los objetos necesarios {{{
69         $FORM =& new MECON_HTML_QuickForm ('usuarios_filtrar','post','usuarios');
70         $T_USUARIOS = new MECON_HTML_Tabla ('width="400"');
71         $FORM->renderer->setTable($T_USUARIOS);
72     //}}}
73
74     //Agrego los elementos al form {{{
75         $FORM->addElement ('header', 'cabecera', 'Filtrar Usuarios');
76         $f_accion =& $FORM->addElement ('hidden', 'accion', 'listado');
77         $f_texto =& $FORM->addElement ('text', 'filtro', 'Login@Organismo', 
78                 array('size' => '20'));
79         $group[] = HTML_QuickForm::createElement('submit', 'filtrar', 'Filtrar');
80         $FORM->addGroup($group,'botones');
81     //}}}
82     
83     //Agrego la informacion al marco {{{
84         $LINK_VOLVER->setHref('consultas');
85         $MARCO->addBodyContent($FORM);
86         $MARCO->addTitle('Ver información de los usuarios');
87         $MARCO->addBodyContent('<BR>');
88         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
89         $MARCO->addBodyContent($T_VOLVER);
90   //}}}
91 }
92 //}}}
93
94 //Listado de usuarios filtrados {{{
95 elseif ($accion == 'listado') {
96     //Creo los objetos necesarios {{{
97         $T_USUARIOS  =& new MECON_HTML_Tabla();
98         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
99         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
100     //}}}
101
102     //Filtro los usuarios {{{
103         $usu_res = SAMURAI_Usuario::filtrarUsuarios($DB, $filtro);
104         while ($usu_res->fetchInto($row)){
105             $usu[$row['login']] = $row['nombre'];
106         }
107     //}}}
108
109     //Armo la tabla de Usuarios {{{
110         $T_USUARIOS->addRow(array('Listado de Usuarios'), 'colspan="4" cabecera
111                 align="left"');
112         $T_USUARIOS->addRow(array('Login', 'Nombre', 'Dependencia', 'Sel.'), 'titulo');
113         if (@count($usu)) {
114             foreach ($usu as $key => $value) {
115                 $u =& new MECON_Usuario($DB, null, $key);
116                 //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
117                 $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
118                 while ($depen->fetchInto($row)){
119                     $dep = $row['nombre'];
120                 }
121                 //}}}
122                 $LINK_SEL->setGetVars(array('accion'=>'info_usuario', 'login'
123                             => $key));
124                 $T_USUARIOS->addRow(array($key, $value, $dep, $LINK_SEL->toHtml()));
125             }
126         }
127         else {
128             $T_USUARIOS->addRow(array('No se encontraron coincidencias.'),
129                     'colspan="4" align="left"');
130         }
131     //}}}
132
133     //Agrego la informacion al marco {{{
134         $LINK_VOLVER->setHref('usuarios');
135         $LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
136         $MARCO->addBodyContent($T_USUARIOS);
137         $MARCO->addTitle('Seleccionar Usuario');
138         $MARCO->addBodyContent('<BR>');
139         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
140         $MARCO->addBodyContent($T_VOLVER);
141     //}}}
142 }
143 //}}}
144
145 //Informacion del usuario seleccionado {{{
146 elseif ($accion == 'info_usuario') {
147     //Creo los objetos necesarios {{{
148         $USUARIO =& new SAMURAI_Usuario($DB, $login);
149         $T_USUARIO =& new MECON_HTML_Tabla();
150         $T_SISTEMAS =& new MECON_HTML_Tabla();
151         $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
152         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
153         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
154     //}}}
155
156     //Agrego la informacion a la tabla de usuario {{{
157         $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
158                 align="left"');
159         $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
160         $u =& new MECON_Usuario($DB, null, $login);
161         //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
162         $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
163         while ($depen->fetchInto($row)){
164             $dep = $row['nombre'];
165         }
166         //}}}
167         $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
168                     $dep));
169     //}}}
170     
171     //Obtengo la informacion de la base {{{
172         $informacion = $USUARIO->informacionGeneral();
173     //}}}
174
175     //Agrego la informacion de los sistemas {{{
176         $T_SISTEMAS->addRow(array('Sistemas en los que esta asociado el
177                     usuario'), 'colspan="4" cabecera align="left"');
178         $T_SISTEMAS->addRow(array('Id', 'Nombre', 'Descripción', 'Perfiles'), 'titulo');
179         foreach ($informacion as $key => $value) {
180             $SISTEMA =& new SAMURAI_Sistema($DB, $key);
181             $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema',
182                         'id_sistema2'=>$key, 'login'=>$login));
183             $T_SISTEMAS->addRow(array(
184                                     $key,
185                                     $value['nombre_sistema'], 
186                                     $SISTEMA->getDescripcion(), 
187                                     $LINK_SEL->toHtml()
188                                 )
189                                );
190         }
191         $T_SISTEMAS->updateColAttributes(0, 'width="5%" align="center"');
192         $T_SISTEMAS->updateColAttributes(1, 'width="20%" align="center"');
193         $T_SISTEMAS->updateColAttributes(3, 'width="5%" align="center"');
194         $T_SISTEMAS->updateRowAttributes(0, 'align="left"');
195
196     //}}}
197     
198     //Agrego la informacion al marco {{{
199         $LINK_VOLVER->setHref('usuarios');
200         $LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
201         $MARCO->addBodyContent($T_USUARIO);
202         $MARCO->addBodyContent($IMG_SEP);
203         $MARCO->addBodyContent($T_SISTEMAS);
204         $MARCO->addTitle('Información Usuario');
205         $MARCO->addBodyContent('<BR>');
206         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
207         $MARCO->addBodyContent($T_VOLVER);
208     //}}}
209 }
210 //}}}
211
212 //Informacion del usuario y sistema seleccionado {{{
213 elseif ($accion == 'info_usuario_sistema') {
214     //Creo los objetos necesarios {{{
215         $USUARIO =& new SAMURAI_Usuario($DB, $login);
216         $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema2);
217         $T_USUARIO =& new MECON_HTML_Tabla();
218         $T_SISTEMA =& new MECON_HTML_Tabla();
219         $T_PERFILES =& new MECON_HTML_Tabla('width="400"');
220         $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
221         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
222         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
223     //}}}
224
225     //Agrego la informacion a la tabla de usuario {{{
226         $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
227                 align="left"');
228         $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
229         $u =& new MECON_Usuario($DB, null, $login);
230         //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
231         $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
232         while ($depen->fetchInto($row)){
233             $dep = $row['nombre'];
234         }
235         //}}}
236         $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
237                     $dep));
238     //}}}
239    
240     //Agrego la informacion de la tabla sistema {{{
241         $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
242         $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripción'), 'titulo');
243         $T_SISTEMA->addRow(array($id_sistema2, $SISTEMA->getNombre(),
244                     $SISTEMA->getDescripcion()));
245         $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
246         $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
247         $T_SISTEMA->updateRowAttributes(0, 'align="left"');
248    //}}}
249         
250     //Obtengo la informacion de la base {{{
251         $informacion = $USUARIO->informacionGeneral();
252     //}}}
253     
254     //Agrego la informacion de los perfiles {{{
255         $T_PERFILES->addRow(array('Perfiles del usuario en este sistema'), 
256                 'colspan="3" cabecera align="left"');
257         $T_PERFILES->addRow(array('Id', 'Descripcion', 'Permisos'), 'titulo');
258         $informacion = $informacion[$id_sistema2]['perfiles'];
259         foreach ($informacion as $key => $value) {
260             $PERFIL =& new SAMURAI_Perfil($DB, $key);
261             $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema_perfil',
262                         'id_sistema2'=>$id_sistema2, 'login'=>$login,
263                         'id_perfil'=>$key));
264             $T_PERFILES->addRow(array(
265                                     $key,
266                                     $value['desc_perfil'], 
267                                     $LINK_SEL->toHtml()
268                                 )
269                                );
270         }
271         $T_PERFILES->updateColAttributes(0, 'width="5%" align="center"');
272         $T_PERFILES->updateColAttributes(2, 'width="5%" align="center"');
273         $T_PERFILES->updateRowAttributes(0, 'align="left"');
274
275     //}}}
276
277     //Agrego la informacion al marco {{{
278         $LINK_VOLVER->setHref('usuarios');
279         $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario',
280                     'login' => $login));
281         $MARCO->addBodyContent($T_USUARIO);
282         $MARCO->addBodyContent($IMG_SEP);
283         $MARCO->addBodyContent($T_SISTEMA);
284         $MARCO->addBodyContent($IMG_SEP);
285         $MARCO->addBodyContent($T_PERFILES);
286         $MARCO->addTitle('Información Usuario');
287         $MARCO->addBodyContent('<BR>');
288         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
289         $MARCO->addBodyContent($T_VOLVER);
290     //}}}
291 }
292 //}}}
293
294 //Informacion del usuario, sistema y perfli seleccionado {{{
295 elseif ($accion == 'info_usuario_sistema_perfil') {
296     //Creo los objetos necesarios {{{
297         $USUARIO =& new SAMURAI_Usuario($DB, $login);
298         $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema2);
299         $PERFIL =& new SAMURAI_Perfil($DB, $id_perfil);
300         $T_USUARIO =& new MECON_HTML_Tabla();
301         $T_SISTEMA =& new MECON_HTML_Tabla();
302         $T_PERFIL =& new MECON_HTML_Tabla('width="400"');
303         $T_PERMISOS =& new MECON_HTML_Tabla('width="400"');
304         $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
305         $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
306         $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
307     //}}}
308
309     //Agrego la informacion a la tabla de usuario {{{
310         $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
311                 align="left"');
312         $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
313         $u =& new MECON_Usuario($DB, null, $login);
314         //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
315         $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
316         while ($depen->fetchInto($row)){
317             $dep = $row['nombre'];
318         }
319         //}}}
320         $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
321                     $dep));
322     //}}}
323    
324     //Agrego la informacion de la tabla sistema {{{
325         $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
326         $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripción'), 'titulo');
327         $T_SISTEMA->addRow(array($id_sistema2, $SISTEMA->getNombre(),
328                     $SISTEMA->getDescripcion()));
329         $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
330         $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
331         $T_SISTEMA->updateRowAttributes(0, 'align="left"');
332    //}}}
333         
334     //Agrego la informacion de la tabla perfil {{{
335         $T_PERFIL->addRow(array('Datos del perfil'), 'colspan="2" cabecera align="left"');
336         $T_PERFIL->addRow(array('Id', 'Descripción'), 'titulo');
337         $T_PERFIL->addRow(array($id_perfil, $PERFIL->getDescripcion()));
338         $T_PERFIL->updateColAttributes(0, 'width="5%" align="center"');
339         $T_PERFIL->updateRowAttributes(0, 'align="left"');
340    //}}}
341         
342     //Obtengo la informacion de la base {{{
343         $informacion = $USUARIO->informacionGeneral();
344     //}}}
345     
346     //Agrego la informacion de los permisos {{{
347         $T_PERMISOS->addRow(array('Permisos del usuario con este perfil'), 
348                 'colspan="3" cabecera align="left"');
349         $T_PERMISOS->addRow(array('Id', 'Descripción', 'Observaciones'), 'titulo');
350         $informacion =
351             $informacion[$id_sistema2]['perfiles'][$id_perfil]['permisos'];
352         foreach ($informacion as $key => $value) {
353             foreach ($value as $obs) {
354                 $T_PERMISOS->addRow(array(
355                                         $key,
356                                         $obs['desc_permiso'], 
357                                         $obs['observaciones']
358                                     )
359                                    );
360             }
361         }
362         $T_PERMISOS->updateColAttributes(0, 'width="5%" align="center"');
363         $T_PERMISOS->updateColAttributes(1, 'width="20%" align="center"');
364         $T_PERMISOS->updateRowAttributes(0, 'align="left"');
365
366     //}}}
367
368     //Agrego la informacion al marco {{{
369         $LINK_VOLVER->setHref('usuarios');
370         $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario_sistema',
371                     'login' => $login, 'id_sistema2'=>$id_sistema2));
372         $MARCO->addBodyContent($T_USUARIO);
373         $MARCO->addBodyContent($IMG_SEP);
374         $MARCO->addBodyContent($T_SISTEMA);
375         $MARCO->addBodyContent($IMG_SEP);
376         $MARCO->addBodyContent($T_PERFIL);
377         $MARCO->addBodyContent($IMG_SEP);
378         $MARCO->addBodyContent($T_PERMISOS);
379         $MARCO->addTitle('Informacion Usuario');
380         $MARCO->addBodyContent('<BR>');
381         $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
382         $MARCO->addBodyContent($T_VOLVER);
383     //}}}
384 }
385 //}}}
386
387 //MUESTRO LA INFORMACION {{{
388     $MARCO->display();
389     exit;
390 //}}}
391
392 ?>