<?php
// vim: set binary expandtab ts=4 shiftwidth=4 textwidth=80:
// $Id$
-require_once '../local_lib/HTML_DietMarco.php';
+require_once 'HTML_DietMarco.php';
if(!isset($_SESSION['usuario']))
{
- header('location: login?redirect=sistemas');
- exit;
+ header('location: login?redirect=sistemas');
+ exit;
}
-require_once '../local_lib/intranetdb.php';
+require_once 'intranetdb.php';
require_once 'HTML/Table.php';
require_once 'MECON/HTML/Link.php';
require_once 'MECON/HTML/Image.php';
require_once 'DB.php';
require_once 'AI/Sistema.php';
+require_once 'HTML_Mensaje.php';
define('COLUMNAS', 3);
$fila[] = $img;
$t->addRow($fila);
-$db = IntranetDB::connect();
-$sistemas = AI_Sistema::getSistemas($db);
+$sists = AI_Sistema::getSistemas($DB);
// Me fijo que sistemas puede ver este usuario.
require_once 'SAMURAI/Perm.php';
-$perm = new SAMURAI_Perm($_SESSION['usuario'], 0, $db);
-foreach ($sistemas as $i => $s) {
- // Si no tiene permisos para el sistema, lo saco de la lista.
+require_once 'SAMURAI/constantes.php';
+$perm = new SAMURAI_Perm($_SESSION['usuario'], 0, $DB);
+$samurai = false;
+$sistemas = array();
+foreach ($sists as $id => $s) {
+ // Agrego los sistemas en los que tiene permiso.
$perm->setSistema($s->sistema);
- if (!$perm->tiene()) {
- unset($sistemas[$i]);
+ if ($perm->tiene()) {
+ // Si es SAMURAI hay que ver si ya no lo agregamos antes.
+ if ($id == SAMURAI_PERM) {
+ if (!$samurai) {
+ $samurai = true;
+ $sistemas[] = $sists[$id];
+ }
+ } else { // Si no es SAMURAI lo agregamos incondicionalmente.
+ $sistemas[] = $sists[$id];
+ }
+ }
+ // Si tiene permisos de SAMURAI en un sistema, hay que mostrar un link a
+ // SAMURAI.
+ if (!$samurai and $perm->tiene(SAMURAI_PERM_PERFIL_ALTA,
+ SAMURAI_PERM_PERFIL_BAJA, SAMURAI_PERM_PERFIL_MODIF,
+ SAMURAI_PERM_USUARIO_ALTA, SAMURAI_PERM_USUARIO_BAJA,
+ SAMURAI_PERM_USUARIO_MODIF)) {
+ $samurai = true;
+ if (@$sists[SAMURAI_PERM]) {
+ $sistemas[] = $sists[SAMURAI_PERM];
+ }
}
}
+unset($sists);
+unset($samurai);
+if (!$sistemas) {
+ $t = new HTML_Mensaje('denegado',
+ 'No tiene permisos para usar ningĂșn sistema', 370);
+}
$sistema = @array_shift($sistemas);
while ($sistema) {
$row = array();
array(
'OnClick' =>
"javascript:window.open('$url','s{$sistema->sistema}',"
- . "'width=790,height=500,scrollbars=yes');return false;",
+ . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
'target' => '_blank',
)
);
array(
'OnClick' =>
"javascript:window.open('$url','s{$sistema->sistema}',"
- . "'width=790,height=500,scrollbars=yes');return false;",
+ . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
'target' => '_blank',
'class' => 'intranet_sistemas_txt',
)
'OnClick' =>
"javascript:window.open('{$sistema->link_ayuda}',"
. "'sa{$sistema->sistema}',"
- . "'width=790,height=500,scrollbars=yes');return false;",
+ . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
'target' => '_blank',
)
);
}
$m = new HTML_DietMarco('sistemas', 'Sistemas');
-$m->addTitle('Sistemas');
+//$m->addTitle('Sistemas');
$m->addStyleDeclaration('
.intranet_sistemas_txt {
color: #003366;