]> git.llucax.com Git - mecon/intranet.git/blobdiff - sistema/www/sistemas.php
Se filtran los sistemas, mostrando sólo los sistemas en los que el usuario
[mecon/intranet.git] / sistema / www / sistemas.php
index 2ec1d8abae8bed95660013e576473c65fec8e8e0..46e6310aad0b0f2954febdfe12c65ee579ba2ffe 100644 (file)
-<?
-  require_once '../local_lib/HTML_DietMarco.php';
-  require_once '../local_lib/intranetdb.php';
-  require_once 'MECON/HTML/Arbol/ArbolDB.php';
-  $m = new HTML_DietMarco('sistemas');
-  $m->addTitle('Sistemas');
-  
-  $db = IntranetDB::connect();
-  $dbdata = array(
-       'db' => $db,
-       'tabla' => 'sistema',
-       'id' => 'sistema',
-       'nombre' => 'sistema',
-       'link' => 'link');
-  $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
-  
-  $m->addBodyContent($arbol);
-  $m->display();
+<?php
+// vim: set binary expandtab ts=4 shiftwidth=4 textwidth=80:
+// $Id$
+require_once '../local_lib/HTML_DietMarco.php';
+if(!isset($_SESSION['usuario']))
+{
+  header('location: login?redirect=sistemas');
+  exit;
+}
+require_once '../local_lib/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';
+
+define('COLUMNAS', 3);
+
+$t = new HTML_Table(
+    array(
+        'width'         => '760',
+        'cellspacing'   => '0',
+        'cellpadding'   => '0',
+        'border'        => '0',
+    )
+);
+
+// Agrego fila con espaciados.
+$img = new MECON_HTML_Image('/MECON/images/blanco', '', array('height' => 1));
+$img->updateAttributes(array('width' => 46));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 4));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 190));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 20));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 46));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 4));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 190));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 20));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 46));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 4));
+$fila[] = $img;
+$img->updateAttributes(array('width' => 190));
+$fila[] = $img;
+$t->addRow($fila);
+
+$db = IntranetDB::connect();
+$sistemas = 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.
+    $perm->setSistema($s->sistema);
+    if (!$perm->tiene()) {
+        unset($sistemas[$i]);
+    }
+}
+
+$sistema = @array_shift($sistemas);
+while ($sistema) {
+    $row = array();
+    for ($j = 1; $j <= COLUMNAS; $j++) {
+        if ($sistema) {
+            $url = $sistema->link;
+            if ($sistema->tipo == 'embperl') {
+                $url .= '?soy_embperl=1';
+            }
+            $img = new MECON_HTML_Image(
+                    "/sistemas/intranet/images/$sistema->icono",
+                    $sistema->nombre,
+                    array(
+                        'border' => 0,
+                        'width'  => '46',
+                        'height' => '46',
+                    )
+            );
+                       $row[] = new MECON_HTML_Link(
+                               $url,
+                $img,
+                               array(),
+                       array(
+                                   'target' => '_blank',
+                               )
+                   );
+            $row[] = '&nbsp;';
+                       $link = new MECON_HTML_Link(
+                               $url,
+                $sistema->nombre,
+                               array(),
+                       array(
+                                   'target' => '_blank',
+                    'class' => 'intranet_sistemas_txt',
+                               )
+                   );
+            $html = $link->toHtml() . ': ' . $sistema->descripcion;
+               if ($sistema->link_ayuda) {
+                $html .= '&nbsp;';
+                $img = new MECON_HTML_Image(
+                        '/sistemas/intranet/images/sistemas_ayuda',
+                        '(?)'
+                );
+                       $link = new MECON_HTML_Link(
+                                       $sistema->link_ayuda,
+                                       $img,
+                                       array(),
+                                       array(
+                        'target' => '_blank',
+                    )
+                               );
+                $html .= $link->toHtml();
+                       }
+            $row[] = $html;
+            $sistema = @array_shift($sistemas);
+        } else {
+            $row[] = '&nbsp;';
+            $row[] = '&nbsp;';
+            $row[] = '&nbsp;';
+        }
+        if ($j % (COLUMNAS)) {
+            $row[] = '&nbsp;';
+        }
+    }
+    $t->addRow(array('&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;'));
+    $t->addRow($row, array('class' => 'intranet_sistemas_txt'));
+}
+
+$m = new HTML_DietMarco('sistemas', 'Sistemas');
+$m->addTitle('Sistemas');
+$m->addStyleDeclaration('
+    .intranet_sistemas_txt {
+        color: #003366;
+        font-family: Arial, Helvetica, sans-serif;
+        font-size: 10pt;
+    }
+    A.intranet_sistemas_txt {
+        font-weight: bold;
+        text-decoration: none;
+    }'
+);
+$m->addBodyContent($t);
+$m->display();
+    
 ?>