]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/sistemas.php
Bugfixes.
[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 'HTML_DietMarco.php';
5 if(!isset($_SESSION['usuario']))
6 {
7     header('location: login?redirect=sistemas');
8     exit;
9 }
10 require_once '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 $sistemas = AI_Sistema::getSistemas($DB);
55
56 // Me fijo que sistemas puede ver este usuario.
57 require_once 'SAMURAI/Perm.php';
58 $perm = new SAMURAI_Perm($_SESSION['usuario'], 0, $DB);
59 foreach ($sistemas as $i => $s) {
60     // Si no tiene permisos para el sistema, lo saco de la lista.
61     $perm->setSistema($s->sistema);
62     if (!$perm->tiene()) {
63         unset($sistemas[$i]);
64     }
65 }
66
67 $sistema = @array_shift($sistemas);
68 while ($sistema) {
69     $row = array();
70     for ($j = 1; $j <= COLUMNAS; $j++) {
71         if ($sistema) {
72             $url = $sistema->link;
73             if ($sistema->tipo == 'embperl') {
74                 $url = '/Php2Embperl_Session?redirect=' . urlencode($url);
75             }
76             $img = new MECON_HTML_Image(
77                     "/sistemas/intranet/images/$sistema->icono",
78                     $sistema->nombre,
79                     array(
80                         'border' => 0,
81                         'width'  => '46',
82                         'height' => '46',
83                     )
84             );
85                         $row[] = new MECON_HTML_Link(
86                                 $url,
87                 $img,
88                                 array(),
89                         array(
90                     'OnClick' =>
91                         "javascript:window.open('$url','s{$sistema->sistema}',"
92                         . "'width=790,height=500,scrollbars=yes');return false;",
93                                     'target' => '_blank',
94                                 )
95                     );
96             $row[] = '&nbsp;';
97                         $link = new MECON_HTML_Link(
98                                 $url,
99                 $sistema->nombre,
100                                 array(),
101                         array(
102                     'OnClick' =>
103                         "javascript:window.open('$url','s{$sistema->sistema}',"
104                         . "'width=790,height=500,scrollbars=yes');return false;",
105                                     'target' => '_blank',
106                     'class' => 'intranet_sistemas_txt',
107                                 )
108                     );
109             $html = $link->toHtml() . ': ' . $sistema->descripcion;
110                 if ($sistema->link_ayuda) {
111                 $html .= '&nbsp;';
112                 $img = new MECON_HTML_Image(
113                         '/sistemas/intranet/images/sistemas_ayuda',
114                         '(?)'
115                 );
116                         $link = new MECON_HTML_Link(
117                                         $sistema->link_ayuda,
118                                         $img,
119                                         array(),
120                                         array(
121                         'OnClick' =>
122                             "javascript:window.open('{$sistema->link_ayuda}',"
123                             . "'sa{$sistema->sistema}',"
124                             . "'width=790,height=500,scrollbars=yes');return false;",
125                         'target' => '_blank',
126                     )
127                                 );
128                 $html .= $link->toHtml();
129                         }
130             $row[] = $html;
131             $sistema = @array_shift($sistemas);
132         } else {
133             $row[] = '&nbsp;';
134             $row[] = '&nbsp;';
135             $row[] = '&nbsp;';
136         }
137         if ($j % (COLUMNAS)) {
138             $row[] = '&nbsp;';
139         }
140     }
141     $t->addRow(array('&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;'));
142     $t->addRow($row, array('class' => 'intranet_sistemas_txt'));
143 }
144
145 $m = new HTML_DietMarco('sistemas', 'Sistemas');
146 //$m->addTitle('Sistemas');
147 $m->addStyleDeclaration('
148     .intranet_sistemas_txt {
149         color: #003366;
150         font-family: Arial, Helvetica, sans-serif;
151         font-size: 10pt;
152     }
153     A.intranet_sistemas_txt {
154         font-weight: bold;
155         text-decoration: none;
156     }'
157 );
158 $m->addBodyContent($t);
159 $m->display();
160     
161 ?>