]> git.llucax.com Git - mecon/intranet.git/blob - sistema/www/sistemas.php
Se hace que los sistemas se abran en ventana nueva sin decoraciones.
[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 = '/Php2Embperl_Session?redirect=' . urlencode($url);
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                     'OnClick' =>
92                         "javascript:window.open('$url','s{$sistema->sistema}',"
93                         . "'width=800,height=600,scrollbars=yes');return false;",
94                                     'target' => '_blank',
95                                 )
96                     );
97             $row[] = '&nbsp;';
98                         $link = new MECON_HTML_Link(
99                                 $url,
100                 $sistema->nombre,
101                                 array(),
102                         array(
103                     'OnClick' =>
104                         "javascript:window.open('$url','s{$sistema->sistema}',"
105                         . "'width=800,height=600,scrollbars=yes');return false;",
106                                     'target' => '_blank',
107                     'class' => 'intranet_sistemas_txt',
108                                 )
109                     );
110             $html = $link->toHtml() . ': ' . $sistema->descripcion;
111                 if ($sistema->link_ayuda) {
112                 $html .= '&nbsp;';
113                 $img = new MECON_HTML_Image(
114                         '/sistemas/intranet/images/sistemas_ayuda',
115                         '(?)'
116                 );
117                         $link = new MECON_HTML_Link(
118                                         $sistema->link_ayuda,
119                                         $img,
120                                         array(),
121                                         array(
122                         'OnClick' =>
123                             "javascript:window.open('{$sistema->link_ayuda}',"
124                             . "'sa{$sistema->sistema}',"
125                             . "'width=800,height=600,scrollbars=yes');return false;",
126                         'target' => '_blank',
127                     )
128                                 );
129                 $html .= $link->toHtml();
130                         }
131             $row[] = $html;
132             $sistema = @array_shift($sistemas);
133         } else {
134             $row[] = '&nbsp;';
135             $row[] = '&nbsp;';
136             $row[] = '&nbsp;';
137         }
138         if ($j % (COLUMNAS)) {
139             $row[] = '&nbsp;';
140         }
141     }
142     $t->addRow(array('&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;', '&nbsp;'));
143     $t->addRow($row, array('class' => 'intranet_sistemas_txt'));
144 }
145
146 $m = new HTML_DietMarco('sistemas', 'Sistemas');
147 $m->addTitle('Sistemas');
148 $m->addStyleDeclaration('
149     .intranet_sistemas_txt {
150         color: #003366;
151         font-family: Arial, Helvetica, sans-serif;
152         font-size: 10pt;
153     }
154     A.intranet_sistemas_txt {
155         font-weight: bold;
156         text-decoration: none;
157     }'
158 );
159 $m->addBodyContent($t);
160 $m->display();
161     
162 ?>