]> git.llucax.com Git - mecon/intranet.git/blob - 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
1 <?php
2 // vim: set binary expandtab ts=4 shiftwidth=4 textwidth=80:
3 // $Id$
4 require_once '../local_lib/HTML_DietMarco.php';
5 if(!isset($_SESSION['usuario']))
6 {
7   header('location: login?redirect=sistemas');
8   exit;
9 }
10 require_once '../local_lib/intranetdb.php';
11 require_once 'HTML/Table.php';
12 require_once 'MECON/HTML/Link.php';
13 require_once 'MECON/HTML/Image.php';
14 require_once 'DB.php';
15 require_once 'AI/Sistema.php';
16
17 define('COLUMNAS', 3);
18
19 $t = new HTML_Table(
20     array(
21         'width'         => '760',
22         'cellspacing'   => '0',
23         'cellpadding'   => '0',
24         'border'        => '0',
25     )
26 );
27
28 // Agrego fila con espaciados.
29 $img = new MECON_HTML_Image('/MECON/images/blanco', '', array('height' => 1));
30 $img->updateAttributes(array('width' => 46));
31 $fila[] = $img;
32 $img->updateAttributes(array('width' => 4));
33 $fila[] = $img;
34 $img->updateAttributes(array('width' => 190));
35 $fila[] = $img;
36 $img->updateAttributes(array('width' => 20));
37 $fila[] = $img;
38 $img->updateAttributes(array('width' => 46));
39 $fila[] = $img;
40 $img->updateAttributes(array('width' => 4));
41 $fila[] = $img;
42 $img->updateAttributes(array('width' => 190));
43 $fila[] = $img;
44 $img->updateAttributes(array('width' => 20));
45 $fila[] = $img;
46 $img->updateAttributes(array('width' => 46));
47 $fila[] = $img;
48 $img->updateAttributes(array('width' => 4));
49 $fila[] = $img;
50 $img->updateAttributes(array('width' => 190));
51 $fila[] = $img;
52 $t->addRow($fila);
53
54 $db = IntranetDB::connect();
55 $sistemas = AI_Sistema::getSistemas($db);
56
57 // Me fijo que sistemas puede ver este usuario.
58 require_once 'SAMURAI/Perm.php';
59 $perm = new SAMURAI_Perm($_SESSION['usuario'], 0, $db);
60 foreach ($sistemas as $i => $s) {
61     // Si no tiene permisos para el sistema, lo saco de la lista.
62     $perm->setSistema($s->sistema);
63     if (!$perm->tiene()) {
64         unset($sistemas[$i]);
65     }
66 }
67
68 $sistema = @array_shift($sistemas);
69 while ($sistema) {
70     $row = array();
71     for ($j = 1; $j <= COLUMNAS; $j++) {
72         if ($sistema) {
73             $url = $sistema->link;
74             if ($sistema->tipo == 'embperl') {
75                 $url .= '?soy_embperl=1';
76             }
77             $img = new MECON_HTML_Image(
78                     "/sistemas/intranet/images/$sistema->icono",
79                     $sistema->nombre,
80                     array(
81                         'border' => 0,
82                         'width'  => '46',
83                         'height' => '46',
84                     )
85             );
86                         $row[] = new MECON_HTML_Link(
87                                 $url,
88                 $img,
89                                 array(),
90                         array(
91                                     'target' => '_blank',
92                                 )
93                     );
94             $row[] = '&nbsp;';
95                         $link = new MECON_HTML_Link(
96                                 $url,
97                 $sistema->nombre,
98                                 array(),
99                         array(
100                                     'target' => '_blank',
101                     'class' => 'intranet_sistemas_txt',
102                                 )
103                     );
104             $html = $link->toHtml() . ': ' . $sistema->descripcion;
105                 if ($sistema->link_ayuda) {
106                 $html .= '&nbsp;';
107                 $img = new MECON_HTML_Image(
108                         '/sistemas/intranet/images/sistemas_ayuda',
109                         '(?)'
110                 );
111                         $link = new MECON_HTML_Link(
112                                         $sistema->link_ayuda,
113                                         $img,
114                                         array(),
115                                         array(
116                         'target' => '_blank',
117                     )
118                                 );
119                 $html .= $link->toHtml();
120                         }
121             $row[] = $html;
122             $sistema = @array_shift($sistemas);
123         } else {
124             $row[] = '&nbsp;';
125             $row[] = '&nbsp;';
126             $row[] = '&nbsp;';
127         }
128         if ($j % (COLUMNAS)) {
129             $row[] = '&nbsp;';
130         }
131     }
132     $t->addRow(array('&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;'));
133     $t->addRow($row, array('class' => 'intranet_sistemas_txt'));
134 }
135
136 $m = new HTML_DietMarco('sistemas', 'Sistemas');
137 $m->addTitle('Sistemas');
138 $m->addStyleDeclaration('
139     .intranet_sistemas_txt {
140         color: #003366;
141         font-family: Arial, Helvetica, sans-serif;
142         font-size: 10pt;
143     }
144     A.intranet_sistemas_txt {
145         font-weight: bold;
146         text-decoration: none;
147     }'
148 );
149 $m->addBodyContent($t);
150 $m->display();
151     
152 ?>