X-Git-Url: https://git.llucax.com/mecon/intranet.git/blobdiff_plain/8868480b53a3121abef5d9b051263b3c91e36e09..597cf91746ea3180c081454db3588780da4e57fc:/sistema/www/sistemas.php diff --git a/sistema/www/sistemas.php b/sistema/www/sistemas.php index a4cbd58..a47d72f 100644 --- a/sistema/www/sistemas.php +++ b/sistema/www/sistemas.php @@ -1,19 +1,162 @@ -<? - 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, 'SISTEMAS'); - - $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 = '/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=790,height=500,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=790,height=500,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=790,height=500,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', '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(); + ?>