[Agrega] rutas para editar, eliminar y autorizar artículos en espera de aprobación
This commit is contained in:
parent
09d47cc575
commit
a802566fc9
|
@ -18,10 +18,20 @@
|
|||
|
||||
defined('NABU') || exit();
|
||||
|
||||
require_once 'models/adminModel.php';
|
||||
|
||||
class adminController {
|
||||
// Renderiza la página de administración para aprobar un artículo
|
||||
// y aprueba un artículo con el método POST.
|
||||
static public function approve_articles() {
|
||||
$adminModel = new adminModel();
|
||||
|
||||
$articles = $adminModel -> sent();
|
||||
|
||||
unset($adminModel);
|
||||
|
||||
$messages = messages::get();
|
||||
|
||||
require_once 'views/admin/approve-articles.php';
|
||||
}
|
||||
|
||||
|
@ -31,6 +41,16 @@ class adminController {
|
|||
require_once 'views/admin/review-article.php';
|
||||
}
|
||||
|
||||
// Renderiza la página para eliminar un artículo.
|
||||
static public function delete_article() {
|
||||
require_once 'views/pages/confirm-password.php';
|
||||
}
|
||||
|
||||
// Renderiza la página autorizar la publicación de un artículo
|
||||
static public function authorize_article() {
|
||||
require_once 'views/pages/confirm-password.php';
|
||||
}
|
||||
|
||||
// Renderiza la página de administración para buscar artículos publicados.
|
||||
static public function published_articles() {
|
||||
require_once 'views/admin/published-articles.php';
|
||||
|
|
|
@ -19,10 +19,12 @@
|
|||
defined('NABU') || exit();
|
||||
|
||||
return array(
|
||||
'authentication' => array('route' => 'authentication', 'controller' => 'authenticationController', 'view' => 'authentication'),
|
||||
'all-articles' => array('route' => 'all-articles', 'controller' => 'articlesController', 'view' => 'all_articles'),
|
||||
'approve-articles' => array('route' => 'approve-articles', 'controller' => 'adminController', 'view' => 'approve_articles'),
|
||||
'article' => array('route' => 'article', 'controller' => 'articlesController', 'view' => 'article'),
|
||||
'authentication' => array('route' => 'authentication', 'controller' => 'authenticationController', 'view' => 'authentication'),
|
||||
'authorize-article' => array('route' => 'authorize-article', 'controller' => 'adminController', 'view' => 'authorize_article'),
|
||||
'delete-article' => array('route' => 'delete-article', 'controller' => 'adminController', 'view' => 'delete_article'),
|
||||
'delete-profile' => array('route' => 'delete-profile', 'controller' => 'profilesController', 'view' => 'delete_profile'),
|
||||
'edit-profile' => array('route' => 'edit-profile', 'controller' => 'profilesController', 'view' => 'edit_profile'),
|
||||
'errors' => array('route' => 'errors', 'controller' => 'blogController', 'view' => 'errors'),
|
||||
|
|
|
@ -23,6 +23,35 @@ class adminModel extends dbConnection {
|
|||
parent::__construct();
|
||||
}
|
||||
|
||||
// @return un array asociativo de artículos en espera de aprobación.
|
||||
public function sent(string $pattern = '') {
|
||||
$query = 'SELECT a.title, a.slug, u.username AS author ' .
|
||||
'FROM articles AS a INNER JOIN users AS u ON a.user_id = u.id ' .
|
||||
'WHERE a.authorized = FALSE ORDER BY a.creation_date DESC';
|
||||
|
||||
if (!empty($pattern))
|
||||
$query = $query . 'LIMIT ? OFFSET ?';
|
||||
|
||||
try {
|
||||
$prepare = $this -> pdo -> prepare($query);
|
||||
|
||||
if (empty($pattern))
|
||||
$prepare -> execute();
|
||||
else
|
||||
$prepare -> execute();
|
||||
|
||||
$articles = $prepare -> fetchAll();
|
||||
|
||||
if (empty($articles))
|
||||
$articles = array();
|
||||
|
||||
return $articles;
|
||||
}
|
||||
catch (PDOException $e) {
|
||||
$this -> errors($e -> getMessage(), 'tuvimos un problema para mostrar los artículos en espera de aprobación');
|
||||
}
|
||||
}
|
||||
|
||||
public function __destruct() {
|
||||
parent::__destruct();
|
||||
$this -> pdo = null;
|
||||
|
|
|
@ -21,4 +21,24 @@
|
|||
|
||||
<?php require_once 'views/components/dashboard.php' ?>
|
||||
<h1>Aprobar artículos</h1>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<th>Título</th>
|
||||
<th>Autor</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
</tr>
|
||||
<?php foreach($articles as $article): ?>
|
||||
<tr>
|
||||
<td><?= utils::escape($article['title']) ?></td>
|
||||
<td><a href="<?= NABU_ROUTES['profile'] . '&user=' . urlencode($article['author']) ?>"><?= utils::escape($article['author']) ?></a></td>
|
||||
<td><a href="<?= NABU_ROUTES['review-article'] . '&slug=' . $article['slug'] ?>">Editar</a></td>
|
||||
<td><a href="<?= NABU_ROUTES['delete-article'] . '&slug=' . $article['slug'] ?>">Eliminar</a></td>
|
||||
<td><a href="<?= NABU_ROUTES['authorize-article'] . '&slug=' . $article['slug'] ?>">Publicar</a></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
||||
|
||||
<?php require_once 'views/components/footer.php' ?>
|
||||
|
|
Loading…
Reference in a new issue