]> git.llucax.com Git - mecon/intranet.git/blob - sistema/local_lib/HTML_Servicio.php
Bugfixes.
[mecon/intranet.git] / sistema / local_lib / HTML_Servicio.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                      Ministerio de Economía                        |
5 // |                             Intranet                               |
6 // +--------------------------------------------------------------------+
7 // | This file is part of Intranet.                                     |
8 // |                                                                    |
9 // | Intranet is free software; you can redistribute it and/or modify   |
10 // | it under the terms of the GNU General Public License as published  |
11 // | by the Free Software Foundation; either version 2 of the License,  |
12 // | or (at your option) any later version.                             |
13 // |                                                                    |
14 // | Intranet is distributed in the hope that it will be useful, but    |
15 // | WITHOUT ANY WARRANTY; without even the implied warranty of         |
16 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
17 // | General Public License for more details.                           |
18 // |                                                                    |
19 // | You should have received a copy of the GNU General Public License  |
20 // | along with Hooks; if not, write to the Free Software Foundation,   |
21 // | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
22 // +--------------------------------------------------------------------+
23 // | Creado: Thu Jul 24 15:27:04 2003                                   |
24 // | Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>                       |
25 // +--------------------------------------------------------------------+
26 //
27 // $Id$
28 //
29
30 require_once 'MECON/HTML/Image.php';
31 require_once 'MECON/HTML/Link.php';
32 require_once 'intranetdb.php';
33 require_once 'AI/Servicio.php';
34
35 // +X2C includes
36 require_once 'HTML/Table.php';
37 // ~X2C
38
39 // +X2C Class 165 :HTML_Servicio
40 /**
41  * @access public
42  */
43 class HTML_Servicio extends HTML_Table {
44     // ~X2C
45
46     // +X2C Operation 166
47     /**
48      * @param  int $seccion 
49      *
50      * @return void
51      * @access public
52      */
53     function HTML_Servicio($seccion) // ~X2C
54     {
55         parent::HTML_Table(array('width'       =>'360',
56                                  'border'      => '0',
57                                  'cellspacing' => '0',
58                                  'cellpadding' => '0',
59                                  'bgcolor'     => '#FFFFFF'));
60         $db = IntranetDB::connect();
61         $this->servicio = new AI_Servicio($seccion);
62         $this->servicio->cargar($db);
63         $this->servicio->cargarHijos($db, true, AI_SERVICIO_ORDEN_LONG_NOMBRE);
64     }
65     // -X2C
66
67     // +X2C Operation 167
68     /**
69      * @return void
70      * @access public
71      */
72     function toHTML() // ~X2C
73     {
74         if($this->servicio->link == '')
75             $this->servicio->link = '?servicios='.$this->servicio->servicio;
76         elseif($this->servicio->necesita_logueo)
77             $this->servicio->link = 'login?redirect='.$this->servicio->servicio;
78         $l = new MECON_HTML_Link($this->servicio->link, $this->servicio->nombre, array(),
79                              array('class' => 'servicio_titulo_tabla'));
80         //$this->addRow(array('&nbsp;&nbsp;&nbsp;'.$l->toHTML()),//Volvera...
81         $this->addRow(array('&nbsp;&nbsp;&nbsp;'.$this->servicio->nombre),
82                           array('align' => 'center',
83                                 'class' => 'arboltitulo',
84                                 'background'=>'images/servicio_cabecera.gif',
85                                 'height'=>30,
86                                 'class' => 'servicio_titulo_tabla'));
87         $img = new MECON_HTML_Image('images/servicio_bullet.gif');
88         $int =& new HTML_Table(array('width'       =>'360',
89                                      'border'      => '0',
90                                      'cellspacing' => '0',
91                                      'cellpadding' => '0',
92                                      'bgcolor'     => '#FFFFFF'));
93         $int->addRow(array($img, '',$img,''),
94                                array());
95         $int->updateColAttributes(0, array('width' => '10%',
96                           'background' => 'images/servicio_borde_sup_izq.gif',
97                           'valign'     => 'top'));
98         $int->updateColAttributes(1, array('width' => '40%',
99                                            'valign'     => 'top',
100                           'background' => 'images/servicio_borde_sup_cen.gif'));
101         $int->updateColAttributes(2, array('width' => '10%',
102                           'background' => 'images/servicio_borde_sup_cen.gif',
103                           'valign'     => 'top'));
104         $int->updateColAttributes(3, array('width' => '40%',
105                                            'valign'     => 'top',
106                           'background' => 'images/servicio_borde_sup_der.gif'));
107         $par = false;
108         foreach($this->servicio->getHijos() as $s)
109         {
110             if($s->link == '')
111                 $s->link = '?servicios='.$s->servicio;
112             elseif($s->necesita_logueo)
113                 $s->link = 'login?redirect='.$s->servicio;
114         $link = new MECON_HTML_Link($s->link, $s->nombre,
115             array(), 
116             array('class' => 'servicio_tabla'));
117         if ($s->ventana_nueva) {
118             $link->updateAttributes(array(
119                 // XXX - no lo pongo porque no le veo sentido para links externos sacarles las barras y eso.
120                 //'OnClick' => "javascript:window.open('{$s->link}','serv{$s->servicio}',"
121                 //             . "'width=800,height=600,scrollbars=yes');return false;",
122                 'target' => '_blank',
123             ));
124         }
125         if($par)
126             {
127             $int->setCellContents(0, 3, $link);
128             $this->addRow(array($int));
129                 $par = false;
130             }
131             else
132             {
133                 $int->setCellContents(0, 1, $link);
134                 $par = true;
135            }
136         }
137         if($par)
138         {
139             $int->setCellContents(0, 1, $link);
140             $int->setCellContents(0, 2, '');
141             $int->setCellContents(0, 3, '');
142             $this->addRow(array($int));
143         }
144
145         $this->addRow(array(new MECON_HTML_Image('images/servicio_borde_inf.gif')));
146         return parent::toHTML();
147     }
148     // -X2C
149
150     // +X2C Operation 170
151     /**
152      * @return void
153      * @access public
154      */
155     function getCSS() // ~X2C
156     {
157         return 'css/servicio.css';
158     }
159     // -X2C
160
161 } // -X2C Class :HTML_Servicio
162 ?>