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->chequear(SAMURAI_PERM_DEVELOPER);
47 //Obtengo la accion y el id del usuario {{{
48 $accion = (@$_REQUEST['accion']) ? $_REQUEST['accion'] : 'listado';
49 $subaccion = (@$_REQUEST['subaccion']) ? $_REQUEST['subaccion'] : null;
50 $login = (@$_REQUEST['login']) ? $_REQUEST['login'] : null;
51 $filtro = (@$_REQUEST['filtro']) ? $_REQUEST['filtro'] : null;
52 $id_sistema = (@$_REQUEST['id_sistema']) ? $_REQUEST['id_sistema'] : null;
53 $id_perfil = (@$_REQUEST['id_perfil']) ? $_REQUEST['id_perfil'] : null;
56 //Creo la tabla volver {{{
57 $T_VOLVER =& new HTML_Table('width="760"');
58 $IMG_VOLVER =& new MECON_HTML_Image('/MECON/images/general_anterior.gif');
59 $LINK_VOLVER =& new MECON_HTML_Link('', $IMG_VOLVER);
62 //Filtrar Usuarios {{{
63 if (@!$accion || $accion == 'filtrar') {
64 //Creo los objetos necesarios {{{
65 $FORM =& new MECON_HTML_QuickForm ('usuarios_filtrar','post','usuarios');
66 $T_USUARIOS = new MECON_HTML_Tabla ('width="400"');
67 $FORM->renderer->setTable($T_USUARIOS);
70 //Agrego los elementos al form {{{
71 $FORM->addElement ('header', 'cabecera', 'Filtrar Usuarios');
72 $f_accion =& $FORM->addElement ('hidden', 'accion', 'listado');
73 $f_texto =& $FORM->addElement ('text', 'filtro', 'Login@Organismo',
74 array('size' => '20'));
75 $group[] = HTML_QuickForm::createElement('submit', 'filtrar', 'Filtrar');
76 $FORM->addGroup($group,'botones');
79 //Agrego la informacion al marco {{{
80 $LINK_VOLVER->setHref('consultas');
81 $MARCO->addBodyContent($FORM);
82 $MARCO->addTitle('Ver informacion de los usuarios');
83 $MARCO->addBodyContent('<BR>');
84 $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
85 $MARCO->addBodyContent($T_VOLVER);
90 //Listado de usuarios filtrados {{{
91 elseif ($accion == 'listado') {
92 //Creo los objetos necesarios {{{
93 $T_USUARIOS =& new MECON_HTML_Tabla();
94 $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
95 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
98 //Filtro los usuarios {{{
99 $usu_res = MECON_Usuario::filtrarUsuarios($DB, $filtro, null);
100 while ($usu_res->fetchInto($row)){
101 $usu[$row['login']] = $row['nombre'];
105 //Armo la tabla de Usuarios {{{
106 $T_USUARIOS->addRow(array('Listado de Usuarios'), 'colspan="4" cabecera
108 $T_USUARIOS->addRow(array('Login', 'Nombre', 'Dependencia', 'Sel.'), 'titulo');
110 foreach ($usu as $key => $value) {
111 $u =& new MECON_Usuario(null, $key);
112 //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
113 $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
114 while ($depen->fetchInto($row)){
115 $dep = $row['nombre'];
118 $LINK_SEL->setGetVars(array('accion'=>'info_usuario', 'login'
120 $T_USUARIOS->addRow(array($key, $value, $dep, $LINK_SEL->toHtml()));
124 $T_USUARIOS->addRow(array('No se encontraron coincidencias.'),
125 'colspan="4" align="left"');
129 //Agrego la informacion al marco {{{
130 $LINK_VOLVER->setHref('usuarios');
131 $LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
132 $MARCO->addBodyContent($T_USUARIOS);
133 $MARCO->addTitle('Seleccionar Usuario');
134 $MARCO->addBodyContent('<BR>');
135 $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
136 $MARCO->addBodyContent($T_VOLVER);
141 //Informacion del usuario seleccionado {{{
142 elseif ($accion == 'info_usuario') {
143 //Creo los objetos necesarios {{{
144 $USUARIO =& new SAMURAI_Usuario($DB, $login);
145 $T_USUARIO =& new MECON_HTML_Tabla();
146 $T_SISTEMAS =& new MECON_HTML_Tabla();
147 $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
148 $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
149 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
152 //Agrego la informacion a la tabla de usuario {{{
153 $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
155 $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
156 $u =& new MECON_Usuario(null, $login);
157 //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
158 $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
159 while ($depen->fetchInto($row)){
160 $dep = $row['nombre'];
163 $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
167 //Obtengo la informacion de la base {{{
168 $informacion = $USUARIO->informacionGeneral();
171 //Agrego la informacion de los sistemas {{{
172 $T_SISTEMAS->addRow(array('Sistemas en los que esta asociado el
173 usuario'), 'colspan="4" cabecera align="left"');
174 $T_SISTEMAS->addRow(array('Id', 'Nombre', 'Descripcion', 'Perfiles'), 'titulo');
175 foreach ($informacion as $key => $value) {
176 $SISTEMA =& new SAMURAI_Sistema($DB, $key);
177 $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema',
178 'id_sistema'=>$key, 'login'=>$login));
179 $T_SISTEMAS->addRow(array(
181 $value['nombre_sistema'],
182 $SISTEMA->getDescripcion(),
187 $T_SISTEMAS->updateColAttributes(0, 'width="5%" align="center"');
188 $T_SISTEMAS->updateColAttributes(1, 'width="20%" align="center"');
189 $T_SISTEMAS->updateColAttributes(3, 'width="5%" align="center"');
190 $T_SISTEMAS->updateRowAttributes(0, 'align="left"');
194 //Agrego la informacion al marco {{{
195 $LINK_VOLVER->setHref('usuarios');
196 $LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
197 $MARCO->addBodyContent($T_USUARIO);
198 $MARCO->addBodyContent($IMG_SEP);
199 $MARCO->addBodyContent($T_SISTEMAS);
200 $MARCO->addTitle('Informacion Usuario');
201 $MARCO->addBodyContent('<BR>');
202 $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
203 $MARCO->addBodyContent($T_VOLVER);
208 //Informacion del usuario y sistema seleccionado {{{
209 elseif ($accion == 'info_usuario_sistema') {
210 //Creo los objetos necesarios {{{
211 $USUARIO =& new SAMURAI_Usuario($DB, $login);
212 $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema);
213 $T_USUARIO =& new MECON_HTML_Tabla();
214 $T_SISTEMA =& new MECON_HTML_Tabla();
215 $T_PERFILES =& new MECON_HTML_Tabla('width="400"');
216 $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
217 $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
218 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
221 //Agrego la informacion a la tabla de usuario {{{
222 $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
224 $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
225 $u =& new MECON_Usuario(null, $login);
226 //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
227 $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
228 while ($depen->fetchInto($row)){
229 $dep = $row['nombre'];
232 $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
236 //Agrego la informacion de la tabla sistema {{{
237 $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
238 $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo');
239 $T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(),
240 $SISTEMA->getDescripcion()));
241 $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
242 $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
243 $T_SISTEMA->updateRowAttributes(0, 'align="left"');
246 //Obtengo la informacion de la base {{{
247 $informacion = $USUARIO->informacionGeneral();
250 //Agrego la informacion de los perfiles {{{
251 $T_PERFILES->addRow(array('Perfiles del usuario en este sistema'),
252 'colspan="3" cabecera align="left"');
253 $T_PERFILES->addRow(array('Id', 'Descripcion', 'Permisos'), 'titulo');
254 $informacion = $informacion[$id_sistema]['perfiles'];
255 foreach ($informacion as $key => $value) {
256 $PERFIL =& new SAMURAI_Perfil($DB, $key);
257 $LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema_perfil',
258 'id_sistema'=>$id_sistema, 'login'=>$login,
260 $T_PERFILES->addRow(array(
262 $value['desc_perfil'],
267 $T_PERFILES->updateColAttributes(0, 'width="5%" align="center"');
268 $T_PERFILES->updateColAttributes(2, 'width="5%" align="center"');
269 $T_PERFILES->updateRowAttributes(0, 'align="left"');
273 //Agrego la informacion al marco {{{
274 $LINK_VOLVER->setHref('usuarios');
275 $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario',
277 $MARCO->addBodyContent($T_USUARIO);
278 $MARCO->addBodyContent($IMG_SEP);
279 $MARCO->addBodyContent($T_SISTEMA);
280 $MARCO->addBodyContent($IMG_SEP);
281 $MARCO->addBodyContent($T_PERFILES);
282 $MARCO->addTitle('Informacion Usuario');
283 $MARCO->addBodyContent('<BR>');
284 $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
285 $MARCO->addBodyContent($T_VOLVER);
290 //Informacion del usuario, sistema y perfli seleccionado {{{
291 elseif ($accion == 'info_usuario_sistema_perfil') {
292 //Creo los objetos necesarios {{{
293 $USUARIO =& new SAMURAI_Usuario($DB, $login);
294 $SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema);
295 $PERFIL =& new SAMURAI_Perfil($DB, $id_perfil);
296 $T_USUARIO =& new MECON_HTML_Tabla();
297 $T_SISTEMA =& new MECON_HTML_Tabla();
298 $T_PERFIL =& new MECON_HTML_Tabla('width="400"');
299 $T_PERMISOS =& new MECON_HTML_Tabla('width="400"');
300 $IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
301 $IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
302 $LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
305 //Agrego la informacion a la tabla de usuario {{{
306 $T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
308 $T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
309 $u =& new MECON_Usuario(null, $login);
310 //BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
311 $depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
312 while ($depen->fetchInto($row)){
313 $dep = $row['nombre'];
316 $T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
320 //Agrego la informacion de la tabla sistema {{{
321 $T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
322 $T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo');
323 $T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(),
324 $SISTEMA->getDescripcion()));
325 $T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
326 $T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
327 $T_SISTEMA->updateRowAttributes(0, 'align="left"');
330 //Agrego la informacion de la tabla perfil {{{
331 $T_PERFIL->addRow(array('Datos del perfil'), 'colspan="2" cabecera align="left"');
332 $T_PERFIL->addRow(array('Id', 'Descripcion'), 'titulo');
333 $T_PERFIL->addRow(array($id_perfil, $PERFIL->getDescripcion()));
334 $T_PERFIL->updateColAttributes(0, 'width="5%" align="center"');
335 $T_PERFIL->updateRowAttributes(0, 'align="left"');
338 //Obtengo la informacion de la base {{{
339 $informacion = $USUARIO->informacionGeneral();
342 //Agrego la informacion de los permisos {{{
343 $T_PERMISOS->addRow(array('Permisos del usuario con este perfil'),
344 'colspan="3" cabecera align="left"');
345 $T_PERMISOS->addRow(array('Id', 'Descripcion', 'Observaciones'), 'titulo');
347 $informacion[$id_sistema]['perfiles'][$id_perfil]['permisos'];
348 foreach ($informacion as $key => $value) {
349 foreach ($value as $obs) {
350 $T_PERMISOS->addRow(array(
352 $obs['desc_permiso'],
353 $obs['observaciones']
358 $T_PERMISOS->updateColAttributes(0, 'width="5%" align="center"');
359 $T_PERMISOS->updateColAttributes(1, 'width="20%" align="center"');
360 $T_PERMISOS->updateRowAttributes(0, 'align="left"');
364 //Agrego la informacion al marco {{{
365 $LINK_VOLVER->setHref('usuarios');
366 $LINK_VOLVER->setGetVars(array('accion' => 'info_usuario_sistema',
367 'login' => $login, 'id_sistema'=>$id_sistema));
368 $MARCO->addBodyContent($T_USUARIO);
369 $MARCO->addBodyContent($IMG_SEP);
370 $MARCO->addBodyContent($T_SISTEMA);
371 $MARCO->addBodyContent($IMG_SEP);
372 $MARCO->addBodyContent($T_PERFIL);
373 $MARCO->addBodyContent($IMG_SEP);
374 $MARCO->addBodyContent($T_PERMISOS);
375 $MARCO->addTitle('Informacion Usuario');
376 $MARCO->addBodyContent('<BR>');
377 $T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
378 $MARCO->addBodyContent($T_VOLVER);
383 //MUESTRO LA INFORMACION {{{