]> git.llucax.com Git - mecon/intranet.git/blobdiff - sistema/www/sistemas.php
- Se agrega el chequeo para saber si se esta actualizando la informacion de
[mecon/intranet.git] / sistema / www / sistemas.php
index 4c81300dc37e34e38c8cd1ac9b8d6a94005820ae..dbc1d3773f66913a6a02ac3e3dc74d7c57cc4d2b 100644 (file)
@@ -1,18 +1,19 @@
 <?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);
 
@@ -51,20 +52,47 @@ $img->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();
@@ -90,7 +118,7 @@ while ($sistema) {
                        array(
                     'OnClick' =>
                         "javascript:window.open('$url','s{$sistema->sistema}',"
-                        . "'width=800,height=600,scrollbars=yes');return false;",
+                        . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
                                    'target' => '_blank',
                                )
                    );
@@ -102,7 +130,7 @@ while ($sistema) {
                        array(
                     'OnClick' =>
                         "javascript:window.open('$url','s{$sistema->sistema}',"
-                        . "'width=800,height=600,scrollbars=yes');return false;",
+                        . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
                                    'target' => '_blank',
                     'class' => 'intranet_sistemas_txt',
                                )
@@ -122,7 +150,7 @@ while ($sistema) {
                         'OnClick' =>
                             "javascript:window.open('{$sistema->link_ayuda}',"
                             . "'sa{$sistema->sistema}',"
-                            . "'width=800,height=600,scrollbars=yes');return false;",
+                            . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
                         'target' => '_blank',
                     )
                                );
@@ -144,7 +172,7 @@ while ($sistema) {
 }
 
 $m = new HTML_DietMarco('sistemas', 'Sistemas');
-$m->addTitle('Sistemas');
+//$m->addTitle('Sistemas');
 $m->addStyleDeclaration('
     .intranet_sistemas_txt {
         color: #003366;