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