| // +--------------------------------------------------------------------+ // // $Id$ // require_once 'noticia.php'; require_once 'HTML_Noticia.php'; require_once 'intranetdb.php'; require_once 'AI/GrupoSecciones.php'; // +X2C includes require_once 'HTML/Table.php'; // ~X2C // +X2C Class 187 :HTML_Titulares /** * @access public */ class HTML_Titulares extends HTML_Table { /** * @var int $antiguedad * @access public */ var $antiguedad = null; /** * @var int $grupo_secciones * @access public */ var $grupo_secciones; // ~X2C // +X2C Operation 190 /** * @param int $grupo_secciones * @param int $antiguedad * * @return void * @access public */ function HTML_Titulares($grupo_secciones = null, $antiguedad = null) // ~X2C { parent::HTML_Table(array('width'=>'600', 'border'=>'0', 'cellspacing'=>'0', 'cellpadding' => '0')); $db = IntranetDB::Connect(); $hoy = new Date(); $fecha_nuevo = $hoy->format('%Y-%m-%d'); $query = "SELECT Articles.article_id, IF(Articles.publication_date > '$fecha_nuevo', 'NUEVA', null) FROM MEconDAV.Articles, MEconDAV.ArticlePublicationStates WHERE Articles.article_publication_state_id = ArticlePublicationStates.article_publication_state_id AND ArticlePublicationStates.publication_state_id=5 "; $gs = new AI_GrupoSecciones($grupo_secciones); if(!is_null($grupo_secciones)) { $gs->cargar($db); if(count($gs->secciones) > 0) $query .= ' AND Articles.section_id IN('.implode(',', $gs->secciones).') '; } else{ $censuradas = $gs->getSeccionesOcultasArray($db); $query .= ' AND Articles.section_id NOT IN('.implode(',', $censuradas).') '; } if(!is_null($antiguedad)) { $hoy->subtractSeconds(60*60*24*$antiguedad); $fecha_limite = $hoy->format('%Y-%m-%d'); $query .= "AND Articles.publication_date > '$fecha_limite' "; } $query .= "ORDER BY Articles.publication_date desc"; $result = $db->query($query); $this->numero_noticias = $result->numRows();//FIXME no documentado if(DB::isError($result)) trigger_error($result->getMessage('query mal hecho'), E_USER_ERROR); $ht1 = new HTML_Table(array('width'=>'280', 'border'=>'0', 'cellspacing'=>'0', 'cellpadding' => '0')); $ht2 = new HTML_Table(array('width'=>'280', 'border'=>'0', 'cellspacing'=>'0', 'cellpadding' => '0')); $impar = true; while($row = $result->fetchRow()) { $n = new noticia($row[0]); if(!isset($this->primera_noticia)) $this->primera_noticia = $n; if(!is_null($grupo_secciones)) $n->seccion = null; $not = new HTML_Noticia($n); $not->setLink("una_noticia?numero=$row[0]"); if(is_null($grupo_secciones)) { //$n->getIdSeccion(); $not->setVerMas("noticias?grupo=". AI_GrupoSecciones::getGrupo($n->getIdSeccion(), $db)); } if($row[1] == 'NUEVA') $not->setNuevo(true); if($impar) { $impar = false; $ht1->addRow(array($not)); } else { $impar = true; $ht2->addRow(array($not)); } } $this->addRow(array($ht1,$ht2)); $this->updateCellAttributes(0,0,array('valign'=>'top')); $this->updateCellAttributes(0,1,array('valign'=>'top')); } // -X2C // +X2C Operation 196 /** * @return void * @access public */ function getCSS() // ~X2C { return 'css/noticias.css'; } // -X2C } // -X2C Class :HTML_Titulares ?>