Delete assets/php directory
This commit is contained in:
parent
b93960edcf
commit
93bbd2a900
@ -1,36 +0,0 @@
|
|||||||
<?php
|
|
||||||
// TO-DO: Completar
|
|
||||||
class DAO {
|
|
||||||
//Constants:
|
|
||||||
private const _SERVERNAME = "localhost";
|
|
||||||
private const _USERNAME = "sw";
|
|
||||||
private const _PASSWORD = "_admin_";
|
|
||||||
//private const _BD = "complucine";
|
|
||||||
|
|
||||||
//Atributes:
|
|
||||||
public $mysqli;
|
|
||||||
|
|
||||||
//Constructor:
|
|
||||||
public function __construct($bd_name){
|
|
||||||
try{
|
|
||||||
if (!$this->mysqli) {
|
|
||||||
$this->mysqli = new mysqli(self::_SERVERNAME, self::_USERNAME,
|
|
||||||
self::_PASSWORD, $bd_name);
|
|
||||||
}
|
|
||||||
// echo "Conexión a la BD, satisfactoria.";
|
|
||||||
} catch (Exception $e){
|
|
||||||
echo "Error de conexión a la BD: ". mysqli_connect_error();
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* ... */
|
|
||||||
}
|
|
||||||
|
|
||||||
//Destructor:
|
|
||||||
public function __destruct(){
|
|
||||||
$this->mysqli->close();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Methods:
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,238 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
class Form {
|
|
||||||
/**
|
|
||||||
* Sufijo para el nombre del parámetro de la sesión del usuario donde se almacena el token CSRF.
|
|
||||||
*/
|
|
||||||
const CSRF_PARAM = 'csrf';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Cadena utilizada como valor del atributo "id" de la etiqueta <form> asociada al formulario y como parámetro a comprobar para verificar que el usuario ha enviado el formulario.
|
|
||||||
*/
|
|
||||||
private $formId;
|
|
||||||
|
|
||||||
private $ajax;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* URL asociada al atributo "action" de la etiqueta <form> del fomrulario y que procesará el envío del formulario.
|
|
||||||
*/
|
|
||||||
private $action;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valor del atributo "class" de la etiqueta <form> asociada al formulario. Si este parámetro incluye la cadena "nocsrf" no se generá el token CSRF para este formulario.
|
|
||||||
*/
|
|
||||||
private $classAtt;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Valor del parámetro enctype del formulario.
|
|
||||||
*/
|
|
||||||
private $enctype;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Se encarga de orquestar todo el proceso de creación y procesamiento de un formulario web.
|
|
||||||
*
|
|
||||||
* @param string $formId Cadena utilizada como valor del atributo "id" de la etiqueta <form> asociada al formulario y como parámetro a comprobar para verificar que el usuario ha enviado el formulario.
|
|
||||||
*
|
|
||||||
* @param string $action (opcional) URL asociada al atributo "action" de la etiqueta <form> del fomrulario y que procesará el envío del formulario. Por defecto la URL es $_SERVER['PHP_SELF']
|
|
||||||
*
|
|
||||||
* @param string $class (opcional) Valor del atributo "class" de la etiqueta <form> asociada al formulario. Si este parámetro incluye la cadena "nocsrf" no se generá el token CSRF para este formulario.
|
|
||||||
*
|
|
||||||
* @param string enctype (opcional) Valor del parámetro enctype del formulario.
|
|
||||||
*/
|
|
||||||
public function __construct($formId, $opciones = array() ) {
|
|
||||||
$this->formId = $formId;
|
|
||||||
|
|
||||||
$opcionesPorDefecto = array( 'ajax' => false, 'action' => null, 'class' => null, 'enctype' => null );
|
|
||||||
$opciones = array_merge($opcionesPorDefecto, $opciones);
|
|
||||||
|
|
||||||
$this->ajax = $opciones['ajax'];
|
|
||||||
$this->action = $opciones['action'];
|
|
||||||
$this->classAtt = $opciones['class'];
|
|
||||||
$this->enctype = $opciones['enctype'];
|
|
||||||
|
|
||||||
if ( !$this->action ) {
|
|
||||||
$this->action = $_SERVER['PHP_SELF'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public function gestiona() {
|
|
||||||
|
|
||||||
if ( ! $this->formularioEnviado($_POST) ) {
|
|
||||||
echo $this->generaFormulario();
|
|
||||||
} else {
|
|
||||||
// Valida el token CSRF si es necesario (hay un token en la sesión asociada al formulario)
|
|
||||||
$tokenRecibido = isset($_POST['CSRFToken']) ? $_POST['CSRFToken'] : FALSE;
|
|
||||||
|
|
||||||
if ( ($errores = $this->csrfguard_ValidateToken($this->formId, $tokenRecibido)) !== TRUE ) {
|
|
||||||
if ( ! $this->ajax ) {
|
|
||||||
echo $this->generaFormulario($errores, $_POST);
|
|
||||||
} else {
|
|
||||||
echo $this->generaHtmlErrores($errores);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$result = $this->procesaFormulario($_POST);
|
|
||||||
if ( is_array($result) ) {
|
|
||||||
// Error al procesar el formulario, volvemos a mostrarlo
|
|
||||||
if ( ! $this->ajax ) {
|
|
||||||
echo $this->generaFormulario($result, $_POST);
|
|
||||||
} else {
|
|
||||||
echo $this->generaHtmlErrores($result);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if ( ! $this->ajax ) {
|
|
||||||
header('Location: '.$result);
|
|
||||||
} else {
|
|
||||||
echo $result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Devuelve un <code>string</code> con el HTML necesario para presentar los campos del formulario. Es necesario asegurarse que como parte del envío se envía un parámetro con nombre <code$formId</code> (i.e. utilizado como valor del atributo name del botón de envío del formulario).
|
|
||||||
*/
|
|
||||||
protected function generaCamposFormulario ($datos) {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Procesa los datos del formulario.
|
|
||||||
*/
|
|
||||||
protected function procesaFormulario($datos) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Función que verifica si el usuario ha enviado el formulario. Comprueba si existe el parámetro <code>$formId</code> en <code>$params</code>.
|
|
||||||
*
|
|
||||||
* @param array $params Array que contiene los datos recibidos en el envío formulario.
|
|
||||||
*
|
|
||||||
* @return boolean Devuelve <code>TRUE</code> si <code>$formId</code> existe como clave en <code>$params</code>
|
|
||||||
*/
|
|
||||||
private function formularioEnviado(&$params) {
|
|
||||||
return isset($params['action']) && $params['action'] == $this->formId;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Función que genera el HTML necesario para el formulario.
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @param array $errores (opcional) Array con los mensajes de error de validación y/o procesamiento del formulario.
|
|
||||||
*
|
|
||||||
* @param array $datos (opcional) Array con los valores por defecto de los campos del formulario.
|
|
||||||
*/
|
|
||||||
private function generaFormulario($errores = array(), &$datos = array()) {
|
|
||||||
|
|
||||||
$html= $this->generaListaErrores($errores);
|
|
||||||
|
|
||||||
$html .= '<form method="POST" action="'.$this->action.'" id="'.$this->formId.'"';
|
|
||||||
if ( $this->classAtt ) {
|
|
||||||
$html .= ' class="'.$this->classAtt.'"';
|
|
||||||
}
|
|
||||||
if ( $this->enctype ) {
|
|
||||||
$html .= ' enctype="'.$this->enctype.'"';
|
|
||||||
}
|
|
||||||
$html .=' >';
|
|
||||||
|
|
||||||
// Se genera el token CSRF si el usuario no solicita explícitamente lo contrario.
|
|
||||||
if ( ! $this->classAtt || strpos($this->classAtt, 'nocsrf') === false ) {
|
|
||||||
$tokenValue = $this->csrfguard_GenerateToken($this->formId);
|
|
||||||
$html .= '<input type="hidden" name="CSRFToken" value="'.$tokenValue.'" />';
|
|
||||||
}
|
|
||||||
|
|
||||||
$html .= '<input type="hidden" name="action" value="'.$this->formId.'" />';
|
|
||||||
|
|
||||||
$html .= $this->generaCamposFormulario($datos);
|
|
||||||
$html .= '</form>';
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function generaListaErrores($errores) {
|
|
||||||
$html='';
|
|
||||||
$numErrores = count($errores);
|
|
||||||
if ( $numErrores == 1 ) {
|
|
||||||
$html .= "<ul><li>".$errores[0]."</li></ul>";
|
|
||||||
} else if ( $numErrores > 1 ) {
|
|
||||||
$html .= "<ul><li>";
|
|
||||||
$html .= implode("</li><li>", $errores);
|
|
||||||
$html .= "</li></ul>";
|
|
||||||
}
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function csrfguard_GenerateToken($formId) {
|
|
||||||
if ( ! isset($_SESSION) ) {
|
|
||||||
throw new Exception('La sesión del usuario no está definida.');
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( function_exists('hash_algos') && in_array('sha512', hash_algos()) ) {
|
|
||||||
$token = hash('sha512', mt_rand(0, mt_getrandmax()));
|
|
||||||
} else {
|
|
||||||
$token=' ';
|
|
||||||
for ($i=0;$i<128;++$i) {
|
|
||||||
$r=mt_rand(0,35);
|
|
||||||
if ($r<26){
|
|
||||||
$c=chr(ord('a')+$r);
|
|
||||||
} else{
|
|
||||||
$c=chr(ord('0')+$r-26);
|
|
||||||
}
|
|
||||||
$token.=$c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$_SESSION[$formId.'_'.self::CSRF_PARAM]=$token;
|
|
||||||
|
|
||||||
return $token;
|
|
||||||
}
|
|
||||||
|
|
||||||
private function csrfguard_ValidateToken($formId, $tokenRecibido) {
|
|
||||||
if ( ! isset($_SESSION) ) {
|
|
||||||
throw new Exception('La sesión del usuario no está definida.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$result = TRUE;
|
|
||||||
|
|
||||||
if ( isset($_SESSION[$formId.'_'.self::CSRF_PARAM]) ) {
|
|
||||||
if ( $_SESSION[$formId.'_'.self::CSRF_PARAM] !== $tokenRecibido ) {
|
|
||||||
$result = array();
|
|
||||||
$result[] = 'Has enviado el formulario dos veces';
|
|
||||||
}
|
|
||||||
$_SESSION[$formId.'_'.self::CSRF_PARAM] = ' ';
|
|
||||||
unset($_SESSION[$formId.'_'.self::CSRF_PARAM]);
|
|
||||||
} else {
|
|
||||||
$result = array();
|
|
||||||
$result[] = 'Formulario no válido';
|
|
||||||
}
|
|
||||||
return $result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
class Formulario {
|
|
||||||
|
|
||||||
private $formId;
|
|
||||||
private $action;
|
|
||||||
private $classAtt;
|
|
||||||
private $enctype;
|
|
||||||
|
|
||||||
public function __construct($formId, $opciones = array() ) {
|
|
||||||
$this->formId = $formId;
|
|
||||||
$opcionesPorDefecto = array( 'ajax' => false, 'action' => null, 'class' => null,
|
|
||||||
'enctype' => null );
|
|
||||||
$opciones = array_merge($opcionesPorDefecto, $opciones);
|
|
||||||
|
|
||||||
$this->ajax = $opciones['ajax'];
|
|
||||||
$this->action = $opciones['action'];
|
|
||||||
$this->classAtt = $opciones['class'];
|
|
||||||
$this->enctype = $opciones['enctype'];
|
|
||||||
|
|
||||||
if (!$this->action) {
|
|
||||||
$app = Aplicacion::getSingleton();
|
|
||||||
$this->action = htmlspecialchars($_SERVER['REQUEST_URI']);
|
|
||||||
$this->action = $app->resuelve($this->action);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
?>
|
|
@ -1,176 +0,0 @@
|
|||||||
<?php
|
|
||||||
class Template {
|
|
||||||
|
|
||||||
//Attributes:
|
|
||||||
public $page; //Page Name.
|
|
||||||
public $prefix; //Page prefix.
|
|
||||||
|
|
||||||
public $session; //"Iniciar Sesión" (if user isn´t logged in), "Cerrar Sesión" (otherwise).
|
|
||||||
public $session_route; //"login/" (if user isn´t logged in), "logout/" (otherwise).
|
|
||||||
public $panel; //Button to access the user's dashboard (only displayed if logged in).
|
|
||||||
public $user_route; //Route of the panel (depends on the type of user).
|
|
||||||
|
|
||||||
//Constructor:
|
|
||||||
function __construct(){
|
|
||||||
$this->page = $_SERVER['PHP_SELF']; //Page that instantiates the template.
|
|
||||||
$this->prefix = '../'; //Default prefix.
|
|
||||||
|
|
||||||
$this->set_page_prefix(); //Assigns the name and prefix of the page.
|
|
||||||
|
|
||||||
$this->session = 'Iniciar Sesión'; //Default, the session has not started.
|
|
||||||
$this->session_route = 'login/'; //Default, the session has not started.
|
|
||||||
$this->panel = ''; //Default, the session has not started.
|
|
||||||
$this->user_route = 'panel_user/'; //Default, the type of client is user.
|
|
||||||
}
|
|
||||||
|
|
||||||
//Methods:
|
|
||||||
|
|
||||||
//Assigns the name and prefix of the page:
|
|
||||||
private function set_page_prefix() {
|
|
||||||
switch(true){
|
|
||||||
case strpos($this->page, 'panel_user'): $this->page = 'Panel de Usuario'; break;
|
|
||||||
case strpos($this->page, 'panel_manager'): $this->page = 'Panel de Gerente'; break;
|
|
||||||
case strpos($this->page, 'panel_admin'): $this->page = 'Panel de Administrador'; break;
|
|
||||||
case strpos($this->page, 'login'): $this->page = 'Acceso'; break;
|
|
||||||
case strpos($this->page, 'logout'): $this->page = 'Cerrar Sesión'; break;
|
|
||||||
case strpos($this->page, 'showtimes'): $this->page = 'Cartelera'; break;
|
|
||||||
case strpos($this->page, 'cinemas'): $this->page = 'Nuestros Cines'; break;
|
|
||||||
case strpos($this->page, 'about_us'): $this->page = 'Sobre FDI-Cines'; $this->prefix = '../../'; break;
|
|
||||||
case strpos($this->page, 'terms'): $this->page = 'Términos y Condiciones'; $this->prefix = '../../'; break;
|
|
||||||
case strpos($this->page, 'detalles'): $this->page = 'Detalles'; $this->prefix = '../../'; break;
|
|
||||||
case strpos($this->page, 'bocetos'): $this->page = 'Bocetos'; $this->prefix = '../../'; break;
|
|
||||||
case strpos($this->page, 'miembros'): $this->page = 'Miembros'; $this->prefix = '../../'; break;
|
|
||||||
case strpos($this->page, 'planificacion'): $this->page = 'Planificación'; $this->prefix = '../../'; break;
|
|
||||||
case strpos($this->page, 'contacto'): $this->page = 'Contacto'; break;
|
|
||||||
default: $this->page = 'FDI-Cines'; $this->prefix = './'; break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Returns page name:
|
|
||||||
function get_page(){
|
|
||||||
return $this->page;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Returns page prefix:
|
|
||||||
function get_prefix(){
|
|
||||||
return $this->prefix;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Print generic Head:
|
|
||||||
function print_head(){
|
|
||||||
$page = $this->page;
|
|
||||||
$prefix = $this->prefix;
|
|
||||||
|
|
||||||
echo"<head>
|
|
||||||
<title>CompluCine | {$page}</title>
|
|
||||||
<meta charset='utf-8' />
|
|
||||||
<link id='estilo' rel='stylesheet' type='text/css' href='{$prefix}assets/css/main.css'>
|
|
||||||
<meta name='viewport' content='width=device-width, initial-scale=1'>
|
|
||||||
<link rel='icon' href='{$prefix}img/favicon.png' />
|
|
||||||
</head>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Print generic Header:
|
|
||||||
function print_header(){
|
|
||||||
$page = $this->page;
|
|
||||||
$prefix = $this->prefix;
|
|
||||||
$session = $this->session;
|
|
||||||
$session_route =$this->session_route;
|
|
||||||
$user_route = $this->user_route;
|
|
||||||
$panel =$this->panel;
|
|
||||||
|
|
||||||
if(isset($_SESSION["nombre"])){
|
|
||||||
if($_SESSION["rol"] == "admin") $user_route = 'panel_admin/';
|
|
||||||
else if($_SESSION["rol"] == "manager") $user_route = 'panel_manager/';
|
|
||||||
$panel = "<a href='{$prefix}{$user_route}'><li>Mi Panel</li></a>";
|
|
||||||
$session = 'Cerrar Sesión';
|
|
||||||
$session_route = 'logout/';
|
|
||||||
}
|
|
||||||
|
|
||||||
echo"<div class='header'>
|
|
||||||
<a href='{$prefix}'><img src='{$prefix}img/favicon2.png' alt='favicon' /> CompluCine</a> | {$page}
|
|
||||||
<div class='menu'>
|
|
||||||
<nav>
|
|
||||||
<a href='{$prefix}{$session_route}'><li>{$session}</li></a>
|
|
||||||
{$panel}
|
|
||||||
<li>Menú
|
|
||||||
<ul>
|
|
||||||
<a href='{$prefix}'><li>Inicio</li></a>
|
|
||||||
<a href='{$prefix}showtimes/'><li>Cartelera</li></a>
|
|
||||||
<a href='{$prefix}cinemas/'><li>Nuestros Cines</li></a>
|
|
||||||
<a href='{$prefix}fdicines/miembros/'><li>Quiénes somos</li></a>
|
|
||||||
<a href='{$prefix}contacto/'><li>Contacto</li></a>
|
|
||||||
<ul>
|
|
||||||
</li>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</div>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Print generic subHeader:
|
|
||||||
function print_subheader(){
|
|
||||||
//$page = $this->page;
|
|
||||||
$prefix = $this->prefix;
|
|
||||||
|
|
||||||
echo"<div class='header sub'>
|
|
||||||
<div class='menu'>
|
|
||||||
<nav>
|
|
||||||
<a href='{$prefix}fdicines/about_us/'><li>Sobre FDI-Cines</li></a>
|
|
||||||
<a href='{$prefix}fdicines/detalles/'><li>Detalles</li></a>
|
|
||||||
<a href='{$prefix}fdicines/bocetos/'><li>Bocetos</li></a>
|
|
||||||
<a href='{$prefix}fdicines/miembros/'><li>Miembros</li></a>
|
|
||||||
<a href='{$prefix}fdicines/planificacion/'><li>Planificación</li></a>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</div>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Print generic Main:
|
|
||||||
function print_main(){
|
|
||||||
$page = $this->page;
|
|
||||||
$prefix = $this->prefix;
|
|
||||||
|
|
||||||
/* SubHeader on Main */
|
|
||||||
$sub_header = '';
|
|
||||||
if(strpos($_SERVER['PHP_SELF'], 'fdicines')){
|
|
||||||
$sub_header = "<!-- Sub Header -->
|
|
||||||
<div class='header sub'>
|
|
||||||
<div class='menu'>
|
|
||||||
<nav>
|
|
||||||
<a href='{$prefix}fdicines/about_us/'><li>Sobre FDI-Cines</li></a>
|
|
||||||
<a href='{$prefix}fdicines/detalles/'><li>Detalles</li></a>
|
|
||||||
<a href='{$prefix}fdicines/bocetos/'><li>Bocetos</li></a>
|
|
||||||
<a href='{$prefix}fdicines/miembros/'><li>Miembros</li></a>
|
|
||||||
<a href='{$prefix}fdicines/planificacion/'><li>Planificación</li></a>
|
|
||||||
</nav>
|
|
||||||
</div>
|
|
||||||
</div>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* MAIN */
|
|
||||||
echo"<div class='main'>
|
|
||||||
<div class='image'><a href='{$prefix}'><img src='{$prefix}img/logo_trasparente.png' alt='logo_FDI-Cines' /></a></div>
|
|
||||||
{$sub_header}
|
|
||||||
<h1>{$page}</h1>
|
|
||||||
<hr />
|
|
||||||
</div>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
//Print generic Footer:
|
|
||||||
function print_footer(){
|
|
||||||
//$page = $this->page;
|
|
||||||
$prefix = $this->prefix;
|
|
||||||
|
|
||||||
echo"<footer>
|
|
||||||
<div class='footer'>
|
|
||||||
<p>© Práctica 2 | Sistemas Web 2021 </p>
|
|
||||||
</div>
|
|
||||||
<a href='{$prefix}fdicines/about_us/'>Sobre FDI-Cines</a> |
|
|
||||||
<a href='{$prefix}fdicines/terms_conditions/'>Términos y condiciones</a> |
|
|
||||||
<a href='{$prefix}cinemas/'>Nuestros cines</a> |
|
|
||||||
<a href='{$prefix}contacto/'>Contacto</a>
|
|
||||||
</footer>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,83 +0,0 @@
|
|||||||
<?php
|
|
||||||
require_once('dao.php');
|
|
||||||
include_once('user_dto.php');
|
|
||||||
|
|
||||||
class UserDAO extends DAO {
|
|
||||||
|
|
||||||
//Constants:
|
|
||||||
private const _USER = "user";
|
|
||||||
private const _MANAGER = "manager";
|
|
||||||
private const _ADMIN = "admin";
|
|
||||||
|
|
||||||
//Attributes:
|
|
||||||
|
|
||||||
//Constructor:
|
|
||||||
function __construct($bd_name){
|
|
||||||
parent::__construct($bd_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Methods:
|
|
||||||
|
|
||||||
//Encrypt password with SHA254.
|
|
||||||
private function encryptPass($password){
|
|
||||||
//$password = hash('sha256', $password);
|
|
||||||
$password = password_hash($password, PASSWORD_DEFAULT);
|
|
||||||
|
|
||||||
return $password;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Returns true if the password and hash match, or false otherwise.
|
|
||||||
public function verifyPass($password, $passwd){
|
|
||||||
return password_verify($password, $passwd);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Create a new User.
|
|
||||||
public function createUser($id, $username, $email, $password, $rol){
|
|
||||||
$password = $this->encryptPass($password);
|
|
||||||
|
|
||||||
$sql = sprintf( "INSERT INTO users( id, username, email, passwd, rol)
|
|
||||||
VALUES ( '%s', '%s', '%s', '%s', '%s')",
|
|
||||||
$id, $username, $email, $password, $rol );
|
|
||||||
|
|
||||||
return $sql;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Returns a query to check if the user name exists.
|
|
||||||
public function selectUser($username){
|
|
||||||
$username = $this->mysqli->real_escape_string($username);
|
|
||||||
|
|
||||||
$sql = sprintf( "SELECT * FROM users WHERE username = '%s'", $username );
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
|
||||||
|
|
||||||
return $resul;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Returns a query to check if the user pass matches.
|
|
||||||
public function selectPass($username, $password){
|
|
||||||
$username = $this->mysqli->real_escape_string($username);
|
|
||||||
$password = $this->mysqli->real_escape_string($password);
|
|
||||||
$password = $this->encryptPass($password);
|
|
||||||
|
|
||||||
$sql = sprintf( "SELECT * FROM users WHERE username = '%s' AND passwd = '%s'", $username, $password);
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
|
||||||
|
|
||||||
//return $this->mysqli->query($sql);
|
|
||||||
return $resul;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Returns a query to get the user's data.
|
|
||||||
public function userData($id){
|
|
||||||
$sql = sprintf( "SELECT * FROM users WHERE id = '%d'", $id );
|
|
||||||
$resul = mysqli_query($this->mysqli, $sql) or die ('Error into query database');
|
|
||||||
|
|
||||||
return $resul;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Create a new User Data Transfer Object.
|
|
||||||
public function loadUser($id, $username, $email, $password, $rol){
|
|
||||||
return new UserDTO($id, $username, $email, $password, $rol);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
@ -1,37 +0,0 @@
|
|||||||
<?php
|
|
||||||
include_once('users_dto_interface.php');
|
|
||||||
|
|
||||||
class UserDTO implements UsersDTO {
|
|
||||||
|
|
||||||
//Attributes:
|
|
||||||
private $_id; //User Id.
|
|
||||||
private $_username; //User name.
|
|
||||||
private $_email; //User email.
|
|
||||||
private $_password; //User password.
|
|
||||||
private $_rol; //Type of user: user | manager | admin.
|
|
||||||
|
|
||||||
//Constructor:
|
|
||||||
function __construct($id, $username, $email, $password, $rol){
|
|
||||||
$this->_id = $id;
|
|
||||||
$this->_username = $username;
|
|
||||||
$this->_email = $email;
|
|
||||||
$this->_password = $password;
|
|
||||||
$this->_rol = $rol;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Methods:
|
|
||||||
|
|
||||||
//Getters && Setters:
|
|
||||||
public function setId($id){ $this->_id = $id; }
|
|
||||||
public function getId(){ return $this->_id; }
|
|
||||||
public function setName($username){ $this->_username = $username; }
|
|
||||||
public function getName(){ return $this->_username; }
|
|
||||||
public function setEmail($email){ $this->_email = $email; }
|
|
||||||
public function getEmail(){ return $this->_email; }
|
|
||||||
public function setPass($passwd){ $this->_password = $passwd; }
|
|
||||||
public function getPass(){ return $this->_password; }
|
|
||||||
public function setRol($rol){ $this->_rol = $rol; }
|
|
||||||
public function getRol(){ return $this->_rol; }
|
|
||||||
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,14 +0,0 @@
|
|||||||
<?php
|
|
||||||
interface UsersDTO {
|
|
||||||
public function setId($id);
|
|
||||||
public function getId();
|
|
||||||
public function setName($username);
|
|
||||||
public function getName();
|
|
||||||
public function setEmail($email);
|
|
||||||
public function getEmail();
|
|
||||||
public function setPass($passwd);
|
|
||||||
public function getPass();
|
|
||||||
public function setRol($rol);
|
|
||||||
public function getRol();
|
|
||||||
}
|
|
||||||
?>
|
|
Loading…
Reference in New Issue
Block a user