public static function verifyUser($usuario, $password)
    {
        try {
            $sql = 'SELECT ' . credencialTableClass::getNameField(credencialTableClass::NOMBRE) . ' as credencial,
	' . usuarioTableClass::getNameField(usuarioTableClass::USER) . ' as usuario,
	' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' as id_usuario
    FROM ' . usuarioTableClass::getNameTable() . ' LEFT JOIN ' . usuarioCredencialTableClass::getNameTable() . ' ON ' . usuarioTableClass::getNameField(usuarioTableClass::ID) . ' = ' . usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::USUARIO_ID) . '
    LEFT JOIN ' . credencialTableClass::getNameTable() . ' ON ' . credencialTableClass::getNameField(credencialTableClass::ID) . ' = ' . usuarioCredencialTableClass::getNameField(usuarioCredencialTableClass::CREDENCIAL_ID) . '
    WHERE ' . usuarioTableClass::getNameField(usuarioTableClass::ACTIVED) . ' = :actived
    AND ' . usuarioTableClass::getNameField(usuarioTableClass::DELETED_AT) . ' IS NULL
    AND ' . credencialTableClass::getNameField(credencialTableClass::DELETED_AT) . ' IS NULL
    AND ' . usuarioTableClass::getNameField(usuarioTableClass::USER) . ' = :user
    AND ' . usuarioTableClass::getNameField(usuarioTableClass::PASSWORD) . ' = :pass';
            $params = array(':user' => $usuario, ':pass' => md5($password), ':actived' => config::getDbDriver() === 'mysql' ? 1 : 't');
            $answer = model::getInstance()->prepare($sql);
            $answer->execute($params);
            $answer = $answer->fetchAll(PDO::FETCH_OBJ);
            return count($answer) > 0 ? $answer : false;
        } catch (PDOException $exc) {
            throw $exc;
        }
    }
Exemplo n.º 2
0
 /**
  * Método para insertar en una tabla determinada de la base de datos en uso
  *
  * @param string $table Nombre de la tabla
  * @param array $data Array asociativo donde las claves son los nombres de
  * los campos y su valor sería el valor a insertar. Ejemplo:
  * $data['nombre'] = 'Erika'; $data['apellido'] = 'Galindo';
  * @return \PDOException|boolean
  */
 public static function insert($table, $data)
 {
     try {
         $sql = "INSERT INTO {$table} ";
         $line1 = '(';
         $line2 = 'VALUES (';
         foreach ($data as $field => $value) {
             if ($field !== '__sequence') {
                 $line1 = config::getDbDriver() === 'mysql' ? $line1 . $field . ', ' : $line1 . '"' . $field . '", ';
                 $line2 = $line2 . (is_numeric($value) === true ? $value : "'" . $value . "'") . ', ';
             }
         }
         $newLeng = strlen($line1) - 2;
         $line1 = substr($line1, 0, $newLeng) . ') ';
         $newLeng = strlen($line2) - 2;
         $line2 = substr($line2, 0, $newLeng) . ')';
         $sql = $sql . $line1 . $line2;
         model::getInstance()->beginTransaction();
         model::getInstance()->exec($sql);
         model::getInstance()->commit();
         if (isset($data['__sequence'])) {
             $lastInsertId = model::getInstance()->lastInsertId($data['__sequence']);
         } else {
             $lastInsertId = model::getInstance()->lastInsertId();
         }
         return $lastInsertId;
     } catch (\PDOException $exc) {
         model::getInstance()->rollback();
         throw $exc;
     }
 }
Exemplo n.º 3
0
use mvc\session\sessionClass as session;
config::setRowGrid(3);
config::setDbHost('127.0.0.1');
config::setDbDriver('pgsql');
// pgsql
config::setDbName('proyecto_porcicola');
config::setDbPort(5432);
// 5432
config::setDbUser('postgres');
config::setDbPassword('diaz');
// Esto solo es necesario en caso de necesitar un socket para la DB
config::setDbUnixSocket(null);
if (config::getDbUnixSocket() !== null) {
    config::setDbDsn(config::getDbDriver() . ':unix_socket=' . config::getDbUnixSocket() . ';dbname=' . config::getDbName());
} else {
    config::setDbDsn(config::getDbDriver() . ':host=' . config::getDbHost() . ';port=' . config::getDbPort() . ';dbname=' . config::getDbName());
}
config::setPathAbsolute('/var/www/html/proyecto_porcicola/');
config::setUrlBase('http://localhost/proyecto_porcicola/web/');
config::setScope('prod');
// dev
config::setDefaultCulture('es');
if (session::getInstance()->hasDefaultCulture() === false) {
    config::setDefaultCulture('es');
} else {
    config::setDefaultCulture(session::getInstance()->getDefaultCulture());
}
config::setIndexFile('index.php');
config::setFormatTimestamp('Y-m-d H:i:s');
config::setHeaderJson('Content-Type: application/json; charset=utf-8');
config::setHeaderXml('Content-Type: application/xml; charset=utf-8');