1) { require __DIR__ . '/gym_chooser.php'; exit; } $to = $published[0] ?? db_gyms_default($pdo) ?? gym_fallback(); $qs = $_SERVER['QUERY_STRING'] ?? ''; header('Location: ' . gym_url($to) . ($qs !== '' ? '?' . $qs : ''), true, 301); exit; } require __DIR__ . '/_open.php'; // resolves $gym (404 if unknown / not visible) // ── Load all data ─────────────────────────────────────────────────────────────── // Everything is this gym's content; a section the gym switched off // (Gestão → Ginásios) loads as empty, so its block below simply isn't printed. $gid = (int) $gym['id']; $on = fn(string $key) => gym_section_on($gym, $key); $offer = $on('oferta') ? site_offer($pdo, $gid) : []; $team = $on('equipa') ? site_team($pdo, $gid) : []; $modalidades = $on('modalidades') ? site_modalidades($pdo, $gid) : []; $horario = $on('horario') ? site_horario($pdo, '', $gid) : []; $whours = $on('workhours') ? site_work_hours($pdo, $gid) : []; $events = site_active_events($pdo, $gid); // time-limited events, banner below the hero $memberships = $on('mensalidades') ? site_memberships($pdo, $gid) : []; $reviews = $on('reviews') ? site_reviews($gym) : null; // null when not configured / nothing qualifies $hero_img = $gym['hero_image'] !== '' ? $gym['hero_image'] : 'site/assets/img/home.jpg'; // ── Hero section ──────────────────────────────────────────────────────────────── ?>
Ligar Inscreve-te Já!
. */ ?>


Inscreve-te Já!
FitMe 3070

A Nossa Oferta

Tudo o que precisas para evoluir, num só espaço.

<?= htmlspecialchars((string) $o['o_title']) ?>

0): $gallery_h2 = 'Conhece as nossas instalações'; ?>
Treinos

Modalidades

Encontra a modalidade certa para ti.

>
*/ ?>

Quem somos

Conhece os membros da equipa 3070

Profissionais dedicados a ajudar-te a alcançar os teus objetivos.

'segunda','Ter'=>'terça','Qua'=>'quarta','Qui'=>'quinta','Sex'=>'sexta','Sab'=>'sábado']; // The schedule shows one day at a time on screen; default to today (or the first // listed day if today isn't in the table, e.g. Sunday). Rendered server-side too // so there's no flash of all days before the JS runs, and so it still works with // JavaScript off. The JPG export clears these to show the whole week. $week_values = array_values($week_day); $today_map = [1=>'segunda', 2=>'terça', 3=>'quarta', 4=>'quinta', 5=>'sexta', 6=>'sábado']; $default_day = $today_map[(int) date('N')] ?? null; if (!in_array($default_day, $week_values, true)) { $default_day = $week_values[0]; } ?>
Calendário

Horário de Aulas

Planeia a tua semana de treinos connosco.

$value): ?>
grid-row $sections = []; // [label, grid-row] for the divider rows $gr = 2; // row 1 = day headers if ($morning) { $sections[] = ['Manhã', $gr++]; foreach ($morning as $t) { $row_of[$t] = $gr++; } } if ($afternoon) { $sections[] = ['Tarde', $gr++]; foreach ($afternoon as $t) { $row_of[$t] = $gr++; } } $total_rows = $gr - 1; $grid = []; // $grid[dia_semana][hora_inicio] = [classes…] foreach ($horario as $d) { $grid[$d['dia_semana']][$d['hora_inicio']][] = $d; } ?>
$value): $col++; ?> $value): $col++; ?>
$value): $col++; ?>
<?= htmlspecialchars((string) $d['nome']) ?>

← Deslize para ver todos os dias →

Mensalidades

Escolhe o teu plano

Encontra a mensalidade que encaixa na tua rotina.

= $i ? 'fas fa-star' : ($r >= $i - 0.5 ? 'fas fa-star-half-alt' : 'far fa-star'); $out .= ''; } return $out; }; ?>
Reviews

O que dizem de nós

avaliações no Google

Reviews via Google Maps

Informações

Localização

Telefone

E-mail

Envia-nos uma mensagem

getFlashdata('email') !== null): ?>
'segunda','Sábado'=>'sabado','Domingo/Feriados'=>'domingo']; usort($whours, fn($x, $y) => strcmp((string) $x['open'], (string) $y['open'])); // morning before afternoon ?>
Visita-nos

Horário de Funcionamento

so the pairs read as data // (label → value) for screen readers and search engines. ?>
$value): ?>
Encerrado

Precisas de um Personal Trainer?

Melhor do que treinar sozinho é treinar acompanhado pelos nossos profissionais. Além de te mostrarmos o caminho, ajudamos-te a cada passo, sempre lado a lado, focados nos teus objetivos e bem-estar.

Entra em contacto connosco