X-Git-Url: https://git.llucax.com/mecon/intranet.git/blobdiff_plain/44fcb3a7b8938f963abbb0579d7b9283fcf739df..HEAD:/sistema/www/sistemas.php diff --git a/sistema/www/sistemas.php b/sistema/www/sistemas.php index 46e6310..dbc1d37 100644 --- a/sistema/www/sistemas.php +++ b/sistema/www/sistemas.php @@ -1,18 +1,19 @@ updateAttributes(array('width' => 190)); $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(); @@ -72,7 +100,7 @@ while ($sistema) { if ($sistema) { $url = $sistema->link; if ($sistema->tipo == 'embperl') { - $url .= '?soy_embperl=1'; + $url = '/Php2Embperl_Session?redirect=' . urlencode($url); } $img = new MECON_HTML_Image( "/sistemas/intranet/images/$sistema->icono", @@ -88,6 +116,9 @@ while ($sistema) { $img, array(), array( + 'OnClick' => + "javascript:window.open('$url','s{$sistema->sistema}'," + . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;", 'target' => '_blank', ) ); @@ -97,6 +128,9 @@ while ($sistema) { $sistema->nombre, array(), array( + 'OnClick' => + "javascript:window.open('$url','s{$sistema->sistema}'," + . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;", 'target' => '_blank', 'class' => 'intranet_sistemas_txt', ) @@ -113,6 +147,10 @@ while ($sistema) { $img, array(), array( + 'OnClick' => + "javascript:window.open('{$sistema->link_ayuda}'," + . "'sa{$sistema->sistema}'," + . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;", 'target' => '_blank', ) ); @@ -134,7 +172,7 @@ while ($sistema) { } $m = new HTML_DietMarco('sistemas', 'Sistemas'); -$m->addTitle('Sistemas'); +//$m->addTitle('Sistemas'); $m->addStyleDeclaration(' .intranet_sistemas_txt { color: #003366;