Example #1
0
 /**
  * Método que realiza la lógica del login
  * @param  Array $datos Datos necesarios para poder realizar el login
  * @return Bollean   True = cuando se realiza el login sin problemas, False = cuando hay errores
  */
 public static function dologin($datos)
 {
     /**
      * Comprobamos que hay datos
      */
     if (!$datos) {
         // Sino hay datos damos un error
         Session::add('feedback_negative', 'No tengo los datos de Login');
         return false;
     } elseif (LoginModel::validar($datos)) {
         // hacemos la logica del login
         // primero saneamos el array con los datos
         $datos = validaciones::sanearEntrada($datos);
         $conn = Database::getInstance()->getDatabase();
         $ssql = "SELECT  id, nombre, email, pass FROM usuario WHERE email=:email";
         $query = $conn->prepare($ssql);
         $query->bindValue(':email', $datos['email'], PDO::PARAM_STR);
         $query->execute();
         $count = $query->rowCount();
         if (!Database::comprobarConsulta($count)) {
             Session::add('feedback_negative', 'No estás registrado');
             return false;
         }
         $usuario = $query->fetch();
         if ($usuario['pass'] != sha1($datos['clave'])) {
             Session::add('feedback_negative', 'La clave no coincide');
             return false;
         }
         // Iniciamos la sesión
         Session::set('user_id', $usuario['id']);
         Session::set('user_name', $usuario['nombre']);
         Session::set('user_email', $datos['email']);
         Session::set('user_logged_in', true);
         Session::add('feedback_positive', 'Sesión iniciada');
         // comprobamos que la sesión se esta formando adecuadamente
         if (Session::comprobarSession()) {
             return true;
         } else {
             Session::add('feedback_negative', 'Error iniciando sesión, intentelo más tarde.');
         }
     } else {
         // sin no se validan los campos correctamente devolvemos un false
         // y el reportamos los errores
         return false;
     }
 }
Example #2
0
 /**
  * Método que ejecuta la consulta pasada como parametro
  * @param  String  $ssql   Consulta con el bindeo de parametros
  * @param  Array  $parms  Array asociativo, listo para realizar el bindeo de parametros
  * @param  boolean $return true = devuelve un Booleano, falso = devuelve el resultado
  */
 public static function consulta($ssql, $parms, $return = 2)
 {
     // creamos la conexión
     $conn = Database::getInstance()->getDatabase();
     // preparamos la consulta
     $prepare = $conn->prepare($ssql);
     // ejecutamos la consulta
     $prepare->execute($parms);
     if ($return === 2) {
         $count = $prepare->rowCount();
         return Database::comprobarConsulta($count);
     } elseif ($return === 1) {
         return $prepare->fetchAll();
     } elseif ($return === 0) {
         return $prepare->fetch();
     } else {
         $_POST['last_id'] = $conn->lastInsertId();
         $count = $prepare->rowCount();
         return Database::comprobarConsulta($count);
     }
 }