]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/sistemas.php
Se renombra para evitar confusiones.
[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 $sists = AI_Sistema::getSistemas($DB);
55
56 // Me fijo que sistemas puede ver este usuario.
57 require_once 'SAMURAI/Perm.php';
58 require_once 'SAMURAI/constantes.php';
59 $perm = new SAMURAI_Perm($_SESSION['usuario'], 0, $DB);
60 $samurai = false;
61 $sistemas = array();
62 foreach ($sists as $id => $s) {
63     // Agrego los sistemas en los que tiene permiso.
64     $perm->setSistema($s->sistema);
65     if ($perm->tiene()) {
66         // Si es SAMURAI hay que ver si ya no lo agregamos antes.
67         if ($id == SAMURAI_PERM) {
68             if (!$samurai) {
69                 $samurai = true;
70                 $sistemas[] = $sists[$id];
71             }
72         } else { // Si no es SAMURAI lo agregamos incondicionalmente.
73             $sistemas[] = $sists[$id];
74         }
75     }
76     // Si tiene permisos de SAMURAI en un sistema, hay que mostrar un link a
77     // SAMURAI.
78     if (!$samurai and $perm->tiene(SAMURAI_PERM_PERFIL_ALTA,
79             SAMURAI_PERM_PERFIL_BAJA, SAMURAI_PERM_PERFIL_MODIF,
80             SAMURAI_PERM_USUARIO_ALTA, SAMURAI_PERM_USUARIO_BAJA,
81             SAMURAI_PERM_USUARIO_MODIF)) {
82         $samurai = true;
83         if (@$sists[SAMURAI_PERM]) {
84             $sistemas[] = $sists[SAMURAI_PERM];
85         }
86     }
87 }
88 unset($sists);
89 unset($samurai);
90
91 $sistema = @array_shift($sistemas);
92 while ($sistema) {
93     $row = array();
94     for ($j = 1; $j <= COLUMNAS; $j++) {
95         if ($sistema) {
96             $url = $sistema->link;
97             if ($sistema->tipo == 'embperl') {
98                 $url = '/Php2Embperl_Session?redirect=' . urlencode($url);
99             }
100             $img = new MECON_HTML_Image(
101                     "/sistemas/intranet/images/$sistema->icono",
102                     $sistema->nombre,
103                     array(
104                         'border' => 0,
105                         'width'  => '46',
106                         'height' => '46',
107                     )
108             );
109                         $row[] = new MECON_HTML_Link(
110                                 $url,
111                 $img,
112                                 array(),
113                         array(
114                     'OnClick' =>
115                         "javascript:window.open('$url','s{$sistema->sistema}',"
116                         . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
117                                     'target' => '_blank',
118                                 )
119                     );
120             $row[] = '&nbsp;';
121                         $link = new MECON_HTML_Link(
122                                 $url,
123                 $sistema->nombre,
124                                 array(),
125                         array(
126                     'OnClick' =>
127                         "javascript:window.open('$url','s{$sistema->sistema}',"
128                         . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
129                                     'target' => '_blank',
130                     'class' => 'intranet_sistemas_txt',
131                                 )
132                     );
133             $html = $link->toHtml() . ': ' . $sistema->descripcion;
134                 if ($sistema->link_ayuda) {
135                 $html .= '&nbsp;';
136                 $img = new MECON_HTML_Image(
137                         '/sistemas/intranet/images/sistemas_ayuda',
138                         '(?)'
139                 );
140                         $link = new MECON_HTML_Link(
141                                         $sistema->link_ayuda,
142                                         $img,
143                                         array(),
144                                         array(
145                         'OnClick' =>
146                             "javascript:window.open('{$sistema->link_ayuda}',"
147                             . "'sa{$sistema->sistema}',"
148                             . "'width=790,height=550,scrollbars=yes,resizable=yes');return false;",
149                         'target' => '_blank',
150                     )
151                                 );
152                 $html .= $link->toHtml();
153                         }
154             $row[] = $html;
155             $sistema = @array_shift($sistemas);
156         } else {
157             $row[] = '&nbsp;';
158             $row[] = '&nbsp;';
159             $row[] = '&nbsp;';
160         }
161         if ($j % (COLUMNAS)) {
162             $row[] = '&nbsp;';
163         }
164     }
165     $t->addRow(array('&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;'));
166     $t->addRow($row, array('class' => 'intranet_sistemas_txt'));
167 }
168
169 $m = new HTML_DietMarco('sistemas', 'Sistemas');
170 //$m->addTitle('Sistemas');
171 $m->addStyleDeclaration('
172     .intranet_sistemas_txt {
173         color: #003366;
174         font-family: Arial, Helvetica, sans-serif;
175         font-size: 10pt;
176     }
177     A.intranet_sistemas_txt {
178         font-weight: bold;
179         text-decoration: none;
180     }'
181 );
182 $m->addBodyContent($t);
183 $m->display();
184     
185 ?>