// +----------------------------------------------------------------------+
//
// $Id$
//
//Require_once {{{
//PEAR{{{
require_once 'HTML/Table.php';
//}}}
//Mecon {{{
require_once 'MECON/HTML/Tabla.php';
require_once 'MECON/HTML/Image.php';
require_once 'MECON/HTML/Link.php';
require_once 'MECON/Usuario.php';
require_once 'MECON/Dependencia.php';
require_once 'MECON/HTML/QuickForm.php';
//}}}
//Samurai {{{
require_once 'SAMURAI/Sistema.php';
require_once 'SAMURAI/Usuario.php';
require_once 'SAMURAI/Perfil.php';
require_once 'SAMURAI/Permiso.php';
//}}}
//}}}
//Verifico si se tiene acceso a la pagina {{{
$SAMURAI_PERM->chequear(SAMURAI_PERM_DEVELOPER);
//}}}
//Obtengo la accion y el id del usuario {{{
$accion = (@$_REQUEST['accion']) ? $_REQUEST['accion'] : 'listado';
$subaccion = (@$_REQUEST['subaccion']) ? $_REQUEST['subaccion'] : null;
$login = (@$_REQUEST['login']) ? $_REQUEST['login'] : null;
$filtro = (@$_REQUEST['filtro']) ? $_REQUEST['filtro'] : null;
$id_sistema = (@$_REQUEST['id_sistema']) ? $_REQUEST['id_sistema'] : null;
$id_perfil = (@$_REQUEST['id_perfil']) ? $_REQUEST['id_perfil'] : null;
//}}}
//Creo la tabla volver {{{
$T_VOLVER =& new HTML_Table('width="760"');
$IMG_VOLVER =& new MECON_HTML_Image('/MECON/images/general_anterior.gif');
$LINK_VOLVER =& new MECON_HTML_Link('', $IMG_VOLVER);
//}}}
//Filtrar Usuarios {{{
if (@!$accion || $accion == 'filtrar') {
//Creo los objetos necesarios {{{
$FORM =& new MECON_HTML_QuickForm ('usuarios_filtrar','post','usuarios');
$T_USUARIOS = new MECON_HTML_Tabla ('width="400"');
$FORM->renderer->setTable($T_USUARIOS);
//}}}
//Agrego los elementos al form {{{
$FORM->addElement ('header', 'cabecera', 'Filtrar Usuarios');
$f_accion =& $FORM->addElement ('hidden', 'accion', 'listado');
$f_texto =& $FORM->addElement ('text', 'filtro', 'Login@Organismo',
array('size' => '20'));
$group[] = HTML_QuickForm::createElement('submit', 'filtrar', 'Filtrar');
$FORM->addGroup($group,'botones');
//}}}
//Agrego la informacion al marco {{{
$LINK_VOLVER->setHref('consultas');
$MARCO->addBodyContent($FORM);
$MARCO->addTitle('Ver informacion de los usuarios');
$MARCO->addBodyContent('
');
$T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
$MARCO->addBodyContent($T_VOLVER);
//}}}
}
//}}}
//Listado de usuarios filtrados {{{
elseif ($accion == 'listado') {
//Creo los objetos necesarios {{{
$T_USUARIOS =& new MECON_HTML_Tabla();
$IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
$LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
//}}}
//Filtro los usuarios {{{
$usu_res = MECON_Usuario::filtrarUsuarios($DB, $filtro, null);
while ($usu_res->fetchInto($row)){
$usu[$row['login']] = $row['nombre'];
}
//}}}
//Armo la tabla de Usuarios {{{
$T_USUARIOS->addRow(array('Listado de Usuarios'), 'colspan="4" cabecera
align="left"');
$T_USUARIOS->addRow(array('Login', 'Nombre', 'Dependencia', 'Sel.'), 'titulo');
if (@count($usu)) {
foreach ($usu as $key => $value) {
$u =& new MECON_Usuario(null, $key);
//BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
$depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
while ($depen->fetchInto($row)){
$dep = $row['nombre'];
}
//}}}
$LINK_SEL->setGetVars(array('accion'=>'info_usuario', 'login'
=> $key));
$T_USUARIOS->addRow(array($key, $value, $dep, $LINK_SEL->toHtml()));
}
}
else {
$T_USUARIOS->addRow(array('No se encontraron coincidencias.'),
'colspan="4" align="left"');
}
//}}}
//Agrego la informacion al marco {{{
$LINK_VOLVER->setHref('usuarios');
$LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
$MARCO->addBodyContent($T_USUARIOS);
$MARCO->addTitle('Seleccionar Usuario');
$MARCO->addBodyContent('
');
$T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
$MARCO->addBodyContent($T_VOLVER);
//}}}
}
//}}}
//Informacion del usuario seleccionado {{{
elseif ($accion == 'info_usuario') {
//Creo los objetos necesarios {{{
$USUARIO =& new SAMURAI_Usuario($DB, $login);
$T_USUARIO =& new MECON_HTML_Tabla();
$T_SISTEMAS =& new MECON_HTML_Tabla();
$IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
$IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
$LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
//}}}
//Agrego la informacion a la tabla de usuario {{{
$T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
align="left"');
$T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
$u =& new MECON_Usuario(null, $login);
//BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
$depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
while ($depen->fetchInto($row)){
$dep = $row['nombre'];
}
//}}}
$T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
$dep));
//}}}
//Obtengo la informacion de la base {{{
$informacion = $USUARIO->informacionGeneral();
//}}}
//Agrego la informacion de los sistemas {{{
$T_SISTEMAS->addRow(array('Sistemas en los que esta asociado el
usuario'), 'colspan="4" cabecera align="left"');
$T_SISTEMAS->addRow(array('Id', 'Nombre', 'Descripcion', 'Perfiles'), 'titulo');
foreach ($informacion as $key => $value) {
$SISTEMA =& new SAMURAI_Sistema($DB, $key);
$LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema',
'id_sistema'=>$key, 'login'=>$login));
$T_SISTEMAS->addRow(array(
$key,
$value['nombre_sistema'],
$SISTEMA->getDescripcion(),
$LINK_SEL->toHtml()
)
);
}
$T_SISTEMAS->updateColAttributes(0, 'width="5%" align="center"');
$T_SISTEMAS->updateColAttributes(1, 'width="20%" align="center"');
$T_SISTEMAS->updateColAttributes(3, 'width="5%" align="center"');
$T_SISTEMAS->updateRowAttributes(0, 'align="left"');
//}}}
//Agrego la informacion al marco {{{
$LINK_VOLVER->setHref('usuarios');
$LINK_VOLVER->setGetVars(array('accion' => 'filtrar'));
$MARCO->addBodyContent($T_USUARIO);
$MARCO->addBodyContent($IMG_SEP);
$MARCO->addBodyContent($T_SISTEMAS);
$MARCO->addTitle('Informacion Usuario');
$MARCO->addBodyContent('
');
$T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
$MARCO->addBodyContent($T_VOLVER);
//}}}
}
//}}}
//Informacion del usuario y sistema seleccionado {{{
elseif ($accion == 'info_usuario_sistema') {
//Creo los objetos necesarios {{{
$USUARIO =& new SAMURAI_Usuario($DB, $login);
$SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema);
$T_USUARIO =& new MECON_HTML_Tabla();
$T_SISTEMA =& new MECON_HTML_Tabla();
$T_PERFILES =& new MECON_HTML_Tabla('width="400"');
$IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
$IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
$LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
//}}}
//Agrego la informacion a la tabla de usuario {{{
$T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
align="left"');
$T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
$u =& new MECON_Usuario(null, $login);
//BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
$depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
while ($depen->fetchInto($row)){
$dep = $row['nombre'];
}
//}}}
$T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
$dep));
//}}}
//Agrego la informacion de la tabla sistema {{{
$T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
$T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo');
$T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(),
$SISTEMA->getDescripcion()));
$T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
$T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
$T_SISTEMA->updateRowAttributes(0, 'align="left"');
//}}}
//Obtengo la informacion de la base {{{
$informacion = $USUARIO->informacionGeneral();
//}}}
//Agrego la informacion de los perfiles {{{
$T_PERFILES->addRow(array('Perfiles del usuario en este sistema'),
'colspan="3" cabecera align="left"');
$T_PERFILES->addRow(array('Id', 'Descripcion', 'Permisos'), 'titulo');
$informacion = $informacion[$id_sistema]['perfiles'];
foreach ($informacion as $key => $value) {
$PERFIL =& new SAMURAI_Perfil($DB, $key);
$LINK_SEL->setGetVars(array('accion' => 'info_usuario_sistema_perfil',
'id_sistema'=>$id_sistema, 'login'=>$login,
'id_perfil'=>$key));
$T_PERFILES->addRow(array(
$key,
$value['desc_perfil'],
$LINK_SEL->toHtml()
)
);
}
$T_PERFILES->updateColAttributes(0, 'width="5%" align="center"');
$T_PERFILES->updateColAttributes(2, 'width="5%" align="center"');
$T_PERFILES->updateRowAttributes(0, 'align="left"');
//}}}
//Agrego la informacion al marco {{{
$LINK_VOLVER->setHref('usuarios');
$LINK_VOLVER->setGetVars(array('accion' => 'info_usuario',
'login' => $login));
$MARCO->addBodyContent($T_USUARIO);
$MARCO->addBodyContent($IMG_SEP);
$MARCO->addBodyContent($T_SISTEMA);
$MARCO->addBodyContent($IMG_SEP);
$MARCO->addBodyContent($T_PERFILES);
$MARCO->addTitle('Informacion Usuario');
$MARCO->addBodyContent('
');
$T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
$MARCO->addBodyContent($T_VOLVER);
//}}}
}
//}}}
//Informacion del usuario, sistema y perfli seleccionado {{{
elseif ($accion == 'info_usuario_sistema_perfil') {
//Creo los objetos necesarios {{{
$USUARIO =& new SAMURAI_Usuario($DB, $login);
$SISTEMA =& new SAMURAI_Sistema($DB, $id_sistema);
$PERFIL =& new SAMURAI_Perfil($DB, $id_perfil);
$T_USUARIO =& new MECON_HTML_Tabla();
$T_SISTEMA =& new MECON_HTML_Tabla();
$T_PERFIL =& new MECON_HTML_Tabla('width="400"');
$T_PERMISOS =& new MECON_HTML_Tabla('width="400"');
$IMG_SEP =& new MECON_HTML_Image('../images/linea_separacion.gif');
$IMG_SEL =& new MECON_HTML_Image('/MECON/images/general_ir4.gif');
$LINK_SEL =& new MECON_HTML_Link('usuarios', $IMG_SEL);
//}}}
//Agrego la informacion a la tabla de usuario {{{
$T_USUARIO->addRow(array('Datos del Usuario'), 'colspan="3" cabecera
align="left"');
$T_USUARIO->addRow(array('Login', 'Nombre', 'Dependencia'), 'titulo');
$u =& new MECON_Usuario(null, $login);
//BUSCO EL NOMBRE DE LA DEPENDENCIA {{{
$depen = MECON_Dependencia::buscarPorCodigo ($DB, $u->getCodep());
while ($depen->fetchInto($row)){
$dep = $row['nombre'];
}
//}}}
$T_USUARIO->addRow(array($login, $USUARIO->getNombre(),
$dep));
//}}}
//Agrego la informacion de la tabla sistema {{{
$T_SISTEMA->addRow(array('Datos del sistema'), 'colspan="3" cabecera align="left"');
$T_SISTEMA->addRow(array('Id', 'Nombre', 'Descripcion'), 'titulo');
$T_SISTEMA->addRow(array($id_sistema, $SISTEMA->getNombre(),
$SISTEMA->getDescripcion()));
$T_SISTEMA->updateColAttributes(0, 'width="5%" align="center"');
$T_SISTEMA->updateColAttributes(1, 'width="20%" align="center"');
$T_SISTEMA->updateRowAttributes(0, 'align="left"');
//}}}
//Agrego la informacion de la tabla perfil {{{
$T_PERFIL->addRow(array('Datos del perfil'), 'colspan="2" cabecera align="left"');
$T_PERFIL->addRow(array('Id', 'Descripcion'), 'titulo');
$T_PERFIL->addRow(array($id_perfil, $PERFIL->getDescripcion()));
$T_PERFIL->updateColAttributes(0, 'width="5%" align="center"');
$T_PERFIL->updateRowAttributes(0, 'align="left"');
//}}}
//Obtengo la informacion de la base {{{
$informacion = $USUARIO->informacionGeneral();
//}}}
//Agrego la informacion de los permisos {{{
$T_PERMISOS->addRow(array('Permisos del usuario con este perfil'),
'colspan="3" cabecera align="left"');
$T_PERMISOS->addRow(array('Id', 'Descripcion', 'Observaciones'), 'titulo');
$informacion =
$informacion[$id_sistema]['perfiles'][$id_perfil]['permisos'];
foreach ($informacion as $key => $value) {
foreach ($value as $obs) {
$T_PERMISOS->addRow(array(
$key,
$obs['desc_permiso'],
$obs['observaciones']
)
);
}
}
$T_PERMISOS->updateColAttributes(0, 'width="5%" align="center"');
$T_PERMISOS->updateColAttributes(1, 'width="20%" align="center"');
$T_PERMISOS->updateRowAttributes(0, 'align="left"');
//}}}
//Agrego la informacion al marco {{{
$LINK_VOLVER->setHref('usuarios');
$LINK_VOLVER->setGetVars(array('accion' => 'info_usuario_sistema',
'login' => $login, 'id_sistema'=>$id_sistema));
$MARCO->addBodyContent($T_USUARIO);
$MARCO->addBodyContent($IMG_SEP);
$MARCO->addBodyContent($T_SISTEMA);
$MARCO->addBodyContent($IMG_SEP);
$MARCO->addBodyContent($T_PERFIL);
$MARCO->addBodyContent($IMG_SEP);
$MARCO->addBodyContent($T_PERMISOS);
$MARCO->addTitle('Informacion Usuario');
$MARCO->addBodyContent('
');
$T_VOLVER->addRow(array($LINK_VOLVER->toHtml()), 'align="left"');
$MARCO->addBodyContent($T_VOLVER);
//}}}
}
//}}}
//MUESTRO LA INFORMACION {{{
$MARCO->display();
exit;
//}}}
?>