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; } }
/** * 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; } }
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');