diff --git a/panel_user/includes/formChangeEmail.php b/panel_user/includes/formChangeEmail.php deleted file mode 100644 index 3a1540d..0000000 --- a/panel_user/includes/formChangeEmail.php +++ /dev/null @@ -1,104 +0,0 @@ - "./?option=manage_profile"); - parent::__construct('formChangeUserEmail', $options); - } - - protected function generaCamposFormulario($datos, $errores = array()){ - $email = $datos['email'] ?? ''; - - // Se generan los mensajes de error si existen. - $htmlErroresGlobales = self::generaListaErroresGlobales($errores); - $errorEmail = self::createMensajeError($errores, 'new_email', 'span', array('class' => 'error')); - $errorEmail2 = self::createMensajeError($errores, 'remail', 'span', array('class' => 'error')); - $errorPassword = self::createMensajeError($errores, 'pass', 'span', array('class' => 'error')); - - $html = "
-
".$htmlErroresGlobales."
- Nuevo email de usuario -
".$errorEmail."
- -
".$errorEmail2."
-
".$errorPassword."
-
-
- - -
-
"; - - return $html; - } - - protected function procesaFormulario($datos){ - $result = array(); - - $email = $this->test_input($datos['new_email']) ?? null; - if ( empty($email) || !mb_ereg_match(self::HTML5_EMAIL_REGEXP, $email) ) { - $result['new_email'] = "El nuevo email no es válido."; - } - - $email2 = $this->test_input($datos['remail']) ?? null; - if ( empty($email2) || strcmp($email, $email2) !== 0 ) { - $result['remail'] = "Los emails deben coincidir"; - } - - $password = $this->test_input($datos['pass']) ?? null; - if ( empty($password) || mb_strlen($password) < 4 ) { - $result['pass'] = "El password tiene que tener\n una longitud de al menos\n 4 caracteres."; - } - - if (count($result) === 0) { - $bd = new UserDAO("complucine"); - $user = $bd->selectUser(unserialize($_SESSION['user'])->getName(), $password); - if (!$user) { - $result[] = "El usuario no existe."; - $_SESSION['message'] = "
-
-
-
-

Ha ocurrido un probrema


-

No hemos podido actualizar su email de usuario. - Comprueba que la contraseña introducida sea correcta.

- -
-
-
-
- "; - } else { - $user = $bd->selectUserEmail($email); - if ($user->data_seek(0)){ - $result[] = "El email ya está registrado."; - } else { - $bd->changeUserEmail(unserialize($_SESSION['user'])->getId(), $email); - $user = $bd->selectUser(unserialize($_SESSION['user'])->getName(), $password); - $_SESSION['user'] = serialize($user); - $_SESSION["nombre"] = $user->getName(); - $_SESSION['message'] = "
-
-
-
-

Operacion realizada con exito


-

Se ha modificado su email correctamente.

- -
-
-
-
- "; - $result = './?option=manage_profile'; - } - } - } - return $result; - } -} -?> \ No newline at end of file diff --git a/panel_user/includes/formChangeName.php b/panel_user/includes/formChangeName.php deleted file mode 100644 index 8b6c433..0000000 --- a/panel_user/includes/formChangeName.php +++ /dev/null @@ -1,110 +0,0 @@ - "./?option=manage_profile"); - parent::__construct('formChangeUserName', $options); - } - - protected function generaCamposFormulario($datos, $errores = array()){ - $nombre = $datos['nombreUsuario'] ?? ''; - - // Se generan los mensajes de error si existen. - $htmlErroresGlobales = self::generaListaErroresGlobales($errores); - $errorNombre = self::createMensajeError($errores, 'new_name', 'span', array('class' => 'error')); - $errorNombre2 = self::createMensajeError($errores, 'rename', 'span', array('class' => 'error')); - $errorPassword = self::createMensajeError($errores, 'pass', 'span', array('class' => 'error')); - - $html = "
-
".$htmlErroresGlobales."
- Nuevo Nombre de usuario -
".$errorNombre."
- -
".$errorNombre2."
-
".$errorPassword."
-
-
- - -
-
"; - - return $html; - } - - protected function procesaFormulario($datos){ - $result = array(); - - $nombre = $this->test_input($datos['new_name']) ?? null; - $nombre = strtolower($nombre); - if ( empty($nombre) || mb_strlen($nombre) < 3 || mb_strlen($nombre) > 15 ) { - $result['new_name'] = "El nombre tiene que tener\n una longitud de al menos\n 3 caracteres\n y menos de 15 caracteres."; - } - - $nombre2 = $this->test_input($datos['rename']) ?? null; - if ( empty($nombre2) || strcmp($nombre, $nombre2) !== 0 ) { - $result['rename'] = "Los nombres deben coincidir."; - } - - $password = $this->test_input($datos['pass']) ?? null; - if ( empty($password) || mb_strlen($password) < 4 ) { - $result['pass'] = "El password tiene que tener\n una longitud de al menos\n 4 caracteres."; - } - - if (count($result) === 0) { - $bd = new UserDAO("complucine"); - $user = $bd->selectUser(unserialize($_SESSION['user'])->getName(), $password); - if (!$user) { - $result[] = "Ha ocurrido un problema\nal actualizar el nombre de usuario."; - $_SESSION['message'] = "
-
-
-
-

Ha ocurrido un probrema


-

No hemos podido actualizar su nombre de usuario. - Comprueba que la contraseña introducida sea correcta.

- -
-
-
-
- "; - } else { - $user = $bd->selectUserName($nombre); - if ($user->data_seek(0)){ - $result[] = "El nombre de usuario ya existe."; - } else { - $bd->changeUserName(unserialize($_SESSION['user'])->getId(), $nombre); - $user = $bd->selectUser($nombre, $password); - - $actual_img = "../img/users/".unserialize($_SESSION['user'])->getName().".jpg"; - $new_img = "../img/users/".$nombre.".jpg"; - copy($actual_img, $new_img); - unlink($actual_img); - - $_SESSION['user'] = serialize($user); - $_SESSION["nombre"] = $user->getName(); - $_SESSION['message'] = "
-
-
-
-

Operacion realizada con exito


-

Se ha modificado su nombre de usuario correctamente.

- -
-
-
-
- "; - $result = './?option=manage_profile'; - } - } - } - return $result; - } -} -?> \ No newline at end of file diff --git a/panel_user/includes/formChangePass.php b/panel_user/includes/formChangePass.php deleted file mode 100644 index 5661c81..0000000 --- a/panel_user/includes/formChangePass.php +++ /dev/null @@ -1,95 +0,0 @@ - "./?option=manage_profile"); - parent::__construct('formChangeUserPass', $options); - } - - protected function generaCamposFormulario($datos, $errores = array()){ - - // Se generan los mensajes de error si existen. - $htmlErroresGlobales = self::generaListaErroresGlobales($errores); - $errorOldPass = self::createMensajeError($errores, 'old_pass', 'span', array('class' => 'error')); - $errorPassword = self::createMensajeError($errores, 'new_pass', 'span', array('class' => 'error')); - $errorPassword2 = self::createMensajeError($errores, 'repass', 'span', array('class' => 'error')); - - $html = "
-
".$htmlErroresGlobales."
- Nueva Contraseña -
".$errorOldPass."
-
".$errorPassword."
- -
".$errorPassword2."
- -
-
- - -
-
"; - - return $html; - } - - protected function procesaFormulario($datos){ - $result = array(); - - $old_pass = $this->test_input($datos['old_pass']) ?? null; - if ( empty($old_pass) || mb_strlen($old_pass) < 4 ) { - $result['old_pass'] = "El password tiene que tener\n una longitud de al menos\n 4 caracteres."; - } - - $password = $this->test_input($datos['new_pass']) ?? null; - if ( empty($password) || !mb_ereg_match(self::HTML5_PASS_REGEXP, $password) ) { - $result['new_pass'] = "El password tiene que tener\n una longitud de al menos\n 4 caracteres 1 mayúscula y 1 número."; - } - $password2 = $this->test_input($datos['repass']) ?? null; - if ( empty($password2) || strcmp($password, $password2) !== 0 ) { - $result['repass'] = "Los passwords deben coincidir."; - } - - if (count($result) === 0) { - $bd = new UserDAO("complucine"); - $user = $bd->selectUser(unserialize($_SESSION['user'])->getName(), $old_pass); - if (!$user) { - $result[] = "Ha ocurrido un problema\nal actualizar la contraseña."; - $_SESSION['message'] = "
-
-
-
-

Ha ocurrido un probrema


-

No hemos podido actualizar su contraseña de usuario. - Comprueba que la contraseña actual sea correcta.

- -
-
-
-
- "; - } else { - $bd->changeUserPass(unserialize($_SESSION['user'])->getId(), $password); - $_SESSION['message'] = "
-
-
-
-

Operacion realizada con exito


-

Se ha modificado su contraseña de usuario correctamente.

- -
-
-
-
- "; - $result = './?option=manage_profile'; - } - } - return $result; - } -} -?> \ No newline at end of file diff --git a/panel_user/includes/formDeleteAccount.php b/panel_user/includes/formDeleteAccount.php deleted file mode 100644 index 0bfb15f..0000000 --- a/panel_user/includes/formDeleteAccount.php +++ /dev/null @@ -1,99 +0,0 @@ - "./?option=delete_user"); - parent::__construct('formDeleteAccount', $options); - } - - protected function generaCamposFormulario($datos, $errores = array()){ - $nameValue = "value=".unserialize($_SESSION['user'])->getName().""; - $emailValue = "value=".unserialize($_SESSION['user'])->getEmail().""; - - // Se generan los mensajes de error si existen. - $htmlErroresGlobales = self::generaListaErroresGlobales($errores); - $errorNombre = self::createMensajeError($errores, 'new_name', 'span', array('class' => 'error')); - $errorEmail = self::createMensajeError($errores, 'email', 'span', array('class' => 'error')); - $errorPassword = self::createMensajeError($errores, 'pass', 'span', array('class' => 'error')); - $errorPassword2 = self::createMensajeError($errores, 'repass', 'span', array('class' => 'error')); - $errorVerify = self::createMensajeError($errores, 'verify', 'span', array('class' => 'error')); - - $html = "
-
".$htmlErroresGlobales."
".$errorVerify."
- Datos de la cuenta -
".$errorNombre."
-
".$errorEmail."
-
".$errorPassword."
-
".$errorPassword2."
- -
-
- - -
-
- - -
-
"; - - return $html; - } - - protected function procesaFormulario($datos){ - $result = array(); - - $nombre = $this->test_input($datos['name']) ?? null; - $nombre = strtolower($nombre); - if ( empty($nombre) || mb_strlen($nombre) < 3 || mb_strlen($nombre) > 15 ) { - $result['new_name'] = "El nombre tiene que tener\n una longitud de al menos\n 3 caracteres\n y menos de 15 caracteres."; - } - - $email = $this->test_input($datos['email']) ?? null; - if ( empty($email) || !mb_ereg_match(self::HTML5_EMAIL_REGEXP, $email) ) { - $result['email'] = "El email no es válido."; - } - - $password = $this->test_input($datos['pass']) ?? null; - if ( empty($password) || mb_strlen($password) < 4 ) { - $result['pass'] = "El password tiene que tener\n una longitud de al menos\n 4 caracteres."; - } - $password2 = $this->test_input($datos['repass']) ?? null; - if ( empty($password2) || strcmp($password, $password2) !== 0 ) { - $result['repass'] = "Los passwords deben coincidir."; - } - - $verify = $this->test_input($datos['verify']) ?? null; - if ( empty($verify) ) { - $result['verify'] = "Debe confirmar la casilla de verificación."; - } - - if (count($result) === 0) { - $bd = new UserDAO("complucine"); - $user = $bd->selectUser($nombre, $password); - if (!$user) { - $result[] = "El usuario o contraseña\nno son correctos."; - } else { - if( (unserialize($_SESSION['user'])->getId() === $user->getId()) && ($nombre === $user->getName()) - && ($email === $user->getEmail()) && ($bd->verifyPass($password, $user->getPass())) ){ - - $bd->deleteUserAccount($user->getId()); - unset($_SESSION); - session_destroy(); - $result = ROUTE_APP; - - } else { - $result[] = "Los datos introducidos\nno son válidos."; - } - } - } - return $result; - } -} -?> \ No newline at end of file diff --git a/panel_user/includes/formUploadPic.php b/panel_user/includes/formUploadPic.php deleted file mode 100644 index 928e948..0000000 --- a/panel_user/includes/formUploadPic.php +++ /dev/null @@ -1,125 +0,0 @@ - "multipart/form-data", "action" => "./?option=change_profile_pic"); - parent::__construct('formUploadFiles', $options); - } - - protected function generaCamposFormulario($datos, $errores = array()) { - - // Se generan los mensajes de error si existen. - $htmlErroresGlobales = self::generaListaErroresGlobales($errores); - $errorFile = self::createMensajeError($errores, 'archivo', 'span', array('class' => 'error')); - - foreach($datos as $key => $value){ - $dats = $key." ".$value." "; - } - - // Se genera el HTML asociado a los campos del formulario y los mensajes de error. - $html = ' -
-
'.$htmlErroresGlobales.'
-
-
'.$errorFile.'
- '; - - return $html; - } - - protected function procesaFormulario($datos) { - // Solo se pueden definir arrays como constantes en PHP >= 5.6 - global $ALLOWED_EXTENSIONS; - - $result = array(); - $ok = count($_FILES) == 1 && $_FILES['archivo']['error'] == UPLOAD_ERR_OK; - if ( $ok ) { - $nombre = $_FILES['archivo']['name']; - //1.a) Valida el nombre del archivo - $ok = $this->check_file_uploaded_name($nombre) && $this->check_file_uploaded_length($nombre) ; - - // 1.b) Sanitiza el nombre del archivo - //$ok = $this->sanitize_file_uploaded_name($nombre); - // - - // 2. comprueba si la extensión está permitida - $ok = $ok && in_array(pathinfo($nombre, PATHINFO_EXTENSION), self::EXTENSIONS); - - // 3. comprueba el tipo mime del archivo correspode a una imagen image - $finfo = new \finfo(FILEINFO_MIME_TYPE); - $mimeType = $finfo->file($_FILES['archivo']['tmp_name']); - $ok = preg_match('/image\/*./', $mimeType); - //finfo_close(); - - if ( $ok ) { - $tmp_name = $_FILES['archivo']['tmp_name']; - $new_name = strtolower(unserialize($_SESSION["user"])->getName()).".jpg"; - - if ( !move_uploaded_file($tmp_name, "../img/users/{$new_name}") ) { - $result['img'] = 'Error al mover el archivo'; - } - - $result = "./"; - } else { - $result["errorFile"] = 'El archivo tiene un nombre o tipo no soportado'; - } - } else { - $result[] = 'Error al subir el archivo.'; - } - return $result; - } - - - /** - * Check $_FILES[][name] - * - * @param (string) $filename - Uploaded file name. - * @author Yousef Ismaeil Cliprz - * @See http://php.net/manual/es/function.move-uploaded-file.php#111412 - */ - protected function check_file_uploaded_name($filename) { - return (bool) ((mb_ereg_match('/^[0-9A-Z-_\.]+$/i', $filename) === 1) ? true : false ); - } - - /** - * Sanitize $_FILES[][name]. Remove anything which isn't a word, whitespace, number - * or any of the following caracters -_~,;[](). - * - * If you don't need to handle multi-byte characters you can use preg_replace - * rather than mb_ereg_replace. - * - * @param (string) $filename - Uploaded file name. - * @author Sean Vieira - * @see http://stackoverflow.com/a/2021729 - */ - protected function sanitize_file_uploaded_name($filename) { - /* Remove anything which isn't a word, whitespace, number - * or any of the following caracters -_~,;[](). - * If you don't need to handle multi-byte characters - * you can use preg_replace rather than mb_ereg_replace - * Thanks @Łukasz Rysiak! - */ - $newName = mb_ereg_replace("([^\w\s\d\-_~,;\[\]\(\).])", '', $filename); - // Remove any runs of periods (thanks falstro!) - $newName = mb_ereg_replace("([\.]{2,})", '', $newName); - - return $newName; - } - - /** - * Check $_FILES[][name] length. - * - * @param (string) $filename - Uploaded file name. - * @author Yousef Ismaeil Cliprz. - * @See http://php.net/manual/es/function.move-uploaded-file.php#111412 - */ - protected function check_file_uploaded_length ($filename) { - return (bool) ((mb_strlen($filename,'UTF-8') < 250) ? true : false); - } -} -?> \ No newline at end of file diff --git a/panel_user/index.php b/panel_user/index.php deleted file mode 100644 index 9d61a2e..0000000 --- a/panel_user/index.php +++ /dev/null @@ -1,59 +0,0 @@ - -
-
-

Debes iniciar sesión para ver tu Panel de Usuario.


-

Inicia Sesión si estás registrado.

- -

Registrate si no lo habías hecho previamente.

-
-
-
-
'."\n"; - } - - - //Specific page content: - $section = ' -
-
- -
- '.$reply.' -
-
-
- '; - - //General page content: - require RAIZ_APP.'/HTMLtemplate.php'; - -?> - diff --git a/panel_user/panelUser.php b/panel_user/panelUser.php deleted file mode 100644 index 85e1363..0000000 --- a/panel_user/panelUser.php +++ /dev/null @@ -1,188 +0,0 @@ -getName()); - $email = unserialize($_SESSION['user'])->getEmail(); - $userPic = USER_PICS.strtolower($name).".jpg"; - - $forms = self::manage(); - - return $reply = '
-

Bienvenido '.$name.', a tu Panel de Usuario.

-
- user_profile_picture -

'.strftime("%A %e de %B de %Y | %H:%M").'

-
-

Usuario: '.$name.'

-

Email: '.$email.'

-
'."\n".$forms; - } - - //Manage the user account. - static function manage(){ - - require_once('./includes/formChangePass.php'); - require_once('./includes/formChangeEmail.php'); - require_once('./includes/formChangeName.php'); - - $formCN = new FormChangeName(); - $htmlFormChangeName = $formCN->gestiona(); - - $formCP = new FormChangePass(); - $htmlFormChangePass = $formCP->gestiona(); - - $formCE = new FormChangeEmail(); - $htmlFormChangeEmail = $formCE->gestiona(); - - return $reply = ' - -

Cambiar información de la cuenta


- -
-

Cambiar nombre de usuario

- '.$htmlFormChangeName.' -
- -
-

Cambiar contraseña

- '.$htmlFormChangePass.' -
- -
-

Cambiar email de usuario

- '.$htmlFormChangeEmail.' -
'."\n"; - } - - //User purchase history. - static function changeUserPic(){ - - require_once('./includes/formUploadPic.php'); - - $formCP = new FormUploadFiles(); - $htmlFormChangeUserPic = $formCP->gestiona(); - - $name = strtoupper(unserialize($_SESSION['user'])->getName()); - $userPic = USER_PICS.strtolower($name).".jpg"; - - return $reply = ' -
-
-
-

Cambiar imagen de perfil


- user_profile_picture - '.$htmlFormChangeUserPic.' -
-
-
'."\n"; - } - - //User purchase history. - static function purchases(){ - require_once('../assets/php/includes/purchase_dao.php'); - include_once('../assets/php/includes/cinema_dao.php'); - include_once('../assets/php/includes/hall_dao.php'); - include_once('../assets/php/includes/session_dao.php'); - include_once('../assets/php/includes/film_dao.php'); - - $purchasesHTML = ''; - - $purchaseDAO = new PurchaseDAO("complucine"); - $purchases = $purchaseDAO->allPurchasesData(unserialize($_SESSION['user'])->getId()); - - if($purchases){ - $sessions = array(); - $halls = array(); - $cinemas = array(); - $rows = array(); - $columns = array(); - $dates = array(); - foreach($purchases as $key=>$value){ - $sessions[$key] = $value->getSessionId(); - $halls[$key] = $value->getHallId(); - $cinemas[$key] = $value->getCinemaId(); - $rows[$key] = $value->getRow(); - $columns[$key] = $value->getColumn(); - $dates[$key] = $value->getTime(); - } - - for($i = 0; $i < count($purchases); $i++){ - $cinemaDAO = new Cinema_DAO("complucine"); - $cinema = $cinemaDAO->cinemaData($cinemas[$i]); - $hallDAO = new HallDAO("complucine"); - $hall = $hallDAO->HallData($halls[$i]); - $sessionDAO = new SessionDAO("complucine"); - $session = $sessionDAO->sessionData($sessions[$i]); - $filmDAO = new Film_DAO("complucine"); - $film = $filmDAO->FilmData($session->getIdfilm()); - - if($i%3 === 0 && $i !== 0){ - if($i !== 0) $purchasesHTML .= ' - '; - $purchasesHTML .= '
- '; - } else { - if($i !== 0) $purchasesHTML .= '
- '; - $purchasesHTML .= '
- '; - } - $purchasesHTML .= '

Compara realizada el: '.$dates[$i].'


-
-

Película: '.str_replace('_', ' ', strtoupper($film->getTittle())).'

-

Idioma: '.$film->getLanguage().'

-

Cine: '.$cinema->getName().'

-

Dirección: '.$cinema->getDirection().'

-
-
-

Sala: '.$hall->getNumber().'

-

Sesión: '.$sessions[$i].'

-

Asiento(Fila): '.$rows[$i].'

-

Asiento(Columna): '.$columns[$i].'

-
- '; - } - } - - return $reply = '
-

Historial de compras


- '.$purchasesHTML.' -
'; - } - - //User payment details - static function payment(){ - return $reply = '
-

Aquí los datos de pago


-
'."\n"; - } - - //Delete user account. - static function delete(){ - require_once('./includes/formDeleteAccount.php'); - - $formDA = new FormDeleteAccount(); - $htmlFormDeleteAccount = $formDA->gestiona(); - - return $reply = '
-

ELIMINAR CUENTA DE USUARIO


-
- -
- '.$htmlFormDeleteAccount.' -
-
-
'."\n"; - } - } -?> \ No newline at end of file