<?php
includeCommonClass('formulario');
includeCommonClass('funciones');
includeCommonClass('categoria');

/**
 * Clase que representa a los articulos
 * @author Luis Poggi
 * @package svcms2
 * @subpackage elementos
 * @todo Crear CRUD y utilizar la clase para administraci&oacute;n del articulo
 */
class articulo{
	/**
	 * Enter description here ...
	 * @var unknown_type
	 * @access private
	 */
	var $activos;
	/**
	 * Enter description here ...
	 * @var unknown_type
	 * @access private
	 */
	var $funciones;
	/**
	 * Enter description here ...
	 * @var unknown_type
	 * @access private
	 */
	var $rutaBase;
	/**
	 * Identificador del articulo
	 * @var String
	 */
	var $id;
	/**
	 * Titulo del articulo
	 * @var String
	 */
	var $titulo;
	/**
	 * Link al articulo
	 * @var String
	 */
	var $link;
	/**
	 * Resumen del articulo (512 caracteres)
	 * @var String
	 */
	var $resumen;
	/**
	 * Resumen completo del articulo
	 * @var String
	 */
	var $resumenCompleto;
	/**
	 * Nonbre de la imagen
	 * @var String
	 */
	var $imagen;
	/**
	 * Fuente de la imagen ya procesada
	 * @var String
	 */
	var $srcImg;
	/**
	 * Ultima fecha de modificacion del articulo
	 * @var DateTime
	 */
	var $fecha_mod;

	function __construct($id="",$titulo="",$resumen="",$imagen="",$fecha_mod="",$rutaBase=""){
		$this->funciones = new funciones();
		$this->rutaBase = $rutaBase;
		$this->id = $id;
		$this->titulo = $titulo;
		$this->link = "/articulo-".$this->funciones->limpiarUrl($this->titulo);
		$this->resumen = substr($resumen,0,512);
		$this->resumenCompleto = $resumen;
		$this->imagen = $imagen;
		$this->srcImg = $this->rutaBase."/contenido/turn/".$this->imagen;
		$this->fecha_mod = $fecha_mod;
		$this->activos=1;
	}

	/**
	 *
	 * @param unknown_type $ruta
	 * @access private
	 */
	function setRutaBase($ruta){
		$this->rutaBase = $ruta;
	}

	/**
	 * Permite obtener los articulos dadas las condiciones y ordenamiento
	 * @param String $condiciones
	 * @param String $orderBy
	 * @param Number $maxResults
	 */
	function obtenerArticulos($condiciones="", $orderBy="", $maxResults=0) {
		$query = " select id,titulo,imagen,fecha_mod,texto,textosimple,date_format(fecha_mod,'%d-%c-%Y') as fecha, date_format(fecha_mod,'%h:%i %p') as hora,resumen,cat_id,cat_nivel,meta_desc from articulo ";
		if ($this->activos==1){
			$query.= " where estatus=1 ";
			if ((isset($condiciones)) && $condiciones!=''){
				$query.= " and ".$condiciones;
			}
		}else{
			if ((isset($condiciones)) && $condiciones!=''){
				$query.= " where ".$condiciones;
			}
		}

		if ((isset($orderBy)) && $orderBy!=''){
			$query.= " order by ".$orderBy;
		}else{
			$query.= " order by orden, titulo, id ";
		}
		return $this->obtenerArticulosByQuery($query, $maxResults);
	}

	/**
	 * Permite obtener los articulos dado un query especificado
	 * @param String $query
	 * @param Number $maxResults
	 * @access private
	 */
	function obtenerArticulosByQuery($query, $maxResults){
		$ConnArt = new formulario('db');
		$items = $ConnArt->estructura_db($query);
		if(count($items)>0){
			$i=0;

			$catId = $items[$i]['cat_id'];
			$catNivel = $items[$i]['cat_nivel'];
			if (isset($catId)){
				$categoria = new categoria();
				$datosCategoria = $categoria->obtenerCategoria($catId,$catNivel);
				$datos['categoria'] = $datosCategoria;
			}
			foreach($items as $item){
				$datos[$i]['id'] = $item['id'];
				
				/*
					Creador: Jesús Rafael Cova Huerta.
					
					Descripci&oacute;n: se utiliza para conocer la categoria del articulo.
				*/
					
					$s = "SELECT nombre FROM cont_categoria WHERE id = '".$item['cat_id']."'";
				
					$q = mysql_query ($s);
				
					$registro = mysql_fetch_array ($q);
					
					if ($registro['nombre'] == "") {
						$s = "SELECT nombre FROM cont_subcategoria WHERE id = '".$item['cat_id']."'";
				
						$q = mysql_query ($s);
				
						$registro = mysql_fetch_array ($q);
					}
					
					if ($registro['nombre'] == "") {
						$s = "SELECT nombre FROM cont_sub_subcategoria WHERE id = '".$item['cat_id']."'";
				
						$q = mysql_query ($s);
				
						$registro = mysql_fetch_array ($q);
					}
					
					if (mysql_num_rows(mysql_query("SHOW TABLES LIKE '"."articulos_valoraciones"."'")) == 1) {
						/*
						Creador: Jesús Rafae Cova Huerta.
						
						Descripci&oacute;n: se utiliza para conocer las valoraciones del articulo.
						*/
						
							$s_valoraciones = "SELECT * FROM articulos_valoraciones WHERE articulo = '".$item['id']."'";
					
							$q_valoraciones = mysql_query ($s_valoraciones);
						
							$registro_valoraciones = mysql_fetch_array ($q_valoraciones);
							
							$datos[$i]['totalpositivo'] = $registro_valoraciones['valoracion_positiva'];
								
							$datos[$i]['totalnegativo'] = $registro_valoraciones['valoracion_negativa'];
							
						//////////////////
					}
					
					/*
					Creador: Jesús Rafael Cova Huerta.
					
					Descripci&oacute;n: se utiliza para conocer los archivos adjuntos.
					*/
					
						$s_adjuntos = mysql_query("SELECT * FROM cont_adjunto WHERE art_id = '".$datos[$i]['id']."'");
						
						$j = 0;
						
						while($r_adjunto = mysql_fetch_array($s_adjuntos)) {
							if($r_adjunto['titulo'] != "") {
								if($j == 0) {
									$datos[$i]['titulo_adjuntos'] = $r_adjunto['titulo'];
									
									$datos[$i]['ruta_adjuntos'] = $this->rutaBase."/contenido/doc/".$r_adjunto['ruta'];
								} else {
									$datos[$i]['titulo_adjuntos'] = $datos[$i]['titulo_adjuntos']."-".$r_adjunto['titulo'];
									
									$datos[$i]['ruta_adjuntos'] = $datos[$i]['ruta_adjuntos']."-". $this->rutaBase ."/contenido/doc/".$r_adjunto['ruta'];;
								}
							
								$j = $j + 1;
							}
						}
						
					/////////////////
					
					$datos[$i]['categoria'] = $registro['nombre'];
					
					$datos[$i]['cat_id'] = $item['cat_id'];
					
					$datos[$i]['cat_nivel'] = $item['cat_nivel'];
					
					$s = "SELECT * FROM preferencias";
				
					$q = mysql_query ($s);
				
					$registro = mysql_fetch_array ($q);
					
					$datos[$i]['url_empresa'] = $registro['url_empresa'];
					
				////////////////////////
				
				$datos[$i]['link'] = "/articulo-".$this->funciones->limpiarUrl($item['titulo']);
				$datos[$i]['nombre'] = $item['titulo'];

				$date = new DateTime($item['fecha_mod']);
				$datos[$i]['fecha_mod'] = $date->format('d \d\e M \d\e Y g:i a');
				$datos[$i]['texto'] = $item['texto'];
				$datos[$i]['textosimple'] = $item['textosimple'];
				$datos[$i]['fecha'] = $item['fecha'];
				$datos[$i]['hora'] = $item['hora'];
					$datos[$i]['meta_desc'] = $item['meta_desc'];
				$datos[$i]['resumen'] = substr($item['resumen'],0,512);
				$datos[$i]['srcImg'] = $this->rutaBase."/contenido/turn/".$item['imagen'];
				$datos[$i]['srcImgMed'] = $this->rutaBase."/contenido/med/".$item['imagen'];
				$datos[$i]['srcImgOrig'] = $this->rutaBase."/contenido/orig/".$item['imagen'];
				$datos[$i]['articulo'] = new articulo($item['id'],$item['titulo'],$item['resumen'],$item['imagen'],$item['fecha_mod'],$this->rutaBase);
				$i=$i+1;
				if ($maxResults!=0 && $maxResults<=$i){break;}
			}
		}
		$ConnArt->cerrar();
		return $datos;
	}

}

?>