getProfilePicture(); // ── Handle new picture upload ───────────────────────────── $db_picture = $current_picture; if (!empty($_FILES['profile_picture']['name'])) { // Remove old file if exists if (!empty($current_picture)) { $old_path = $include_url . 'uploads/profile/' . $current_picture; if (file_exists($old_path)) unlink($old_path); } $uploader = new FileUploader($include_url . 'uploads/profile/'); $errors = $uploader->upload('profile_picture'); if (!empty($errors)) { $answer['message'] = $errors[0]; http_response_code(400); exit(json_encode($answer)); } $db_picture = $uploader->getUploadedFiles()[0] ?? ''; } // ── Update user record ──────────────────────────────────── $um->updateProfile($data, $db_picture); // ── Refresh session ─────────────────────────────────────── $_SESSION['login_name'] = trim($data['name'] ?? ''); $_SESSION['login_surname'] = trim($data['surname'] ?? ''); $_SESSION['login_profile_picture'] = $db_picture; $answer['success'] = 1; $answer['message'] = 'Profile updated successfully.'; $answer['profile_picture'] = $db_picture; } catch (Exception $e) { $answer['message'] = 'Failed to update profile.'; http_response_code(500); } exit(json_encode($answer));