setFlashdata('success', 'Membro restaurado.'); header('Location: index.php'); exit; } $item = db_team_get($pdo, $id); if (!$item) { header('Location: index.php'); exit; } $errors = []; $data = $item; if ($_SERVER['REQUEST_METHOD'] === 'POST') { csrf_check(); $data = [ 'name' => trim($_POST['name'] ?? ''), 'birthday' => trim($_POST['birthday'] ?? ''), 'at' => trim($_POST['at'] ?? ''), 'status' => $_POST['status'] ?? 'ativo', 'description' => trim($_POST['description'] ?? ''), 'title' => mb_substr(trim($_POST['title'] ?? ''), 0, 100), 'skills' => trim($_POST['skills'] ?? ''), 'certifications' => trim($_POST['certifications'] ?? ''), ]; if ($data['name'] === '') $errors[] = 'O nome é obrigatório.'; $photo_name = null; if (!empty($_FILES['photo']['tmp_name']) && $_FILES['photo']['error'] === UPLOAD_ERR_OK) { // Tipo decidido pelo conteúdo, não pelo nome (config/functions_images.php). $ext = upload_image_ext($_FILES['photo'], ['jpg','jpeg','png','gif','webp']); if ($ext === null) $errors[] = 'Formato de foto inválido (JPG, PNG, GIF ou WebP).'; else { $upload_dir = __DIR__ . '/../../../uploads/team/foto/'; if (!is_dir($upload_dir)) @mkdir($upload_dir, 0775, true); $photo_name = bin2hex(random_bytes(16)) . '.' . $ext; if (!move_uploaded_file($_FILES['photo']['tmp_name'], $upload_dir . $photo_name)) { $errors[] = 'Falha ao guardar a foto.'; $photo_name = null; } else { img_optimize($upload_dir . $photo_name, IMG_MAX_TEAM); } } } if (!$errors) { $changed = db_team_update($pdo, $id, $data, $photo_name); if ($changed) session()->setFlashdata('success', 'Membro atualizado.'); else session()->setFlashdata('warning', 'Nenhuma alteração.'); header('Location: ' . base_url('views/admin/team/edit.php?id=' . $id)); exit; } } $page_title = 'Editar Membro'; include __DIR__ . '/../../../includes/header.php'; ?>

Editar Membro

Voltar
Cancelar