[Agrega] y corrige comentarios

This commit is contained in:
Ricardo García Jiménez 2022-02-19 09:26:49 -06:00
parent 95d92f9aee
commit 159a0d9996
9 changed files with 31 additions and 15 deletions

View File

@ -43,7 +43,7 @@ nabu/
* `scripts` - Contiene scripts de `JavaScript`.
* `styles` - Contiene hojas de estilo `CSS`.
* `config` - Contiene archivos de configuración de la base de datos y del cliente de correo electrónico.
* `controllers` - Contienen la lógica de nogocio (lo que debe hacer el programa).
* `controllers` - Contiene la lógica de negocio (lo que debe hacer el programa).
* `core` - Contiene herramientas propias de `Nabu`, gestión de mensajes, configuración y sistema de rutas del sitio web.
* `db` - Contiene el script `SQL` y realiza la conexión con la base de datos.
* `libs` - Contiene bibliotecas propias de `Nabu` o de terceros.

View File

@ -73,6 +73,7 @@ class adminController {
$view = NABU_ROUTES['review-article'] . '&slug=' . $article['slug'];
// Renderiza la página de administración para editar un artículo.
if (empty($_POST['review-article-form'])) {
unset($adminModel, $validations, $data);
@ -88,6 +89,7 @@ class adminController {
csrf::validate($_POST['csrf']);
// Obtiene los datos del usuario administrador.
$admin = $adminModel -> get_admin($_SESSION['user']['id']);
if (empty($admin))
@ -164,6 +166,7 @@ class adminController {
'authorization_date' => utils::current_date()
));
// Actualiza la URL de edición del artículo si hay cambios en su título.
if (!empty($update['slug']))
$view = NABU_ROUTES['review-article'] . '&slug=' . $update['slug'];
}
@ -171,7 +174,8 @@ class adminController {
utils::redirect($view);
}
// Renderiza la página para eliminar un artículo.
// Renderiza la página de administración para eliminar un artículo
// y elimina los comentarios, favoritos y registro de publicación con el método POST.
static public function delete_article() {
$messages = messages::get();
@ -186,6 +190,7 @@ class adminController {
$view = NABU_ROUTES['delete-article'] . '&slug=' . $slug;
// Renderiza la página de administración para eliminar un artículo.
if (empty($_POST['confirm-password-form'])) {
unset($validations, $data, $slug);
@ -207,6 +212,7 @@ class adminController {
$adminModel = new adminModel();
// Obtiene los datos del usuario administrador.
$admin = $adminModel -> get_admin($_SESSION['user']['id']);
if (empty($admin))
@ -230,12 +236,13 @@ class adminController {
// Elimina los comentarios, favoritos, fecha de publicación y registro del artículo.
$adminModel -> delete_article($article['id']);
messages::add('El artículo se ha eliminado corractamente');
messages::add('El artículo se ha eliminado correctamente');
utils::redirect(NABU_ROUTES['approve-articles']);
}
// Renderiza la página para autorizar la publicación de un artículo.
// Renderiza la página de administración para autorizar la publicación de un artículo
// y autoriza un artículo con el método POST.
static public function authorize_article() {
$messages = messages::get();
@ -250,6 +257,7 @@ class adminController {
$view = NABU_ROUTES['authorize-article'] . '&slug=' . $slug;
// Renderiza la página de administración para autorizar la publicación de un artículo.
if (empty($_POST['confirm-password-form'])) {
unset($validations, $data, $slug);
@ -271,6 +279,7 @@ class adminController {
$adminModel = new adminModel();
// Obtiene los datos del usuario administrador.
$admin = $adminModel -> get_admin($_SESSION['user']['id']);
if (empty($admin))

View File

@ -81,6 +81,7 @@ class profilesController {
if (empty($profile))
utils::redirect(NABU_ROUTES['logout']);
// Renderiza la página de edición del perfil.
if (empty($_POST['edit-profile-form'])) {
unset($profilesModel);
@ -128,7 +129,7 @@ class profilesController {
if ($data['name'] != $profile['name']) {
$update['name'] = $data['name'];
messages::add('Tu nombre completo se ha actualizado correctamente');
messages::add('Tu nombre se ha actualizado correctamente');
}
// Valida si hay cambios en el apodo del usuario.
@ -190,7 +191,7 @@ class profilesController {
$update = array();
}
// Valida si hay cambios en la descripción de perfil.
// Valida si hay cambios en la descripción del perfil.
if (empty($data['description'])) {
if (isset($profile['description'])) {
$update['description'] = null;
@ -239,12 +240,14 @@ class profilesController {
utils::redirect($view);
}
// Renderiza la página para eliminar una cuenta de usuario.
// Renderiza la página para eliminar una cuenta de usuario
// y elimina la cuenta de un usuario con el método POST.
static public function delete_profile() {
utils::check_session(NABU_ROUTES['home']);
$view = NABU_ROUTES['delete-profile'];
// Renderiza la página para eliminar una cuenta de usuario.
if (empty($_POST['confirm-password-form'])) {
$token = csrf::generate();
$messages = messages::get();
@ -265,6 +268,7 @@ class profilesController {
$profilesModel = new profilesModel();
// Obtiene los datos de perfil del usuario.
$profile = $profilesModel -> get('id', $_SESSION['user']['id']);
if (empty($profile))

View File

@ -27,6 +27,7 @@ class usersController {
// Redirecciona a "home" si existe una sesión de usuario.
utils::session_exists(NABU_ROUTES['home']);
// Renderiza la página de registro de usuarios.
if (empty($_POST['signup-form'])) {
$token = csrf::generate();
$messages = messages::get();
@ -97,7 +98,7 @@ class usersController {
// Envía primero la URL de autenticación de e-mail antes de registrar al usuario.
if (!$emails -> send('¡Ya casi está listo!', $body))
messages::errors('Tuvimos un problema al enviar tu mensaje de autenticación de e-mail', 500);
messages::errors('Tuvimos un problema para enviar tu mensaje de autenticación de e-mail', 500);
// Cifra la contraseña.
$data['password'] = password_hash($data['password'], PASSWORD_DEFAULT, array('cost' => 12));
@ -136,6 +137,7 @@ class usersController {
static public function login() {
utils::session_exists(NABU_ROUTES['home']);
// Renderiza la página de inicio de sesión.
if (empty($_POST['login-form'])) {
$token = csrf::generate();
$messages = messages::get();

View File

@ -18,6 +18,7 @@
defined('NABU') || exit();
// Definición de rutas del sitio web.
return array(
'all-articles' => array('route' => 'all-articles', 'controller' => 'articlesController', 'view' => 'all_articles'),
'approve-articles' => array('route' => 'approve-articles', 'controller' => 'adminController', 'view' => 'approve_articles'),

View File

@ -51,7 +51,7 @@ class emails {
$this -> mail -> setFrom($config['address'], NABU_DEFAULT['website-name']);
}
// Define el destinatario del mensaje,
// Define el destinatario del mensaje.
public function prepare(string $destinatary, string $name) {
$this -> mail -> addTo($destinatary, $name);
}

View File

@ -60,7 +60,7 @@ class validations {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
if (!str_ends_with($email, '@ugto.mx'))
messages::add('Registrate con tu correo electrónico institucional de la Universidad de Guanajuato');
messages::add('Regístrate con tu correo electrónico institucional de la Universidad de Guanajuato');
}
else
messages::add('El campo "' . $this -> field . '" contiene una dirección de correo electrónico no válido');
@ -78,7 +78,7 @@ class validations {
// Valida el tamaño de la imagen.
if ($image['size'] > NABU_DEFAULT['image-size'])
messages::add('Por favor elija una imagen de menor peso');
messages::add('Selecciona una imagen de menor peso');
$formats = explode(',', NABU_DEFAULT['image-formats']);
@ -146,7 +146,7 @@ class validations {
// Valida si el campo para subir imágenes es obligatorio u opcional.
if (!$this -> is_file()) {
if (empty($param['optional']))
messages::add('El campo "' . $this -> field . '" require obligatoriamente de un archivo de imagen');
messages::add('El campo "' . $this -> field . '" requiere obligatoriamente de un archivo de imagen');
continue;
}

View File

@ -81,7 +81,7 @@ class adminModel extends dbConnection {
}
}
// @return un array asocitivo con los datos de un artículo.
// @return un array asociativo con los datos de un artículo.
public function get_article(string $slug) {
$query = 'SELECT id, title, synopsis, body, cover, slug, authorized ' .
'FROM articles WHERE slug = ? LIMIT 1';

View File

@ -74,8 +74,8 @@ class usersModel extends dbConnection {
// @return un array asociativo con los datos de un solo usuario.
public function get(string $column, $pattern) {
$query = 'SELECT u.id, u.role_id AS role, u.username, u.email, u.password, u.activated, u.registration_date,' .
'a.hash, a.expiration FROM users AS u ' .
$query = 'SELECT u.id, u.role_id AS role, u.username, u.email, u.password, ' .
'u.activated, u.registration_date, a.hash, a.expiration FROM users AS u ' .
'LEFT JOIN authentications AS a ON u.id = a.id ' .
'WHERE u.' . $column . ' = ? LIMIT 1';