]> git.llucax.com Git - mecon/intranet.git/blob - sistema/local_lib/HTML_Noticia.php
Bugfixes y actualizacion de documentacion.
[mecon/intranet.git] / sistema / local_lib / HTML_Noticia.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 3 14:43:38 2003                                    |
24 // | Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>                       |
25 // +--------------------------------------------------------------------+
26 //
27 // $Id$
28 //
29
30
31
32 // +X2C includes
33 require_once 'HTML/Table.php';
34 require_once 'MECON/HTML/Link.php';
35 // ~X2C
36
37 // +X2C Class 162 :HTML_Noticia
38 /**
39  * @access public
40  */
41 class HTML_Noticia extends HTML_Table {
42     /**
43      * @var    noticia $noticia
44      * @access public
45      */
46     var $noticia;
47
48     /**
49      * @var    bool $completa
50      * @access public
51      */
52     var $completa;
53
54     /**
55      * @var    int $nuevo
56      * @access public
57      */
58     var $nuevo;
59
60     // ~X2C
61
62     // +X2C Operation 166
63     /**
64      * @return void
65      * @access public
66      */
67     function toHTML() // ~X2C
68     {
69         if($this->completa)
70         {
71             $this->addRow(array($this->noticia->getSeccion()), array('class' => 'noticias_titulo_uno'));
72             $this->addRow(array(new MECON_HTML_Image('images/noticia_linea_azul.gif')),
73                           array('class' => 'ver_mas'));
74             $this->addRow(array($this->noticia->getTitulo()), array('class' => 'noticias_textoazul'));
75             $this->addRow(array($this->noticia->getTitulo2()), array('class' => 'noticias_titulo_vinculos'));
76             $this->addRow(array($this->noticia->getTexto()), array('class' => 'noticias_titulo_noticia'));
77             foreach($this->noticia->getLinks() as $l)
78               $this->addRow(array(new MECON_HTML_Link('una_noticia',$l['texto'],$l)));
79             foreach($this->noticia->getArchivos() as $a)
80             {
81               //Cuando se cambie la herramienta hay que usar este otro script
82               //para obtener los archivos
83               //$this->addRow(array(new MECON_HTML_Link('attach',$a['texto'],$a)));
84               $this->addRow(array(new MECON_HTML_Link('http://intranet.mecon.ar/get_file.epl',
85                         $a['texto'],
86                         array('NEWS.FilesForArticle.file_for_article_id' =>$a['numero']))));
87             }
88             $tmp = $this->noticia->getFecha();
89             $this->addRow(array($tmp->format('Fecha de publicación: %d/%m/%Y')),
90                           array('class' => 'noticias_ver_mas'));
91             $this->addRow(array(new MECON_HTML_Image('images/blanco.gif','', 
92                           array('height'=>'15', 'width'=>'1', 'border'=>'0'))),
93                           array('class' => 'noticias_ver_mas'));
94             $tmp = new MECON_HTML_Image('images/noticia_anterior.gif');
95             $this->addRow(array("<a href='$this->volver' class='noticias_ver_mas'>".$tmp->toHTML().
96                                                                'volver</a>'),
97                           array('class' => 'noticias_ver_mas'));
98         return parent::toHTML();    
99         }
100         else
101         {
102             $seccion = $this->noticia->getSeccion();
103             if(!is_null($seccion))
104               $this->addRow(array($seccion),
105                           array('class' => 'noticias_subtitulo'));
106             $img_str = null;
107             if($this->nuevo)
108             {
109                 $nuevo = new MECON_HTML_Image('images/noticia_nuevo.gif');
110                 $img_str = ' '.$nuevo->toHTML();
111             }
112             $this->addRow(array("<a href='$this->link' class='noticias_titulo_noticia'>".$this->noticia->getTitulo().$img_str.'<a>'), array('class' => 'noticias_titulo_noticia'));
113             $tmp = $this->noticia->getFecha();
114             $this->addRow(array($tmp->format('(%d/%m/%Y)')),
115                           array('class' => 'noticias_fecha_noticia'));
116             $mas = new MECON_HTML_Image('images/noticia_mas.gif');
117             if(isset($this->vermas))
118             {
119               $this->addRow(array("<a href='$this->vermas' class='noticias_ver_mas'>".$mas->toHTML().' ver más</a>'),
120                           array('class' => 'noticias_ver_mas'));
121             }
122             $this->addRow(array(new MECON_HTML_Image('images/noticia_linea_puntos.gif')),
123                           array('class' => 'noticias_ver_mas'));
124         return @ $this->toHTML_no_tabla();    
125         }
126     }
127     // -X2C
128
129     // +X2C Operation 167
130     /**
131      * @param  noticia $noticia 
132      *
133      * @return void
134      * @access public
135      */
136     function HTML_Noticia($noticia) // ~X2C
137     {
138         $this->noticia = $noticia;
139         $params = array('width'      => '280',
140                         'border'     =>'0',
141                         'cellPadding'=>'0');
142         parent::HTML_Table($params);
143     }
144     // -X2C
145
146
147     // +X2C Operation 175
148     /**
149      * @param  bool $completa 
150      *
151      * @return void
152      * @access public
153      */
154     function setCompleta($completa) // ~X2C
155     {
156         $this->completa = $completa;
157     }
158     // -X2C
159
160     // +X2C Operation 176
161     /**
162      * @param  bool $nuevo 
163      *
164      * @return void
165      * @access public
166      */
167     function setNuevo($nuevo) // ~X2C
168     {
169         $this->nuevo = $nuevo;
170     }
171     // -X2C
172
173     // +X2C Operation 192
174     /**
175      * @param  string $link 
176      *
177      * @return void
178      * @access public
179      */
180     function setLink($link) // ~X2C
181     {
182         $this->link = $link;
183     }
184     // -X2C
185
186     // +X2C Operation 193
187     /**
188      * @param  string $link 
189      *
190      * @return void
191      * @access public
192      */
193     function setVerMas($link) // ~X2C
194     {
195         $this->vermas = $link;
196     }
197     // -X2C
198
199     // +X2C Operation 194
200     /**
201      * @param  string $link 
202      *
203      * @return void
204      * @access public
205      */
206     function setVolver($link) // ~X2C
207     {
208         $this->volver = $link;
209     }
210     // -X2C
211
212     // +X2C Operation 195
213     /**
214      * @return void
215      * @access public
216      */
217     function getCSS() // ~X2C
218     {
219         return "css/noticias.css";
220     }
221     // -X2C
222
223     // +X2C Operation 198
224     /**
225      * @return void
226      * @access public
227      */
228     function toHTML_no_tabla() // ~X2C
229     {
230         for ($i = 0 ; $i < $this->_rows ; $i++) {
231           $strHtml .= $tabs ."\t<TR>\n";
232           for ($j = 0 ; $j < $this->_cols ; $j++) {
233             if ($this->_structure[$i][$j] == "SPANNED") {
234               $strHtml .= $tabs ."\t\t<!-- span -->\n";
235               continue;
236             }
237             $type = ($this->_structure[$i][$j]["type"] == "TH" ? "TH" : "TD");
238             $attr = $this->_structure[$i][$j]["attr"];
239             $contents = $this->_structure[$i][$j]["contents"];
240             $strHtml .= $tabs . "\t\t<$type" . $this->_getAttrString($attr) . ">";                if (is_object($contents)) {
241               if (is_subclass_of($contents, "html_common")) {
242                  $contents->setTabOffset($this->_tabOffset + 3);
243                  $contents->_nestLevel = $this->_nestLevel + 1;
244               }
245               if (method_exists($contents, "toHtml")) {
246                  $contents = $contents->toHtml();
247               } elseif (method_exists($contents, "toString")) {
248                  $contents = $contents->toString();
249               }
250             }
251             if (is_array($contents)) $contents = implode(", ",$contents);
252       if (isset($this->_autoFill) && $contents == "") $contents = $this->_autoFill;
253       $strHtml .= $contents;
254       $strHtml .= "</$type>\n";
255     }
256     $strHtml .= $tabs ."\t</TR>\n";
257   }
258   return $strHtml;
259     }
260     // -X2C
261
262 } // -X2C Class :HTML_Noticia
263 ?>