2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
3 // +----------------------------------------------------------------------+
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 // +----------------------------------------------------------------------+
25 require_once 'HTML/Table.php';
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';
36 require_once 'SAMURAI/Sistema.php';
37 require_once 'SAMURAI/Usuario.php';
38 require_once 'SAMURAI/Perfil.php';
39 require_once 'SAMURAI/Permiso.php';
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);
48 $MARCO =& new MECON_Marco ('/var/www/sistemas/samurai/sistema/conf/confSecciones.php', $SAMURAI_PERM);
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;
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);
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);
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');
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);
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_ir.gif');
99 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
102 //Filtro los usuarios {{{
103 $usu_res = SAMURAI_Usuario::filtrarUsuarios($DB, $filtro);
104 while ($usu_res->fetchInto($row)){
105 $usu[$row['login']] = $row['nombre'];
109 //Armo la tabla de Usuarios {{{
110 $T_USUARIOS->addRow(array('Listado de Usuarios'), 'colspan="4" cabecera
112 $T_USUARIOS->addRow(array('Login', 'Nombre', 'Dependencia', 'Sel.'), 'titulo');
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'];
122 $LINK_SEL->setGetVars(array('accion'=>'info_usuario', 'login'
124 $T_USUARIOS->addRow(array($key, $value, $dep, $LINK_SEL->toHtml()));
128 $T_USUARIOS->addRow(array('No se encontraron coincidencias.'),
129 'colspan="4" align="left"');
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);
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_ir.gif');
153 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
156 //Agrego la informacion a la tabla de usuario {{{
157 $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
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'];
167 $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
171 //Obtengo la informacion de la base {{{
172 $informacion = $USUARIO->informacionGeneral();
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(
185 $value['nombre_sistema'],
186 $SISTEMA->getDescripcion(),
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"');
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);
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_ir.gif');
222 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
225 //Agrego la informacion a la tabla de usuario {{{
226 $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
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'];
236 $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
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"');
250 //Obtengo la informacion de la base {{{
251 $informacion = $USUARIO->informacionGeneral();
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,
264 $T_PERFILES->addRow(array(
266 $value['desc_perfil'],
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"');
277 //Agrego la informacion al marco {{{
278 $LINK_VOLVER->setHref('usuarios');
279 $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario',
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);
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_ir.gif');
306 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
309 //Agrego la informacion a la tabla de usuario {{{
310 $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
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'];
320 $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
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"');
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"');
342 //Obtengo la informacion de la base {{{
343 $informacion = $USUARIO->informacionGeneral();
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');
351 $informacion[$id_sistema2]['perfiles'][$id_perfil]['permisos'];
352 foreach ($informacion as $key => $value) {
353 foreach ($value as $obs) {
354 $T_PERMISOS->addRow(array(
356 $obs['desc_permiso'],
357 $obs['observaciones']
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"');
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);
387 //MUESTRO LA INFORMACION {{{