feat : widget notation étoiles + admin onglet flux RSS (v1.6.22)
- post_view.php : widget ★ 1-5 étoiles pour les connectés, moyenne + nb votes pour tous (#13) - admin : onglet /admin/flux liste tous les flux rss_feeds avec suppression (#87) - case 'admin_delete_feed' : suppression admin d'un flux sans contrainte email (#87) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+34
-1
@@ -45,7 +45,7 @@ $action = $_GET['action'] ?? 'list';
|
||||
$uuid = $_GET['uuid'] ?? '';
|
||||
$slug = $_GET['slug'] ?? '';
|
||||
|
||||
$_noindexActions = ['create', 'edit', 'admin', 'categories', 'diff', 'add_files', 'import_image', 'import_image_step2', 'sources', 'profile', 'delete_file', 'delete_external_link', 'rename_category', 'delete_category', 'toggle_private_category', 'admin_save_site', 'not_found', 'add_feed', 'delete_feed', 'add_link', 'delete_link', 'reorder_links', 'react', 'comment', 'verify_comment', 'comment_moderate', 'comment_delete', 'comment_resend', 'create_tag_type', 'delete_tag_type', 'edit_tags', 'book_save', 'book_delete', 'admin_save_as_groups', 'admin_save_folio_config', 'run_engine_update', 'run_content_migrations'];
|
||||
$_noindexActions = ['create', 'edit', 'admin', 'categories', 'diff', 'add_files', 'import_image', 'import_image_step2', 'sources', 'profile', 'delete_file', 'delete_external_link', 'rename_category', 'delete_category', 'toggle_private_category', 'admin_save_site', 'not_found', 'add_feed', 'delete_feed', 'add_link', 'delete_link', 'reorder_links', 'react', 'comment', 'verify_comment', 'comment_moderate', 'comment_delete', 'comment_resend', 'create_tag_type', 'delete_tag_type', 'edit_tags', 'book_save', 'book_delete', 'admin_save_as_groups', 'admin_save_folio_config', 'run_engine_update', 'run_content_migrations', 'admin_delete_feed', 'rate'];
|
||||
$metaRobots = in_array($action, $_noindexActions, true) ? 'noindex, nofollow' : null;
|
||||
unset($_noindexActions);
|
||||
|
||||
@@ -2735,6 +2735,21 @@ switch ($action) {
|
||||
$adminData['tagTypes'] = $articles->getTagTypes();
|
||||
}
|
||||
|
||||
if ($tab === 'flux') {
|
||||
if (!isAdmin()) {
|
||||
http_response_code(403);
|
||||
exit;
|
||||
}
|
||||
$pdo = dbPdo();
|
||||
$adminData['flux_feeds'] = [];
|
||||
if ($pdo) {
|
||||
try {
|
||||
$st = $pdo->query('SELECT id, user_email, feed_url, label, created_at FROM rss_feeds ORDER BY created_at DESC');
|
||||
$adminData['flux_feeds'] = $st->fetchAll(PDO::FETCH_ASSOC);
|
||||
} catch (\Throwable) {}
|
||||
}
|
||||
}
|
||||
|
||||
if ($tab === 'books') {
|
||||
if (!isAdmin()) {
|
||||
http_response_code(403);
|
||||
@@ -3366,6 +3381,24 @@ switch ($action) {
|
||||
header('Location: /profile#feeds');
|
||||
exit;
|
||||
|
||||
case 'admin_delete_feed':
|
||||
requireAuth();
|
||||
if (!isAdmin() || $_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||
http_response_code(403);
|
||||
exit;
|
||||
}
|
||||
$feedId = (int)($_POST['id'] ?? 0);
|
||||
if ($feedId > 0) {
|
||||
$pdo = dbPdo();
|
||||
if ($pdo) {
|
||||
try {
|
||||
$pdo->prepare('DELETE FROM rss_feeds WHERE id = :id')->execute([':id' => $feedId]);
|
||||
} catch (\Throwable) {}
|
||||
}
|
||||
}
|
||||
header('Location: /admin/flux?deleted=1');
|
||||
exit;
|
||||
|
||||
case 'search_files':
|
||||
requireAuth();
|
||||
header('Content-Type: application/json');
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
1.6.21
|
||||
1.6.22
|
||||
|
||||
Reference in New Issue
Block a user