setFlashdata('success', 'Modalidade apagada — fica na lixeira 30 dias.'); header('Location: ' . base_url('views/admin/modalidades/index.php')); exit; } // Optimize existing icons (resize/compress to the modalidades cap). // Covers the whole icons dir, shared flaticon library included — resizing in // place keeps the filenames, so nothing the picker or the site references breaks. if (isset($_POST['optimize'])) { csrf_check(); $stats = img_optimize_dir(modalidades_icon_dir(), IMG_MAX_MODALIDADE); session()->setFlashdata($stats['failed'] ? 'warning' : 'success', img_stats_message($stats)); header('Location: ' . base_url('views/admin/modalidades/index.php')); exit; } $items = db_modalidades_list($pdo); if (isset($_GET['csv'])) { $rows = []; foreach ($items as $item) { $rows[] = [$item['nome'], $item['cor'] ?? '', $item['item_order']]; } csv_export('modalidade', 'modalidades', 'Exportação CSV de modalidades', ['Nome', 'Cor', 'Ordem'], $rows); } $page_title = 'Modalidades'; include __DIR__ . '/../../../includes/header.php'; ?> = link_tag('assets/vendor/datatables-2.3.4/dataTables.bootstrap5.min.css') ?> = link_tag('assets/vendor/datatables-2.3.4/responsive.bootstrap5.min.css') ?>