tupali_fork/milfs/funciones/login.php

325 lines
11 KiB
PHP

<?php
function login_boton($formulario){
if($formulario =='x') {
session_destroy();
$respuesta = new xajaxResponse('utf-8');
$respuesta->addRedirect("index.php");
return $respuesta;
}
if(isset($_SESSION['id'])){
$accion = "<li><a class=' btn ' onclick=\"xajax_login_boton('x') \"><i class='glyphicon glyphicon-log-out fa-fw'></i>$_SESSION[username]</a></li>";
}else{
$accion = registro_express("nuevo_$nombre_formato","boton");
print $accion;
return;
// return $login;
}
$resultado ="
<div id='login_div' name='login_div' style='' >
<ul class='nav navbar-nav navbar-right' >
$accion
</ul>
</div>
";
print $resultado;
return;
}
$xajax->registerFunction("login_boton");
function revisar_ingreso($formulario){
$recordar="";
$sucursal="";
$resultado="";
$formulario = mysql_seguridad($formulario);
if($formulario =="") {
$formulario ="
<form class='form-horizontal' id='form-contacto' name='form-contacto' >
<fieldset>
<label class='' for='email'>Correo o usuario</label>
<div class='input-group' id='grupo_email'>
<span class='input-group-addon'><i class='glyphicon glyphicon-user fa-fw'></i></span>
<input id='email'name='email' class='form-control input-large' type='email' placeholder ='Correo o usuario'>
</div>
<!-- Text input-->
<label class='control-label' for='password'>Clave</label>
<div class='input-group' >
<span class='input-group-addon'><i class='glyphicon glyphicon-lock fa-fw'></i></span>
<input class='form-control input-large' id='password' name='password' type='password' placeholder='clave' required='' >
</div>
<div class='input-group'>
<label for='recordar'>No recuerdo mi clave
<input type='radio' value ='1' id='recordar' name='recordar' >
</div>
</fieldset>
</form>
";
$resultado = "
<div id='login_ok'>
$formulario
<!-- Button -->
<div class='control-group'>
<label class='control-label' for='signin'></label>
<div class='controls'>
<button id='ingresar' name='ingresar' class='btn btn-success btn-block' onclick=\"xajax_revisar_ingreso(xajax.getFormValues('form-contacto')) \">Ingresar</button>
</div>
</div>
<br>
<div id='login_info'></div>
</div>
";
if(!isset($_SESSION['id'])){ print $resultado; }else {
//print $nuevo ;
}
return;
}
include("includes/datos.php");
$div='contenido';
$respuesta = new xajaxResponse('utf-8');
$email = $formulario['email'];
$recordar = @$formulario['recordar'];
if($email =='') {
$respuesta->addAlert("Ingresa tu nombre de usuario o email");
return $respuesta;
}
if($formulario['password'] =='' AND $recordar =='') {
$respuesta->addAlert("Ingresa tu clave");
return $respuesta;
}
$password= MD5($formulario['password']);
$link=Conectarse();
mysqli_set_charset($link, "utf8");
if($recordar =='1')
{
if($email =='')
{
$tipo='danger';
$mensaje ="Por favor escribe tu <strong>correo o usuario</strong> si olvidaste tu clave.";
$respuesta->addAssign($div,"innerHTML",$mensaje);
return $respuesta;
}else
{
$consulta = "SELECT id,email,control,id_empresa FROM $tabla_autenticacion WHERE (email = '$email' OR username = '$email' )";
$sql=mysqli_query($link,$consulta);
if (mysqli_num_rows($sql)!='0')
{
$firma_recuperacion = sha1("$control".mktime()."");
$correo = mysqli_result($sql,0,"email");
$control = mysqli_result($sql,0,"control");
$id_usuario = mysqli_result($sql,0,"id");
$id_empresa = mysqli_result($sql,0,"id_empresa");
$firma ="UPDATE $tabla_autenticacion SET `firma_recuperacion` = '$firma_recuperacion' WHERE $tabla_autenticacion.`id` = '$id_usuario';";
$cambiar_firma=mysqli_query($link,$firma);
$tipo='success';
$direccion = remplacetas("empresa","id",$id_empresa,"direccion","");
$telefono = remplacetas("empresa","id",$id_empresa,"telefono","");
$web = remplacetas("empresa","id",$id_empresa,"web","");
$email = remplacetas("empresa","id",$id_empresa,"email","");
$imagen = remplacetas("empresa","id",$id_empresa,"imagen","");
$razon_social = remplacetas("empresa","id",$id_empresa,"razon_social","");
$slogan = remplacetas("empresa","id",$id_empresa,"slogan","");
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: $razon_social[0] <$email[0]>\r\n";
$headers .= "Reply-To: $email[0]\r\n";
$headers .= "Return-path: $email[0]\r\n";
$asunto= "Cambio de clave";
$cuerpo ="
$razon_social[0]
<div style='border: solid 1px; padding:20px ; border-radius: 10px; background-color:#E6F8E0 '>
<h1>$razon_social[0]</h1>
<hr />
<p>Se ha solicitado un cambio de clave para tu usuario.<br />
Si fuiste tu quien lo solicit&oacute;, sigue este <a href='http://$_SERVER[HTTP_HOST]/milfs/index.php?change=$firma_recuperacion'>enlace</a> para realizar el cambio.</p>
http://$_SERVER[HTTP_HOST]/milfs/index.php?change=$firma_recuperacion
<h3>Si no solicitaste el cambio, por favor comun&iacute;calo respondiendo este correo.</h3>
</div>
";
$mensaje =" Enviamos un correo con la confirmación a $correo";
mail("$correo","$asunto","$cuerpo","$headers") ;
}else
{
$tipo='danger';
$mensaje ="El <strong>correo o usuario</strong> no se encuentra registrado aún.";
}
}
$resultado ="<div class='alert alert-$tipo'>$mensaje</div>";
$respuesta->addAssign($div,"innerHTML",$resultado);
return $respuesta;
}
//$consulta = "SELECT * FROM $tabla_autenticacion WHERE (email = '$email' OR username = '$email' )AND passwd = '$password' LIMIT 1";
$consulta= "SELECT *, $tabla_autenticacion.id AS id_usuario
FROM $tabla_autenticacion, usuarios_grupo
WHERE (email = '$email' OR username = '$email' )AND passwd = '$password'
AND $tabla_autenticacion.id_grupo = usuarios_grupo.id
LIMIT 1";
$sql=mysqli_query($link,$consulta);
if (mysqli_num_rows($sql)!='0'){
if(mysqli_result($sql,0,"status") === '0' ) {
$resultado = "
<div class='alert alert-danger' >
Aún no se ha confirmado tu email, por favor revisa tu correo</p>
</div >";
//$div ="login_ok";
}
else {
//session_destroy();
$_SESSION = array();
$_SESSION['username']= mysqli_result($sql,0,"username");
$_SESSION['id']= mysqli_result($sql,0,"id_usuario");
$_SESSION['grupo']= mysqli_result($sql,0,"id_grupo");
$_SESSION['equipo']= mysqli_result($sql,0,"equipo");
$_SESSION['tabla_autenticacion']= "$tabla_autenticacion";
$_SESSION['prioridad'] = mysqli_result($sql,0,"prioridad");
$_SESSION['id_empresa']= mysqli_result($sql,0,"id_empresa");
$_SESSION[$usuarios_sesion]= "$usuarios_sesion";
$_SESSION['site']= "$url";
$resultado .="
$sucursal
<div class=' alert alert-success'><h3><b>Hola $_SESSION[username] </b</h3></div>";
//$url=urlencode('../index.php');
//$respuesta->addRedirect("$_SESSION[site]");
$respuesta->addScript("window.location='../'");
//header("Location: ../");
//return;
}
}else{
$resultado = "
<div class='alert alert-danger' >
Los datos no son correctos, por favor rectifica o ponte en contacto con el administrador para mas información.<br></p>
<a href='./' class='btn btn-danger btn-sm'><h2>Intentar de nuevo</h2></a>
</div >";
}
$respuesta->addAssign($div,"innerHTML",$resultado);
return $respuesta;
}
$xajax->registerFunction("revisar_ingreso");
function cambiar_password_formato($change) {
include("includes/datos.php");
$firma_recuperacion = remplacetas("$tabla_autenticacion","firma_recuperacion",$change,"firma_recuperacion") ;
if($firma_recuperacion[0] =='') {
$formato ="<div class='alert alert-danger'><h1>Lo sentimos</h1><p>El Link ya NO ES válido</p></div>";
return $formato;
}
$formato="
<DIV id='cambio_password'>
<div class='container alert alert-warning'>
<div class='row'>
<form role='form' id='cambiar_password_form' name='cambiar_password_form'>
<fieldset>
<legend class='text-center'>Cambio de clave</legend>
<div class='col-sm-6'>
<div style='margin-bottom: 25px' class='input-group' id='password_nuevo_grupo'>
<span class='input-group-addon'><i class='glyphicon glyphicon-unlock-alt fa-fw'></i></span>
<input id='password_nuevo' type='password' class='form-control' name='password_nuevo' placeholder='Nuevo password'>
</div>
</div>
<div class='col-sm-6'>
<div style='margin-bottom: 25px' class='input-group' id='password_confirmacion_grupo'>
<span class='input-group-addon' ><i class='glyphicon glyphicon-lock fa-fw'></i></span>
<input id='password_confirmacion' type='password' class='form-control' name='password_confirmacion' placeholder='Confirmar password'
onchange= \"xajax_confirma_campo((document.getElementById('password_nuevo').value),(this.value),'password_nuevo','password_confirmacion'); \" >
</div>
</div>
</fieldset>
</div>
<input type='hidden' id='firma_recuperacion' name='firma_recuperacion' value='$change'>
<a onclick=\"xajax_cambiar_password(xajax.getFormValues('cambiar_password_form')); \" class='btn btn-danger btn-block'>Grabar</a>
</form>
</DIV>
</div>
";
return $formato;
}
function cambiar_password($formulario){
// if ( !isset ( $_SESSION['id'] ) ) { return;}
$respuesta = new xajaxResponse('utf-8');
include("includes/datos.php");
$formulario = mysql_seguridad($formulario);
$actual= $formulario[password_actual];
$nuevo= $formulario[password_nuevo];
$confirmacion= $formulario[password_confirmacion];
$firma = $formulario[firma_recuperacion];
$firma_recuperacion = remplacetas("$tabla_autenticacion","firma_recuperacion",$formulario[firma_recuperacion],"firma_recuperacion") ;
if(isset($firma)) {$actual = $firma; $id_usuario = $firma_recuperacion[1]; }else{$id_usuario = $_SESSION[id]; }
$verifica = remplacetas("$tablas_autenticacion","id",$_SESSION[id],"passwd") ;
$size= strlen($nuevo);
if($nuevo != $confirmacion OR $actual =="" ){
$respuesta->addAlert("Los valores no coinciden ( $formulario[firma_recuperacion] ) $nuevo != $confirmacion $formulario[firma_recuperacion] $firma $actual \OR $actual");
return $respuesta;
}elseif($size < 8) {
$respuesta->addAlert("Use un password mas seguro: Mínimo 8 caracteres.");
return $respuesta;
}
elseif( $firma_recuperacion[0] != $formulario[firma_recuperacion]){
$respuesta->addAlert("El link ya no es valido");
return $respuesta;
}
elseif($formulario[firma_recuperacion] =='' AND $verifica[0] != MD5($actual) ){
$respuesta->addAlert("Error de password $formulario[firma_recuperacion]");
return $respuesta;
}else{}
$link=Conectarse();
mysqli_set_charset($link, "utf8");
$nueva_firma = sha1(mktime());
$consulta = "UPDATE $tabla_autenticacion SET passwd = '".MD5($nuevo)."' , firma_recuperacion = '$nueva_firma' WHERE id = $id_usuario;";
$sql_consulta=mysqli_query($link,$consulta);
if($sql_consulta) {
$resultado = "<div class='alert alert-success'>La clave se cambió con éxito.</div>";
}else{$resultado= "";}
$respuesta->addAlert("La clave se cambió con éxito.");
$respuesta->addRedirect("index.php");
return $respuesta;
}
$xajax->registerFunction("cambiar_password");
?>