<?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 'MECON/HTML/Arbol/ArbolDB.php';
require_once 'HTML/Table.php';
-require_once 'AI/DB.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' => '100%',
+ 'width' => '760',
'cellspacing' => '0',
'cellpadding' => '0',
'border' => '0',
)
);
-$db = AI_DB::connect('../conf/AI_DB.ini');
-$sistemas = ;
+// 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);
-foreach (AI_Sistema::getSistemas($db) as $sistema) {
- $t->addRow(
- array($sistema->icono, $sistema->nombre, $sistema->descripcion),
- array('bgcolor' => '#FF0000')
- );
+$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 = '/Php2Embperl_Session?redirect=' . urlencode($url);
+ }
+ $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(
+ 'OnClick' =>
+ "javascript:window.open('$url','s{$sistema->sistema}',"
+ . "'width=800,height=600,scrollbars=yes');return false;",
+ 'target' => '_blank',
+ )
+ );
+ $row[] = ' ';
+ $link = new MECON_HTML_Link(
+ $url,
+ $sistema->nombre,
+ array(),
+ array(
+ 'OnClick' =>
+ "javascript:window.open('$url','s{$sistema->sistema}',"
+ . "'width=800,height=600,scrollbars=yes');return false;",
+ 'target' => '_blank',
+ 'class' => 'intranet_sistemas_txt',
+ )
+ );
+ $html = $link->toHtml() . ': ' . $sistema->descripcion;
+ if ($sistema->link_ayuda) {
+ $html .= ' ';
+ $img = new MECON_HTML_Image(
+ '/sistemas/intranet/images/sistemas_ayuda',
+ '(?)'
+ );
+ $link = new MECON_HTML_Link(
+ $sistema->link_ayuda,
+ $img,
+ array(),
+ array(
+ 'OnClick' =>
+ "javascript:window.open('{$sistema->link_ayuda}',"
+ . "'sa{$sistema->sistema}',"
+ . "'width=800,height=600,scrollbars=yes');return false;",
+ 'target' => '_blank',
+ )
+ );
+ $html .= $link->toHtml();
+ }
+ $row[] = $html;
+ $sistema = @array_shift($sistemas);
+ } else {
+ $row[] = ' ';
+ $row[] = ' ';
+ $row[] = ' ';
+ }
+ if ($j % (COLUMNAS)) {
+ $row[] = ' ';
+ }
+ }
+ $t->addRow(array(' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '));
+ $t->addRow($row, array('class' => 'intranet_sistemas_txt'));
}
-$m = new HTML_DietMarco('sistemas');
+$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();